From f17ca174697eb74e189a735c1e895e20d9ee7d4f Mon Sep 17 00:00:00 2001
From: lucha <lucha@paranoici.org>
Date: Fri, 5 Sep 2014 18:45:45 +0200
Subject: [PATCH] Upgraded wordpress to 4.0

---
 readme.html                                   |    2 +-
 wp-activate.php                               |   13 +-
 wp-admin/about.php                            |  261 +-
 wp-admin/admin-ajax.php                       |    7 +-
 wp-admin/admin-header.php                     |    3 +-
 wp-admin/admin-post.php                       |   60 +-
 wp-admin/admin.php                            |   28 +-
 wp-admin/async-upload.php                     |   12 +-
 wp-admin/comment.php                          |   13 +-
 wp-admin/credits.php                          |    3 +-
 wp-admin/css/about-rtl.css                    |   80 +-
 wp-admin/css/about.css                        |   80 +-
 wp-admin/css/admin-menu-rtl.css               |    4 +-
 wp-admin/css/admin-menu.css                   |    4 +-
 wp-admin/css/color-picker-rtl.css             |   19 +-
 wp-admin/css/color-picker-rtl.min.css         |    2 +-
 wp-admin/css/color-picker.css                 |   19 +-
 wp-admin/css/color-picker.min.css             |    2 +-
 wp-admin/css/colors/_admin.scss               |   36 +-
 wp-admin/css/colors/_mixins.scss              |   12 +-
 wp-admin/css/colors/blue/colors-rtl.css       |   40 +-
 wp-admin/css/colors/blue/colors-rtl.min.css   |    2 +-
 wp-admin/css/colors/blue/colors.css           |   40 +-
 wp-admin/css/colors/blue/colors.min.css       |    2 +-
 wp-admin/css/colors/coffee/colors-rtl.css     |   40 +-
 wp-admin/css/colors/coffee/colors-rtl.min.css |    2 +-
 wp-admin/css/colors/coffee/colors.css         |   40 +-
 wp-admin/css/colors/coffee/colors.min.css     |    2 +-
 wp-admin/css/colors/ectoplasm/colors-rtl.css  |   40 +-
 .../css/colors/ectoplasm/colors-rtl.min.css   |    2 +-
 wp-admin/css/colors/ectoplasm/colors.css      |   40 +-
 wp-admin/css/colors/ectoplasm/colors.min.css  |    2 +-
 wp-admin/css/colors/light/colors-rtl.css      |   40 +-
 wp-admin/css/colors/light/colors-rtl.min.css  |    2 +-
 wp-admin/css/colors/light/colors.css          |   40 +-
 wp-admin/css/colors/light/colors.min.css      |    2 +-
 wp-admin/css/colors/midnight/colors-rtl.css   |   40 +-
 .../css/colors/midnight/colors-rtl.min.css    |    2 +-
 wp-admin/css/colors/midnight/colors.css       |   40 +-
 wp-admin/css/colors/midnight/colors.min.css   |    2 +-
 wp-admin/css/colors/ocean/colors-rtl.css      |   40 +-
 wp-admin/css/colors/ocean/colors-rtl.min.css  |    2 +-
 wp-admin/css/colors/ocean/colors.css          |   40 +-
 wp-admin/css/colors/ocean/colors.min.css      |    2 +-
 wp-admin/css/colors/sunrise/colors-rtl.css    |   40 +-
 .../css/colors/sunrise/colors-rtl.min.css     |    2 +-
 wp-admin/css/colors/sunrise/colors.css        |   40 +-
 wp-admin/css/colors/sunrise/colors.min.css    |    2 +-
 wp-admin/css/common-rtl.css                   |  717 +++++-
 wp-admin/css/common.css                       |  713 +++++-
 wp-admin/css/customize-controls-rtl.css       |  261 +-
 wp-admin/css/customize-controls-rtl.min.css   |    2 +-
 wp-admin/css/customize-controls.css           |  257 +-
 wp-admin/css/customize-controls.min.css       |    2 +-
 wp-admin/css/customize-widgets-rtl.min.css    |    2 +-
 wp-admin/css/customize-widgets.min.css        |    2 +-
 wp-admin/css/dashboard-rtl.css                |   37 +-
 wp-admin/css/dashboard.css                    |   37 +-
 wp-admin/css/deprecated-media-rtl.css         |   13 +-
 wp-admin/css/deprecated-media-rtl.min.css     |    2 +-
 wp-admin/css/deprecated-media.css             |   13 +-
 wp-admin/css/deprecated-media.min.css         |    2 +-
 wp-admin/css/edit-rtl.css                     |   97 +-
 wp-admin/css/edit.css                         |   97 +-
 wp-admin/css/forms-rtl.css                    |  227 +-
 wp-admin/css/forms.css                        |  227 +-
 wp-admin/css/ie-rtl.css                       |    2 +-
 wp-admin/css/ie-rtl.min.css                   |    2 +-
 wp-admin/css/ie.css                           |    2 +-
 wp-admin/css/ie.min.css                       |    2 +-
 wp-admin/css/install-rtl.css                  |   86 +-
 wp-admin/css/install-rtl.min.css              |    2 +-
 wp-admin/css/install.css                      |   86 +-
 wp-admin/css/install.min.css                  |    2 +-
 wp-admin/css/l10n-rtl.css                     |    3 +-
 wp-admin/css/l10n.css                         |    3 +-
 wp-admin/css/list-tables-rtl.css              |  282 ++-
 wp-admin/css/list-tables.css                  |  282 ++-
 wp-admin/css/login-rtl.css                    |   15 +-
 wp-admin/css/login-rtl.min.css                |    2 +-
 wp-admin/css/login.css                        |   11 +-
 wp-admin/css/login.min.css                    |    2 +-
 wp-admin/css/media-rtl.css                    |  532 ++++-
 wp-admin/css/media.css                        |  532 ++++-
 wp-admin/css/nav-menus-rtl.css                |    4 +
 wp-admin/css/nav-menus.css                    |    4 +
 wp-admin/css/revisions-rtl.css                |    9 +-
 wp-admin/css/revisions.css                    |    9 +-
 wp-admin/css/themes-rtl.css                   |  450 ++--
 wp-admin/css/themes.css                       |  450 ++--
 wp-admin/css/widgets-rtl.css                  |    3 +
 wp-admin/css/widgets.css                      |    3 +
 wp-admin/css/wp-admin-rtl.min.css             |    2 +-
 wp-admin/css/wp-admin.min.css                 |    2 +-
 wp-admin/custom-background.php                |   77 +-
 wp-admin/custom-header.php                    |  173 +-
 wp-admin/customize.php                        |   77 +-
 wp-admin/edit-form-advanced.php               |   23 +-
 wp-admin/edit-form-comment.php                |    2 +-
 wp-admin/edit-link-form.php                   |   16 +-
 wp-admin/edit-tags.php                        |   14 +-
 wp-admin/edit.php                             |    6 +
 wp-admin/freedoms.php                         |    2 +-
 wp-admin/includes/admin.php                   |    8 +-
 wp-admin/includes/ajax-actions.php            |  684 +++++-
 wp-admin/includes/bookmark.php                |   67 +-
 .../includes/class-wp-comments-list-table.php |  102 +-
 .../includes/class-wp-filesystem-base.php     |  150 +-
 .../includes/class-wp-filesystem-direct.php   |   58 +-
 .../includes/class-wp-filesystem-ftpext.php   |   64 +-
 .../class-wp-filesystem-ftpsockets.php        |   69 +-
 .../includes/class-wp-filesystem-ssh2.php     |   71 +-
 wp-admin/includes/class-wp-importer.php       |   30 +-
 .../includes/class-wp-links-list-table.php    |   30 +-
 wp-admin/includes/class-wp-list-table.php     |  296 ++-
 .../includes/class-wp-media-list-table.php    |  178 +-
 .../includes/class-wp-ms-sites-list-table.php |   68 +-
 .../class-wp-ms-themes-list-table.php         |   47 +-
 .../includes/class-wp-ms-users-list-table.php |   28 +-
 .../class-wp-plugin-install-list-table.php    |  342 ++-
 .../includes/class-wp-plugins-list-table.php  |   77 +-
 .../includes/class-wp-posts-list-table.php    |   81 +-
 .../includes/class-wp-terms-list-table.php    |   80 +-
 .../class-wp-theme-install-list-table.php     |   65 +-
 .../includes/class-wp-themes-list-table.php   |   41 +-
 wp-admin/includes/class-wp-upgrader-skins.php |  214 +-
 wp-admin/includes/class-wp-upgrader.php       |  358 +--
 .../includes/class-wp-users-list-table.php    |   44 +-
 wp-admin/includes/dashboard.php               |   81 +-
 wp-admin/includes/deprecated.php              |   22 +-
 wp-admin/includes/export.php                  |   61 +-
 wp-admin/includes/file.php                    |  365 ++-
 wp-admin/includes/image-edit.php              |   44 +-
 wp-admin/includes/image.php                   |  126 +-
 wp-admin/includes/import.php                  |    7 +-
 wp-admin/includes/list-table.php              |   10 +-
 wp-admin/includes/media.php                   |  206 +-
 wp-admin/includes/menu.php                    |   29 +-
 wp-admin/includes/meta-boxes.php              |  132 +-
 wp-admin/includes/misc.php                    |   51 +-
 wp-admin/includes/ms-deprecated.php           |    2 +-
 wp-admin/includes/ms.php                      |    5 +-
 wp-admin/includes/nav-menu.php                |   85 +-
 wp-admin/includes/plugin-install.php          |  245 +-
 wp-admin/includes/plugin.php                  |   50 +-
 wp-admin/includes/post.php                    |  116 +-
 wp-admin/includes/revision.php                |   12 +-
 wp-admin/includes/schema.php                  |   83 +-
 wp-admin/includes/screen.php                  |   23 +-
 wp-admin/includes/taxonomy.php                |  123 +-
 wp-admin/includes/template.php                |  215 +-
 wp-admin/includes/theme.php                   |    8 +-
 wp-admin/includes/translation-install.php     |  240 ++
 wp-admin/includes/update-core.php             |    9 +-
 wp-admin/includes/update.php                  |   12 +-
 wp-admin/includes/upgrade.php                 |  244 +-
 wp-admin/includes/user.php                    |   18 +-
 wp-admin/includes/widgets.php                 |    9 +-
 wp-admin/install-helper.php                   |   22 +-
 wp-admin/install.php                          |   97 +-
 wp-admin/js/accordion.js                      |  130 +-
 wp-admin/js/accordion.min.js                  |    2 +-
 wp-admin/js/color-picker.js                   |   87 +-
 wp-admin/js/color-picker.min.js               |    2 +-
 wp-admin/js/common.js                         |   31 +-
 wp-admin/js/common.min.js                     |    2 +-
 wp-admin/js/customize-controls.js             |  160 +-
 wp-admin/js/customize-controls.min.js         |    2 +-
 wp-admin/js/customize-widgets.js              |  113 +-
 wp-admin/js/customize-widgets.min.js          |    2 +-
 wp-admin/js/dashboard.js                      |    3 +
 wp-admin/js/dashboard.min.js                  |    2 +-
 wp-admin/js/edit-comments.js                  |   13 +
 wp-admin/js/edit-comments.min.js              |    2 +-
 wp-admin/js/editor-expand.js                  |  692 ++++++
 wp-admin/js/editor-expand.min.js              |    1 +
 wp-admin/js/editor.js                         |   34 +-
 wp-admin/js/editor.min.js                     |    2 +-
 wp-admin/js/image-edit.js                     |   28 +-
 wp-admin/js/image-edit.min.js                 |    2 +-
 wp-admin/js/inline-edit-post.js               |    6 +-
 wp-admin/js/inline-edit-post.min.js           |    2 +-
 wp-admin/js/language-chooser.js               |   26 +
 wp-admin/js/language-chooser.min.js           |    1 +
 wp-admin/js/media-upload.js                   |    2 +-
 wp-admin/js/media-upload.min.js               |    2 +-
 wp-admin/js/media.js                          |    6 +
 wp-admin/js/media.min.js                      |    2 +-
 wp-admin/js/nav-menu.js                       |   17 +
 wp-admin/js/nav-menu.min.js                   |    2 +-
 wp-admin/js/plugin-install.js                 |   30 +-
 wp-admin/js/plugin-install.min.js             |    2 +-
 wp-admin/js/post.js                           |   33 +-
 wp-admin/js/post.min.js                       |    2 +-
 wp-admin/js/postbox.js                        |   22 +-
 wp-admin/js/postbox.min.js                    |    2 +-
 wp-admin/js/revisions.js                      |   20 +-
 wp-admin/js/revisions.min.js                  |    2 +-
 wp-admin/js/theme.js                          |  104 +-
 wp-admin/js/theme.min.js                      |    2 +-
 wp-admin/js/updates.js                        |    2 +-
 wp-admin/js/updates.min.js                    |    2 +-
 wp-admin/js/widgets.js                        |    2 +
 wp-admin/js/widgets.min.js                    |    2 +-
 wp-admin/js/wp-fullscreen.js                  |    5 +-
 wp-admin/js/wp-fullscreen.min.js              |    2 +-
 wp-admin/link-parse-opml.php                  |   56 +-
 wp-admin/link.php                             |   15 +-
 wp-admin/load-scripts.php                     |    2 +-
 wp-admin/load-styles.php                      |   14 +-
 wp-admin/maint/repair.php                     |    6 +-
 wp-admin/media-upload.php                     |    8 +-
 wp-admin/media.php                            |   20 +-
 wp-admin/menu-header.php                      |   17 +-
 wp-admin/menu.php                             |   13 +-
 wp-admin/nav-menus.php                        |  100 +-
 wp-admin/network.php                          |   17 +-
 wp-admin/network/settings.php                 |   45 +-
 wp-admin/network/site-info.php                |   15 +-
 wp-admin/network/site-new.php                 |    4 +-
 wp-admin/network/site-settings.php            |    9 +-
 wp-admin/network/site-users.php               |    2 +-
 wp-admin/network/themes.php                   |    8 +-
 wp-admin/network/upgrade.php                  |    2 +-
 wp-admin/network/users.php                    |   11 +-
 wp-admin/options-general.php                  |   62 +-
 wp-admin/options.php                          |   46 +-
 wp-admin/plugin-editor.php                    |    2 -
 wp-admin/plugin-install.php                   |   28 +-
 wp-admin/plugins.php                          |   18 +-
 wp-admin/post-new.php                         |   12 +-
 wp-admin/post.php                             |   13 +-
 wp-admin/press-this.php                       |   31 +-
 wp-admin/revision.php                         |    4 +-
 wp-admin/setup-config.php                     |  165 +-
 wp-admin/theme-editor.php                     |    6 +-
 wp-admin/theme-install.php                    |   83 +-
 wp-admin/themes.php                           |   20 +-
 wp-admin/update-core.php                      |   29 +-
 wp-admin/update.php                           |   12 +-
 wp-admin/upgrade.php                          |    2 +-
 wp-admin/upload.php                           |   87 +-
 wp-admin/user-edit.php                        |    8 +-
 wp-admin/user-new.php                         |   48 +-
 wp-admin/users.php                            |   17 +-
 wp-admin/widgets.php                          |    6 +-
 wp-comments-post.php                          |    6 +-
 wp-config-sample.php                          |   10 -
 wp-content/plugins/akismet/akismet.php        |    4 +-
 .../plugins/akismet/class.akismet-admin.php   |   15 +-
 wp-content/plugins/akismet/class.akismet.php  |   20 +-
 wp-content/plugins/akismet/readme.txt         |    8 +-
 wp-content/plugins/akismet/views/notice.php   |    8 +-
 wp-content/plugins/index.php                  |    1 -
 wp-content/themes/index.php                   |    1 -
 .../twentyfourteen/css/editor-style.css       |   75 +-
 wp-content/themes/twentyfourteen/css/ie.css   |    9 +-
 .../themes/twentyfourteen/functions.php       |   15 +-
 .../genericons/Genericons-Regular.otf         |  Bin 17768 -> 18212 bytes
 .../twentyfourteen/genericons/README.txt      |    8 +
 .../twentyfourteen/genericons/example.html    |    2 +
 .../font/genericons-regular-webfont.eot       |  Bin 9317 -> 14935 bytes
 .../font/genericons-regular-webfont.svg       |  240 +-
 .../font/genericons-regular-webfont.ttf       |  Bin 18060 -> 27348 bytes
 .../font/genericons-regular-webfont.woff      |  Bin 11064 -> 17224 bytes
 .../twentyfourteen/genericons/genericons.css  |    5 +-
 wp-content/themes/twentyfourteen/header.php   |    2 +-
 wp-content/themes/twentyfourteen/image.php    |    4 +-
 .../twentyfourteen/inc/custom-header.php      |    3 +
 .../twentyfourteen/inc/featured-content.php   |   69 +-
 .../twentyfourteen/inc/template-tags.php      |   13 +-
 .../themes/twentyfourteen/inc/widgets.php     |    2 +-
 .../themes/twentyfourteen/js/functions.js     |   10 +-
 .../languages/twentyfourteen.pot              |   38 +-
 wp-content/themes/twentyfourteen/style.css    |  113 +-
 .../themes/twentythirteen/functions.php       |    8 +-
 .../twentythirteen/genericons/COPYING.txt     |    9 +
 .../genericons/Genericons-Regular.otf         |  Bin 0 -> 18212 bytes
 .../twentythirteen/genericons/LICENSE.txt     |  339 +++
 .../twentythirteen/genericons/README.txt      |  123 +
 .../twentythirteen/genericons/example.html    |  464 ++++
 .../font/genericons-regular-webfont.eot       |  Bin 0 -> 14935 bytes
 .../font/genericons-regular-webfont.svg       |  135 ++
 .../font/genericons-regular-webfont.ttf       |  Bin 0 -> 27348 bytes
 .../font/genericons-regular-webfont.woff      |  Bin 0 -> 17224 bytes
 .../twentythirteen/genericons/genericons.css  |  197 ++
 wp-content/themes/twentythirteen/header.php   |    4 +-
 .../twentythirteen/inc/custom-header.php      |   12 +-
 .../themes/twentythirteen/js/functions.js     |   13 +
 .../languages/twentythirteen.pot              |    6 +-
 wp-content/themes/twentythirteen/style.css    |   45 +-
 wp-content/themes/twentytwelve/functions.php  |    4 +-
 wp-content/themes/twentytwelve/header.php     |    4 +-
 wp-content/themes/twentytwelve/image.php      |    2 +-
 .../themes/twentytwelve/js/navigation.js      |   14 +-
 .../twentytwelve/languages/twentytwelve.pot   |    6 +-
 wp-content/themes/twentytwelve/style.css      |    3 +-
 wp-cron.php                                   |    9 +-
 wp-includes/admin-bar.php                     |   46 +-
 wp-includes/author-template.php               |  112 +-
 wp-includes/bookmark-template.php             |  304 +--
 wp-includes/bookmark.php                      |  164 +-
 wp-includes/cache.php                         |   90 +-
 wp-includes/canonical.php                     |   38 +-
 wp-includes/capabilities.php                  |  128 +-
 wp-includes/category-template.php             |  264 +-
 wp-includes/category.php                      |   17 -
 wp-includes/class-IXR.php                     |    4 +-
 wp-includes/class-feed.php                    |   22 +-
 wp-includes/class-http.php                    |  420 ++--
 wp-includes/class-oembed.php                  |  231 +-
 wp-includes/class-simplepie.php               |    4 +-
 wp-includes/class-wp-admin-bar.php            |    3 +-
 wp-includes/class-wp-ajax-response.php        |  100 +-
 wp-includes/class-wp-customize-control.php    |  204 +-
 wp-includes/class-wp-customize-manager.php    |  163 +-
 wp-includes/class-wp-customize-panel.php      |  200 ++
 wp-includes/class-wp-customize-section.php    |   28 +-
 wp-includes/class-wp-customize-setting.php    |   24 +-
 wp-includes/class-wp-customize-widgets.php    |   46 +-
 wp-includes/class-wp-editor.php               |   83 +-
 wp-includes/class-wp-embed.php                |  107 +-
 wp-includes/class-wp-error.php                |   87 +-
 wp-includes/class-wp-http-ixr-client.php      |    6 +-
 wp-includes/class-wp-image-editor-gd.php      |    8 +-
 wp-includes/class-wp-image-editor-imagick.php |    6 +-
 wp-includes/class-wp-image-editor.php         |   86 +-
 wp-includes/class-wp-theme.php                |    7 +-
 wp-includes/class-wp-walker.php               |  103 +-
 wp-includes/class-wp-xmlrpc-server.php        |  262 +-
 wp-includes/class-wp.php                      |  120 +-
 wp-includes/class.wp-dependencies.php         |   60 +-
 wp-includes/class.wp-scripts.php              |   61 +-
 wp-includes/class.wp-styles.php               |   49 +-
 wp-includes/comment-template.php              |  156 +-
 wp-includes/comment.php                       |  377 +--
 wp-includes/cron.php                          |   28 +-
 wp-includes/css/admin-bar-rtl.css             |   13 +-
 wp-includes/css/admin-bar-rtl.min.css         |    2 +-
 wp-includes/css/admin-bar.css                 |   13 +-
 wp-includes/css/admin-bar.min.css             |    2 +-
 wp-includes/css/buttons-rtl.css               |   67 +-
 wp-includes/css/buttons-rtl.min.css           |    2 +-
 wp-includes/css/buttons.css                   |   67 +-
 wp-includes/css/buttons.min.css               |    2 +-
 wp-includes/css/dashicons.css                 |  314 +--
 wp-includes/css/dashicons.min.css             |    2 +-
 wp-includes/css/editor-rtl.css                |  191 +-
 wp-includes/css/editor-rtl.min.css            |    2 +-
 wp-includes/css/editor.css                    |  191 +-
 wp-includes/css/editor.min.css                |    2 +-
 wp-includes/css/jquery-ui-dialog-rtl.css      |   25 +-
 wp-includes/css/jquery-ui-dialog-rtl.min.css  |    2 +-
 wp-includes/css/jquery-ui-dialog.css          |   25 +-
 wp-includes/css/jquery-ui-dialog.min.css      |    2 +-
 wp-includes/css/media-views-rtl.css           |  919 ++++---
 wp-includes/css/media-views-rtl.min.css       |    2 +-
 wp-includes/css/media-views.css               |  919 ++++---
 wp-includes/css/media-views.min.css           |    2 +-
 wp-includes/css/wp-auth-check-rtl.min.css     |    2 +-
 wp-includes/css/wp-auth-check.min.css         |    2 +-
 wp-includes/css/wp-pointer-rtl.css            |   38 +-
 wp-includes/css/wp-pointer-rtl.min.css        |    2 +-
 wp-includes/css/wp-pointer.css                |   34 +-
 wp-includes/css/wp-pointer.min.css            |    2 +-
 wp-includes/date.php                          |   25 +-
 wp-includes/default-constants.php             |   18 +-
 wp-includes/default-widgets.php               |  353 +--
 wp-includes/deprecated.php                    |   65 +-
 wp-includes/feed-atom-comments.php            |   11 +-
 wp-includes/feed-atom.php                     |    6 +-
 wp-includes/feed-rdf.php                      |    6 +-
 wp-includes/feed-rss2-comments.php            |    3 +
 wp-includes/feed-rss2.php                     |   12 +-
 wp-includes/feed.php                          |   20 +-
 wp-includes/fonts/dashicons.eot               |  Bin 36646 -> 37498 bytes
 wp-includes/fonts/dashicons.svg               |    4 +
 wp-includes/fonts/dashicons.ttf               |  Bin 36360 -> 37212 bytes
 wp-includes/fonts/dashicons.woff              |  Bin 22328 -> 22844 bytes
 wp-includes/formatting.php                    |  369 ++-
 wp-includes/functions.php                     | 1068 +++++----
 wp-includes/general-template.php              |  342 +--
 wp-includes/http.php                          |  113 +-
 wp-includes/js/autosave.js                    |   40 +-
 wp-includes/js/autosave.min.js                |    2 +-
 wp-includes/js/customize-base.js              |  121 +-
 wp-includes/js/customize-base.min.js          |    2 +-
 wp-includes/js/customize-loader.js            |  125 +-
 wp-includes/js/customize-loader.min.js        |    2 +-
 wp-includes/js/customize-preview-widgets.js   |    5 -
 .../js/customize-preview-widgets.min.js       |    2 +-
 wp-includes/js/customize-preview.js           |   15 +-
 wp-includes/js/customize-preview.min.js       |    2 +-
 wp-includes/js/heartbeat.js                   |    2 +-
 wp-includes/js/jquery/jquery.js               |    8 +-
 wp-includes/js/jquery/suggest.js              |    6 +-
 wp-includes/js/mce-view.js                    |  782 +++---
 wp-includes/js/mce-view.min.js                |    2 +-
 wp-includes/js/media-audiovideo.js            |  156 +-
 wp-includes/js/media-audiovideo.min.js        |    2 +-
 wp-includes/js/media-editor.js                |  146 +-
 wp-includes/js/media-editor.min.js            |    2 +-
 wp-includes/js/media-grid.js                  |  712 ++++++
 wp-includes/js/media-grid.min.js              |    1 +
 wp-includes/js/media-models.js                |   46 +-
 wp-includes/js/media-models.min.js            |    2 +-
 wp-includes/js/media-views.js                 | 1491 ++++++++----
 wp-includes/js/media-views.min.js             |    6 +-
 wp-includes/js/mediaelement/bigplay.svg       |    2 +-
 .../js/mediaelement/flashmediaelement.swf     |  Bin 28709 -> 57051 bytes
 .../mediaelement-and-player.min.js            |  164 +-
 .../mediaelement/mediaelementplayer.min.css   |    2 +-
 .../js/mediaelement/wp-mediaelement.css       |   61 +-
 .../js/mediaelement/wp-mediaelement.js        |   20 +-
 wp-includes/js/mediaelement/wp-playlist.js    |   46 +-
 wp-includes/js/shortcode.js                   |    2 +-
 wp-includes/js/swfupload/swfupload.js         |    2 +-
 wp-includes/js/thickbox/thickbox.js           |    8 +-
 .../js/tinymce/plugins/charmap/plugin.js      |    9 +-
 .../js/tinymce/plugins/charmap/plugin.min.js  |    2 +-
 .../js/tinymce/plugins/colorpicker/plugin.js  |  112 +
 .../tinymce/plugins/colorpicker/plugin.min.js |    1 +
 .../js/tinymce/plugins/compat3x/plugin.js     |    7 +-
 .../js/tinymce/plugins/image/plugin.js        |  154 +-
 .../js/tinymce/plugins/image/plugin.min.js    |    2 +-
 .../js/tinymce/plugins/lists/plugin.js        |  786 ++++++
 .../js/tinymce/plugins/lists/plugin.min.js    |    1 +
 .../js/tinymce/plugins/media/plugin.js        |  172 +-
 .../js/tinymce/plugins/media/plugin.min.js    |    2 +-
 .../js/tinymce/plugins/paste/plugin.js        |  508 ++--
 .../js/tinymce/plugins/paste/plugin.min.js    |    2 +-
 .../js/tinymce/plugins/tabfocus/plugin.js     |   17 +-
 .../js/tinymce/plugins/tabfocus/plugin.min.js |    2 +-
 .../js/tinymce/plugins/textcolor/plugin.js    |  160 +-
 .../tinymce/plugins/textcolor/plugin.min.js   |    2 +-
 .../js/tinymce/plugins/wordpress/plugin.js    |  102 +-
 .../tinymce/plugins/wordpress/plugin.min.js   |    2 +-
 .../js/tinymce/plugins/wpautoresize/plugin.js |  207 ++
 .../plugins/wpautoresize/plugin.min.js        |    1 +
 .../js/tinymce/plugins/wpeditimage/plugin.js  |  273 ++-
 .../tinymce/plugins/wpeditimage/plugin.min.js |    2 +-
 .../js/tinymce/plugins/wpfullscreen/plugin.js |   79 +-
 .../plugins/wpfullscreen/plugin.min.js        |    2 +-
 .../js/tinymce/plugins/wplink/plugin.js       |    5 +-
 .../js/tinymce/plugins/wplink/plugin.min.js   |    2 +-
 .../js/tinymce/plugins/wpview/plugin.js       |  736 +++---
 .../js/tinymce/plugins/wpview/plugin.min.js   |    2 +-
 .../tinymce/skins/lightgray/skin.ie7.min.css  |    2 +-
 .../js/tinymce/skins/lightgray/skin.min.css   |    2 +-
 .../tinymce/skins/wordpress/images/more.png   |  Bin 462 -> 461 bytes
 .../js/tinymce/skins/wordpress/wp-content.css |  181 +-
 wp-includes/js/tinymce/themes/modern/theme.js |   10 +-
 .../js/tinymce/themes/modern/theme.min.js     |    2 +-
 wp-includes/js/tinymce/tinymce.min.js         |   21 +-
 wp-includes/js/tinymce/wp-mce-help.php        |    6 +-
 wp-includes/js/tinymce/wp-tinymce.js.gz       |  Bin 122963 -> 134666 bytes
 wp-includes/js/tinymce/wp-tinymce.php         |    2 +-
 wp-includes/js/utils.js                       |  110 +-
 wp-includes/js/utils.min.js                   |    2 +-
 wp-includes/js/wplink.js                      |   82 +-
 wp-includes/js/wplink.min.js                  |    2 +-
 wp-includes/kses.php                          |   10 +-
 wp-includes/l10n.php                          |  122 +-
 wp-includes/link-template.php                 |  163 +-
 wp-includes/load.php                          |  280 ++-
 wp-includes/media-template.php                |  430 ++--
 wp-includes/media.php                         |  581 +++--
 wp-includes/meta.php                          |  116 +-
 wp-includes/ms-blogs.php                      |   57 +-
 wp-includes/ms-default-constants.php          |   22 +-
 wp-includes/ms-default-filters.php            |    8 +-
 wp-includes/ms-functions.php                  |    8 +-
 wp-includes/ms-load.php                       |   17 +-
 wp-includes/ms-settings.php                   |    7 +-
 wp-includes/nav-menu-template.php             |   27 +-
 wp-includes/nav-menu.php                      |   25 +-
 wp-includes/option.php                        |   86 +-
 wp-includes/pluggable.php                     |  208 +-
 wp-includes/plugin.php                        |  257 +-
 wp-includes/pomo/mo.php                       |   35 +-
 wp-includes/pomo/translations.php             |    2 +-
 wp-includes/post-template.php                 |  391 +--
 wp-includes/post.php                          | 2115 +++++++++--------
 wp-includes/query.php                         |  641 +++--
 wp-includes/revision.php                      |    6 +-
 wp-includes/rewrite.php                       |   76 +-
 wp-includes/rss.php                           |    4 +-
 wp-includes/script-loader.php                 |   37 +-
 wp-includes/session.php                       |  425 ++++
 wp-includes/shortcodes.php                    |   11 +-
 wp-includes/taxonomy.php                      |  556 +++--
 wp-includes/theme-compat/comments-popup.php   |    7 +-
 wp-includes/theme.php                         |   87 +-
 wp-includes/update.php                        |   38 +-
 wp-includes/user.php                          |  519 ++--
 wp-includes/version.php                       |    6 +-
 wp-includes/widgets.php                       |   74 +-
 wp-includes/wp-db.php                         |  184 +-
 wp-includes/wp-diff.php                       |  119 +-
 wp-load.php                                   |   21 +-
 wp-login.php                                  |   86 +-
 wp-mail.php                                   |   11 +-
 wp-settings.php                               |    1 +
 wp-signup.php                                 |   42 +-
 504 files changed, 29690 insertions(+), 13353 deletions(-)
 create mode 100644 wp-admin/includes/translation-install.php
 create mode 100644 wp-admin/js/editor-expand.js
 create mode 100644 wp-admin/js/editor-expand.min.js
 create mode 100644 wp-admin/js/language-chooser.js
 create mode 100644 wp-admin/js/language-chooser.min.js
 create mode 100644 wp-content/themes/twentythirteen/genericons/COPYING.txt
 create mode 100644 wp-content/themes/twentythirteen/genericons/Genericons-Regular.otf
 create mode 100644 wp-content/themes/twentythirteen/genericons/LICENSE.txt
 create mode 100644 wp-content/themes/twentythirteen/genericons/README.txt
 create mode 100644 wp-content/themes/twentythirteen/genericons/example.html
 create mode 100644 wp-content/themes/twentythirteen/genericons/font/genericons-regular-webfont.eot
 create mode 100644 wp-content/themes/twentythirteen/genericons/font/genericons-regular-webfont.svg
 create mode 100644 wp-content/themes/twentythirteen/genericons/font/genericons-regular-webfont.ttf
 create mode 100644 wp-content/themes/twentythirteen/genericons/font/genericons-regular-webfont.woff
 create mode 100644 wp-content/themes/twentythirteen/genericons/genericons.css
 create mode 100644 wp-includes/class-wp-customize-panel.php
 create mode 100644 wp-includes/js/media-grid.js
 create mode 100644 wp-includes/js/media-grid.min.js
 create mode 100644 wp-includes/js/tinymce/plugins/colorpicker/plugin.js
 create mode 100644 wp-includes/js/tinymce/plugins/colorpicker/plugin.min.js
 create mode 100644 wp-includes/js/tinymce/plugins/lists/plugin.js
 create mode 100644 wp-includes/js/tinymce/plugins/lists/plugin.min.js
 create mode 100644 wp-includes/js/tinymce/plugins/wpautoresize/plugin.js
 create mode 100644 wp-includes/js/tinymce/plugins/wpautoresize/plugin.min.js
 create mode 100644 wp-includes/session.php

diff --git a/readme.html b/readme.html
index 914fb2a4a..48f59ef8e 100644
--- a/readme.html
+++ b/readme.html
@@ -9,7 +9,7 @@
 <body>
 <h1 id="logo">
 	<a href="https://wordpress.org/"><img alt="WordPress" src="wp-admin/images/wordpress-logo.png" /></a>
-	<br /> Version 3.9.2
+	<br /> Version 4.0
 </h1>
 <p style="text-align: center">Semantic Personal Publishing Platform</p>
 
diff --git a/wp-activate.php b/wp-activate.php
index 5e9be6ea8..a796cc5e4 100644
--- a/wp-activate.php
+++ b/wp-activate.php
@@ -84,7 +84,7 @@ get_header();
 	<?php } else {
 
 		$key = !empty($_GET['key']) ? $_GET['key'] : $_POST['key'];
-		$result = wpmu_activate_signup($key);
+		$result = wpmu_activate_signup( $key );
 		if ( is_wp_error($result) ) {
 			if ( 'already_active' == $result->get_error_code() || 'blog_taken' == $result->get_error_code() ) {
 			    $signup = $result->get_error_data();
@@ -105,18 +105,17 @@ get_header();
 			    echo '<p>'.$result->get_error_message().'</p>';
 			}
 		} else {
-			extract($result);
-			$url = get_blogaddress_by_id( (int) $blog_id);
-			$user = get_userdata( (int) $user_id);
+			$url = isset( $result['blog_id'] ) ? get_blogaddress_by_id( (int) $result['blog_id'] ) : '';
+			$user = get_userdata( (int) $result['user_id'] );
 			?>
 			<h2><?php _e('Your account is now active!'); ?></h2>
 
 			<div id="signup-welcome">
 				<p><span class="h3"><?php _e('Username:'); ?></span> <?php echo $user->user_login ?></p>
-				<p><span class="h3"><?php _e('Password:'); ?></span> <?php echo $password; ?></p>
+				<p><span class="h3"><?php _e('Password:'); ?></span> <?php echo $result['password']; ?></p>
 			</div>
 
-			<?php if ( $url != network_home_url('', 'http') ) : ?>
+			<?php if ( $url && $url != network_home_url( '', 'http' ) ) : ?>
 				<p class="view"><?php printf( __('Your account is now activated. <a href="%1$s">View your site</a> or <a href="%2$s">Log in</a>'), $url, $url . 'wp-login.php' ); ?></p>
 			<?php else: ?>
 				<p class="view"><?php printf( __('Your account is now activated. <a href="%1$s">Log in</a> or go back to the <a href="%2$s">homepage</a>.' ), network_site_url('wp-login.php', 'login'), network_home_url() ); ?></p>
@@ -129,4 +128,4 @@ get_header();
 	var key_input = document.getElementById('key');
 	key_input && key_input.focus();
 </script>
-<?php get_footer(); ?>
+<?php get_footer();
diff --git a/wp-admin/about.php b/wp-admin/about.php
index f5c786012..2e2ba5cf3 100644
--- a/wp-admin/about.php
+++ b/wp-admin/about.php
@@ -10,8 +10,11 @@
 require_once( dirname( __FILE__ ) . '/admin.php' );
 
 wp_enqueue_style( 'wp-mediaelement' );
-wp_enqueue_script( 'wp-playlist' );
-add_action( 'admin_footer', 'wp_underscore_playlist_templates', 0 );
+wp_enqueue_script( 'wp-mediaelement' );
+wp_localize_script( 'mediaelement', '_wpmejsSettings', array(
+	'pluginPath' => includes_url( 'js/mediaelement/', 'relative' ),
+	'pauseOtherPlayers' => ''
+) );
 
 $title = __( 'About' );
 
@@ -24,7 +27,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 
 <h1><?php printf( __( 'Welcome to WordPress&nbsp;%s' ), $display_version ); ?></h1>
 
-<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s has lots of refinements we think you&#8217;ll love.' ), $display_version ); ?></div>
+<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s brings you a smoother writing and management experience.' ), $display_version ); ?></div>
 
 <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
 
@@ -38,219 +41,125 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 	</a>
 </h2>
 
-<div class="changelog point-releases">
-	<h3><?php echo _n( 'Maintenance and Security Release', 'Maintenance and Security Releases', 2 ); ?></h3>
-	<p><?php printf( _n( '<strong>Version %1$s</strong> addressed a security issue.',
-         '<strong>Version %1$s</strong> addressed some security issues.', 6 ), '3.9.2', number_format_i18n( 6 ) ); ?>
-		<?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_3.9.2' ); ?>
- 	</p>
-	<p><?php printf( _n( '<strong>Version %1$s</strong> addressed %2$s bug.',
-         '<strong>Version %1$s</strong> addressed %2$s bugs.', 34 ), '3.9.1', number_format_i18n( 34 ) ); ?>
-		<?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_3.9.1' ); ?>
- 	</p>
-</div>
-
 <div class="changelog">
 	<div class="about-overview">
-	<?php
-	if ( ! is_ssl() && ( $locale = get_locale() ) && 'en_' === substr( $locale, 0, 3 ) ) : ?>
-		<embed src="//v0.wordpress.com/player.swf?v=1.03" type="application/x-shockwave-flash" width="640" height="360" wmode="direct" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true" flashvars="guid=sAiXhCfV&amp;isDynamicSeeking=true" title=""></embed>
-	<?php else : ?>
-		<img class="about-overview-img" src="//s.w.org/images/core/3.9/overview.png?0" />
-	<?php endif; ?>
+		<?php if ( ( $locale = get_locale() ) && 'en_' === substr( $locale, 0, 3 ) ) : ?>
+			<embed src="//v.wordpress.com/bUdzKMro" type="application/x-shockwave-flash" width="640" height="360" allowscriptaccess="always" allowfullscreen="true" wmode="transparent"></embed>
+		<?php else : ?>
+			<img class="about-overview-img" src="//s.w.org/images/core/4.0/wp40.png" width="640" height="360" />
+		<?php endif; ?>
 	</div>
-	<h2 class="about-headline-callout"><?php _e( 'A smoother media editing&nbsp;experience' ); ?></h2>
-	<div class="feature-section col three-col">
+
+	<hr />
+
+	<div class="feature-section col two-col">
 		<div class="col-1">
-			<img src="//s.w.org/images/core/3.9/editor.jpg?0" />
-			<h4><?php _e( 'Improved visual editing' ); ?></h4>
-			<p><?php _e( 'The updated visual editor has improved speed, accessibility, and mobile support.' );
-				echo ' ' . __( 'You can paste into the visual editor from your word processor without wasting time to clean up messy styling. (Yeah, we&#8217;re talking about you, Microsoft Word.)' ); ?></p>
+			<h3><?php _e( 'Manage your media with style' ); ?></h3>
+			<p><?php _e( 'Explore your uploads in a beautiful, endless grid. A new details preview makes viewing and editing any amount of media in sequence a snap.' ); ?></p>
 		</div>
-		<div class="col-2">
-			<img src="//s.w.org/images/core/3.9/image.gif?0" />
-			<h4><?php _e( 'Edit images easily' ); ?></h4>
-			<p><?php _e( 'With quicker access to crop and rotation tools, it&#8217;s now much easier to edit your images while editing posts. You can also scale images directly in the editor to find just the right fit.' ); ?></p>
+		<div class="col-2 last-feature">
+			<img src="//s.w.org/images/core/4.0/media.jpg" />
 		</div>
-		<div class="col-3 last-feature">
-			<img src="//s.w.org/images/core/3.9/drop.jpg?0" />
-			<h4><?php _e( 'Drag and drop your images' ); ?></h4>
-			<p><?php _e( 'Uploading your images is easier than ever. Just grab them from your desktop and drop them onto the editor.' ); ?></p>
+	</div>
+
+	<hr />
+
+	<div class="feature-section col two-col">
+		<div class="col-1">
+			<div class="about-video about-video-embed">
+				<?php
+					echo wp_video_shortcode( array(
+						'mp4'      => '//s.w.org/images/core/4.0/embed.mp4',
+						'ogv'      => '//s.w.org/images/core/4.0/embed.ogv',
+						'webm'      => '//s.w.org/images/core/4.0/embed.webm',
+						'loop'     => true,
+						'autoplay' => true,
+						'width'    => 500,
+						'height'   => 352
+					) );
+				?>
+			</div>
+		</div>
+		<div class="col-2 last-feature">
+			<h3><?php _e( 'Working with embeds has never been easier' ); ?></h3>
+			<p><?php _e( 'Paste in a YouTube URL on a new line, and watch it magically become an embedded video. Now try it with a tweet. Oh yeah &#8212; embedding has become a visual experience. The editor shows a true preview of your embedded content, saving you time and giving you confidence.' ); ?></p>
+			<p><?php _e( 'We&#8217;ve expanded the services supported by default, too &#8212; you can embed videos from CollegeHumor, playlists from YouTube, and talks from TED. <a href="http://codex.wordpress.org/Embeds">Check out all of the embeds</a> that WordPress supports.' ); ?></p>
 		</div>
 	</div>
 
-	<hr>
+	<hr />
 
 	<div class="feature-section col two-col">
 		<div class="col-1">
-			<img src="//s.w.org/images/core/3.9/gallery.jpg?0" />
-			<h4><?php _e( 'Gallery previews' ); ?></h4>
-			<p><?php _e( 'Galleries display a beautiful grid of images right in the editor, just like they do in your published post.' ); ?></p>
+			<h3><?php _e( 'Focus on your content' ); ?></h3>
+			<p><?php _e( 'Writing and editing is smoother and more immersive with an editor that expands to fit your content as you write, and keeps the formatting tools available at all times.' ); ?></p>
 		</div>
 		<div class="col-2 last-feature">
-			<div class="wp-playlist wp-audio-playlist wp-playlist-light">
-				<div class="wp-playlist-current-item"></div>
-				<audio controls="controls" preload="metadata"></audio>
-				<div class="wp-playlist-next"></div>
-				<div class="wp-playlist-prev"></div>
+			<div class="about-video about-video-focus">
 				<?php
-				$audio_icon_js = esc_js( includes_url( 'images/media/audio.png' ) );
-				$wp_host = '//s.w.org/images/core/3.9/';
+					echo wp_video_shortcode( array(
+						'mp4'      => '//s.w.org/images/core/4.0/focus.mp4',
+						'ogv'      => '//s.w.org/images/core/4.0/focus.ogv',
+						'webm'      => '//s.w.org/images/core/4.0/focus.webm',
+						'loop'     => true,
+						'autoplay' => true,
+						'width'    => 500,
+						'height'   => 281
+					) );
 				?>
-
-				<script type="application/json">{
-					"type":"audio",
-					"tracklist":true,
-					"tracknumbers":true,
-					"images":true,
-					"artists":true,
-					"tracks":[{
-						"src":"<?php echo $wp_host ?>AintMisbehavin.mp3",
-						"type":"audio\/mpeg","title":"Ain't Misbehavin'","caption":"","description":"",
-						"meta":{
-							"artist":"Louis Armstrong & His Orchestra",
-							"album":"78 RPMs & Cylinder Recordings",
-							"genre":"Jazz",
-							"length_formatted":"3:21"
-						},
-						"image":{"src":"//s.w.org/images/core/3.9/louis.jpg","width":308,"height":240},
-						"thumb":{"src":"//s.w.org/images/core/3.9/louis.jpg","width":308,"height":240}
-					},
-					{
-						"src":"<?php echo $wp_host ?>JellyRollMorton-BuddyBoldensBlues.mp3",
-						"type":"audio\/mpeg","title":"Buddy Bolden's Blues","caption":"","description":"",
-						"meta":{
-							"artist":"Jelly Roll Morten",
-							"album":"78 RPMs & Cylinder Recordings",
-							"genre":"Jazz",
-							"length_formatted":"2:09"
-						},
-						"image":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64},
-						"thumb":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64}
-					},
-					{
-						"src":"<?php echo $wp_host ?>DavenportBlues.mp3",
-						"type":"audio\/mpeg","title":"Davenport Blues","caption":"","description":"",
-						"meta":{
-							"artist":"Bix Beiderbecke & His Rhythm Jugglers",
-							"album":"78 RPMs & Cylinder Recordings",
-							"genre":"Jazz",
-							"length_formatted":"2:48"
-						},
-						"image":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64},
-						"thumb":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64}
-					},
-					{
-						"src":"<?php echo $wp_host ?>WolverineBlues.mp3",
-						"type":"audio\/mpeg","title":"Wolverine Blues","caption":"","description":"",
-						"meta":{
-							"artist":"Benny Goodman's Boys",
-							"album":"78 RPMs & Cylinder Recordings",
-							"genre":"Jazz",
-							"length_formatted":"2:55"
-						},
-						"image":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64},
-						"thumb":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64}
-					},
-					{
-						"src":"<?php echo $wp_host ?>Louisiana_Five-Dixie_Blues-1919.mp3",
-						"type":"audio\/mpeg","title":"Dixie Blues","caption":"","description":"",
-						"meta":{
-							"artist":"Louisiana Five",
-							"album":"78 RPMs & Cylinder Recordings",
-							"genre":"Jazz",
-							"length_formatted":"3:01"
-						},
-						"image":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64},
-						"thumb":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64}
-					},
-					{
-						"src":"<?php echo $wp_host ?>Johnny_Hodges_Orchestra-Squaty_Roo-1941.mp3",
-						"type":"audio\/mpeg","title":"Squaty Roo","caption":"","description":"",
-						"meta":{
-							"artist":"Johnny Hodges Orchestra",
-							"album":"78 RPMs & Cylinder Recordings",
-							"genre":"Jazz",
-							"length_formatted":"2:24"
-						},
-						"image":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64},
-						"thumb":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64}
-					}]
-				}</script>
 			</div>
-			<h4><?php _e( 'Do more with audio and video' ); ?></h4>
-			<p><?php _e( 'Images have galleries; now we&#8217;ve added simple audio and video playlists, so you can showcase your music and clips.' ); ?></p>
 		</div>
 	</div>
-</div>
 
-<hr>
+	<hr />
 
-<div class="changelog customize">
 	<div class="feature-section col two-col">
-		<div>
-			<?php
-				echo wp_video_shortcode( array(
-					'mp4'      => '//s.w.org/images/core/3.9/widgets.mp4',
-					'ogv'      => '//s.w.org/images/core/3.9/widgets.ogv',
-					'webm'     => '//s.w.org/images/core/3.9/widgets.webm',
-					'loop'     => true,
-					'autoplay' => true,
-					'width'    => 499
-				) );
-			?>
-			<h4><?php _e( 'Live widget and header previews' ); ?></h4>
-			<p><?php _e( 'Add, edit, and rearrange your site&#8217;s widgets right in the theme customizer. No &#8220;save and surprise&#8221; &mdash; preview your changes live and only save them when you&#8217;re ready.' ); ?></p>
-			<p><?php _e( 'The improved header image tool also lets you upload, crop, and manage headers while customizing your theme.' ); ?></p>
+		<div class="col-1">
+			<img src="//s.w.org/images/core/4.0/plugins.png" />
 		</div>
-		<div class="last-feature">
-			<img src="//s.w.org/images/core/3.9/theme.jpg?0" />
-			<h4><?php _e( 'Stunning new theme browser' ); ?></h4>
-			<p><?php _e( 'Looking for a new theme should be easy and fun. Lose yourself in the boundless supply of free WordPress.org themes with the beautiful new theme browser.' ); ?></p>
-		<?php if ( current_user_can( 'install_themes' ) ) { ?>
-			<p><a href="<?php echo network_admin_url( 'theme-install.php' ); ?>" class="button button-large button-primary"><?php _e( 'Browse Themes' ); ?></a></p>
-		<?php } ?>
+		<div class="col-2 last-feature">
+			<h3 class="higher"><?php _e( 'Finding the right plugin' ); ?></h3>
+			<p><?php _e( 'There are more than 30,000 free and open source plugins in the WordPress plugin directory. WordPress 4.0 makes it easier to find the right one for your needs, with new metrics, improved search, and a more visual browsing experience.' ); ?></p>
+			<a href="<?php echo admin_url( 'plugin-install.php' ); ?>" class="button button-large button-primary"><?php _e( 'Browse plugins' ); ?></a>
 		</div>
 	</div>
 </div>
 
-<hr>
+<hr />
 
 <div class="changelog under-the-hood">
 	<h3><?php _e( 'Under the Hood' ); ?></h3>
 
 	<div class="feature-section col three-col">
 		<div>
-			<h4><?php _e( 'Semantic Captions and Galleries' ); ?></h4>
-			<p><?php _e( 'Theme developers have new options for images and galleries that use intelligent HTML5 markup.' ); ?></p>
-
-			<h4><?php _e( 'Inline Code Documentation' ); ?></h4>
-			<p><?php _e( 'Every action and filter hook in WordPress is now documented, along with expanded documentation for the media manager and customizer APIs.' ); ?></p>
+		<h4><?php _e( 'Customizer API' ); ?></h4>
+			<p><?php _e( 'Contexts, panels, and a wider array of controls are now supported in the customizer.' ); ?></p>
 		</div>
 		<div>
-			<h4><?php _e( 'External Libraries' ); ?></h4>
-			<p><?php _e( 'Updated libraries: TinyMCE&nbsp;4, jQuery&nbsp;1.11, Backbone&nbsp;1.1, Underscore&nbsp;1.6, Plupload&nbsp;2, MediaElement&nbsp;2.14, Masonry&nbsp;3.' ); ?></p>
-
-			<h4><?php _e( 'Improved Database Layer' ); ?></h4>
-			<p><?php _e( 'Database connections are now more fault-resistant and have improved compatibility with PHP 5.5 and MySQL 5.6.' ); ?></p>
+			<h4><?php _e( 'Query Ordering' ); ?></h4>
+			<p><?php
+				/* translators: 1: "ORDER BY" (SQL), 2: "WP_Query" */
+				printf( __( 'Developers have more flexibility creating %1$s clauses through %2$s.' ), '<code>ORDER&nbsp;BY</code>', '<code>WP_Query</code>' );
+			?></p>
 		</div>
 		<div class="last-feature">
-			<h4><?php _e( 'New Utility Functions' ); ?></h4>
-			<p><?php _e( 'Identify a hook in progress with <code>doing_action()</code> and <code>doing_filter()</code>, and manipulate custom image sizes with <code>has_image_size()</code> and <code>remove_image_size()</code>.' ); ?></p>
-			<p><?php _e( 'Plugins and themes registering custom image sizes can now register suggested cropping points. For example, prevent heads from being cropped out of photos with a top-center crop.' ); ?></p>
+			<h4><?php _e( 'External Libraries' ); ?></h4>
+			<p><?php _e( 'Updated libraries: TinyMCE&nbsp;4.1.3, jQuery&nbsp;1.11.1, MediaElement&nbsp;2.15.' ); ?></p>
 		</div>
-</div>
+	</div>
+
+	<hr />
 
-<hr>
+	<div class="return-to-dashboard">
+		<?php if ( current_user_can( 'update_core' ) && isset( $_GET['updated'] ) ) : ?>
+		<a href="<?php echo esc_url( self_admin_url( 'update-core.php' ) ); ?>"><?php
+			is_multisite() ? _e( 'Return to Updates' ) : _e( 'Return to Dashboard &rarr; Updates' );
+		?></a> |
+		<?php endif; ?>
+		<a href="<?php echo esc_url( self_admin_url() ); ?>"><?php
+			is_blog_admin() ? _e( 'Go to Dashboard &rarr; Home' ) : _e( 'Go to Dashboard' ); ?></a>
+	</div>
 
-<div class="return-to-dashboard">
-	<?php if ( current_user_can( 'update_core' ) && isset( $_GET['updated'] ) ) : ?>
-	<a href="<?php echo esc_url( self_admin_url( 'update-core.php' ) ); ?>"><?php
-		is_multisite() ? _e( 'Return to Updates' ) : _e( 'Return to Dashboard &rarr; Updates' );
-	?></a> |
-	<?php endif; ?>
-	<a href="<?php echo esc_url( self_admin_url() ); ?>"><?php
-		is_blog_admin() ? _e( 'Go to Dashboard &rarr; Home' ) : _e( 'Go to Dashboard' ); ?></a>
 </div>
 
 </div>
diff --git a/wp-admin/admin-ajax.php b/wp-admin/admin-ajax.php
index f7aae0ff5..60f1778cd 100644
--- a/wp-admin/admin-ajax.php
+++ b/wp-admin/admin-ajax.php
@@ -14,7 +14,9 @@
  * @since 2.1.0
  */
 define( 'DOING_AJAX', true );
-define( 'WP_ADMIN', true );
+if ( ! defined( 'WP_ADMIN' ) ) {
+	define( 'WP_ADMIN', true );
+}
 
 /** Load WordPress Bootstrap */
 require_once( dirname( dirname( __FILE__ ) ) . '/wp-load.php' );
@@ -58,7 +60,8 @@ $core_actions_post = array(
 	'wp-remove-post-lock', 'dismiss-wp-pointer', 'upload-attachment', 'get-attachment',
 	'query-attachments', 'save-attachment', 'save-attachment-compat', 'send-link-to-editor',
 	'send-attachment-to-editor', 'save-attachment-order', 'heartbeat', 'get-revision-diffs',
-	'save-user-color-scheme', 'update-widget', 'query-themes',
+	'save-user-color-scheme', 'update-widget', 'query-themes', 'parse-embed', 'set-attachment-thumbnail',
+	'parse-media-shortcode'
 );
 
 // Register core Ajax calls.
diff --git a/wp-admin/admin-header.php b/wp-admin/admin-header.php
index 10349750e..c9d49d2b1 100644
--- a/wp-admin/admin-header.php
+++ b/wp-admin/admin-header.php
@@ -177,8 +177,9 @@ $admin_body_class .= ' no-customize-support no-svg';
 
 <?php
 // Make sure the customize body classes are correct as early as possible.
-if ( current_user_can( 'edit_theme_options' ) )
+if ( current_user_can( 'customize' ) ) {
 	wp_customize_support_script();
+}
 ?>
 
 <div id="wpwrap">
diff --git a/wp-admin/admin-post.php b/wp-admin/admin-post.php
index 710399407..f05cdf4e2 100644
--- a/wp-admin/admin-post.php
+++ b/wp-admin/admin-post.php
@@ -9,7 +9,9 @@
  */
 
 /** We are located in WordPress Administration Screens */
-define('WP_ADMIN', true);
+if ( ! defined( 'WP_ADMIN' ) ) {
+	define( 'WP_ADMIN', true );
+}
 
 if ( defined('ABSPATH') )
 	require_once(ABSPATH . 'wp-load.php');
@@ -26,20 +28,44 @@ nocache_headers();
 /** This action is documented in wp-admin/admin.php */
 do_action( 'admin_init' );
 
-$action = 'admin_post';
+$action = empty( $_REQUEST['action'] ) ? '' : $_REQUEST['action'];
 
-if ( !wp_validate_auth_cookie() )
-	$action .= '_nopriv';
-
-if ( !empty($_REQUEST['action']) )
-	$action .= '_' . $_REQUEST['action'];
-
-/**
- * Fires the requested handler action.
- *
- * admin_post_nopriv_{$_REQUEST['action']} is called for not-logged-in users.
- * admin_post_{$_REQUEST['action']} is called for logged-in users.
- *
- * @since 2.6.0
- */
-do_action( $action );
+if ( ! wp_validate_auth_cookie() ) {
+	if ( empty( $action ) ) {
+		/**
+		 * Fires on a non-authenticated admin post request where no action was supplied.
+		 *
+		 * @since 2.6.0
+		 */
+		do_action( 'admin_post_nopriv' );
+	} else {
+		/**
+		 * Fires on a non-authenticated admin post request for the given action.
+		 *
+		 * The dynamic portion of the hook name, $action, refers to the given
+		 * request action.
+		 *
+		 * @since 2.6.0
+		 */
+		do_action( "admin_post_nopriv_{$action}" );
+	}
+} else {
+	if ( empty( $action ) ) {
+		/**
+		 * Fires on an authenticated admin post request where no action was supplied.
+		 *
+		 * @since 2.6.0
+		 */
+		do_action( 'admin_post' );
+	} else {
+		/**
+		 * Fires on an authenticated admin post request for the given action.
+		 *
+		 * The dynamic portion of the hook name, $action, refers to the given
+		 * request action.
+		 *
+		 * @since 2.6.0
+		 */
+		do_action( "admin_post_{$action}" );
+	}
+}
diff --git a/wp-admin/admin.php b/wp-admin/admin.php
index a617d113f..65e17af9c 100644
--- a/wp-admin/admin.php
+++ b/wp-admin/admin.php
@@ -11,8 +11,9 @@
  *
  * @since 2.3.2
  */
-if ( ! defined('WP_ADMIN') )
-	define('WP_ADMIN', true);
+if ( ! defined( 'WP_ADMIN' ) ) {
+	define( 'WP_ADMIN', true );
+}
 
 if ( ! defined('WP_NETWORK_ADMIN') )
 	define('WP_NETWORK_ADMIN', false);
@@ -50,8 +51,8 @@ if ( get_option('db_upgraded') ) {
 	 * Filter whether to attempt to perform the multisite DB upgrade routine.
 	 *
 	 * In single site, the user would be redirected to wp-admin/upgrade.php.
-	 * In multisite, it is automatically fired, but only when this filter
-	 * returns true.
+	 * In multisite, the DB upgrade routine is automatically fired, but only
+	 * when this filter returns true.
 	 *
 	 * If the network is 50 sites or less, it will run every time. Otherwise,
 	 * it will throttle itself to reduce load.
@@ -150,7 +151,8 @@ if ( isset($plugin_page) ) {
 		$the_parent = $pagenow;
 	if ( ! $page_hook = get_plugin_page_hook($plugin_page, $the_parent) ) {
 		$page_hook = get_plugin_page_hook($plugin_page, $plugin_page);
-		// backwards compatibility for plugins using add_management_page
+
+		// Backwards compatibility for plugins using add_management_page().
 		if ( empty( $page_hook ) && 'edit.php' == $pagenow && '' != get_plugin_page_hook($plugin_page, 'tools.php') ) {
 			// There could be plugin specific params on the URL, so we need the whole query string
 			if ( !empty($_SERVER[ 'QUERY_STRING' ]) )
@@ -204,8 +206,7 @@ if ( isset($plugin_page) ) {
 		/**
 		 * Used to call the registered callback for a plugin screen.
 		 *
-		 * @access private
-		 *
+		 * @internal
 		 * @since 1.5.0
 		 */
 		do_action( $page_hook );
@@ -289,8 +290,9 @@ if ( isset($plugin_page) ) {
 	 *
 	 * @param bool false Whether to force data to be filtered through kses. Default false.
 	 */
-	if ( apply_filters( 'force_filtered_html_on_import', false ) )
+	if ( apply_filters( 'force_filtered_html_on_import', false ) ) {
 		kses_init_filters();  // Always filter imported data with kses on multisite.
+	}
 
 	call_user_func($wp_importers[$importer][2]);
 
@@ -308,13 +310,17 @@ if ( isset($plugin_page) ) {
 	 *
 	 * The dynamic portion of the hook name, $pagenow, is a global variable
 	 * referring to the filename of the current page, such as 'admin.php',
-	 * 'post-new.php' etc. A complete hook for the latter would be 'load-post-new.php'.
+	 * 'post-new.php' etc. A complete hook for the latter would be
+	 * 'load-post-new.php'.
 	 *
 	 * @since 2.1.0
 	 */
 	do_action( 'load-' . $pagenow );
-	// Backwards compatibility with old load-page-new.php, load-page.php,
-	// and load-categories.php actions.
+
+	/*
+	 * The following hooks are fired to ensure backward compatibility.
+	 * In all other cases, 'load-' . $pagenow should be used instead.
+	 */
 	if ( $typenow == 'page' ) {
 		if ( $pagenow == 'post-new.php' )
 			do_action( 'load-page-new.php' );
diff --git a/wp-admin/async-upload.php b/wp-admin/async-upload.php
index e43fb5844..add616495 100644
--- a/wp-admin/async-upload.php
+++ b/wp-admin/async-upload.php
@@ -10,7 +10,9 @@ if ( isset( $_REQUEST['action'] ) && 'upload-attachment' === $_REQUEST['action']
 	define( 'DOING_AJAX', true );
 }
 
-define('WP_ADMIN', true);
+if ( ! defined( 'WP_ADMIN' ) ) {
+	define( 'WP_ADMIN', true );
+}
 
 if ( defined('ABSPATH') )
 	require_once(ABSPATH . 'wp-load.php');
@@ -36,7 +38,7 @@ if ( !current_user_can('upload_files') )
 header('Content-Type: text/html; charset=' . get_option('blog_charset'));
 
 if ( isset( $_REQUEST['action'] ) && 'upload-attachment' === $_REQUEST['action'] ) {
-	include ABSPATH . 'wp-admin/includes/ajax-actions.php';
+	include( ABSPATH . 'wp-admin/includes/ajax-actions.php' );
 
 	send_nosniff_header();
 	nocache_headers();
@@ -84,7 +86,7 @@ if ( isset( $_REQUEST['post_id'] ) ) {
 
 $id = media_handle_upload( 'async-upload', $post_id );
 if ( is_wp_error($id) ) {
-	echo '<div class="error-div">
+	echo '<div class="error-div error">
 	<a class="dismiss" href="#" onclick="jQuery(this).parents(\'div.media-item\').slideUp(200, function(){jQuery(this).remove();});">' . __('Dismiss') . '</a>
 	<strong>' . sprintf(__('&#8220;%s&#8221; has failed to upload due to an error'), esc_html($_FILES['async-upload']['name']) ) . '</strong><br />' .
 	esc_html($id->get_error_message()) . '</div>';
@@ -92,10 +94,10 @@ if ( is_wp_error($id) ) {
 }
 
 if ( $_REQUEST['short'] ) {
-	// short form response - attachment ID only
+	// Short form response - attachment ID only.
 	echo $id;
 } else {
-	// long form response - big chunk o html
+	// Long form response - big chunk o html.
 	$type = $_REQUEST['type'];
 
 	/**
diff --git a/wp-admin/comment.php b/wp-admin/comment.php
index 30c8d6d83..1c46b0a9f 100644
--- a/wp-admin/comment.php
+++ b/wp-admin/comment.php
@@ -111,7 +111,7 @@ case 'spam'    :
 	$nonce_action .= $comment_id;
 
 ?>
-<div class='wrap'>
+<div class="wrap">
 
 <div class="narrow">
 
@@ -181,7 +181,7 @@ if ( $comment->comment_approved != '0' ) { // if not unapproved
 
 <p><?php _e('Are you sure you want to do this?'); ?></p>
 
-<form action='comment.php' method='get'>
+<form action="comment.php" method="get">
 
 <table width="100%">
 <tr>
@@ -191,9 +191,9 @@ if ( $comment->comment_approved != '0' ) { // if not unapproved
 </table>
 
 <?php wp_nonce_field( $nonce_action ); ?>
-<input type='hidden' name='action' value='<?php echo esc_attr($formaction); ?>' />
-<input type='hidden' name='c' value='<?php echo esc_attr($comment->comment_ID); ?>' />
-<input type='hidden' name='noredir' value='1' />
+<input type="hidden" name="action" value="<?php echo esc_attr($formaction); ?>" />
+<input type="hidden" name="c" value="<?php echo esc_attr($comment->comment_ID); ?>" />
+<input type="hidden" name="noredir" value="1" />
 </form>
 
 </div>
@@ -266,7 +266,6 @@ case 'unapprovecomment' :
 
 	wp_redirect( $redir );
 	die;
-	break;
 
 case 'editedcomment' :
 
@@ -291,11 +290,9 @@ case 'editedcomment' :
 	wp_redirect( $location );
 
 	exit();
-	break;
 
 default:
 	wp_die( __('Unknown action.') );
-	break;
 
 } // end switch
 
diff --git a/wp-admin/credits.php b/wp-admin/credits.php
index 87ebc8659..3d2e8a58c 100644
--- a/wp-admin/credits.php
+++ b/wp-admin/credits.php
@@ -82,7 +82,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 
 <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
 
-<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s has lots of refinements we think you&#8217;ll love.' ), $display_version ); ?></div>
+<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s brings you a smoother writing and management experience.' ), $display_version ); ?></div>
 
 <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
 
@@ -179,6 +179,7 @@ __( 'Core Contributors to WordPress %s' );
 __( 'Contributing Developers' );
 __( 'Cofounder, Project Lead' );
 __( 'Lead Developer' );
+__( 'Release Lead' );
 __( 'User Experience Lead' );
 __( 'Core Developer' );
 __( 'Core Committer' );
diff --git a/wp-admin/css/about-rtl.css b/wp-admin/css/about-rtl.css
index 873f7ac22..9cd3d12bd 100644
--- a/wp-admin/css/about-rtl.css
+++ b/wp-admin/css/about-rtl.css
@@ -25,6 +25,7 @@
 .about-wrap img {
 	margin: 0;
 	max-width: 100%;
+	height: auto;
 	vertical-align: middle;
 }
 
@@ -80,6 +81,10 @@
 	line-height: 1.5em;
 }
 
+.about-wrap h3.higher {
+	margin-top: .5em;
+}
+
 .customize h3 {
 	margin-top: 1.75em;
 	text-align: center;
@@ -174,17 +179,16 @@
 
 .about-overview {
 	margin-top: 40px;
+	margin-bottom: 40px;
 	text-align: center;
 }
 
-.about-overview .wp-video {
-	margin: 0 auto;
-}
-
-.changelog .wp-playlist .wp-playlist-current-item img {
-	height: 64px;
-	width: auto;
-	max-width: 100%;
+.about-overview p {
+	margin: 1em auto 50px;
+	max-width: 770px;
+	font-size: 18px;
+	line-height: 1.5;
+	text-align: center;
 }
 
 .about-wrap .feature-section {
@@ -194,8 +198,8 @@
 
 .about-wrap .feature-section.two-col > div {
 	position: relative;
-	width: 47.5%;
-	margin-left: 4.999999999%;
+	width: 47.6%;
+	margin-left: 4.799999999%;
 	float: right;
 }
 
@@ -228,6 +232,31 @@
 	max-width: 20%;
 }
 
+/* responsive videos for 4.0 */
+.about-video {
+	position: relative;
+	width: 100%;
+	height: 0;
+}
+
+.about-video-embed {
+	padding-bottom: 70.4%; /* 352 / 500 */
+}
+
+.about-video-focus {
+	padding-bottom: 56.2%; /* 281 / 500 */
+}
+
+.about-video .wp-video,
+.about-video .mejs-container,
+.about-video video {
+	position: absolute;
+	top: 0;
+	right: 0;
+	width: 100% !important;
+	height: 100% !important;
+}
+
 .about-wrap .changelog li {
 	list-style-type: disc;
 	margin-right: 3em;
@@ -349,6 +378,24 @@
 
 }
 
+/* Responsive release video */
+@media screen and ( max-width: 710px ) {
+	.about-overview {
+		position: relative;
+		padding-bottom: 56.25%; /* 360 / 640 */
+		width: 100%;
+		height: 0;
+	}
+
+	.about-overview embed {
+		position: absolute;
+		top: 0;
+		right: 0;
+		width: 100%;
+		height: 100%;
+	}
+}
+
 @media only screen and (max-width: 500px) {
 	.about-wrap {
 		margin-left: 20px;
@@ -370,6 +417,17 @@
 		width: 100%;
 	}
 
+	.about-wrap h2.nav-tab-wrapper {
+		padding-right: 0;
+		border-bottom: 0;
+	}
+
+	.about-wrap h2 .nav-tab {
+		margin-top: 10px;
+		margin-left: 10px;
+		border-bottom: 1px solid #ccc;
+	}
+
 	.about-wrap .feature-section.three-col div {
 		width: 100%;
 		float: none;
@@ -385,4 +443,4 @@
 		width: 100%;
 		float: none;
 	}
-}
\ No newline at end of file
+}
diff --git a/wp-admin/css/about.css b/wp-admin/css/about.css
index 44c85c8d2..50c4d9230 100644
--- a/wp-admin/css/about.css
+++ b/wp-admin/css/about.css
@@ -25,6 +25,7 @@
 .about-wrap img {
 	margin: 0;
 	max-width: 100%;
+	height: auto;
 	vertical-align: middle;
 }
 
@@ -80,6 +81,10 @@
 	line-height: 1.5em;
 }
 
+.about-wrap h3.higher {
+	margin-top: .5em;
+}
+
 .customize h3 {
 	margin-top: 1.75em;
 	text-align: center;
@@ -174,17 +179,16 @@
 
 .about-overview {
 	margin-top: 40px;
+	margin-bottom: 40px;
 	text-align: center;
 }
 
-.about-overview .wp-video {
-	margin: 0 auto;
-}
-
-.changelog .wp-playlist .wp-playlist-current-item img {
-	height: 64px;
-	width: auto;
-	max-width: 100%;
+.about-overview p {
+	margin: 1em auto 50px;
+	max-width: 770px;
+	font-size: 18px;
+	line-height: 1.5;
+	text-align: center;
 }
 
 .about-wrap .feature-section {
@@ -194,8 +198,8 @@
 
 .about-wrap .feature-section.two-col > div {
 	position: relative;
-	width: 47.5%;
-	margin-right: 4.999999999%;
+	width: 47.6%;
+	margin-right: 4.799999999%;
 	float: left;
 }
 
@@ -228,6 +232,31 @@
 	max-width: 20%;
 }
 
+/* responsive videos for 4.0 */
+.about-video {
+	position: relative;
+	width: 100%;
+	height: 0;
+}
+
+.about-video-embed {
+	padding-bottom: 70.4%; /* 352 / 500 */
+}
+
+.about-video-focus {
+	padding-bottom: 56.2%; /* 281 / 500 */
+}
+
+.about-video .wp-video,
+.about-video .mejs-container,
+.about-video video {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 100% !important;
+	height: 100% !important;
+}
+
 .about-wrap .changelog li {
 	list-style-type: disc;
 	margin-left: 3em;
@@ -349,6 +378,24 @@
 
 }
 
+/* Responsive release video */
+@media screen and ( max-width: 710px ) {
+	.about-overview {
+		position: relative;
+		padding-bottom: 56.25%; /* 360 / 640 */
+		width: 100%;
+		height: 0;
+	}
+
+	.about-overview embed {
+		position: absolute;
+		top: 0;
+		left: 0;
+		width: 100%;
+		height: 100%;
+	}
+}
+
 @media only screen and (max-width: 500px) {
 	.about-wrap {
 		margin-right: 20px;
@@ -370,6 +417,17 @@
 		width: 100%;
 	}
 
+	.about-wrap h2.nav-tab-wrapper {
+		padding-left: 0;
+		border-bottom: 0;
+	}
+
+	.about-wrap h2 .nav-tab {
+		margin-top: 10px;
+		margin-right: 10px;
+		border-bottom: 1px solid #ccc;
+	}
+
 	.about-wrap .feature-section.three-col div {
 		width: 100%;
 		float: none;
@@ -385,4 +443,4 @@
 		width: 100%;
 		float: none;
 	}
-}
\ No newline at end of file
+}
diff --git a/wp-admin/css/admin-menu-rtl.css b/wp-admin/css/admin-menu-rtl.css
index 9b10663db..7ea5ff6ba 100644
--- a/wp-admin/css/admin-menu-rtl.css
+++ b/wp-admin/css/admin-menu-rtl.css
@@ -612,10 +612,10 @@ li#wp-admin-bar-menu-toggle {
 
 
 /* Auto-folding of the admin menu */
-@media only screen and (max-width: 900px) {
+@media only screen and (max-width: 960px) {
 	.auto-fold #wpcontent,
 	.auto-fold #wpfooter {
-		margin-right: 56px;
+		margin-right: 36px;
 	}
 
 	.auto-fold #adminmenuback,
diff --git a/wp-admin/css/admin-menu.css b/wp-admin/css/admin-menu.css
index a0a9f2188..7f317bd33 100644
--- a/wp-admin/css/admin-menu.css
+++ b/wp-admin/css/admin-menu.css
@@ -612,10 +612,10 @@ li#wp-admin-bar-menu-toggle {
 
 
 /* Auto-folding of the admin menu */
-@media only screen and (max-width: 900px) {
+@media only screen and (max-width: 960px) {
 	.auto-fold #wpcontent,
 	.auto-fold #wpfooter {
-		margin-left: 56px;
+		margin-left: 36px;
 	}
 
 	.auto-fold #adminmenuback,
diff --git a/wp-admin/css/color-picker-rtl.css b/wp-admin/css/color-picker-rtl.css
index f95cbc6ef..257ad53fc 100644
--- a/wp-admin/css/color-picker-rtl.css
+++ b/wp-admin/css/color-picker-rtl.css
@@ -47,13 +47,15 @@
 	box-shadow: inset 0 1px 0 #fff;
 }
 
-.wp-color-result:hover {
+.wp-color-result:hover,
+.wp-color-result:focus {
 	background: #fafafa;
 	border-color: #999;
 	color: #222;
 }
 
-.wp-color-result:hover:after {
+.wp-color-result:hover:after,
+.wp-color-result:focus:after {
 	color: #222;
 	border-color: #aaa;
 	border-right: 1px solid #999;
@@ -73,13 +75,12 @@
 }
 
 .wp-color-result:focus {
-	border-color: #888;
-	-webkit-box-shadow: 0 1px 2px rgba( 0, 0, 0, 0.2 );
-	box-shadow: 0 1px 2px rgba( 0, 0, 0, 0.2 );
-}
-
-.wp-color-result:focus:after {
-	border-color: #888;
+	-webkit-box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba( 30, 140, 190, 0.8 );
+	box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba( 30, 140, 190, 0.8 );
 }
 
 .wp-picker-open + .wp-picker-input-wrap {
diff --git a/wp-admin/css/color-picker-rtl.min.css b/wp-admin/css/color-picker-rtl.min.css
index 023eccbab..ee70a9d3f 100644
--- a/wp-admin/css/color-picker-rtl.min.css
+++ b/wp-admin/css/color-picker-rtl.min.css
@@ -1 +1 @@
-.wp-color-picker{width:80px}.wp-picker-container .hidden{display:none}.wp-color-result{background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;cursor:pointer;height:22px;margin:0 0 6px 6px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:bottom;display:inline-block;padding-right:30px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.08);box-shadow:0 1px 0 rgba(0,0,0,.08)}.wp-color-result:after{background:#f7f7f7;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;border-right:1px solid #ccc;color:#555;content:attr(title);display:block;font-size:11px;line-height:22px;padding:0 6px;position:relative;left:0;text-align:center;top:0;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.wp-color-result:hover{background:#fafafa;border-color:#999;color:#222}.wp-color-result:hover:after{color:#222;border-color:#aaa;border-right:1px solid #999}.wp-color-result{top:0}.wp-color-result.wp-picker-open:after{content:attr(data-current)}.wp-picker-container,.wp-picker-container:active{display:inline-block;outline:0}.wp-color-result:focus{border-color:#888;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.wp-color-result:focus:after{border-color:#888}.wp-picker-open+.wp-picker-input-wrap{display:inline-block;vertical-align:top}.wp-picker-container .button{margin-right:6px}.wp-picker-container .iris-square-slider .ui-slider-handle:focus{background-color:#555}.wp-picker-container .iris-picker{-webkit-border-radius:0;border-radius:0;border-color:#dfdfdf;margin-top:6px}.wp-picker-container input[type=text].wp-color-picker{width:65px;font-size:12px;font-family:monospace;text-align:center;line-height:16px;margin:0}.wp-picker-container input[type=text].wp-color-picker:focus::-webkit-input-placeholder{color:transparent}.wp-picker-container input[type=text].wp-color-picker:-moz-placeholder{color:#999}.wp-picker-container input[type=text].iris-error{background-color:#ffebe8;border-color:#c00;color:#000}
\ No newline at end of file
+.wp-color-picker{width:80px}.wp-picker-container .hidden{display:none}.wp-color-result{background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;cursor:pointer;height:22px;margin:0 0 6px 6px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:bottom;display:inline-block;padding-right:30px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.08);box-shadow:0 1px 0 rgba(0,0,0,.08)}.wp-color-result:after{background:#f7f7f7;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;border-right:1px solid #ccc;color:#555;content:attr(title);display:block;font-size:11px;line-height:22px;padding:0 6px;position:relative;left:0;text-align:center;top:0;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.wp-color-result:focus,.wp-color-result:hover{background:#fafafa;border-color:#999;color:#222}.wp-color-result:focus:after,.wp-color-result:hover:after{color:#222;border-color:#aaa;border-right:1px solid #999}.wp-color-result{top:0}.wp-color-result.wp-picker-open:after{content:attr(data-current)}.wp-picker-container,.wp-picker-container:active{display:inline-block;outline:0}.wp-color-result:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-picker-open+.wp-picker-input-wrap{display:inline-block;vertical-align:top}.wp-picker-container .button{margin-right:6px}.wp-picker-container .iris-square-slider .ui-slider-handle:focus{background-color:#555}.wp-picker-container .iris-picker{-webkit-border-radius:0;border-radius:0;border-color:#dfdfdf;margin-top:6px}.wp-picker-container input[type=text].wp-color-picker{width:65px;font-size:12px;font-family:monospace;text-align:center;line-height:16px;margin:0}.wp-picker-container input[type=text].wp-color-picker:focus::-webkit-input-placeholder{color:transparent}.wp-picker-container input[type=text].wp-color-picker:-moz-placeholder{color:#999}.wp-picker-container input[type=text].iris-error{background-color:#ffebe8;border-color:#c00;color:#000}
\ No newline at end of file
diff --git a/wp-admin/css/color-picker.css b/wp-admin/css/color-picker.css
index 1d00d96aa..4229402a6 100644
--- a/wp-admin/css/color-picker.css
+++ b/wp-admin/css/color-picker.css
@@ -47,13 +47,15 @@
 	box-shadow: inset 0 1px 0 #fff;
 }
 
-.wp-color-result:hover {
+.wp-color-result:hover,
+.wp-color-result:focus {
 	background: #fafafa;
 	border-color: #999;
 	color: #222;
 }
 
-.wp-color-result:hover:after {
+.wp-color-result:hover:after,
+.wp-color-result:focus:after {
 	color: #222;
 	border-color: #aaa;
 	border-left: 1px solid #999;
@@ -73,13 +75,12 @@
 }
 
 .wp-color-result:focus {
-	border-color: #888;
-	-webkit-box-shadow: 0 1px 2px rgba( 0, 0, 0, 0.2 );
-	box-shadow: 0 1px 2px rgba( 0, 0, 0, 0.2 );
-}
-
-.wp-color-result:focus:after {
-	border-color: #888;
+	-webkit-box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba( 30, 140, 190, 0.8 );
+	box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba( 30, 140, 190, 0.8 );
 }
 
 .wp-picker-open + .wp-picker-input-wrap {
diff --git a/wp-admin/css/color-picker.min.css b/wp-admin/css/color-picker.min.css
index 8c225dd00..362cb2a5d 100644
--- a/wp-admin/css/color-picker.min.css
+++ b/wp-admin/css/color-picker.min.css
@@ -1 +1 @@
-.wp-color-picker{width:80px}.wp-picker-container .hidden{display:none}.wp-color-result{background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;cursor:pointer;height:22px;margin:0 6px 6px 0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:bottom;display:inline-block;padding-left:30px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.08);box-shadow:0 1px 0 rgba(0,0,0,.08)}.wp-color-result:after{background:#f7f7f7;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;border-left:1px solid #ccc;color:#555;content:attr(title);display:block;font-size:11px;line-height:22px;padding:0 6px;position:relative;right:0;text-align:center;top:0;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.wp-color-result:hover{background:#fafafa;border-color:#999;color:#222}.wp-color-result:hover:after{color:#222;border-color:#aaa;border-left:1px solid #999}.wp-color-result{top:0}.wp-color-result.wp-picker-open:after{content:attr(data-current)}.wp-picker-container,.wp-picker-container:active{display:inline-block;outline:0}.wp-color-result:focus{border-color:#888;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.wp-color-result:focus:after{border-color:#888}.wp-picker-open+.wp-picker-input-wrap{display:inline-block;vertical-align:top}.wp-picker-container .button{margin-left:6px}.wp-picker-container .iris-square-slider .ui-slider-handle:focus{background-color:#555}.wp-picker-container .iris-picker{-webkit-border-radius:0;border-radius:0;border-color:#dfdfdf;margin-top:6px}.wp-picker-container input[type=text].wp-color-picker{width:65px;font-size:12px;font-family:monospace;text-align:center;line-height:16px;margin:0}.wp-picker-container input[type=text].wp-color-picker:focus::-webkit-input-placeholder{color:transparent}.wp-picker-container input[type=text].wp-color-picker:-moz-placeholder{color:#999}.wp-picker-container input[type=text].iris-error{background-color:#ffebe8;border-color:#c00;color:#000}
\ No newline at end of file
+.wp-color-picker{width:80px}.wp-picker-container .hidden{display:none}.wp-color-result{background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;cursor:pointer;height:22px;margin:0 6px 6px 0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:bottom;display:inline-block;padding-left:30px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.08);box-shadow:0 1px 0 rgba(0,0,0,.08)}.wp-color-result:after{background:#f7f7f7;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;border-left:1px solid #ccc;color:#555;content:attr(title);display:block;font-size:11px;line-height:22px;padding:0 6px;position:relative;right:0;text-align:center;top:0;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.wp-color-result:focus,.wp-color-result:hover{background:#fafafa;border-color:#999;color:#222}.wp-color-result:focus:after,.wp-color-result:hover:after{color:#222;border-color:#aaa;border-left:1px solid #999}.wp-color-result{top:0}.wp-color-result.wp-picker-open:after{content:attr(data-current)}.wp-picker-container,.wp-picker-container:active{display:inline-block;outline:0}.wp-color-result:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-picker-open+.wp-picker-input-wrap{display:inline-block;vertical-align:top}.wp-picker-container .button{margin-left:6px}.wp-picker-container .iris-square-slider .ui-slider-handle:focus{background-color:#555}.wp-picker-container .iris-picker{-webkit-border-radius:0;border-radius:0;border-color:#dfdfdf;margin-top:6px}.wp-picker-container input[type=text].wp-color-picker{width:65px;font-size:12px;font-family:monospace;text-align:center;line-height:16px;margin:0}.wp-picker-container input[type=text].wp-color-picker:focus::-webkit-input-placeholder{color:transparent}.wp-picker-container input[type=text].wp-color-picker:-moz-placeholder{color:#999}.wp-picker-container input[type=text].iris-error{background-color:#ffebe8;border-color:#c00;color:#000}
\ No newline at end of file
diff --git a/wp-admin/css/colors/_admin.scss b/wp-admin/css/colors/_admin.scss
index 2ce80049c..032e3a0ac 100644
--- a/wp-admin/css/colors/_admin.scss
+++ b/wp-admin/css/colors/_admin.scss
@@ -400,7 +400,7 @@ ul#adminmenu > li.current > a.current:after {
 }
 
 
-/* Media Uploader */
+/* Media */
 
 .media-item .bar,
 .media-progress-bar div {
@@ -408,7 +408,9 @@ ul#adminmenu > li.current > a.current:after {
 }
 
 .details.attachment {
-	box-shadow: 0 0 0 1px #fff, 0 0 0 5px $highlight-color;
+	box-shadow:
+		inset 0 0 0 3px #fff,
+		inset 0 0 0 7px $highlight-color;
 }
 
 .attachment.details .check {
@@ -416,6 +418,15 @@ ul#adminmenu > li.current > a.current:after {
 	box-shadow: 0 0 0 1px #fff, 0 0 0 2px $highlight-color;
 }
 
+.media-selection .attachment.selection.details .thumbnail {
+	-webkit-box-shadow:
+		0px 0px 0px 1px #fff,
+		0px 0px 0px 3px $highlight-color;
+	box-shadow:
+		0px 0px 0px 1px #fff,
+		0px 0px 0px 3px $highlight-color;
+}
+
 
 /* Themes */
 
@@ -428,28 +439,28 @@ ul#adminmenu > li.current > a.current:after {
 	color: $highlight-color;
 }
 
-.theme-overlay .theme-header .close:hover,
-.theme-overlay .theme-header .right:hover,
-.theme-overlay .theme-header .left:hover {
-	background: $highlight-color;
-}
-
 .theme-section.current,
 .theme-filter.current {
 	border-bottom-color: $menu-background;
 }
 
-body.more-filters-opened .more-filters,
-body.more-filters-opened .more-filters:before {
+body.more-filters-opened .more-filters {
 	color: $menu-text;
 	background-color: $menu-background;
 }
 
+body.more-filters-opened .more-filters:before {
+	color: $menu-text;
+}
+
 body.more-filters-opened .more-filters:hover,
-body.more-filters-opened .more-filters:focus,
+body.more-filters-opened .more-filters:focus {
+	background-color: $menu-highlight-background;
+	color: $menu-highlight-text;
+}
+
 body.more-filters-opened .more-filters:hover:before,
 body.more-filters-opened .more-filters:focus:before {
-	background-color: $menu-highlight-background;
 	color: $menu-highlight-text;
 }
 
@@ -472,7 +483,6 @@ body.more-filters-opened .more-filters:focus:before {
 	color: $menu-highlight-text;
 }
 
-
 /* jQuery UI Slider */
 
 .wp-slider .ui-slider-handle,
diff --git a/wp-admin/css/colors/_mixins.scss b/wp-admin/css/colors/_mixins.scss
index 14db8a501..9c196e0f3 100644
--- a/wp-admin/css/colors/_mixins.scss
+++ b/wp-admin/css/colors/_mixins.scss
@@ -13,14 +13,22 @@
 		background: darken( $button-color, 5% );
 		border-color: darken( $button-color, 15% );
 		color: $text-color;
-		box-shadow: inset 0 1px 0 lighten( $button-color, 10% ), 0 1px 0 rgba(0,0,0,.15);
+		box-shadow: inset 0 1px 0 lighten( $button-color, 10% );
+	}
+
+	&:focus {
+		box-shadow: inset 0 1px 0 lighten( $button-color, 10% ),
+		            0 0 0 1px #5b9dd9,
+		            0 0 2px 1px rgba( 30, 140, 190, .8 );
 	}
 
 	&:active {
 		background: darken( $button-color, 10% );
 		border-color: darken( $button-color, 15% );
 		color: $text-color;
-	 	box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
+	 	box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 ),
+		            0 0 0 1px #5b9dd9,
+		            0 0 2px 1px rgba( 30, 140, 190, .8 );
 	}
 
 	&[disabled],
diff --git a/wp-admin/css/colors/blue/colors-rtl.css b/wp-admin/css/colors/blue/colors-rtl.css
index 515f2b1b9..7eb1e75b6 100644
--- a/wp-admin/css/colors/blue/colors-rtl.css
+++ b/wp-admin/css/colors/blue/colors-rtl.css
@@ -30,19 +30,22 @@ input[type=radio]:checked:before {
   border-color: #d39323;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
     background: #dd9f32;
     border-color: #bd831f;
     color: white;
-    -webkit-box-shadow: inset 0 1px 0 #e8be74, 0 1px 0 rgba(0, 0, 0, 0.15);
-    box-shadow: inset 0 1px 0 #e8be74, 0 1px 0 rgba(0, 0, 0, 0.15); }
+    -webkit-box-shadow: inset 0 1px 0 #e8be74;
+            box-shadow: inset 0 1px 0 #e8be74; }
+  .wp-core-ui .button-primary:focus {
+    -webkit-box-shadow: inset 0 1px 0 #e8be74, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 1px 0 #e8be74, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary:active {
     background: #d39323;
     border-color: #bd831f;
     color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5); }
+    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #d1cdc7 !important;
     background: #db9825 !important;
@@ -254,18 +257,22 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow {
   border-bottom-color: #096484; }
 
-/* Media Uploader */
+/* Media */
 .media-item .bar, .media-progress-bar div {
   background-color: #096484; }
 
 .details.attachment {
-  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #096484;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #096484; }
+  -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #096484;
+          box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #096484; }
 
 .attachment.details .check {
   background-color: #096484;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #096484;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #096484; }
+          box-shadow: 0 0 0 1px #fff, 0 0 0 2px #096484; }
+
+.media-selection .attachment.selection.details .thumbnail {
+  -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #096484;
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #096484; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,20 +281,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-browser .theme.add-new-theme:hover span:after {
   color: #096484; }
 
-.theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
-  background: #096484; }
-
 .theme-section.current, .theme-filter.current {
   border-bottom-color: #52accc; }
 
-body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+body.more-filters-opened .more-filters {
   color: #fff;
   background-color: #52accc; }
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+body.more-filters-opened .more-filters:before {
+  color: #fff; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
   background-color: #096484;
   color: #fff; }
 
+body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  color: #fff; }
+
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #096484;
@@ -306,7 +316,7 @@ body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-fil
   background: #e1a948;
   border-color: #d39323;
   -webkit-box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
 /* Thickbox: Plugin information */
 #sidemenu a.current {
diff --git a/wp-admin/css/colors/blue/colors-rtl.min.css b/wp-admin/css/colors/blue/colors-rtl.min.css
index ca69e7125..979619290 100644
--- a/wp-admin/css/colors/blue/colors-rtl.min.css
+++ b/wp-admin/css/colors/blue/colors-rtl.min.css
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#096484}input[type=radio]:checked:before{background:#096484}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd9f32;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#d39323;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#52accc}.wp-core-ui .wp-ui-text-primary{color:#52accc}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#096484}.wp-core-ui .wp-ui-text-highlight{color:#096484}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#e1a948}.wp-core-ui .wp-ui-text-notification{color:#e1a948}.wp-core-ui .wp-ui-text-icon{color:#e5f8ff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#52accc}.view-switch a.current:before{color:#52accc}.view-switch a:hover:before{color:#e1a948}.post-com-count:hover:after{border-top-color:#52accc}.post-com-count:hover span{color:#fff;background-color:#52accc}strong .post-com-count:after{border-top-color:#e1a948}strong .post-com-count span{background-color:#e1a948}#adminmenu,#adminmenuback,#adminmenuwrap{background:#52accc}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#e5f8ff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#096484}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#4796b3}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#4796b3}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#e2ecf1}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#fff}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#096484}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#e1a948}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#4796b3}#collapse-menu{color:#e5f8ff}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#e5f8ff}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#52accc}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#e5f8ff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#fff;background:#4796b3}#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#4796b3}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#74b7ce}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#e2ecf1}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#e5f8ff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#fff}#wpadminbar #adminbarsearch:before{color:#e5f8ff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6ebad4}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6ebad4;background-color:#6ebad4}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info .username{color:#e2ecf1}.wp-pointer .wp-pointer-content h3{background-color:#096484;border-color:#07536c}.wp-pointer .wp-pointer-content h3:before{color:#096484}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#096484}.media-item .bar,.media-progress-bar div{background-color:#096484}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #096484;box-shadow:0 0 0 1px #fff,0 0 0 5px #096484}.attachment.details .check{background-color:#096484;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #096484;box-shadow:0 0 0 1px #fff,0 0 0 2px #096484}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#096484}.theme-browser .theme.add-new-theme:hover span:after{color:#096484}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#096484}.theme-filter.current,.theme-section.current{border-bottom-color:#52accc}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#52accc}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{background-color:#096484;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#096484;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e1a948;border-color:#d39323;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#e1a948}div#wp-responsive-toggle a:before{color:#e5f8ff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#096484}.star-rating .star{color:#096484}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#4796b3}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#096484}input[type=radio]:checked:before{background:#096484}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd9f32;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74;box-shadow:inset 0 1px 0 #e8be74}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d39323;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#52accc}.wp-core-ui .wp-ui-text-primary{color:#52accc}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#096484}.wp-core-ui .wp-ui-text-highlight{color:#096484}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#e1a948}.wp-core-ui .wp-ui-text-notification{color:#e1a948}.wp-core-ui .wp-ui-text-icon{color:#e5f8ff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#52accc}.view-switch a.current:before{color:#52accc}.view-switch a:hover:before{color:#e1a948}.post-com-count:hover:after{border-top-color:#52accc}.post-com-count:hover span{color:#fff;background-color:#52accc}strong .post-com-count:after{border-top-color:#e1a948}strong .post-com-count span{background-color:#e1a948}#adminmenu,#adminmenuback,#adminmenuwrap{background:#52accc}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#e5f8ff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#096484}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#4796b3}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#4796b3}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#e2ecf1}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#fff}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#096484}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#e1a948}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#4796b3}#collapse-menu{color:#e5f8ff}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#e5f8ff}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#52accc}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#e5f8ff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#fff;background:#4796b3}#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#4796b3}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#74b7ce}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#e2ecf1}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#e5f8ff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#fff}#wpadminbar #adminbarsearch:before{color:#e5f8ff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6ebad4}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6ebad4;background-color:#6ebad4}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info .username{color:#e2ecf1}.wp-pointer .wp-pointer-content h3{background-color:#096484;border-color:#07536c}.wp-pointer .wp-pointer-content h3:before{color:#096484}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#096484}.media-item .bar,.media-progress-bar div{background-color:#096484}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484}.attachment.details .check{background-color:#096484;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #096484;box-shadow:0 0 0 1px #fff,0 0 0 2px #096484}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #096484;box-shadow:0 0 0 1px #fff,0 0 0 3px #096484}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#096484}.theme-browser .theme.add-new-theme:hover span:after{color:#096484}.theme-filter.current,.theme-section.current{border-bottom-color:#52accc}body.more-filters-opened .more-filters{color:#fff;background-color:#52accc}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#096484;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#096484;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#096484;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e1a948;border-color:#d39323;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#e1a948}div#wp-responsive-toggle a:before{color:#e5f8ff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#096484}.star-rating .star{color:#096484}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#4796b3}
\ No newline at end of file
diff --git a/wp-admin/css/colors/blue/colors.css b/wp-admin/css/colors/blue/colors.css
index df2877c08..fc8b05d5b 100644
--- a/wp-admin/css/colors/blue/colors.css
+++ b/wp-admin/css/colors/blue/colors.css
@@ -30,19 +30,22 @@ input[type=radio]:checked:before {
   border-color: #d39323;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
     background: #dd9f32;
     border-color: #bd831f;
     color: white;
-    -webkit-box-shadow: inset 0 1px 0 #e8be74, 0 1px 0 rgba(0, 0, 0, 0.15);
-    box-shadow: inset 0 1px 0 #e8be74, 0 1px 0 rgba(0, 0, 0, 0.15); }
+    -webkit-box-shadow: inset 0 1px 0 #e8be74;
+            box-shadow: inset 0 1px 0 #e8be74; }
+  .wp-core-ui .button-primary:focus {
+    -webkit-box-shadow: inset 0 1px 0 #e8be74, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 1px 0 #e8be74, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary:active {
     background: #d39323;
     border-color: #bd831f;
     color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5); }
+    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #d1cdc7 !important;
     background: #db9825 !important;
@@ -254,18 +257,22 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow {
   border-bottom-color: #096484; }
 
-/* Media Uploader */
+/* Media */
 .media-item .bar, .media-progress-bar div {
   background-color: #096484; }
 
 .details.attachment {
-  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #096484;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #096484; }
+  -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #096484;
+          box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #096484; }
 
 .attachment.details .check {
   background-color: #096484;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #096484;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #096484; }
+          box-shadow: 0 0 0 1px #fff, 0 0 0 2px #096484; }
+
+.media-selection .attachment.selection.details .thumbnail {
+  -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #096484;
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #096484; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,20 +281,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-browser .theme.add-new-theme:hover span:after {
   color: #096484; }
 
-.theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
-  background: #096484; }
-
 .theme-section.current, .theme-filter.current {
   border-bottom-color: #52accc; }
 
-body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+body.more-filters-opened .more-filters {
   color: #fff;
   background-color: #52accc; }
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+body.more-filters-opened .more-filters:before {
+  color: #fff; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
   background-color: #096484;
   color: #fff; }
 
+body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  color: #fff; }
+
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #096484;
@@ -306,7 +316,7 @@ body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-fil
   background: #e1a948;
   border-color: #d39323;
   -webkit-box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
 /* Thickbox: Plugin information */
 #sidemenu a.current {
diff --git a/wp-admin/css/colors/blue/colors.min.css b/wp-admin/css/colors/blue/colors.min.css
index 6907e3730..a6bde243b 100644
--- a/wp-admin/css/colors/blue/colors.min.css
+++ b/wp-admin/css/colors/blue/colors.min.css
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#096484}input[type=radio]:checked:before{background:#096484}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd9f32;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#d39323;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#52accc}.wp-core-ui .wp-ui-text-primary{color:#52accc}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#096484}.wp-core-ui .wp-ui-text-highlight{color:#096484}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#e1a948}.wp-core-ui .wp-ui-text-notification{color:#e1a948}.wp-core-ui .wp-ui-text-icon{color:#e5f8ff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#52accc}.view-switch a.current:before{color:#52accc}.view-switch a:hover:before{color:#e1a948}.post-com-count:hover:after{border-top-color:#52accc}.post-com-count:hover span{color:#fff;background-color:#52accc}strong .post-com-count:after{border-top-color:#e1a948}strong .post-com-count span{background-color:#e1a948}#adminmenu,#adminmenuback,#adminmenuwrap{background:#52accc}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#e5f8ff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#096484}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#4796b3}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#4796b3}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#e2ecf1}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#fff}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#096484}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#e1a948}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#4796b3}#collapse-menu{color:#e5f8ff}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#e5f8ff}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#52accc}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#e5f8ff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#fff;background:#4796b3}#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#4796b3}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#74b7ce}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#e2ecf1}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#e5f8ff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#fff}#wpadminbar #adminbarsearch:before{color:#e5f8ff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6ebad4}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6ebad4;background-color:#6ebad4}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info .username{color:#e2ecf1}.wp-pointer .wp-pointer-content h3{background-color:#096484;border-color:#07536c}.wp-pointer .wp-pointer-content h3:before{color:#096484}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#096484}.media-item .bar,.media-progress-bar div{background-color:#096484}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #096484;box-shadow:0 0 0 1px #fff,0 0 0 5px #096484}.attachment.details .check{background-color:#096484;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #096484;box-shadow:0 0 0 1px #fff,0 0 0 2px #096484}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#096484}.theme-browser .theme.add-new-theme:hover span:after{color:#096484}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#096484}.theme-filter.current,.theme-section.current{border-bottom-color:#52accc}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#52accc}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{background-color:#096484;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#096484;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e1a948;border-color:#d39323;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#e1a948}div#wp-responsive-toggle a:before{color:#e5f8ff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#096484}.star-rating .star{color:#096484}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#4796b3}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#096484}input[type=radio]:checked:before{background:#096484}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd9f32;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74;box-shadow:inset 0 1px 0 #e8be74}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d39323;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#52accc}.wp-core-ui .wp-ui-text-primary{color:#52accc}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#096484}.wp-core-ui .wp-ui-text-highlight{color:#096484}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#e1a948}.wp-core-ui .wp-ui-text-notification{color:#e1a948}.wp-core-ui .wp-ui-text-icon{color:#e5f8ff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#52accc}.view-switch a.current:before{color:#52accc}.view-switch a:hover:before{color:#e1a948}.post-com-count:hover:after{border-top-color:#52accc}.post-com-count:hover span{color:#fff;background-color:#52accc}strong .post-com-count:after{border-top-color:#e1a948}strong .post-com-count span{background-color:#e1a948}#adminmenu,#adminmenuback,#adminmenuwrap{background:#52accc}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#e5f8ff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#096484}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#4796b3}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#4796b3}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#e2ecf1}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#fff}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#096484}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#e1a948}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#4796b3}#collapse-menu{color:#e5f8ff}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#e5f8ff}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#52accc}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#e5f8ff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#fff;background:#4796b3}#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#4796b3}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#74b7ce}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#e2ecf1}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#e5f8ff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#fff}#wpadminbar #adminbarsearch:before{color:#e5f8ff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6ebad4}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6ebad4;background-color:#6ebad4}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info .username{color:#e2ecf1}.wp-pointer .wp-pointer-content h3{background-color:#096484;border-color:#07536c}.wp-pointer .wp-pointer-content h3:before{color:#096484}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#096484}.media-item .bar,.media-progress-bar div{background-color:#096484}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484}.attachment.details .check{background-color:#096484;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #096484;box-shadow:0 0 0 1px #fff,0 0 0 2px #096484}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #096484;box-shadow:0 0 0 1px #fff,0 0 0 3px #096484}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#096484}.theme-browser .theme.add-new-theme:hover span:after{color:#096484}.theme-filter.current,.theme-section.current{border-bottom-color:#52accc}body.more-filters-opened .more-filters{color:#fff;background-color:#52accc}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#096484;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#096484;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#096484;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e1a948;border-color:#d39323;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#e1a948}div#wp-responsive-toggle a:before{color:#e5f8ff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#096484}.star-rating .star{color:#096484}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#4796b3}
\ No newline at end of file
diff --git a/wp-admin/css/colors/coffee/colors-rtl.css b/wp-admin/css/colors/coffee/colors-rtl.css
index a54579d14..653a80dd1 100644
--- a/wp-admin/css/colors/coffee/colors-rtl.css
+++ b/wp-admin/css/colors/coffee/colors-rtl.css
@@ -30,19 +30,22 @@ input[type=radio]:checked:before {
   border-color: #b78a66;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
     background: #bf9878;
     border-color: #ae7d55;
     color: white;
-    -webkit-box-shadow: inset 0 1px 0 #d7bfac, 0 1px 0 rgba(0, 0, 0, 0.15);
-    box-shadow: inset 0 1px 0 #d7bfac, 0 1px 0 rgba(0, 0, 0, 0.15); }
+    -webkit-box-shadow: inset 0 1px 0 #d7bfac;
+            box-shadow: inset 0 1px 0 #d7bfac; }
+  .wp-core-ui .button-primary:focus {
+    -webkit-box-shadow: inset 0 1px 0 #d7bfac, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 1px 0 #d7bfac, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary:active {
     background: #b78a66;
     border-color: #ae7d55;
     color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5); }
+    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #d1cbc7 !important;
     background: #ba906d !important;
@@ -254,18 +257,22 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow {
   border-bottom-color: #c7a589; }
 
-/* Media Uploader */
+/* Media */
 .media-item .bar, .media-progress-bar div {
   background-color: #c7a589; }
 
 .details.attachment {
-  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #c7a589;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #c7a589; }
+  -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #c7a589;
+          box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #c7a589; }
 
 .attachment.details .check {
   background-color: #c7a589;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #c7a589;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #c7a589; }
+          box-shadow: 0 0 0 1px #fff, 0 0 0 2px #c7a589; }
+
+.media-selection .attachment.selection.details .thumbnail {
+  -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #c7a589;
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #c7a589; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,20 +281,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-browser .theme.add-new-theme:hover span:after {
   color: #c7a589; }
 
-.theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
-  background: #c7a589; }
-
 .theme-section.current, .theme-filter.current {
   border-bottom-color: #59524c; }
 
-body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+body.more-filters-opened .more-filters {
   color: #fff;
   background-color: #59524c; }
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+body.more-filters-opened .more-filters:before {
+  color: #fff; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
   background-color: #c7a589;
   color: #fff; }
 
+body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  color: #fff; }
+
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #c7a589;
@@ -306,7 +316,7 @@ body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-fil
   background: #c7a589;
   border-color: #b78a66;
   -webkit-box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
 /* Thickbox: Plugin information */
 #sidemenu a.current {
diff --git a/wp-admin/css/colors/coffee/colors-rtl.min.css b/wp-admin/css/colors/coffee/colors-rtl.min.css
index ed81cb7be..20d4e4938 100644
--- a/wp-admin/css/colors/coffee/colors-rtl.min.css
+++ b/wp-admin/css/colors/coffee/colors-rtl.min.css
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#59524c}input[type=radio]:checked:before{background:#59524c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#c7a589;border-color:#b78a66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#bf9878;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#b78a66;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#59524c}.wp-core-ui .wp-ui-text-primary{color:#59524c}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#c7a589}.wp-core-ui .wp-ui-text-highlight{color:#c7a589}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#9ea476}.wp-core-ui .wp-ui-text-notification{color:#9ea476}.wp-core-ui .wp-ui-text-icon{color:#f3f2f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#59524c}.view-switch a.current:before{color:#59524c}.view-switch a:hover:before{color:#9ea476}.post-com-count:hover:after{border-top-color:#59524c}.post-com-count:hover span{color:#fff;background-color:#59524c}strong .post-com-count:after{border-top-color:#9ea476}strong .post-com-count span{background-color:#9ea476}#adminmenu,#adminmenuback,#adminmenuwrap{background:#59524c}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f2f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#c7a589}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#46403c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#46403c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cdcbc9}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#c7a589}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#c7a589}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#c7a589}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#9ea476}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#46403c}#collapse-menu{color:#f3f2f1}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f3f2f1}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#59524c}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f2f1}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#c7a589;background:#46403c}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#c7a589}#wpadminbar .menupop .ab-sub-wrapper{background:#46403c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#656463}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#cdcbc9}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f2f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#c7a589}#wpadminbar #adminbarsearch:before{color:#f3f2f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6c645c}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6c645c;background-color:#6c645c}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#c7a589}#wpadminbar #wp-admin-bar-user-info .username{color:#cdcbc9}.wp-pointer .wp-pointer-content h3{background-color:#c7a589;border-color:#bf9878}.wp-pointer .wp-pointer-content h3:before{color:#c7a589}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#c7a589}.media-item .bar,.media-progress-bar div{background-color:#c7a589}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 5px #c7a589}.attachment.details .check{background-color:#c7a589;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#c7a589}.theme-browser .theme.add-new-theme:hover span:after{color:#c7a589}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#c7a589}.theme-filter.current,.theme-section.current{border-bottom-color:#59524c}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#59524c}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{background-color:#c7a589;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#c7a589;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#c7a589;border-color:#b78a66;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#c7a589}div#wp-responsive-toggle a:before{color:#f3f2f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#c7a589}.star-rating .star{color:#c7a589}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#46403c}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#59524c}input[type=radio]:checked:before{background:#59524c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#c7a589;border-color:#b78a66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#bf9878;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac;box-shadow:inset 0 1px 0 #d7bfac}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#b78a66;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#59524c}.wp-core-ui .wp-ui-text-primary{color:#59524c}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#c7a589}.wp-core-ui .wp-ui-text-highlight{color:#c7a589}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#9ea476}.wp-core-ui .wp-ui-text-notification{color:#9ea476}.wp-core-ui .wp-ui-text-icon{color:#f3f2f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#59524c}.view-switch a.current:before{color:#59524c}.view-switch a:hover:before{color:#9ea476}.post-com-count:hover:after{border-top-color:#59524c}.post-com-count:hover span{color:#fff;background-color:#59524c}strong .post-com-count:after{border-top-color:#9ea476}strong .post-com-count span{background-color:#9ea476}#adminmenu,#adminmenuback,#adminmenuwrap{background:#59524c}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f2f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#c7a589}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#46403c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#46403c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cdcbc9}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#c7a589}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#c7a589}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#c7a589}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#9ea476}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#46403c}#collapse-menu{color:#f3f2f1}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f3f2f1}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#59524c}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f2f1}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#c7a589;background:#46403c}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#c7a589}#wpadminbar .menupop .ab-sub-wrapper{background:#46403c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#656463}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#cdcbc9}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f2f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#c7a589}#wpadminbar #adminbarsearch:before{color:#f3f2f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6c645c}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6c645c;background-color:#6c645c}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#c7a589}#wpadminbar #wp-admin-bar-user-info .username{color:#cdcbc9}.wp-pointer .wp-pointer-content h3{background-color:#c7a589;border-color:#bf9878}.wp-pointer .wp-pointer-content h3:before{color:#c7a589}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#c7a589}.media-item .bar,.media-progress-bar div{background-color:#c7a589}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589}.attachment.details .check{background-color:#c7a589;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#c7a589}.theme-browser .theme.add-new-theme:hover span:after{color:#c7a589}.theme-filter.current,.theme-section.current{border-bottom-color:#59524c}body.more-filters-opened .more-filters{color:#fff;background-color:#59524c}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#c7a589;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#c7a589;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#c7a589;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#c7a589;border-color:#b78a66;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#c7a589}div#wp-responsive-toggle a:before{color:#f3f2f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#c7a589}.star-rating .star{color:#c7a589}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#46403c}
\ No newline at end of file
diff --git a/wp-admin/css/colors/coffee/colors.css b/wp-admin/css/colors/coffee/colors.css
index 281a17ea2..3fd812e65 100644
--- a/wp-admin/css/colors/coffee/colors.css
+++ b/wp-admin/css/colors/coffee/colors.css
@@ -30,19 +30,22 @@ input[type=radio]:checked:before {
   border-color: #b78a66;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
     background: #bf9878;
     border-color: #ae7d55;
     color: white;
-    -webkit-box-shadow: inset 0 1px 0 #d7bfac, 0 1px 0 rgba(0, 0, 0, 0.15);
-    box-shadow: inset 0 1px 0 #d7bfac, 0 1px 0 rgba(0, 0, 0, 0.15); }
+    -webkit-box-shadow: inset 0 1px 0 #d7bfac;
+            box-shadow: inset 0 1px 0 #d7bfac; }
+  .wp-core-ui .button-primary:focus {
+    -webkit-box-shadow: inset 0 1px 0 #d7bfac, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 1px 0 #d7bfac, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary:active {
     background: #b78a66;
     border-color: #ae7d55;
     color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5); }
+    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #d1cbc7 !important;
     background: #ba906d !important;
@@ -254,18 +257,22 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow {
   border-bottom-color: #c7a589; }
 
-/* Media Uploader */
+/* Media */
 .media-item .bar, .media-progress-bar div {
   background-color: #c7a589; }
 
 .details.attachment {
-  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #c7a589;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #c7a589; }
+  -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #c7a589;
+          box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #c7a589; }
 
 .attachment.details .check {
   background-color: #c7a589;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #c7a589;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #c7a589; }
+          box-shadow: 0 0 0 1px #fff, 0 0 0 2px #c7a589; }
+
+.media-selection .attachment.selection.details .thumbnail {
+  -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #c7a589;
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #c7a589; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,20 +281,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-browser .theme.add-new-theme:hover span:after {
   color: #c7a589; }
 
-.theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
-  background: #c7a589; }
-
 .theme-section.current, .theme-filter.current {
   border-bottom-color: #59524c; }
 
-body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+body.more-filters-opened .more-filters {
   color: #fff;
   background-color: #59524c; }
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+body.more-filters-opened .more-filters:before {
+  color: #fff; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
   background-color: #c7a589;
   color: #fff; }
 
+body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  color: #fff; }
+
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #c7a589;
@@ -306,7 +316,7 @@ body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-fil
   background: #c7a589;
   border-color: #b78a66;
   -webkit-box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
 /* Thickbox: Plugin information */
 #sidemenu a.current {
diff --git a/wp-admin/css/colors/coffee/colors.min.css b/wp-admin/css/colors/coffee/colors.min.css
index bd3ef54b2..1272763b0 100644
--- a/wp-admin/css/colors/coffee/colors.min.css
+++ b/wp-admin/css/colors/coffee/colors.min.css
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#59524c}input[type=radio]:checked:before{background:#59524c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#c7a589;border-color:#b78a66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#bf9878;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#b78a66;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#59524c}.wp-core-ui .wp-ui-text-primary{color:#59524c}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#c7a589}.wp-core-ui .wp-ui-text-highlight{color:#c7a589}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#9ea476}.wp-core-ui .wp-ui-text-notification{color:#9ea476}.wp-core-ui .wp-ui-text-icon{color:#f3f2f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#59524c}.view-switch a.current:before{color:#59524c}.view-switch a:hover:before{color:#9ea476}.post-com-count:hover:after{border-top-color:#59524c}.post-com-count:hover span{color:#fff;background-color:#59524c}strong .post-com-count:after{border-top-color:#9ea476}strong .post-com-count span{background-color:#9ea476}#adminmenu,#adminmenuback,#adminmenuwrap{background:#59524c}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f2f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#c7a589}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#46403c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#46403c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cdcbc9}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#c7a589}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#c7a589}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#c7a589}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#9ea476}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#46403c}#collapse-menu{color:#f3f2f1}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f3f2f1}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#59524c}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f2f1}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#c7a589;background:#46403c}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#c7a589}#wpadminbar .menupop .ab-sub-wrapper{background:#46403c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#656463}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#cdcbc9}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f2f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#c7a589}#wpadminbar #adminbarsearch:before{color:#f3f2f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6c645c}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6c645c;background-color:#6c645c}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#c7a589}#wpadminbar #wp-admin-bar-user-info .username{color:#cdcbc9}.wp-pointer .wp-pointer-content h3{background-color:#c7a589;border-color:#bf9878}.wp-pointer .wp-pointer-content h3:before{color:#c7a589}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#c7a589}.media-item .bar,.media-progress-bar div{background-color:#c7a589}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 5px #c7a589}.attachment.details .check{background-color:#c7a589;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#c7a589}.theme-browser .theme.add-new-theme:hover span:after{color:#c7a589}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#c7a589}.theme-filter.current,.theme-section.current{border-bottom-color:#59524c}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#59524c}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{background-color:#c7a589;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#c7a589;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#c7a589;border-color:#b78a66;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#c7a589}div#wp-responsive-toggle a:before{color:#f3f2f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#c7a589}.star-rating .star{color:#c7a589}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#46403c}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#59524c}input[type=radio]:checked:before{background:#59524c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#c7a589;border-color:#b78a66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#bf9878;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac;box-shadow:inset 0 1px 0 #d7bfac}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#b78a66;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#59524c}.wp-core-ui .wp-ui-text-primary{color:#59524c}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#c7a589}.wp-core-ui .wp-ui-text-highlight{color:#c7a589}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#9ea476}.wp-core-ui .wp-ui-text-notification{color:#9ea476}.wp-core-ui .wp-ui-text-icon{color:#f3f2f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#59524c}.view-switch a.current:before{color:#59524c}.view-switch a:hover:before{color:#9ea476}.post-com-count:hover:after{border-top-color:#59524c}.post-com-count:hover span{color:#fff;background-color:#59524c}strong .post-com-count:after{border-top-color:#9ea476}strong .post-com-count span{background-color:#9ea476}#adminmenu,#adminmenuback,#adminmenuwrap{background:#59524c}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f2f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#c7a589}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#46403c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#46403c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cdcbc9}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#c7a589}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#c7a589}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#c7a589}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#9ea476}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#46403c}#collapse-menu{color:#f3f2f1}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f3f2f1}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#59524c}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f2f1}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#c7a589;background:#46403c}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#c7a589}#wpadminbar .menupop .ab-sub-wrapper{background:#46403c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#656463}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#cdcbc9}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f2f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#c7a589}#wpadminbar #adminbarsearch:before{color:#f3f2f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6c645c}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6c645c;background-color:#6c645c}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#c7a589}#wpadminbar #wp-admin-bar-user-info .username{color:#cdcbc9}.wp-pointer .wp-pointer-content h3{background-color:#c7a589;border-color:#bf9878}.wp-pointer .wp-pointer-content h3:before{color:#c7a589}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#c7a589}.media-item .bar,.media-progress-bar div{background-color:#c7a589}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589}.attachment.details .check{background-color:#c7a589;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#c7a589}.theme-browser .theme.add-new-theme:hover span:after{color:#c7a589}.theme-filter.current,.theme-section.current{border-bottom-color:#59524c}body.more-filters-opened .more-filters{color:#fff;background-color:#59524c}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#c7a589;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#c7a589;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#c7a589;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#c7a589;border-color:#b78a66;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#c7a589}div#wp-responsive-toggle a:before{color:#f3f2f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#c7a589}.star-rating .star{color:#c7a589}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#46403c}
\ No newline at end of file
diff --git a/wp-admin/css/colors/ectoplasm/colors-rtl.css b/wp-admin/css/colors/ectoplasm/colors-rtl.css
index 73eb510d2..f060a88aa 100644
--- a/wp-admin/css/colors/ectoplasm/colors-rtl.css
+++ b/wp-admin/css/colors/ectoplasm/colors-rtl.css
@@ -30,19 +30,22 @@ input[type=radio]:checked:before {
   border-color: #839237;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
     background: #93a43e;
     border-color: #727f30;
     color: white;
-    -webkit-box-shadow: inset 0 1px 0 #b7c669, 0 1px 0 rgba(0, 0, 0, 0.15);
-    box-shadow: inset 0 1px 0 #b7c669, 0 1px 0 rgba(0, 0, 0, 0.15); }
+    -webkit-box-shadow: inset 0 1px 0 #b7c669;
+            box-shadow: inset 0 1px 0 #b7c669; }
+  .wp-core-ui .button-primary:focus {
+    -webkit-box-shadow: inset 0 1px 0 #b7c669, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 1px 0 #b7c669, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary:active {
     background: #839237;
     border-color: #727f30;
     color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5); }
+    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #cfd1c7 !important;
     background: #89993a !important;
@@ -254,18 +257,22 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow {
   border-bottom-color: #a3b745; }
 
-/* Media Uploader */
+/* Media */
 .media-item .bar, .media-progress-bar div {
   background-color: #a3b745; }
 
 .details.attachment {
-  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #a3b745;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #a3b745; }
+  -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #a3b745;
+          box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #a3b745; }
 
 .attachment.details .check {
   background-color: #a3b745;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #a3b745;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #a3b745; }
+          box-shadow: 0 0 0 1px #fff, 0 0 0 2px #a3b745; }
+
+.media-selection .attachment.selection.details .thumbnail {
+  -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #a3b745;
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #a3b745; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,20 +281,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-browser .theme.add-new-theme:hover span:after {
   color: #a3b745; }
 
-.theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
-  background: #a3b745; }
-
 .theme-section.current, .theme-filter.current {
   border-bottom-color: #523f6d; }
 
-body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+body.more-filters-opened .more-filters {
   color: #fff;
   background-color: #523f6d; }
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+body.more-filters-opened .more-filters:before {
+  color: #fff; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
   background-color: #a3b745;
   color: #fff; }
 
+body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  color: #fff; }
+
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #a3b745;
@@ -306,7 +316,7 @@ body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-fil
   background: #a3b745;
   border-color: #839237;
   -webkit-box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
 /* Thickbox: Plugin information */
 #sidemenu a.current {
diff --git a/wp-admin/css/colors/ectoplasm/colors-rtl.min.css b/wp-admin/css/colors/ectoplasm/colors-rtl.min.css
index 2f6433e7f..3ab7e8325 100644
--- a/wp-admin/css/colors/ectoplasm/colors-rtl.min.css
+++ b/wp-admin/css/colors/ectoplasm/colors-rtl.min.css
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#523f6d}input[type=radio]:checked:before{background:#523f6d}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#93a43e;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#839237;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#523f6d}.wp-core-ui .wp-ui-text-primary{color:#523f6d}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#a3b745}.wp-core-ui .wp-ui-text-highlight{color:#a3b745}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d46f15}.wp-core-ui .wp-ui-text-notification{color:#d46f15}.wp-core-ui .wp-ui-text-icon{color:#ece6f6}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#523f6d}.view-switch a.current:before{color:#523f6d}.view-switch a:hover:before{color:#d46f15}.post-com-count:hover:after{border-top-color:#523f6d}.post-com-count:hover span{color:#fff;background-color:#523f6d}strong .post-com-count:after{border-top-color:#d46f15}strong .post-com-count span{background-color:#d46f15}#adminmenu,#adminmenuback,#adminmenuwrap{background:#523f6d}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#ece6f6}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#a3b745}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#413256}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#413256}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cbc5d3}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#a3b745}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#a3b745}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#a3b745}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d46f15}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#413256}#collapse-menu{color:#ece6f6}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#ece6f6}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#523f6d}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#ece6f6}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#a3b745;background:#413256}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#a3b745}#wpadminbar .menupop .ab-sub-wrapper{background:#413256}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#64537c}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#cbc5d3}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#ece6f6}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#a3b745}#wpadminbar #adminbarsearch:before{color:#ece6f6}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#624c84}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#624c84;background-color:#624c84}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#a3b745}#wpadminbar #wp-admin-bar-user-info .username{color:#cbc5d3}.wp-pointer .wp-pointer-content h3{background-color:#a3b745;border-color:#93a43e}.wp-pointer .wp-pointer-content h3:before{color:#a3b745}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#a3b745}.media-item .bar,.media-progress-bar div{background-color:#a3b745}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 5px #a3b745}.attachment.details .check{background-color:#a3b745;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#a3b745}.theme-browser .theme.add-new-theme:hover span:after{color:#a3b745}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#a3b745}.theme-filter.current,.theme-section.current{border-bottom-color:#523f6d}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#523f6d}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{background-color:#a3b745;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#a3b745;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#a3b745;border-color:#839237;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#a3b745}div#wp-responsive-toggle a:before{color:#ece6f6}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#a3b745}.star-rating .star{color:#a3b745}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#413256}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#523f6d}input[type=radio]:checked:before{background:#523f6d}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#93a43e;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b7c669;box-shadow:inset 0 1px 0 #b7c669}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #b7c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #b7c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#839237;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#523f6d}.wp-core-ui .wp-ui-text-primary{color:#523f6d}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#a3b745}.wp-core-ui .wp-ui-text-highlight{color:#a3b745}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d46f15}.wp-core-ui .wp-ui-text-notification{color:#d46f15}.wp-core-ui .wp-ui-text-icon{color:#ece6f6}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#523f6d}.view-switch a.current:before{color:#523f6d}.view-switch a:hover:before{color:#d46f15}.post-com-count:hover:after{border-top-color:#523f6d}.post-com-count:hover span{color:#fff;background-color:#523f6d}strong .post-com-count:after{border-top-color:#d46f15}strong .post-com-count span{background-color:#d46f15}#adminmenu,#adminmenuback,#adminmenuwrap{background:#523f6d}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#ece6f6}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#a3b745}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#413256}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#413256}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cbc5d3}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#a3b745}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#a3b745}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#a3b745}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d46f15}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#413256}#collapse-menu{color:#ece6f6}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#ece6f6}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#523f6d}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#ece6f6}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#a3b745;background:#413256}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#a3b745}#wpadminbar .menupop .ab-sub-wrapper{background:#413256}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#64537c}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#cbc5d3}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#ece6f6}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#a3b745}#wpadminbar #adminbarsearch:before{color:#ece6f6}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#624c84}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#624c84;background-color:#624c84}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#a3b745}#wpadminbar #wp-admin-bar-user-info .username{color:#cbc5d3}.wp-pointer .wp-pointer-content h3{background-color:#a3b745;border-color:#93a43e}.wp-pointer .wp-pointer-content h3:before{color:#a3b745}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#a3b745}.media-item .bar,.media-progress-bar div{background-color:#a3b745}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745}.attachment.details .check{background-color:#a3b745;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#a3b745}.theme-browser .theme.add-new-theme:hover span:after{color:#a3b745}.theme-filter.current,.theme-section.current{border-bottom-color:#523f6d}body.more-filters-opened .more-filters{color:#fff;background-color:#523f6d}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#a3b745;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#a3b745;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#a3b745;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#a3b745;border-color:#839237;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#a3b745}div#wp-responsive-toggle a:before{color:#ece6f6}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#a3b745}.star-rating .star{color:#a3b745}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#413256}
\ No newline at end of file
diff --git a/wp-admin/css/colors/ectoplasm/colors.css b/wp-admin/css/colors/ectoplasm/colors.css
index cc319a890..d3566ce84 100644
--- a/wp-admin/css/colors/ectoplasm/colors.css
+++ b/wp-admin/css/colors/ectoplasm/colors.css
@@ -30,19 +30,22 @@ input[type=radio]:checked:before {
   border-color: #839237;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
     background: #93a43e;
     border-color: #727f30;
     color: white;
-    -webkit-box-shadow: inset 0 1px 0 #b7c669, 0 1px 0 rgba(0, 0, 0, 0.15);
-    box-shadow: inset 0 1px 0 #b7c669, 0 1px 0 rgba(0, 0, 0, 0.15); }
+    -webkit-box-shadow: inset 0 1px 0 #b7c669;
+            box-shadow: inset 0 1px 0 #b7c669; }
+  .wp-core-ui .button-primary:focus {
+    -webkit-box-shadow: inset 0 1px 0 #b7c669, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 1px 0 #b7c669, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary:active {
     background: #839237;
     border-color: #727f30;
     color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5); }
+    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #cfd1c7 !important;
     background: #89993a !important;
@@ -254,18 +257,22 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow {
   border-bottom-color: #a3b745; }
 
-/* Media Uploader */
+/* Media */
 .media-item .bar, .media-progress-bar div {
   background-color: #a3b745; }
 
 .details.attachment {
-  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #a3b745;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #a3b745; }
+  -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #a3b745;
+          box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #a3b745; }
 
 .attachment.details .check {
   background-color: #a3b745;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #a3b745;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #a3b745; }
+          box-shadow: 0 0 0 1px #fff, 0 0 0 2px #a3b745; }
+
+.media-selection .attachment.selection.details .thumbnail {
+  -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #a3b745;
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #a3b745; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,20 +281,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-browser .theme.add-new-theme:hover span:after {
   color: #a3b745; }
 
-.theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
-  background: #a3b745; }
-
 .theme-section.current, .theme-filter.current {
   border-bottom-color: #523f6d; }
 
-body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+body.more-filters-opened .more-filters {
   color: #fff;
   background-color: #523f6d; }
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+body.more-filters-opened .more-filters:before {
+  color: #fff; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
   background-color: #a3b745;
   color: #fff; }
 
+body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  color: #fff; }
+
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #a3b745;
@@ -306,7 +316,7 @@ body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-fil
   background: #a3b745;
   border-color: #839237;
   -webkit-box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
 /* Thickbox: Plugin information */
 #sidemenu a.current {
diff --git a/wp-admin/css/colors/ectoplasm/colors.min.css b/wp-admin/css/colors/ectoplasm/colors.min.css
index f99f8719d..82e28b49d 100644
--- a/wp-admin/css/colors/ectoplasm/colors.min.css
+++ b/wp-admin/css/colors/ectoplasm/colors.min.css
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#523f6d}input[type=radio]:checked:before{background:#523f6d}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#93a43e;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#839237;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#523f6d}.wp-core-ui .wp-ui-text-primary{color:#523f6d}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#a3b745}.wp-core-ui .wp-ui-text-highlight{color:#a3b745}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d46f15}.wp-core-ui .wp-ui-text-notification{color:#d46f15}.wp-core-ui .wp-ui-text-icon{color:#ece6f6}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#523f6d}.view-switch a.current:before{color:#523f6d}.view-switch a:hover:before{color:#d46f15}.post-com-count:hover:after{border-top-color:#523f6d}.post-com-count:hover span{color:#fff;background-color:#523f6d}strong .post-com-count:after{border-top-color:#d46f15}strong .post-com-count span{background-color:#d46f15}#adminmenu,#adminmenuback,#adminmenuwrap{background:#523f6d}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#ece6f6}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#a3b745}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#413256}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#413256}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cbc5d3}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#a3b745}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#a3b745}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#a3b745}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d46f15}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#413256}#collapse-menu{color:#ece6f6}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#ece6f6}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#523f6d}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#ece6f6}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#a3b745;background:#413256}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#a3b745}#wpadminbar .menupop .ab-sub-wrapper{background:#413256}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#64537c}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#cbc5d3}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#ece6f6}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#a3b745}#wpadminbar #adminbarsearch:before{color:#ece6f6}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#624c84}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#624c84;background-color:#624c84}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#a3b745}#wpadminbar #wp-admin-bar-user-info .username{color:#cbc5d3}.wp-pointer .wp-pointer-content h3{background-color:#a3b745;border-color:#93a43e}.wp-pointer .wp-pointer-content h3:before{color:#a3b745}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#a3b745}.media-item .bar,.media-progress-bar div{background-color:#a3b745}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 5px #a3b745}.attachment.details .check{background-color:#a3b745;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#a3b745}.theme-browser .theme.add-new-theme:hover span:after{color:#a3b745}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#a3b745}.theme-filter.current,.theme-section.current{border-bottom-color:#523f6d}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#523f6d}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{background-color:#a3b745;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#a3b745;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#a3b745;border-color:#839237;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#a3b745}div#wp-responsive-toggle a:before{color:#ece6f6}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#a3b745}.star-rating .star{color:#a3b745}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#413256}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#523f6d}input[type=radio]:checked:before{background:#523f6d}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#93a43e;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b7c669;box-shadow:inset 0 1px 0 #b7c669}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #b7c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #b7c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#839237;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#523f6d}.wp-core-ui .wp-ui-text-primary{color:#523f6d}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#a3b745}.wp-core-ui .wp-ui-text-highlight{color:#a3b745}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d46f15}.wp-core-ui .wp-ui-text-notification{color:#d46f15}.wp-core-ui .wp-ui-text-icon{color:#ece6f6}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#523f6d}.view-switch a.current:before{color:#523f6d}.view-switch a:hover:before{color:#d46f15}.post-com-count:hover:after{border-top-color:#523f6d}.post-com-count:hover span{color:#fff;background-color:#523f6d}strong .post-com-count:after{border-top-color:#d46f15}strong .post-com-count span{background-color:#d46f15}#adminmenu,#adminmenuback,#adminmenuwrap{background:#523f6d}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#ece6f6}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#a3b745}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#413256}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#413256}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cbc5d3}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#a3b745}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#a3b745}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#a3b745}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d46f15}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#413256}#collapse-menu{color:#ece6f6}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#ece6f6}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#523f6d}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#ece6f6}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#a3b745;background:#413256}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#a3b745}#wpadminbar .menupop .ab-sub-wrapper{background:#413256}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#64537c}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#cbc5d3}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#ece6f6}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#a3b745}#wpadminbar #adminbarsearch:before{color:#ece6f6}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#624c84}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#624c84;background-color:#624c84}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#a3b745}#wpadminbar #wp-admin-bar-user-info .username{color:#cbc5d3}.wp-pointer .wp-pointer-content h3{background-color:#a3b745;border-color:#93a43e}.wp-pointer .wp-pointer-content h3:before{color:#a3b745}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#a3b745}.media-item .bar,.media-progress-bar div{background-color:#a3b745}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745}.attachment.details .check{background-color:#a3b745;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#a3b745}.theme-browser .theme.add-new-theme:hover span:after{color:#a3b745}.theme-filter.current,.theme-section.current{border-bottom-color:#523f6d}body.more-filters-opened .more-filters{color:#fff;background-color:#523f6d}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#a3b745;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#a3b745;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#a3b745;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#a3b745;border-color:#839237;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#a3b745}div#wp-responsive-toggle a:before{color:#ece6f6}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#a3b745}.star-rating .star{color:#a3b745}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#413256}
\ No newline at end of file
diff --git a/wp-admin/css/colors/light/colors-rtl.css b/wp-admin/css/colors/light/colors-rtl.css
index bdb778d03..a8bb6154b 100644
--- a/wp-admin/css/colors/light/colors-rtl.css
+++ b/wp-admin/css/colors/light/colors-rtl.css
@@ -30,19 +30,22 @@ input[type=radio]:checked:before {
   border-color: #037c9a;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
     background: #0490b3;
     border-color: #036881;
     color: white;
-    -webkit-box-shadow: inset 0 1px 0 #09cafa, 0 1px 0 rgba(0, 0, 0, 0.15);
-    box-shadow: inset 0 1px 0 #09cafa, 0 1px 0 rgba(0, 0, 0, 0.15); }
+    -webkit-box-shadow: inset 0 1px 0 #09cafa;
+            box-shadow: inset 0 1px 0 #09cafa; }
+  .wp-core-ui .button-primary:focus {
+    -webkit-box-shadow: inset 0 1px 0 #09cafa, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 1px 0 #09cafa, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary:active {
     background: #037c9a;
     border-color: #036881;
     color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5); }
+    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #c7cfd1 !important;
     background: #0384a4 !important;
@@ -254,18 +257,22 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow {
   border-bottom-color: #04a4cc; }
 
-/* Media Uploader */
+/* Media */
 .media-item .bar, .media-progress-bar div {
   background-color: #04a4cc; }
 
 .details.attachment {
-  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #04a4cc;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #04a4cc; }
+  -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #04a4cc;
+          box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #04a4cc; }
 
 .attachment.details .check {
   background-color: #04a4cc;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #04a4cc;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #04a4cc; }
+          box-shadow: 0 0 0 1px #fff, 0 0 0 2px #04a4cc; }
+
+.media-selection .attachment.selection.details .thumbnail {
+  -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #04a4cc;
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #04a4cc; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,20 +281,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-browser .theme.add-new-theme:hover span:after {
   color: #04a4cc; }
 
-.theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
-  background: #04a4cc; }
-
 .theme-section.current, .theme-filter.current {
   border-bottom-color: #e5e5e5; }
 
-body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+body.more-filters-opened .more-filters {
   color: #333;
   background-color: #e5e5e5; }
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+body.more-filters-opened .more-filters:before {
+  color: #333; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
   background-color: #888;
   color: #fff; }
 
+body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  color: #fff; }
+
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #888;
@@ -306,7 +316,7 @@ body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-fil
   background: #04a4cc;
   border-color: #037c9a;
   -webkit-box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
 /* Thickbox: Plugin information */
 #sidemenu a.current {
diff --git a/wp-admin/css/colors/light/colors-rtl.min.css b/wp-admin/css/colors/light/colors-rtl.min.css
index b0519d1cf..81d93fba5 100644
--- a/wp-admin/css/colors/light/colors-rtl.min.css
+++ b/wp-admin/css/colors/light/colors-rtl.min.css
@@ -1 +1 @@
-html{background:#f5f5f5}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#04a4cc}input[type=radio]:checked:before{background:#04a4cc}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#0490b3;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#037c9a;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#333;background-color:#e5e5e5}.wp-core-ui .wp-ui-text-primary{color:#e5e5e5}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#888}.wp-core-ui .wp-ui-text-highlight{color:#888}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d64e07}.wp-core-ui .wp-ui-text-notification{color:#d64e07}.wp-core-ui .wp-ui-text-icon{color:#999}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#333;background-color:#e5e5e5}.view-switch a.current:before{color:#e5e5e5}.view-switch a:hover:before{color:#d64e07}.post-com-count:hover:after{border-top-color:#e5e5e5}.post-com-count:hover span{color:#333;background-color:#e5e5e5}strong .post-com-count:after{border-top-color:#d64e07}strong .post-com-count span{background-color:#d64e07}#adminmenu,#adminmenuback,#adminmenuwrap{background:#e5e5e5}#adminmenu a{color:#333}#adminmenu div.wp-menu-image:before{color:#999}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#888}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#ccc}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f5f5f5;border-bottom-color:#f5f5f5}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#fff}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#fff}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#686868}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#04a4cc}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#333}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#04a4cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f5f5f5}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#888}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#ccc}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d64e07}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#333;background:#fff}#collapse-menu{color:#777}#collapse-menu:hover{color:#333}#collapse-button div:after{color:#999}#collapse-menu:hover #collapse-button div:after{color:#555}#wpadminbar{color:#333;background:#e5e5e5}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#333}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#999}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#fff}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#04a4cc}#wpadminbar .menupop .ab-sub-wrapper{background:#fff}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#f6f7f7}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#686868}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#999}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#04a4cc}#wpadminbar #adminbarsearch:before{color:#999}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#333;background:#f7f7f7}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#333;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#f7f7f7;background-color:#f7f7f7}#wpadminbar #wp-admin-bar-user-info .display-name{color:#333}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#04a4cc}#wpadminbar #wp-admin-bar-user-info .username{color:#686868}.wp-pointer .wp-pointer-content h3{background-color:#04a4cc;border-color:#0490b3}.wp-pointer .wp-pointer-content h3:before{color:#04a4cc}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#04a4cc}.media-item .bar,.media-progress-bar div{background-color:#04a4cc}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 5px #04a4cc}.attachment.details .check{background-color:#04a4cc;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#04a4cc}.theme-browser .theme.add-new-theme:hover span:after{color:#04a4cc}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#04a4cc}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#333;background-color:#e5e5e5}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{background-color:#888;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#888;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#04a4cc;border-color:#037c9a;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f5f5f5;border-bottom-color:#f5f5f5}#plugin-information .action-button{background:#04a4cc}div#wp-responsive-toggle a:before{color:#999}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#888}.star-rating .star{color:#04a4cc}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#fff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default li:hover span.ab-label,#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary li.hover span.ab-label{color:#333}.theme-filter.current,.theme-section.current{border-bottom-color:#04a4cc}
\ No newline at end of file
+html{background:#f5f5f5}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#04a4cc}input[type=radio]:checked:before{background:#04a4cc}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#0490b3;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa;box-shadow:inset 0 1px 0 #09cafa}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#037c9a;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#333;background-color:#e5e5e5}.wp-core-ui .wp-ui-text-primary{color:#e5e5e5}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#888}.wp-core-ui .wp-ui-text-highlight{color:#888}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d64e07}.wp-core-ui .wp-ui-text-notification{color:#d64e07}.wp-core-ui .wp-ui-text-icon{color:#999}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#333;background-color:#e5e5e5}.view-switch a.current:before{color:#e5e5e5}.view-switch a:hover:before{color:#d64e07}.post-com-count:hover:after{border-top-color:#e5e5e5}.post-com-count:hover span{color:#333;background-color:#e5e5e5}strong .post-com-count:after{border-top-color:#d64e07}strong .post-com-count span{background-color:#d64e07}#adminmenu,#adminmenuback,#adminmenuwrap{background:#e5e5e5}#adminmenu a{color:#333}#adminmenu div.wp-menu-image:before{color:#999}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#888}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#ccc}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f5f5f5;border-bottom-color:#f5f5f5}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#fff}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#fff}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#686868}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#04a4cc}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#333}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#04a4cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f5f5f5}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#888}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#ccc}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d64e07}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#333;background:#fff}#collapse-menu{color:#777}#collapse-menu:hover{color:#333}#collapse-button div:after{color:#999}#collapse-menu:hover #collapse-button div:after{color:#555}#wpadminbar{color:#333;background:#e5e5e5}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#333}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#999}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#fff}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#04a4cc}#wpadminbar .menupop .ab-sub-wrapper{background:#fff}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#f6f7f7}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#686868}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#999}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#04a4cc}#wpadminbar #adminbarsearch:before{color:#999}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#333;background:#f7f7f7}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#333;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#f7f7f7;background-color:#f7f7f7}#wpadminbar #wp-admin-bar-user-info .display-name{color:#333}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#04a4cc}#wpadminbar #wp-admin-bar-user-info .username{color:#686868}.wp-pointer .wp-pointer-content h3{background-color:#04a4cc;border-color:#0490b3}.wp-pointer .wp-pointer-content h3:before{color:#04a4cc}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#04a4cc}.media-item .bar,.media-progress-bar div{background-color:#04a4cc}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc}.attachment.details .check{background-color:#04a4cc;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#04a4cc}.theme-browser .theme.add-new-theme:hover span:after{color:#04a4cc}body.more-filters-opened .more-filters{color:#333;background-color:#e5e5e5}body.more-filters-opened .more-filters:before{color:#333}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#888;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#888;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#888;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#04a4cc;border-color:#037c9a;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f5f5f5;border-bottom-color:#f5f5f5}#plugin-information .action-button{background:#04a4cc}div#wp-responsive-toggle a:before{color:#999}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#888}.star-rating .star{color:#04a4cc}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#fff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default li:hover span.ab-label,#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary li.hover span.ab-label{color:#333}.theme-filter.current,.theme-section.current{border-bottom-color:#04a4cc}
\ No newline at end of file
diff --git a/wp-admin/css/colors/light/colors.css b/wp-admin/css/colors/light/colors.css
index ca83d94f9..441b35250 100644
--- a/wp-admin/css/colors/light/colors.css
+++ b/wp-admin/css/colors/light/colors.css
@@ -30,19 +30,22 @@ input[type=radio]:checked:before {
   border-color: #037c9a;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
     background: #0490b3;
     border-color: #036881;
     color: white;
-    -webkit-box-shadow: inset 0 1px 0 #09cafa, 0 1px 0 rgba(0, 0, 0, 0.15);
-    box-shadow: inset 0 1px 0 #09cafa, 0 1px 0 rgba(0, 0, 0, 0.15); }
+    -webkit-box-shadow: inset 0 1px 0 #09cafa;
+            box-shadow: inset 0 1px 0 #09cafa; }
+  .wp-core-ui .button-primary:focus {
+    -webkit-box-shadow: inset 0 1px 0 #09cafa, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 1px 0 #09cafa, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary:active {
     background: #037c9a;
     border-color: #036881;
     color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5); }
+    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #c7cfd1 !important;
     background: #0384a4 !important;
@@ -254,18 +257,22 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow {
   border-bottom-color: #04a4cc; }
 
-/* Media Uploader */
+/* Media */
 .media-item .bar, .media-progress-bar div {
   background-color: #04a4cc; }
 
 .details.attachment {
-  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #04a4cc;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #04a4cc; }
+  -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #04a4cc;
+          box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #04a4cc; }
 
 .attachment.details .check {
   background-color: #04a4cc;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #04a4cc;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #04a4cc; }
+          box-shadow: 0 0 0 1px #fff, 0 0 0 2px #04a4cc; }
+
+.media-selection .attachment.selection.details .thumbnail {
+  -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #04a4cc;
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #04a4cc; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,20 +281,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-browser .theme.add-new-theme:hover span:after {
   color: #04a4cc; }
 
-.theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
-  background: #04a4cc; }
-
 .theme-section.current, .theme-filter.current {
   border-bottom-color: #e5e5e5; }
 
-body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+body.more-filters-opened .more-filters {
   color: #333;
   background-color: #e5e5e5; }
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+body.more-filters-opened .more-filters:before {
+  color: #333; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
   background-color: #888;
   color: #fff; }
 
+body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  color: #fff; }
+
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #888;
@@ -306,7 +316,7 @@ body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-fil
   background: #04a4cc;
   border-color: #037c9a;
   -webkit-box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
 /* Thickbox: Plugin information */
 #sidemenu a.current {
diff --git a/wp-admin/css/colors/light/colors.min.css b/wp-admin/css/colors/light/colors.min.css
index daaa6eafb..60643d0d3 100644
--- a/wp-admin/css/colors/light/colors.min.css
+++ b/wp-admin/css/colors/light/colors.min.css
@@ -1 +1 @@
-html{background:#f5f5f5}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#04a4cc}input[type=radio]:checked:before{background:#04a4cc}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#0490b3;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#037c9a;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#333;background-color:#e5e5e5}.wp-core-ui .wp-ui-text-primary{color:#e5e5e5}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#888}.wp-core-ui .wp-ui-text-highlight{color:#888}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d64e07}.wp-core-ui .wp-ui-text-notification{color:#d64e07}.wp-core-ui .wp-ui-text-icon{color:#999}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#333;background-color:#e5e5e5}.view-switch a.current:before{color:#e5e5e5}.view-switch a:hover:before{color:#d64e07}.post-com-count:hover:after{border-top-color:#e5e5e5}.post-com-count:hover span{color:#333;background-color:#e5e5e5}strong .post-com-count:after{border-top-color:#d64e07}strong .post-com-count span{background-color:#d64e07}#adminmenu,#adminmenuback,#adminmenuwrap{background:#e5e5e5}#adminmenu a{color:#333}#adminmenu div.wp-menu-image:before{color:#999}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#888}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#ccc}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f5f5f5;border-bottom-color:#f5f5f5}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#fff}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#fff}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#686868}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#04a4cc}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#333}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#04a4cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f5f5f5}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#888}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#ccc}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d64e07}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#333;background:#fff}#collapse-menu{color:#777}#collapse-menu:hover{color:#333}#collapse-button div:after{color:#999}#collapse-menu:hover #collapse-button div:after{color:#555}#wpadminbar{color:#333;background:#e5e5e5}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#333}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#999}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#fff}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#04a4cc}#wpadminbar .menupop .ab-sub-wrapper{background:#fff}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#f6f7f7}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#686868}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#999}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#04a4cc}#wpadminbar #adminbarsearch:before{color:#999}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#333;background:#f7f7f7}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#333;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#f7f7f7;background-color:#f7f7f7}#wpadminbar #wp-admin-bar-user-info .display-name{color:#333}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#04a4cc}#wpadminbar #wp-admin-bar-user-info .username{color:#686868}.wp-pointer .wp-pointer-content h3{background-color:#04a4cc;border-color:#0490b3}.wp-pointer .wp-pointer-content h3:before{color:#04a4cc}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#04a4cc}.media-item .bar,.media-progress-bar div{background-color:#04a4cc}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 5px #04a4cc}.attachment.details .check{background-color:#04a4cc;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#04a4cc}.theme-browser .theme.add-new-theme:hover span:after{color:#04a4cc}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#04a4cc}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#333;background-color:#e5e5e5}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{background-color:#888;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#888;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#04a4cc;border-color:#037c9a;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f5f5f5;border-bottom-color:#f5f5f5}#plugin-information .action-button{background:#04a4cc}div#wp-responsive-toggle a:before{color:#999}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#888}.star-rating .star{color:#04a4cc}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#fff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default li:hover span.ab-label,#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary li.hover span.ab-label{color:#333}.theme-filter.current,.theme-section.current{border-bottom-color:#04a4cc}
\ No newline at end of file
+html{background:#f5f5f5}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#04a4cc}input[type=radio]:checked:before{background:#04a4cc}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#0490b3;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa;box-shadow:inset 0 1px 0 #09cafa}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#037c9a;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#333;background-color:#e5e5e5}.wp-core-ui .wp-ui-text-primary{color:#e5e5e5}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#888}.wp-core-ui .wp-ui-text-highlight{color:#888}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d64e07}.wp-core-ui .wp-ui-text-notification{color:#d64e07}.wp-core-ui .wp-ui-text-icon{color:#999}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#333;background-color:#e5e5e5}.view-switch a.current:before{color:#e5e5e5}.view-switch a:hover:before{color:#d64e07}.post-com-count:hover:after{border-top-color:#e5e5e5}.post-com-count:hover span{color:#333;background-color:#e5e5e5}strong .post-com-count:after{border-top-color:#d64e07}strong .post-com-count span{background-color:#d64e07}#adminmenu,#adminmenuback,#adminmenuwrap{background:#e5e5e5}#adminmenu a{color:#333}#adminmenu div.wp-menu-image:before{color:#999}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#888}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#ccc}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f5f5f5;border-bottom-color:#f5f5f5}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#fff}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#fff}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#686868}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#04a4cc}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#333}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#04a4cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f5f5f5}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#888}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#ccc}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d64e07}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#333;background:#fff}#collapse-menu{color:#777}#collapse-menu:hover{color:#333}#collapse-button div:after{color:#999}#collapse-menu:hover #collapse-button div:after{color:#555}#wpadminbar{color:#333;background:#e5e5e5}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#333}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#999}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#fff}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#04a4cc}#wpadminbar .menupop .ab-sub-wrapper{background:#fff}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#f6f7f7}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#686868}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#999}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#04a4cc}#wpadminbar #adminbarsearch:before{color:#999}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#333;background:#f7f7f7}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#333;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#f7f7f7;background-color:#f7f7f7}#wpadminbar #wp-admin-bar-user-info .display-name{color:#333}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#04a4cc}#wpadminbar #wp-admin-bar-user-info .username{color:#686868}.wp-pointer .wp-pointer-content h3{background-color:#04a4cc;border-color:#0490b3}.wp-pointer .wp-pointer-content h3:before{color:#04a4cc}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#04a4cc}.media-item .bar,.media-progress-bar div{background-color:#04a4cc}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc}.attachment.details .check{background-color:#04a4cc;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#04a4cc}.theme-browser .theme.add-new-theme:hover span:after{color:#04a4cc}body.more-filters-opened .more-filters{color:#333;background-color:#e5e5e5}body.more-filters-opened .more-filters:before{color:#333}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#888;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#888;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#888;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#04a4cc;border-color:#037c9a;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f5f5f5;border-bottom-color:#f5f5f5}#plugin-information .action-button{background:#04a4cc}div#wp-responsive-toggle a:before{color:#999}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#888}.star-rating .star{color:#04a4cc}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#fff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default li:hover span.ab-label,#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary li.hover span.ab-label{color:#333}.theme-filter.current,.theme-section.current{border-bottom-color:#04a4cc}
\ No newline at end of file
diff --git a/wp-admin/css/colors/midnight/colors-rtl.css b/wp-admin/css/colors/midnight/colors-rtl.css
index 2dc30e51b..c804c3038 100644
--- a/wp-admin/css/colors/midnight/colors-rtl.css
+++ b/wp-admin/css/colors/midnight/colors-rtl.css
@@ -30,19 +30,22 @@ input[type=radio]:checked:before {
   border-color: #d02a21;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
     background: #dd362d;
     border-color: #ba251e;
     color: white;
-    -webkit-box-shadow: inset 0 1px 0 #e8756f, 0 1px 0 rgba(0, 0, 0, 0.15);
-    box-shadow: inset 0 1px 0 #e8756f, 0 1px 0 rgba(0, 0, 0, 0.15); }
+    -webkit-box-shadow: inset 0 1px 0 #e8756f;
+            box-shadow: inset 0 1px 0 #e8756f; }
+  .wp-core-ui .button-primary:focus {
+    -webkit-box-shadow: inset 0 1px 0 #e8756f, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 1px 0 #e8756f, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary:active {
     background: #d02a21;
     border-color: #ba251e;
     color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5); }
+    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #d1c7c7 !important;
     background: #d92c23 !important;
@@ -254,18 +257,22 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow {
   border-bottom-color: #e14d43; }
 
-/* Media Uploader */
+/* Media */
 .media-item .bar, .media-progress-bar div {
   background-color: #e14d43; }
 
 .details.attachment {
-  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #e14d43;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #e14d43; }
+  -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #e14d43;
+          box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #e14d43; }
 
 .attachment.details .check {
   background-color: #e14d43;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #e14d43;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #e14d43; }
+          box-shadow: 0 0 0 1px #fff, 0 0 0 2px #e14d43; }
+
+.media-selection .attachment.selection.details .thumbnail {
+  -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #e14d43;
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #e14d43; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,20 +281,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-browser .theme.add-new-theme:hover span:after {
   color: #e14d43; }
 
-.theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
-  background: #e14d43; }
-
 .theme-section.current, .theme-filter.current {
   border-bottom-color: #363b3f; }
 
-body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+body.more-filters-opened .more-filters {
   color: #fff;
   background-color: #363b3f; }
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+body.more-filters-opened .more-filters:before {
+  color: #fff; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
   background-color: #e14d43;
   color: #fff; }
 
+body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  color: #fff; }
+
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #e14d43;
@@ -306,7 +316,7 @@ body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-fil
   background: #e14d43;
   border-color: #d02a21;
   -webkit-box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
 /* Thickbox: Plugin information */
 #sidemenu a.current {
diff --git a/wp-admin/css/colors/midnight/colors-rtl.min.css b/wp-admin/css/colors/midnight/colors-rtl.min.css
index 930461b24..cbaa8b4cd 100644
--- a/wp-admin/css/colors/midnight/colors-rtl.min.css
+++ b/wp-admin/css/colors/midnight/colors-rtl.min.css
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#e14d43}input[type=radio]:checked:before{background:#e14d43}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd362d;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#d02a21;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#363b3f}.wp-core-ui .wp-ui-text-primary{color:#363b3f}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#e14d43}.wp-core-ui .wp-ui-text-highlight{color:#e14d43}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#69a8bb}.wp-core-ui .wp-ui-text-notification{color:#69a8bb}.wp-core-ui .wp-ui-text-icon{color:#f1f2f3}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#363b3f}.view-switch a.current:before{color:#363b3f}.view-switch a:hover:before{color:#69a8bb}.post-com-count:hover:after{border-top-color:#363b3f}.post-com-count:hover span{color:#fff;background-color:#363b3f}strong .post-com-count:after{border-top-color:#69a8bb}strong .post-com-count span{background-color:#69a8bb}#adminmenu,#adminmenuback,#adminmenuwrap{background:#363b3f}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f1f2f3}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#e14d43}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#26292c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#26292c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#c2c4c5}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#e14d43}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#e14d43}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#e14d43}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#69a8bb}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#26292c}#collapse-menu{color:#f1f2f3}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f1f2f3}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#363b3f}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f1f2f3}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#e14d43;background:#26292c}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#e14d43}#wpadminbar .menupop .ab-sub-wrapper{background:#26292c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4c4c4d}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#c2c4c5}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f1f2f3}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#e14d43}#wpadminbar #adminbarsearch:before{color:#f1f2f3}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#464d52}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#464d52;background-color:#464d52}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#e14d43}#wpadminbar #wp-admin-bar-user-info .username{color:#c2c4c5}.wp-pointer .wp-pointer-content h3{background-color:#e14d43;border-color:#dd362d}.wp-pointer .wp-pointer-content h3:before{color:#e14d43}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#e14d43}.media-item .bar,.media-progress-bar div{background-color:#e14d43}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 5px #e14d43}.attachment.details .check{background-color:#e14d43;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#e14d43}.theme-browser .theme.add-new-theme:hover span:after{color:#e14d43}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#e14d43}.theme-filter.current,.theme-section.current{border-bottom-color:#363b3f}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#363b3f}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{background-color:#e14d43;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#e14d43;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e14d43;border-color:#d02a21;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#e14d43}div#wp-responsive-toggle a:before{color:#f1f2f3}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#e14d43}.star-rating .star{color:#e14d43}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#26292c}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#e14d43}input[type=radio]:checked:before{background:#e14d43}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd362d;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f;box-shadow:inset 0 1px 0 #e8756f}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8756f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8756f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d02a21;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#363b3f}.wp-core-ui .wp-ui-text-primary{color:#363b3f}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#e14d43}.wp-core-ui .wp-ui-text-highlight{color:#e14d43}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#69a8bb}.wp-core-ui .wp-ui-text-notification{color:#69a8bb}.wp-core-ui .wp-ui-text-icon{color:#f1f2f3}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#363b3f}.view-switch a.current:before{color:#363b3f}.view-switch a:hover:before{color:#69a8bb}.post-com-count:hover:after{border-top-color:#363b3f}.post-com-count:hover span{color:#fff;background-color:#363b3f}strong .post-com-count:after{border-top-color:#69a8bb}strong .post-com-count span{background-color:#69a8bb}#adminmenu,#adminmenuback,#adminmenuwrap{background:#363b3f}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f1f2f3}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#e14d43}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#26292c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#26292c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#c2c4c5}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#e14d43}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#e14d43}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#e14d43}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#69a8bb}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#26292c}#collapse-menu{color:#f1f2f3}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f1f2f3}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#363b3f}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f1f2f3}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#e14d43;background:#26292c}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#e14d43}#wpadminbar .menupop .ab-sub-wrapper{background:#26292c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4c4c4d}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#c2c4c5}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f1f2f3}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#e14d43}#wpadminbar #adminbarsearch:before{color:#f1f2f3}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#464d52}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#464d52;background-color:#464d52}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#e14d43}#wpadminbar #wp-admin-bar-user-info .username{color:#c2c4c5}.wp-pointer .wp-pointer-content h3{background-color:#e14d43;border-color:#dd362d}.wp-pointer .wp-pointer-content h3:before{color:#e14d43}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#e14d43}.media-item .bar,.media-progress-bar div{background-color:#e14d43}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43}.attachment.details .check{background-color:#e14d43;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#e14d43}.theme-browser .theme.add-new-theme:hover span:after{color:#e14d43}.theme-filter.current,.theme-section.current{border-bottom-color:#363b3f}body.more-filters-opened .more-filters{color:#fff;background-color:#363b3f}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#e14d43;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#e14d43;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#e14d43;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e14d43;border-color:#d02a21;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#e14d43}div#wp-responsive-toggle a:before{color:#f1f2f3}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#e14d43}.star-rating .star{color:#e14d43}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#26292c}
\ No newline at end of file
diff --git a/wp-admin/css/colors/midnight/colors.css b/wp-admin/css/colors/midnight/colors.css
index b1a11fe2b..85287b261 100644
--- a/wp-admin/css/colors/midnight/colors.css
+++ b/wp-admin/css/colors/midnight/colors.css
@@ -30,19 +30,22 @@ input[type=radio]:checked:before {
   border-color: #d02a21;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
     background: #dd362d;
     border-color: #ba251e;
     color: white;
-    -webkit-box-shadow: inset 0 1px 0 #e8756f, 0 1px 0 rgba(0, 0, 0, 0.15);
-    box-shadow: inset 0 1px 0 #e8756f, 0 1px 0 rgba(0, 0, 0, 0.15); }
+    -webkit-box-shadow: inset 0 1px 0 #e8756f;
+            box-shadow: inset 0 1px 0 #e8756f; }
+  .wp-core-ui .button-primary:focus {
+    -webkit-box-shadow: inset 0 1px 0 #e8756f, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 1px 0 #e8756f, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary:active {
     background: #d02a21;
     border-color: #ba251e;
     color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5); }
+    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #d1c7c7 !important;
     background: #d92c23 !important;
@@ -254,18 +257,22 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow {
   border-bottom-color: #e14d43; }
 
-/* Media Uploader */
+/* Media */
 .media-item .bar, .media-progress-bar div {
   background-color: #e14d43; }
 
 .details.attachment {
-  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #e14d43;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #e14d43; }
+  -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #e14d43;
+          box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #e14d43; }
 
 .attachment.details .check {
   background-color: #e14d43;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #e14d43;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #e14d43; }
+          box-shadow: 0 0 0 1px #fff, 0 0 0 2px #e14d43; }
+
+.media-selection .attachment.selection.details .thumbnail {
+  -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #e14d43;
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #e14d43; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,20 +281,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-browser .theme.add-new-theme:hover span:after {
   color: #e14d43; }
 
-.theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
-  background: #e14d43; }
-
 .theme-section.current, .theme-filter.current {
   border-bottom-color: #363b3f; }
 
-body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+body.more-filters-opened .more-filters {
   color: #fff;
   background-color: #363b3f; }
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+body.more-filters-opened .more-filters:before {
+  color: #fff; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
   background-color: #e14d43;
   color: #fff; }
 
+body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  color: #fff; }
+
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #e14d43;
@@ -306,7 +316,7 @@ body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-fil
   background: #e14d43;
   border-color: #d02a21;
   -webkit-box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
 /* Thickbox: Plugin information */
 #sidemenu a.current {
diff --git a/wp-admin/css/colors/midnight/colors.min.css b/wp-admin/css/colors/midnight/colors.min.css
index e4f464fed..6d1affa67 100644
--- a/wp-admin/css/colors/midnight/colors.min.css
+++ b/wp-admin/css/colors/midnight/colors.min.css
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#e14d43}input[type=radio]:checked:before{background:#e14d43}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd362d;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#d02a21;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#363b3f}.wp-core-ui .wp-ui-text-primary{color:#363b3f}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#e14d43}.wp-core-ui .wp-ui-text-highlight{color:#e14d43}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#69a8bb}.wp-core-ui .wp-ui-text-notification{color:#69a8bb}.wp-core-ui .wp-ui-text-icon{color:#f1f2f3}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#363b3f}.view-switch a.current:before{color:#363b3f}.view-switch a:hover:before{color:#69a8bb}.post-com-count:hover:after{border-top-color:#363b3f}.post-com-count:hover span{color:#fff;background-color:#363b3f}strong .post-com-count:after{border-top-color:#69a8bb}strong .post-com-count span{background-color:#69a8bb}#adminmenu,#adminmenuback,#adminmenuwrap{background:#363b3f}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f1f2f3}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#e14d43}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#26292c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#26292c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#c2c4c5}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#e14d43}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#e14d43}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#e14d43}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#69a8bb}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#26292c}#collapse-menu{color:#f1f2f3}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f1f2f3}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#363b3f}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f1f2f3}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#e14d43;background:#26292c}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#e14d43}#wpadminbar .menupop .ab-sub-wrapper{background:#26292c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4c4c4d}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#c2c4c5}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f1f2f3}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#e14d43}#wpadminbar #adminbarsearch:before{color:#f1f2f3}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#464d52}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#464d52;background-color:#464d52}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#e14d43}#wpadminbar #wp-admin-bar-user-info .username{color:#c2c4c5}.wp-pointer .wp-pointer-content h3{background-color:#e14d43;border-color:#dd362d}.wp-pointer .wp-pointer-content h3:before{color:#e14d43}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#e14d43}.media-item .bar,.media-progress-bar div{background-color:#e14d43}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 5px #e14d43}.attachment.details .check{background-color:#e14d43;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#e14d43}.theme-browser .theme.add-new-theme:hover span:after{color:#e14d43}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#e14d43}.theme-filter.current,.theme-section.current{border-bottom-color:#363b3f}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#363b3f}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{background-color:#e14d43;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#e14d43;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e14d43;border-color:#d02a21;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#e14d43}div#wp-responsive-toggle a:before{color:#f1f2f3}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#e14d43}.star-rating .star{color:#e14d43}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#26292c}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#e14d43}input[type=radio]:checked:before{background:#e14d43}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd362d;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f;box-shadow:inset 0 1px 0 #e8756f}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8756f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8756f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d02a21;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#363b3f}.wp-core-ui .wp-ui-text-primary{color:#363b3f}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#e14d43}.wp-core-ui .wp-ui-text-highlight{color:#e14d43}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#69a8bb}.wp-core-ui .wp-ui-text-notification{color:#69a8bb}.wp-core-ui .wp-ui-text-icon{color:#f1f2f3}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#363b3f}.view-switch a.current:before{color:#363b3f}.view-switch a:hover:before{color:#69a8bb}.post-com-count:hover:after{border-top-color:#363b3f}.post-com-count:hover span{color:#fff;background-color:#363b3f}strong .post-com-count:after{border-top-color:#69a8bb}strong .post-com-count span{background-color:#69a8bb}#adminmenu,#adminmenuback,#adminmenuwrap{background:#363b3f}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f1f2f3}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#e14d43}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#26292c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#26292c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#c2c4c5}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#e14d43}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#e14d43}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#e14d43}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#69a8bb}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#26292c}#collapse-menu{color:#f1f2f3}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f1f2f3}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#363b3f}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f1f2f3}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#e14d43;background:#26292c}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#e14d43}#wpadminbar .menupop .ab-sub-wrapper{background:#26292c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4c4c4d}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#c2c4c5}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f1f2f3}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#e14d43}#wpadminbar #adminbarsearch:before{color:#f1f2f3}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#464d52}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#464d52;background-color:#464d52}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#e14d43}#wpadminbar #wp-admin-bar-user-info .username{color:#c2c4c5}.wp-pointer .wp-pointer-content h3{background-color:#e14d43;border-color:#dd362d}.wp-pointer .wp-pointer-content h3:before{color:#e14d43}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#e14d43}.media-item .bar,.media-progress-bar div{background-color:#e14d43}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43}.attachment.details .check{background-color:#e14d43;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#e14d43}.theme-browser .theme.add-new-theme:hover span:after{color:#e14d43}.theme-filter.current,.theme-section.current{border-bottom-color:#363b3f}body.more-filters-opened .more-filters{color:#fff;background-color:#363b3f}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#e14d43;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#e14d43;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#e14d43;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e14d43;border-color:#d02a21;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#e14d43}div#wp-responsive-toggle a:before{color:#f1f2f3}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#e14d43}.star-rating .star{color:#e14d43}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#26292c}
\ No newline at end of file
diff --git a/wp-admin/css/colors/ocean/colors-rtl.css b/wp-admin/css/colors/ocean/colors-rtl.css
index 665efad3c..ee84d5aa4 100644
--- a/wp-admin/css/colors/ocean/colors-rtl.css
+++ b/wp-admin/css/colors/ocean/colors-rtl.css
@@ -30,19 +30,22 @@ input[type=radio]:checked:before {
   border-color: #80a583;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
     background: #8faf91;
     border-color: #719a74;
     color: white;
-    -webkit-box-shadow: inset 0 1px 0 #bccfbd, 0 1px 0 rgba(0, 0, 0, 0.15);
-    box-shadow: inset 0 1px 0 #bccfbd, 0 1px 0 rgba(0, 0, 0, 0.15); }
+    -webkit-box-shadow: inset 0 1px 0 #bccfbd;
+            box-shadow: inset 0 1px 0 #bccfbd; }
+  .wp-core-ui .button-primary:focus {
+    -webkit-box-shadow: inset 0 1px 0 #bccfbd, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 1px 0 #bccfbd, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary:active {
     background: #80a583;
     border-color: #719a74;
     color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5); }
+    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #c7d1c8 !important;
     background: #86a988 !important;
@@ -254,18 +257,22 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow {
   border-bottom-color: #9ebaa0; }
 
-/* Media Uploader */
+/* Media */
 .media-item .bar, .media-progress-bar div {
   background-color: #9ebaa0; }
 
 .details.attachment {
-  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #9ebaa0;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #9ebaa0; }
+  -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #9ebaa0;
+          box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #9ebaa0; }
 
 .attachment.details .check {
   background-color: #9ebaa0;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #9ebaa0;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #9ebaa0; }
+          box-shadow: 0 0 0 1px #fff, 0 0 0 2px #9ebaa0; }
+
+.media-selection .attachment.selection.details .thumbnail {
+  -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #9ebaa0;
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #9ebaa0; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,20 +281,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-browser .theme.add-new-theme:hover span:after {
   color: #9ebaa0; }
 
-.theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
-  background: #9ebaa0; }
-
 .theme-section.current, .theme-filter.current {
   border-bottom-color: #738e96; }
 
-body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+body.more-filters-opened .more-filters {
   color: #fff;
   background-color: #738e96; }
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+body.more-filters-opened .more-filters:before {
+  color: #fff; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
   background-color: #9ebaa0;
   color: #fff; }
 
+body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  color: #fff; }
+
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #9ebaa0;
@@ -306,7 +316,7 @@ body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-fil
   background: #9ebaa0;
   border-color: #80a583;
   -webkit-box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
 /* Thickbox: Plugin information */
 #sidemenu a.current {
diff --git a/wp-admin/css/colors/ocean/colors-rtl.min.css b/wp-admin/css/colors/ocean/colors-rtl.min.css
index 45143c66c..b3cbfa7db 100644
--- a/wp-admin/css/colors/ocean/colors-rtl.min.css
+++ b/wp-admin/css/colors/ocean/colors-rtl.min.css
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#738e96}input[type=radio]:checked:before{background:#738e96}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#8faf91;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#80a583;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#738e96}.wp-core-ui .wp-ui-text-primary{color:#738e96}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#9ebaa0}.wp-core-ui .wp-ui-text-highlight{color:#9ebaa0}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#aa9d88}.wp-core-ui .wp-ui-text-notification{color:#aa9d88}.wp-core-ui .wp-ui-text-icon{color:#f2fcff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#738e96}.view-switch a.current:before{color:#738e96}.view-switch a:hover:before{color:#aa9d88}.post-com-count:hover:after{border-top-color:#738e96}.post-com-count:hover span{color:#fff;background-color:#738e96}strong .post-com-count:after{border-top-color:#aa9d88}strong .post-com-count span{background-color:#aa9d88}#adminmenu,#adminmenuback,#adminmenuwrap{background:#738e96}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f2fcff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#9ebaa0}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#627c83}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#627c83}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#d5dddf}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#9ebaa0}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#9ebaa0}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#9ebaa0}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#aa9d88}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#627c83}#collapse-menu{color:#f2fcff}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f2fcff}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#738e96}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f2fcff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#9ebaa0;background:#627c83}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#9ebaa0}#wpadminbar .menupop .ab-sub-wrapper{background:#627c83}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#8f9b9e}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#d5dddf}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f2fcff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#9ebaa0}#wpadminbar #adminbarsearch:before{color:#f2fcff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#879fa5}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#879fa5;background-color:#879fa5}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#9ebaa0}#wpadminbar #wp-admin-bar-user-info .username{color:#d5dddf}.wp-pointer .wp-pointer-content h3{background-color:#9ebaa0;border-color:#8faf91}.wp-pointer .wp-pointer-content h3:before{color:#9ebaa0}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#9ebaa0}.media-item .bar,.media-progress-bar div{background-color:#9ebaa0}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 5px #9ebaa0}.attachment.details .check{background-color:#9ebaa0;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#9ebaa0}.theme-browser .theme.add-new-theme:hover span:after{color:#9ebaa0}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#9ebaa0}.theme-filter.current,.theme-section.current{border-bottom-color:#738e96}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#738e96}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{background-color:#9ebaa0;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#9ebaa0;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#9ebaa0;border-color:#80a583;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#9ebaa0}div#wp-responsive-toggle a:before{color:#f2fcff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#9ebaa0}.star-rating .star{color:#9ebaa0}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#627c83}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#738e96}input[type=radio]:checked:before{background:#738e96}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#8faf91;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd;box-shadow:inset 0 1px 0 #bccfbd}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#80a583;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#738e96}.wp-core-ui .wp-ui-text-primary{color:#738e96}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#9ebaa0}.wp-core-ui .wp-ui-text-highlight{color:#9ebaa0}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#aa9d88}.wp-core-ui .wp-ui-text-notification{color:#aa9d88}.wp-core-ui .wp-ui-text-icon{color:#f2fcff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#738e96}.view-switch a.current:before{color:#738e96}.view-switch a:hover:before{color:#aa9d88}.post-com-count:hover:after{border-top-color:#738e96}.post-com-count:hover span{color:#fff;background-color:#738e96}strong .post-com-count:after{border-top-color:#aa9d88}strong .post-com-count span{background-color:#aa9d88}#adminmenu,#adminmenuback,#adminmenuwrap{background:#738e96}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f2fcff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#9ebaa0}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#627c83}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#627c83}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#d5dddf}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#9ebaa0}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#9ebaa0}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#9ebaa0}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#aa9d88}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#627c83}#collapse-menu{color:#f2fcff}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f2fcff}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#738e96}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f2fcff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#9ebaa0;background:#627c83}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#9ebaa0}#wpadminbar .menupop .ab-sub-wrapper{background:#627c83}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#8f9b9e}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#d5dddf}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f2fcff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#9ebaa0}#wpadminbar #adminbarsearch:before{color:#f2fcff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#879fa5}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#879fa5;background-color:#879fa5}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#9ebaa0}#wpadminbar #wp-admin-bar-user-info .username{color:#d5dddf}.wp-pointer .wp-pointer-content h3{background-color:#9ebaa0;border-color:#8faf91}.wp-pointer .wp-pointer-content h3:before{color:#9ebaa0}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#9ebaa0}.media-item .bar,.media-progress-bar div{background-color:#9ebaa0}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0}.attachment.details .check{background-color:#9ebaa0;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#9ebaa0}.theme-browser .theme.add-new-theme:hover span:after{color:#9ebaa0}.theme-filter.current,.theme-section.current{border-bottom-color:#738e96}body.more-filters-opened .more-filters{color:#fff;background-color:#738e96}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#9ebaa0;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#9ebaa0;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#9ebaa0;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#9ebaa0;border-color:#80a583;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#9ebaa0}div#wp-responsive-toggle a:before{color:#f2fcff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#9ebaa0}.star-rating .star{color:#9ebaa0}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#627c83}
\ No newline at end of file
diff --git a/wp-admin/css/colors/ocean/colors.css b/wp-admin/css/colors/ocean/colors.css
index 0ee329527..0c76a8199 100644
--- a/wp-admin/css/colors/ocean/colors.css
+++ b/wp-admin/css/colors/ocean/colors.css
@@ -30,19 +30,22 @@ input[type=radio]:checked:before {
   border-color: #80a583;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
     background: #8faf91;
     border-color: #719a74;
     color: white;
-    -webkit-box-shadow: inset 0 1px 0 #bccfbd, 0 1px 0 rgba(0, 0, 0, 0.15);
-    box-shadow: inset 0 1px 0 #bccfbd, 0 1px 0 rgba(0, 0, 0, 0.15); }
+    -webkit-box-shadow: inset 0 1px 0 #bccfbd;
+            box-shadow: inset 0 1px 0 #bccfbd; }
+  .wp-core-ui .button-primary:focus {
+    -webkit-box-shadow: inset 0 1px 0 #bccfbd, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 1px 0 #bccfbd, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary:active {
     background: #80a583;
     border-color: #719a74;
     color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5); }
+    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #c7d1c8 !important;
     background: #86a988 !important;
@@ -254,18 +257,22 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow {
   border-bottom-color: #9ebaa0; }
 
-/* Media Uploader */
+/* Media */
 .media-item .bar, .media-progress-bar div {
   background-color: #9ebaa0; }
 
 .details.attachment {
-  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #9ebaa0;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #9ebaa0; }
+  -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #9ebaa0;
+          box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #9ebaa0; }
 
 .attachment.details .check {
   background-color: #9ebaa0;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #9ebaa0;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #9ebaa0; }
+          box-shadow: 0 0 0 1px #fff, 0 0 0 2px #9ebaa0; }
+
+.media-selection .attachment.selection.details .thumbnail {
+  -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #9ebaa0;
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #9ebaa0; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,20 +281,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-browser .theme.add-new-theme:hover span:after {
   color: #9ebaa0; }
 
-.theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
-  background: #9ebaa0; }
-
 .theme-section.current, .theme-filter.current {
   border-bottom-color: #738e96; }
 
-body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+body.more-filters-opened .more-filters {
   color: #fff;
   background-color: #738e96; }
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+body.more-filters-opened .more-filters:before {
+  color: #fff; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
   background-color: #9ebaa0;
   color: #fff; }
 
+body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  color: #fff; }
+
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #9ebaa0;
@@ -306,7 +316,7 @@ body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-fil
   background: #9ebaa0;
   border-color: #80a583;
   -webkit-box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
 /* Thickbox: Plugin information */
 #sidemenu a.current {
diff --git a/wp-admin/css/colors/ocean/colors.min.css b/wp-admin/css/colors/ocean/colors.min.css
index e10635df4..df45994ce 100644
--- a/wp-admin/css/colors/ocean/colors.min.css
+++ b/wp-admin/css/colors/ocean/colors.min.css
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#738e96}input[type=radio]:checked:before{background:#738e96}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#8faf91;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#80a583;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#738e96}.wp-core-ui .wp-ui-text-primary{color:#738e96}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#9ebaa0}.wp-core-ui .wp-ui-text-highlight{color:#9ebaa0}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#aa9d88}.wp-core-ui .wp-ui-text-notification{color:#aa9d88}.wp-core-ui .wp-ui-text-icon{color:#f2fcff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#738e96}.view-switch a.current:before{color:#738e96}.view-switch a:hover:before{color:#aa9d88}.post-com-count:hover:after{border-top-color:#738e96}.post-com-count:hover span{color:#fff;background-color:#738e96}strong .post-com-count:after{border-top-color:#aa9d88}strong .post-com-count span{background-color:#aa9d88}#adminmenu,#adminmenuback,#adminmenuwrap{background:#738e96}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f2fcff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#9ebaa0}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#627c83}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#627c83}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#d5dddf}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#9ebaa0}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#9ebaa0}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#9ebaa0}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#aa9d88}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#627c83}#collapse-menu{color:#f2fcff}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f2fcff}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#738e96}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f2fcff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#9ebaa0;background:#627c83}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#9ebaa0}#wpadminbar .menupop .ab-sub-wrapper{background:#627c83}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#8f9b9e}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#d5dddf}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f2fcff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#9ebaa0}#wpadminbar #adminbarsearch:before{color:#f2fcff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#879fa5}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#879fa5;background-color:#879fa5}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#9ebaa0}#wpadminbar #wp-admin-bar-user-info .username{color:#d5dddf}.wp-pointer .wp-pointer-content h3{background-color:#9ebaa0;border-color:#8faf91}.wp-pointer .wp-pointer-content h3:before{color:#9ebaa0}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#9ebaa0}.media-item .bar,.media-progress-bar div{background-color:#9ebaa0}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 5px #9ebaa0}.attachment.details .check{background-color:#9ebaa0;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#9ebaa0}.theme-browser .theme.add-new-theme:hover span:after{color:#9ebaa0}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#9ebaa0}.theme-filter.current,.theme-section.current{border-bottom-color:#738e96}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#738e96}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{background-color:#9ebaa0;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#9ebaa0;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#9ebaa0;border-color:#80a583;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#9ebaa0}div#wp-responsive-toggle a:before{color:#f2fcff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#9ebaa0}.star-rating .star{color:#9ebaa0}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#627c83}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#738e96}input[type=radio]:checked:before{background:#738e96}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#8faf91;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd;box-shadow:inset 0 1px 0 #bccfbd}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#80a583;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#738e96}.wp-core-ui .wp-ui-text-primary{color:#738e96}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#9ebaa0}.wp-core-ui .wp-ui-text-highlight{color:#9ebaa0}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#aa9d88}.wp-core-ui .wp-ui-text-notification{color:#aa9d88}.wp-core-ui .wp-ui-text-icon{color:#f2fcff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#738e96}.view-switch a.current:before{color:#738e96}.view-switch a:hover:before{color:#aa9d88}.post-com-count:hover:after{border-top-color:#738e96}.post-com-count:hover span{color:#fff;background-color:#738e96}strong .post-com-count:after{border-top-color:#aa9d88}strong .post-com-count span{background-color:#aa9d88}#adminmenu,#adminmenuback,#adminmenuwrap{background:#738e96}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f2fcff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#9ebaa0}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#627c83}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#627c83}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#d5dddf}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#9ebaa0}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#9ebaa0}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#9ebaa0}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#aa9d88}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#627c83}#collapse-menu{color:#f2fcff}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f2fcff}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#738e96}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f2fcff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#9ebaa0;background:#627c83}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#9ebaa0}#wpadminbar .menupop .ab-sub-wrapper{background:#627c83}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#8f9b9e}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#d5dddf}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f2fcff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#9ebaa0}#wpadminbar #adminbarsearch:before{color:#f2fcff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#879fa5}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#879fa5;background-color:#879fa5}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#9ebaa0}#wpadminbar #wp-admin-bar-user-info .username{color:#d5dddf}.wp-pointer .wp-pointer-content h3{background-color:#9ebaa0;border-color:#8faf91}.wp-pointer .wp-pointer-content h3:before{color:#9ebaa0}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#9ebaa0}.media-item .bar,.media-progress-bar div{background-color:#9ebaa0}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0}.attachment.details .check{background-color:#9ebaa0;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#9ebaa0}.theme-browser .theme.add-new-theme:hover span:after{color:#9ebaa0}.theme-filter.current,.theme-section.current{border-bottom-color:#738e96}body.more-filters-opened .more-filters{color:#fff;background-color:#738e96}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#9ebaa0;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#9ebaa0;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#9ebaa0;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#9ebaa0;border-color:#80a583;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#9ebaa0}div#wp-responsive-toggle a:before{color:#f2fcff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#9ebaa0}.star-rating .star{color:#9ebaa0}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#627c83}
\ No newline at end of file
diff --git a/wp-admin/css/colors/sunrise/colors-rtl.css b/wp-admin/css/colors/sunrise/colors-rtl.css
index e80f79ae0..496914c21 100644
--- a/wp-admin/css/colors/sunrise/colors-rtl.css
+++ b/wp-admin/css/colors/sunrise/colors-rtl.css
@@ -30,19 +30,22 @@ input[type=radio]:checked:before {
   border-color: #c36822;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
     background: #d97326;
     border-color: #ad5c1e;
     color: white;
-    -webkit-box-shadow: inset 0 1px 0 #e59d66, 0 1px 0 rgba(0, 0, 0, 0.15);
-    box-shadow: inset 0 1px 0 #e59d66, 0 1px 0 rgba(0, 0, 0, 0.15); }
+    -webkit-box-shadow: inset 0 1px 0 #e59d66;
+            box-shadow: inset 0 1px 0 #e59d66; }
+  .wp-core-ui .button-primary:focus {
+    -webkit-box-shadow: inset 0 1px 0 #e59d66, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 1px 0 #e59d66, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary:active {
     background: #c36822;
     border-color: #ad5c1e;
     color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5); }
+    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #d1cbc7 !important;
     background: #cc6c23 !important;
@@ -254,18 +257,22 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow {
   border-bottom-color: #dd823b; }
 
-/* Media Uploader */
+/* Media */
 .media-item .bar, .media-progress-bar div {
   background-color: #dd823b; }
 
 .details.attachment {
-  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #dd823b;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #dd823b; }
+  -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #dd823b;
+          box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #dd823b; }
 
 .attachment.details .check {
   background-color: #dd823b;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #dd823b;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #dd823b; }
+          box-shadow: 0 0 0 1px #fff, 0 0 0 2px #dd823b; }
+
+.media-selection .attachment.selection.details .thumbnail {
+  -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #dd823b;
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #dd823b; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,20 +281,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-browser .theme.add-new-theme:hover span:after {
   color: #dd823b; }
 
-.theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
-  background: #dd823b; }
-
 .theme-section.current, .theme-filter.current {
   border-bottom-color: #cf4944; }
 
-body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+body.more-filters-opened .more-filters {
   color: #fff;
   background-color: #cf4944; }
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+body.more-filters-opened .more-filters:before {
+  color: #fff; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
   background-color: #dd823b;
   color: #fff; }
 
+body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  color: #fff; }
+
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #dd823b;
@@ -306,7 +316,7 @@ body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-fil
   background: #dd823b;
   border-color: #c36822;
   -webkit-box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
 /* Thickbox: Plugin information */
 #sidemenu a.current {
diff --git a/wp-admin/css/colors/sunrise/colors-rtl.min.css b/wp-admin/css/colors/sunrise/colors-rtl.min.css
index 2fbbff8e8..48d86a78a 100644
--- a/wp-admin/css/colors/sunrise/colors-rtl.min.css
+++ b/wp-admin/css/colors/sunrise/colors-rtl.min.css
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#dd823b}input[type=radio]:checked:before{background:#dd823b}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#d97326;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#c36822;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#cf4944}.wp-core-ui .wp-ui-text-primary{color:#cf4944}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#dd823b}.wp-core-ui .wp-ui-text-highlight{color:#dd823b}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#ccaf0b}.wp-core-ui .wp-ui-text-notification{color:#ccaf0b}.wp-core-ui .wp-ui-text-icon{color:#f3f1f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#cf4944}.view-switch a.current:before{color:#cf4944}.view-switch a:hover:before{color:#ccaf0b}.post-com-count:hover:after{border-top-color:#cf4944}.post-com-count:hover span{color:#fff;background-color:#cf4944}strong .post-com-count:after{border-top-color:#ccaf0b}strong .post-com-count span{background-color:#ccaf0b}#adminmenu,#adminmenuback,#adminmenuwrap{background:#cf4944}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f1f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#dd823b}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#be3631}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#be3631}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#f0c8c6}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#f7e3d3}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#f7e3d3}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#dd823b}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#ccaf0b}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#be3631}#collapse-menu{color:#f3f1f1}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f3f1f1}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#cf4944}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f1f1}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#f7e3d3;background:#be3631}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#f7e3d3}#wpadminbar .menupop .ab-sub-wrapper{background:#be3631}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#cf6b67}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#f0c8c6}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f1f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#f7e3d3}#wpadminbar #adminbarsearch:before{color:#f3f1f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#d66460}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#d66460;background-color:#d66460}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#f7e3d3}#wpadminbar #wp-admin-bar-user-info .username{color:#f0c8c6}.wp-pointer .wp-pointer-content h3{background-color:#dd823b;border-color:#d97326}.wp-pointer .wp-pointer-content h3:before{color:#dd823b}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#dd823b}.media-item .bar,.media-progress-bar div{background-color:#dd823b}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 5px #dd823b}.attachment.details .check{background-color:#dd823b;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#dd823b}.theme-browser .theme.add-new-theme:hover span:after{color:#dd823b}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#dd823b}.theme-filter.current,.theme-section.current{border-bottom-color:#cf4944}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#cf4944}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{background-color:#dd823b;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#dd823b;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#dd823b;border-color:#c36822;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#dd823b}div#wp-responsive-toggle a:before{color:#f3f1f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#dd823b}.star-rating .star{color:#dd823b}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#be3631}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#dd823b}input[type=radio]:checked:before{background:#dd823b}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#d97326;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66;box-shadow:inset 0 1px 0 #e59d66}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e59d66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e59d66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#c36822;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#cf4944}.wp-core-ui .wp-ui-text-primary{color:#cf4944}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#dd823b}.wp-core-ui .wp-ui-text-highlight{color:#dd823b}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#ccaf0b}.wp-core-ui .wp-ui-text-notification{color:#ccaf0b}.wp-core-ui .wp-ui-text-icon{color:#f3f1f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#cf4944}.view-switch a.current:before{color:#cf4944}.view-switch a:hover:before{color:#ccaf0b}.post-com-count:hover:after{border-top-color:#cf4944}.post-com-count:hover span{color:#fff;background-color:#cf4944}strong .post-com-count:after{border-top-color:#ccaf0b}strong .post-com-count span{background-color:#ccaf0b}#adminmenu,#adminmenuback,#adminmenuwrap{background:#cf4944}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f1f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#dd823b}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#be3631}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#be3631}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#f0c8c6}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#f7e3d3}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#f7e3d3}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#dd823b}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#ccaf0b}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#be3631}#collapse-menu{color:#f3f1f1}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f3f1f1}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#cf4944}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f1f1}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#f7e3d3;background:#be3631}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#f7e3d3}#wpadminbar .menupop .ab-sub-wrapper{background:#be3631}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#cf6b67}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#f0c8c6}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f1f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#f7e3d3}#wpadminbar #adminbarsearch:before{color:#f3f1f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#d66460}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#d66460;background-color:#d66460}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#f7e3d3}#wpadminbar #wp-admin-bar-user-info .username{color:#f0c8c6}.wp-pointer .wp-pointer-content h3{background-color:#dd823b;border-color:#d97326}.wp-pointer .wp-pointer-content h3:before{color:#dd823b}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#dd823b}.media-item .bar,.media-progress-bar div{background-color:#dd823b}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b}.attachment.details .check{background-color:#dd823b;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#dd823b}.theme-browser .theme.add-new-theme:hover span:after{color:#dd823b}.theme-filter.current,.theme-section.current{border-bottom-color:#cf4944}body.more-filters-opened .more-filters{color:#fff;background-color:#cf4944}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#dd823b;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#dd823b;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#dd823b;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#dd823b;border-color:#c36822;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#dd823b}div#wp-responsive-toggle a:before{color:#f3f1f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#dd823b}.star-rating .star{color:#dd823b}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#be3631}
\ No newline at end of file
diff --git a/wp-admin/css/colors/sunrise/colors.css b/wp-admin/css/colors/sunrise/colors.css
index 2a872ed31..943bc8a42 100644
--- a/wp-admin/css/colors/sunrise/colors.css
+++ b/wp-admin/css/colors/sunrise/colors.css
@@ -30,19 +30,22 @@ input[type=radio]:checked:before {
   border-color: #c36822;
   color: white;
   -webkit-box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
     background: #d97326;
     border-color: #ad5c1e;
     color: white;
-    -webkit-box-shadow: inset 0 1px 0 #e59d66, 0 1px 0 rgba(0, 0, 0, 0.15);
-    box-shadow: inset 0 1px 0 #e59d66, 0 1px 0 rgba(0, 0, 0, 0.15); }
+    -webkit-box-shadow: inset 0 1px 0 #e59d66;
+            box-shadow: inset 0 1px 0 #e59d66; }
+  .wp-core-ui .button-primary:focus {
+    -webkit-box-shadow: inset 0 1px 0 #e59d66, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 1px 0 #e59d66, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary:active {
     background: #c36822;
     border-color: #ad5c1e;
     color: white;
-    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
-    box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5); }
+    -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
+            box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); }
   .wp-core-ui .button-primary[disabled], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #d1cbc7 !important;
     background: #cc6c23 !important;
@@ -254,18 +257,22 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .wp-pointer.wp-pointer-top .wp-pointer-arrow, .wp-pointer.wp-pointer-undefined .wp-pointer-arrow {
   border-bottom-color: #dd823b; }
 
-/* Media Uploader */
+/* Media */
 .media-item .bar, .media-progress-bar div {
   background-color: #dd823b; }
 
 .details.attachment {
-  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #dd823b;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #dd823b; }
+  -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #dd823b;
+          box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #dd823b; }
 
 .attachment.details .check {
   background-color: #dd823b;
   -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #dd823b;
-  box-shadow: 0 0 0 1px #fff, 0 0 0 2px #dd823b; }
+          box-shadow: 0 0 0 1px #fff, 0 0 0 2px #dd823b; }
+
+.media-selection .attachment.selection.details .thumbnail {
+  -webkit-box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #dd823b;
+  box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #dd823b; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,20 +281,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-browser .theme.add-new-theme:hover span:after {
   color: #dd823b; }
 
-.theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
-  background: #dd823b; }
-
 .theme-section.current, .theme-filter.current {
   border-bottom-color: #cf4944; }
 
-body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+body.more-filters-opened .more-filters {
   color: #fff;
   background-color: #cf4944; }
 
-body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+body.more-filters-opened .more-filters:before {
+  color: #fff; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus {
   background-color: #dd823b;
   color: #fff; }
 
+body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  color: #fff; }
+
 /* Widgets */
 .widgets-chooser li.widgets-chooser-selected {
   background-color: #dd823b;
@@ -306,7 +316,7 @@ body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-fil
   background: #dd823b;
   border-color: #c36822;
   -webkit-box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15); }
+          box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
 /* Thickbox: Plugin information */
 #sidemenu a.current {
diff --git a/wp-admin/css/colors/sunrise/colors.min.css b/wp-admin/css/colors/sunrise/colors.min.css
index 39dd21346..228ff801e 100644
--- a/wp-admin/css/colors/sunrise/colors.min.css
+++ b/wp-admin/css/colors/sunrise/colors.min.css
@@ -1 +1 @@
-html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#dd823b}input[type=radio]:checked:before{background:#dd823b}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#d97326;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#c36822;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#cf4944}.wp-core-ui .wp-ui-text-primary{color:#cf4944}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#dd823b}.wp-core-ui .wp-ui-text-highlight{color:#dd823b}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#ccaf0b}.wp-core-ui .wp-ui-text-notification{color:#ccaf0b}.wp-core-ui .wp-ui-text-icon{color:#f3f1f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#cf4944}.view-switch a.current:before{color:#cf4944}.view-switch a:hover:before{color:#ccaf0b}.post-com-count:hover:after{border-top-color:#cf4944}.post-com-count:hover span{color:#fff;background-color:#cf4944}strong .post-com-count:after{border-top-color:#ccaf0b}strong .post-com-count span{background-color:#ccaf0b}#adminmenu,#adminmenuback,#adminmenuwrap{background:#cf4944}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f1f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#dd823b}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#be3631}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#be3631}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#f0c8c6}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#f7e3d3}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#f7e3d3}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#dd823b}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#ccaf0b}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#be3631}#collapse-menu{color:#f3f1f1}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f3f1f1}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#cf4944}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f1f1}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#f7e3d3;background:#be3631}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#f7e3d3}#wpadminbar .menupop .ab-sub-wrapper{background:#be3631}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#cf6b67}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#f0c8c6}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f1f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#f7e3d3}#wpadminbar #adminbarsearch:before{color:#f3f1f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#d66460}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#d66460;background-color:#d66460}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#f7e3d3}#wpadminbar #wp-admin-bar-user-info .username{color:#f0c8c6}.wp-pointer .wp-pointer-content h3{background-color:#dd823b;border-color:#d97326}.wp-pointer .wp-pointer-content h3:before{color:#dd823b}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#dd823b}.media-item .bar,.media-progress-bar div{background-color:#dd823b}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 5px #dd823b}.attachment.details .check{background-color:#dd823b;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#dd823b}.theme-browser .theme.add-new-theme:hover span:after{color:#dd823b}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#dd823b}.theme-filter.current,.theme-section.current{border-bottom-color:#cf4944}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#cf4944}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{background-color:#dd823b;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#dd823b;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#dd823b;border-color:#c36822;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#dd823b}div#wp-responsive-toggle a:before{color:#f3f1f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#dd823b}.star-rating .star{color:#dd823b}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#be3631}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#dd823b}input[type=radio]:checked:before{background:#dd823b}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0099d5}.wp-core-ui .button-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#d97326;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66;box-shadow:inset 0 1px 0 #e59d66}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e59d66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e59d66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#c36822;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#cf4944}.wp-core-ui .wp-ui-text-primary{color:#cf4944}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#dd823b}.wp-core-ui .wp-ui-text-highlight{color:#dd823b}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#ccaf0b}.wp-core-ui .wp-ui-text-notification{color:#ccaf0b}.wp-core-ui .wp-ui-text-icon{color:#f3f1f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#cf4944}.view-switch a.current:before{color:#cf4944}.view-switch a:hover:before{color:#ccaf0b}.post-com-count:hover:after{border-top-color:#cf4944}.post-com-count:hover span{color:#fff;background-color:#cf4944}strong .post-com-count:after{border-top-color:#ccaf0b}strong .post-com-count span{background-color:#ccaf0b}#adminmenu,#adminmenuback,#adminmenuwrap{background:#cf4944}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f1f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#dd823b}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#be3631}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#be3631}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#f0c8c6}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#f7e3d3}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#f7e3d3}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#dd823b}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#ccaf0b}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#be3631}#collapse-menu{color:#f3f1f1}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f3f1f1}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#cf4944}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f1f1}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#f7e3d3;background:#be3631}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#f7e3d3}#wpadminbar .menupop .ab-sub-wrapper{background:#be3631}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#cf6b67}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#f0c8c6}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f1f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#f7e3d3}#wpadminbar #adminbarsearch:before{color:#f3f1f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#d66460}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#d66460;background-color:#d66460}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#f7e3d3}#wpadminbar #wp-admin-bar-user-info .username{color:#f0c8c6}.wp-pointer .wp-pointer-content h3{background-color:#dd823b;border-color:#d97326}.wp-pointer .wp-pointer-content h3:before{color:#dd823b}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#dd823b}.media-item .bar,.media-progress-bar div{background-color:#dd823b}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b}.attachment.details .check{background-color:#dd823b;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#dd823b}.theme-browser .theme.add-new-theme:hover span:after{color:#dd823b}.theme-filter.current,.theme-section.current{border-bottom-color:#cf4944}body.more-filters-opened .more-filters{color:#fff;background-color:#cf4944}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#dd823b;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#dd823b;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#dd823b;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#dd823b;border-color:#c36822;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#dd823b}div#wp-responsive-toggle a:before{color:#f3f1f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#dd823b}.star-rating .star{color:#dd823b}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#be3631}
\ No newline at end of file
diff --git a/wp-admin/css/common-rtl.css b/wp-admin/css/common-rtl.css
index 72c677666..9ae620fd5 100644
--- a/wp-admin/css/common-rtl.css
+++ b/wp-admin/css/common-rtl.css
@@ -9,16 +9,17 @@
 
 #wpcontent {
 	height: 100%;
+	padding-right: 20px;
 }
 
 #wpcontent,
 #wpfooter {
-	margin-right: 180px;
+	margin-right: 160px;
 }
 
 .folded #wpcontent,
 .folded #wpfooter {
-	margin-right: 56px;
+	margin-right: 36px;
 }
 
 #wpbody-content {
@@ -218,6 +219,10 @@ body.iframe {
 	padding-top: 1px;
 }
 
+body.modal-open {
+	overflow: hidden;
+}
+
 iframe,
 img {
 	border: 0;
@@ -252,16 +257,22 @@ a:active {
 
 a:focus {
 	color: #124964;
+    -webkit-box-shadow:
+    	0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
+    box-shadow:
+    	0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
 }
 
-a:focus,
-a:active {
-	outline: thin dotted;
+.ie8 a:focus {
+	outline: #5b9dd9 solid 1px;
 }
 
 #adminmenu a:focus,
-#adminmenu a:active,
 .screen-reader-text:focus {
+	-webkit-box-shadow: none;
+	box-shadow: none;
 	outline: none;
 }
 
@@ -699,12 +710,9 @@ td.help {
 ------------------------------------------------------------------------------*/
 
 .widget .widget-top,
-.postbox h3,
-.stuffbox h3,
+.postbox .hndle,
+.stuffbox .hndle,
 .control-section .accordion-section-title,
-h3.dashboard-widget-title,
-h3.dashboard-widget-title span,
-h3.dashboard-widget-title small,
 .sidebar-name,
 #nav-menu-header,
 #nav-menu-footer,
@@ -723,9 +731,8 @@ h3.dashboard-widget-title small,
 	color: #222;
 }
 
-.postbox h3,
-#namediv h3,
-#submitdiv h3 {
+.postbox .hndle,
+.stuffbox .hndle {
 	border-bottom: 1px solid #eee;
 }
 
@@ -741,7 +748,7 @@ h3.dashboard-widget-title small,
 }
 
 /* @todo can we combine these into a class or use an existing dashicon one? */
-#welcome-panel.welcome-panel .welcome-panel-close::before,
+#welcome-panel.welcome-panel .welcome-panel-close:before,
 .tagchecklist span a:before,
 #bulk-titles div a:before {
 	background: none;
@@ -751,12 +758,20 @@ h3.dashboard-widget-title small,
 	font: normal 16px/1 'dashicons';
 	speak: none;
 	height: 20px;
-	margin: 2px 0;
 	text-align: center;
 	width: 20px;
 	-webkit-font-smoothing: antialiased !important;
 }
 
+#welcome-panel.welcome-panel .welcome-panel-close:before {
+	margin: 0;
+}
+
+.tagchecklist span a:before,
+#bulk-titles div a:before {
+	margin: 2px 0;
+}
+
 #welcome-panel.welcome-panel .welcome-panel-close:hover:before,
 .tagchecklist span a:hover:before,
 #bulk-titles div a:hover:before {
@@ -918,6 +933,320 @@ th.action-links {
 	text-align: left;
 }
 
+/* Filter bar */
+.wp-filter {
+	display: inline-block;
+	position: relative;
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+	margin: 12px 0 25px;
+	padding: 0 20px;
+	width: 100%;
+	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+	box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+	border: 1px solid #e5e5e5;
+	background: #fff;
+	color: #555;
+	font-size: 13px;
+}
+
+.wp-filter a {
+	text-decoration: none;
+}
+
+.filter-count {
+	display: inline-block;
+	vertical-align: middle;
+	min-width: 4em;
+}
+
+.title-count,
+.filter-count .count {
+	display: inline-block;
+	position: relative;
+	top: -1px;
+	padding: 4px 10px;
+	-webkit-border-radius: 30px;
+	border-radius: 30px;
+	background: #777;
+	color: #fff;
+	font-size: 14px;
+	font-weight: 600;
+}
+
+/* not a part of filter bar, but derived from it, so here for now */
+.title-count {
+	display: inline;
+	top: -3px;
+	margin-right: 5px;
+	margin-left: 20px;
+}
+
+.filter-links {
+	display: inline-block;
+	margin: 0;
+}
+
+.filter-links li {
+	display: inline-block;
+	margin: 0;
+}
+
+.filter-links li > a {
+	display: inline-block;
+	margin: 0 10px;
+	padding: 15px 0;
+	border-bottom: 4px solid #fff;
+	color: #666;
+	cursor: pointer;
+}
+
+.filter-links .current {
+	-webkit-box-shadow: none;
+	box-shadow: none;
+	border-bottom: 4px solid #666;
+	color: #222;
+}
+
+.filter-links li > a:hover,
+.filter-links li > a:focus,
+.show-filters .filter-links a.current:hover,
+.show-filters .filter-links a.current:focus {
+	color: #2ea2cc;
+}
+
+.wp-filter .search-form {
+	float: left;
+	margin-top: 9px;
+}
+
+.wp-filter .search-form input[type="search"] {
+	margin: 0;
+	padding: 3px 5px;
+	width: 280px;
+	font-size: 16px;
+	font-weight: 300;
+	line-height: 1.5;
+}
+
+.wp-filter .search-form select {
+	height: 33px;
+	vertical-align: top;
+}
+
+.wp-filter .drawer-toggle {
+	display: inline-block;
+	margin: 0 10px;
+	padding: 4px 6px;
+	color: #666;
+	cursor: pointer;
+}
+
+.wp-filter .drawer-toggle:before {
+	display: inline-block;
+	vertical-align: top;
+	content: "\f111";
+	margin: 0 0 0 5px;
+	width: 16px;
+	height: 16px;
+	color: #777;
+	-webkit-transition: color .1s ease-in 0;
+	transition: color .1s ease-in 0;
+	font-family: "dashicons";
+	font-size: 16px;
+	line-height: 1;
+	text-align: center;
+	text-decoration: inherit;
+	font-weight: normal;
+	font-style: normal;
+	-webkit-font-smoothing: antialiased;
+}
+
+.wp-filter .drawer-toggle:hover,
+.wp-filter .drawer-toggle:hover:before {
+	color: #2ea2cc;
+}
+
+.wp-filter .drawer-toggle.current:before {
+	color: #fff;
+}
+
+.filter-drawer {
+	display: none;
+	margin: 0 -20px;
+	padding: 20px;
+	border-top: 1px solid #eee;
+	background: #fafafa;
+}
+
+.show-filters .filter-drawer {
+	display: block;
+	overflow: hidden;
+}
+
+.show-filters .wp-filter .drawer-toggle:hover,
+.show-filters .wp-filter .drawer-toggle:focus {
+	background: rgb(46, 162, 204);
+}
+
+.show-filters .filter-links a.current {
+	border-bottom: none;
+}
+
+.show-filters .wp-filter .drawer-toggle {
+	-webkit-border-radius: 2px;
+	border-radius: 2px;
+	border: none;
+	background: #777;
+	color: #fff;
+}
+
+.show-filters .wp-filter .drawer-toggle:before {
+	color: #fff;
+}
+
+.filter-group {
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+	float: right;
+	margin: 0 0 0 1%;
+	padding: 10px;
+	width: 19%;
+	background: #fff;
+	border: 1px solid #e5e5e5;
+	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+	box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+}
+
+.filter-group.wide {
+	width: 38%;
+}
+
+.filter-group h4 {
+	position: relative;
+	margin: 0;
+}
+
+.filter-drawer ol {
+	margin: 20px 0 0;
+	list-style-type: none;
+	font-size: 12px;
+}
+
+.filter-drawer li {
+	display: inline-block;
+	vertical-align: top;
+	margin: 5px 0;
+	padding-left: 25px;
+	width: 160px;
+	list-style-type: none;
+}
+
+.filter-drawer .buttons {
+	margin-bottom: 20px;
+}
+
+.filter-drawer .buttons .button span {
+	display: inline-block;
+	opacity: 0.8;
+	font-size: 12px;
+	text-indent: 10px;
+}
+
+.wp-filter .button.clear-filters {
+	display: none;
+	margin: 0 10px 20px 0;
+}
+
+.filtered-by {
+	display: none;
+	margin: 0;
+}
+
+.filtered-by > span {
+	font-weight: 600;
+}
+
+.filtered-by a {
+	margin-right: 10px;
+}
+
+.filtered-by .tags {
+	display: inline;
+}
+
+.filtered-by .tag {
+	margin: 0 5px;
+	padding: 4px 8px;
+	border: 1px solid #e5e5e5;
+	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+	box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+	background: #fff;
+	font-size: 11px;
+}
+
+.filters-applied .filter-group,
+.filters-applied .filter-drawer .buttons,
+.filters-applied .filter-drawer br {
+	display: none !important;
+}
+
+.filters-applied .filtered-by {
+	display: block;
+}
+
+.filters-applied .filter-drawer {
+	padding: 20px;
+}
+
+.show-filters .content-filterable,
+.show-filters.filters-applied.loading-content .content-filterable,
+.loading-content .content-filterable,
+.error .content-filterable {
+	display: none;
+}
+
+.show-filters.filters-applied .content-filterable {
+	display: block;
+}
+
+.loading-content .spinner {
+	display: block;
+	margin: 40px auto 0;
+	float: none;
+}
+
+@media only screen and (max-width: 1120px) {
+	.wp-filter .search-form {
+		float: none;
+		margin: 20px 0;
+	}
+
+	.filter-drawer {
+		border-bottom: 1px solid #eee;
+	}
+
+	.filter-group {
+		margin-bottom: 0;
+		margin-top: 5px;
+		width: 100%;
+	}
+
+	.filter-group li {
+		margin: 10px 0;
+	}
+}
+
+@media only screen and (max-width: 782px) {
+	.filter-group,
+	.filter-group li {
+		width: 100%;
+	}
+
+}
+
 
 /*------------------------------------------------------------------------------
   4.0 - Notifications
@@ -1054,12 +1383,6 @@ form.upgrade .hint {
 	color: #333;
 }
 
-#screen-meta-links a:focus {
-	border-color: #aaa;
-	-webkit-box-shadow: 0 2px 3px rgba(0,0,0,0.15);
-	box-shadow: 0 2px 3px rgba(0,0,0,0.15);
-}
-
 #screen-meta-links a.show-settings {
 	display: block;
 	font-size: 13px;
@@ -1343,6 +1666,7 @@ html.wp-toolbar {
 	}
 }
 
+.js .widget .widget-top,
 .js .postbox .hndle {
 	cursor: move;
 }
@@ -1374,20 +1698,15 @@ html.wp-toolbar {
 	line-height: 1;
 }
 
-.postbox h3,
-.stuffbox h3 {
-	margin-top: 1px;
+/* user-select is not a part of the CSS standard - may change behavior in the future */
+.postbox .hndle,
+.stuffbox .hndle {
 	-webkit-user-select: none;
 	-moz-user-select: none;
 	-ms-user-select: none;
 	user-select: none;
 }
 
-.js .widget .widget-top,
-.js .postbox h3 {
-	cursor: move;
-}
-
 .postbox .inside,
 .stuffbox .inside {
 	padding: 0 12px 12px;
@@ -1454,8 +1773,7 @@ html.wp-toolbar {
 	bottom: 0;
 	right: 0;
 	left: 0;
-	padding: 10px 0;
-	margin-left: 20px;
+	padding: 10px 20px;
 	color: #777;
 }
 
@@ -1651,6 +1969,10 @@ td.media-icon img {
 	max-height: 60px;
 }
 
+td.image-icon img {
+	border: 1px solid rgba(0, 0, 0, 0.07);
+}
+
 #howto {
 	font-size: 11px;
 	margin: 0 5px;
@@ -1795,21 +2117,28 @@ div.action-links {
 
 /* Plugin install thickbox */
 #plugin-information {
-	background: #fcfcfc;
+	background: #fff;
 	position: fixed;
 	top: 0;
 	left: 0;
 	bottom: 0;
 	right: 0;
-	height: auto;
+	height: 100%;
 	padding: 0;
 }
 
+#plugin-information-scrollable {
+	overflow: auto;
+	height: 100%;
+}
+
 #plugin-information-title {
-	padding: 0 20px 0 76px;
+	padding: 0 20px;
+	background: #f5f5f5;
 	font-size: 22px;
 	font-weight: 600;
 	line-height: 56px;
+	position: relative;
 	top: 0;
 	left: 0;
 	right: 0;
@@ -1819,20 +2148,72 @@ div.action-links {
 	white-space: nowrap;
 }
 
+#plugin-information-title.with-banner {
+	margin-left: 0;
+	height: 250px;
+	bottom: 250px;
+	-webkit-background-size: 100% auto;
+	background-size: 100% auto;
+}
+
+#plugin-information-title h2 {
+	font-size: 1em;
+	font-weight: bold;
+	padding: 0;
+	margin: 0;
+	max-width: 680px;
+	overflow: hidden;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+}
+
+#plugin-information-title.with-banner h2 {
+	font-family: "Helvetica Neue", sans-serif;
+	display: inline-block;
+	font-size: 30px;
+	line-height: 50px;
+	padding: 0 15px;
+	margin: 174px 10px 0 0;
+	color: #fff;
+	background: rgba( 30, 30, 30, 0.9 );
+	text-shadow: 0 1px 3px rgba( 0, 0, 0, 0.4 );
+	-webkit-box-shadow: 0 0 30px rgba( 255, 255, 255, 0.1 );
+	box-shadow: 0 0 30px rgba( 255, 255, 255, 0.1 );
+	-webkit-border-radius: 8px;
+	border-radius: 8px;
+}
+
+#plugin-information-title div.vignette {
+	display: none;
+}
+
+#plugin-information-title.with-banner div.vignette {
+	display: block;
+	float: left;
+	top: 0;
+	height: 250px;
+	width: 830px;
+	margin: 0 -20px;
+	background: transparent;
+	-webkit-box-shadow: inset 0 0 50px 4px rgba( 0, 0, 0, 0.2 ), inset 0 -1px 0 rgba( 0, 0, 0, 0.1 );
+	box-shadow: inset 0 0 50px 4px rgba( 0, 0, 0, 0.2 ), inset 0 -1px 0 rgba( 0, 0, 0, 0.1 );
+}
+
 #plugin-information-tabs {
 	padding: 0 16px;
-	position: absolute;
-	top: 56px;
+	position: relative;
 	left: 0;
 	right: 0;
 	height: 36px;
 	z-index: 1;
+	border-bottom: 1px solid #ddd;
+	background: #f3f3f3;
 }
 
 #plugin-information-tabs a {
 	position: relative;
 	float: right;
-	padding: 8px 10px 9px;
+	padding: 9px 10px;
 	margin: 0;
 	height: 18px;
 	line-height: 18px;
@@ -1843,38 +2224,53 @@ div.action-links {
 }
 
 #plugin-information-tabs a.current {
-	margin: -1px -1px 0;
+	margin: 0 -1px 0;
 	background: #fff;
 	border: 1px solid #ddd;
-	border-bottom: none;
+	border-bottom-color: #fff;
+	padding-top: 8px;
 	color: #333;
 }
 
+#plugin-information-tabs.with-banner a.current {
+	border-top: none;
+	padding-top: 9px;
+}
+
 #plugin-information-tabs a:active,
 #plugin-information-tabs a:focus {
 	outline: none;
 }
 
 #plugin-information-content {
+	overflow: hidden; /* equal height column trick */
 	background: #fff;
-	border-top: 1px solid #ddd;
-	border-bottom: 1px solid #ddd;
-	position: absolute;
-	top: 90px;
+	position: relative;
+	top: 0;
 	left: 0;
-	bottom: 58px;
 	right: 0;
+	min-height: 100%;
+	/* Height of title + tabs + install now */
+	min-height: -webkit-calc( 100% - 152px );
+	min-height: calc( 100% - 152px );
+}
+
+#plugin-information-content.with-banner {
+	/* Height of banner + tabs + install now */
+	min-height: -webkit-calc( 100% - 346px );
+	min-height: calc( 100% - 346px );
 }
 
 #section-holder {
-	margin: 0;
-	padding: 10px 26px;
-	position: absolute;
+	position: relative;
 	top: 0;
 	left: 250px;
 	bottom: 0;
 	right: 0;
-	overflow: auto;
+	margin-left: 250px; /* FYI box */
+	padding: 10px 26px;
+	margin-bottom: -99930px; /* a bit less than the padding below to accommodate footer */
+	padding-bottom: 99999px; /* equal height column trick */
 }
 
 #section-holder .updated {
@@ -1882,16 +2278,18 @@ div.action-links {
 }
 
 #plugin-information .fyi {
-	background: #f3f3f3;
-	border-right: 1px solid #ddd;
-	color: #666;
-	padding: 16px;
-	position: absolute;
+	display: block;
+	float: left;
+	position: relative;
 	top: 0;
 	left: 0;
-	bottom: 0;
+	padding: 16px;
+	margin-bottom: -99930px; /* slightly less than the padding below to accommodate footer */
+	padding-bottom: 99999px; /* equal height column trick */
 	width: 217px;
-	overflow: auto;
+	border-right: 1px solid #ddd;
+	background: #f3f3f3;
+	color: #666;
 }
 
 #plugin-information .fyi strong {
@@ -1922,6 +2320,54 @@ div.action-links {
 	margin: 0 0 10px;
 }
 
+#plugin-information .counter-container {
+	margin: 3px 0;
+}
+
+#plugin-information .counter-label {
+	float: right;
+	margin-left: 5px;
+	min-width: 55px;
+}
+
+#plugin-information .counter-back {
+	height: 17px;
+	width: 92px;
+	background-color: #ececec;
+	float: right;
+}
+
+#plugin-information .counter-bar {
+	height: 17px;
+	background-color: #fddb5a;
+	float: right;
+}
+
+#plugin-information .counter-count {
+	margin-right: 5px;
+}
+
+#plugin-information .fyi ul.contributors {
+	margin-top: 10px;
+}
+
+#plugin-information .fyi ul.contributors li {
+	display: inline-block;
+	margin-left: 8px;
+	vertical-align: middle;
+}
+
+#plugin-information .fyi ul.contributors li {
+	display: inline-block;
+	margin-left: 8px;
+	vertical-align: middle;
+}
+
+#plugin-information .fyi ul.contributors li img {
+	vertical-align: middle;
+	margin-left: 4px;
+}
+
 #plugin-information-footer {
 	padding: 15px 16px;
 	position: absolute;
@@ -1929,12 +2375,20 @@ div.action-links {
 	bottom: 0;
 	right: 0;
 	height: 28px;
+	border-top: 1px solid #ddd;
+	background: #f3f3f3;
 }
 
+/* @noflip */
+#plugin-information .section {
+	direction: ltr;
+}
+
+/* @noflip */
 #plugin-information .section ul,
 #plugin-information .section ol {
 	list-style-type: disc;
-	margin-right: 24px;
+	margin-left: 24px;
 }
 
 #plugin-information .section,
@@ -1958,9 +2412,10 @@ div.action-links {
 	box-shadow: 0 1px 2px rgba( 0, 0, 0, 0.3 );
 }
 
+/* @noflip */
 #plugin-information #section-screenshots li p {
 	font-style: italic;
-	padding-right: 20px;
+	padding-left: 20px;
 }
 
 #plugin-information pre {
@@ -1969,25 +2424,101 @@ div.action-links {
 	border: 1px solid #ccc;
 }
 
+/* @noflip */
+#plugin-information .review {
+	overflow: hidden; /* clearfix */
+	width: 100%;
+	margin-bottom: 20px;
+	border-bottom: 1px solid #e6e6e6;
+}
+
+#plugin-information .review-title-section {
+	overflow: hidden; /* clearfix */
+}
+
+/* @noflip */
+#plugin-information .review-title-section h4 {
+	display: inline-block;
+	float: left;
+	margin: 0 6px 0 0;
+}
+
+#plugin-information .reviewer-info p {
+	clear: both;
+	margin: 0;
+	padding-top: 2px;
+}
+
+/* @noflip */
+#plugin-information .reviewer-info .avatar {
+	float: left;
+	margin: 4px 6px 0 0;
+}
+
+/* @noflip */
+#plugin-information .reviewer-info .star-rating {
+	float: left;
+}
+
+/* @noflip */
+#plugin-information .review-meta {
+	float: left;
+	margin-left: 0.75em;
+}
+
+/* @noflip */
+#plugin-information .review-body {
+	float: left;
+	width: 100%;
+}
+
 .plugin-version-author-uri {
 	font-size: 13px;
 }
 
-@media screen and ( max-width: 782px ) {
-	#plugin-information-content {
-		overflow: auto;
-		bottom: 58px;
+@media screen and ( max-width: 771px ) {
+	#plugin-information-title.with-banner {
+		height: 100px;
+		bottom: 100px;
+	}
+
+	#plugin-information-title.with-banner h2 {
+		margin-top: 30px;
+		font-size: 20px;
+		line-height: 40px;
+		max-width: 85%;
+	}
+
+	#plugin-information-title.with-banner div.vignette {
+		height: 100px;
+		bottom: 100px;
+		width: 800%;
+	}
+
+	#plugin-information-tabs {
+		overflow: hidden; /* clearfix */
+		padding: 0;
+		height: auto; /* let tabs wrap */
+	}
+
+	#plugin-information-tabs a.current {
+		margin-bottom: 0;
+		border-bottom: none;
 	}
 
 	#plugin-information .fyi {
+		float: none;
 		border: 1px solid #ddd;
 		position: static;
 		width: auto;
-		margin: 26px 26px 16px;
+		margin: 26px 26px 0;
+		padding-bottom: 0; /* reset from the two column height fix */
 	}
 
 	#section-holder {
 		position: static;
+		margin: 0;
+		padding-bottom: 70px; /* reset from the two column height fix, plus accomodate footer */
 	}
 
 	#plugin-information .fyi h3,
@@ -2048,9 +2579,37 @@ body.import-php .tb-close-icon,
 body.plugins-php .tb-close-icon,
 body.update-core-php .tb-close-icon,
 body.index-php .tb-close-icon {
-	line-height: 48px;
-	width: 48px;
-	height: 48px;
+	right: auto;
+	left: -30px;
+	color: #eee;
+	-webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
+	transition: color .1s ease-in-out, background .1s ease-in-out;
+}
+
+body.plugin-install-php #TB_closeWindowButton:focus,
+body.plugin-install-php #TB_closeWindowButton:focus .tb-close-icon,
+body.plugin-install-php .tb-close-icon:focus,
+body.plugin-install-php .tb-close-icon:hover,
+body.import-php #TB_closeWindowButton:focus,
+body.import-php #TB_closeWindowButton:focus .tb-close-icon,
+body.import-php .tb-close-icon:focus,
+body.import-php .tb-close-icon:hover,
+body.plugins-php #TB_closeWindowButton:focus,
+body.plugins-php #TB_closeWindowButton:focus .tb-close-icon,
+body.plugins-php .tb-close-icon:focus,
+body.plugins-php .tb-close-icon:hover,
+body.update-core-php #TB_closeWindowButton:focus,
+body.update-core-php #TB_closeWindowButton:focus .tb-close-icon,
+body.update-core-php .tb-close-icon:focus,
+body.update-core-php .tb-close-icon:hover,
+body.index-php #TB_closeWindowButton:focus,
+body.index-php #TB_closeWindowButton:focus .tb-close-icon,
+body.index-php .tb-close-icon:focus,
+body.index-php .tb-close-icon:hover {
+	color: #2ea2cc;
+	outline: none;
+	-webkit-box-shadow: none;
+	box-shadow: none;
 }
 
 body.plugin-install-php .tb-close-icon:before,
@@ -2058,7 +2617,20 @@ body.import-php .tb-close-icon:before,
 body.plugins-php .tb-close-icon:before,
 body.update-core-php .tb-close-icon:before,
 body.index-php .tb-close-icon:before {
-	line-height: 48px;
+	content: "\f335";
+	font-size: 32px;
+}
+
+/* move plugin install close icon to top on narrow screens */
+@media screen and ( max-width: 830px ) {
+	body.plugin-install-php .tb-close-icon,
+	body.import-php .tb-close-icon,
+	body.plugins-php .tb-close-icon,
+	body.update-core-php .tb-close-icon,
+	body.index-php .tb-close-icon {
+		left: 0;
+		top: -30px;
+	}
 }
 
 /* @todo: move this. */
@@ -2270,7 +2842,8 @@ img {
 
 .control-section.open .accordion-section-title:after,
 #customize-info.open .accordion-section-title:after,
-.nav-menus-php .menu-item-edit-active .item-edit:before {
+.nav-menus-php .menu-item-edit-active .item-edit:before,
+.widget.open .widget-top a.widget-action:after {
 	content: '\f142';
 }
 
@@ -2487,10 +3060,6 @@ img {
 		-webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
 	}
 
-	#wpwrap {
-		background: #f0f0f0;
-	}
-
 	#wpcontent {
 		position: relative;
 		margin-right: 0;
@@ -2550,6 +3119,10 @@ img {
 		left: -190px;
 	}
 
+	code {
+		word-wrap: break-word;
+	}
+
 	/* General Metabox */
 	.postbox {
 		font-size: 14px;
diff --git a/wp-admin/css/common.css b/wp-admin/css/common.css
index fbd77c29c..a995ee476 100644
--- a/wp-admin/css/common.css
+++ b/wp-admin/css/common.css
@@ -9,16 +9,17 @@
 
 #wpcontent {
 	height: 100%;
+	padding-left: 20px;
 }
 
 #wpcontent,
 #wpfooter {
-	margin-left: 180px;
+	margin-left: 160px;
 }
 
 .folded #wpcontent,
 .folded #wpfooter {
-	margin-left: 56px;
+	margin-left: 36px;
 }
 
 #wpbody-content {
@@ -218,6 +219,10 @@ body.iframe {
 	padding-top: 1px;
 }
 
+body.modal-open {
+	overflow: hidden;
+}
+
 iframe,
 img {
 	border: 0;
@@ -252,16 +257,22 @@ a:active {
 
 a:focus {
 	color: #124964;
+    -webkit-box-shadow:
+    	0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
+    box-shadow:
+    	0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
 }
 
-a:focus,
-a:active {
-	outline: thin dotted;
+.ie8 a:focus {
+	outline: #5b9dd9 solid 1px;
 }
 
 #adminmenu a:focus,
-#adminmenu a:active,
 .screen-reader-text:focus {
+	-webkit-box-shadow: none;
+	box-shadow: none;
 	outline: none;
 }
 
@@ -699,12 +710,9 @@ td.help {
 ------------------------------------------------------------------------------*/
 
 .widget .widget-top,
-.postbox h3,
-.stuffbox h3,
+.postbox .hndle,
+.stuffbox .hndle,
 .control-section .accordion-section-title,
-h3.dashboard-widget-title,
-h3.dashboard-widget-title span,
-h3.dashboard-widget-title small,
 .sidebar-name,
 #nav-menu-header,
 #nav-menu-footer,
@@ -723,9 +731,8 @@ h3.dashboard-widget-title small,
 	color: #222;
 }
 
-.postbox h3,
-#namediv h3,
-#submitdiv h3 {
+.postbox .hndle,
+.stuffbox .hndle {
 	border-bottom: 1px solid #eee;
 }
 
@@ -741,7 +748,7 @@ h3.dashboard-widget-title small,
 }
 
 /* @todo can we combine these into a class or use an existing dashicon one? */
-#welcome-panel.welcome-panel .welcome-panel-close::before,
+#welcome-panel.welcome-panel .welcome-panel-close:before,
 .tagchecklist span a:before,
 #bulk-titles div a:before {
 	background: none;
@@ -751,12 +758,20 @@ h3.dashboard-widget-title small,
 	font: normal 16px/1 'dashicons';
 	speak: none;
 	height: 20px;
-	margin: 2px 0;
 	text-align: center;
 	width: 20px;
 	-webkit-font-smoothing: antialiased !important;
 }
 
+#welcome-panel.welcome-panel .welcome-panel-close:before {
+	margin: 0;
+}
+
+.tagchecklist span a:before,
+#bulk-titles div a:before {
+	margin: 2px 0;
+}
+
 #welcome-panel.welcome-panel .welcome-panel-close:hover:before,
 .tagchecklist span a:hover:before,
 #bulk-titles div a:hover:before {
@@ -918,6 +933,320 @@ th.action-links {
 	text-align: right;
 }
 
+/* Filter bar */
+.wp-filter {
+	display: inline-block;
+	position: relative;
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+	margin: 12px 0 25px;
+	padding: 0 20px;
+	width: 100%;
+	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+	box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+	border: 1px solid #e5e5e5;
+	background: #fff;
+	color: #555;
+	font-size: 13px;
+}
+
+.wp-filter a {
+	text-decoration: none;
+}
+
+.filter-count {
+	display: inline-block;
+	vertical-align: middle;
+	min-width: 4em;
+}
+
+.title-count,
+.filter-count .count {
+	display: inline-block;
+	position: relative;
+	top: -1px;
+	padding: 4px 10px;
+	-webkit-border-radius: 30px;
+	border-radius: 30px;
+	background: #777;
+	color: #fff;
+	font-size: 14px;
+	font-weight: 600;
+}
+
+/* not a part of filter bar, but derived from it, so here for now */
+.title-count {
+	display: inline;
+	top: -3px;
+	margin-left: 5px;
+	margin-right: 20px;
+}
+
+.filter-links {
+	display: inline-block;
+	margin: 0;
+}
+
+.filter-links li {
+	display: inline-block;
+	margin: 0;
+}
+
+.filter-links li > a {
+	display: inline-block;
+	margin: 0 10px;
+	padding: 15px 0;
+	border-bottom: 4px solid #fff;
+	color: #666;
+	cursor: pointer;
+}
+
+.filter-links .current {
+	-webkit-box-shadow: none;
+	box-shadow: none;
+	border-bottom: 4px solid #666;
+	color: #222;
+}
+
+.filter-links li > a:hover,
+.filter-links li > a:focus,
+.show-filters .filter-links a.current:hover,
+.show-filters .filter-links a.current:focus {
+	color: #2ea2cc;
+}
+
+.wp-filter .search-form {
+	float: right;
+	margin-top: 9px;
+}
+
+.wp-filter .search-form input[type="search"] {
+	margin: 0;
+	padding: 3px 5px;
+	width: 280px;
+	font-size: 16px;
+	font-weight: 300;
+	line-height: 1.5;
+}
+
+.wp-filter .search-form select {
+	height: 33px;
+	vertical-align: top;
+}
+
+.wp-filter .drawer-toggle {
+	display: inline-block;
+	margin: 0 10px;
+	padding: 4px 6px;
+	color: #666;
+	cursor: pointer;
+}
+
+.wp-filter .drawer-toggle:before {
+	display: inline-block;
+	vertical-align: top;
+	content: "\f111";
+	margin: 0 5px 0 0;
+	width: 16px;
+	height: 16px;
+	color: #777;
+	-webkit-transition: color .1s ease-in 0;
+	transition: color .1s ease-in 0;
+	font-family: "dashicons";
+	font-size: 16px;
+	line-height: 1;
+	text-align: center;
+	text-decoration: inherit;
+	font-weight: normal;
+	font-style: normal;
+	-webkit-font-smoothing: antialiased;
+}
+
+.wp-filter .drawer-toggle:hover,
+.wp-filter .drawer-toggle:hover:before {
+	color: #2ea2cc;
+}
+
+.wp-filter .drawer-toggle.current:before {
+	color: #fff;
+}
+
+.filter-drawer {
+	display: none;
+	margin: 0 -20px;
+	padding: 20px;
+	border-top: 1px solid #eee;
+	background: #fafafa;
+}
+
+.show-filters .filter-drawer {
+	display: block;
+	overflow: hidden;
+}
+
+.show-filters .wp-filter .drawer-toggle:hover,
+.show-filters .wp-filter .drawer-toggle:focus {
+	background: rgb(46, 162, 204);
+}
+
+.show-filters .filter-links a.current {
+	border-bottom: none;
+}
+
+.show-filters .wp-filter .drawer-toggle {
+	-webkit-border-radius: 2px;
+	border-radius: 2px;
+	border: none;
+	background: #777;
+	color: #fff;
+}
+
+.show-filters .wp-filter .drawer-toggle:before {
+	color: #fff;
+}
+
+.filter-group {
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+	float: left;
+	margin: 0 1% 0 0;
+	padding: 10px;
+	width: 19%;
+	background: #fff;
+	border: 1px solid #e5e5e5;
+	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+	box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+}
+
+.filter-group.wide {
+	width: 38%;
+}
+
+.filter-group h4 {
+	position: relative;
+	margin: 0;
+}
+
+.filter-drawer ol {
+	margin: 20px 0 0;
+	list-style-type: none;
+	font-size: 12px;
+}
+
+.filter-drawer li {
+	display: inline-block;
+	vertical-align: top;
+	margin: 5px 0;
+	padding-right: 25px;
+	width: 160px;
+	list-style-type: none;
+}
+
+.filter-drawer .buttons {
+	margin-bottom: 20px;
+}
+
+.filter-drawer .buttons .button span {
+	display: inline-block;
+	opacity: 0.8;
+	font-size: 12px;
+	text-indent: 10px;
+}
+
+.wp-filter .button.clear-filters {
+	display: none;
+	margin: 0 0 20px 10px;
+}
+
+.filtered-by {
+	display: none;
+	margin: 0;
+}
+
+.filtered-by > span {
+	font-weight: 600;
+}
+
+.filtered-by a {
+	margin-left: 10px;
+}
+
+.filtered-by .tags {
+	display: inline;
+}
+
+.filtered-by .tag {
+	margin: 0 5px;
+	padding: 4px 8px;
+	border: 1px solid #e5e5e5;
+	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+	box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+	background: #fff;
+	font-size: 11px;
+}
+
+.filters-applied .filter-group,
+.filters-applied .filter-drawer .buttons,
+.filters-applied .filter-drawer br {
+	display: none !important;
+}
+
+.filters-applied .filtered-by {
+	display: block;
+}
+
+.filters-applied .filter-drawer {
+	padding: 20px;
+}
+
+.show-filters .content-filterable,
+.show-filters.filters-applied.loading-content .content-filterable,
+.loading-content .content-filterable,
+.error .content-filterable {
+	display: none;
+}
+
+.show-filters.filters-applied .content-filterable {
+	display: block;
+}
+
+.loading-content .spinner {
+	display: block;
+	margin: 40px auto 0;
+	float: none;
+}
+
+@media only screen and (max-width: 1120px) {
+	.wp-filter .search-form {
+		float: none;
+		margin: 20px 0;
+	}
+
+	.filter-drawer {
+		border-bottom: 1px solid #eee;
+	}
+
+	.filter-group {
+		margin-bottom: 0;
+		margin-top: 5px;
+		width: 100%;
+	}
+
+	.filter-group li {
+		margin: 10px 0;
+	}
+}
+
+@media only screen and (max-width: 782px) {
+	.filter-group,
+	.filter-group li {
+		width: 100%;
+	}
+
+}
+
 
 /*------------------------------------------------------------------------------
   4.0 - Notifications
@@ -1054,12 +1383,6 @@ form.upgrade .hint {
 	color: #333;
 }
 
-#screen-meta-links a:focus {
-	border-color: #aaa;
-	-webkit-box-shadow: 0 2px 3px rgba(0,0,0,0.15);
-	box-shadow: 0 2px 3px rgba(0,0,0,0.15);
-}
-
 #screen-meta-links a.show-settings {
 	display: block;
 	font-size: 13px;
@@ -1343,6 +1666,7 @@ html.wp-toolbar {
 	}
 }
 
+.js .widget .widget-top,
 .js .postbox .hndle {
 	cursor: move;
 }
@@ -1374,20 +1698,15 @@ html.wp-toolbar {
 	line-height: 1;
 }
 
-.postbox h3,
-.stuffbox h3 {
-	margin-top: 1px;
+/* user-select is not a part of the CSS standard - may change behavior in the future */
+.postbox .hndle,
+.stuffbox .hndle {
 	-webkit-user-select: none;
 	-moz-user-select: none;
 	-ms-user-select: none;
 	user-select: none;
 }
 
-.js .widget .widget-top,
-.js .postbox h3 {
-	cursor: move;
-}
-
 .postbox .inside,
 .stuffbox .inside {
 	padding: 0 12px 12px;
@@ -1454,8 +1773,7 @@ html.wp-toolbar {
 	bottom: 0;
 	left: 0;
 	right: 0;
-	padding: 10px 0;
-	margin-right: 20px;
+	padding: 10px 20px;
 	color: #777;
 }
 
@@ -1651,6 +1969,10 @@ td.media-icon img {
 	max-height: 60px;
 }
 
+td.image-icon img {
+	border: 1px solid rgba(0, 0, 0, 0.07);
+}
+
 #howto {
 	font-size: 11px;
 	margin: 0 5px;
@@ -1795,21 +2117,28 @@ div.action-links {
 
 /* Plugin install thickbox */
 #plugin-information {
-	background: #fcfcfc;
+	background: #fff;
 	position: fixed;
 	top: 0;
 	right: 0;
 	bottom: 0;
 	left: 0;
-	height: auto;
+	height: 100%;
 	padding: 0;
 }
 
+#plugin-information-scrollable {
+	overflow: auto;
+	height: 100%;
+}
+
 #plugin-information-title {
-	padding: 0 76px 0 20px;
+	padding: 0 20px;
+	background: #f5f5f5;
 	font-size: 22px;
 	font-weight: 600;
 	line-height: 56px;
+	position: relative;
 	top: 0;
 	right: 0;
 	left: 0;
@@ -1819,20 +2148,72 @@ div.action-links {
 	white-space: nowrap;
 }
 
+#plugin-information-title.with-banner {
+	margin-right: 0;
+	height: 250px;
+	bottom: 250px;
+	-webkit-background-size: 100% auto;
+	background-size: 100% auto;
+}
+
+#plugin-information-title h2 {
+	font-size: 1em;
+	font-weight: bold;
+	padding: 0;
+	margin: 0;
+	max-width: 680px;
+	overflow: hidden;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+}
+
+#plugin-information-title.with-banner h2 {
+	font-family: "Helvetica Neue", sans-serif;
+	display: inline-block;
+	font-size: 30px;
+	line-height: 50px;
+	padding: 0 15px;
+	margin: 174px 0 0 10px;
+	color: #fff;
+	background: rgba( 30, 30, 30, 0.9 );
+	text-shadow: 0 1px 3px rgba( 0, 0, 0, 0.4 );
+	-webkit-box-shadow: 0 0 30px rgba( 255, 255, 255, 0.1 );
+	box-shadow: 0 0 30px rgba( 255, 255, 255, 0.1 );
+	-webkit-border-radius: 8px;
+	border-radius: 8px;
+}
+
+#plugin-information-title div.vignette {
+	display: none;
+}
+
+#plugin-information-title.with-banner div.vignette {
+	display: block;
+	float: right;
+	top: 0;
+	height: 250px;
+	width: 830px;
+	margin: 0 -20px;
+	background: transparent;
+	-webkit-box-shadow: inset 0 0 50px 4px rgba( 0, 0, 0, 0.2 ), inset 0 -1px 0 rgba( 0, 0, 0, 0.1 );
+	box-shadow: inset 0 0 50px 4px rgba( 0, 0, 0, 0.2 ), inset 0 -1px 0 rgba( 0, 0, 0, 0.1 );
+}
+
 #plugin-information-tabs {
 	padding: 0 16px;
-	position: absolute;
-	top: 56px;
+	position: relative;
 	right: 0;
 	left: 0;
 	height: 36px;
 	z-index: 1;
+	border-bottom: 1px solid #ddd;
+	background: #f3f3f3;
 }
 
 #plugin-information-tabs a {
 	position: relative;
 	float: left;
-	padding: 8px 10px 9px;
+	padding: 9px 10px;
 	margin: 0;
 	height: 18px;
 	line-height: 18px;
@@ -1843,38 +2224,53 @@ div.action-links {
 }
 
 #plugin-information-tabs a.current {
-	margin: -1px -1px 0;
+	margin: 0 -1px 0;
 	background: #fff;
 	border: 1px solid #ddd;
-	border-bottom: none;
+	border-bottom-color: #fff;
+	padding-top: 8px;
 	color: #333;
 }
 
+#plugin-information-tabs.with-banner a.current {
+	border-top: none;
+	padding-top: 9px;
+}
+
 #plugin-information-tabs a:active,
 #plugin-information-tabs a:focus {
 	outline: none;
 }
 
 #plugin-information-content {
+	overflow: hidden; /* equal height column trick */
 	background: #fff;
-	border-top: 1px solid #ddd;
-	border-bottom: 1px solid #ddd;
-	position: absolute;
-	top: 90px;
+	position: relative;
+	top: 0;
 	right: 0;
-	bottom: 58px;
 	left: 0;
+	min-height: 100%;
+	/* Height of title + tabs + install now */
+	min-height: -webkit-calc( 100% - 152px );
+	min-height: calc( 100% - 152px );
+}
+
+#plugin-information-content.with-banner {
+	/* Height of banner + tabs + install now */
+	min-height: -webkit-calc( 100% - 346px );
+	min-height: calc( 100% - 346px );
 }
 
 #section-holder {
-	margin: 0;
-	padding: 10px 26px;
-	position: absolute;
+	position: relative;
 	top: 0;
 	right: 250px;
 	bottom: 0;
 	left: 0;
-	overflow: auto;
+	margin-right: 250px; /* FYI box */
+	padding: 10px 26px;
+	margin-bottom: -99930px; /* a bit less than the padding below to accommodate footer */
+	padding-bottom: 99999px; /* equal height column trick */
 }
 
 #section-holder .updated {
@@ -1882,16 +2278,18 @@ div.action-links {
 }
 
 #plugin-information .fyi {
-	background: #f3f3f3;
-	border-left: 1px solid #ddd;
-	color: #666;
-	padding: 16px;
-	position: absolute;
+	display: block;
+	float: right;
+	position: relative;
 	top: 0;
 	right: 0;
-	bottom: 0;
+	padding: 16px;
+	margin-bottom: -99930px; /* slightly less than the padding below to accommodate footer */
+	padding-bottom: 99999px; /* equal height column trick */
 	width: 217px;
-	overflow: auto;
+	border-left: 1px solid #ddd;
+	background: #f3f3f3;
+	color: #666;
 }
 
 #plugin-information .fyi strong {
@@ -1922,6 +2320,54 @@ div.action-links {
 	margin: 0 0 10px;
 }
 
+#plugin-information .counter-container {
+	margin: 3px 0;
+}
+
+#plugin-information .counter-label {
+	float: left;
+	margin-right: 5px;
+	min-width: 55px;
+}
+
+#plugin-information .counter-back {
+	height: 17px;
+	width: 92px;
+	background-color: #ececec;
+	float: left;
+}
+
+#plugin-information .counter-bar {
+	height: 17px;
+	background-color: #fddb5a;
+	float: left;
+}
+
+#plugin-information .counter-count {
+	margin-left: 5px;
+}
+
+#plugin-information .fyi ul.contributors {
+	margin-top: 10px;
+}
+
+#plugin-information .fyi ul.contributors li {
+	display: inline-block;
+	margin-right: 8px;
+	vertical-align: middle;
+}
+
+#plugin-information .fyi ul.contributors li {
+	display: inline-block;
+	margin-right: 8px;
+	vertical-align: middle;
+}
+
+#plugin-information .fyi ul.contributors li img {
+	vertical-align: middle;
+	margin-right: 4px;
+}
+
 #plugin-information-footer {
 	padding: 15px 16px;
 	position: absolute;
@@ -1929,8 +2375,16 @@ div.action-links {
 	bottom: 0;
 	left: 0;
 	height: 28px;
+	border-top: 1px solid #ddd;
+	background: #f3f3f3;
+}
+
+/* @noflip */
+#plugin-information .section {
+	direction: ltr;
 }
 
+/* @noflip */
 #plugin-information .section ul,
 #plugin-information .section ol {
 	list-style-type: disc;
@@ -1958,6 +2412,7 @@ div.action-links {
 	box-shadow: 0 1px 2px rgba( 0, 0, 0, 0.3 );
 }
 
+/* @noflip */
 #plugin-information #section-screenshots li p {
 	font-style: italic;
 	padding-left: 20px;
@@ -1969,25 +2424,101 @@ div.action-links {
 	border: 1px solid #ccc;
 }
 
+/* @noflip */
+#plugin-information .review {
+	overflow: hidden; /* clearfix */
+	width: 100%;
+	margin-bottom: 20px;
+	border-bottom: 1px solid #e6e6e6;
+}
+
+#plugin-information .review-title-section {
+	overflow: hidden; /* clearfix */
+}
+
+/* @noflip */
+#plugin-information .review-title-section h4 {
+	display: inline-block;
+	float: left;
+	margin: 0 6px 0 0;
+}
+
+#plugin-information .reviewer-info p {
+	clear: both;
+	margin: 0;
+	padding-top: 2px;
+}
+
+/* @noflip */
+#plugin-information .reviewer-info .avatar {
+	float: left;
+	margin: 4px 6px 0 0;
+}
+
+/* @noflip */
+#plugin-information .reviewer-info .star-rating {
+	float: left;
+}
+
+/* @noflip */
+#plugin-information .review-meta {
+	float: left;
+	margin-left: 0.75em;
+}
+
+/* @noflip */
+#plugin-information .review-body {
+	float: left;
+	width: 100%;
+}
+
 .plugin-version-author-uri {
 	font-size: 13px;
 }
 
-@media screen and ( max-width: 782px ) {
-	#plugin-information-content {
-		overflow: auto;
-		bottom: 58px;
+@media screen and ( max-width: 771px ) {
+	#plugin-information-title.with-banner {
+		height: 100px;
+		bottom: 100px;
+	}
+
+	#plugin-information-title.with-banner h2 {
+		margin-top: 30px;
+		font-size: 20px;
+		line-height: 40px;
+		max-width: 85%;
+	}
+
+	#plugin-information-title.with-banner div.vignette {
+		height: 100px;
+		bottom: 100px;
+		width: 800%;
+	}
+
+	#plugin-information-tabs {
+		overflow: hidden; /* clearfix */
+		padding: 0;
+		height: auto; /* let tabs wrap */
+	}
+
+	#plugin-information-tabs a.current {
+		margin-bottom: 0;
+		border-bottom: none;
 	}
 
 	#plugin-information .fyi {
+		float: none;
 		border: 1px solid #ddd;
 		position: static;
 		width: auto;
-		margin: 26px 26px 16px;
+		margin: 26px 26px 0;
+		padding-bottom: 0; /* reset from the two column height fix */
 	}
 
 	#section-holder {
 		position: static;
+		margin: 0;
+		padding-bottom: 70px; /* reset from the two column height fix, plus accomodate footer */
 	}
 
 	#plugin-information .fyi h3,
@@ -2048,9 +2579,37 @@ body.import-php .tb-close-icon,
 body.plugins-php .tb-close-icon,
 body.update-core-php .tb-close-icon,
 body.index-php .tb-close-icon {
-	line-height: 48px;
-	width: 48px;
-	height: 48px;
+	left: auto;
+	right: -30px;
+	color: #eee;
+	-webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
+	transition: color .1s ease-in-out, background .1s ease-in-out;
+}
+
+body.plugin-install-php #TB_closeWindowButton:focus,
+body.plugin-install-php #TB_closeWindowButton:focus .tb-close-icon,
+body.plugin-install-php .tb-close-icon:focus,
+body.plugin-install-php .tb-close-icon:hover,
+body.import-php #TB_closeWindowButton:focus,
+body.import-php #TB_closeWindowButton:focus .tb-close-icon,
+body.import-php .tb-close-icon:focus,
+body.import-php .tb-close-icon:hover,
+body.plugins-php #TB_closeWindowButton:focus,
+body.plugins-php #TB_closeWindowButton:focus .tb-close-icon,
+body.plugins-php .tb-close-icon:focus,
+body.plugins-php .tb-close-icon:hover,
+body.update-core-php #TB_closeWindowButton:focus,
+body.update-core-php #TB_closeWindowButton:focus .tb-close-icon,
+body.update-core-php .tb-close-icon:focus,
+body.update-core-php .tb-close-icon:hover,
+body.index-php #TB_closeWindowButton:focus,
+body.index-php #TB_closeWindowButton:focus .tb-close-icon,
+body.index-php .tb-close-icon:focus,
+body.index-php .tb-close-icon:hover {
+	color: #2ea2cc;
+	outline: none;
+	-webkit-box-shadow: none;
+	box-shadow: none;
 }
 
 body.plugin-install-php .tb-close-icon:before,
@@ -2058,7 +2617,20 @@ body.import-php .tb-close-icon:before,
 body.plugins-php .tb-close-icon:before,
 body.update-core-php .tb-close-icon:before,
 body.index-php .tb-close-icon:before {
-	line-height: 48px;
+	content: "\f335";
+	font-size: 32px;
+}
+
+/* move plugin install close icon to top on narrow screens */
+@media screen and ( max-width: 830px ) {
+	body.plugin-install-php .tb-close-icon,
+	body.import-php .tb-close-icon,
+	body.plugins-php .tb-close-icon,
+	body.update-core-php .tb-close-icon,
+	body.index-php .tb-close-icon {
+		right: 0;
+		top: -30px;
+	}
 }
 
 /* @todo: move this. */
@@ -2270,7 +2842,8 @@ img {
 
 .control-section.open .accordion-section-title:after,
 #customize-info.open .accordion-section-title:after,
-.nav-menus-php .menu-item-edit-active .item-edit:before {
+.nav-menus-php .menu-item-edit-active .item-edit:before,
+.widget.open .widget-top a.widget-action:after {
 	content: '\f142';
 }
 
@@ -2487,10 +3060,6 @@ img {
 		-webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
 	}
 
-	#wpwrap {
-		background: #f0f0f0;
-	}
-
 	#wpcontent {
 		position: relative;
 		margin-left: 0;
@@ -2550,6 +3119,10 @@ img {
 		right: -190px;
 	}
 
+	code {
+		word-wrap: break-word;
+	}
+
 	/* General Metabox */
 	.postbox {
 		font-size: 14px;
diff --git a/wp-admin/css/customize-controls-rtl.css b/wp-admin/css/customize-controls-rtl.css
index f3108a38c..045decac0 100644
--- a/wp-admin/css/customize-controls-rtl.css
+++ b/wp-admin/css/customize-controls-rtl.css
@@ -32,6 +32,15 @@ body {
 	display: block;
 }
 
+#customize-header-actions {
+	border-bottom: 1px solid #ddd;
+}
+
+#customize-controls .wp-full-overlay-sidebar-content {
+	overflow-y: auto;
+	overflow-x: hidden;
+}
+
 #customize-info {
 	border: none;
 	border-top: 1px solid #ddd;
@@ -45,22 +54,12 @@ body {
 	border-bottom: 1px solid #eeeeee;
 }
 
-#customize-info.open .accordion-section-title,
-#customize-info .accordion-section-title:hover,
-#customize-info .accordion-section-title:focus {
-	color: #555555;
-}
-
 #customize-info.open .accordion-section-title:after,
 #customize-info .accordion-section-title:hover:after,
 #customize-info .accordion-section-title:focus:after {
 	color: #555555;
 }
 
-#customize-info.open .accordion-section-title {
-	border-color: transparent;
-}
-
 #customize-info .preview-notice {
 	font-size: 13px;
 	line-height: 24px;
@@ -83,11 +82,6 @@ body {
 	line-height: 20px;
 }
 
-#customize-theme-controls {
-	-webkit-box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.1);
-	box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.1);
-}
-
 #customize-theme-controls .control-section {
 	border: none;
 }
@@ -100,14 +94,17 @@ body {
 
 #customize-theme-controls .accordion-section-content {
 	color: #555555;
-	background: white;
+	background: #fff;
 }
 
-#customize-theme-controls .control-section:hover .accordion-section-title,
+#customize-info.open .accordion-section-title,
+#customize-info .accordion-section-title:hover,
+#customize-info .accordion-section-title:focus,
+#customize-theme-controls .control-section:hover > .accordion-section-title,
 #customize-theme-controls .control-section .accordion-section-title:hover,
 #customize-theme-controls .control-section.open .accordion-section-title,
 #customize-theme-controls .control-section .accordion-section-title:focus {
-	color: #555555;
+	color: #222;
 	background: #f5f5f5;
 }
 
@@ -118,13 +115,14 @@ body {
 	background: #f5f5f5;
 }
 
-#customize-theme-controls .control-section:hover .accordion-section-title::after,
-#customize-theme-controls .control-section .accordion-section-title:hover::after,
-#customize-theme-controls .control-section.open .accordion-section-title::after,
-#customize-theme-controls .control-section .accordion-section-title:focus::after {
-	color: #555555;
+#customize-theme-controls .control-section:hover > .accordion-section-title:after,
+#customize-theme-controls .control-section .accordion-section-title:hover:after,
+#customize-theme-controls .control-section.open .accordion-section-title:after,
+#customize-theme-controls .control-section .accordion-section-title:focus:after {
+	color: #555;
 }
 
+#customize-info.open,
 #customize-theme-controls .control-section.open {
 	border-bottom: 1px solid #eeeeee;
 }
@@ -134,7 +132,7 @@ body {
 }
 
 #customize-theme-controls .control-section:last-of-type.open,
-#customize-theme-controls .control-section:last-of-type .accordion-section-title {
+#customize-theme-controls .control-section:last-of-type > .accordion-section-title {
 	border-bottom-color: #ddd;
 }
 
@@ -143,6 +141,192 @@ body {
 	margin: 0;
 }
 
+.control-section.control-panel > .accordion-section-title {
+	padding-left: 54px;
+}
+
+.control-section.control-panel > .accordion-section-title:after {
+	content: "\f345";
+	background: #f5f5f5;
+	color: #555;
+	width: 38px;
+	height: 100%;
+	margin: -11px 0 -11px -10px; /* compensate for positioning */
+	line-height: 45px;
+	padding-right: 5px;
+	border-right: 1px solid #eee;
+	z-index: 0;
+}
+
+.rtl .control-section.control-panel > .accordion-section-title:after {
+	content: "\f341";
+}
+
+#customize-theme-controls .control-section.control-panel > h3.accordion-section-title:focus:after,
+#customize-theme-controls .control-section.control-panel > h3.accordion-section-title:hover:after {
+	background: #ddd;
+	color: #000;
+	border: 1px solid #d9d9d9;
+	border-left: none;
+	margin-top: -12px;
+	line-height: 44px;
+	z-index: 1;
+}
+
+.accordion-sub-container.control-panel-content {
+	display: none;
+	position: absolute;
+	right: 300px;
+	top: 0;
+	width: 300px;
+	border-top: 1px solid #ddd;
+	-webkit-transition: right ease-in-out .18s;
+	transition: right ease-in-out .18s;
+}
+
+.accordion-sub-container.control-panel-content.animating {
+	display: block;
+}
+
+.current-panel .accordion-sub-container.control-panel-content {
+	width: 100%;
+}
+
+.customize-controls-close {
+	display: block;
+	position: absolute;
+	top: 0;
+	right: 0;
+	width: 45px;
+	height: 45px;
+	padding-left: 2px;
+	background: #eee;
+	border-left: 1px solid #ddd;
+	color: #444;
+	cursor: pointer;
+	-webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
+	transition: color .1s ease-in-out, background .1s ease-in-out;
+}
+
+.control-panel-back {
+	display: block;
+	position: fixed;
+	top: 0;
+	z-index: 99;
+	right: -48px;
+	width: 45px;
+	height: 45px;
+	padding-left: 2px;
+	background: #eee;
+	border-left: 1px solid #ddd;
+	cursor: pointer;
+	-webkit-transition: right .18s ease-in-out, color .1s ease-in-out, background .1s ease-in-out;
+	transition: right .18s ease-in-out, color .1s ease-in-out, background .1s ease-in-out;
+}
+
+.collapsed .control-panel-back {
+	display: none;
+}
+
+.customize-controls-close:focus,
+.customize-controls-close:hover,
+.control-panel-back:focus,
+.control-panel-back:hover {
+	background: #ddd;
+	border-color: #ccc;
+	color: #000;
+	outline: none;
+	-webkit-box-shadow: none;
+	box-shadow: none;
+}
+
+.customize-controls-close:before {
+	font: normal 22px/1 dashicons;
+	content: "\f335";
+	position: relative;
+	top: 7px;
+	right: 13px;
+}
+
+.control-panel-back:before {
+	font: normal 20px/1 dashicons;
+	content: "\f341";
+	position: relative;
+	top: 7px;
+	right: 13px;
+}
+
+.rtl .control-panel-back:before {
+	content: "\f344";
+}
+
+.in-sub-panel .control-panel-back {
+	right: 0;
+}
+
+.current-panel > .accordion-section-title {
+	height: 22px;
+}
+
+.wp-full-overlay-sidebar .wp-full-overlay-header {
+	-webkit-transition: padding ease-in-out .18s;
+	transition: padding ease-in-out .18s;
+}
+
+.in-sub-panel .wp-full-overlay-sidebar .wp-full-overlay-header {
+	padding-right: 62px;
+}
+
+#customize-info,
+#customize-theme-controls > ul > .accordion-section {
+	position: relative;
+	right: 0;
+	-webkit-transition: right ease-in-out .18s;
+	transition: right ease-in-out .18s;
+}
+
+.in-sub-panel #customize-info,
+.in-sub-panel #customize-theme-controls > ul > .accordion-section {
+	right: -300px;
+	width: 300px;
+}
+
+.in-sub-panel #customize-theme-controls .accordion-section.current-panel {
+	width: 100%;
+}
+
+#customize-theme-controls .control-section.current-panel {
+	padding: 0;
+}
+
+#customize-theme-controls .control-section > h3.accordion-section-title {
+	position: relative;
+	right: 0;
+}
+
+#customize-theme-controls .control-section.current-panel > h3.accordion-section-title {
+	right: -300px;
+	-webkit-transition: right ease-in-out .18s;
+	transition: right ease-in-out .18s;
+}
+
+.control-section.control-panel .accordion-section-title .panel-title {
+	font-size: 20px;
+	font-weight: 200;
+	line-height: 24px;
+	display: block;
+	border: none;
+}
+
+.control-section.control-panel .preview-notice {
+	font-size: 13px;
+	line-height: 24px;
+}
+
+p.customize-section-description {
+	font-style: normal;
+}
+
 .customize-control {
 	width: 100%;
 	float: right;
@@ -151,18 +335,28 @@ body {
 }
 
 .customize-control select,
-.customize-control input[type="text"],
 .customize-control input[type="radio"],
 .customize-control input[type="checkbox"] {
 	line-height: 28px;
 }
 
-.customize-control input[type="text"] {
+.customize-control input[type="text"],
+.customize-control input[type="password"],
+.customize-control input[type="email"],
+.customize-control input[type="number"],
+.customize-control input[type="search"],
+.customize-control input[type="tel"],
+.customize-control input[type="url"] {
 	width: 98%;
 	line-height: 18px;
 	margin: 0;
 }
 
+.customize-control-textarea textarea {
+	width: 100%;
+	resize: vertical;
+}
+
 .customize-control select {
 	min-width: 50%;
 	max-width: 100%;
@@ -182,6 +376,13 @@ body {
 	margin-bottom: 5px;
 }
 
+.customize-control-description {
+	display: block;
+	font-style: italic;
+	line-height: 18px;
+	margin-bottom: 5px;
+}
+
 .customize-control-color .color-picker,
 .customize-control-checkbox label,
 .customize-control-upload div {
@@ -201,6 +402,10 @@ body {
 	line-height: 22px;
 }
 
+.customize-control-radio .customize-control-title + .customize-control-description {
+	margin-top: 7px;
+}
+
 .customize-control-radio label {
 	line-height: 32px;
 }
@@ -224,8 +429,8 @@ body {
 	border: none !important;
 	-webkit-box-shadow: none !important;
 	box-shadow: none !important;
-	-webkit-border-radius: !important 0;
-	border-radius: !important 0;
+	-webkit-border-radius: 0 !important;
+	border-radius: 0 !important;
 }
 
 
diff --git a/wp-admin/css/customize-controls-rtl.min.css b/wp-admin/css/customize-controls-rtl.min.css
index 9f672b956..aa9bb6cc8 100644
--- a/wp-admin/css/customize-controls-rtl.min.css
+++ b/wp-admin/css/customize-controls-rtl.min.css
@@ -1 +1 @@
-body{overflow:hidden}#customize-controls a{text-decoration:none}#customize-controls h3{font-size:14px}#customize-controls .submit{text-align:center}#customize-controls .description{color:#666}#customize-header-actions .button-primary{float:left;margin-top:9px}#customize-header-actions .spinner{margin-top:16px;margin-left:4px}.saving #customize-header-actions .spinner{display:block}#customize-info{border:0;border-top:1px solid #ddd}#customize-info .accordion-section-title{background-color:#fff;color:#666;border-right:0;border-left:0;border-bottom:1px solid #eee}#customize-info .accordion-section-title:focus,#customize-info .accordion-section-title:focus:after,#customize-info .accordion-section-title:hover,#customize-info .accordion-section-title:hover:after,#customize-info.open .accordion-section-title,#customize-info.open .accordion-section-title:after{color:#555}#customize-info.open .accordion-section-title{border-color:transparent}#customize-info .preview-notice{font-size:13px;line-height:24px}#customize-info .theme-name{font-size:20px;font-weight:200;line-height:24px;display:block}#customize-info .theme-screenshot{width:258px}#customize-info .theme-description{margin-top:1em;color:#666;line-height:20px}#customize-theme-controls{-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#customize-theme-controls .control-section{border:0}#customize-theme-controls .accordion-section-title{color:#555;background-color:#fff;border-bottom:1px solid #eee}#customize-theme-controls .accordion-section-content{color:#555;background:#fff}#customize-theme-controls .control-section .accordion-section-title:focus,#customize-theme-controls .control-section .accordion-section-title:hover,#customize-theme-controls .control-section.open .accordion-section-title,#customize-theme-controls .control-section:hover .accordion-section-title{color:#555;background:#f5f5f5}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{background:#f5f5f5}#customize-theme-controls .control-section .accordion-section-title:focus::after,#customize-theme-controls .control-section .accordion-section-title:hover::after,#customize-theme-controls .control-section.open .accordion-section-title::after,#customize-theme-controls .control-section:hover .accordion-section-title::after{color:#555}#customize-theme-controls .control-section.open{border-bottom:1px solid #eee}#customize-theme-controls .control-section.open .accordion-section-title{border-bottom-color:#eee!important}#customize-theme-controls .control-section:last-of-type .accordion-section-title,#customize-theme-controls .control-section:last-of-type.open{border-bottom-color:#ddd}#customize-theme-controls .accordion-section-content,#customize-theme-controls>ul{margin:0}.customize-control{width:100%;float:right;clear:both;margin-bottom:8px}.customize-control input[type=checkbox],.customize-control input[type=radio],.customize-control input[type=text],.customize-control select{line-height:28px}.customize-control input[type=text]{width:98%;line-height:18px;margin:0}.customize-control select{min-width:50%;max-width:100%;height:28px;line-height:28px}.customize-control select[multiple]{height:auto}.customize-control-title{display:block;font-size:14px;line-height:24px;font-weight:600;margin-bottom:5px}.customize-control-checkbox label,.customize-control-color .color-picker,.customize-control-upload div{line-height:28px}.customize-control-checkbox input{margin-left:5px}.customize-control-radio{padding:5px 0 10px}.customize-control-radio .customize-control-title{margin-bottom:0;line-height:22px}.customize-control-radio label{line-height:32px}.customize-control-radio input{margin-left:5px}#customize-preview iframe{width:100%;height:100%}.wp-full-overlay-sidebar{background:#eee;border-left:1px solid #ddd}.collapse-sidebar{background-color:transparent!important;border:0!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-border-radius:!important 0;border-radius:!important 0}.collapse-sidebar:active,.collapse-sidebar:active .collapse-sidebar-arrow:before,.collapse-sidebar:active .collapse-sidebar-label{text-shadow:none}.collapsed .collapse-sidebar-arrow:before{color:#888}.accordion-section .dropdown{float:right;display:block;position:relative;cursor:pointer}.accordion-section .dropdown-content{overflow:hidden;float:right;min-width:30px;height:16px;line-height:16px;margin-left:16px;padding:4px 5px;border:2px solid #eee;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.customize-control .dropdown-arrow{position:absolute;top:0;bottom:0;left:0;width:20px;background:#eee}.customize-control .dropdown-arrow:after{content:"\f140";font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#333}.customize-control .dropdown-status{color:#333;background:#eee;display:none;max-width:112px}.customize-control-color .color-picker-hex{display:none}.customize-control-color.open .color-picker-hex{display:block}.customize-control-color .dropdown{margin-left:5px;margin-bottom:5px}.customize-control-color .dropdown .dropdown-content{background-color:#555;border:1px solid rgba(0,0,0,.15)}.customize-control-color .dropdown:hover .dropdown-content{border-color:rgba(0,0,0,.25)}.customize-control-image .actions,.customize-control-image .library{display:none;float:right;width:100%}.customize-control-image.open .actions,.customize-control-image.open .library{display:block}.accordion-section .customize-control-image .dropdown-content{height:auto;min-height:24px;min-width:40px;padding:0}.accordion-section .customize-control-image .dropdown-status{padding:4px 5px}.accordion-section .customize-control-image .preview-thumbnail img{display:block;width:100%;max-width:122px;max-height:98px;margin:0 auto}.accordion-section .customize-control-image .actions{text-align:left}.accordion-section .customize-control-image .library ul{border-bottom:1px solid #ddd;float:right;width:100%;margin:10px 0 0}.accordion-section .customize-control-image .library li{color:#ccc;float:right;padding:3px 15px;margin:0;border:1px solid transparent}.accordion-section .customize-control-image .library li.library-selected{margin-bottom:-1px;padding-bottom:4px;color:#666;border-color:#ddd;border-bottom-color:#fff}.accordion-section .customize-control-image .library .thumbnail{display:block;width:100%}.accordion-section .customize-control-image .library .thumbnail img{display:block;max-width:90%;max-height:80px;margin:5px auto;padding:2px;background:#666}.accordion-section .customize-control-image .library .thumbnail:hover img{background-color:#2ea2cc}.accordion-section .customize-control-image .library-content{display:none;width:100%;float:right;padding:10px 0}.accordion-section .customize-control-image .library-content.library-selected{display:block}.accordion-section .customize-control-image .upload-fallback,.accordion-section .customize-control-upload .upload-fallback{display:none}.accordion-section .customize-control-image .upload-dropzone,.accordion-section .customize-control-upload .upload-dropzone{display:none;padding:15px 10px;border:3px dashed #dfdfdf;margin:5px auto;text-align:center;position:relative;cursor:default}.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop,.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop{display:block;-webkit-transition:border-color .1s;transition:border-color .1s}.accordion-section .customize-control-image .library ul li,.accordion-section .customize-control-upload .library ul li{cursor:pointer}.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop.drag-over,.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop.drag-over{border-color:#83b4d8}.ios #customize-preview,.ios .wp-full-overlay{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}#customize-control-header_image .current{margin-bottom:8px}#customize-control-header_image .uploaded{margin-bottom:18px}#customize-control-header_image .default button:not(.random),#customize-control-header_image .uploaded button:not(.random){width:100%;padding:0;margin:0;background:0 0;border:0;color:inherit;cursor:pointer}#customize-control-header_image button img{display:block}#customize-control-header_image button.new,#customize-control-header_image button.remove{white-space:normal;width:48%;height:auto}#customize-control-header_image .current .container{overflow:hidden;border:1px solid #eee;-webkit-border-radius:2px;border-radius:2px}#customize-control-header_image .placeholder{width:100%;position:relative;text-align:center;cursor:default}#customize-control-header_image .inner{display:none;position:absolute;width:100%;color:#555;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#customize-control-header_image .inner,#customize-control-header_image .inner .dashicons{line-height:20px;top:10px}#customize-control-header_image .list .inner,#customize-control-header_image .list .inner .dashicons{top:9px}#customize-control-header_image .header-view{position:relative;width:100%;margin-bottom:5px}#customize-control-header_image .header-view:last-child{margin-bottom:0}#customize-control-header_image .header-view:after{border:0}#customize-control-header_image .header-view.selected:after{content:'';position:absolute;height:auto;top:0;right:0;bottom:0;left:0;border:4px solid #2ea2cc;-webkit-border-radius:2px;border-radius:2px}#customize-control-header_image .header-view.button.selected{border:0}#customize-control-header_image .uploaded .header-view .close{font-size:2em;color:grey;position:absolute;visibility:hidden;top:10px;left:10px;z-index:1;width:20px;height:20px;cursor:pointer}#customize-control-header_image .uploaded .header-view .close:hover{color:#000;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}#customize-control-header_image .header-view:hover .close{visibility:visible}#customize-control-header_image .random.placeholder{cursor:pointer;-webkit-border-radius:2px;border-radius:2px;height:40px}#customize-control-header_image button.random{width:100%;height:auto;min-height:40px;white-space:normal}#customize-control-header_image button.random .dice{margin-top:4px}#customize-control-header_image .header-view:hover>button.random .dice,#customize-control-header_image .placeholder:hover .dice{-webkit-animation:dice-color-change 3s infinite;-ms-animation:dice-color-change 3s infinite;animation:dice-color-change 3s infinite}@-webkit-keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}@-ms-keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}@keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}#customize-control-header_image .actions{margin-bottom:32px}#customize-control-header_image .choice{position:relative;display:block;margin-bottom:9px}#customize-control-header_image .uploaded div:last-child>.choice{margin-bottom:0}#customize-control-header_image img{width:100%;-webkit-border-radius:2px;border-radius:2px}#customize-control-header_image .remove{float:right;margin-left:3px}#customize-control-header_image .new{float:left}body.cheatin{font-size:medium;height:auto;background:#fff;margin:50px auto 2em;padding:1em 2em;max-width:700px;min-width:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.cheatin p{font-size:14px;line-height:1.5;margin:25px 0 20px}
\ No newline at end of file
+body{overflow:hidden}#customize-controls a{text-decoration:none}#customize-controls h3{font-size:14px}#customize-controls .submit{text-align:center}#customize-controls .description{color:#666}#customize-header-actions .button-primary{float:left;margin-top:9px}#customize-header-actions .spinner{margin-top:16px;margin-left:4px}.saving #customize-header-actions .spinner{display:block}#customize-header-actions{border-bottom:1px solid #ddd}#customize-controls .wp-full-overlay-sidebar-content{overflow-y:auto;overflow-x:hidden}#customize-info{border:none;border-top:1px solid #ddd}#customize-info .accordion-section-title{background-color:#fff;color:#666;border-right:none;border-left:none;border-bottom:1px solid #eee}#customize-info .accordion-section-title:focus:after,#customize-info .accordion-section-title:hover:after,#customize-info.open .accordion-section-title:after{color:#555}#customize-info .preview-notice{font-size:13px;line-height:24px}#customize-info .theme-name{font-size:20px;font-weight:200;line-height:24px;display:block}#customize-info .theme-screenshot{width:258px}#customize-info .theme-description{margin-top:1em;color:#666;line-height:20px}#customize-theme-controls .control-section{border:none}#customize-theme-controls .accordion-section-title{color:#555;background-color:#fff;border-bottom:1px solid #eee}#customize-theme-controls .accordion-section-content{color:#555;background:#fff}#customize-info .accordion-section-title:focus,#customize-info .accordion-section-title:hover,#customize-info.open .accordion-section-title,#customize-theme-controls .control-section .accordion-section-title:focus,#customize-theme-controls .control-section .accordion-section-title:hover,#customize-theme-controls .control-section.open .accordion-section-title,#customize-theme-controls .control-section:hover>.accordion-section-title{color:#222;background:#f5f5f5}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{background:#f5f5f5}#customize-theme-controls .control-section .accordion-section-title:focus:after,#customize-theme-controls .control-section .accordion-section-title:hover:after,#customize-theme-controls .control-section.open .accordion-section-title:after,#customize-theme-controls .control-section:hover>.accordion-section-title:after{color:#555}#customize-info.open,#customize-theme-controls .control-section.open{border-bottom:1px solid #eee}#customize-theme-controls .control-section.open .accordion-section-title{border-bottom-color:#eee!important}#customize-theme-controls .control-section:last-of-type.open,#customize-theme-controls .control-section:last-of-type>.accordion-section-title{border-bottom-color:#ddd}#customize-theme-controls .accordion-section-content,#customize-theme-controls>ul{margin:0}.control-section.control-panel>.accordion-section-title{padding-left:54px}.control-section.control-panel>.accordion-section-title:after{content:"\f345";background:#f5f5f5;color:#555;width:38px;height:100%;margin:-11px 0 -11px -10px;line-height:45px;padding-right:5px;border-right:1px solid #eee;z-index:0}.rtl .control-section.control-panel>.accordion-section-title:after{content:"\f341"}#customize-theme-controls .control-section.control-panel>h3.accordion-section-title:focus:after,#customize-theme-controls .control-section.control-panel>h3.accordion-section-title:hover:after{background:#ddd;color:#000;border:1px solid #d9d9d9;border-left:none;margin-top:-12px;line-height:44px;z-index:1}.accordion-sub-container.control-panel-content{display:none;position:absolute;right:300px;top:0;width:300px;border-top:1px solid #ddd;-webkit-transition:right ease-in-out .18s;transition:right ease-in-out .18s}.accordion-sub-container.control-panel-content.animating{display:block}.current-panel .accordion-sub-container.control-panel-content{width:100%}.customize-controls-close{display:block;position:absolute;top:0;right:0;width:45px;height:45px;padding-left:2px;background:#eee;border-left:1px solid #ddd;color:#444;cursor:pointer;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.control-panel-back{display:block;position:fixed;top:0;z-index:99;right:-48px;width:45px;height:45px;padding-left:2px;background:#eee;border-left:1px solid #ddd;cursor:pointer;-webkit-transition:right .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out;transition:right .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out}.collapsed .control-panel-back{display:none}.control-panel-back:focus,.control-panel-back:hover,.customize-controls-close:focus,.customize-controls-close:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.customize-controls-close:before{font:400 22px/1 dashicons;content:"\f335";position:relative;top:7px;right:13px}.control-panel-back:before{font:400 20px/1 dashicons;content:"\f341";position:relative;top:7px;right:13px}.rtl .control-panel-back:before{content:"\f344"}.in-sub-panel .control-panel-back{right:0}.current-panel>.accordion-section-title{height:22px}.wp-full-overlay-sidebar .wp-full-overlay-header{-webkit-transition:padding ease-in-out .18s;transition:padding ease-in-out .18s}.in-sub-panel .wp-full-overlay-sidebar .wp-full-overlay-header{padding-right:62px}#customize-info,#customize-theme-controls>ul>.accordion-section{position:relative;right:0;-webkit-transition:right ease-in-out .18s;transition:right ease-in-out .18s}.in-sub-panel #customize-info,.in-sub-panel #customize-theme-controls>ul>.accordion-section{right:-300px;width:300px}.in-sub-panel #customize-theme-controls .accordion-section.current-panel{width:100%}#customize-theme-controls .control-section.current-panel{padding:0}#customize-theme-controls .control-section>h3.accordion-section-title{position:relative;right:0}#customize-theme-controls .control-section.current-panel>h3.accordion-section-title{right:-300px;-webkit-transition:right ease-in-out .18s;transition:right ease-in-out .18s}.control-section.control-panel .accordion-section-title .panel-title{font-size:20px;font-weight:200;line-height:24px;display:block;border:none}.control-section.control-panel .preview-notice{font-size:13px;line-height:24px}p.customize-section-description{font-style:normal}.customize-control{width:100%;float:right;clear:both;margin-bottom:8px}.customize-control input[type=checkbox],.customize-control input[type=radio],.customize-control select{line-height:28px}.customize-control input[type=email],.customize-control input[type=number],.customize-control input[type=password],.customize-control input[type=search],.customize-control input[type=tel],.customize-control input[type=text],.customize-control input[type=url]{width:98%;line-height:18px;margin:0}.customize-control-textarea textarea{width:100%;resize:vertical}.customize-control select{min-width:50%;max-width:100%;height:28px;line-height:28px}.customize-control select[multiple]{height:auto}.customize-control-title{display:block;font-size:14px;line-height:24px;font-weight:600;margin-bottom:5px}.customize-control-description{display:block;font-style:italic;line-height:18px;margin-bottom:5px}.customize-control-checkbox label,.customize-control-color .color-picker,.customize-control-upload div{line-height:28px}.customize-control-checkbox input{margin-left:5px}.customize-control-radio{padding:5px 0 10px}.customize-control-radio .customize-control-title{margin-bottom:0;line-height:22px}.customize-control-radio .customize-control-title+.customize-control-description{margin-top:7px}.customize-control-radio label{line-height:32px}.customize-control-radio input{margin-left:5px}#customize-preview iframe{width:100%;height:100%}.wp-full-overlay-sidebar{background:#eee;border-left:1px solid #ddd}.collapse-sidebar{background-color:transparent!important;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-border-radius:0!important;border-radius:0!important}.collapse-sidebar:active,.collapse-sidebar:active .collapse-sidebar-arrow:before,.collapse-sidebar:active .collapse-sidebar-label{text-shadow:none}.collapsed .collapse-sidebar-arrow:before{color:#888}.accordion-section .dropdown{float:right;display:block;position:relative;cursor:pointer}.accordion-section .dropdown-content{overflow:hidden;float:right;min-width:30px;height:16px;line-height:16px;margin-left:16px;padding:4px 5px;border:2px solid #eee;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.customize-control .dropdown-arrow{position:absolute;top:0;bottom:0;left:0;width:20px;background:#eee}.customize-control .dropdown-arrow:after{content:"\f140";font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#333}.customize-control .dropdown-status{color:#333;background:#eee;display:none;max-width:112px}.customize-control-color .color-picker-hex{display:none}.customize-control-color.open .color-picker-hex{display:block}.customize-control-color .dropdown{margin-left:5px;margin-bottom:5px}.customize-control-color .dropdown .dropdown-content{background-color:#555;border:1px solid rgba(0,0,0,.15)}.customize-control-color .dropdown:hover .dropdown-content{border-color:rgba(0,0,0,.25)}.customize-control-image .actions,.customize-control-image .library{display:none;float:right;width:100%}.customize-control-image.open .actions,.customize-control-image.open .library{display:block}.accordion-section .customize-control-image .dropdown-content{height:auto;min-height:24px;min-width:40px;padding:0}.accordion-section .customize-control-image .dropdown-status{padding:4px 5px}.accordion-section .customize-control-image .preview-thumbnail img{display:block;width:100%;max-width:122px;max-height:98px;margin:0 auto}.accordion-section .customize-control-image .actions{text-align:left}.accordion-section .customize-control-image .library ul{border-bottom:1px solid #ddd;float:right;width:100%;margin:10px 0 0}.accordion-section .customize-control-image .library li{color:#ccc;float:right;padding:3px 15px;margin:0;border:1px solid transparent}.accordion-section .customize-control-image .library li.library-selected{margin-bottom:-1px;padding-bottom:4px;color:#666;border-color:#ddd #ddd #fff}.accordion-section .customize-control-image .library .thumbnail{display:block;width:100%}.accordion-section .customize-control-image .library .thumbnail img{display:block;max-width:90%;max-height:80px;margin:5px auto;padding:2px;background:#666}.accordion-section .customize-control-image .library .thumbnail:hover img{background-color:#2ea2cc}.accordion-section .customize-control-image .library-content{display:none;width:100%;float:right;padding:10px 0}.accordion-section .customize-control-image .library-content.library-selected{display:block}.accordion-section .customize-control-image .upload-fallback,.accordion-section .customize-control-upload .upload-fallback{display:none}.accordion-section .customize-control-image .upload-dropzone,.accordion-section .customize-control-upload .upload-dropzone{display:none;padding:15px 10px;border:3px dashed #dfdfdf;margin:5px auto;text-align:center;position:relative;cursor:default}.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop,.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop{display:block;-webkit-transition:border-color .1s;transition:border-color .1s}.accordion-section .customize-control-image .library ul li,.accordion-section .customize-control-upload .library ul li{cursor:pointer}.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop.drag-over,.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop.drag-over{border-color:#83b4d8}.ios #customize-preview,.ios .wp-full-overlay{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}#customize-control-header_image .current{margin-bottom:8px}#customize-control-header_image .uploaded{margin-bottom:18px}#customize-control-header_image .default button:not(.random),#customize-control-header_image .uploaded button:not(.random){width:100%;padding:0;margin:0;background:0 0;border:none;color:inherit;cursor:pointer}#customize-control-header_image button img{display:block}#customize-control-header_image button.new,#customize-control-header_image button.remove{white-space:normal;width:48%;height:auto}#customize-control-header_image .current .container{overflow:hidden;border:1px solid #eee;-webkit-border-radius:2px;border-radius:2px}#customize-control-header_image .placeholder{width:100%;position:relative;text-align:center;cursor:default}#customize-control-header_image .inner{display:none;position:absolute;width:100%;color:#555;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#customize-control-header_image .inner,#customize-control-header_image .inner .dashicons{line-height:20px;top:10px}#customize-control-header_image .list .inner,#customize-control-header_image .list .inner .dashicons{top:9px}#customize-control-header_image .header-view{position:relative;width:100%;margin-bottom:5px}#customize-control-header_image .header-view:last-child{margin-bottom:0}#customize-control-header_image .header-view:after{border:0}#customize-control-header_image .header-view.selected:after{content:'';position:absolute;height:auto;top:0;right:0;bottom:0;left:0;border:4px solid #2ea2cc;-webkit-border-radius:2px;border-radius:2px}#customize-control-header_image .header-view.button.selected{border:0}#customize-control-header_image .uploaded .header-view .close{font-size:2em;color:grey;position:absolute;visibility:hidden;top:10px;left:10px;z-index:1;width:20px;height:20px;cursor:pointer}#customize-control-header_image .uploaded .header-view .close:hover{color:#000;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}#customize-control-header_image .header-view:hover .close{visibility:visible}#customize-control-header_image .random.placeholder{cursor:pointer;-webkit-border-radius:2px;border-radius:2px;height:40px}#customize-control-header_image button.random{width:100%;height:auto;min-height:40px;white-space:normal}#customize-control-header_image button.random .dice{margin-top:4px}#customize-control-header_image .header-view:hover>button.random .dice,#customize-control-header_image .placeholder:hover .dice{-webkit-animation:dice-color-change 3s infinite;-ms-animation:dice-color-change 3s infinite;animation:dice-color-change 3s infinite}@-webkit-keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}@-ms-keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}@keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}#customize-control-header_image .actions{margin-bottom:32px}#customize-control-header_image .choice{position:relative;display:block;margin-bottom:9px}#customize-control-header_image .uploaded div:last-child>.choice{margin-bottom:0}#customize-control-header_image img{width:100%;-webkit-border-radius:2px;border-radius:2px}#customize-control-header_image .remove{float:right;margin-left:3px}#customize-control-header_image .new{float:left}body.cheatin{font-size:medium;height:auto;background:#fff;margin:50px auto 2em;padding:1em 2em;max-width:700px;min-width:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.cheatin p{font-size:14px;line-height:1.5;margin:25px 0 20px}
\ No newline at end of file
diff --git a/wp-admin/css/customize-controls.css b/wp-admin/css/customize-controls.css
index f96611473..f9f11b37c 100644
--- a/wp-admin/css/customize-controls.css
+++ b/wp-admin/css/customize-controls.css
@@ -32,6 +32,15 @@ body {
 	display: block;
 }
 
+#customize-header-actions {
+	border-bottom: 1px solid #ddd;
+}
+
+#customize-controls .wp-full-overlay-sidebar-content {
+	overflow-y: auto;
+	overflow-x: hidden;
+}
+
 #customize-info {
 	border: none;
 	border-top: 1px solid #ddd;
@@ -45,22 +54,12 @@ body {
 	border-bottom: 1px solid #eeeeee;
 }
 
-#customize-info.open .accordion-section-title,
-#customize-info .accordion-section-title:hover,
-#customize-info .accordion-section-title:focus {
-	color: #555555;
-}
-
 #customize-info.open .accordion-section-title:after,
 #customize-info .accordion-section-title:hover:after,
 #customize-info .accordion-section-title:focus:after {
 	color: #555555;
 }
 
-#customize-info.open .accordion-section-title {
-	border-color: transparent;
-}
-
 #customize-info .preview-notice {
 	font-size: 13px;
 	line-height: 24px;
@@ -83,11 +82,6 @@ body {
 	line-height: 20px;
 }
 
-#customize-theme-controls {
-	-webkit-box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.1);
-	box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.1);
-}
-
 #customize-theme-controls .control-section {
 	border: none;
 }
@@ -100,14 +94,17 @@ body {
 
 #customize-theme-controls .accordion-section-content {
 	color: #555555;
-	background: white;
+	background: #fff;
 }
 
-#customize-theme-controls .control-section:hover .accordion-section-title,
+#customize-info.open .accordion-section-title,
+#customize-info .accordion-section-title:hover,
+#customize-info .accordion-section-title:focus,
+#customize-theme-controls .control-section:hover > .accordion-section-title,
 #customize-theme-controls .control-section .accordion-section-title:hover,
 #customize-theme-controls .control-section.open .accordion-section-title,
 #customize-theme-controls .control-section .accordion-section-title:focus {
-	color: #555555;
+	color: #222;
 	background: #f5f5f5;
 }
 
@@ -118,13 +115,14 @@ body {
 	background: #f5f5f5;
 }
 
-#customize-theme-controls .control-section:hover .accordion-section-title::after,
-#customize-theme-controls .control-section .accordion-section-title:hover::after,
-#customize-theme-controls .control-section.open .accordion-section-title::after,
-#customize-theme-controls .control-section .accordion-section-title:focus::after {
-	color: #555555;
+#customize-theme-controls .control-section:hover > .accordion-section-title:after,
+#customize-theme-controls .control-section .accordion-section-title:hover:after,
+#customize-theme-controls .control-section.open .accordion-section-title:after,
+#customize-theme-controls .control-section .accordion-section-title:focus:after {
+	color: #555;
 }
 
+#customize-info.open,
 #customize-theme-controls .control-section.open {
 	border-bottom: 1px solid #eeeeee;
 }
@@ -134,7 +132,7 @@ body {
 }
 
 #customize-theme-controls .control-section:last-of-type.open,
-#customize-theme-controls .control-section:last-of-type .accordion-section-title {
+#customize-theme-controls .control-section:last-of-type > .accordion-section-title {
 	border-bottom-color: #ddd;
 }
 
@@ -143,6 +141,192 @@ body {
 	margin: 0;
 }
 
+.control-section.control-panel > .accordion-section-title {
+	padding-right: 54px;
+}
+
+.control-section.control-panel > .accordion-section-title:after {
+	content: "\f345";
+	background: #f5f5f5;
+	color: #555;
+	width: 38px;
+	height: 100%;
+	margin: -11px -10px -11px 0; /* compensate for positioning */
+	line-height: 45px;
+	padding-left: 5px;
+	border-left: 1px solid #eee;
+	z-index: 0;
+}
+
+.rtl .control-section.control-panel > .accordion-section-title:after {
+	content: "\f341";
+}
+
+#customize-theme-controls .control-section.control-panel > h3.accordion-section-title:focus:after,
+#customize-theme-controls .control-section.control-panel > h3.accordion-section-title:hover:after {
+	background: #ddd;
+	color: #000;
+	border: 1px solid #d9d9d9;
+	border-right: none;
+	margin-top: -12px;
+	line-height: 44px;
+	z-index: 1;
+}
+
+.accordion-sub-container.control-panel-content {
+	display: none;
+	position: absolute;
+	left: 300px;
+	top: 0;
+	width: 300px;
+	border-top: 1px solid #ddd;
+	-webkit-transition: left ease-in-out .18s;
+	transition: left ease-in-out .18s;
+}
+
+.accordion-sub-container.control-panel-content.animating {
+	display: block;
+}
+
+.current-panel .accordion-sub-container.control-panel-content {
+	width: 100%;
+}
+
+.customize-controls-close {
+	display: block;
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 45px;
+	height: 45px;
+	padding-right: 2px;
+	background: #eee;
+	border-right: 1px solid #ddd;
+	color: #444;
+	cursor: pointer;
+	-webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
+	transition: color .1s ease-in-out, background .1s ease-in-out;
+}
+
+.control-panel-back {
+	display: block;
+	position: fixed;
+	top: 0;
+	z-index: 99;
+	left: -48px;
+	width: 45px;
+	height: 45px;
+	padding-right: 2px;
+	background: #eee;
+	border-right: 1px solid #ddd;
+	cursor: pointer;
+	-webkit-transition: left .18s ease-in-out, color .1s ease-in-out, background .1s ease-in-out;
+	transition: left .18s ease-in-out, color .1s ease-in-out, background .1s ease-in-out;
+}
+
+.collapsed .control-panel-back {
+	display: none;
+}
+
+.customize-controls-close:focus,
+.customize-controls-close:hover,
+.control-panel-back:focus,
+.control-panel-back:hover {
+	background: #ddd;
+	border-color: #ccc;
+	color: #000;
+	outline: none;
+	-webkit-box-shadow: none;
+	box-shadow: none;
+}
+
+.customize-controls-close:before {
+	font: normal 22px/1 dashicons;
+	content: "\f335";
+	position: relative;
+	top: 7px;
+	left: 13px;
+}
+
+.control-panel-back:before {
+	font: normal 20px/1 dashicons;
+	content: "\f341";
+	position: relative;
+	top: 7px;
+	left: 13px;
+}
+
+.rtl .control-panel-back:before {
+	content: "\f344";
+}
+
+.in-sub-panel .control-panel-back {
+	left: 0;
+}
+
+.current-panel > .accordion-section-title {
+	height: 22px;
+}
+
+.wp-full-overlay-sidebar .wp-full-overlay-header {
+	-webkit-transition: padding ease-in-out .18s;
+	transition: padding ease-in-out .18s;
+}
+
+.in-sub-panel .wp-full-overlay-sidebar .wp-full-overlay-header {
+	padding-left: 62px;
+}
+
+#customize-info,
+#customize-theme-controls > ul > .accordion-section {
+	position: relative;
+	left: 0;
+	-webkit-transition: left ease-in-out .18s;
+	transition: left ease-in-out .18s;
+}
+
+.in-sub-panel #customize-info,
+.in-sub-panel #customize-theme-controls > ul > .accordion-section {
+	left: -300px;
+	width: 300px;
+}
+
+.in-sub-panel #customize-theme-controls .accordion-section.current-panel {
+	width: 100%;
+}
+
+#customize-theme-controls .control-section.current-panel {
+	padding: 0;
+}
+
+#customize-theme-controls .control-section > h3.accordion-section-title {
+	position: relative;
+	left: 0;
+}
+
+#customize-theme-controls .control-section.current-panel > h3.accordion-section-title {
+	left: -300px;
+	-webkit-transition: left ease-in-out .18s;
+	transition: left ease-in-out .18s;
+}
+
+.control-section.control-panel .accordion-section-title .panel-title {
+	font-size: 20px;
+	font-weight: 200;
+	line-height: 24px;
+	display: block;
+	border: none;
+}
+
+.control-section.control-panel .preview-notice {
+	font-size: 13px;
+	line-height: 24px;
+}
+
+p.customize-section-description {
+	font-style: normal;
+}
+
 .customize-control {
 	width: 100%;
 	float: left;
@@ -151,18 +335,28 @@ body {
 }
 
 .customize-control select,
-.customize-control input[type="text"],
 .customize-control input[type="radio"],
 .customize-control input[type="checkbox"] {
 	line-height: 28px;
 }
 
-.customize-control input[type="text"] {
+.customize-control input[type="text"],
+.customize-control input[type="password"],
+.customize-control input[type="email"],
+.customize-control input[type="number"],
+.customize-control input[type="search"],
+.customize-control input[type="tel"],
+.customize-control input[type="url"] {
 	width: 98%;
 	line-height: 18px;
 	margin: 0;
 }
 
+.customize-control-textarea textarea {
+	width: 100%;
+	resize: vertical;
+}
+
 .customize-control select {
 	min-width: 50%;
 	max-width: 100%;
@@ -182,6 +376,13 @@ body {
 	margin-bottom: 5px;
 }
 
+.customize-control-description {
+	display: block;
+	font-style: italic;
+	line-height: 18px;
+	margin-bottom: 5px;
+}
+
 .customize-control-color .color-picker,
 .customize-control-checkbox label,
 .customize-control-upload div {
@@ -201,6 +402,10 @@ body {
 	line-height: 22px;
 }
 
+.customize-control-radio .customize-control-title + .customize-control-description {
+	margin-top: 7px;
+}
+
 .customize-control-radio label {
 	line-height: 32px;
 }
diff --git a/wp-admin/css/customize-controls.min.css b/wp-admin/css/customize-controls.min.css
index 99b3ab5f4..21345fbaf 100644
--- a/wp-admin/css/customize-controls.min.css
+++ b/wp-admin/css/customize-controls.min.css
@@ -1 +1 @@
-body{overflow:hidden}#customize-controls a{text-decoration:none}#customize-controls h3{font-size:14px}#customize-controls .submit{text-align:center}#customize-controls .description{color:#666}#customize-header-actions .button-primary{float:right;margin-top:9px}#customize-header-actions .spinner{margin-top:16px;margin-right:4px}.saving #customize-header-actions .spinner{display:block}#customize-info{border:0;border-top:1px solid #ddd}#customize-info .accordion-section-title{background-color:#fff;color:#666;border-left:0;border-right:0;border-bottom:1px solid #eee}#customize-info .accordion-section-title:focus,#customize-info .accordion-section-title:focus:after,#customize-info .accordion-section-title:hover,#customize-info .accordion-section-title:hover:after,#customize-info.open .accordion-section-title,#customize-info.open .accordion-section-title:after{color:#555}#customize-info.open .accordion-section-title{border-color:transparent}#customize-info .preview-notice{font-size:13px;line-height:24px}#customize-info .theme-name{font-size:20px;font-weight:200;line-height:24px;display:block}#customize-info .theme-screenshot{width:258px}#customize-info .theme-description{margin-top:1em;color:#666;line-height:20px}#customize-theme-controls{-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#customize-theme-controls .control-section{border:0}#customize-theme-controls .accordion-section-title{color:#555;background-color:#fff;border-bottom:1px solid #eee}#customize-theme-controls .accordion-section-content{color:#555;background:#fff}#customize-theme-controls .control-section .accordion-section-title:focus,#customize-theme-controls .control-section .accordion-section-title:hover,#customize-theme-controls .control-section.open .accordion-section-title,#customize-theme-controls .control-section:hover .accordion-section-title{color:#555;background:#f5f5f5}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{background:#f5f5f5}#customize-theme-controls .control-section .accordion-section-title:focus::after,#customize-theme-controls .control-section .accordion-section-title:hover::after,#customize-theme-controls .control-section.open .accordion-section-title::after,#customize-theme-controls .control-section:hover .accordion-section-title::after{color:#555}#customize-theme-controls .control-section.open{border-bottom:1px solid #eee}#customize-theme-controls .control-section.open .accordion-section-title{border-bottom-color:#eee!important}#customize-theme-controls .control-section:last-of-type .accordion-section-title,#customize-theme-controls .control-section:last-of-type.open{border-bottom-color:#ddd}#customize-theme-controls .accordion-section-content,#customize-theme-controls>ul{margin:0}.customize-control{width:100%;float:left;clear:both;margin-bottom:8px}.customize-control input[type=checkbox],.customize-control input[type=radio],.customize-control input[type=text],.customize-control select{line-height:28px}.customize-control input[type=text]{width:98%;line-height:18px;margin:0}.customize-control select{min-width:50%;max-width:100%;height:28px;line-height:28px}.customize-control select[multiple]{height:auto}.customize-control-title{display:block;font-size:14px;line-height:24px;font-weight:600;margin-bottom:5px}.customize-control-checkbox label,.customize-control-color .color-picker,.customize-control-upload div{line-height:28px}.customize-control-checkbox input{margin-right:5px}.customize-control-radio{padding:5px 0 10px}.customize-control-radio .customize-control-title{margin-bottom:0;line-height:22px}.customize-control-radio label{line-height:32px}.customize-control-radio input{margin-right:5px}#customize-preview iframe{width:100%;height:100%}.wp-full-overlay-sidebar{background:#eee;border-right:1px solid #ddd}.collapse-sidebar{background-color:transparent!important;border:0!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-border-radius:0!important;border-radius:0!important}.collapse-sidebar:active,.collapse-sidebar:active .collapse-sidebar-arrow:before,.collapse-sidebar:active .collapse-sidebar-label{text-shadow:none}.collapsed .collapse-sidebar-arrow:before{color:#888}.accordion-section .dropdown{float:left;display:block;position:relative;cursor:pointer}.accordion-section .dropdown-content{overflow:hidden;float:left;min-width:30px;height:16px;line-height:16px;margin-right:16px;padding:4px 5px;border:2px solid #eee;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.customize-control .dropdown-arrow{position:absolute;top:0;bottom:0;right:0;width:20px;background:#eee}.customize-control .dropdown-arrow:after{content:"\f140";font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#333}.customize-control .dropdown-status{color:#333;background:#eee;display:none;max-width:112px}.customize-control-color .color-picker-hex{display:none}.customize-control-color.open .color-picker-hex{display:block}.customize-control-color .dropdown{margin-right:5px;margin-bottom:5px}.customize-control-color .dropdown .dropdown-content{background-color:#555;border:1px solid rgba(0,0,0,.15)}.customize-control-color .dropdown:hover .dropdown-content{border-color:rgba(0,0,0,.25)}.customize-control-image .actions,.customize-control-image .library{display:none;float:left;width:100%}.customize-control-image.open .actions,.customize-control-image.open .library{display:block}.accordion-section .customize-control-image .dropdown-content{height:auto;min-height:24px;min-width:40px;padding:0}.accordion-section .customize-control-image .dropdown-status{padding:4px 5px}.accordion-section .customize-control-image .preview-thumbnail img{display:block;width:100%;max-width:122px;max-height:98px;margin:0 auto}.accordion-section .customize-control-image .actions{text-align:right}.accordion-section .customize-control-image .library ul{border-bottom:1px solid #ddd;float:left;width:100%;margin:10px 0 0}.accordion-section .customize-control-image .library li{color:#ccc;float:left;padding:3px 15px;margin:0;border:1px solid transparent}.accordion-section .customize-control-image .library li.library-selected{margin-bottom:-1px;padding-bottom:4px;color:#666;border-color:#ddd;border-bottom-color:#fff}.accordion-section .customize-control-image .library .thumbnail{display:block;width:100%}.accordion-section .customize-control-image .library .thumbnail img{display:block;max-width:90%;max-height:80px;margin:5px auto;padding:2px;background:#666}.accordion-section .customize-control-image .library .thumbnail:hover img{background-color:#2ea2cc}.accordion-section .customize-control-image .library-content{display:none;width:100%;float:left;padding:10px 0}.accordion-section .customize-control-image .library-content.library-selected{display:block}.accordion-section .customize-control-image .upload-fallback,.accordion-section .customize-control-upload .upload-fallback{display:none}.accordion-section .customize-control-image .upload-dropzone,.accordion-section .customize-control-upload .upload-dropzone{display:none;padding:15px 10px;border:3px dashed #dfdfdf;margin:5px auto;text-align:center;position:relative;cursor:default}.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop,.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop{display:block;-webkit-transition:border-color .1s;transition:border-color .1s}.accordion-section .customize-control-image .library ul li,.accordion-section .customize-control-upload .library ul li{cursor:pointer}.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop.drag-over,.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop.drag-over{border-color:#83b4d8}.ios #customize-preview,.ios .wp-full-overlay{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}#customize-control-header_image .current{margin-bottom:8px}#customize-control-header_image .uploaded{margin-bottom:18px}#customize-control-header_image .default button:not(.random),#customize-control-header_image .uploaded button:not(.random){width:100%;padding:0;margin:0;background:0 0;border:0;color:inherit;cursor:pointer}#customize-control-header_image button img{display:block}#customize-control-header_image button.new,#customize-control-header_image button.remove{white-space:normal;width:48%;height:auto}#customize-control-header_image .current .container{overflow:hidden;border:1px solid #eee;-webkit-border-radius:2px;border-radius:2px}#customize-control-header_image .placeholder{width:100%;position:relative;text-align:center;cursor:default}#customize-control-header_image .inner{display:none;position:absolute;width:100%;color:#555;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#customize-control-header_image .inner,#customize-control-header_image .inner .dashicons{line-height:20px;top:10px}#customize-control-header_image .list .inner,#customize-control-header_image .list .inner .dashicons{top:9px}#customize-control-header_image .header-view{position:relative;width:100%;margin-bottom:5px}#customize-control-header_image .header-view:last-child{margin-bottom:0}#customize-control-header_image .header-view:after{border:0}#customize-control-header_image .header-view.selected:after{content:'';position:absolute;height:auto;top:0;left:0;bottom:0;right:0;border:4px solid #2ea2cc;-webkit-border-radius:2px;border-radius:2px}#customize-control-header_image .header-view.button.selected{border:0}#customize-control-header_image .uploaded .header-view .close{font-size:2em;color:grey;position:absolute;visibility:hidden;top:10px;right:10px;z-index:1;width:20px;height:20px;cursor:pointer}#customize-control-header_image .uploaded .header-view .close:hover{color:#000;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}#customize-control-header_image .header-view:hover .close{visibility:visible}#customize-control-header_image .random.placeholder{cursor:pointer;-webkit-border-radius:2px;border-radius:2px;height:40px}#customize-control-header_image button.random{width:100%;height:auto;min-height:40px;white-space:normal}#customize-control-header_image button.random .dice{margin-top:4px}#customize-control-header_image .header-view:hover>button.random .dice,#customize-control-header_image .placeholder:hover .dice{-webkit-animation:dice-color-change 3s infinite;-ms-animation:dice-color-change 3s infinite;animation:dice-color-change 3s infinite}@-webkit-keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}@-ms-keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}@keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}#customize-control-header_image .actions{margin-bottom:32px}#customize-control-header_image .choice{position:relative;display:block;margin-bottom:9px}#customize-control-header_image .uploaded div:last-child>.choice{margin-bottom:0}#customize-control-header_image img{width:100%;-webkit-border-radius:2px;border-radius:2px}#customize-control-header_image .remove{float:left;margin-right:3px}#customize-control-header_image .new{float:right}body.cheatin{font-size:medium;height:auto;background:#fff;margin:50px auto 2em;padding:1em 2em;max-width:700px;min-width:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.cheatin p{font-size:14px;line-height:1.5;margin:25px 0 20px}
\ No newline at end of file
+body{overflow:hidden}#customize-controls a{text-decoration:none}#customize-controls h3{font-size:14px}#customize-controls .submit{text-align:center}#customize-controls .description{color:#666}#customize-header-actions .button-primary{float:right;margin-top:9px}#customize-header-actions .spinner{margin-top:16px;margin-right:4px}.saving #customize-header-actions .spinner{display:block}#customize-header-actions{border-bottom:1px solid #ddd}#customize-controls .wp-full-overlay-sidebar-content{overflow-y:auto;overflow-x:hidden}#customize-info{border:none;border-top:1px solid #ddd}#customize-info .accordion-section-title{background-color:#fff;color:#666;border-left:none;border-right:none;border-bottom:1px solid #eee}#customize-info .accordion-section-title:focus:after,#customize-info .accordion-section-title:hover:after,#customize-info.open .accordion-section-title:after{color:#555}#customize-info .preview-notice{font-size:13px;line-height:24px}#customize-info .theme-name{font-size:20px;font-weight:200;line-height:24px;display:block}#customize-info .theme-screenshot{width:258px}#customize-info .theme-description{margin-top:1em;color:#666;line-height:20px}#customize-theme-controls .control-section{border:none}#customize-theme-controls .accordion-section-title{color:#555;background-color:#fff;border-bottom:1px solid #eee}#customize-theme-controls .accordion-section-content{color:#555;background:#fff}#customize-info .accordion-section-title:focus,#customize-info .accordion-section-title:hover,#customize-info.open .accordion-section-title,#customize-theme-controls .control-section .accordion-section-title:focus,#customize-theme-controls .control-section .accordion-section-title:hover,#customize-theme-controls .control-section.open .accordion-section-title,#customize-theme-controls .control-section:hover>.accordion-section-title{color:#222;background:#f5f5f5}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{background:#f5f5f5}#customize-theme-controls .control-section .accordion-section-title:focus:after,#customize-theme-controls .control-section .accordion-section-title:hover:after,#customize-theme-controls .control-section.open .accordion-section-title:after,#customize-theme-controls .control-section:hover>.accordion-section-title:after{color:#555}#customize-info.open,#customize-theme-controls .control-section.open{border-bottom:1px solid #eee}#customize-theme-controls .control-section.open .accordion-section-title{border-bottom-color:#eee!important}#customize-theme-controls .control-section:last-of-type.open,#customize-theme-controls .control-section:last-of-type>.accordion-section-title{border-bottom-color:#ddd}#customize-theme-controls .accordion-section-content,#customize-theme-controls>ul{margin:0}.control-section.control-panel>.accordion-section-title{padding-right:54px}.control-section.control-panel>.accordion-section-title:after{content:"\f345";background:#f5f5f5;color:#555;width:38px;height:100%;margin:-11px -10px -11px 0;line-height:45px;padding-left:5px;border-left:1px solid #eee;z-index:0}.rtl .control-section.control-panel>.accordion-section-title:after{content:"\f341"}#customize-theme-controls .control-section.control-panel>h3.accordion-section-title:focus:after,#customize-theme-controls .control-section.control-panel>h3.accordion-section-title:hover:after{background:#ddd;color:#000;border:1px solid #d9d9d9;border-right:none;margin-top:-12px;line-height:44px;z-index:1}.accordion-sub-container.control-panel-content{display:none;position:absolute;left:300px;top:0;width:300px;border-top:1px solid #ddd;-webkit-transition:left ease-in-out .18s;transition:left ease-in-out .18s}.accordion-sub-container.control-panel-content.animating{display:block}.current-panel .accordion-sub-container.control-panel-content{width:100%}.customize-controls-close{display:block;position:absolute;top:0;left:0;width:45px;height:45px;padding-right:2px;background:#eee;border-right:1px solid #ddd;color:#444;cursor:pointer;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.control-panel-back{display:block;position:fixed;top:0;z-index:99;left:-48px;width:45px;height:45px;padding-right:2px;background:#eee;border-right:1px solid #ddd;cursor:pointer;-webkit-transition:left .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out;transition:left .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out}.collapsed .control-panel-back{display:none}.control-panel-back:focus,.control-panel-back:hover,.customize-controls-close:focus,.customize-controls-close:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.customize-controls-close:before{font:400 22px/1 dashicons;content:"\f335";position:relative;top:7px;left:13px}.control-panel-back:before{font:400 20px/1 dashicons;content:"\f341";position:relative;top:7px;left:13px}.rtl .control-panel-back:before{content:"\f344"}.in-sub-panel .control-panel-back{left:0}.current-panel>.accordion-section-title{height:22px}.wp-full-overlay-sidebar .wp-full-overlay-header{-webkit-transition:padding ease-in-out .18s;transition:padding ease-in-out .18s}.in-sub-panel .wp-full-overlay-sidebar .wp-full-overlay-header{padding-left:62px}#customize-info,#customize-theme-controls>ul>.accordion-section{position:relative;left:0;-webkit-transition:left ease-in-out .18s;transition:left ease-in-out .18s}.in-sub-panel #customize-info,.in-sub-panel #customize-theme-controls>ul>.accordion-section{left:-300px;width:300px}.in-sub-panel #customize-theme-controls .accordion-section.current-panel{width:100%}#customize-theme-controls .control-section.current-panel{padding:0}#customize-theme-controls .control-section>h3.accordion-section-title{position:relative;left:0}#customize-theme-controls .control-section.current-panel>h3.accordion-section-title{left:-300px;-webkit-transition:left ease-in-out .18s;transition:left ease-in-out .18s}.control-section.control-panel .accordion-section-title .panel-title{font-size:20px;font-weight:200;line-height:24px;display:block;border:none}.control-section.control-panel .preview-notice{font-size:13px;line-height:24px}p.customize-section-description{font-style:normal}.customize-control{width:100%;float:left;clear:both;margin-bottom:8px}.customize-control input[type=checkbox],.customize-control input[type=radio],.customize-control select{line-height:28px}.customize-control input[type=email],.customize-control input[type=number],.customize-control input[type=password],.customize-control input[type=search],.customize-control input[type=tel],.customize-control input[type=text],.customize-control input[type=url]{width:98%;line-height:18px;margin:0}.customize-control-textarea textarea{width:100%;resize:vertical}.customize-control select{min-width:50%;max-width:100%;height:28px;line-height:28px}.customize-control select[multiple]{height:auto}.customize-control-title{display:block;font-size:14px;line-height:24px;font-weight:600;margin-bottom:5px}.customize-control-description{display:block;font-style:italic;line-height:18px;margin-bottom:5px}.customize-control-checkbox label,.customize-control-color .color-picker,.customize-control-upload div{line-height:28px}.customize-control-checkbox input{margin-right:5px}.customize-control-radio{padding:5px 0 10px}.customize-control-radio .customize-control-title{margin-bottom:0;line-height:22px}.customize-control-radio .customize-control-title+.customize-control-description{margin-top:7px}.customize-control-radio label{line-height:32px}.customize-control-radio input{margin-right:5px}#customize-preview iframe{width:100%;height:100%}.wp-full-overlay-sidebar{background:#eee;border-right:1px solid #ddd}.collapse-sidebar{background-color:transparent!important;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-border-radius:0!important;border-radius:0!important}.collapse-sidebar:active,.collapse-sidebar:active .collapse-sidebar-arrow:before,.collapse-sidebar:active .collapse-sidebar-label{text-shadow:none}.collapsed .collapse-sidebar-arrow:before{color:#888}.accordion-section .dropdown{float:left;display:block;position:relative;cursor:pointer}.accordion-section .dropdown-content{overflow:hidden;float:left;min-width:30px;height:16px;line-height:16px;margin-right:16px;padding:4px 5px;border:2px solid #eee;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.customize-control .dropdown-arrow{position:absolute;top:0;bottom:0;right:0;width:20px;background:#eee}.customize-control .dropdown-arrow:after{content:"\f140";font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#333}.customize-control .dropdown-status{color:#333;background:#eee;display:none;max-width:112px}.customize-control-color .color-picker-hex{display:none}.customize-control-color.open .color-picker-hex{display:block}.customize-control-color .dropdown{margin-right:5px;margin-bottom:5px}.customize-control-color .dropdown .dropdown-content{background-color:#555;border:1px solid rgba(0,0,0,.15)}.customize-control-color .dropdown:hover .dropdown-content{border-color:rgba(0,0,0,.25)}.customize-control-image .actions,.customize-control-image .library{display:none;float:left;width:100%}.customize-control-image.open .actions,.customize-control-image.open .library{display:block}.accordion-section .customize-control-image .dropdown-content{height:auto;min-height:24px;min-width:40px;padding:0}.accordion-section .customize-control-image .dropdown-status{padding:4px 5px}.accordion-section .customize-control-image .preview-thumbnail img{display:block;width:100%;max-width:122px;max-height:98px;margin:0 auto}.accordion-section .customize-control-image .actions{text-align:right}.accordion-section .customize-control-image .library ul{border-bottom:1px solid #ddd;float:left;width:100%;margin:10px 0 0}.accordion-section .customize-control-image .library li{color:#ccc;float:left;padding:3px 15px;margin:0;border:1px solid transparent}.accordion-section .customize-control-image .library li.library-selected{margin-bottom:-1px;padding-bottom:4px;color:#666;border-color:#ddd #ddd #fff}.accordion-section .customize-control-image .library .thumbnail{display:block;width:100%}.accordion-section .customize-control-image .library .thumbnail img{display:block;max-width:90%;max-height:80px;margin:5px auto;padding:2px;background:#666}.accordion-section .customize-control-image .library .thumbnail:hover img{background-color:#2ea2cc}.accordion-section .customize-control-image .library-content{display:none;width:100%;float:left;padding:10px 0}.accordion-section .customize-control-image .library-content.library-selected{display:block}.accordion-section .customize-control-image .upload-fallback,.accordion-section .customize-control-upload .upload-fallback{display:none}.accordion-section .customize-control-image .upload-dropzone,.accordion-section .customize-control-upload .upload-dropzone{display:none;padding:15px 10px;border:3px dashed #dfdfdf;margin:5px auto;text-align:center;position:relative;cursor:default}.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop,.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop{display:block;-webkit-transition:border-color .1s;transition:border-color .1s}.accordion-section .customize-control-image .library ul li,.accordion-section .customize-control-upload .library ul li{cursor:pointer}.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop.drag-over,.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop.drag-over{border-color:#83b4d8}.ios #customize-preview,.ios .wp-full-overlay{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}#customize-control-header_image .current{margin-bottom:8px}#customize-control-header_image .uploaded{margin-bottom:18px}#customize-control-header_image .default button:not(.random),#customize-control-header_image .uploaded button:not(.random){width:100%;padding:0;margin:0;background:0 0;border:none;color:inherit;cursor:pointer}#customize-control-header_image button img{display:block}#customize-control-header_image button.new,#customize-control-header_image button.remove{white-space:normal;width:48%;height:auto}#customize-control-header_image .current .container{overflow:hidden;border:1px solid #eee;-webkit-border-radius:2px;border-radius:2px}#customize-control-header_image .placeholder{width:100%;position:relative;text-align:center;cursor:default}#customize-control-header_image .inner{display:none;position:absolute;width:100%;color:#555;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#customize-control-header_image .inner,#customize-control-header_image .inner .dashicons{line-height:20px;top:10px}#customize-control-header_image .list .inner,#customize-control-header_image .list .inner .dashicons{top:9px}#customize-control-header_image .header-view{position:relative;width:100%;margin-bottom:5px}#customize-control-header_image .header-view:last-child{margin-bottom:0}#customize-control-header_image .header-view:after{border:0}#customize-control-header_image .header-view.selected:after{content:'';position:absolute;height:auto;top:0;left:0;bottom:0;right:0;border:4px solid #2ea2cc;-webkit-border-radius:2px;border-radius:2px}#customize-control-header_image .header-view.button.selected{border:0}#customize-control-header_image .uploaded .header-view .close{font-size:2em;color:grey;position:absolute;visibility:hidden;top:10px;right:10px;z-index:1;width:20px;height:20px;cursor:pointer}#customize-control-header_image .uploaded .header-view .close:hover{color:#000;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}#customize-control-header_image .header-view:hover .close{visibility:visible}#customize-control-header_image .random.placeholder{cursor:pointer;-webkit-border-radius:2px;border-radius:2px;height:40px}#customize-control-header_image button.random{width:100%;height:auto;min-height:40px;white-space:normal}#customize-control-header_image button.random .dice{margin-top:4px}#customize-control-header_image .header-view:hover>button.random .dice,#customize-control-header_image .placeholder:hover .dice{-webkit-animation:dice-color-change 3s infinite;-ms-animation:dice-color-change 3s infinite;animation:dice-color-change 3s infinite}@-webkit-keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}@-ms-keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}@keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}#customize-control-header_image .actions{margin-bottom:32px}#customize-control-header_image .choice{position:relative;display:block;margin-bottom:9px}#customize-control-header_image .uploaded div:last-child>.choice{margin-bottom:0}#customize-control-header_image img{width:100%;-webkit-border-radius:2px;border-radius:2px}#customize-control-header_image .remove{float:left;margin-right:3px}#customize-control-header_image .new{float:right}body.cheatin{font-size:medium;height:auto;background:#fff;margin:50px auto 2em;padding:1em 2em;max-width:700px;min-width:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.cheatin p{font-size:14px;line-height:1.5;margin:25px 0 20px}
\ No newline at end of file
diff --git a/wp-admin/css/customize-widgets-rtl.min.css b/wp-admin/css/customize-widgets-rtl.min.css
index f8bd054e0..407c08793 100644
--- a/wp-admin/css/customize-widgets-rtl.min.css
+++ b/wp-admin/css/customize-widgets-rtl.min.css
@@ -1 +1 @@
-.wp-full-overlay-sidebar{overflow:visible}.control-section[id^=accordion-section-sidebar-widgets-],.customize-control-sidebar_widgets .hide-if-js,.customize-control-sidebar_widgets label{display:none}.customize-control-widget_form .widget-top{-webkit-transition:opacity .5s;transition:opacity .5s}.customize-control-widget_form:not(.widget-rendered) .widget-top{opacity:.5}.customize-control-widget_form .spinner,.customize-control-widget_form .widget-control-save{display:none}.customize-control-widget_form.previewer-loading .spinner{display:inline}.customize-control-widget_form.widget-form-disabled .widget-content{opacity:.7;pointer-events:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.customize-control-widget_form .widget{margin-bottom:0}.customize-control-widget_form.wide-widget-control .widget-inside{position:fixed;right:299px;top:25%;border:1px solid #e5e5e5;overflow:auto}.customize-control-widget_form.wide-widget-control .widget-inside>.form{padding:20px}.customize-control-widget_form.wide-widget-control .widget-top{-webkit-transition:background-color .4s;transition:background-color .4s}.customize-control-widget_form.wide-widget-control.expanded:not(.collapsing) .widget-top,.customize-control-widget_form.wide-widget-control.expanding .widget-top{background-color:#e3e3e3}.widget-inside{padding:1px 10px 10px;border-top:0;line-height:16px}.widget-top{cursor:move}.customize-control-widget_form.expanded a.widget-action:after{content:"\f142"}.customize-control-widget_form.wide-widget-control a.widget-action:after{content:"\f139"}.customize-control-widget_form.wide-widget-control.expanded a.widget-action:after{content:"\f141"}.widget-title-action{cursor:pointer}.customize-control-widget_form .widget .customize-control-title{cursor:move}.control-section.accordion-section.highlighted>.accordion-section-title,.customize-control-widget_form.highlighted{outline:0;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8);position:relative;z-index:1}#widget-customizer-control-templates{display:none}.reorder-toggle{float:left;padding:5px 8px;text-decoration:none;cursor:pointer;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-toggle:focus{outline:1px dotted}.reorder-done,.reordering .reorder{display:none}.reordering .reorder-done{display:block;color:#a00}#customize-theme-controls .reordering .add-new-widget{opacity:.2;pointer-events:none;cursor:not-allowed}#customize-theme-controls .widget-reorder-nav{display:none;float:left;background-color:#fafafa}.widget-reorder-nav span{position:relative;overflow:hidden;float:right;display:block;width:33px;height:43px;color:#888;text-indent:-9999px;cursor:pointer;outline:0}.widget-reorder-nav span:before{display:inline-block;position:absolute;top:0;left:0;width:100%;height:100%;font:400 20px/43px dashicons;text-align:center;text-indent:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.widget-reorder-nav span:focus,.widget-reorder-nav span:hover{color:#444;background:#eee}.move-widget:before{content:'\f504'}.move-widget-down:before{content:'\f347'}.move-widget-up:before{content:'\f343'}#customize-theme-controls .first-widget .move-widget-up,#customize-theme-controls .last-widget .move-widget-down{color:#d5d5d5;cursor:default}#customize-theme-controls .move-widget-area{display:none;background:#fff;border:1px solid #dedede;border-top:0;cursor:auto}#customize-theme-controls .reordering .move-widget-area.active{display:block}#customize-theme-controls .move-widget-area .description{margin:0;padding:15px 20px;font-weight:400}#customize-theme-controls .widget-area-select{margin:0;padding:0;list-style:none}#customize-theme-controls .widget-area-select li{position:relative;margin:0;padding:13px 42px 15px 15px;color:#555;border-top:1px solid #eee;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#customize-theme-controls .widget-area-select li:before{display:none;content:'\f147';position:absolute;top:12px;right:10px;font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#customize-theme-controls .widget-area-select li:last-child{border-bottom:1px solid #eee}#customize-theme-controls .widget-area-select .selected{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.4);background:#2ea2cc}#customize-theme-controls .widget-area-select .selected:before{display:block}#customize-theme-controls .move-widget-actions{text-align:left;padding:12px}#customize-theme-controls .reordering .widget-title-action{display:none}#customize-theme-controls .reordering .widget-reorder-nav{display:block}.wp-full-overlay-main{left:auto;width:100%}#customize-theme-controls .add-new-widget{cursor:pointer;float:left;margin-right:10px;-webkit-transition:all .2s;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0}.add-new-widget:before{content:"\f132";display:inline-block;position:relative;right:-2px;top:-1px;font:400 20px/1 dashicons;vertical-align:middle;-webkit-transition:all .2s;transition:all .2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.adding-widget .add-new-widget,body.adding-widget .add-new-widget:hover{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}body.adding-widget .add-new-widget:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}#available-widgets .widget{position:static}#widgets-left #available-widgets .widget{float:none!important;width:auto!important}#available-widgets{position:absolute;overflow:auto;top:0;bottom:0;right:-301px;width:300px;margin:0;z-index:1;background:#fff;-webkit-transition:all .2s;transition:all .2s;border-left:1px solid #ddd}#available-widgets-filter{padding:8px 13px 7px 17px;border-bottom:1px solid #e4e4e4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#available-widgets-filter input{padding:5px 10px 2px;width:100%}#available-widgets .widget-tpl{position:relative;padding:20px 60px 20px 15px;border-bottom:1px solid #e4e4e4;cursor:pointer;display:none}#available-widgets .widget-tpl.selected,#available-widgets .widget-tpl:hover{background:#fafafa}#available-widgets .widget-top,#available-widgets .widget-top:hover{border:0;background:0 0;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-title h4{padding:0 0 5px;font-size:14px}#available-widgets .widget .widget-description{padding:0;color:#777}#customize-preview{-webkit-transition:all .2s;transition:all .2s}body.adding-widget #available-widgets{right:0}body.adding-widget .wp-full-overlay-main{right:300px}body.adding-widget #customize-preview{opacity:.4}#available-widgets .widget-title{position:relative}#available-widgets .widget-title:before{content:"\f132";position:absolute;top:-3px;left:100%;margin-left:20px;width:20px;height:20px;color:#333;font:400 20px/1 dashicons;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#available-widgets [class*=easy] .widget-title:before{content:"\f328";top:-4px}#available-widgets [class*=like] .widget-title:before,#available-widgets [class*=super] .widget-title:before{content:"\f155";top:-4px}#available-widgets [class*=meta] .widget-title:before{content:"\f120"}#available-widgets [class*=archives] .widget-title:before{content:"\f480";top:-4px}#available-widgets [class*=categor] .widget-title:before{content:"\f318";top:-4px}#available-widgets [class*=chat] .widget-title:before,#available-widgets [class*=comment] .widget-title:before,#available-widgets [class*=testimonial] .widget-title:before{content:"\f101"}#available-widgets [class*=post] .widget-title:before{content:"\f109"}#available-widgets [class*=page] .widget-title:before{content:"\f105"}#available-widgets [class*=text] .widget-title:before{content:"\f478"}#available-widgets [class*=link] .widget-title:before{content:"\f103"}#available-widgets [class*=search] .widget-title:before{content:"\f179"}#available-widgets [class*=menu] .widget-title:before,#available-widgets [class*=nav] .widget-title:before{content:"\f333"}#available-widgets [class*=tag] .widget-title:before{content:"\f479"}#available-widgets [class*=rss] .widget-title:before{content:"\f303";top:-6px}#available-widgets [class*=calendar] .widget-title:before,#available-widgets [class*=event] .widget-title:before{content:"\f145";top:-4px}#available-widgets [class*=image] .widget-title:before,#available-widgets [class*=instagram] .widget-title:before,#available-widgets [class*=photo] .widget-title:before,#available-widgets [class*=slide] .widget-title:before{content:"\f128"}#available-widgets [class*=album] .widget-title:before,#available-widgets [class*=galler] .widget-title:before{content:"\f161"}#available-widgets [class*=tube] .widget-title:before,#available-widgets [class*=video] .widget-title:before{content:"\f126"}#available-widgets [class*=audio] .widget-title:before,#available-widgets [class*=music] .widget-title:before,#available-widgets [class*=radio] .widget-title:before{content:"\f127"}#available-widgets [class*=avatar] .widget-title:before,#available-widgets [class*=grofile] .widget-title:before,#available-widgets [class*=login] .widget-title:before,#available-widgets [class*=member] .widget-title:before,#available-widgets [class*=profile] .widget-title:before,#available-widgets [class*=subscriber] .widget-title:before,#available-widgets [class*=user] .widget-title:before{content:"\f110"}#available-widgets [class*=cart] .widget-title:before,#available-widgets [class*=commerce] .widget-title:before,#available-widgets [class*=shop] .widget-title:before{content:"\f174";top:-4px}#available-widgets [class*=firewall] .widget-title:before,#available-widgets [class*=secur] .widget-title:before{content:"\f332"}#available-widgets [class*=analytic] .widget-title:before,#available-widgets [class*=poll] .widget-title:before,#available-widgets [class*=stat] .widget-title:before{content:"\f185"}#available-widgets [class*=form] .widget-title:before{content:"\f175"}#available-widgets [class*=contact] .widget-title:before,#available-widgets [class*=mail] .widget-title:before,#available-widgets [class*=news] .widget-title:before,#available-widgets [class*=subscribe] .widget-title:before{content:"\f466"}#available-widgets [class*=share] .widget-title:before,#available-widgets [class*=socia] .widget-title:before{content:"\f237"}#available-widgets [class*=lang] .widget-title:before,#available-widgets [class*=translat] .widget-title:before{content:"\f326"}#available-widgets [class*=locat] .widget-title:before,#available-widgets [class*=map] .widget-title:before{content:"\f231"}#available-widgets [class*=download] .widget-title:before{content:"\f316"}#available-widgets [class*=weather] .widget-title:before{content:"\f176";top:-4px}#available-widgets [class*=facebook] .widget-title:before{content:"\f304"}#available-widgets [class*=tweet] .widget-title:before,#available-widgets [class*=twitter] .widget-title:before{content:"\f301"}@media screen and (max-height:700px) and (min-width:981px){.customize-control{margin-bottom:0}.widget-top{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px}.widget-top:hover{position:relative;z-index:1}.last-widget{margin-bottom:15px}.widget-title h4{padding:13px 15px}.widget-top a.widget-action:after{padding-top:9px}.widget-reorder-nav span{height:39px}.widget-reorder-nav span:before{line-height:39px}#customize-theme-controls .widget-area-select li{padding:9px 42px 11px 15px}#customize-theme-controls .widget-area-select li:before{top:8px}}
\ No newline at end of file
+.wp-full-overlay-sidebar{overflow:visible}.control-section[id^=accordion-section-sidebar-widgets-],.customize-control-sidebar_widgets .hide-if-js,.customize-control-sidebar_widgets label{display:none}.customize-control-widget_form .widget-top{-webkit-transition:opacity .5s;transition:opacity .5s}.customize-control-widget_form:not(.widget-rendered) .widget-top{opacity:.5}.customize-control-widget_form .spinner,.customize-control-widget_form .widget-control-save{display:none}.customize-control-widget_form.previewer-loading .spinner{display:inline}.customize-control-widget_form.widget-form-disabled .widget-content{opacity:.7;pointer-events:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.customize-control-widget_form .widget{margin-bottom:0}.customize-control-widget_form.wide-widget-control .widget-inside{position:fixed;right:299px;top:25%;border:1px solid #e5e5e5;overflow:auto}.customize-control-widget_form.wide-widget-control .widget-inside>.form{padding:20px}.customize-control-widget_form.wide-widget-control .widget-top{-webkit-transition:background-color .4s;transition:background-color .4s}.customize-control-widget_form.wide-widget-control.expanded:not(.collapsing) .widget-top,.customize-control-widget_form.wide-widget-control.expanding .widget-top{background-color:#e3e3e3}.widget-inside{padding:1px 10px 10px;border-top:none;line-height:16px}.widget-top{cursor:move}.customize-control-widget_form.expanded a.widget-action:after{content:"\f142"}.customize-control-widget_form.wide-widget-control a.widget-action:after{content:"\f139"}.customize-control-widget_form.wide-widget-control.expanded a.widget-action:after{content:"\f141"}.widget-title-action{cursor:pointer}.customize-control-widget_form .widget .customize-control-title{cursor:move}.control-section.accordion-section.highlighted>.accordion-section-title,.customize-control-widget_form.highlighted{outline:0;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8);position:relative;z-index:1}#widget-customizer-control-templates{display:none}.reorder-toggle{float:left;padding:5px 8px;text-decoration:none;cursor:pointer;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-toggle:focus{outline:dotted 1px}.reorder-done,.reordering .reorder{display:none}.reordering .reorder-done{display:block;color:#a00}#customize-theme-controls .reordering .add-new-widget{opacity:.2;pointer-events:none;cursor:not-allowed}#customize-theme-controls .widget-reorder-nav{display:none;float:left;background-color:#fafafa}.widget-reorder-nav span{position:relative;overflow:hidden;float:right;display:block;width:33px;height:43px;color:#888;text-indent:-9999px;cursor:pointer;outline:0}.widget-reorder-nav span:before{display:inline-block;position:absolute;top:0;left:0;width:100%;height:100%;font:400 20px/43px dashicons;text-align:center;text-indent:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.widget-reorder-nav span:focus,.widget-reorder-nav span:hover{color:#444;background:#eee}.move-widget:before{content:'\f504'}.move-widget-down:before{content:'\f347'}.move-widget-up:before{content:'\f343'}#customize-theme-controls .first-widget .move-widget-up,#customize-theme-controls .last-widget .move-widget-down{color:#d5d5d5;cursor:default}#customize-theme-controls .move-widget-area{display:none;background:#fff;border:1px solid #dedede;border-top:none;cursor:auto}#customize-theme-controls .reordering .move-widget-area.active{display:block}#customize-theme-controls .move-widget-area .description{margin:0;padding:15px 20px;font-weight:400}#customize-theme-controls .widget-area-select{margin:0;padding:0;list-style:none}#customize-theme-controls .widget-area-select li{position:relative;margin:0;padding:13px 42px 15px 15px;color:#555;border-top:1px solid #eee;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#customize-theme-controls .widget-area-select li:before{display:none;content:'\f147';position:absolute;top:12px;right:10px;font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#customize-theme-controls .widget-area-select li:last-child{border-bottom:1px solid #eee}#customize-theme-controls .widget-area-select .selected{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.4);background:#2ea2cc}#customize-theme-controls .widget-area-select .selected:before{display:block}#customize-theme-controls .move-widget-actions{text-align:left;padding:12px}#customize-theme-controls .reordering .widget-title-action{display:none}#customize-theme-controls .reordering .widget-reorder-nav{display:block}.wp-full-overlay-main{left:auto;width:100%}#customize-theme-controls .add-new-widget{cursor:pointer;float:left;margin-right:10px;-webkit-transition:all .2s;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0}.add-new-widget:before{content:"\f132";display:inline-block;position:relative;right:-2px;top:-1px;font:400 20px/1 dashicons;vertical-align:middle;-webkit-transition:all .2s;transition:all .2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.adding-widget .add-new-widget,body.adding-widget .add-new-widget:hover{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}body.adding-widget .add-new-widget:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}#available-widgets .widget{position:static}#widgets-left #available-widgets .widget{float:none!important;width:auto!important}#available-widgets{position:absolute;overflow:auto;top:0;bottom:0;right:-301px;width:300px;margin:0;z-index:1;background:#fff;-webkit-transition:all .2s;transition:all .2s;border-left:1px solid #ddd}#available-widgets-filter{padding:8px 13px 7px 17px;border-bottom:1px solid #e4e4e4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#available-widgets-filter input{padding:5px 10px 2px;width:100%}#available-widgets .widget-tpl{position:relative;padding:20px 60px 20px 15px;border-bottom:1px solid #e4e4e4;cursor:pointer;display:none}#available-widgets .widget-tpl.selected,#available-widgets .widget-tpl:hover{background:#fafafa}#available-widgets .widget-top,#available-widgets .widget-top:hover{border:none;background:0 0;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-title h4{padding:0 0 5px;font-size:14px}#available-widgets .widget .widget-description{padding:0;color:#777}#customize-preview{-webkit-transition:all .2s;transition:all .2s}body.adding-widget #available-widgets{right:0}body.adding-widget .wp-full-overlay-main{right:300px}body.adding-widget #customize-preview{opacity:.4}#available-widgets .widget-title{position:relative}#available-widgets .widget-title:before{content:"\f132";position:absolute;top:-3px;left:100%;margin-left:20px;width:20px;height:20px;color:#333;font:400 20px/1 dashicons;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#available-widgets [class*=easy] .widget-title:before{content:"\f328";top:-4px}#available-widgets [class*=like] .widget-title:before,#available-widgets [class*=super] .widget-title:before{content:"\f155";top:-4px}#available-widgets [class*=meta] .widget-title:before{content:"\f120"}#available-widgets [class*=archives] .widget-title:before{content:"\f480";top:-4px}#available-widgets [class*=categor] .widget-title:before{content:"\f318";top:-4px}#available-widgets [class*=chat] .widget-title:before,#available-widgets [class*=comment] .widget-title:before,#available-widgets [class*=testimonial] .widget-title:before{content:"\f101"}#available-widgets [class*=post] .widget-title:before{content:"\f109"}#available-widgets [class*=page] .widget-title:before{content:"\f105"}#available-widgets [class*=text] .widget-title:before{content:"\f478"}#available-widgets [class*=link] .widget-title:before{content:"\f103"}#available-widgets [class*=search] .widget-title:before{content:"\f179"}#available-widgets [class*=menu] .widget-title:before,#available-widgets [class*=nav] .widget-title:before{content:"\f333"}#available-widgets [class*=tag] .widget-title:before{content:"\f479"}#available-widgets [class*=rss] .widget-title:before{content:"\f303";top:-6px}#available-widgets [class*=calendar] .widget-title:before,#available-widgets [class*=event] .widget-title:before{content:"\f145";top:-4px}#available-widgets [class*=image] .widget-title:before,#available-widgets [class*=instagram] .widget-title:before,#available-widgets [class*=photo] .widget-title:before,#available-widgets [class*=slide] .widget-title:before{content:"\f128"}#available-widgets [class*=album] .widget-title:before,#available-widgets [class*=galler] .widget-title:before{content:"\f161"}#available-widgets [class*=tube] .widget-title:before,#available-widgets [class*=video] .widget-title:before{content:"\f126"}#available-widgets [class*=audio] .widget-title:before,#available-widgets [class*=music] .widget-title:before,#available-widgets [class*=radio] .widget-title:before{content:"\f127"}#available-widgets [class*=avatar] .widget-title:before,#available-widgets [class*=grofile] .widget-title:before,#available-widgets [class*=login] .widget-title:before,#available-widgets [class*=member] .widget-title:before,#available-widgets [class*=profile] .widget-title:before,#available-widgets [class*=subscriber] .widget-title:before,#available-widgets [class*=user] .widget-title:before{content:"\f110"}#available-widgets [class*=cart] .widget-title:before,#available-widgets [class*=commerce] .widget-title:before,#available-widgets [class*=shop] .widget-title:before{content:"\f174";top:-4px}#available-widgets [class*=firewall] .widget-title:before,#available-widgets [class*=secur] .widget-title:before{content:"\f332"}#available-widgets [class*=analytic] .widget-title:before,#available-widgets [class*=poll] .widget-title:before,#available-widgets [class*=stat] .widget-title:before{content:"\f185"}#available-widgets [class*=form] .widget-title:before{content:"\f175"}#available-widgets [class*=contact] .widget-title:before,#available-widgets [class*=mail] .widget-title:before,#available-widgets [class*=news] .widget-title:before,#available-widgets [class*=subscribe] .widget-title:before{content:"\f466"}#available-widgets [class*=share] .widget-title:before,#available-widgets [class*=socia] .widget-title:before{content:"\f237"}#available-widgets [class*=lang] .widget-title:before,#available-widgets [class*=translat] .widget-title:before{content:"\f326"}#available-widgets [class*=locat] .widget-title:before,#available-widgets [class*=map] .widget-title:before{content:"\f231"}#available-widgets [class*=download] .widget-title:before{content:"\f316"}#available-widgets [class*=weather] .widget-title:before{content:"\f176";top:-4px}#available-widgets [class*=facebook] .widget-title:before{content:"\f304"}#available-widgets [class*=tweet] .widget-title:before,#available-widgets [class*=twitter] .widget-title:before{content:"\f301"}@media screen and (max-height:700px) and (min-width:981px){.customize-control{margin-bottom:0}.widget-top{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px}.widget-top:hover{position:relative;z-index:1}.last-widget{margin-bottom:15px}.widget-title h4{padding:13px 15px}.widget-top a.widget-action:after{padding-top:9px}.widget-reorder-nav span{height:39px}.widget-reorder-nav span:before{line-height:39px}#customize-theme-controls .widget-area-select li{padding:9px 42px 11px 15px}#customize-theme-controls .widget-area-select li:before{top:8px}}
\ No newline at end of file
diff --git a/wp-admin/css/customize-widgets.min.css b/wp-admin/css/customize-widgets.min.css
index cac07db2a..7c7cf4a10 100644
--- a/wp-admin/css/customize-widgets.min.css
+++ b/wp-admin/css/customize-widgets.min.css
@@ -1 +1 @@
-.wp-full-overlay-sidebar{overflow:visible}.control-section[id^=accordion-section-sidebar-widgets-],.customize-control-sidebar_widgets .hide-if-js,.customize-control-sidebar_widgets label{display:none}.customize-control-widget_form .widget-top{-webkit-transition:opacity .5s;transition:opacity .5s}.customize-control-widget_form:not(.widget-rendered) .widget-top{opacity:.5}.customize-control-widget_form .spinner,.customize-control-widget_form .widget-control-save{display:none}.customize-control-widget_form.previewer-loading .spinner{display:inline}.customize-control-widget_form.widget-form-disabled .widget-content{opacity:.7;pointer-events:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.customize-control-widget_form .widget{margin-bottom:0}.customize-control-widget_form.wide-widget-control .widget-inside{position:fixed;left:299px;top:25%;border:1px solid #e5e5e5;overflow:auto}.customize-control-widget_form.wide-widget-control .widget-inside>.form{padding:20px}.customize-control-widget_form.wide-widget-control .widget-top{-webkit-transition:background-color .4s;transition:background-color .4s}.customize-control-widget_form.wide-widget-control.expanded:not(.collapsing) .widget-top,.customize-control-widget_form.wide-widget-control.expanding .widget-top{background-color:#e3e3e3}.widget-inside{padding:1px 10px 10px;border-top:0;line-height:16px}.widget-top{cursor:move}.customize-control-widget_form.expanded a.widget-action:after{content:"\f142"}.customize-control-widget_form.wide-widget-control a.widget-action:after{content:"\f139"}.customize-control-widget_form.wide-widget-control.expanded a.widget-action:after{content:"\f141"}.widget-title-action{cursor:pointer}.customize-control-widget_form .widget .customize-control-title{cursor:move}.control-section.accordion-section.highlighted>.accordion-section-title,.customize-control-widget_form.highlighted{outline:0;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8);position:relative;z-index:1}#widget-customizer-control-templates{display:none}.reorder-toggle{float:right;padding:5px 8px;text-decoration:none;cursor:pointer;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-toggle:focus{outline:1px dotted}.reorder-done,.reordering .reorder{display:none}.reordering .reorder-done{display:block;color:#a00}#customize-theme-controls .reordering .add-new-widget{opacity:.2;pointer-events:none;cursor:not-allowed}#customize-theme-controls .widget-reorder-nav{display:none;float:right;background-color:#fafafa}.widget-reorder-nav span{position:relative;overflow:hidden;float:left;display:block;width:33px;height:43px;color:#888;text-indent:-9999px;cursor:pointer;outline:0}.widget-reorder-nav span:before{display:inline-block;position:absolute;top:0;right:0;width:100%;height:100%;font:400 20px/43px dashicons;text-align:center;text-indent:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.widget-reorder-nav span:focus,.widget-reorder-nav span:hover{color:#444;background:#eee}.move-widget:before{content:'\f504'}.move-widget-down:before{content:'\f347'}.move-widget-up:before{content:'\f343'}#customize-theme-controls .first-widget .move-widget-up,#customize-theme-controls .last-widget .move-widget-down{color:#d5d5d5;cursor:default}#customize-theme-controls .move-widget-area{display:none;background:#fff;border:1px solid #dedede;border-top:0;cursor:auto}#customize-theme-controls .reordering .move-widget-area.active{display:block}#customize-theme-controls .move-widget-area .description{margin:0;padding:15px 20px;font-weight:400}#customize-theme-controls .widget-area-select{margin:0;padding:0;list-style:none}#customize-theme-controls .widget-area-select li{position:relative;margin:0;padding:13px 15px 15px 42px;color:#555;border-top:1px solid #eee;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#customize-theme-controls .widget-area-select li:before{display:none;content:'\f147';position:absolute;top:12px;left:10px;font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#customize-theme-controls .widget-area-select li:last-child{border-bottom:1px solid #eee}#customize-theme-controls .widget-area-select .selected{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.4);background:#2ea2cc}#customize-theme-controls .widget-area-select .selected:before{display:block}#customize-theme-controls .move-widget-actions{text-align:right;padding:12px}#customize-theme-controls .reordering .widget-title-action{display:none}#customize-theme-controls .reordering .widget-reorder-nav{display:block}.wp-full-overlay-main{right:auto;width:100%}#customize-theme-controls .add-new-widget{cursor:pointer;float:right;margin-left:10px;-webkit-transition:all .2s;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0}.add-new-widget:before{content:"\f132";display:inline-block;position:relative;left:-2px;top:-1px;font:400 20px/1 dashicons;vertical-align:middle;-webkit-transition:all .2s;transition:all .2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.adding-widget .add-new-widget,body.adding-widget .add-new-widget:hover{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}body.adding-widget .add-new-widget:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}#available-widgets .widget{position:static}#widgets-left #available-widgets .widget{float:none!important;width:auto!important}#available-widgets{position:absolute;overflow:auto;top:0;bottom:0;left:-301px;width:300px;margin:0;z-index:1;background:#fff;-webkit-transition:all .2s;transition:all .2s;border-right:1px solid #ddd}#available-widgets-filter{padding:8px 17px 7px 13px;border-bottom:1px solid #e4e4e4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#available-widgets-filter input{padding:5px 10px 2px;width:100%}#available-widgets .widget-tpl{position:relative;padding:20px 15px 20px 60px;border-bottom:1px solid #e4e4e4;cursor:pointer;display:none}#available-widgets .widget-tpl.selected,#available-widgets .widget-tpl:hover{background:#fafafa}#available-widgets .widget-top,#available-widgets .widget-top:hover{border:0;background:0 0;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-title h4{padding:0 0 5px;font-size:14px}#available-widgets .widget .widget-description{padding:0;color:#777}#customize-preview{-webkit-transition:all .2s;transition:all .2s}body.adding-widget #available-widgets{left:0}body.adding-widget .wp-full-overlay-main{left:300px}body.adding-widget #customize-preview{opacity:.4}#available-widgets .widget-title{position:relative}#available-widgets .widget-title:before{content:"\f132";position:absolute;top:-3px;right:100%;margin-right:20px;width:20px;height:20px;color:#333;font:400 20px/1 dashicons;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#available-widgets [class*=easy] .widget-title:before{content:"\f328";top:-4px}#available-widgets [class*=like] .widget-title:before,#available-widgets [class*=super] .widget-title:before{content:"\f155";top:-4px}#available-widgets [class*=meta] .widget-title:before{content:"\f120"}#available-widgets [class*=archives] .widget-title:before{content:"\f480";top:-4px}#available-widgets [class*=categor] .widget-title:before{content:"\f318";top:-4px}#available-widgets [class*=chat] .widget-title:before,#available-widgets [class*=comment] .widget-title:before,#available-widgets [class*=testimonial] .widget-title:before{content:"\f101"}#available-widgets [class*=post] .widget-title:before{content:"\f109"}#available-widgets [class*=page] .widget-title:before{content:"\f105"}#available-widgets [class*=text] .widget-title:before{content:"\f478"}#available-widgets [class*=link] .widget-title:before{content:"\f103"}#available-widgets [class*=search] .widget-title:before{content:"\f179"}#available-widgets [class*=menu] .widget-title:before,#available-widgets [class*=nav] .widget-title:before{content:"\f333"}#available-widgets [class*=tag] .widget-title:before{content:"\f479"}#available-widgets [class*=rss] .widget-title:before{content:"\f303";top:-6px}#available-widgets [class*=calendar] .widget-title:before,#available-widgets [class*=event] .widget-title:before{content:"\f145";top:-4px}#available-widgets [class*=image] .widget-title:before,#available-widgets [class*=instagram] .widget-title:before,#available-widgets [class*=photo] .widget-title:before,#available-widgets [class*=slide] .widget-title:before{content:"\f128"}#available-widgets [class*=album] .widget-title:before,#available-widgets [class*=galler] .widget-title:before{content:"\f161"}#available-widgets [class*=tube] .widget-title:before,#available-widgets [class*=video] .widget-title:before{content:"\f126"}#available-widgets [class*=audio] .widget-title:before,#available-widgets [class*=music] .widget-title:before,#available-widgets [class*=radio] .widget-title:before{content:"\f127"}#available-widgets [class*=avatar] .widget-title:before,#available-widgets [class*=grofile] .widget-title:before,#available-widgets [class*=login] .widget-title:before,#available-widgets [class*=member] .widget-title:before,#available-widgets [class*=profile] .widget-title:before,#available-widgets [class*=subscriber] .widget-title:before,#available-widgets [class*=user] .widget-title:before{content:"\f110"}#available-widgets [class*=cart] .widget-title:before,#available-widgets [class*=commerce] .widget-title:before,#available-widgets [class*=shop] .widget-title:before{content:"\f174";top:-4px}#available-widgets [class*=firewall] .widget-title:before,#available-widgets [class*=secur] .widget-title:before{content:"\f332"}#available-widgets [class*=analytic] .widget-title:before,#available-widgets [class*=poll] .widget-title:before,#available-widgets [class*=stat] .widget-title:before{content:"\f185"}#available-widgets [class*=form] .widget-title:before{content:"\f175"}#available-widgets [class*=contact] .widget-title:before,#available-widgets [class*=mail] .widget-title:before,#available-widgets [class*=news] .widget-title:before,#available-widgets [class*=subscribe] .widget-title:before{content:"\f466"}#available-widgets [class*=share] .widget-title:before,#available-widgets [class*=socia] .widget-title:before{content:"\f237"}#available-widgets [class*=lang] .widget-title:before,#available-widgets [class*=translat] .widget-title:before{content:"\f326"}#available-widgets [class*=locat] .widget-title:before,#available-widgets [class*=map] .widget-title:before{content:"\f231"}#available-widgets [class*=download] .widget-title:before{content:"\f316"}#available-widgets [class*=weather] .widget-title:before{content:"\f176";top:-4px}#available-widgets [class*=facebook] .widget-title:before{content:"\f304"}#available-widgets [class*=tweet] .widget-title:before,#available-widgets [class*=twitter] .widget-title:before{content:"\f301"}@media screen and (max-height:700px) and (min-width:981px){.customize-control{margin-bottom:0}.widget-top{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px}.widget-top:hover{position:relative;z-index:1}.last-widget{margin-bottom:15px}.widget-title h4{padding:13px 15px}.widget-top a.widget-action:after{padding-top:9px}.widget-reorder-nav span{height:39px}.widget-reorder-nav span:before{line-height:39px}#customize-theme-controls .widget-area-select li{padding:9px 15px 11px 42px}#customize-theme-controls .widget-area-select li:before{top:8px}}
\ No newline at end of file
+.wp-full-overlay-sidebar{overflow:visible}.control-section[id^=accordion-section-sidebar-widgets-],.customize-control-sidebar_widgets .hide-if-js,.customize-control-sidebar_widgets label{display:none}.customize-control-widget_form .widget-top{-webkit-transition:opacity .5s;transition:opacity .5s}.customize-control-widget_form:not(.widget-rendered) .widget-top{opacity:.5}.customize-control-widget_form .spinner,.customize-control-widget_form .widget-control-save{display:none}.customize-control-widget_form.previewer-loading .spinner{display:inline}.customize-control-widget_form.widget-form-disabled .widget-content{opacity:.7;pointer-events:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.customize-control-widget_form .widget{margin-bottom:0}.customize-control-widget_form.wide-widget-control .widget-inside{position:fixed;left:299px;top:25%;border:1px solid #e5e5e5;overflow:auto}.customize-control-widget_form.wide-widget-control .widget-inside>.form{padding:20px}.customize-control-widget_form.wide-widget-control .widget-top{-webkit-transition:background-color .4s;transition:background-color .4s}.customize-control-widget_form.wide-widget-control.expanded:not(.collapsing) .widget-top,.customize-control-widget_form.wide-widget-control.expanding .widget-top{background-color:#e3e3e3}.widget-inside{padding:1px 10px 10px;border-top:none;line-height:16px}.widget-top{cursor:move}.customize-control-widget_form.expanded a.widget-action:after{content:"\f142"}.customize-control-widget_form.wide-widget-control a.widget-action:after{content:"\f139"}.customize-control-widget_form.wide-widget-control.expanded a.widget-action:after{content:"\f141"}.widget-title-action{cursor:pointer}.customize-control-widget_form .widget .customize-control-title{cursor:move}.control-section.accordion-section.highlighted>.accordion-section-title,.customize-control-widget_form.highlighted{outline:0;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8);position:relative;z-index:1}#widget-customizer-control-templates{display:none}.reorder-toggle{float:right;padding:5px 8px;text-decoration:none;cursor:pointer;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-toggle:focus{outline:dotted 1px}.reorder-done,.reordering .reorder{display:none}.reordering .reorder-done{display:block;color:#a00}#customize-theme-controls .reordering .add-new-widget{opacity:.2;pointer-events:none;cursor:not-allowed}#customize-theme-controls .widget-reorder-nav{display:none;float:right;background-color:#fafafa}.widget-reorder-nav span{position:relative;overflow:hidden;float:left;display:block;width:33px;height:43px;color:#888;text-indent:-9999px;cursor:pointer;outline:0}.widget-reorder-nav span:before{display:inline-block;position:absolute;top:0;right:0;width:100%;height:100%;font:400 20px/43px dashicons;text-align:center;text-indent:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.widget-reorder-nav span:focus,.widget-reorder-nav span:hover{color:#444;background:#eee}.move-widget:before{content:'\f504'}.move-widget-down:before{content:'\f347'}.move-widget-up:before{content:'\f343'}#customize-theme-controls .first-widget .move-widget-up,#customize-theme-controls .last-widget .move-widget-down{color:#d5d5d5;cursor:default}#customize-theme-controls .move-widget-area{display:none;background:#fff;border:1px solid #dedede;border-top:none;cursor:auto}#customize-theme-controls .reordering .move-widget-area.active{display:block}#customize-theme-controls .move-widget-area .description{margin:0;padding:15px 20px;font-weight:400}#customize-theme-controls .widget-area-select{margin:0;padding:0;list-style:none}#customize-theme-controls .widget-area-select li{position:relative;margin:0;padding:13px 15px 15px 42px;color:#555;border-top:1px solid #eee;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#customize-theme-controls .widget-area-select li:before{display:none;content:'\f147';position:absolute;top:12px;left:10px;font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#customize-theme-controls .widget-area-select li:last-child{border-bottom:1px solid #eee}#customize-theme-controls .widget-area-select .selected{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.4);background:#2ea2cc}#customize-theme-controls .widget-area-select .selected:before{display:block}#customize-theme-controls .move-widget-actions{text-align:right;padding:12px}#customize-theme-controls .reordering .widget-title-action{display:none}#customize-theme-controls .reordering .widget-reorder-nav{display:block}.wp-full-overlay-main{right:auto;width:100%}#customize-theme-controls .add-new-widget{cursor:pointer;float:right;margin-left:10px;-webkit-transition:all .2s;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0}.add-new-widget:before{content:"\f132";display:inline-block;position:relative;left:-2px;top:-1px;font:400 20px/1 dashicons;vertical-align:middle;-webkit-transition:all .2s;transition:all .2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.adding-widget .add-new-widget,body.adding-widget .add-new-widget:hover{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}body.adding-widget .add-new-widget:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}#available-widgets .widget{position:static}#widgets-left #available-widgets .widget{float:none!important;width:auto!important}#available-widgets{position:absolute;overflow:auto;top:0;bottom:0;left:-301px;width:300px;margin:0;z-index:1;background:#fff;-webkit-transition:all .2s;transition:all .2s;border-right:1px solid #ddd}#available-widgets-filter{padding:8px 17px 7px 13px;border-bottom:1px solid #e4e4e4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#available-widgets-filter input{padding:5px 10px 2px;width:100%}#available-widgets .widget-tpl{position:relative;padding:20px 15px 20px 60px;border-bottom:1px solid #e4e4e4;cursor:pointer;display:none}#available-widgets .widget-tpl.selected,#available-widgets .widget-tpl:hover{background:#fafafa}#available-widgets .widget-top,#available-widgets .widget-top:hover{border:none;background:0 0;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-title h4{padding:0 0 5px;font-size:14px}#available-widgets .widget .widget-description{padding:0;color:#777}#customize-preview{-webkit-transition:all .2s;transition:all .2s}body.adding-widget #available-widgets{left:0}body.adding-widget .wp-full-overlay-main{left:300px}body.adding-widget #customize-preview{opacity:.4}#available-widgets .widget-title{position:relative}#available-widgets .widget-title:before{content:"\f132";position:absolute;top:-3px;right:100%;margin-right:20px;width:20px;height:20px;color:#333;font:400 20px/1 dashicons;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#available-widgets [class*=easy] .widget-title:before{content:"\f328";top:-4px}#available-widgets [class*=like] .widget-title:before,#available-widgets [class*=super] .widget-title:before{content:"\f155";top:-4px}#available-widgets [class*=meta] .widget-title:before{content:"\f120"}#available-widgets [class*=archives] .widget-title:before{content:"\f480";top:-4px}#available-widgets [class*=categor] .widget-title:before{content:"\f318";top:-4px}#available-widgets [class*=chat] .widget-title:before,#available-widgets [class*=comment] .widget-title:before,#available-widgets [class*=testimonial] .widget-title:before{content:"\f101"}#available-widgets [class*=post] .widget-title:before{content:"\f109"}#available-widgets [class*=page] .widget-title:before{content:"\f105"}#available-widgets [class*=text] .widget-title:before{content:"\f478"}#available-widgets [class*=link] .widget-title:before{content:"\f103"}#available-widgets [class*=search] .widget-title:before{content:"\f179"}#available-widgets [class*=menu] .widget-title:before,#available-widgets [class*=nav] .widget-title:before{content:"\f333"}#available-widgets [class*=tag] .widget-title:before{content:"\f479"}#available-widgets [class*=rss] .widget-title:before{content:"\f303";top:-6px}#available-widgets [class*=calendar] .widget-title:before,#available-widgets [class*=event] .widget-title:before{content:"\f145";top:-4px}#available-widgets [class*=image] .widget-title:before,#available-widgets [class*=instagram] .widget-title:before,#available-widgets [class*=photo] .widget-title:before,#available-widgets [class*=slide] .widget-title:before{content:"\f128"}#available-widgets [class*=album] .widget-title:before,#available-widgets [class*=galler] .widget-title:before{content:"\f161"}#available-widgets [class*=tube] .widget-title:before,#available-widgets [class*=video] .widget-title:before{content:"\f126"}#available-widgets [class*=audio] .widget-title:before,#available-widgets [class*=music] .widget-title:before,#available-widgets [class*=radio] .widget-title:before{content:"\f127"}#available-widgets [class*=avatar] .widget-title:before,#available-widgets [class*=grofile] .widget-title:before,#available-widgets [class*=login] .widget-title:before,#available-widgets [class*=member] .widget-title:before,#available-widgets [class*=profile] .widget-title:before,#available-widgets [class*=subscriber] .widget-title:before,#available-widgets [class*=user] .widget-title:before{content:"\f110"}#available-widgets [class*=cart] .widget-title:before,#available-widgets [class*=commerce] .widget-title:before,#available-widgets [class*=shop] .widget-title:before{content:"\f174";top:-4px}#available-widgets [class*=firewall] .widget-title:before,#available-widgets [class*=secur] .widget-title:before{content:"\f332"}#available-widgets [class*=analytic] .widget-title:before,#available-widgets [class*=poll] .widget-title:before,#available-widgets [class*=stat] .widget-title:before{content:"\f185"}#available-widgets [class*=form] .widget-title:before{content:"\f175"}#available-widgets [class*=contact] .widget-title:before,#available-widgets [class*=mail] .widget-title:before,#available-widgets [class*=news] .widget-title:before,#available-widgets [class*=subscribe] .widget-title:before{content:"\f466"}#available-widgets [class*=share] .widget-title:before,#available-widgets [class*=socia] .widget-title:before{content:"\f237"}#available-widgets [class*=lang] .widget-title:before,#available-widgets [class*=translat] .widget-title:before{content:"\f326"}#available-widgets [class*=locat] .widget-title:before,#available-widgets [class*=map] .widget-title:before{content:"\f231"}#available-widgets [class*=download] .widget-title:before{content:"\f316"}#available-widgets [class*=weather] .widget-title:before{content:"\f176";top:-4px}#available-widgets [class*=facebook] .widget-title:before{content:"\f304"}#available-widgets [class*=tweet] .widget-title:before,#available-widgets [class*=twitter] .widget-title:before{content:"\f301"}@media screen and (max-height:700px) and (min-width:981px){.customize-control{margin-bottom:0}.widget-top{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px}.widget-top:hover{position:relative;z-index:1}.last-widget{margin-bottom:15px}.widget-title h4{padding:13px 15px}.widget-top a.widget-action:after{padding-top:9px}.widget-reorder-nav span{height:39px}.widget-reorder-nav span:before{line-height:39px}#customize-theme-controls .widget-area-select li{padding:9px 15px 11px 42px}#customize-theme-controls .widget-area-select li:before{top:8px}}
\ No newline at end of file
diff --git a/wp-admin/css/dashboard-rtl.css b/wp-admin/css/dashboard-rtl.css
index f608d4501..d6a051b48 100644
--- a/wp-admin/css/dashboard-rtl.css
+++ b/wp-admin/css/dashboard-rtl.css
@@ -74,20 +74,6 @@
 	min-height: 100px;
 }
 
-h3.dashboard-widget-title,
-h3.dashboard-widget-title span,
-h3.dashboard-widget-title small {
-	color: #333;
-}
-
-h3.dashboard-widget-title small a {
-	color: #d7d7d7;
-}
-
-h3.dashboard-widget-title small a:hover {
-	color: #fff;
-}
-
 /* @todo: this was originally in this section, but likely belongs elsewhere */
 #the-comment-list td.comment p.comment-author {
 	margin-top: 0;
@@ -168,7 +154,7 @@ h3.dashboard-widget-title small a:hover {
 	line-height: 1;
 }
 
-#welcome-panel.welcome-panel .welcome-panel-close::before {
+#welcome-panel.welcome-panel .welcome-panel-close:before {
 	position: absolute;
 	right: -18px;
 	margin-top: -2px;
@@ -301,15 +287,6 @@ body #dashboard-widgets .postbox form .submit {
 	margin-top: 0;
 }
 
-/* @todo: are these actually used anywhere? no non-CSS results in plugin search */
-div.dashboard-widget-error {
-	background-color: #c43;
-}
-
-div.dashboard-widget-notice {
-	background-color: #cfe1ef;
-}
-
 .rssSummary {
 	color: #777;
 	margin-top: 4px;
@@ -710,6 +687,7 @@ form.initial-form.quickpress-open input#title {
 #activity-widget #the-comment-list div.undo {
 	background: none;
 	padding: 6px 0;
+	margin-right: 12px;
 }
 
 #activity-widget #the-comment-list .alternate,
@@ -725,7 +703,6 @@ form.initial-form.quickpress-open input#title {
 
 #activity-widget #the-comment-list img {
 	position: absolute;
-	right: 13px;
 	top: 13px;
 }
 
@@ -767,7 +744,6 @@ form.initial-form.quickpress-open input#title {
 
 #activity-widget #the-comment-list .spam-undo-inside .avatar,
 #activity-widget #the-comment-list .trash-undo-inside .avatar {
-	margin-left: 20px;
 	position: relative;
 	top: 0;
 }
@@ -842,7 +818,8 @@ h3:hover .edit-box {
 	position: relative;
 }
 
-#activity-widget #the-comment-list .comment {
+#activity-widget #the-comment-list .comment,
+#activity-widget #the-comment-list .pingback {
 	-webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.06);
 	box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.06);
 }
@@ -889,14 +866,14 @@ h3:hover .edit-box {
 
 /* QuickDraft */
 
-#title-wrap label {
+#title-wrap label,
+#description-wrap label {
 	cursor: text;
 }
 
 #title-wrap #title {
 	padding: 2px 6px;
 	font-size: 1.3em;
-	line-height: 100%;
 	outline: none;
 }
 
@@ -1128,7 +1105,7 @@ a.rsswidget {
 	}
 
 	/* Make the close icon larger for tappability. */
-	#welcome-panel.welcome-panel .welcome-panel-close::before {
+	#welcome-panel.welcome-panel .welcome-panel-close:before {
 		font-size: 20px;
 		margin: 0;
 	}
diff --git a/wp-admin/css/dashboard.css b/wp-admin/css/dashboard.css
index bd94d964d..9759e4004 100644
--- a/wp-admin/css/dashboard.css
+++ b/wp-admin/css/dashboard.css
@@ -74,20 +74,6 @@
 	min-height: 100px;
 }
 
-h3.dashboard-widget-title,
-h3.dashboard-widget-title span,
-h3.dashboard-widget-title small {
-	color: #333;
-}
-
-h3.dashboard-widget-title small a {
-	color: #d7d7d7;
-}
-
-h3.dashboard-widget-title small a:hover {
-	color: #fff;
-}
-
 /* @todo: this was originally in this section, but likely belongs elsewhere */
 #the-comment-list td.comment p.comment-author {
 	margin-top: 0;
@@ -168,7 +154,7 @@ h3.dashboard-widget-title small a:hover {
 	line-height: 1;
 }
 
-#welcome-panel.welcome-panel .welcome-panel-close::before {
+#welcome-panel.welcome-panel .welcome-panel-close:before {
 	position: absolute;
 	left: -18px;
 	margin-top: -2px;
@@ -301,15 +287,6 @@ body #dashboard-widgets .postbox form .submit {
 	margin-top: 0;
 }
 
-/* @todo: are these actually used anywhere? no non-CSS results in plugin search */
-div.dashboard-widget-error {
-	background-color: #c43;
-}
-
-div.dashboard-widget-notice {
-	background-color: #cfe1ef;
-}
-
 .rssSummary {
 	color: #777;
 	margin-top: 4px;
@@ -710,6 +687,7 @@ form.initial-form.quickpress-open input#title {
 #activity-widget #the-comment-list div.undo {
 	background: none;
 	padding: 6px 0;
+	margin-left: 12px;
 }
 
 #activity-widget #the-comment-list .alternate,
@@ -725,7 +703,6 @@ form.initial-form.quickpress-open input#title {
 
 #activity-widget #the-comment-list img {
 	position: absolute;
-	left: 13px;
 	top: 13px;
 }
 
@@ -767,7 +744,6 @@ form.initial-form.quickpress-open input#title {
 
 #activity-widget #the-comment-list .spam-undo-inside .avatar,
 #activity-widget #the-comment-list .trash-undo-inside .avatar {
-	margin-right: 20px;
 	position: relative;
 	top: 0;
 }
@@ -842,7 +818,8 @@ h3:hover .edit-box {
 	position: relative;
 }
 
-#activity-widget #the-comment-list .comment {
+#activity-widget #the-comment-list .comment,
+#activity-widget #the-comment-list .pingback {
 	-webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.06);
 	box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.06);
 }
@@ -889,14 +866,14 @@ h3:hover .edit-box {
 
 /* QuickDraft */
 
-#title-wrap label {
+#title-wrap label,
+#description-wrap label {
 	cursor: text;
 }
 
 #title-wrap #title {
 	padding: 2px 6px;
 	font-size: 1.3em;
-	line-height: 100%;
 	outline: none;
 }
 
@@ -1128,7 +1105,7 @@ a.rsswidget {
 	}
 
 	/* Make the close icon larger for tappability. */
-	#welcome-panel.welcome-panel .welcome-panel-close::before {
+	#welcome-panel.welcome-panel .welcome-panel-close:before {
 		font-size: 20px;
 		margin: 0;
 	}
diff --git a/wp-admin/css/deprecated-media-rtl.css b/wp-admin/css/deprecated-media-rtl.css
index 7b69804be..ed90138d3 100644
--- a/wp-admin/css/deprecated-media-rtl.css
+++ b/wp-admin/css/deprecated-media-rtl.css
@@ -24,11 +24,6 @@ body#media-upload ul#sidemenu {
 	clear: both;
 }
 
-#media-upload,
-#media-upload .media-item .slidetoggle {
-	background: #fff;
-}
-
 #media-upload .slidetoggle {
 	border-top-color: #dfdfdf;
 }
@@ -185,7 +180,7 @@ abbr.required {
 .menu_order {
 	float: left;
 	font-size: 11px;
-	margin: 10px 10px 0;
+	margin: 8px 10px 0;
 }
 
 .menu_order_input {
@@ -217,7 +212,6 @@ abbr.required {
 }
 
 #media-upload .widefat {
-	width: 626px;
 	border-style: solid solid none;
 }
 
@@ -273,9 +267,10 @@ h4.media-sub-title {
 
 #gallery-settings .describe {
 	padding: 5px;
-	width: 615px;
+	width: 100%;
 	clear: both;
 	cursor: default;
+	background: #fff;
 }
 
 #gallery-settings .describe select {
@@ -327,7 +322,7 @@ h4.media-sub-title {
 }
 
 p.media-types {
-	margin: 1em;
+	padding: 1em;
 }
 
 tr.not-image {
diff --git a/wp-admin/css/deprecated-media-rtl.min.css b/wp-admin/css/deprecated-media-rtl.min.css
index a16b0121f..c97733dd2 100644
--- a/wp-admin/css/deprecated-media-rtl.min.css
+++ b/wp-admin/css/deprecated-media-rtl.min.css
@@ -1 +1 @@
-div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:700;position:relative;border-bottom:1px solid #dfdfdf;background:#f9f9f9}body#media-upload ul#sidemenu{font-weight:400;margin:0 5px;right:0;bottom:-1px;float:none;overflow:hidden}#media-upload:after{content:"";display:table;clear:both}#media-upload,#media-upload .media-item .slidetoggle{background:#fff}#media-upload .slidetoggle{border-top-color:#dfdfdf}#media-upload input[type=radio]{padding:0}form{margin:1em}#search-filter{text-align:left}th{position:relative}.media-upload-form label.form-help,td.help{font-family:sans-serif;font-style:italic;font-weight:400}.media-upload-form p.help{margin:0;padding:0}.media-upload-form fieldset{width:100%;border:0;text-align:justify;margin:0 0 1em;padding:0}.image-align-none-label{background:url(../images/align-none.png) no-repeat center right}.image-align-left-label{background:url(../images/align-left.png) no-repeat center right}.image-align-center-label{background:url(../images/align-center.png) no-repeat center right}.image-align-right-label{background:url(../images/align-right.png) no-repeat center right}tr.image-size td{width:460px}tr.image-size div.image-size-item{margin:0 0 5px}#gallery-form .progress,#library-form .progress,.describe.startclosed,.describe.startopen,.insert-gallery{display:none}.media-item .thumbnail{max-width:128px;max-height:128px}thead.media-item-info tr{background-color:transparent}.form-table thead.media-item-info{border:8px solid #fff}abbr.required{text-decoration:none;border:0}.describe label{display:inline}.describe td.error{padding:2px 8px}.describe td.A1{width:132px}.describe input[type=text],.describe textarea{width:460px;border-width:1px;border-style:solid}#media-upload p.ml-submit{padding:1em 0}#media-upload label.help,#media-upload p.help{font-family:sans-serif;font-style:italic;font-weight:400}#media-upload .ui-sortable .media-item{cursor:move}#media-upload tr.image-size{margin-bottom:1em;height:3em}#media-upload #filter{width:623px}#media-upload #filter .subsubsub{margin:8px 0}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto}#media-upload .del-attachment{display:none;margin:5px 0}.menu_order{float:left;font-size:11px;margin:10px 10px 0}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px}.ui-sortable-helper{background-color:#fff;border:1px solid #aaa;opacity:.6;filter:alpha(opacity=60)}#media-upload th.order-head{width:20%;text-align:center}#media-upload th.actions-head{width:25%;text-align:center}#media-upload a.wp-post-thumbnail{margin:0 20px}#media-upload .widefat{width:626px;border-style:solid solid none}.sorthelper{height:37px;width:623px;display:block}#gallery-settings th.label{width:160px}#gallery-settings #basic th.label{padding:5px 0 5px 5px}#gallery-settings .title{clear:both;padding:0 0 3px;font-size:1.6em;border-bottom:1px solid #DADADA}h3.media-title{font-size:1.6em}h4.media-sub-title{border-bottom:1px solid #DADADA;font-size:1.3em;margin:12px;padding:0 0 3px}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:400;color:#5A5A5A}#gallery-settings .describe td{vertical-align:middle;height:3em}#gallery-settings .describe th.label{padding-top:.5em;text-align:right}#gallery-settings .describe{padding:5px;width:615px;clear:both;cursor:default}#gallery-settings .describe select{width:15em}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-left:15px}#gallery-settings .align .field label{margin:0 3px 0 1em}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf}#gallery-settings select#columns{width:6em}#sort-buttons{font-size:.8em;margin:3px 0 -8px 25px;text-align:left;max-width:625px}#sort-buttons a{text-decoration:none}#sort-buttons #asc,#sort-buttons #showall{padding-right:5px}#sort-buttons span{margin-left:25px}p.media-types{margin:1em}tr.not-image{display:none}table.not-image tr.not-image{display:table-row}table.not-image tr.image-only{display:none}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.image-align-none-label{background-image:url(../images/align-none-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-left-label{background-image:url(../images/align-left-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}.image-align-center-label{background-image:url(../images/align-center-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-right-label{background-image:url(../images/align-right-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}}
\ No newline at end of file
+div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:700;position:relative;border-bottom:1px solid #dfdfdf;background:#f9f9f9}body#media-upload ul#sidemenu{font-weight:400;margin:0 5px;right:0;bottom:-1px;float:none;overflow:hidden}#media-upload:after{content:"";display:table;clear:both}#media-upload .slidetoggle{border-top-color:#dfdfdf}#media-upload input[type=radio]{padding:0}form{margin:1em}#search-filter{text-align:left}th{position:relative}.media-upload-form label.form-help,td.help{font-family:sans-serif;font-style:italic;font-weight:400}.media-upload-form p.help{margin:0;padding:0}.media-upload-form fieldset{width:100%;border:none;text-align:justify;margin:0 0 1em;padding:0}.image-align-none-label{background:url(../images/align-none.png) no-repeat center right}.image-align-left-label{background:url(../images/align-left.png) no-repeat center right}.image-align-center-label{background:url(../images/align-center.png) no-repeat center right}.image-align-right-label{background:url(../images/align-right.png) no-repeat center right}tr.image-size td{width:460px}tr.image-size div.image-size-item{margin:0 0 5px}#gallery-form .progress,#library-form .progress,.describe.startclosed,.describe.startopen,.insert-gallery{display:none}.media-item .thumbnail{max-width:128px;max-height:128px}thead.media-item-info tr{background-color:transparent}.form-table thead.media-item-info{border:8px solid #fff}abbr.required{text-decoration:none;border:none}.describe label{display:inline}.describe td.error{padding:2px 8px}.describe td.A1{width:132px}.describe input[type=text],.describe textarea{width:460px;border-width:1px;border-style:solid}#media-upload p.ml-submit{padding:1em 0}#media-upload label.help,#media-upload p.help{font-family:sans-serif;font-style:italic;font-weight:400}#media-upload .ui-sortable .media-item{cursor:move}#media-upload tr.image-size{margin-bottom:1em;height:3em}#media-upload #filter{width:623px}#media-upload #filter .subsubsub{margin:8px 0}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto}#media-upload .del-attachment{display:none;margin:5px 0}.menu_order{float:left;font-size:11px;margin:8px 10px 0}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px}.ui-sortable-helper{background-color:#fff;border:1px solid #aaa;opacity:.6;filter:alpha(opacity=60)}#media-upload th.order-head{width:20%;text-align:center}#media-upload th.actions-head{width:25%;text-align:center}#media-upload a.wp-post-thumbnail{margin:0 20px}#media-upload .widefat{border-style:solid solid none}.sorthelper{height:37px;width:623px;display:block}#gallery-settings th.label{width:160px}#gallery-settings #basic th.label{padding:5px 0 5px 5px}#gallery-settings .title{clear:both;padding:0 0 3px;font-size:1.6em;border-bottom:1px solid #DADADA}h3.media-title{font-size:1.6em}h4.media-sub-title{border-bottom:1px solid #DADADA;font-size:1.3em;margin:12px;padding:0 0 3px}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:400;color:#5A5A5A}#gallery-settings .describe td{vertical-align:middle;height:3em}#gallery-settings .describe th.label{padding-top:.5em;text-align:right}#gallery-settings .describe{padding:5px;width:100%;clear:both;cursor:default;background:#fff}#gallery-settings .describe select{width:15em}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-left:15px}#gallery-settings .align .field label{margin:0 3px 0 1em}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf}#gallery-settings select#columns{width:6em}#sort-buttons{font-size:.8em;margin:3px 0 -8px 25px;text-align:left;max-width:625px}#sort-buttons a{text-decoration:none}#sort-buttons #asc,#sort-buttons #showall{padding-right:5px}#sort-buttons span{margin-left:25px}p.media-types{padding:1em}tr.not-image{display:none}table.not-image tr.not-image{display:table-row}table.not-image tr.image-only{display:none}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.image-align-none-label{background-image:url(../images/align-none-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-left-label{background-image:url(../images/align-left-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}.image-align-center-label{background-image:url(../images/align-center-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-right-label{background-image:url(../images/align-right-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}}
\ No newline at end of file
diff --git a/wp-admin/css/deprecated-media.css b/wp-admin/css/deprecated-media.css
index edd4c0b2b..ee7c08fe3 100644
--- a/wp-admin/css/deprecated-media.css
+++ b/wp-admin/css/deprecated-media.css
@@ -24,11 +24,6 @@ body#media-upload ul#sidemenu {
 	clear: both;
 }
 
-#media-upload,
-#media-upload .media-item .slidetoggle {
-	background: #fff;
-}
-
 #media-upload .slidetoggle {
 	border-top-color: #dfdfdf;
 }
@@ -185,7 +180,7 @@ abbr.required {
 .menu_order {
 	float: right;
 	font-size: 11px;
-	margin: 10px 10px 0;
+	margin: 8px 10px 0;
 }
 
 .menu_order_input {
@@ -217,7 +212,6 @@ abbr.required {
 }
 
 #media-upload .widefat {
-	width: 626px;
 	border-style: solid solid none;
 }
 
@@ -273,9 +267,10 @@ h4.media-sub-title {
 
 #gallery-settings .describe {
 	padding: 5px;
-	width: 615px;
+	width: 100%;
 	clear: both;
 	cursor: default;
+	background: #fff;
 }
 
 #gallery-settings .describe select {
@@ -327,7 +322,7 @@ h4.media-sub-title {
 }
 
 p.media-types {
-	margin: 1em;
+	padding: 1em;
 }
 
 tr.not-image {
diff --git a/wp-admin/css/deprecated-media.min.css b/wp-admin/css/deprecated-media.min.css
index a6aca1d4a..59b3a6867 100644
--- a/wp-admin/css/deprecated-media.min.css
+++ b/wp-admin/css/deprecated-media.min.css
@@ -1 +1 @@
-div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:700;position:relative;border-bottom:1px solid #dfdfdf;background:#f9f9f9}body#media-upload ul#sidemenu{font-weight:400;margin:0 5px;left:0;bottom:-1px;float:none;overflow:hidden}#media-upload:after{content:"";display:table;clear:both}#media-upload,#media-upload .media-item .slidetoggle{background:#fff}#media-upload .slidetoggle{border-top-color:#dfdfdf}#media-upload input[type=radio]{padding:0}form{margin:1em}#search-filter{text-align:right}th{position:relative}.media-upload-form label.form-help,td.help{font-family:sans-serif;font-style:italic;font-weight:400}.media-upload-form p.help{margin:0;padding:0}.media-upload-form fieldset{width:100%;border:0;text-align:justify;margin:0 0 1em;padding:0}.image-align-none-label{background:url(../images/align-none.png) no-repeat center left}.image-align-left-label{background:url(../images/align-left.png) no-repeat center left}.image-align-center-label{background:url(../images/align-center.png) no-repeat center left}.image-align-right-label{background:url(../images/align-right.png) no-repeat center left}tr.image-size td{width:460px}tr.image-size div.image-size-item{margin:0 0 5px}#gallery-form .progress,#library-form .progress,.describe.startclosed,.describe.startopen,.insert-gallery{display:none}.media-item .thumbnail{max-width:128px;max-height:128px}thead.media-item-info tr{background-color:transparent}.form-table thead.media-item-info{border:8px solid #fff}abbr.required{text-decoration:none;border:0}.describe label{display:inline}.describe td.error{padding:2px 8px}.describe td.A1{width:132px}.describe input[type=text],.describe textarea{width:460px;border-width:1px;border-style:solid}#media-upload p.ml-submit{padding:1em 0}#media-upload label.help,#media-upload p.help{font-family:sans-serif;font-style:italic;font-weight:400}#media-upload .ui-sortable .media-item{cursor:move}#media-upload tr.image-size{margin-bottom:1em;height:3em}#media-upload #filter{width:623px}#media-upload #filter .subsubsub{margin:8px 0}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto}#media-upload .del-attachment{display:none;margin:5px 0}.menu_order{float:right;font-size:11px;margin:10px 10px 0}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px}.ui-sortable-helper{background-color:#fff;border:1px solid #aaa;opacity:.6;filter:alpha(opacity=60)}#media-upload th.order-head{width:20%;text-align:center}#media-upload th.actions-head{width:25%;text-align:center}#media-upload a.wp-post-thumbnail{margin:0 20px}#media-upload .widefat{width:626px;border-style:solid solid none}.sorthelper{height:37px;width:623px;display:block}#gallery-settings th.label{width:160px}#gallery-settings #basic th.label{padding:5px 5px 5px 0}#gallery-settings .title{clear:both;padding:0 0 3px;font-size:1.6em;border-bottom:1px solid #DADADA}h3.media-title{font-size:1.6em}h4.media-sub-title{border-bottom:1px solid #DADADA;font-size:1.3em;margin:12px;padding:0 0 3px}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:400;color:#5A5A5A}#gallery-settings .describe td{vertical-align:middle;height:3em}#gallery-settings .describe th.label{padding-top:.5em;text-align:left}#gallery-settings .describe{padding:5px;width:615px;clear:both;cursor:default}#gallery-settings .describe select{width:15em}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-right:15px}#gallery-settings .align .field label{margin:0 1em 0 3px}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf}#gallery-settings select#columns{width:6em}#sort-buttons{font-size:.8em;margin:3px 25px -8px 0;text-align:right;max-width:625px}#sort-buttons a{text-decoration:none}#sort-buttons #asc,#sort-buttons #showall{padding-left:5px}#sort-buttons span{margin-right:25px}p.media-types{margin:1em}tr.not-image{display:none}table.not-image tr.not-image{display:table-row}table.not-image tr.image-only{display:none}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.image-align-none-label{background-image:url(../images/align-none-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-left-label{background-image:url(../images/align-left-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}.image-align-center-label{background-image:url(../images/align-center-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-right-label{background-image:url(../images/align-right-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}}
\ No newline at end of file
+div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:700;position:relative;border-bottom:1px solid #dfdfdf;background:#f9f9f9}body#media-upload ul#sidemenu{font-weight:400;margin:0 5px;left:0;bottom:-1px;float:none;overflow:hidden}#media-upload:after{content:"";display:table;clear:both}#media-upload .slidetoggle{border-top-color:#dfdfdf}#media-upload input[type=radio]{padding:0}form{margin:1em}#search-filter{text-align:right}th{position:relative}.media-upload-form label.form-help,td.help{font-family:sans-serif;font-style:italic;font-weight:400}.media-upload-form p.help{margin:0;padding:0}.media-upload-form fieldset{width:100%;border:none;text-align:justify;margin:0 0 1em;padding:0}.image-align-none-label{background:url(../images/align-none.png) no-repeat center left}.image-align-left-label{background:url(../images/align-left.png) no-repeat center left}.image-align-center-label{background:url(../images/align-center.png) no-repeat center left}.image-align-right-label{background:url(../images/align-right.png) no-repeat center left}tr.image-size td{width:460px}tr.image-size div.image-size-item{margin:0 0 5px}#gallery-form .progress,#library-form .progress,.describe.startclosed,.describe.startopen,.insert-gallery{display:none}.media-item .thumbnail{max-width:128px;max-height:128px}thead.media-item-info tr{background-color:transparent}.form-table thead.media-item-info{border:8px solid #fff}abbr.required{text-decoration:none;border:none}.describe label{display:inline}.describe td.error{padding:2px 8px}.describe td.A1{width:132px}.describe input[type=text],.describe textarea{width:460px;border-width:1px;border-style:solid}#media-upload p.ml-submit{padding:1em 0}#media-upload label.help,#media-upload p.help{font-family:sans-serif;font-style:italic;font-weight:400}#media-upload .ui-sortable .media-item{cursor:move}#media-upload tr.image-size{margin-bottom:1em;height:3em}#media-upload #filter{width:623px}#media-upload #filter .subsubsub{margin:8px 0}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto}#media-upload .del-attachment{display:none;margin:5px 0}.menu_order{float:right;font-size:11px;margin:8px 10px 0}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px}.ui-sortable-helper{background-color:#fff;border:1px solid #aaa;opacity:.6;filter:alpha(opacity=60)}#media-upload th.order-head{width:20%;text-align:center}#media-upload th.actions-head{width:25%;text-align:center}#media-upload a.wp-post-thumbnail{margin:0 20px}#media-upload .widefat{border-style:solid solid none}.sorthelper{height:37px;width:623px;display:block}#gallery-settings th.label{width:160px}#gallery-settings #basic th.label{padding:5px 5px 5px 0}#gallery-settings .title{clear:both;padding:0 0 3px;font-size:1.6em;border-bottom:1px solid #DADADA}h3.media-title{font-size:1.6em}h4.media-sub-title{border-bottom:1px solid #DADADA;font-size:1.3em;margin:12px;padding:0 0 3px}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:400;color:#5A5A5A}#gallery-settings .describe td{vertical-align:middle;height:3em}#gallery-settings .describe th.label{padding-top:.5em;text-align:left}#gallery-settings .describe{padding:5px;width:100%;clear:both;cursor:default;background:#fff}#gallery-settings .describe select{width:15em}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-right:15px}#gallery-settings .align .field label{margin:0 1em 0 3px}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf}#gallery-settings select#columns{width:6em}#sort-buttons{font-size:.8em;margin:3px 25px -8px 0;text-align:right;max-width:625px}#sort-buttons a{text-decoration:none}#sort-buttons #asc,#sort-buttons #showall{padding-left:5px}#sort-buttons span{margin-right:25px}p.media-types{padding:1em}tr.not-image{display:none}table.not-image tr.not-image{display:table-row}table.not-image tr.image-only{display:none}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.image-align-none-label{background-image:url(../images/align-none-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-left-label{background-image:url(../images/align-left-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}.image-align-center-label{background-image:url(../images/align-center-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-right-label{background-image:url(../images/align-right-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}}
\ No newline at end of file
diff --git a/wp-admin/css/edit-rtl.css b/wp-admin/css/edit-rtl.css
index 2bb6650a3..ecda62222 100644
--- a/wp-admin/css/edit-rtl.css
+++ b/wp-admin/css/edit-rtl.css
@@ -37,7 +37,6 @@
 
 #titlediv {
 	position: relative;
-	margin-bottom: 10px;
 }
 
 #titlediv label {
@@ -337,6 +336,7 @@ td.plugin-title p {
 	background-color: #f7f7f7;
 	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
 	box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+	z-index: 999;
 }
 
 #post-status-info td {
@@ -344,7 +344,7 @@ td.plugin-title p {
 }
 
 .autosave-info {
-	padding: 2px;
+	padding: 2px 10px;
 	text-align: left;
 }
 
@@ -362,11 +362,87 @@ td.plugin-title p {
 	background: transparent url(../images/resize-rtl.gif) no-repeat scroll right bottom;
 }
 
+.wp-editor-expand #content-resize-handle {
+	display: none;
+}
+
+#postdivrich #content {
+	resize: none;
+}
+
 #wp-word-count {
 	display: block;
 	padding: 2px 10px;
 }
 
+#wp-content-editor-container {
+	position: relative;
+}
+
+#content-textarea-clone {
+	z-index: -1;
+	position: absolute;
+	top: 0;
+	visibility: hidden;
+	overflow: hidden;
+	max-width: 100%;
+	border: 1px solid transparent;
+}
+
+.wp-fullscreen-wrap #content-textarea-clone {
+	display: none;
+}
+
+/* editor-expand.js override */
+.wp-fullscreen-wrap {
+	padding-top: 0 !important;
+}
+
+.wp-fullscreen-wrap .wp-editor-area {
+	margin-top: 0 !important;
+}
+
+.wp-fullscreen-wrap .mce-edit-area {
+	padding-top: 0 !important;
+}
+/* end editor-expand.js override */
+
+.wp-editor-expand #wp-content-editor-tools {
+	z-index: 1000;
+	border-bottom: 1px solid #e5e5e5;
+}
+
+.wp-editor-expand #wp-content-editor-container {
+	-webkit-box-shadow: none;
+	box-shadow: none;
+	margin-top: -1px;
+}
+
+.wp-editor-expand #wp-content-editor-container {
+	border-bottom: 0 none;
+}
+
+.wp-editor-expand div.mce-statusbar {
+	z-index: 1;
+}
+
+.wp-editor-expand #post-status-info {
+	border-top: 1px solid #e5e5e5;
+}
+
+.wp-editor-expand div.mce-toolbar-grp {
+	z-index: 999;
+}
+
+#wp-content-editor-tools {
+	background-color: #f1f1f1;
+	padding-top: 20px;
+}
+
+#poststuff #post-body.columns-2 #side-sortables {
+	width: 280px;
+}
+
 #timestampdiv select {
 	height: 21px;
 	line-height: 14px;
@@ -594,6 +670,7 @@ span.wp-media-buttons-icon:before {
 	padding: 0;
 }
 
+#post-body-content,
 .edit-form-section {
  	margin-bottom: 20px;
 }
@@ -913,7 +990,13 @@ ul.categorychecklist li {
 	font-size: 12px;
 }
 
-.form-field input,
+.form-field input[type="text"],
+.form-field input[type="password"],
+.form-field input[type="email"],
+.form-field input[type="number"],
+.form-field input[type="search"],
+.form-field input[type="tel"],
+.form-field input[type="url"],
 .form-field textarea {
 	border-style: solid;
 	border-width: 1px;
@@ -1008,7 +1091,6 @@ input.newtag:focus ~ div.taghint {
 p.popular-tags {
 	border: none;
 	line-height: 2em;
-	max-width: 1000px;
 	padding: 8px 12px 12px;
 	text-align: justify;
 }
@@ -1185,6 +1267,7 @@ table.links-table {
 
 	#poststuff #post-body.columns-2 #side-sortables {
 		min-height: 0;
+		width: auto;
 	}
 
 	/* hide the radio buttons for column prefs */
@@ -1348,12 +1431,6 @@ table.links-table {
 		padding: 10px 20px;
 	}
 
-	#wp-content-editor-tools {
-		overflow: hidden;
-		padding: 20px 0 1px 15px;
-		top: 1px;
-	}
-
 	a.wp-switch-editor {
 		font-size: 16px;
 		line-height: 1em;
diff --git a/wp-admin/css/edit.css b/wp-admin/css/edit.css
index 646384efe..cc64ae571 100644
--- a/wp-admin/css/edit.css
+++ b/wp-admin/css/edit.css
@@ -37,7 +37,6 @@
 
 #titlediv {
 	position: relative;
-	margin-bottom: 10px;
 }
 
 #titlediv label {
@@ -337,6 +336,7 @@ td.plugin-title p {
 	background-color: #f7f7f7;
 	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
 	box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+	z-index: 999;
 }
 
 #post-status-info td {
@@ -344,7 +344,7 @@ td.plugin-title p {
 }
 
 .autosave-info {
-	padding: 2px;
+	padding: 2px 10px;
 	text-align: right;
 }
 
@@ -362,11 +362,87 @@ td.plugin-title p {
 	background: transparent url(../images/resize-rtl.gif) no-repeat scroll left bottom;
 }
 
+.wp-editor-expand #content-resize-handle {
+	display: none;
+}
+
+#postdivrich #content {
+	resize: none;
+}
+
 #wp-word-count {
 	display: block;
 	padding: 2px 10px;
 }
 
+#wp-content-editor-container {
+	position: relative;
+}
+
+#content-textarea-clone {
+	z-index: -1;
+	position: absolute;
+	top: 0;
+	visibility: hidden;
+	overflow: hidden;
+	max-width: 100%;
+	border: 1px solid transparent;
+}
+
+.wp-fullscreen-wrap #content-textarea-clone {
+	display: none;
+}
+
+/* editor-expand.js override */
+.wp-fullscreen-wrap {
+	padding-top: 0 !important;
+}
+
+.wp-fullscreen-wrap .wp-editor-area {
+	margin-top: 0 !important;
+}
+
+.wp-fullscreen-wrap .mce-edit-area {
+	padding-top: 0 !important;
+}
+/* end editor-expand.js override */
+
+.wp-editor-expand #wp-content-editor-tools {
+	z-index: 1000;
+	border-bottom: 1px solid #e5e5e5;
+}
+
+.wp-editor-expand #wp-content-editor-container {
+	-webkit-box-shadow: none;
+	box-shadow: none;
+	margin-top: -1px;
+}
+
+.wp-editor-expand #wp-content-editor-container {
+	border-bottom: 0 none;
+}
+
+.wp-editor-expand div.mce-statusbar {
+	z-index: 1;
+}
+
+.wp-editor-expand #post-status-info {
+	border-top: 1px solid #e5e5e5;
+}
+
+.wp-editor-expand div.mce-toolbar-grp {
+	z-index: 999;
+}
+
+#wp-content-editor-tools {
+	background-color: #f1f1f1;
+	padding-top: 20px;
+}
+
+#poststuff #post-body.columns-2 #side-sortables {
+	width: 280px;
+}
+
 #timestampdiv select {
 	height: 21px;
 	line-height: 14px;
@@ -594,6 +670,7 @@ span.wp-media-buttons-icon:before {
 	padding: 0;
 }
 
+#post-body-content,
 .edit-form-section {
  	margin-bottom: 20px;
 }
@@ -913,7 +990,13 @@ ul.categorychecklist li {
 	font-size: 12px;
 }
 
-.form-field input,
+.form-field input[type="text"],
+.form-field input[type="password"],
+.form-field input[type="email"],
+.form-field input[type="number"],
+.form-field input[type="search"],
+.form-field input[type="tel"],
+.form-field input[type="url"],
 .form-field textarea {
 	border-style: solid;
 	border-width: 1px;
@@ -1008,7 +1091,6 @@ input.newtag:focus ~ div.taghint {
 p.popular-tags {
 	border: none;
 	line-height: 2em;
-	max-width: 1000px;
 	padding: 8px 12px 12px;
 	text-align: justify;
 }
@@ -1185,6 +1267,7 @@ table.links-table {
 
 	#poststuff #post-body.columns-2 #side-sortables {
 		min-height: 0;
+		width: auto;
 	}
 
 	/* hide the radio buttons for column prefs */
@@ -1348,12 +1431,6 @@ table.links-table {
 		padding: 10px 20px;
 	}
 
-	#wp-content-editor-tools {
-		overflow: hidden;
-		padding: 20px 15px 1px 0;
-		top: 1px;
-	}
-
 	a.wp-switch-editor {
 		font-size: 16px;
 		line-height: 1em;
diff --git a/wp-admin/css/forms-rtl.css b/wp-admin/css/forms-rtl.css
index 901453758..d8970422f 100644
--- a/wp-admin/css/forms-rtl.css
+++ b/wp-admin/css/forms-rtl.css
@@ -1,15 +1,64 @@
-/* include margin and padding in the width calculation of input and textarea */
+/* Include margin and padding in the width calculation of input and textarea. */
 input,
+textarea {
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
+
 input[type="text"],
 input[type="password"],
+input[type="checkbox"],
+input[type="color"],
+input[type="date"],
+input[type="datetime"],
+input[type="datetime-local"],
+input[type="email"],
+input[type="month"],
 input[type="number"],
+input[type="password"],
 input[type="search"],
-input[type="email"],
+input[type="radio"],
+input[type="tel"],
+input[type="text"],
+input[type="time"],
 input[type="url"],
+input[type="week"],
+select,
 textarea {
-	-webkit-box-sizing: border-box;
-	-moz-box-sizing: border-box;
-	box-sizing: border-box;
+	border: 1px solid #ddd;
+	-webkit-box-shadow: inset 0 1px 2px rgba( 0, 0, 0, 0.07 );
+	box-shadow: inset 0 1px 2px rgba( 0, 0, 0, 0.07 );
+	background-color: #fff;
+	color: #333;
+	outline: none;
+	-webkit-transition: 0.05s border-color ease-in-out;
+	transition: 0.05s border-color ease-in-out;
+}
+
+input[type="text"]:focus,
+input[type="password"]:focus,
+input[type="color"]:focus,
+input[type="date"]:focus,
+input[type="datetime"]:focus,
+input[type="datetime-local"]:focus,
+input[type="email"]:focus,
+input[type="month"]:focus,
+input[type="number"]:focus,
+input[type="password"]:focus,
+input[type="search"]:focus,
+input[type="tel"]:focus,
+input[type="text"]:focus,
+input[type="time"]:focus,
+input[type="url"]:focus,
+input[type="week"]:focus,
+input[type="checkbox"]:focus,
+input[type="radio"]:focus,
+select:focus,
+textarea:focus {
+	border-color: #5b9dd9;
+	-webkit-box-shadow: 0 0 2px rgba( 30, 140, 190, 0.8 );
+	box-shadow: 0 0 2px rgba( 30, 140, 190, 0.8 );
 }
 
 /* @noflip */
@@ -36,11 +85,8 @@ input[type="radio"] {
 	width: 16px;
 	min-width: 16px;
 	-webkit-appearance: none;
-	-webkit-box-sizing: border-box;
-	-moz-box-sizing: border-box;
-	box-sizing: border-box;
-	-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
-	box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
+	-webkit-box-shadow: inset 0 1px 2px rgba( 0, 0, 0, 0.1 );
+	box-shadow: inset 0 1px 2px rgba( 0, 0, 0, 0.1 );
 	-webkit-transition: .05s border-color ease-in-out;
 	transition: .05s border-color ease-in-out;
 }
@@ -55,28 +101,28 @@ input[type="radio"]:checked + label:before {
 }
 
 td > input[type="checkbox"],
-.wp-admin p input[type=checkbox],
-.wp-admin p input[type=radio] {
+.wp-admin p input[type="checkbox"],
+.wp-admin p input[type="radio"] {
 	margin-top: 0;
 }
 
-.wp-admin p label input[type=checkbox] {
+.wp-admin p label input[type="checkbox"] {
 	margin-top: -4px;
 }
 
-.wp-admin p label input[type=radio] {
+.wp-admin p label input[type="radio"] {
 	margin-top: -2px;
 }
 
-input[type=radio] {
+input[type="radio"] {
 	-webkit-border-radius: 50%;
 	border-radius: 50%;
 	margin-left: 4px;
 	line-height: 10px;
 }
 
-input[type=checkbox]:checked:before,
-input[type=radio]:checked:before {
+input[type="checkbox"]:checked:before,
+input[type="radio"]:checked:before {
 	float: right;
 	display: inline-block;
 	vertical-align: middle;
@@ -87,13 +133,13 @@ input[type=radio]:checked:before {
 	-moz-osx-font-smoothing: grayscale;
 }
 
-input[type=checkbox]:checked:before {
+input[type="checkbox"]:checked:before {
 	content: '\f147';
 	margin: -3px -4px 0 0;
 	color: #1e8cbe;
 }
 
-input[type=radio]:checked:before {
+input[type="radio"]:checked:before {
 	content: '\2022';
 	text-indent: -9999px;
 	-webkit-border-radius: 50px;
@@ -106,13 +152,9 @@ input[type=radio]:checked:before {
 	background-color: #1e8cbe;
 }
 
-input.readonly, textarea.readonly {
-	background-color: #ddd;
-}
-
 @-moz-document url-prefix() {
-	input[type=checkbox],
-	input[type=radio],
+	input[type="checkbox"],
+	input[type="radio"],
 	.form-table input.tog {
 		margin-bottom: -1px;
 	}
@@ -145,7 +187,6 @@ input,
 select {
 	font-size: 14px;
 	padding: 3px 5px;
-	line-height: 15px;
 	-webkit-border-radius: 0;
 	border-radius: 0; /* Reset mobile webkit's default element styling */
 }
@@ -156,17 +197,6 @@ textarea {
 	line-height: 1.4;
 }
 
-input[type="text"],
-input[type="password"],
-input[type="number"],
-input[type="search"],
-input[type="email"],
-input[type="url"],
-textarea,
-select {
-	outline: 0;
-}
-
 .wp-admin input[type="file"] {
 	padding: 3px 0;
 }
@@ -190,45 +220,10 @@ textarea.code {
 	padding: 4px 6px 1px 6px;
 }
 
-textarea,
-input[type="text"],
-input[type="password"],
-input[type="email"],
-input[type="number"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-select {
-	border: 1px solid #ddd;
-	-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
-	box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
-	background-color: #fff;
-	color: #333;
-	-webkit-transition: .05s border-color ease-in-out;
-	transition: .05s border-color ease-in-out;
-}
-
-select[disabled] {
-	color: #7f7f7f;
-}
-
-textarea:focus,
-input[type="text"]:focus,
-input[type="password"]:focus,
-input[type="email"]:focus,
-input[type="number"]:focus,
-input[type="search"]:focus,
-input[type="tel"]:focus,
-input[type="url"]:focus,
-input[type="checkbox"]:focus,
-input[type="radio"]:focus,
-select:focus {
-	border-color: #5b9dd9;
-	-webkit-box-shadow: 0 0 2px rgba(30,140,190,0.8);
-	box-shadow: 0 0 2px rgba(30,140,190,0.8);
-}
-
-input[readonly] {
+input.readonly,
+input[readonly],
+textarea.readonly,
+textarea[readonly] {
 	background-color: #eee;
 }
 
@@ -252,19 +247,34 @@ input[readonly] {
 
 input:disabled,
 input.disabled,
+select:disabled,
+select.disabled,
 textarea:disabled,
 textarea.disabled {
-	-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
-	box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
-	border-color: rgba(222, 222, 222, .75);
-	background: rgba(255, 255, 255, .5);
-	color: rgba(51, 51, 51, .5);
-}
-
-input[type=checkbox]:disabled,
-input[type=radio]:disabled,
-input[type=checkbox]:disabled:checked:before,
-input[type=radio]:disabled:checked:before {
+	background: rgba( 255, 255, 255, 0.5 );
+	border-color: rgba( 222, 222, 222, 0.75 );
+	-webkit-box-shadow: inset 0 1px 2px rgba( 0, 0, 0, 0.04 );
+	box-shadow: inset 0 1px 2px rgba( 0, 0, 0, 0.04 );
+	color: rgba( 51, 51, 51, 0.5 );
+}
+
+input[type="file"]:disabled,
+input[type="file"].disabled,
+input[type="range"]:disabled,
+input[type="range"].disabled {
+	background: none;
+	-webkit-box-shadow: none;
+	box-shadow: none;
+}
+
+input[type="checkbox"]:disabled,
+input[type="checkbox"].disabled,
+input[type="radio"]:disabled,
+input[type="radio"].disabled,
+input[type="checkbox"]:disabled:checked:before,
+input[type="checkbox"].disabled:checked:before,
+input[type="radio"]:disabled:checked:before,
+input[type="radio"].disabled:checked:before {
 	opacity: 0.7;
 }
 
@@ -364,7 +374,8 @@ input[type="number"].small-text {
 
 .tablenav #changeit,
 .tablenav #delete_all,
-.tablenav #clear-recent-list {
+.tablenav #clear-recent-list,
+.wp-filter #delete_all {
 	margin-top: 1px;
 }
 
@@ -465,7 +476,7 @@ p.search-box {
 }
 
 .search-box input[name="s"],
-#search-plugins input[name="s"],
+.tablenav .search-plugins input[name="s"],
 .tagsdiv .newtag {
 	float: right;
 	height: 28px;
@@ -585,7 +596,7 @@ ul#add-to-blog-users {
 }
 
 .form-table input.tog,
-.form-table input[type=radio] {
+.form-table input[type="radio"] {
 	margin-top: -4px;
 	margin-left: 4px;
 	float: none;
@@ -760,8 +771,8 @@ table.form-table td .updated {
 		-webkit-appearance: none;
 	}
 
-	input[type=text], input[type=search],
-	input[type=password], input[type=number] {
+	input[type=text], input[type="search"],
+	input[type=password], input[type="number"] {
 		-webkit-appearance: none;
 		padding: 6px 10px;
 	}
@@ -771,32 +782,32 @@ table.form-table td .updated {
 		padding-top: 10px;
 	}
 
-	input[type=checkbox], .widefat th input[type=checkbox] {
+	input[type="checkbox"], .widefat th input[type="checkbox"] {
 		-webkit-appearance: none;
 		padding: 10px;
 	}
 
-	.widefat th input[type=checkbox] {
+	.widefat th input[type="checkbox"] {
 		margin-bottom: 8px;
 	}
 
-	input[type=checkbox]:checked:before, .widefat th input[type=checkbox]:before {
+	input[type="checkbox"]:checked:before, .widefat th input[type="checkbox"]:before {
 		font: normal 30px/1 'Dashicons';
 		margin: -3px -5px;
 	}
 
-	input[type=radio],
-	input[type=checkbox] {
+	input[type="radio"],
+	input[type="checkbox"] {
 		height: 25px;
 		width: 25px;
 	}
 
-	.wp-admin p input[type=checkbox],
-	.wp-admin p input[type=radio] {
+	.wp-admin p input[type="checkbox"],
+	.wp-admin p input[type="radio"] {
 		margin-top: -3px;
 	}
 
-	input[type=radio]:checked:before {
+	input[type="radio"]:checked:before {
 		vertical-align: middle;
 		width: 9px;
 		height: 9px;
@@ -804,7 +815,7 @@ table.form-table td .updated {
 		line-height: 16px;
 	}
 
-	.wp-upload-form input[type=submit] {
+	.wp-upload-form input[type="submit"] {
 		margin-top: 10px;
 	}
 
@@ -866,12 +877,16 @@ table.form-table td .updated {
 		box-sizing: border-box;
 	}
 
-	input[type=text].small-text,
-	input[type=search].small-text,
-	input[type=password].small-text,
-	input[type=number].small-text,
+	#wpbody .form-table td select {
+		height: 40px;
+	}
+
+	input[type="text"].small-text,
+	input[type="search"].small-text,
+	input[type="password"].small-text,
+	input[type="number"].small-text,
 	input[type="number"].small-text,
-	.form-table input[type=text].small-text {
+	.form-table input[type="text"].small-text {
 		width: auto;
 		max-width: 55px;
 		display: inline;
diff --git a/wp-admin/css/forms.css b/wp-admin/css/forms.css
index 14cfe850c..b80f98aaa 100644
--- a/wp-admin/css/forms.css
+++ b/wp-admin/css/forms.css
@@ -1,15 +1,64 @@
-/* include margin and padding in the width calculation of input and textarea */
+/* Include margin and padding in the width calculation of input and textarea. */
 input,
+textarea {
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
+
 input[type="text"],
 input[type="password"],
+input[type="checkbox"],
+input[type="color"],
+input[type="date"],
+input[type="datetime"],
+input[type="datetime-local"],
+input[type="email"],
+input[type="month"],
 input[type="number"],
+input[type="password"],
 input[type="search"],
-input[type="email"],
+input[type="radio"],
+input[type="tel"],
+input[type="text"],
+input[type="time"],
 input[type="url"],
+input[type="week"],
+select,
 textarea {
-	-webkit-box-sizing: border-box;
-	-moz-box-sizing: border-box;
-	box-sizing: border-box;
+	border: 1px solid #ddd;
+	-webkit-box-shadow: inset 0 1px 2px rgba( 0, 0, 0, 0.07 );
+	box-shadow: inset 0 1px 2px rgba( 0, 0, 0, 0.07 );
+	background-color: #fff;
+	color: #333;
+	outline: none;
+	-webkit-transition: 0.05s border-color ease-in-out;
+	transition: 0.05s border-color ease-in-out;
+}
+
+input[type="text"]:focus,
+input[type="password"]:focus,
+input[type="color"]:focus,
+input[type="date"]:focus,
+input[type="datetime"]:focus,
+input[type="datetime-local"]:focus,
+input[type="email"]:focus,
+input[type="month"]:focus,
+input[type="number"]:focus,
+input[type="password"]:focus,
+input[type="search"]:focus,
+input[type="tel"]:focus,
+input[type="text"]:focus,
+input[type="time"]:focus,
+input[type="url"]:focus,
+input[type="week"]:focus,
+input[type="checkbox"]:focus,
+input[type="radio"]:focus,
+select:focus,
+textarea:focus {
+	border-color: #5b9dd9;
+	-webkit-box-shadow: 0 0 2px rgba( 30, 140, 190, 0.8 );
+	box-shadow: 0 0 2px rgba( 30, 140, 190, 0.8 );
 }
 
 /* @noflip */
@@ -36,11 +85,8 @@ input[type="radio"] {
 	width: 16px;
 	min-width: 16px;
 	-webkit-appearance: none;
-	-webkit-box-sizing: border-box;
-	-moz-box-sizing: border-box;
-	box-sizing: border-box;
-	-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
-	box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
+	-webkit-box-shadow: inset 0 1px 2px rgba( 0, 0, 0, 0.1 );
+	box-shadow: inset 0 1px 2px rgba( 0, 0, 0, 0.1 );
 	-webkit-transition: .05s border-color ease-in-out;
 	transition: .05s border-color ease-in-out;
 }
@@ -55,28 +101,28 @@ input[type="radio"]:checked + label:before {
 }
 
 td > input[type="checkbox"],
-.wp-admin p input[type=checkbox],
-.wp-admin p input[type=radio] {
+.wp-admin p input[type="checkbox"],
+.wp-admin p input[type="radio"] {
 	margin-top: 0;
 }
 
-.wp-admin p label input[type=checkbox] {
+.wp-admin p label input[type="checkbox"] {
 	margin-top: -4px;
 }
 
-.wp-admin p label input[type=radio] {
+.wp-admin p label input[type="radio"] {
 	margin-top: -2px;
 }
 
-input[type=radio] {
+input[type="radio"] {
 	-webkit-border-radius: 50%;
 	border-radius: 50%;
 	margin-right: 4px;
 	line-height: 10px;
 }
 
-input[type=checkbox]:checked:before,
-input[type=radio]:checked:before {
+input[type="checkbox"]:checked:before,
+input[type="radio"]:checked:before {
 	float: left;
 	display: inline-block;
 	vertical-align: middle;
@@ -87,13 +133,13 @@ input[type=radio]:checked:before {
 	-moz-osx-font-smoothing: grayscale;
 }
 
-input[type=checkbox]:checked:before {
+input[type="checkbox"]:checked:before {
 	content: '\f147';
 	margin: -3px 0 0 -4px;
 	color: #1e8cbe;
 }
 
-input[type=radio]:checked:before {
+input[type="radio"]:checked:before {
 	content: '\2022';
 	text-indent: -9999px;
 	-webkit-border-radius: 50px;
@@ -106,13 +152,9 @@ input[type=radio]:checked:before {
 	background-color: #1e8cbe;
 }
 
-input.readonly, textarea.readonly {
-	background-color: #ddd;
-}
-
 @-moz-document url-prefix() {
-	input[type=checkbox],
-	input[type=radio],
+	input[type="checkbox"],
+	input[type="radio"],
 	.form-table input.tog {
 		margin-bottom: -1px;
 	}
@@ -145,7 +187,6 @@ input,
 select {
 	font-size: 14px;
 	padding: 3px 5px;
-	line-height: 15px;
 	-webkit-border-radius: 0;
 	border-radius: 0; /* Reset mobile webkit's default element styling */
 }
@@ -156,17 +197,6 @@ textarea {
 	line-height: 1.4;
 }
 
-input[type="text"],
-input[type="password"],
-input[type="number"],
-input[type="search"],
-input[type="email"],
-input[type="url"],
-textarea,
-select {
-	outline: 0;
-}
-
 .wp-admin input[type="file"] {
 	padding: 3px 0;
 }
@@ -190,45 +220,10 @@ textarea.code {
 	padding: 4px 6px 1px 6px;
 }
 
-textarea,
-input[type="text"],
-input[type="password"],
-input[type="email"],
-input[type="number"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-select {
-	border: 1px solid #ddd;
-	-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
-	box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
-	background-color: #fff;
-	color: #333;
-	-webkit-transition: .05s border-color ease-in-out;
-	transition: .05s border-color ease-in-out;
-}
-
-select[disabled] {
-	color: #7f7f7f;
-}
-
-textarea:focus,
-input[type="text"]:focus,
-input[type="password"]:focus,
-input[type="email"]:focus,
-input[type="number"]:focus,
-input[type="search"]:focus,
-input[type="tel"]:focus,
-input[type="url"]:focus,
-input[type="checkbox"]:focus,
-input[type="radio"]:focus,
-select:focus {
-	border-color: #5b9dd9;
-	-webkit-box-shadow: 0 0 2px rgba(30,140,190,0.8);
-	box-shadow: 0 0 2px rgba(30,140,190,0.8);
-}
-
-input[readonly] {
+input.readonly,
+input[readonly],
+textarea.readonly,
+textarea[readonly] {
 	background-color: #eee;
 }
 
@@ -252,19 +247,34 @@ input[readonly] {
 
 input:disabled,
 input.disabled,
+select:disabled,
+select.disabled,
 textarea:disabled,
 textarea.disabled {
-	-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
-	box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
-	border-color: rgba(222, 222, 222, .75);
-	background: rgba(255, 255, 255, .5);
-	color: rgba(51, 51, 51, .5);
-}
-
-input[type=checkbox]:disabled,
-input[type=radio]:disabled,
-input[type=checkbox]:disabled:checked:before,
-input[type=radio]:disabled:checked:before {
+	background: rgba( 255, 255, 255, 0.5 );
+	border-color: rgba( 222, 222, 222, 0.75 );
+	-webkit-box-shadow: inset 0 1px 2px rgba( 0, 0, 0, 0.04 );
+	box-shadow: inset 0 1px 2px rgba( 0, 0, 0, 0.04 );
+	color: rgba( 51, 51, 51, 0.5 );
+}
+
+input[type="file"]:disabled,
+input[type="file"].disabled,
+input[type="range"]:disabled,
+input[type="range"].disabled {
+	background: none;
+	-webkit-box-shadow: none;
+	box-shadow: none;
+}
+
+input[type="checkbox"]:disabled,
+input[type="checkbox"].disabled,
+input[type="radio"]:disabled,
+input[type="radio"].disabled,
+input[type="checkbox"]:disabled:checked:before,
+input[type="checkbox"].disabled:checked:before,
+input[type="radio"]:disabled:checked:before,
+input[type="radio"].disabled:checked:before {
 	opacity: 0.7;
 }
 
@@ -364,7 +374,8 @@ input[type="number"].small-text {
 
 .tablenav #changeit,
 .tablenav #delete_all,
-.tablenav #clear-recent-list {
+.tablenav #clear-recent-list,
+.wp-filter #delete_all {
 	margin-top: 1px;
 }
 
@@ -465,7 +476,7 @@ p.search-box {
 }
 
 .search-box input[name="s"],
-#search-plugins input[name="s"],
+.tablenav .search-plugins input[name="s"],
 .tagsdiv .newtag {
 	float: left;
 	height: 28px;
@@ -585,7 +596,7 @@ ul#add-to-blog-users {
 }
 
 .form-table input.tog,
-.form-table input[type=radio] {
+.form-table input[type="radio"] {
 	margin-top: -4px;
 	margin-right: 4px;
 	float: none;
@@ -760,8 +771,8 @@ table.form-table td .updated {
 		-webkit-appearance: none;
 	}
 
-	input[type=text], input[type=search],
-	input[type=password], input[type=number] {
+	input[type=text], input[type="search"],
+	input[type=password], input[type="number"] {
 		-webkit-appearance: none;
 		padding: 6px 10px;
 	}
@@ -771,32 +782,32 @@ table.form-table td .updated {
 		padding-top: 10px;
 	}
 
-	input[type=checkbox], .widefat th input[type=checkbox] {
+	input[type="checkbox"], .widefat th input[type="checkbox"] {
 		-webkit-appearance: none;
 		padding: 10px;
 	}
 
-	.widefat th input[type=checkbox] {
+	.widefat th input[type="checkbox"] {
 		margin-bottom: 8px;
 	}
 
-	input[type=checkbox]:checked:before, .widefat th input[type=checkbox]:before {
+	input[type="checkbox"]:checked:before, .widefat th input[type="checkbox"]:before {
 		font: normal 30px/1 'Dashicons';
 		margin: -3px -5px;
 	}
 
-	input[type=radio],
-	input[type=checkbox] {
+	input[type="radio"],
+	input[type="checkbox"] {
 		height: 25px;
 		width: 25px;
 	}
 
-	.wp-admin p input[type=checkbox],
-	.wp-admin p input[type=radio] {
+	.wp-admin p input[type="checkbox"],
+	.wp-admin p input[type="radio"] {
 		margin-top: -3px;
 	}
 
-	input[type=radio]:checked:before {
+	input[type="radio"]:checked:before {
 		vertical-align: middle;
 		width: 9px;
 		height: 9px;
@@ -804,7 +815,7 @@ table.form-table td .updated {
 		line-height: 16px;
 	}
 
-	.wp-upload-form input[type=submit] {
+	.wp-upload-form input[type="submit"] {
 		margin-top: 10px;
 	}
 
@@ -866,12 +877,16 @@ table.form-table td .updated {
 		box-sizing: border-box;
 	}
 
-	input[type=text].small-text,
-	input[type=search].small-text,
-	input[type=password].small-text,
-	input[type=number].small-text,
+	#wpbody .form-table td select {
+		height: 40px;
+	}
+
+	input[type="text"].small-text,
+	input[type="search"].small-text,
+	input[type="password"].small-text,
+	input[type="number"].small-text,
 	input[type="number"].small-text,
-	.form-table input[type=text].small-text {
+	.form-table input[type="text"].small-text {
 		width: auto;
 		max-width: 55px;
 		display: inline;
diff --git a/wp-admin/css/ie-rtl.css b/wp-admin/css/ie-rtl.css
index 4783f2faf..590d44ec1 100644
--- a/wp-admin/css/ie-rtl.css
+++ b/wp-admin/css/ie-rtl.css
@@ -260,7 +260,7 @@ table.fixed td {
 	border: 1px solid #dfdfdf;
 }
 
-#wpbody-content .postbox h3 {
+#wpbody-content .postbox .hndle {
 	margin-bottom: -1px;
 }
 
diff --git a/wp-admin/css/ie-rtl.min.css b/wp-admin/css/ie-rtl.min.css
index f8c6f3ba6..dee9313bd 100644
--- a/wp-admin/css/ie-rtl.min.css
+++ b/wp-admin/css/ie-rtl.min.css
@@ -1 +1 @@
-#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:99%}#dashboard-widgets form #title{width:98%}#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:left;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0 none;height:0;min-height:0}.wp-editor-wrap .wp-editor-container,.wp-editor-wrap .wp-editor-tabs,.wp-editor-wrap .wp-editor-tools,.wp-editor-wrap .wp-switch-editor{zoom:100%}.wp-editor-wrap .wp-editor-container textarea.wp-editor-area{width:97%}#post-body.columns-2 #postbox-container-1{padding-right:19px}.welcome-panel .wp-badge{position:absolute}.welcome-panel .welcome-panel-column:first-child{width:35%}.wp-fullscreen-title{width:97%}#wp_mce_fullscreen_ifr{background-color:#f9f9f9}#wp-fullscreen-tagline{color:#888;font-size:14px}#adminmenuback{right:0;background-image:none}#adminmenuwrap{position:static}#adminmenu{position:relative}#adminmenu,#adminmenu a{cursor:pointer}#adminmenu li.wp-menu-separator,#adminmenu li.wp-menu-separator-last{font-size:1px;line-height:1}#adminmenu a.menu-top{border-bottom:0 none;border-top:1px solid #ddd}#adminmenu .separator{font-size:1px;line-height:1px}#adminmenu .wp-submenu{right:110px}#adminmenu .wp-submenu ul{margin:0}.folded #wpcontent,.folded #wpfooter{margin-right:170px}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:150px}.folded #adminmenu .wp-submenu{border-top-color:transparent}.folded #adminmenu .wp-menu-name{display:block}.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open{right:110px}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{top:-1px;position:relative}.folded #adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:transparent}#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#ddd}.folded #adminmenu .wp-submenu ul{margin-right:5px}#adminmenu li.menu-top{margin-bottom:-2px}#adminmenu .wp-menu-arrow{display:none!important}.js.folded #adminmenu li.menu-top{display:block;zoom:100%}ul#adminmenu{z-index:99}#adminmenu li.menu-top a.menu-top{min-width:auto;width:auto}#wpcontent #adminmenu li.wp-has-current-submenu a.wp-has-submenu{font-style:normal}#wpcontent #adminmenu .wp-submenu li{padding:0}#adminmenu li.wp-has-current-submenu .wp-submenu{right:-40px}#adminmenu .wp-menu-image{display:none!important}#adminmenu a.menu-top .wp-menu-name{padding-right:8px}#collapse-menu{line-height:23px}#wpadminbar .ab-comments-icon{padding-top:7px}.theme-browser .theme{width:30%;margin:0 0 4% 3%;cursor:auto}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:auto}.theme-browser .theme .theme-screenshot{height:180px}.theme-browser .theme .theme-actions{position:static;background-color:#e8e8e8}.theme-browser .theme .more-details{display:none}.plugins td,.plugins th,table.fixed td,table.fixed th{border-top:1px solid #ddd}#wpbody-content input.button,#wpbody-content input.button-primary,#wpbody-content input.button-secondary{overflow:visible}#dashboard-widgets h3 a{height:14px;line-height:14px}#dashboard_browser_nag{color:#fff}#dashboard_browser_nag .browser-icon{position:relative}.tablenav-pages .current-page{vertical-align:middle}#wpbody-content .postbox{border:1px solid #dfdfdf}#wpbody-content .postbox h3{margin-bottom:-1px}#addcat,#editcat,#template,#template div,.major-publishing-actions,.wp-submenu,.wp-submenu li{zoom:100%}.wp-menu-arrow{height:28px}.submitbox{margin-top:10px}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:19%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:29%}.inline-edit-row p.submit{zoom:100%}.inline-edit-row fieldset label span.title{display:block;float:right;width:5em}.inline-edit-row fieldset label span.input-text-wrap{margin-right:0;zoom:100%}#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input{line-height:130%}#wpbody-content .inline-edit-row .input-text-wrap input{width:95%}#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input{width:8em}#titlediv #title{width:98%}.button,input[type=button],input[type=reset],input[type=submit]{padding:0 8px;line-height:20px;height:auto}.button.button-large,input[type=button].button-large,input[type=reset].button-large,input[type=submit].button-large{padding:0 10px;line-height:24px;height:auto}.button.button-small,input[type=button].button-small,input[type=reset].button-small,input[type=submit].button-small{padding:0 6px;line-height:16px;height:auto}a.button{margin:1px;padding:1px 9px 2px}a.button.button-large{padding:1px 11px 2px}a.button.button-small{padding:1px 7px 2px}#screen-options-wrap{overflow:hidden}#col-container,#col-left,#col-right,#dragHelper,#editorcontainer,#post-body,#post-status-info,#postdiv,#postdivrich,#poststuff,#the-comment-list .comment-item,#titlediv,#widgets-left,#wpwrap,#wrap,.fileedit-sub,.metabox-holder,.tablenav,.tagchecklist,.widget .widget-top,.widget-control-actions,.widget-liquid-left,.widget-liquid-right,.widgets-sortables{display:block;zoom:100%}p.search-box{position:static;float:left;margin:-3px 0 4px}#widget-list .widget,.feature-filter .feature-group li{display:inline}.feature-filter .feature-group li input{vertical-align:middle}#editorcontainer #content{overflow:auto;margin:auto;width:98%}form#template div{width:100%}.wp-editor-container .quicktags-toolbar input{overflow:visible;padding:0 4px}#poststuff h2{font-size:1.6em}#poststuff .inside #page_template,#poststuff .inside #parent_id,.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{width:250px}#submitdiv a.button,#submitdiv input,#submitdiv select{position:relative}#bh{margin:7px 0 0 10px;float:left}div#dashboard-widgets{padding-left:1px}.tagchecklist span,.tagchecklist span a{display:inline-block;display:block}.nav .button-secondary,.tablenav .button-secondary{padding-top:2px;padding-bottom:2px}.tablenav select{font-size:13px;display:inline-block;vertical-align:top;margin-top:2px}.tablenav .actions select{width:155px}.subsubsub li{display:inline}a.post-state-format{text-indent:0;line-height:0;font-size:0}table.ie-fixed{table-layout:fixed}.widefat th,.widefat tr{margin-bottom:0;border-spacing:0}.widefat th input{margin:0 5px 0 0}.widefat tfoot .check-column,.widefat thead .check-column{padding-top:6px}.media.widefat tbody th.check-column,.widefat tbody th.check-column{padding:4px 0 0}.widefat{empty-cells:show;border-collapse:collapse}.tablenav a.button-secondary{display:inline-block;padding:2px 5px}.inactive-sidebar .widgets-sortables{padding-bottom:8px}#available-widgets .widget-holder{padding-bottom:65px}#widgets-left .inactive{padding-bottom:10px}.inactive-sidebar .widget,.widget-liquid-right .widget{position:relative}.inactive-sidebar .widget{display:block;float:right}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA}#the-comment-list .unapproved td,#the-comment-list .unapproved tr{background-color:#ffffe0}.imgedit-submit{width:300px}#nav-menus-frame,#wpbody,.menu li{zoom:100%}#update-nav-menu #post-body{overflow:hidden}.menu li{min-width:100%}.menu li.sortable-placeholder{min-width:400px}.available-theme{display:inline}.available-theme ul{margin:0}.available-theme .action-links li{padding-left:7px;margin-left:7px}.about-wrap .three-col.about-updates .col-2{width:15%}.about-wrap .about-password-meter input{width:98%}.revisions-tickmarks,.revisions-tooltip{display:none!important}.revisions.pinned .revisions-controls{position:relative}.login form .input,input[type=password]{font-family:sans-serif}.mce-btn i.mce-i-aligncenter,.mce-btn i.mce-i-alignjustify,.mce-btn i.mce-i-alignleft,.mce-btn i.mce-i-alignright,.mce-btn i.mce-i-blockquote,.mce-btn i.mce-i-bold,.mce-btn i.mce-i-bullist,.mce-btn i.mce-i-charmap,.mce-btn i.mce-i-forecolor,.mce-btn i.mce-i-fullscreen,.mce-btn i.mce-i-help,.mce-btn i.mce-i-hr,.mce-btn i.mce-i-indent,.mce-btn i.mce-i-italic,.mce-btn i.mce-i-link,.mce-btn i.mce-i-ltr,.mce-btn i.mce-i-numlist,.mce-btn i.mce-i-outdent,.mce-btn i.mce-i-pastetext,.mce-btn i.mce-i-pasteword,.mce-btn i.mce-i-redo,.mce-btn i.mce-i-removeformat,.mce-btn i.mce-i-spellchecker,.mce-btn i.mce-i-strikethrough,.mce-btn i.mce-i-underline,.mce-btn i.mce-i-undo,.mce-btn i.mce-i-unlink,.mce-btn i.mce-i-wp-media-library,.mce-btn i.mce-i-wp_adv,.mce-btn i.mce-i-wp_fullscreen,.mce-btn i.mce-i-wp_help,.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page,.mce-close{font-family:tinymce,Arial;font-style:normal;font-weight:400;font-variant:normal;font-size:16px;margin-right:0;padding-left:0}.mce-btn i.mce-i-wp_fullscreen,.qt-fullscreen{-ie7-icon:'\e023'}.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page{-ie7-icon:'\e027'}.mce-btn i.mce-i-wp_adv{background-color:#aaa}.mce-btn i.mce-i-help,.mce-btn i.mce-i-wp_help{-ie7-icon:'\e016'}* html .row-actions{visibility:visible}* html div.widget-liquid-right{display:block;position:relative}* html #editorcontainer{padding:0}* html #poststuff h2{margin-right:0}* html .stuffbox,* html .stuffbox input,* html .stuffbox textarea{border:1px solid #DFDFDF}* html .feature-filter .feature-group li{width:145px}* html div.widget-liquid-left{width:99%}* html .widgets-sortables{height:50px}* html a#content_resize{left:-2px}* html .widget-title h4{width:205px}* html #removing-widget .in-widget-title{display:none}* html .media-item .pinkynail{height:32px;width:40px}* html .describe .field input.text,* html .describe .field textarea{width:440px}* html input{border:1px solid #dfdfdf}* html .edit-box{display:inline}* html .postbox-container .meta-box-sortables{height:300px}* html #wpbody-content #screen-options-link-wrap{display:inline-block;width:150px;text-align:center}* html #wpbody-content #contextual-help-link-wrap{display:inline-block;width:100px;text-align:center}* html #adminmenu{margin-right:-80px}* html .folded #adminmenu{margin-right:-22px}* html #wpcontent #adminmenu li.menu-top{display:inline;padding:0;margin:0}* html #wpfooter{margin:0}* html #adminmenu div.wp-menu-image{height:29px}
\ No newline at end of file
+#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:99%}#dashboard-widgets form #title{width:98%}#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:left;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}.wp-editor-wrap .wp-editor-container,.wp-editor-wrap .wp-editor-tabs,.wp-editor-wrap .wp-editor-tools,.wp-editor-wrap .wp-switch-editor{zoom:100%}.wp-editor-wrap .wp-editor-container textarea.wp-editor-area{width:97%}#post-body.columns-2 #postbox-container-1{padding-right:19px}.welcome-panel .wp-badge{position:absolute}.welcome-panel .welcome-panel-column:first-child{width:35%}.wp-fullscreen-title{width:97%}#wp_mce_fullscreen_ifr{background-color:#f9f9f9}#wp-fullscreen-tagline{color:#888;font-size:14px}#adminmenuback{right:0;background-image:none}#adminmenuwrap{position:static}#adminmenu{position:relative}#adminmenu,#adminmenu a{cursor:pointer}#adminmenu li.wp-menu-separator,#adminmenu li.wp-menu-separator-last{font-size:1px;line-height:1}#adminmenu a.menu-top{border-bottom:0 none;border-top:1px solid #ddd}#adminmenu .separator{font-size:1px;line-height:1px}#adminmenu .wp-submenu{right:110px}#adminmenu .wp-submenu ul{margin:0}.folded #wpcontent,.folded #wpfooter{margin-right:170px}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:150px}.folded #adminmenu .wp-submenu{border-top-color:transparent}.folded #adminmenu .wp-menu-name{display:block}.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open{right:110px}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{top:-1px;position:relative}.folded #adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:transparent}#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#ddd}.folded #adminmenu .wp-submenu ul{margin-right:5px}#adminmenu li.menu-top{margin-bottom:-2px}#adminmenu .wp-menu-arrow{display:none!important}.js.folded #adminmenu li.menu-top{display:block;zoom:100%}ul#adminmenu{z-index:99}#adminmenu li.menu-top a.menu-top{min-width:auto;width:auto}#wpcontent #adminmenu li.wp-has-current-submenu a.wp-has-submenu{font-style:normal}#wpcontent #adminmenu .wp-submenu li{padding:0}#adminmenu li.wp-has-current-submenu .wp-submenu{right:-40px}#adminmenu .wp-menu-image{display:none!important}#adminmenu a.menu-top .wp-menu-name{padding-right:8px}#collapse-menu{line-height:23px}#wpadminbar .ab-comments-icon{padding-top:7px}.theme-browser .theme{width:30%;margin:0 0 4% 3%;cursor:auto}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:auto}.theme-browser .theme .theme-screenshot{height:180px}.theme-browser .theme .theme-actions{position:static;background-color:#e8e8e8}.theme-browser .theme .more-details{display:none}.plugins td,.plugins th,table.fixed td,table.fixed th{border-top:1px solid #ddd}#wpbody-content input.button,#wpbody-content input.button-primary,#wpbody-content input.button-secondary{overflow:visible}#dashboard-widgets h3 a{height:14px;line-height:14px}#dashboard_browser_nag{color:#fff}#dashboard_browser_nag .browser-icon{position:relative}.tablenav-pages .current-page{vertical-align:middle}#wpbody-content .postbox{border:1px solid #dfdfdf}#wpbody-content .postbox .hndle{margin-bottom:-1px}#addcat,#editcat,#template,#template div,.major-publishing-actions,.wp-submenu,.wp-submenu li{zoom:100%}.wp-menu-arrow{height:28px}.submitbox{margin-top:10px}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:19%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:29%}.inline-edit-row p.submit{zoom:100%}.inline-edit-row fieldset label span.title{display:block;float:right;width:5em}.inline-edit-row fieldset label span.input-text-wrap{margin-right:0;zoom:100%}#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input{line-height:130%}#wpbody-content .inline-edit-row .input-text-wrap input{width:95%}#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input{width:8em}#titlediv #title{width:98%}.button,input[type=button],input[type=reset],input[type=submit]{padding:0 8px;line-height:20px;height:auto}.button.button-large,input[type=button].button-large,input[type=reset].button-large,input[type=submit].button-large{padding:0 10px;line-height:24px;height:auto}.button.button-small,input[type=button].button-small,input[type=reset].button-small,input[type=submit].button-small{padding:0 6px;line-height:16px;height:auto}a.button{margin:1px;padding:1px 9px 2px}a.button.button-large{padding:1px 11px 2px}a.button.button-small{padding:1px 7px 2px}#screen-options-wrap{overflow:hidden}#col-container,#col-left,#col-right,#dragHelper,#editorcontainer,#post-body,#post-status-info,#postdiv,#postdivrich,#poststuff,#the-comment-list .comment-item,#titlediv,#widgets-left,#wpwrap,#wrap,.fileedit-sub,.metabox-holder,.tablenav,.tagchecklist,.widget .widget-top,.widget-control-actions,.widget-liquid-left,.widget-liquid-right,.widgets-sortables{display:block;zoom:100%}p.search-box{position:static;float:left;margin:-3px 0 4px}#widget-list .widget,.feature-filter .feature-group li{display:inline}.feature-filter .feature-group li input{vertical-align:middle}#editorcontainer #content{overflow:auto;margin:auto;width:98%}form#template div{width:100%}.wp-editor-container .quicktags-toolbar input{overflow:visible;padding:0 4px}#poststuff h2{font-size:1.6em}#poststuff .inside #page_template,#poststuff .inside #parent_id,.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{width:250px}#submitdiv a.button,#submitdiv input,#submitdiv select{position:relative}#bh{margin:7px 0 0 10px;float:left}div#dashboard-widgets{padding-left:1px}.tagchecklist span,.tagchecklist span a{display:inline-block;display:block}.nav .button-secondary,.tablenav .button-secondary{padding-top:2px;padding-bottom:2px}.tablenav select{font-size:13px;display:inline-block;vertical-align:top;margin-top:2px}.tablenav .actions select{width:155px}.subsubsub li{display:inline}a.post-state-format{text-indent:0;line-height:0;font-size:0}table.ie-fixed{table-layout:fixed}.widefat th,.widefat tr{margin-bottom:0;border-spacing:0}.widefat th input{margin:0 5px 0 0}.widefat tfoot .check-column,.widefat thead .check-column{padding-top:6px}.media.widefat tbody th.check-column,.widefat tbody th.check-column{padding:4px 0 0}.widefat{empty-cells:show;border-collapse:collapse}.tablenav a.button-secondary{display:inline-block;padding:2px 5px}.inactive-sidebar .widgets-sortables{padding-bottom:8px}#available-widgets .widget-holder{padding-bottom:65px}#widgets-left .inactive{padding-bottom:10px}.inactive-sidebar .widget,.widget-liquid-right .widget{position:relative}.inactive-sidebar .widget{display:block;float:right}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA}#the-comment-list .unapproved td,#the-comment-list .unapproved tr{background-color:#ffffe0}.imgedit-submit{width:300px}#nav-menus-frame,#wpbody,.menu li{zoom:100%}#update-nav-menu #post-body{overflow:hidden}.menu li{min-width:100%}.menu li.sortable-placeholder{min-width:400px}.available-theme{display:inline}.available-theme ul{margin:0}.available-theme .action-links li{padding-left:7px;margin-left:7px}.about-wrap .three-col.about-updates .col-2{width:15%}.about-wrap .about-password-meter input{width:98%}.revisions-tickmarks,.revisions-tooltip{display:none!important}.revisions.pinned .revisions-controls{position:relative}.login form .input,input[type=password]{font-family:sans-serif}.mce-btn i.mce-i-aligncenter,.mce-btn i.mce-i-alignjustify,.mce-btn i.mce-i-alignleft,.mce-btn i.mce-i-alignright,.mce-btn i.mce-i-blockquote,.mce-btn i.mce-i-bold,.mce-btn i.mce-i-bullist,.mce-btn i.mce-i-charmap,.mce-btn i.mce-i-forecolor,.mce-btn i.mce-i-fullscreen,.mce-btn i.mce-i-help,.mce-btn i.mce-i-hr,.mce-btn i.mce-i-indent,.mce-btn i.mce-i-italic,.mce-btn i.mce-i-link,.mce-btn i.mce-i-ltr,.mce-btn i.mce-i-numlist,.mce-btn i.mce-i-outdent,.mce-btn i.mce-i-pastetext,.mce-btn i.mce-i-pasteword,.mce-btn i.mce-i-redo,.mce-btn i.mce-i-removeformat,.mce-btn i.mce-i-spellchecker,.mce-btn i.mce-i-strikethrough,.mce-btn i.mce-i-underline,.mce-btn i.mce-i-undo,.mce-btn i.mce-i-unlink,.mce-btn i.mce-i-wp-media-library,.mce-btn i.mce-i-wp_adv,.mce-btn i.mce-i-wp_fullscreen,.mce-btn i.mce-i-wp_help,.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page,.mce-close{font-family:tinymce,Arial;font-style:normal;font-weight:400;font-variant:normal;font-size:16px;margin-right:0;padding-left:0}.mce-btn i.mce-i-wp_fullscreen,.qt-fullscreen{-ie7-icon:'\e023'}.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page{-ie7-icon:'\e027'}.mce-btn i.mce-i-wp_adv{background-color:#aaa}.mce-btn i.mce-i-help,.mce-btn i.mce-i-wp_help{-ie7-icon:'\e016'}* html .row-actions{visibility:visible}* html div.widget-liquid-right{display:block;position:relative}* html #editorcontainer{padding:0}* html #poststuff h2{margin-right:0}* html .stuffbox,* html .stuffbox input,* html .stuffbox textarea{border:1px solid #DFDFDF}* html .feature-filter .feature-group li{width:145px}* html div.widget-liquid-left{width:99%}* html .widgets-sortables{height:50px}* html a#content_resize{left:-2px}* html .widget-title h4{width:205px}* html #removing-widget .in-widget-title{display:none}* html .media-item .pinkynail{height:32px;width:40px}* html .describe .field input.text,* html .describe .field textarea{width:440px}* html input{border:1px solid #dfdfdf}* html .edit-box{display:inline}* html .postbox-container .meta-box-sortables{height:300px}* html #wpbody-content #screen-options-link-wrap{display:inline-block;width:150px;text-align:center}* html #wpbody-content #contextual-help-link-wrap{display:inline-block;width:100px;text-align:center}* html #adminmenu{margin-right:-80px}* html .folded #adminmenu{margin-right:-22px}* html #wpcontent #adminmenu li.menu-top{display:inline;padding:0;margin:0}* html #wpfooter{margin:0}* html #adminmenu div.wp-menu-image{height:29px}
\ No newline at end of file
diff --git a/wp-admin/css/ie.css b/wp-admin/css/ie.css
index 967fae263..c49f576a7 100644
--- a/wp-admin/css/ie.css
+++ b/wp-admin/css/ie.css
@@ -260,7 +260,7 @@ table.fixed td {
 	border: 1px solid #dfdfdf;
 }
 
-#wpbody-content .postbox h3 {
+#wpbody-content .postbox .hndle {
 	margin-bottom: -1px;
 }
 
diff --git a/wp-admin/css/ie.min.css b/wp-admin/css/ie.min.css
index 849f4d155..0b4b69294 100644
--- a/wp-admin/css/ie.min.css
+++ b/wp-admin/css/ie.min.css
@@ -1 +1 @@
-#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:99%}#dashboard-widgets form #title{width:98%}#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0 none;height:0;min-height:0}.wp-editor-wrap .wp-editor-container,.wp-editor-wrap .wp-editor-tabs,.wp-editor-wrap .wp-editor-tools,.wp-editor-wrap .wp-switch-editor{zoom:100%}.wp-editor-wrap .wp-editor-container textarea.wp-editor-area{width:97%}#post-body.columns-2 #postbox-container-1{padding-left:19px}.welcome-panel .wp-badge{position:absolute}.welcome-panel .welcome-panel-column:first-child{width:35%}.wp-fullscreen-title{width:97%}#wp_mce_fullscreen_ifr{background-color:#f9f9f9}#wp-fullscreen-tagline{color:#888;font-size:14px}#adminmenuback{left:0;background-image:none}#adminmenuwrap{position:static}#adminmenu{position:relative}#adminmenu,#adminmenu a{cursor:pointer}#adminmenu li.wp-menu-separator,#adminmenu li.wp-menu-separator-last{font-size:1px;line-height:1}#adminmenu a.menu-top{border-bottom:0 none;border-top:1px solid #ddd}#adminmenu .separator{font-size:1px;line-height:1px}#adminmenu .wp-submenu{left:110px}#adminmenu .wp-submenu ul{margin:0}.folded #wpcontent,.folded #wpfooter{margin-left:170px}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:150px}.folded #adminmenu .wp-submenu{border-top-color:transparent}.folded #adminmenu .wp-menu-name{display:block}.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open{left:110px}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{top:-1px;position:relative}.folded #adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:transparent}#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#ddd}.folded #adminmenu .wp-submenu ul{margin-left:5px}#adminmenu li.menu-top{margin-bottom:-2px}#adminmenu .wp-menu-arrow{display:none!important}.js.folded #adminmenu li.menu-top{display:block;zoom:100%}ul#adminmenu{z-index:99}#adminmenu li.menu-top a.menu-top{min-width:auto;width:auto}#wpcontent #adminmenu li.wp-has-current-submenu a.wp-has-submenu{font-style:normal}#wpcontent #adminmenu .wp-submenu li{padding:0}#adminmenu li.wp-has-current-submenu .wp-submenu{left:-40px}#adminmenu .wp-menu-image{display:none!important}#adminmenu a.menu-top .wp-menu-name{padding-left:8px}#collapse-menu{line-height:23px}#wpadminbar .ab-comments-icon{padding-top:7px}.theme-browser .theme{width:30%;margin:0 3% 4% 0;cursor:auto}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:auto}.theme-browser .theme .theme-screenshot{height:180px}.theme-browser .theme .theme-actions{position:static;background-color:#e8e8e8}.theme-browser .theme .more-details{display:none}.plugins td,.plugins th,table.fixed td,table.fixed th{border-top:1px solid #ddd}#wpbody-content input.button,#wpbody-content input.button-primary,#wpbody-content input.button-secondary{overflow:visible}#dashboard-widgets h3 a{height:14px;line-height:14px}#dashboard_browser_nag{color:#fff}#dashboard_browser_nag .browser-icon{position:relative}.tablenav-pages .current-page{vertical-align:middle}#wpbody-content .postbox{border:1px solid #dfdfdf}#wpbody-content .postbox h3{margin-bottom:-1px}#addcat,#editcat,#template,#template div,.major-publishing-actions,.wp-submenu,.wp-submenu li{zoom:100%}.wp-menu-arrow{height:28px}.submitbox{margin-top:10px}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:19%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:29%}.inline-edit-row p.submit{zoom:100%}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0;zoom:100%}#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input{line-height:130%}#wpbody-content .inline-edit-row .input-text-wrap input{width:95%}#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input{width:8em}#titlediv #title{width:98%}.button,input[type=button],input[type=reset],input[type=submit]{padding:0 8px;line-height:20px;height:auto}.button.button-large,input[type=button].button-large,input[type=reset].button-large,input[type=submit].button-large{padding:0 10px;line-height:24px;height:auto}.button.button-small,input[type=button].button-small,input[type=reset].button-small,input[type=submit].button-small{padding:0 6px;line-height:16px;height:auto}a.button{margin:1px;padding:1px 9px 2px}a.button.button-large{padding:1px 11px 2px}a.button.button-small{padding:1px 7px 2px}#screen-options-wrap{overflow:hidden}#col-container,#col-left,#col-right,#dragHelper,#editorcontainer,#post-body,#post-status-info,#postdiv,#postdivrich,#poststuff,#the-comment-list .comment-item,#titlediv,#widgets-left,#wpwrap,#wrap,.fileedit-sub,.metabox-holder,.tablenav,.tagchecklist,.widget .widget-top,.widget-control-actions,.widget-liquid-left,.widget-liquid-right,.widgets-sortables{display:block;zoom:100%}p.search-box{position:static;float:right;margin:-3px 0 4px}#widget-list .widget,.feature-filter .feature-group li{display:inline}.feature-filter .feature-group li input{vertical-align:middle}#editorcontainer #content{overflow:auto;margin:auto;width:98%}form#template div{width:100%}.wp-editor-container .quicktags-toolbar input{overflow:visible;padding:0 4px}#poststuff h2{font-size:1.6em}#poststuff .inside #page_template,#poststuff .inside #parent_id,.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{width:250px}#submitdiv a.button,#submitdiv input,#submitdiv select{position:relative}#bh{margin:7px 10px 0 0;float:right}div#dashboard-widgets{padding-right:1px}.tagchecklist span,.tagchecklist span a{display:inline-block;display:block}.nav .button-secondary,.tablenav .button-secondary{padding-top:2px;padding-bottom:2px}.tablenav select{font-size:13px;display:inline-block;vertical-align:top;margin-top:2px}.tablenav .actions select{width:155px}.subsubsub li{display:inline}a.post-state-format{text-indent:0;line-height:0;font-size:0}table.ie-fixed{table-layout:fixed}.widefat th,.widefat tr{margin-bottom:0;border-spacing:0}.widefat th input{margin:0 0 0 5px}.widefat tfoot .check-column,.widefat thead .check-column{padding-top:6px}.media.widefat tbody th.check-column,.widefat tbody th.check-column{padding:4px 0 0}.widefat{empty-cells:show;border-collapse:collapse}.tablenav a.button-secondary{display:inline-block;padding:2px 5px}.inactive-sidebar .widgets-sortables{padding-bottom:8px}#available-widgets .widget-holder{padding-bottom:65px}#widgets-left .inactive{padding-bottom:10px}.inactive-sidebar .widget,.widget-liquid-right .widget{position:relative}.inactive-sidebar .widget{display:block;float:left}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA}#the-comment-list .unapproved td,#the-comment-list .unapproved tr{background-color:#ffffe0}.imgedit-submit{width:300px}#nav-menus-frame,#wpbody,.menu li{zoom:100%}#update-nav-menu #post-body{overflow:hidden}.menu li{min-width:100%}.menu li.sortable-placeholder{min-width:400px}.available-theme{display:inline}.available-theme ul{margin:0}.available-theme .action-links li{padding-right:7px;margin-right:7px}.about-wrap .three-col.about-updates .col-2{width:15%}.about-wrap .about-password-meter input{width:98%}.revisions-tickmarks,.revisions-tooltip{display:none!important}.revisions.pinned .revisions-controls{position:relative}.login form .input,input[type=password]{font-family:sans-serif}.mce-btn i.mce-i-aligncenter,.mce-btn i.mce-i-alignjustify,.mce-btn i.mce-i-alignleft,.mce-btn i.mce-i-alignright,.mce-btn i.mce-i-blockquote,.mce-btn i.mce-i-bold,.mce-btn i.mce-i-bullist,.mce-btn i.mce-i-charmap,.mce-btn i.mce-i-forecolor,.mce-btn i.mce-i-fullscreen,.mce-btn i.mce-i-help,.mce-btn i.mce-i-hr,.mce-btn i.mce-i-indent,.mce-btn i.mce-i-italic,.mce-btn i.mce-i-link,.mce-btn i.mce-i-ltr,.mce-btn i.mce-i-numlist,.mce-btn i.mce-i-outdent,.mce-btn i.mce-i-pastetext,.mce-btn i.mce-i-pasteword,.mce-btn i.mce-i-redo,.mce-btn i.mce-i-removeformat,.mce-btn i.mce-i-spellchecker,.mce-btn i.mce-i-strikethrough,.mce-btn i.mce-i-underline,.mce-btn i.mce-i-undo,.mce-btn i.mce-i-unlink,.mce-btn i.mce-i-wp-media-library,.mce-btn i.mce-i-wp_adv,.mce-btn i.mce-i-wp_fullscreen,.mce-btn i.mce-i-wp_help,.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page,.mce-close{font-family:tinymce,Arial;font-style:normal;font-weight:400;font-variant:normal;font-size:16px;margin-left:0;padding-right:0}.mce-btn i.mce-i-wp_fullscreen,.qt-fullscreen{-ie7-icon:'\e023'}.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page{-ie7-icon:'\e027'}.mce-btn i.mce-i-wp_adv{background-color:#aaa}.mce-btn i.mce-i-help,.mce-btn i.mce-i-wp_help{-ie7-icon:'\e016'}* html .row-actions{visibility:visible}* html div.widget-liquid-left,* html div.widget-liquid-right{display:block;position:relative}* html #editorcontainer{padding:0}* html #poststuff h2{margin-left:0}* html .stuffbox,* html .stuffbox input,* html .stuffbox textarea{border:1px solid #DFDFDF}* html .feature-filter .feature-group li{width:145px}* html div.widget-liquid-left{width:99%}* html .widgets-sortables{height:50px}* html a#content_resize{right:-2px}* html .widget-title h4{width:205px}* html #removing-widget .in-widget-title{display:none}* html .media-item .pinkynail{height:32px;width:40px}* html .describe .field input.text,* html .describe .field textarea{width:440px}* html input{border:1px solid #dfdfdf}* html .edit-box{display:inline}* html .postbox-container .meta-box-sortables{height:300px}* html #wpbody-content #screen-options-link-wrap{display:inline-block;width:150px;text-align:center}* html #wpbody-content #contextual-help-link-wrap{display:inline-block;width:100px;text-align:center}* html #adminmenu{margin-left:-80px}* html .folded #adminmenu{margin-left:-22px}* html #wpcontent #adminmenu li.menu-top{display:inline;padding:0;margin:0}* html #wpfooter{margin:0}* html #adminmenu div.wp-menu-image{height:29px}
\ No newline at end of file
+#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:99%}#dashboard-widgets form #title{width:98%}#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}.wp-editor-wrap .wp-editor-container,.wp-editor-wrap .wp-editor-tabs,.wp-editor-wrap .wp-editor-tools,.wp-editor-wrap .wp-switch-editor{zoom:100%}.wp-editor-wrap .wp-editor-container textarea.wp-editor-area{width:97%}#post-body.columns-2 #postbox-container-1{padding-left:19px}.welcome-panel .wp-badge{position:absolute}.welcome-panel .welcome-panel-column:first-child{width:35%}.wp-fullscreen-title{width:97%}#wp_mce_fullscreen_ifr{background-color:#f9f9f9}#wp-fullscreen-tagline{color:#888;font-size:14px}#adminmenuback{left:0;background-image:none}#adminmenuwrap{position:static}#adminmenu{position:relative}#adminmenu,#adminmenu a{cursor:pointer}#adminmenu li.wp-menu-separator,#adminmenu li.wp-menu-separator-last{font-size:1px;line-height:1}#adminmenu a.menu-top{border-bottom:0 none;border-top:1px solid #ddd}#adminmenu .separator{font-size:1px;line-height:1px}#adminmenu .wp-submenu{left:110px}#adminmenu .wp-submenu ul{margin:0}.folded #wpcontent,.folded #wpfooter{margin-left:170px}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:150px}.folded #adminmenu .wp-submenu{border-top-color:transparent}.folded #adminmenu .wp-menu-name{display:block}.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open{left:110px}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{top:-1px;position:relative}.folded #adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:transparent}#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#ddd}.folded #adminmenu .wp-submenu ul{margin-left:5px}#adminmenu li.menu-top{margin-bottom:-2px}#adminmenu .wp-menu-arrow{display:none!important}.js.folded #adminmenu li.menu-top{display:block;zoom:100%}ul#adminmenu{z-index:99}#adminmenu li.menu-top a.menu-top{min-width:auto;width:auto}#wpcontent #adminmenu li.wp-has-current-submenu a.wp-has-submenu{font-style:normal}#wpcontent #adminmenu .wp-submenu li{padding:0}#adminmenu li.wp-has-current-submenu .wp-submenu{left:-40px}#adminmenu .wp-menu-image{display:none!important}#adminmenu a.menu-top .wp-menu-name{padding-left:8px}#collapse-menu{line-height:23px}#wpadminbar .ab-comments-icon{padding-top:7px}.theme-browser .theme{width:30%;margin:0 3% 4% 0;cursor:auto}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:auto}.theme-browser .theme .theme-screenshot{height:180px}.theme-browser .theme .theme-actions{position:static;background-color:#e8e8e8}.theme-browser .theme .more-details{display:none}.plugins td,.plugins th,table.fixed td,table.fixed th{border-top:1px solid #ddd}#wpbody-content input.button,#wpbody-content input.button-primary,#wpbody-content input.button-secondary{overflow:visible}#dashboard-widgets h3 a{height:14px;line-height:14px}#dashboard_browser_nag{color:#fff}#dashboard_browser_nag .browser-icon{position:relative}.tablenav-pages .current-page{vertical-align:middle}#wpbody-content .postbox{border:1px solid #dfdfdf}#wpbody-content .postbox .hndle{margin-bottom:-1px}#addcat,#editcat,#template,#template div,.major-publishing-actions,.wp-submenu,.wp-submenu li{zoom:100%}.wp-menu-arrow{height:28px}.submitbox{margin-top:10px}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:19%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:29%}.inline-edit-row p.submit{zoom:100%}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0;zoom:100%}#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input{line-height:130%}#wpbody-content .inline-edit-row .input-text-wrap input{width:95%}#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input{width:8em}#titlediv #title{width:98%}.button,input[type=button],input[type=reset],input[type=submit]{padding:0 8px;line-height:20px;height:auto}.button.button-large,input[type=button].button-large,input[type=reset].button-large,input[type=submit].button-large{padding:0 10px;line-height:24px;height:auto}.button.button-small,input[type=button].button-small,input[type=reset].button-small,input[type=submit].button-small{padding:0 6px;line-height:16px;height:auto}a.button{margin:1px;padding:1px 9px 2px}a.button.button-large{padding:1px 11px 2px}a.button.button-small{padding:1px 7px 2px}#screen-options-wrap{overflow:hidden}#col-container,#col-left,#col-right,#dragHelper,#editorcontainer,#post-body,#post-status-info,#postdiv,#postdivrich,#poststuff,#the-comment-list .comment-item,#titlediv,#widgets-left,#wpwrap,#wrap,.fileedit-sub,.metabox-holder,.tablenav,.tagchecklist,.widget .widget-top,.widget-control-actions,.widget-liquid-left,.widget-liquid-right,.widgets-sortables{display:block;zoom:100%}p.search-box{position:static;float:right;margin:-3px 0 4px}#widget-list .widget,.feature-filter .feature-group li{display:inline}.feature-filter .feature-group li input{vertical-align:middle}#editorcontainer #content{overflow:auto;margin:auto;width:98%}form#template div{width:100%}.wp-editor-container .quicktags-toolbar input{overflow:visible;padding:0 4px}#poststuff h2{font-size:1.6em}#poststuff .inside #page_template,#poststuff .inside #parent_id,.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{width:250px}#submitdiv a.button,#submitdiv input,#submitdiv select{position:relative}#bh{margin:7px 10px 0 0;float:right}div#dashboard-widgets{padding-right:1px}.tagchecklist span,.tagchecklist span a{display:inline-block;display:block}.nav .button-secondary,.tablenav .button-secondary{padding-top:2px;padding-bottom:2px}.tablenav select{font-size:13px;display:inline-block;vertical-align:top;margin-top:2px}.tablenav .actions select{width:155px}.subsubsub li{display:inline}a.post-state-format{text-indent:0;line-height:0;font-size:0}table.ie-fixed{table-layout:fixed}.widefat th,.widefat tr{margin-bottom:0;border-spacing:0}.widefat th input{margin:0 0 0 5px}.widefat tfoot .check-column,.widefat thead .check-column{padding-top:6px}.media.widefat tbody th.check-column,.widefat tbody th.check-column{padding:4px 0 0}.widefat{empty-cells:show;border-collapse:collapse}.tablenav a.button-secondary{display:inline-block;padding:2px 5px}.inactive-sidebar .widgets-sortables{padding-bottom:8px}#available-widgets .widget-holder{padding-bottom:65px}#widgets-left .inactive{padding-bottom:10px}.inactive-sidebar .widget,.widget-liquid-right .widget{position:relative}.inactive-sidebar .widget{display:block;float:left}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA}#the-comment-list .unapproved td,#the-comment-list .unapproved tr{background-color:#ffffe0}.imgedit-submit{width:300px}#nav-menus-frame,#wpbody,.menu li{zoom:100%}#update-nav-menu #post-body{overflow:hidden}.menu li{min-width:100%}.menu li.sortable-placeholder{min-width:400px}.available-theme{display:inline}.available-theme ul{margin:0}.available-theme .action-links li{padding-right:7px;margin-right:7px}.about-wrap .three-col.about-updates .col-2{width:15%}.about-wrap .about-password-meter input{width:98%}.revisions-tickmarks,.revisions-tooltip{display:none!important}.revisions.pinned .revisions-controls{position:relative}.login form .input,input[type=password]{font-family:sans-serif}.mce-btn i.mce-i-aligncenter,.mce-btn i.mce-i-alignjustify,.mce-btn i.mce-i-alignleft,.mce-btn i.mce-i-alignright,.mce-btn i.mce-i-blockquote,.mce-btn i.mce-i-bold,.mce-btn i.mce-i-bullist,.mce-btn i.mce-i-charmap,.mce-btn i.mce-i-forecolor,.mce-btn i.mce-i-fullscreen,.mce-btn i.mce-i-help,.mce-btn i.mce-i-hr,.mce-btn i.mce-i-indent,.mce-btn i.mce-i-italic,.mce-btn i.mce-i-link,.mce-btn i.mce-i-ltr,.mce-btn i.mce-i-numlist,.mce-btn i.mce-i-outdent,.mce-btn i.mce-i-pastetext,.mce-btn i.mce-i-pasteword,.mce-btn i.mce-i-redo,.mce-btn i.mce-i-removeformat,.mce-btn i.mce-i-spellchecker,.mce-btn i.mce-i-strikethrough,.mce-btn i.mce-i-underline,.mce-btn i.mce-i-undo,.mce-btn i.mce-i-unlink,.mce-btn i.mce-i-wp-media-library,.mce-btn i.mce-i-wp_adv,.mce-btn i.mce-i-wp_fullscreen,.mce-btn i.mce-i-wp_help,.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page,.mce-close{font-family:tinymce,Arial;font-style:normal;font-weight:400;font-variant:normal;font-size:16px;margin-left:0;padding-right:0}.mce-btn i.mce-i-wp_fullscreen,.qt-fullscreen{-ie7-icon:'\e023'}.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page{-ie7-icon:'\e027'}.mce-btn i.mce-i-wp_adv{background-color:#aaa}.mce-btn i.mce-i-help,.mce-btn i.mce-i-wp_help{-ie7-icon:'\e016'}* html .row-actions{visibility:visible}* html div.widget-liquid-left,* html div.widget-liquid-right{display:block;position:relative}* html #editorcontainer{padding:0}* html #poststuff h2{margin-left:0}* html .stuffbox,* html .stuffbox input,* html .stuffbox textarea{border:1px solid #DFDFDF}* html .feature-filter .feature-group li{width:145px}* html div.widget-liquid-left{width:99%}* html .widgets-sortables{height:50px}* html a#content_resize{right:-2px}* html .widget-title h4{width:205px}* html #removing-widget .in-widget-title{display:none}* html .media-item .pinkynail{height:32px;width:40px}* html .describe .field input.text,* html .describe .field textarea{width:440px}* html input{border:1px solid #dfdfdf}* html .edit-box{display:inline}* html .postbox-container .meta-box-sortables{height:300px}* html #wpbody-content #screen-options-link-wrap{display:inline-block;width:150px;text-align:center}* html #wpbody-content #contextual-help-link-wrap{display:inline-block;width:100px;text-align:center}* html #adminmenu{margin-left:-80px}* html .folded #adminmenu{margin-left:-22px}* html #wpcontent #adminmenu li.menu-top{display:inline;padding:0;margin:0}* html #wpfooter{margin:0}* html #adminmenu div.wp-menu-image{height:29px}
\ No newline at end of file
diff --git a/wp-admin/css/install-rtl.css b/wp-admin/css/install-rtl.css
index b73329e8f..0a9deda0a 100644
--- a/wp-admin/css/install-rtl.css
+++ b/wp-admin/css/install-rtl.css
@@ -60,6 +60,11 @@ abbr {
 	border: 0;
 	font-variant: normal;
 }
+
+label {
+	cursor: pointer;
+}
+
 #logo {
 	margin: 6px 0 14px 0;
 	border-bottom: none;
@@ -68,19 +73,19 @@ abbr {
 #logo a {
 	background-image: url(../images/w-logo-blue.png?ver=20131202);
 	background-image: none, url(../images/wordpress-logo.svg?ver=20131107);
-	-webkit-background-size: 80px 80px;
-	background-size: 80px 80px;
+	-webkit-background-size: 84px;
+	background-size: 84px;
 	background-position: center top;
 	background-repeat: no-repeat;
 	color: #999;
-	height: 80px;
+	height: 84px;
 	font-size: 20px;
 	font-weight: normal;
 	line-height: 1.3em;
 	margin: -130px auto 25px;
 	padding: 0;
 	text-decoration: none;
-	width: 80px;
+	width: 84px;
 	text-indent: -9999px;
 	outline: none;
 	overflow: hidden;
@@ -93,7 +98,9 @@ abbr {
 	text-align: right;
 	padding: 0;
 }
-.step .button-large {
+.language-chooser.wp-core-ui .step .button.button-large {
+	height: 36px;
+	vertical-align: middle;
 	font-size: 14px;
 }
 textarea {
@@ -152,6 +159,8 @@ submit {
 }
 
 .form-table input[type=text],
+.form-table input[type=email],
+.form-table input[type=url],
 .form-table input[type=password] {
 	width: 206px;
 }
@@ -295,6 +304,8 @@ body.rtl,
 	}
 
 	.form-table td input[type="text"],
+	.form-table td input[type="email"],
+	.form-table td input[type="url"],
 	.form-table td input[type="password"],
 	.form-table td select,
 	.form-table td textarea,
@@ -311,3 +322,68 @@ body.rtl,
 	}
 
 }
+
+body.language-chooser {
+	max-width: 300px;
+}
+
+.language-chooser select {
+	padding: 8px;
+	width: 100%;
+	display: block;
+	border: 1px solid #ddd;
+	background-color: #fff;
+	color: #333;
+	font-size: 16px;
+	font-family: Arial, sans-serif;
+	font-weight: normal;
+}
+
+.language-chooser p {
+	text-align: left;
+}
+
+.screen-reader-input,
+.screen-reader-text {
+	position: absolute;
+	margin: -1px;
+	padding: 0;
+	height: 1px;
+	width: 1px;
+	overflow: hidden;
+	clip: rect(0 0 0 0);
+	border: 0;
+}
+
+.spinner {
+	background: url(../images/spinner.gif) no-repeat;
+	-webkit-background-size: 20px 20px;
+	background-size: 20px 20px;
+	visibility: hidden;
+	opacity: 0.7;
+	filter: alpha(opacity=70);
+	width: 20px;
+	height: 20px;
+	margin: 2px 5px 0;
+}
+
+.step .spinner {
+	display: inline-block;
+	margin-top: 8px;
+	margin-left: 15px;
+	vertical-align: top;
+}
+
+/**
+ * HiDPI Displays
+ */
+@media print,
+  (-o-min-device-pixel-ratio: 5/4),
+  (-webkit-min-device-pixel-ratio: 1.25),
+  (min-resolution: 120dpi) {
+
+	.spinner {
+		background-image: url(../images/spinner-2x.gif);
+	}
+
+}
diff --git a/wp-admin/css/install-rtl.min.css b/wp-admin/css/install-rtl.min.css
index 6b112f7e2..c63802d51 100644
--- a/wp-admin/css/install-rtl.min.css
+++ b/wp-admin/css/install-rtl.min.css
@@ -1 +1 @@
-html{background:#f1f1f1;margin:0 20px}body{background:#fff;color:#444;font-family:"Open Sans",sans-serif;margin:140px auto 25px;padding:20px 20px 10px;max-width:700px;-webkit-font-smoothing:subpixel-antialiased;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}a{color:#0074a2;text-decoration:none}a:hover{color:#2ea2cc}h1{border-bottom:1px solid #dedede;clear:both;color:#666;font-size:24px;margin:30px 0;padding:0;padding-bottom:7px;font-weight:400}h2{font-size:16px}dd,dt,li,p{padding-bottom:2px;font-size:14px;line-height:1.5}.code,code{font-family:Consolas,Monaco,monospace}dl,ol,ul{padding:5px 22px 5px 5px}a img{border:0}abbr{border:0;font-variant:normal}#logo{margin:6px 0 14px;border-bottom:0;text-align:center}#logo a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:80px 80px;background-size:80px 80px;background-position:center top;background-repeat:no-repeat;color:#999;height:80px;font-size:20px;font-weight:400;line-height:1.3em;margin:-130px auto 25px;padding:0;text-decoration:none;width:80px;text-indent:-9999px;outline:0;overflow:hidden;display:block}.step{margin:20px 0 15px}.step,th{text-align:right;padding:0}.step .button-large{font-size:14px}textarea{border:1px solid #dfdfdf;font-family:"Open Sans",sans-serif;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table{border-collapse:collapse;margin-top:1em;width:100%}.form-table td{margin-bottom:9px;padding:10px 0 10px 20px;border-bottom:8px solid #fff;font-size:14px;vertical-align:top}.form-table th{font-size:14px;text-align:right;padding:16px 0 10px 20px;width:140px;vertical-align:top}.form-table code{line-height:18px;font-size:14px}.form-table p{margin:4px 0 0;font-size:11px}.form-table input{line-height:20px;font-size:15px;padding:3px 5px;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}input,submit{font-family:"Open Sans",sans-serif}.form-table input[type=password],.form-table input[type=text]{width:206px}.form-table th p{font-weight:400}.form-table.install-success td{vertical-align:middle;padding:16px 0 10px 20px}.form-table.install-success td p{margin:0;font-size:14px}.form-table.install-success td code{margin:0;font-size:18px}#error-page{margin-top:50px}#error-page p{font-size:14px;line-height:18px;margin:25px 0 20px}#error-page code,.code{font-family:Consolas,Monaco,monospace}#pass-strength-result{background-color:#eee;border-color:#ddd!important;border-style:solid;border-width:1px;margin:5px 0 5px 5px;padding:5px;text-align:center;width:200px;display:none}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important}.message{border:1px solid #c00;padding:.5em .7em;margin:5px 0 15px;background-color:#ffebe8}#admin_email,#dbhost,#dbname,#pass1,#pass2,#prefix,#pwd,#uname,#user_login{direction:ltr}.rtl input,.rtl submit,.rtl textarea,body.rtl{font-family:Tahoma,sans-serif}:lang(he-il) .rtl input,:lang(he-il) .rtl submit,:lang(he-il) .rtl textarea,:lang(he-il) body.rtl{font-family:Arial,sans-serif}@media only screen and (max-width:799px){body{margin-top:115px}#logo a{margin:-125px auto 30px}}@media screen and (max-width:782px){.form-table{margin-top:0}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table th{padding:20px 0 0}.form-table td{padding:5px 0;border:0;margin:0}input,textarea{font-size:16px}.form-table span.description,.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}
\ No newline at end of file
+html{background:#f1f1f1;margin:0 20px}body{background:#fff;color:#444;font-family:"Open Sans",sans-serif;margin:140px auto 25px;padding:20px 20px 10px;max-width:700px;-webkit-font-smoothing:subpixel-antialiased;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}a{color:#0074a2;text-decoration:none}a:hover{color:#2ea2cc}h1{border-bottom:1px solid #dedede;clear:both;color:#666;font-size:24px;margin:30px 0;padding:0 0 7px;font-weight:400}h2{font-size:16px}dd,dt,li,p{padding-bottom:2px;font-size:14px;line-height:1.5}.code,code{font-family:Consolas,Monaco,monospace}dl,ol,ul{padding:5px 22px 5px 5px}a img{border:0}abbr{border:0;font-variant:normal}label{cursor:pointer}#logo{margin:6px 0 14px;border-bottom:none;text-align:center}#logo a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;color:#999;height:84px;font-size:20px;font-weight:400;line-height:1.3em;margin:-130px auto 25px;padding:0;text-decoration:none;width:84px;text-indent:-9999px;outline:0;overflow:hidden;display:block}.step{margin:20px 0 15px}.step,th{text-align:right;padding:0}.language-chooser.wp-core-ui .step .button.button-large{height:36px;vertical-align:middle;font-size:14px}textarea{border:1px solid #dfdfdf;font-family:"Open Sans",sans-serif;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table{border-collapse:collapse;margin-top:1em;width:100%}.form-table td{margin-bottom:9px;padding:10px 0 10px 20px;border-bottom:8px solid #fff;font-size:14px;vertical-align:top}.form-table th{font-size:14px;text-align:right;padding:16px 0 10px 20px;width:140px;vertical-align:top}.form-table code{line-height:18px;font-size:14px}.form-table p{margin:4px 0 0;font-size:11px}.form-table input{line-height:20px;font-size:15px;padding:3px 5px;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}input,submit{font-family:"Open Sans",sans-serif}.form-table input[type=email],.form-table input[type=password],.form-table input[type=text],.form-table input[type=url]{width:206px}.form-table th p{font-weight:400}.form-table.install-success td{vertical-align:middle;padding:16px 0 10px 20px}.form-table.install-success td p{margin:0;font-size:14px}.form-table.install-success td code{margin:0;font-size:18px}#error-page{margin-top:50px}#error-page p{font-size:14px;line-height:18px;margin:25px 0 20px}#error-page code,.code{font-family:Consolas,Monaco,monospace}#pass-strength-result{background-color:#eee;border-color:#ddd!important;border-style:solid;border-width:1px;margin:5px 0 5px 5px;padding:5px;text-align:center;width:200px;display:none}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important}.message{border:1px solid #c00;padding:.5em .7em;margin:5px 0 15px;background-color:#ffebe8}#admin_email,#dbhost,#dbname,#pass1,#pass2,#prefix,#pwd,#uname,#user_login{direction:ltr}.rtl input,.rtl submit,.rtl textarea,body.rtl{font-family:Tahoma,sans-serif}:lang(he-il) .rtl input,:lang(he-il) .rtl submit,:lang(he-il) .rtl textarea,:lang(he-il) body.rtl{font-family:Arial,sans-serif}@media only screen and (max-width:799px){body{margin-top:115px}#logo a{margin:-125px auto 30px}}@media screen and (max-width:782px){.form-table{margin-top:0}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table th{padding:20px 0 0}.form-table td{padding:5px 0;border:0;margin:0}input,textarea{font-size:16px}.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td input[type=url],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}body.language-chooser{max-width:300px}.language-chooser select{padding:8px;width:100%;display:block;border:1px solid #ddd;background-color:#fff;color:#333;font-size:16px;font-family:Arial,sans-serif;font-weight:400}.language-chooser p{text-align:left}.screen-reader-input,.screen-reader-text{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.spinner{background:url(../images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;visibility:hidden;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:2px 5px 0}.step .spinner{display:inline-block;margin-top:8px;margin-left:15px;vertical-align:top}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.spinner{background-image:url(../images/spinner-2x.gif)}}
\ No newline at end of file
diff --git a/wp-admin/css/install.css b/wp-admin/css/install.css
index a2e19a1cc..28c071c31 100644
--- a/wp-admin/css/install.css
+++ b/wp-admin/css/install.css
@@ -60,6 +60,11 @@ abbr {
 	border: 0;
 	font-variant: normal;
 }
+
+label {
+	cursor: pointer;
+}
+
 #logo {
 	margin: 6px 0 14px 0;
 	border-bottom: none;
@@ -68,19 +73,19 @@ abbr {
 #logo a {
 	background-image: url(../images/w-logo-blue.png?ver=20131202);
 	background-image: none, url(../images/wordpress-logo.svg?ver=20131107);
-	-webkit-background-size: 80px 80px;
-	background-size: 80px 80px;
+	-webkit-background-size: 84px;
+	background-size: 84px;
 	background-position: center top;
 	background-repeat: no-repeat;
 	color: #999;
-	height: 80px;
+	height: 84px;
 	font-size: 20px;
 	font-weight: normal;
 	line-height: 1.3em;
 	margin: -130px auto 25px;
 	padding: 0;
 	text-decoration: none;
-	width: 80px;
+	width: 84px;
 	text-indent: -9999px;
 	outline: none;
 	overflow: hidden;
@@ -93,7 +98,9 @@ abbr {
 	text-align: left;
 	padding: 0;
 }
-.step .button-large {
+.language-chooser.wp-core-ui .step .button.button-large {
+	height: 36px;
+	vertical-align: middle;
 	font-size: 14px;
 }
 textarea {
@@ -152,6 +159,8 @@ submit {
 }
 
 .form-table input[type=text],
+.form-table input[type=email],
+.form-table input[type=url],
 .form-table input[type=password] {
 	width: 206px;
 }
@@ -295,6 +304,8 @@ body.rtl,
 	}
 
 	.form-table td input[type="text"],
+	.form-table td input[type="email"],
+	.form-table td input[type="url"],
 	.form-table td input[type="password"],
 	.form-table td select,
 	.form-table td textarea,
@@ -311,3 +322,68 @@ body.rtl,
 	}
 
 }
+
+body.language-chooser {
+	max-width: 300px;
+}
+
+.language-chooser select {
+	padding: 8px;
+	width: 100%;
+	display: block;
+	border: 1px solid #ddd;
+	background-color: #fff;
+	color: #333;
+	font-size: 16px;
+	font-family: Arial, sans-serif;
+	font-weight: normal;
+}
+
+.language-chooser p {
+	text-align: right;
+}
+
+.screen-reader-input,
+.screen-reader-text {
+	position: absolute;
+	margin: -1px;
+	padding: 0;
+	height: 1px;
+	width: 1px;
+	overflow: hidden;
+	clip: rect(0 0 0 0);
+	border: 0;
+}
+
+.spinner {
+	background: url(../images/spinner.gif) no-repeat;
+	-webkit-background-size: 20px 20px;
+	background-size: 20px 20px;
+	visibility: hidden;
+	opacity: 0.7;
+	filter: alpha(opacity=70);
+	width: 20px;
+	height: 20px;
+	margin: 2px 5px 0;
+}
+
+.step .spinner {
+	display: inline-block;
+	margin-top: 8px;
+	margin-right: 15px;
+	vertical-align: top;
+}
+
+/**
+ * HiDPI Displays
+ */
+@media print,
+  (-o-min-device-pixel-ratio: 5/4),
+  (-webkit-min-device-pixel-ratio: 1.25),
+  (min-resolution: 120dpi) {
+
+	.spinner {
+		background-image: url(../images/spinner-2x.gif);
+	}
+
+}
diff --git a/wp-admin/css/install.min.css b/wp-admin/css/install.min.css
index 1a712e865..4b9b23c11 100644
--- a/wp-admin/css/install.min.css
+++ b/wp-admin/css/install.min.css
@@ -1 +1 @@
-html{background:#f1f1f1;margin:0 20px}body{background:#fff;color:#444;font-family:"Open Sans",sans-serif;margin:140px auto 25px;padding:20px 20px 10px;max-width:700px;-webkit-font-smoothing:subpixel-antialiased;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}a{color:#0074a2;text-decoration:none}a:hover{color:#2ea2cc}h1{border-bottom:1px solid #dedede;clear:both;color:#666;font-size:24px;margin:30px 0;padding:0;padding-bottom:7px;font-weight:400}h2{font-size:16px}dd,dt,li,p{padding-bottom:2px;font-size:14px;line-height:1.5}.code,code{font-family:Consolas,Monaco,monospace}dl,ol,ul{padding:5px 5px 5px 22px}a img{border:0}abbr{border:0;font-variant:normal}#logo{margin:6px 0 14px;border-bottom:0;text-align:center}#logo a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:80px 80px;background-size:80px 80px;background-position:center top;background-repeat:no-repeat;color:#999;height:80px;font-size:20px;font-weight:400;line-height:1.3em;margin:-130px auto 25px;padding:0;text-decoration:none;width:80px;text-indent:-9999px;outline:0;overflow:hidden;display:block}.step{margin:20px 0 15px}.step,th{text-align:left;padding:0}.step .button-large{font-size:14px}textarea{border:1px solid #dfdfdf;font-family:"Open Sans",sans-serif;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table{border-collapse:collapse;margin-top:1em;width:100%}.form-table td{margin-bottom:9px;padding:10px 20px 10px 0;border-bottom:8px solid #fff;font-size:14px;vertical-align:top}.form-table th{font-size:14px;text-align:left;padding:16px 20px 10px 0;width:140px;vertical-align:top}.form-table code{line-height:18px;font-size:14px}.form-table p{margin:4px 0 0;font-size:11px}.form-table input{line-height:20px;font-size:15px;padding:3px 5px;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}input,submit{font-family:"Open Sans",sans-serif}.form-table input[type=password],.form-table input[type=text]{width:206px}.form-table th p{font-weight:400}.form-table.install-success td{vertical-align:middle;padding:16px 20px 10px 0}.form-table.install-success td p{margin:0;font-size:14px}.form-table.install-success td code{margin:0;font-size:18px}#error-page{margin-top:50px}#error-page p{font-size:14px;line-height:18px;margin:25px 0 20px}#error-page code,.code{font-family:Consolas,Monaco,monospace}#pass-strength-result{background-color:#eee;border-color:#ddd!important;border-style:solid;border-width:1px;margin:5px 5px 5px 0;padding:5px;text-align:center;width:200px;display:none}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important}.message{border:1px solid #c00;padding:.5em .7em;margin:5px 0 15px;background-color:#ffebe8}#admin_email,#dbhost,#dbname,#pass1,#pass2,#prefix,#pwd,#uname,#user_login{direction:ltr}.rtl input,.rtl submit,.rtl textarea,body.rtl{font-family:Tahoma,sans-serif}:lang(he-il) .rtl input,:lang(he-il) .rtl submit,:lang(he-il) .rtl textarea,:lang(he-il) body.rtl{font-family:Arial,sans-serif}@media only screen and (max-width:799px){body{margin-top:115px}#logo a{margin:-125px auto 30px}}@media screen and (max-width:782px){.form-table{margin-top:0}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table th{padding:20px 0 0}.form-table td{padding:5px 0;border:0;margin:0}input,textarea{font-size:16px}.form-table span.description,.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}
\ No newline at end of file
+html{background:#f1f1f1;margin:0 20px}body{background:#fff;color:#444;font-family:"Open Sans",sans-serif;margin:140px auto 25px;padding:20px 20px 10px;max-width:700px;-webkit-font-smoothing:subpixel-antialiased;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}a{color:#0074a2;text-decoration:none}a:hover{color:#2ea2cc}h1{border-bottom:1px solid #dedede;clear:both;color:#666;font-size:24px;margin:30px 0;padding:0 0 7px;font-weight:400}h2{font-size:16px}dd,dt,li,p{padding-bottom:2px;font-size:14px;line-height:1.5}.code,code{font-family:Consolas,Monaco,monospace}dl,ol,ul{padding:5px 5px 5px 22px}a img{border:0}abbr{border:0;font-variant:normal}label{cursor:pointer}#logo{margin:6px 0 14px;border-bottom:none;text-align:center}#logo a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;color:#999;height:84px;font-size:20px;font-weight:400;line-height:1.3em;margin:-130px auto 25px;padding:0;text-decoration:none;width:84px;text-indent:-9999px;outline:0;overflow:hidden;display:block}.step{margin:20px 0 15px}.step,th{text-align:left;padding:0}.language-chooser.wp-core-ui .step .button.button-large{height:36px;vertical-align:middle;font-size:14px}textarea{border:1px solid #dfdfdf;font-family:"Open Sans",sans-serif;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table{border-collapse:collapse;margin-top:1em;width:100%}.form-table td{margin-bottom:9px;padding:10px 20px 10px 0;border-bottom:8px solid #fff;font-size:14px;vertical-align:top}.form-table th{font-size:14px;text-align:left;padding:16px 20px 10px 0;width:140px;vertical-align:top}.form-table code{line-height:18px;font-size:14px}.form-table p{margin:4px 0 0;font-size:11px}.form-table input{line-height:20px;font-size:15px;padding:3px 5px;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}input,submit{font-family:"Open Sans",sans-serif}.form-table input[type=email],.form-table input[type=password],.form-table input[type=text],.form-table input[type=url]{width:206px}.form-table th p{font-weight:400}.form-table.install-success td{vertical-align:middle;padding:16px 20px 10px 0}.form-table.install-success td p{margin:0;font-size:14px}.form-table.install-success td code{margin:0;font-size:18px}#error-page{margin-top:50px}#error-page p{font-size:14px;line-height:18px;margin:25px 0 20px}#error-page code,.code{font-family:Consolas,Monaco,monospace}#pass-strength-result{background-color:#eee;border-color:#ddd!important;border-style:solid;border-width:1px;margin:5px 5px 5px 0;padding:5px;text-align:center;width:200px;display:none}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important}.message{border:1px solid #c00;padding:.5em .7em;margin:5px 0 15px;background-color:#ffebe8}#admin_email,#dbhost,#dbname,#pass1,#pass2,#prefix,#pwd,#uname,#user_login{direction:ltr}.rtl input,.rtl submit,.rtl textarea,body.rtl{font-family:Tahoma,sans-serif}:lang(he-il) .rtl input,:lang(he-il) .rtl submit,:lang(he-il) .rtl textarea,:lang(he-il) body.rtl{font-family:Arial,sans-serif}@media only screen and (max-width:799px){body{margin-top:115px}#logo a{margin:-125px auto 30px}}@media screen and (max-width:782px){.form-table{margin-top:0}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table th{padding:20px 0 0}.form-table td{padding:5px 0;border:0;margin:0}input,textarea{font-size:16px}.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td input[type=url],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}body.language-chooser{max-width:300px}.language-chooser select{padding:8px;width:100%;display:block;border:1px solid #ddd;background-color:#fff;color:#333;font-size:16px;font-family:Arial,sans-serif;font-weight:400}.language-chooser p{text-align:right}.screen-reader-input,.screen-reader-text{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.spinner{background:url(../images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;visibility:hidden;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:2px 5px 0}.step .spinner{display:inline-block;margin-top:8px;margin-right:15px;vertical-align:top}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.spinner{background-image:url(../images/spinner-2x.gif)}}
\ No newline at end of file
diff --git a/wp-admin/css/l10n-rtl.css b/wp-admin/css/l10n-rtl.css
index 5590f1d61..3deb3033f 100644
--- a/wp-admin/css/l10n-rtl.css
+++ b/wp-admin/css/l10n-rtl.css
@@ -75,7 +75,8 @@ body.locale-he-il .press-this a.wp-switch-editor {
 .locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap {
 	margin-right: 8em; /* default 5em */
 }
-.locale-ru-ru.post-php .tagsdiv .newtag {
+.locale-ru-ru.post-php .tagsdiv .newtag,
+.locale-ru-ru.post-new-php .tagsdiv .newtag {
 	width: 165px; /* default 180px - 15px */
 }
 .locale-ru-ru.press-this .posting {
diff --git a/wp-admin/css/l10n.css b/wp-admin/css/l10n.css
index 3b056d6ec..4e405862c 100644
--- a/wp-admin/css/l10n.css
+++ b/wp-admin/css/l10n.css
@@ -75,7 +75,8 @@ body.locale-he-il .press-this a.wp-switch-editor {
 .locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap {
 	margin-left: 8em; /* default 5em */
 }
-.locale-ru-ru.post-php .tagsdiv .newtag {
+.locale-ru-ru.post-php .tagsdiv .newtag,
+.locale-ru-ru.post-new-php .tagsdiv .newtag {
 	width: 165px; /* default 180px - 15px */
 }
 .locale-ru-ru.press-this .posting {
diff --git a/wp-admin/css/list-tables-rtl.css b/wp-admin/css/list-tables-rtl.css
index 6f36c9ebc..59eede9c8 100644
--- a/wp-admin/css/list-tables-rtl.css
+++ b/wp-admin/css/list-tables-rtl.css
@@ -263,6 +263,10 @@ table.fixed {
 	width: 10%;
 }
 
+.fixed .column-posts {
+    width: 74px;
+}
+
 .fixed .column-comment .comment-author {
 	display: none;
 }
@@ -591,6 +595,11 @@ th.asc:hover span.sorting-indicator {
 	padding: 2px 0 0 8px;
 }
 
+.wp-filter .actions {
+	display: inline-block;
+	vertical-align: middle;
+}
+
 .tablenav .delete {
 	margin-left: 20px;
 }
@@ -613,13 +622,16 @@ classes exist in paginate_links() but not seen in list table output. */
 	color: #2ea2cc;
 }
 
-.view-switch {
+.tablenav .view-switch {
 	float: left;
 	margin: 5px 8px 0 16px;
 }
 
-.view-switch img {
-	display: none;
+.wp-filter .view-switch {
+	display: inline-block;
+	vertical-align: middle;
+	padding: 14px 0;
+	margin: 0 0 0 20px;
 }
 
 .view-switch a {
@@ -634,7 +646,6 @@ classes exist in paginate_links() but not seen in list table output. */
 
 .view-switch > a:before {
 	color: #bbb;
-	content: '\f163';
 	display: inline-block;
 	float: right;
 	font: normal 20px/1 'dashicons';
@@ -645,6 +656,10 @@ classes exist in paginate_links() but not seen in list table output. */
 	-moz-osx-font-smoothing: grayscale;
 }
 
+.view-switch > .view-list:before {
+	content: '\f163';
+}
+
 .view-switch a:hover:before {
 	color: #727272;
 }
@@ -653,11 +668,18 @@ classes exist in paginate_links() but not seen in list table output. */
 	color: #0074a2;
 }
 
-.view-switch > a + a:before {
+.view-switch > a + a {
 	margin-right: 5px;
+}
+
+.view-switch > .view-excerpt:before {
 	content: '\f164';
 }
 
+.view-switch > .view-grid:before {
+	content: '\f509';
+}
+
 .filter {
 	float: right;
 	margin: -5px 10px 0 0;
@@ -671,6 +693,10 @@ classes exist in paginate_links() but not seen in list table output. */
 	width: 4em;
 }
 
+#posts-filter .wp-filter {
+	margin-bottom: 0;
+}
+
 #posts-filter fieldset {
 	float: right;
 	margin: 0 0 1em 1.5ex;
@@ -1201,10 +1227,214 @@ tr.active + tr.plugin-update-tr .plugin-update .update-message {
 	background-color: #fcf3ef;
 }
 
+.plugin-install-php h3 {
+	clear: both;
+}
+
 .plugin-install-php h4 {
 	margin: 2.5em 0 8px;
 }
 
+.plugin-install-php .wp-filter {
+	margin-bottom: 0;
+}
+
+/* Plugin card table view */
+.plugin-group {
+	overflow: hidden; /* clearfix */
+	margin-top: 1.5em;
+}
+
+.plugin-group h3 {
+	margin-top: 0;
+}
+
+.plugin-card {
+	float: right;
+	margin: 0 8px 16px;
+	width: 48.5%;
+	width: -webkit-calc( 50% - 8px );
+	width: calc( 50% - 8px );
+	background-color: #fff;
+	border: 1px solid #dedede;
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
+
+.plugin-card:nth-child(odd) {
+	clear: both;
+	margin-right: 0;
+}
+
+.plugin-card:nth-child(even) {
+	margin-left: 0;
+}
+
+@media screen and ( min-width: 1600px ) {
+	.plugin-card {
+		width: 30%;
+		width: -webkit-calc( 33.1% - 8px );
+		width: calc( 33.1% - 8px );
+	}
+
+	.plugin-card:nth-child(odd) {
+		clear: none;
+		margin-right: 8px;
+	}
+
+	.plugin-card:nth-child(even) {
+		margin-left: 8px;
+	}
+
+	.plugin-card:nth-child(3n+1) {
+		clear: both;
+		margin-right: 0;
+	}
+
+	.plugin-card:nth-child(3n) {
+		margin-left: 0;
+	}
+}
+
+@media screen and ( max-width: 782px ) {
+	.plugin-card {
+		margin-right: 0;
+		margin-left: 0;
+		width: 100%;
+	}
+}
+
+.plugin-card-top {
+	position: relative;
+	padding: 20px 20px 10px;
+	min-height: 135px;
+}
+
+div.action-links,
+.plugin-action-buttons {
+	margin: 0; /* Override existing margins */
+}
+
+.plugin-card h4 {
+	margin: 0 0 12px;
+	font-size: 18px;
+	line-height: 1.3;
+}
+
+.plugin-card .name,
+.plugin-card .desc {
+	margin-right: 148px; /* icon + margin */
+	margin-left: 120px; /* action links */
+}
+
+.plugin-card .action-links {
+	position: absolute;
+	top: 20px;
+	left: 20px;
+	width: 120px;
+}
+
+.plugin-action-buttons {
+	clear: left;
+	float: left;
+	margin-right: 2em;
+	margin-bottom: 1em;
+	text-align: left;
+}
+
+.plugin-action-buttons li {
+	margin-bottom: 10px;
+}
+
+.plugin-card-bottom {
+	clear: both;
+	padding: 12px 20px;
+	background-color: #fafafa;
+	border-top: 1px solid #dedede;
+	overflow: hidden;
+}
+
+.plugin-card-bottom .star-rating {
+	display: inline;
+}
+
+.plugin-card .column-rating {
+	line-height: 23px;
+}
+
+.plugin-card .column-rating,
+.plugin-card .column-updated {
+	margin-bottom: 4px;
+}
+
+.plugin-card .column-rating,
+.plugin-card .column-downloaded {
+	float: right;
+	clear: right;
+	max-width: 180px;
+}
+
+.plugin-card .column-updated,
+.plugin-card .column-compatibility {
+	text-align: left;
+	float: left;
+	clear: left;
+	width: 65%;
+	width: -webkit-calc( 100% - 180px );
+	width: calc( 100% - 180px );
+}
+
+.plugin-card .column-compatibility span:before {
+	font: normal 20px/.5 'dashicons';
+	speak: none;
+	display: inline-block;
+	padding: 0;
+	top: 4px;
+	right: -2px;
+	position: relative;
+	vertical-align: top;
+	-webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
+	text-decoration: none !important;
+	color: #444;
+}
+
+.plugin-card .compatibility-incompatible:before {
+	content: '\f158';
+}
+
+.plugin-card .compatibility-compatible:before {
+	content: '\f147';
+}
+
+.plugin-card .compatibility-untested strong {
+	font-weight: normal;
+}
+
+.plugin-icon {
+	position: absolute;
+	top: 20px;
+	right: 20px;
+	width: 128px;
+	height: 128px;
+	margin: 0 0 20px 20px;
+}
+
+.plugin-icon img {
+	width: 128px;
+	height: 128px;
+}
+
+.no-plugin-results {
+	color: #999;
+	font-size: 18px;
+	font-style: normal;
+	margin: 0;
+	padding: 100px 0 0;
+	text-align: center;
+}
+
 /* ms */
 /* Background Color for Site Status */
 .wp-list-table .site-deleted {
@@ -1223,9 +1453,38 @@ tr.active + tr.plugin-update-tr .plugin-update .update-message {
 /* =Media Queries
 -------------------------------------------------------------- */
 
-/**
- * HiDPI Displays
- */
+@media screen and ( max-width: 1100px ) and ( min-width: 782px ), ( max-width: 480px ) {
+	.plugin-card .action-links {
+		position: static;
+		margin-right: 148px;
+		width: auto;
+	}
+
+	.plugin-action-buttons {
+		float: none;
+		margin: 1em 0 0;
+		text-align: right;
+	}
+
+	.plugin-action-buttons li {
+		display: inline-block;
+		vertical-align: middle;
+	}
+
+	.plugin-action-buttons li .button {
+		margin-left: 20px;
+	}
+
+	.plugin-card .name,
+	.plugin-card .desc {
+		margin-left: 0;
+	}
+
+	.plugin-card .desc p:first-of-type {
+		margin-top: 0;
+	}
+}
+
 @media screen and ( max-width: 782px ) {
 	/* WP List Table Options & Filters */
 	.tablenav {
@@ -1233,7 +1492,7 @@ tr.active + tr.plugin-update-tr .plugin-update .update-message {
 	}
 
 	.tablenav.top {
-		margin: 0;
+		margin: 20px 0 5px 0;
 	}
 
 	.tablenav.bottom {
@@ -1249,7 +1508,8 @@ tr.active + tr.plugin-update-tr .plugin-update .update-message {
 		display: block;
 	}
 
-	.tablenav.top .actions, .view-switch {
+	.tablenav.top .actions,
+	.tablenav .view-switch {
 		display: none;
 	}
 
@@ -1416,7 +1676,7 @@ tr.active + tr.plugin-update-tr .plugin-update .update-message {
 
 	/* Taxonomies */
 	.tags .column-posts {
-		width: 50px;
+		width: 74px;
 	}
 
 	.tags .column-slug {
diff --git a/wp-admin/css/list-tables.css b/wp-admin/css/list-tables.css
index 0b4115d1d..a2fc7bc6a 100644
--- a/wp-admin/css/list-tables.css
+++ b/wp-admin/css/list-tables.css
@@ -263,6 +263,10 @@ table.fixed {
 	width: 10%;
 }
 
+.fixed .column-posts {
+    width: 74px;
+}
+
 .fixed .column-comment .comment-author {
 	display: none;
 }
@@ -591,6 +595,11 @@ th.asc:hover span.sorting-indicator {
 	padding: 2px 8px 0 0;
 }
 
+.wp-filter .actions {
+	display: inline-block;
+	vertical-align: middle;
+}
+
 .tablenav .delete {
 	margin-right: 20px;
 }
@@ -613,13 +622,16 @@ classes exist in paginate_links() but not seen in list table output. */
 	color: #2ea2cc;
 }
 
-.view-switch {
+.tablenav .view-switch {
 	float: right;
 	margin: 5px 16px 0 8px;
 }
 
-.view-switch img {
-	display: none;
+.wp-filter .view-switch {
+	display: inline-block;
+	vertical-align: middle;
+	padding: 14px 0;
+	margin: 0 20px 0 0;
 }
 
 .view-switch a {
@@ -634,7 +646,6 @@ classes exist in paginate_links() but not seen in list table output. */
 
 .view-switch > a:before {
 	color: #bbb;
-	content: '\f163';
 	display: inline-block;
 	float: left;
 	font: normal 20px/1 'dashicons';
@@ -645,6 +656,10 @@ classes exist in paginate_links() but not seen in list table output. */
 	-moz-osx-font-smoothing: grayscale;
 }
 
+.view-switch > .view-list:before {
+	content: '\f163';
+}
+
 .view-switch a:hover:before {
 	color: #727272;
 }
@@ -653,11 +668,18 @@ classes exist in paginate_links() but not seen in list table output. */
 	color: #0074a2;
 }
 
-.view-switch > a + a:before {
+.view-switch > a + a {
 	margin-left: 5px;
+}
+
+.view-switch > .view-excerpt:before {
 	content: '\f164';
 }
 
+.view-switch > .view-grid:before {
+	content: '\f509';
+}
+
 .filter {
 	float: left;
 	margin: -5px 0 0 10px;
@@ -671,6 +693,10 @@ classes exist in paginate_links() but not seen in list table output. */
 	width: 4em;
 }
 
+#posts-filter .wp-filter {
+	margin-bottom: 0;
+}
+
 #posts-filter fieldset {
 	float: left;
 	margin: 0 1.5ex 1em 0;
@@ -1201,10 +1227,214 @@ tr.active + tr.plugin-update-tr .plugin-update .update-message {
 	background-color: #fcf3ef;
 }
 
+.plugin-install-php h3 {
+	clear: both;
+}
+
 .plugin-install-php h4 {
 	margin: 2.5em 0 8px;
 }
 
+.plugin-install-php .wp-filter {
+	margin-bottom: 0;
+}
+
+/* Plugin card table view */
+.plugin-group {
+	overflow: hidden; /* clearfix */
+	margin-top: 1.5em;
+}
+
+.plugin-group h3 {
+	margin-top: 0;
+}
+
+.plugin-card {
+	float: left;
+	margin: 0 8px 16px;
+	width: 48.5%;
+	width: -webkit-calc( 50% - 8px );
+	width: calc( 50% - 8px );
+	background-color: #fff;
+	border: 1px solid #dedede;
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
+
+.plugin-card:nth-child(odd) {
+	clear: both;
+	margin-left: 0;
+}
+
+.plugin-card:nth-child(even) {
+	margin-right: 0;
+}
+
+@media screen and ( min-width: 1600px ) {
+	.plugin-card {
+		width: 30%;
+		width: -webkit-calc( 33.1% - 8px );
+		width: calc( 33.1% - 8px );
+	}
+
+	.plugin-card:nth-child(odd) {
+		clear: none;
+		margin-left: 8px;
+	}
+
+	.plugin-card:nth-child(even) {
+		margin-right: 8px;
+	}
+
+	.plugin-card:nth-child(3n+1) {
+		clear: both;
+		margin-left: 0;
+	}
+
+	.plugin-card:nth-child(3n) {
+		margin-right: 0;
+	}
+}
+
+@media screen and ( max-width: 782px ) {
+	.plugin-card {
+		margin-left: 0;
+		margin-right: 0;
+		width: 100%;
+	}
+}
+
+.plugin-card-top {
+	position: relative;
+	padding: 20px 20px 10px;
+	min-height: 135px;
+}
+
+div.action-links,
+.plugin-action-buttons {
+	margin: 0; /* Override existing margins */
+}
+
+.plugin-card h4 {
+	margin: 0 0 12px;
+	font-size: 18px;
+	line-height: 1.3;
+}
+
+.plugin-card .name,
+.plugin-card .desc {
+	margin-left: 148px; /* icon + margin */
+	margin-right: 120px; /* action links */
+}
+
+.plugin-card .action-links {
+	position: absolute;
+	top: 20px;
+	right: 20px;
+	width: 120px;
+}
+
+.plugin-action-buttons {
+	clear: right;
+	float: right;
+	margin-left: 2em;
+	margin-bottom: 1em;
+	text-align: right;
+}
+
+.plugin-action-buttons li {
+	margin-bottom: 10px;
+}
+
+.plugin-card-bottom {
+	clear: both;
+	padding: 12px 20px;
+	background-color: #fafafa;
+	border-top: 1px solid #dedede;
+	overflow: hidden;
+}
+
+.plugin-card-bottom .star-rating {
+	display: inline;
+}
+
+.plugin-card .column-rating {
+	line-height: 23px;
+}
+
+.plugin-card .column-rating,
+.plugin-card .column-updated {
+	margin-bottom: 4px;
+}
+
+.plugin-card .column-rating,
+.plugin-card .column-downloaded {
+	float: left;
+	clear: left;
+	max-width: 180px;
+}
+
+.plugin-card .column-updated,
+.plugin-card .column-compatibility {
+	text-align: right;
+	float: right;
+	clear: right;
+	width: 65%;
+	width: -webkit-calc( 100% - 180px );
+	width: calc( 100% - 180px );
+}
+
+.plugin-card .column-compatibility span:before {
+	font: normal 20px/.5 'dashicons';
+	speak: none;
+	display: inline-block;
+	padding: 0;
+	top: 4px;
+	left: -2px;
+	position: relative;
+	vertical-align: top;
+	-webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
+	text-decoration: none !important;
+	color: #444;
+}
+
+.plugin-card .compatibility-incompatible:before {
+	content: '\f158';
+}
+
+.plugin-card .compatibility-compatible:before {
+	content: '\f147';
+}
+
+.plugin-card .compatibility-untested strong {
+	font-weight: normal;
+}
+
+.plugin-icon {
+	position: absolute;
+	top: 20px;
+	left: 20px;
+	width: 128px;
+	height: 128px;
+	margin: 0 20px 20px 0;
+}
+
+.plugin-icon img {
+	width: 128px;
+	height: 128px;
+}
+
+.no-plugin-results {
+	color: #999;
+	font-size: 18px;
+	font-style: normal;
+	margin: 0;
+	padding: 100px 0 0;
+	text-align: center;
+}
+
 /* ms */
 /* Background Color for Site Status */
 .wp-list-table .site-deleted {
@@ -1223,9 +1453,38 @@ tr.active + tr.plugin-update-tr .plugin-update .update-message {
 /* =Media Queries
 -------------------------------------------------------------- */
 
-/**
- * HiDPI Displays
- */
+@media screen and ( max-width: 1100px ) and ( min-width: 782px ), ( max-width: 480px ) {
+	.plugin-card .action-links {
+		position: static;
+		margin-left: 148px;
+		width: auto;
+	}
+
+	.plugin-action-buttons {
+		float: none;
+		margin: 1em 0 0;
+		text-align: left;
+	}
+
+	.plugin-action-buttons li {
+		display: inline-block;
+		vertical-align: middle;
+	}
+
+	.plugin-action-buttons li .button {
+		margin-right: 20px;
+	}
+
+	.plugin-card .name,
+	.plugin-card .desc {
+		margin-right: 0;
+	}
+
+	.plugin-card .desc p:first-of-type {
+		margin-top: 0;
+	}
+}
+
 @media screen and ( max-width: 782px ) {
 	/* WP List Table Options & Filters */
 	.tablenav {
@@ -1233,7 +1492,7 @@ tr.active + tr.plugin-update-tr .plugin-update .update-message {
 	}
 
 	.tablenav.top {
-		margin: 0;
+		margin: 20px 0 5px 0;
 	}
 
 	.tablenav.bottom {
@@ -1249,7 +1508,8 @@ tr.active + tr.plugin-update-tr .plugin-update .update-message {
 		display: block;
 	}
 
-	.tablenav.top .actions, .view-switch {
+	.tablenav.top .actions,
+	.tablenav .view-switch {
 		display: none;
 	}
 
@@ -1416,7 +1676,7 @@ tr.active + tr.plugin-update-tr .plugin-update .update-message {
 
 	/* Taxonomies */
 	.tags .column-posts {
-		width: 50px;
+		width: 74px;
 	}
 
 	.tags .column-slug {
diff --git a/wp-admin/css/login-rtl.css b/wp-admin/css/login-rtl.css
index a3c7bed98..787b81edd 100644
--- a/wp-admin/css/login-rtl.css
+++ b/wp-admin/css/login-rtl.css
@@ -1,5 +1,5 @@
-@import url(forms.css);
-@import url(l10n.css);
+@import url(forms-rtl.css);
+@import url(l10n-rtl.css);
 
 html,
 body {
@@ -126,19 +126,19 @@ p {
 .login h1 a {
 	background-image: url(../images/w-logo-blue.png?ver=20131202);
 	background-image: none, url(../images/wordpress-logo.svg?ver=20131107);
-	-webkit-background-size: 80px 80px;
-	background-size: 80px 80px;
+	-webkit-background-size: 84px;
+	background-size: 84px;
 	background-position: center top;
 	background-repeat: no-repeat;
 	color: #999;
-	height: 80px;
+	height: 84px;
 	font-size: 20px;
 	font-weight: normal;
 	line-height: 1.3em;
 	margin: 0 auto 25px;
 	padding: 0;
 	text-decoration: none;
-	width: 80px;
+	width: 84px;
 	text-indent: -9999px;
 	outline: none;
 	overflow: hidden;
@@ -186,7 +186,6 @@ p {
 .login form .input,
 .login input[type="text"] {
 	font-size: 24px;
-	line-height: 1;
 	width: 100%;
 	padding: 3px;
 	margin: 2px 0 16px 6px;
@@ -267,4 +266,4 @@ body.interim-login {
 		font: normal 21px/1 'dashicons';
 		margin: -3px -4px 0 0;
 	}
-}
\ No newline at end of file
+}
diff --git a/wp-admin/css/login-rtl.min.css b/wp-admin/css/login-rtl.min.css
index 52197f321..4b8b31f12 100644
--- a/wp-admin/css/login-rtl.min.css
+++ b/wp-admin/css/login-rtl.min.css
@@ -1 +1 @@
-input,input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #bbb;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#888}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#2ea2cc}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-right:4px;line-height:10px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{float:left;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px 0 0 -4px;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}input.readonly,textarea.readonly{background-color:#ddd}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;padding:3px 5px;line-height:15px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],select,textarea{outline:0}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#333;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}select[disabled]{color:#7f7f7f}input[type=checkbox]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,textarea.disabled,textarea:disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border:0}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:left;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:0;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:0;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all{margin-top:1px}.tablenav .actions select{float:left;margin-right:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-left:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;left:-1px;padding:0 5px 0 0;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:left;margin:13px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:right;margin:0}.network-admin.themes-php p.search-box{clear:left}#search-plugins input[name="s"],.search-box input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}input[type=text].ui-autocomplete-loading{background:transparent url(../images/loading.gif) no-repeat right center;visibility:visible}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete-input.open{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:1px solid #aaa;background-color:#efefef}.ui-autocomplete li{margin-bottom:0;white-space:nowrap;text-align:left}.ui-autocomplete li a{display:block;height:100%;padding:4px 10px;color:#444}.ui-autocomplete li a.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#222;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:left;padding:20px 10px 20px 0;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-right:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:0}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.pressthis{margin:20px 0}.pressthis a,.pressthis a:active,.pressthis a:focus,.pressthis a:hover{display:inline-block;position:relative;cursor:move;color:#333;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis a:active{outline:0}.pressthis a:hover:after{-webkit-transform:skew(20deg) rotate(9deg);-ms-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis a span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis a span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis a:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:0 0;-webkit-transform:skew(20deg) rotate(6deg);-ms-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}#local-time,#utc-time{padding-left:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .spinner{float:none;margin:-3px 3px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-right:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-left:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}}@media only screen and (max-width:768px){.form-field input,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media screen and (max-width:600px){.color-option{width:49%}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"楷体",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de .inline-edit-row fieldset label span.title{width:7em}.locale-de-de .inline-edit-row fieldset label span.input-text-wrap{margin-left:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-right:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{background:#f1f1f1;min-width:0;color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em}a{color:#0074a2;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;outline:0}a:active,a:hover{color:#2ea2cc}a:focus{color:#124964}a:active,a:focus{outline:thin dotted}p{line-height:1.5}.login .message{border-right:4px solid #7ad03a;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.login #login_error{border-right:4px solid #dd3d36;background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#loginform p.submit,.login-action-lostpassword p.submit{border:0;margin:-10px 0 20px}.login *{margin:0;padding:0}.login form{margin-top:20px;margin-right:0;padding:26px 24px 46px;font-weight:400;overflow:hidden;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}.login form .forgetmenot{font-weight:400;float:right;margin-bottom:0}.login .button-primary{float:left}#login form p{margin-bottom:0}#login form p.submit{margin:0;padding:0}.login label{color:#777;font-size:14px}.login form .forgetmenot label{font-size:12px;line-height:19px}.login h1{text-align:center}.login h1 a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:80px 80px;background-size:80px 80px;background-position:center top;background-repeat:no-repeat;color:#999;height:80px;font-size:20px;font-weight:400;line-height:1.3em;margin:0 auto 25px;padding:0;text-decoration:none;width:80px;text-indent:-9999px;outline:0;overflow:hidden;display:block}#login{width:320px;padding:8% 0 0;margin:auto}#login_error,.login .message{margin-right:0;padding:12px}.login #backtoblog,.login #nav{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0 0}.login #backtoblog a,.login #nav a{text-decoration:none;color:#999}.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover{color:#2ea2cc}.login form .input,.login input[type=text]{font-size:24px;line-height:1;width:100%;padding:3px;margin:2px 0 16px 6px}.login form .input,.login form input[type=checkbox],.login input[type=text]{background:#fbfbfb}.ie7 .login form .input,.ie8 .login form .input{font-family:sans-serif}.login #pass-strength-result{width:250px;font-weight:600;margin:12px 0 6px;padding:6px 5px;text-align:center}.mobile #login{padding:20px 0}.mobile #login .message,.mobile #login form,.mobile #login_error{margin-right:0}.mobile #login #backtoblog,.mobile #login #nav{margin-right:8px}.mobile #login h1 a{width:auto}body.interim-login{height:auto}.interim-login #login{padding:0;margin:5px auto 20px}.interim-login.login h1 a{width:auto}.interim-login #login_error,.interim-login.login .message{margin:0 0 16px}.interim-login.login form{margin:0}@-ms-viewport{width:device-width}@media screen and (max-width:782px){.interim-login input[type=checkbox]{height:16px;width:16px}.interim-login input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px -4px 0 0}}
\ No newline at end of file
+input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#333;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #bbb;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 0 0 4px;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#888}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#2ea2cc}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-left:4px;line-height:10px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{float:right;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px -4px 0 0;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:right;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:left}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 0 0 8px}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:right;margin-left:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-right:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;right:-1px;padding:0 0 0 5px;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:right;margin:13px 1px 5px 5px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:left;margin:0}.network-admin.themes-php p.search-box{clear:right}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:right;height:28px;margin:0 0 0 4px}input[type=text].ui-autocomplete-loading{background:url(../images/loading.gif) no-repeat left center;visibility:visible}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete-input.open{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border:1px solid #aaa;background-color:#efefef}.ui-autocomplete li{margin-bottom:0;white-space:nowrap;text-align:right}.ui-autocomplete li a{display:block;height:100%;padding:4px 10px;color:#444}.ui-autocomplete li a.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#222;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:right;padding:20px 0 20px 10px;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-left:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-left:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.pressthis{margin:20px 0}.pressthis a,.pressthis a:active,.pressthis a:focus,.pressthis a:hover{display:inline-block;position:relative;cursor:move;color:#333;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis a:active{outline:0}.pressthis a:hover:after{-webkit-transform:skew(20deg) rotate(9deg);-ms-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis a span{display:inline-block;margin:0;padding:0 9px 8px 12px}.pressthis a span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-left:4px}.pressthis a:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;left:10px;bottom:9px;background:0 0;-webkit-transform:skew(20deg) rotate(6deg);-ms-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}#local-time,#utc-time{padding-right:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .spinner{float:none;margin:-3px 3px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-left:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-right:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}}@media only screen and (max-width:768px){.form-field input,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media screen and (max-width:600px){.color-option{width:49%}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"楷体",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de .inline-edit-row fieldset label span.title{width:7em}.locale-de-de .inline-edit-row fieldset label span.input-text-wrap{margin-right:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-left:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{background:#f1f1f1;min-width:0;color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em}a{color:#0074a2;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;outline:0}a:active,a:hover{color:#2ea2cc}a:focus{color:#124964}a:active,a:focus{outline:dotted thin}p{line-height:1.5}.login .message{border-right:4px solid #7ad03a;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.login #login_error{border-right:4px solid #dd3d36;background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#loginform p.submit,.login-action-lostpassword p.submit{border:none;margin:-10px 0 20px}.login *{margin:0;padding:0}.login form{margin-top:20px;margin-right:0;padding:26px 24px 46px;font-weight:400;overflow:hidden;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}.login form .forgetmenot{font-weight:400;float:right;margin-bottom:0}.login .button-primary{float:left}#login form p{margin-bottom:0}#login form p.submit{margin:0;padding:0}.login label{color:#777;font-size:14px}.login form .forgetmenot label{font-size:12px;line-height:19px}.login h1{text-align:center}.login h1 a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;color:#999;height:84px;font-size:20px;font-weight:400;line-height:1.3em;margin:0 auto 25px;padding:0;text-decoration:none;width:84px;text-indent:-9999px;outline:0;overflow:hidden;display:block}#login{width:320px;padding:8% 0 0;margin:auto}#login_error,.login .message{margin-right:0;padding:12px}.login #backtoblog,.login #nav{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0 0}.login #backtoblog a,.login #nav a{text-decoration:none;color:#999}.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover{color:#2ea2cc}.login form .input,.login input[type=text]{font-size:24px;width:100%;padding:3px;margin:2px 0 16px 6px}.login form .input,.login form input[type=checkbox],.login input[type=text]{background:#fbfbfb}.ie7 .login form .input,.ie8 .login form .input{font-family:sans-serif}.login #pass-strength-result{width:250px;font-weight:600;margin:12px 0 6px;padding:6px 5px;text-align:center}.mobile #login{padding:20px 0}.mobile #login .message,.mobile #login form,.mobile #login_error{margin-right:0}.mobile #login #backtoblog,.mobile #login #nav{margin-right:8px}.mobile #login h1 a{width:auto}body.interim-login{height:auto}.interim-login #login{padding:0;margin:5px auto 20px}.interim-login.login h1 a{width:auto}.interim-login #login_error,.interim-login.login .message{margin:0 0 16px}.interim-login.login form{margin:0}@-ms-viewport{width:device-width}@media screen and (max-width:782px){.interim-login input[type=checkbox]{height:16px;width:16px}.interim-login input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px -4px 0 0}}
\ No newline at end of file
diff --git a/wp-admin/css/login.css b/wp-admin/css/login.css
index 679e4e7f9..02ee1d87e 100644
--- a/wp-admin/css/login.css
+++ b/wp-admin/css/login.css
@@ -126,19 +126,19 @@ p {
 .login h1 a {
 	background-image: url(../images/w-logo-blue.png?ver=20131202);
 	background-image: none, url(../images/wordpress-logo.svg?ver=20131107);
-	-webkit-background-size: 80px 80px;
-	background-size: 80px 80px;
+	-webkit-background-size: 84px;
+	background-size: 84px;
 	background-position: center top;
 	background-repeat: no-repeat;
 	color: #999;
-	height: 80px;
+	height: 84px;
 	font-size: 20px;
 	font-weight: normal;
 	line-height: 1.3em;
 	margin: 0 auto 25px;
 	padding: 0;
 	text-decoration: none;
-	width: 80px;
+	width: 84px;
 	text-indent: -9999px;
 	outline: none;
 	overflow: hidden;
@@ -186,7 +186,6 @@ p {
 .login form .input,
 .login input[type="text"] {
 	font-size: 24px;
-	line-height: 1;
 	width: 100%;
 	padding: 3px;
 	margin: 2px 6px 16px 0;
@@ -267,4 +266,4 @@ body.interim-login {
 		font: normal 21px/1 'dashicons';
 		margin: -3px 0 0 -4px;
 	}
-}
\ No newline at end of file
+}
diff --git a/wp-admin/css/login.min.css b/wp-admin/css/login.min.css
index 86722df55..10df780ab 100644
--- a/wp-admin/css/login.min.css
+++ b/wp-admin/css/login.min.css
@@ -1 +1 @@
-input,input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #bbb;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#888}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#2ea2cc}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-right:4px;line-height:10px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{float:left;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px 0 0 -4px;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}input.readonly,textarea.readonly{background-color:#ddd}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;padding:3px 5px;line-height:15px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],select,textarea{outline:0}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#333;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}select[disabled]{color:#7f7f7f}input[type=checkbox]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,textarea.disabled,textarea:disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border:0}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:left;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:0;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:0;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all{margin-top:1px}.tablenav .actions select{float:left;margin-right:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-left:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;left:-1px;padding:0 5px 0 0;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:left;margin:13px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:right;margin:0}.network-admin.themes-php p.search-box{clear:left}#search-plugins input[name="s"],.search-box input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}input[type=text].ui-autocomplete-loading{background:transparent url(../images/loading.gif) no-repeat right center;visibility:visible}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete-input.open{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:1px solid #aaa;background-color:#efefef}.ui-autocomplete li{margin-bottom:0;white-space:nowrap;text-align:left}.ui-autocomplete li a{display:block;height:100%;padding:4px 10px;color:#444}.ui-autocomplete li a.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#222;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:left;padding:20px 10px 20px 0;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-right:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:0}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.pressthis{margin:20px 0}.pressthis a,.pressthis a:active,.pressthis a:focus,.pressthis a:hover{display:inline-block;position:relative;cursor:move;color:#333;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis a:active{outline:0}.pressthis a:hover:after{-webkit-transform:skew(20deg) rotate(9deg);-ms-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis a span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis a span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis a:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:0 0;-webkit-transform:skew(20deg) rotate(6deg);-ms-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}#local-time,#utc-time{padding-left:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .spinner{float:none;margin:-3px 3px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-right:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-left:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}}@media only screen and (max-width:768px){.form-field input,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media screen and (max-width:600px){.color-option{width:49%}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"楷体",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de .inline-edit-row fieldset label span.title{width:7em}.locale-de-de .inline-edit-row fieldset label span.input-text-wrap{margin-left:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-right:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{background:#f1f1f1;min-width:0;color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em}a{color:#0074a2;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;outline:0}a:active,a:hover{color:#2ea2cc}a:focus{color:#124964}a:active,a:focus{outline:thin dotted}p{line-height:1.5}.login .message{border-left:4px solid #7ad03a;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.login #login_error{border-left:4px solid #dd3d36;background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#loginform p.submit,.login-action-lostpassword p.submit{border:0;margin:-10px 0 20px}.login *{margin:0;padding:0}.login form{margin-top:20px;margin-left:0;padding:26px 24px 46px;font-weight:400;overflow:hidden;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}.login form .forgetmenot{font-weight:400;float:left;margin-bottom:0}.login .button-primary{float:right}#login form p{margin-bottom:0}#login form p.submit{margin:0;padding:0}.login label{color:#777;font-size:14px}.login form .forgetmenot label{font-size:12px;line-height:19px}.login h1{text-align:center}.login h1 a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:80px 80px;background-size:80px 80px;background-position:center top;background-repeat:no-repeat;color:#999;height:80px;font-size:20px;font-weight:400;line-height:1.3em;margin:0 auto 25px;padding:0;text-decoration:none;width:80px;text-indent:-9999px;outline:0;overflow:hidden;display:block}#login{width:320px;padding:8% 0 0;margin:auto}#login_error,.login .message{margin-left:0;padding:12px}.login #backtoblog,.login #nav{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0 0}.login #backtoblog a,.login #nav a{text-decoration:none;color:#999}.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover{color:#2ea2cc}.login form .input,.login input[type=text]{font-size:24px;line-height:1;width:100%;padding:3px;margin:2px 6px 16px 0}.login form .input,.login form input[type=checkbox],.login input[type=text]{background:#fbfbfb}.ie7 .login form .input,.ie8 .login form .input{font-family:sans-serif}.login #pass-strength-result{width:250px;font-weight:600;margin:12px 0 6px;padding:6px 5px;text-align:center}.mobile #login{padding:20px 0}.mobile #login .message,.mobile #login form,.mobile #login_error{margin-left:0}.mobile #login #backtoblog,.mobile #login #nav{margin-left:8px}.mobile #login h1 a{width:auto}body.interim-login{height:auto}.interim-login #login{padding:0;margin:5px auto 20px}.interim-login.login h1 a{width:auto}.interim-login #login_error,.interim-login.login .message{margin:0 0 16px}.interim-login.login form{margin:0}@-ms-viewport{width:device-width}@media screen and (max-width:782px){.interim-login input[type=checkbox]{height:16px;width:16px}.interim-login input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px 0 0 -4px}}
\ No newline at end of file
+input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#333;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #bbb;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#888}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#2ea2cc}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-right:4px;line-height:10px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{float:left;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px 0 0 -4px;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:left;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:left;margin-right:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-left:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;left:-1px;padding:0 5px 0 0;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:left;margin:13px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:right;margin:0}.network-admin.themes-php p.search-box{clear:left}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}input[type=text].ui-autocomplete-loading{background:url(../images/loading.gif) no-repeat right center;visibility:visible}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete-input.open{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:1px solid #aaa;background-color:#efefef}.ui-autocomplete li{margin-bottom:0;white-space:nowrap;text-align:left}.ui-autocomplete li a{display:block;height:100%;padding:4px 10px;color:#444}.ui-autocomplete li a.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#222;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:left;padding:20px 10px 20px 0;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-right:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.pressthis{margin:20px 0}.pressthis a,.pressthis a:active,.pressthis a:focus,.pressthis a:hover{display:inline-block;position:relative;cursor:move;color:#333;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis a:active{outline:0}.pressthis a:hover:after{-webkit-transform:skew(20deg) rotate(9deg);-ms-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis a span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis a span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis a:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:0 0;-webkit-transform:skew(20deg) rotate(6deg);-ms-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}#local-time,#utc-time{padding-left:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .spinner{float:none;margin:-3px 3px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-right:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-left:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}}@media only screen and (max-width:768px){.form-field input,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media screen and (max-width:600px){.color-option{width:49%}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"楷体",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de .inline-edit-row fieldset label span.title{width:7em}.locale-de-de .inline-edit-row fieldset label span.input-text-wrap{margin-left:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-right:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{background:#f1f1f1;min-width:0;color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em}a{color:#0074a2;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;outline:0}a:active,a:hover{color:#2ea2cc}a:focus{color:#124964}a:active,a:focus{outline:dotted thin}p{line-height:1.5}.login .message{border-left:4px solid #7ad03a;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.login #login_error{border-left:4px solid #dd3d36;background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#loginform p.submit,.login-action-lostpassword p.submit{border:none;margin:-10px 0 20px}.login *{margin:0;padding:0}.login form{margin-top:20px;margin-left:0;padding:26px 24px 46px;font-weight:400;overflow:hidden;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}.login form .forgetmenot{font-weight:400;float:left;margin-bottom:0}.login .button-primary{float:right}#login form p{margin-bottom:0}#login form p.submit{margin:0;padding:0}.login label{color:#777;font-size:14px}.login form .forgetmenot label{font-size:12px;line-height:19px}.login h1{text-align:center}.login h1 a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;color:#999;height:84px;font-size:20px;font-weight:400;line-height:1.3em;margin:0 auto 25px;padding:0;text-decoration:none;width:84px;text-indent:-9999px;outline:0;overflow:hidden;display:block}#login{width:320px;padding:8% 0 0;margin:auto}#login_error,.login .message{margin-left:0;padding:12px}.login #backtoblog,.login #nav{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0 0}.login #backtoblog a,.login #nav a{text-decoration:none;color:#999}.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover{color:#2ea2cc}.login form .input,.login input[type=text]{font-size:24px;width:100%;padding:3px;margin:2px 6px 16px 0}.login form .input,.login form input[type=checkbox],.login input[type=text]{background:#fbfbfb}.ie7 .login form .input,.ie8 .login form .input{font-family:sans-serif}.login #pass-strength-result{width:250px;font-weight:600;margin:12px 0 6px;padding:6px 5px;text-align:center}.mobile #login{padding:20px 0}.mobile #login .message,.mobile #login form,.mobile #login_error{margin-left:0}.mobile #login #backtoblog,.mobile #login #nav{margin-left:8px}.mobile #login h1 a{width:auto}body.interim-login{height:auto}.interim-login #login{padding:0;margin:5px auto 20px}.interim-login.login h1 a{width:auto}.interim-login #login_error,.interim-login.login .message{margin:0 0 16px}.interim-login.login form{margin:0}@-ms-viewport{width:device-width}@media screen and (max-width:782px){.interim-login input[type=checkbox]{height:16px;width:16px}.interim-login input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px 0 0 -4px}}
\ No newline at end of file
diff --git a/wp-admin/css/media-rtl.css b/wp-admin/css/media-rtl.css
index 2ad628040..585d1f3d9 100644
--- a/wp-admin/css/media-rtl.css
+++ b/wp-admin/css/media-rtl.css
@@ -102,6 +102,7 @@
 	display: block;
 	line-height: 36px;
 	float: left;
+	margin-left: 10px;
 }
 
 .media-item .describe-toggle-off,
@@ -113,19 +114,18 @@
 	display: block;
 }
 
-#media-items .media-item {
-	border-bottom: 1px solid #dfdfdf;
+.media-upload-form .media-item {
 	min-height: 36px;
+	margin-bottom: 1px;
 	position: relative;
 	width: 100%;
+	background: #fff;
 }
 
-#media-items {
-	width: 623px;
-}
-
-.media-new-php #media-items {
-	margin: 1em 0;
+.media-upload-form .media-item,
+.media-upload-form .media-item .error {
+	-webkit-box-shadow: 0 1px 0 #dfdfdf;
+	box-shadow: 0 1px 0 #dfdfdf;
 }
 
 #media-items:empty {
@@ -135,15 +135,12 @@
 .media-item .filename {
 	line-height: 36px;
 	overflow: hidden;
-}
-
-.media-item .error-div {
-	padding-right: 10px;
+	margin-right: 6px;
 }
 
 .media-item .pinkynail {
 	float: right;
-	margin: 2px 0 0 10px;
+	margin: 2px 3px 0 10px;
 	max-width: 40px;
 	max-height: 32px;
 }
@@ -161,17 +158,16 @@
 .media-item .progress {
 	float: left;
 	height: 22px;
-	margin: 7px 0 0;
+	margin: 7px 6px;
 	width: 200px;
 	line-height: 2em;
 	padding: 0;
 	overflow: hidden;
-	margin-bottom: 2px;
 	-webkit-border-radius: 22px;
 	border-radius: 22px;
 	background: #ddd;
-	-webkit-box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
-	box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
+	-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
+	box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
 }
 
 .media-item .bar {
@@ -195,7 +191,7 @@
 	text-align: center;
 	line-height: 22px;
 	font-weight: 400;
-	text-shadow: 0px 1px 2px rgba(0,0,0,0.2);
+	text-shadow: 0 1px 2px rgba(0,0,0,0.2);
 }
 
 .upload-php .fixed .column-parent {
@@ -210,22 +206,20 @@
 	display: block;
 }
 
-.media-upload-form .media-item.error {
-	margin: 0;
-	padding: 0;
+.media-upload-form .media-item.error,
+.media-upload-form .media-item .error {
+	width: auto;
+	margin: 0 0 1px 0;
 }
 
-.media-upload-form .media-item.error p,
-.media-item .error-div {
-	line-height: 16px;
-	margin: 5px 10px;
-	padding: 0;
+.media-upload-form .media-item .error {
+	padding: 10px 14px 10px 0;
 }
 
 .media-item .error-div a.dismiss {
 	display: block;
 	float: left;
-	margin: 5px 15px 0 4px;
+	margin: 0 15px 0 10px;
 }
 
 /*------------------------------------------------------------------------------
@@ -280,9 +274,14 @@
 
 .find-box-search .spinner {
 	float: none;
-	right: 125px;
+	right: 110px;
 	position: absolute;
-	top: 18px;
+	top: 2px;
+}
+
+.find-box-search,
+#find-posts-response {
+	position: relative; /* RTL fix, #WP28010 */
 }
 
 #find-posts-input,
@@ -433,6 +432,390 @@ border color while dragging a file over the uploader drop area */
 	position: relative;
 }
 
+/**
+ * Media Library grid view
+ */
+
+.media-frame.mode-grid,
+.media-frame.mode-grid .media-frame-content,
+.media-frame.mode-grid .attachments-browser .attachments,
+.media-frame.mode-grid .uploader-inline-content {
+	position: static;
+}
+
+/* Regions we don't use at all */
+.media-frame.mode-grid .media-frame-title,
+.media-frame.mode-grid .media-frame-router,
+.media-frame.mode-grid .media-frame-menu {
+	display: none;
+}
+
+.media-frame.mode-grid .media-frame-content {
+	background-color: transparent;
+	border: none;
+}
+
+.upload-php .mode-grid .media-sidebar {
+	position: relative;
+	width: auto;
+	margin-bottom: 16px;
+	padding: 0 16px;
+	border: 1px solid #c00;
+	background-color: #feebe8;
+}
+
+.upload-php .mode-grid .hide-sidebar .media-sidebar {
+	display: none;
+}
+
+.upload-php .mode-grid .media-sidebar .media-uploader-status {
+	border-bottom: none;
+	padding-bottom: 0;
+	max-width: 100%;
+}
+
+.upload-php .mode-grid .media-sidebar .upload-error {
+	margin: 20px 0;
+	padding: 0;
+	border: none;
+	background: none;
+}
+
+.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors {
+	font-size: 0;
+	top: -12px;
+	left: -10px;
+}
+
+.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:before {
+	content: "\f158";
+	font: normal 20px/1 dashicons;
+	color: #666;
+}
+
+.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:focus:before,
+.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:hover:before {
+	color: #2ea2cc;
+}
+
+.upload-php .mode-grid .media-sidebar .media-uploader-status.errors h3 {
+	display: none;
+}
+
+.media-frame.mode-grid .uploader-inline {
+	position: relative;
+	top: auto;
+	left: auto;
+	right: auto;
+	bottom: auto;
+	padding-top: 0;
+	margin-top: 0;
+	border: 4px dashed #bbb;
+}
+
+.media-frame.mode-select .attachments-browser.fixed .attachments {
+	position: relative;
+	top: 94px; /* prevent jumping up when the toolbar becomes fixed */
+	padding-bottom: 94px; /* offset for above so the bottom doesn't get cut off */
+}
+
+.media-frame.mode-grid .attachment:focus,
+.media-frame.mode-grid .selected.attachment:focus,
+.media-frame.mode-grid .attachment.details:focus {
+	-webkit-box-shadow:
+		inset 0 0 2px 3px #f1f1f1,
+		inset 0 0 0 7px #5b9dd9;
+	box-shadow:
+		inset 0 0 2px 3px #f1f1f1,
+		inset 0 0 0 7px #5b9dd9;
+	outline: none;
+}
+
+.media-frame.mode-grid .selected.attachment {
+	-webkit-box-shadow:
+		inset 0 0 0 5px #f1f1f1,
+		inset 0 0 0 7px #ccc;
+	box-shadow:
+		inset 0 0 0 5px #f1f1f1,
+		inset 0 0 0 7px #ccc;
+}
+
+.media-frame.mode-grid .attachment.details {
+	-webkit-box-shadow:
+		inset 0 0 0 3px #f1f1f1,
+		inset 0 0 0 7px #1e8cbe;
+	box-shadow:
+		inset 0 0 0 3px #f1f1f1,
+		inset 0 0 0 7px #1e8cbe;
+}
+
+.media-frame.mode-grid.mode-select .attachment .thumbnail {
+	opacity: 0.65;
+}
+
+.media-frame.mode-select .attachment.selected .thumbnail {
+	opacity: 1;
+}
+
+.media-frame.mode-grid .media-toolbar {
+	margin-bottom: 15px;
+	height: auto;
+}
+
+.media-frame.mode-grid .media-toolbar select {
+	margin: 0 0 0 10px;
+	font-size: 14px;
+}
+
+.media-frame.mode-grid .media-toolbar-secondary > .media-button {
+	margin-top: 10px;
+	margin-bottom: 10px;
+}
+
+.media-frame.mode-grid .attachments-browser .bulk-select {
+	display: inline-block;
+	margin: 0 0 0 10px;
+}
+
+.media-frame.mode-grid .search {
+	margin-top: 0;
+}
+
+.media-frame.mode-grid .spinner {
+	margin-top: 15px;
+}
+
+.attachments-browser .media-toolbar-secondary > .select-mode-toggle-button {
+	margin-left: 10px;
+}
+
+.media-frame.mode-select .attachments-browser.fixed .media-toolbar {
+	position: fixed;
+	top: 32px;
+	right: auto;
+	left: 20px;
+	margin-top: 0;
+}
+
+.media-frame.mode-grid .attachments-browser {
+	padding: 0;
+}
+
+.media-frame.mode-grid .attachments-browser .attachments {
+	padding: 2px;
+}
+
+.media-frame.mode-grid .attachments-browser .no-media {
+	color: #999;
+	font-size: 18px;
+	font-style: normal;
+	margin: 0;
+	padding: 100px 0 0;
+	text-align: center;
+}
+
+/**
+ * Attachment details modal
+ */
+
+.edit-attachment-frame {
+	display: block;
+	height: 100%;
+	width: 100%;
+}
+
+.edit-attachment-frame .edit-media-header {
+	overflow: hidden;
+}
+
+.upload-php .media-modal-close .media-modal-icon:before {
+	content: '\f335';
+	font-size: 22px;
+}
+
+.upload-php .media-modal-close .media-modal-icon {
+	margin: 14px;
+	width: 22px;
+}
+
+.upload-php .media-modal-close,
+.edit-attachment-frame .edit-media-header .left,
+.edit-attachment-frame .edit-media-header .right {
+	cursor: pointer;
+	color: #777;
+	background-color: transparent;
+	height: 50px;
+	width: 50px;
+	padding: 0;
+	position: absolute;
+	text-align: center;
+	border: 0;
+	border-right: 1px solid #ddd;
+	-webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
+    transition: color .1s ease-in-out, background .1s ease-in-out;
+}
+
+.upload-php .media-modal-close {
+	top: 0;
+	left: 0;
+}
+
+.edit-attachment-frame .edit-media-header .left {
+	left: 102px;
+}
+
+.edit-attachment-frame .edit-media-header .right {
+	left: 51px;
+}
+
+.edit-attachment-frame .media-frame-title {
+	right: 0;
+	left: 150px; /* leave space for prev/next/close */
+}
+
+.edit-attachment-frame .edit-media-header .right:before,
+.edit-attachment-frame .edit-media-header .left:before {
+	font: normal 20px/50px 'dashicons' !important;
+	display: inline;
+	font-weight: 300;
+}
+
+.upload-php .media-modal-close:hover,
+.upload-php .media-modal-close:focus,
+.edit-attachment-frame .edit-media-header .left:hover,
+.edit-attachment-frame .edit-media-header .right:hover,
+.edit-attachment-frame .edit-media-header .left:focus,
+.edit-attachment-frame .edit-media-header .right:focus {
+	background: #ddd;
+	border-color: #ccc;
+	color: #000;
+	outline: none;
+}
+
+.upload-php .media-modal-close:focus .media-modal-icon:before,
+.upload-php .media-modal-close:hover .media-modal-icon:before {
+	color: #000;
+}
+
+.edit-attachment-frame .edit-media-header .left:before,
+.rtl .edit-attachment-frame .edit-media-header .right:before {
+	content: '\f341';
+}
+
+.edit-attachment-frame .edit-media-header .right:before,
+.rtl .edit-attachment-frame .edit-media-header .left:before {
+	content: '\f345';
+}
+
+.edit-attachment-frame .edit-media-header .left.disabled,
+.edit-attachment-frame .edit-media-header .right.disabled,
+.edit-attachment-frame .edit-media-header .left.disabled:hover,
+.edit-attachment-frame .edit-media-header .right.disabled:hover {
+	color: #ccc;
+	background: inherit;
+	cursor: default;
+	pointer-events: none;
+}
+
+.edit-attachment-frame .media-frame-content,
+.edit-attachment-frame .media-frame-router {
+	right: 0;
+}
+
+.edit-attachment-frame .media-frame-content {
+	border-bottom: none;
+	bottom: 0;
+	top: 50px;
+}
+
+.edit-attachment-frame .attachment-details {
+	position: absolute;
+	overflow: auto;
+	top: 0;
+	bottom: 0;
+	left: 0;
+	right: 0;
+	-webkit-box-shadow: inset 0px 4px 4px -4px rgba(0, 0, 0, 0.1);
+	box-shadow: inset 0px 4px 4px -4px rgba(0, 0, 0, 0.1);
+}
+
+.edit-attachment-frame .attachment-media-view {
+	float: right;
+	width: 65%;
+	height: 100%;
+}
+
+.edit-attachment-frame .attachment-media-view .thumbnail {
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+	padding: 16px;
+	height: 100%;
+}
+
+.edit-attachment-frame .attachment-media-view .details-image {
+	display: block;
+	margin-bottom: 16px;
+	max-width: 100%;
+	max-height: 90%;
+	max-height: -webkit-calc( 100% - 42px );
+	max-height: calc( 100% - 42px ); /* leave space for actions underneath */
+}
+
+.edit-attachment-frame .wp-media-wrapper {
+	margin-bottom: 12px;
+}
+
+.edit-attachment-frame input,
+.edit-attachment-frame textarea {
+	padding: 6px 8px;
+	line-height: 16px;
+}
+
+.edit-attachment-frame .attachment-info {
+	overflow: auto;
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+	margin-bottom: 0;
+	padding: 12px 16px 0;
+	width: 35%;
+	height: 100%;
+	-webkit-box-shadow: inset 0px 4px 4px -4px rgba(0, 0, 0, 0.1);
+	box-shadow: inset 0px 4px 4px -4px rgba(0, 0, 0, 0.1);
+	border-bottom: 0;
+	border-right: 1px solid #ddd;
+	background: #f3f3f3;
+}
+
+.edit-attachment-frame .attachment-info .details,
+.edit-attachment-frame .attachment-info .settings {
+	position: relative; /* RTL fix, #WP29352 */
+	overflow: hidden;
+	float: none;
+	margin-bottom: 15px;
+	padding-bottom: 15px;
+	border-bottom: 1px solid #ddd;
+}
+
+.edit-attachment-frame .attachment-info .filename {
+	font-weight: normal;
+	color: #666;
+}
+
+.edit-attachment-frame .attachment-info .thumbnail {
+	margin-bottom: 12px;
+}
+
+.attachment-info .actions {
+	margin-bottom: 16px;
+}
+
+.attachment-info .actions a {
+	display: inline;
+	text-decoration: none;
+}
+
 
 /*------------------------------------------------------------------------------
   14.2 - Image Editor
@@ -507,7 +890,7 @@ border color while dragging a file over the uploader drop area */
 }
 
 .media-disabled,
-.imgedit-settings .disabled  {
+.imgedit-settings .disabled {
 	color: grey;
 }
 
@@ -699,6 +1082,7 @@ audio, video {
 
 .mejs-container {
 	width: 100%;
+	max-width: 100%;
 }
 
 /* =Media Queries
@@ -721,4 +1105,92 @@ audio, video {
 		font-size: 14px;
 		line-height: 1.5em;
 	}
+
+	.media-upload-form .media-item.error,
+	.media-upload-form .media-item .error {
+		font-size: 13px;
+		line-height: 1.5;
+	}
+
+	.media-upload-form .media-item.error {
+		padding: 1px 10px;
+	}
+
+	.media-upload-form .media-item .error {
+		padding: 10px 12px 10px 0;
+	}
+}
+
+/**
+ * Media queries for media grid.
+ */
+
+@media only screen and (max-width: 1120px) {
+	.media-frame.mode-grid .attachments-browser .media-toolbar-secondary {
+		float: none;
+	}
+}
+
+@media only screen and ( max-width: 782px ) {
+	.media-frame.mode-select .attachments-browser.fixed .media-toolbar {
+		top: 46px;
+		left: 10px;
+	}
+}
+
+@media only screen and (max-width: 600px) {
+	.media-frame.mode-select .attachments-browser.fixed .media-toolbar {
+		top: 0;
+	}
+}
+
+@media only screen and (max-width: 480px) {
+	.edit-attachment-frame .media-frame-title {
+		left: 110px;
+	}
+
+	.upload-php .media-modal-close,
+	.edit-attachment-frame .edit-media-header .left,
+	.edit-attachment-frame .edit-media-header .right {
+		width: 40px;
+		height: 40px;
+	}
+
+	.upload-php .media-modal-close .media-modal-icon {
+		margin: 9px 10px;
+	}
+
+	.edit-attachment-frame .edit-media-header .right:before,
+	.edit-attachment-frame .edit-media-header .left:before {
+		line-height: 40px !important;
+	}
+
+	.edit-attachment-frame .edit-media-header .left {
+		left: 82px;
+	}
+
+	.edit-attachment-frame .edit-media-header .right {
+		left: 41px;
+	}
+
+	.edit-attachment-frame .media-frame-content {
+		top: 40px;
+	}
+
+	.edit-attachment-frame .attachment-media-view {
+		float: none;
+		height: auto;
+		width: 100%;
+	}
+
+	.edit-attachment-frame .attachment-info {
+		height: auto;
+		width: 100%;
+	}
+}
+
+@media only screen and (max-width: 640px), screen and (max-height: 400px) {
+	.upload-php .mode-grid .media-sidebar{
+		max-width: 100%;
+	}
 }
diff --git a/wp-admin/css/media.css b/wp-admin/css/media.css
index e6bbdcbb1..e27b665cf 100644
--- a/wp-admin/css/media.css
+++ b/wp-admin/css/media.css
@@ -102,6 +102,7 @@
 	display: block;
 	line-height: 36px;
 	float: right;
+	margin-right: 10px;
 }
 
 .media-item .describe-toggle-off,
@@ -113,19 +114,18 @@
 	display: block;
 }
 
-#media-items .media-item {
-	border-bottom: 1px solid #dfdfdf;
+.media-upload-form .media-item {
 	min-height: 36px;
+	margin-bottom: 1px;
 	position: relative;
 	width: 100%;
+	background: #fff;
 }
 
-#media-items {
-	width: 623px;
-}
-
-.media-new-php #media-items {
-	margin: 1em 0;
+.media-upload-form .media-item,
+.media-upload-form .media-item .error {
+	-webkit-box-shadow: 0 1px 0 #dfdfdf;
+	box-shadow: 0 1px 0 #dfdfdf;
 }
 
 #media-items:empty {
@@ -135,15 +135,12 @@
 .media-item .filename {
 	line-height: 36px;
 	overflow: hidden;
-}
-
-.media-item .error-div {
-	padding-left: 10px;
+	margin-left: 6px;
 }
 
 .media-item .pinkynail {
 	float: left;
-	margin: 2px 10px 0 0;
+	margin: 2px 10px 0 3px;
 	max-width: 40px;
 	max-height: 32px;
 }
@@ -161,17 +158,16 @@
 .media-item .progress {
 	float: right;
 	height: 22px;
-	margin: 7px 0 0;
+	margin: 7px 6px;
 	width: 200px;
 	line-height: 2em;
 	padding: 0;
 	overflow: hidden;
-	margin-bottom: 2px;
 	-webkit-border-radius: 22px;
 	border-radius: 22px;
 	background: #ddd;
-	-webkit-box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
-	box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
+	-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
+	box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
 }
 
 .media-item .bar {
@@ -195,7 +191,7 @@
 	text-align: center;
 	line-height: 22px;
 	font-weight: 400;
-	text-shadow: 0px 1px 2px rgba(0,0,0,0.2);
+	text-shadow: 0 1px 2px rgba(0,0,0,0.2);
 }
 
 .upload-php .fixed .column-parent {
@@ -210,22 +206,20 @@
 	display: block;
 }
 
-.media-upload-form .media-item.error {
-	margin: 0;
-	padding: 0;
+.media-upload-form .media-item.error,
+.media-upload-form .media-item .error {
+	width: auto;
+	margin: 0 0 1px 0;
 }
 
-.media-upload-form .media-item.error p,
-.media-item .error-div {
-	line-height: 16px;
-	margin: 5px 10px;
-	padding: 0;
+.media-upload-form .media-item .error {
+	padding: 10px 0 10px 14px;
 }
 
 .media-item .error-div a.dismiss {
 	display: block;
 	float: right;
-	margin: 5px 4px 0 15px;
+	margin: 0 10px 0 15px;
 }
 
 /*------------------------------------------------------------------------------
@@ -280,9 +274,14 @@
 
 .find-box-search .spinner {
 	float: none;
-	left: 125px;
+	left: 110px;
 	position: absolute;
-	top: 18px;
+	top: 2px;
+}
+
+.find-box-search,
+#find-posts-response {
+	position: relative; /* RTL fix, #WP28010 */
 }
 
 #find-posts-input,
@@ -433,6 +432,390 @@ border color while dragging a file over the uploader drop area */
 	position: relative;
 }
 
+/**
+ * Media Library grid view
+ */
+
+.media-frame.mode-grid,
+.media-frame.mode-grid .media-frame-content,
+.media-frame.mode-grid .attachments-browser .attachments,
+.media-frame.mode-grid .uploader-inline-content {
+	position: static;
+}
+
+/* Regions we don't use at all */
+.media-frame.mode-grid .media-frame-title,
+.media-frame.mode-grid .media-frame-router,
+.media-frame.mode-grid .media-frame-menu {
+	display: none;
+}
+
+.media-frame.mode-grid .media-frame-content {
+	background-color: transparent;
+	border: none;
+}
+
+.upload-php .mode-grid .media-sidebar {
+	position: relative;
+	width: auto;
+	margin-bottom: 16px;
+	padding: 0 16px;
+	border: 1px solid #c00;
+	background-color: #feebe8;
+}
+
+.upload-php .mode-grid .hide-sidebar .media-sidebar {
+	display: none;
+}
+
+.upload-php .mode-grid .media-sidebar .media-uploader-status {
+	border-bottom: none;
+	padding-bottom: 0;
+	max-width: 100%;
+}
+
+.upload-php .mode-grid .media-sidebar .upload-error {
+	margin: 20px 0;
+	padding: 0;
+	border: none;
+	background: none;
+}
+
+.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors {
+	font-size: 0;
+	top: -12px;
+	right: -10px;
+}
+
+.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:before {
+	content: "\f158";
+	font: normal 20px/1 dashicons;
+	color: #666;
+}
+
+.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:focus:before,
+.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:hover:before {
+	color: #2ea2cc;
+}
+
+.upload-php .mode-grid .media-sidebar .media-uploader-status.errors h3 {
+	display: none;
+}
+
+.media-frame.mode-grid .uploader-inline {
+	position: relative;
+	top: auto;
+	right: auto;
+	left: auto;
+	bottom: auto;
+	padding-top: 0;
+	margin-top: 0;
+	border: 4px dashed #bbb;
+}
+
+.media-frame.mode-select .attachments-browser.fixed .attachments {
+	position: relative;
+	top: 94px; /* prevent jumping up when the toolbar becomes fixed */
+	padding-bottom: 94px; /* offset for above so the bottom doesn't get cut off */
+}
+
+.media-frame.mode-grid .attachment:focus,
+.media-frame.mode-grid .selected.attachment:focus,
+.media-frame.mode-grid .attachment.details:focus {
+	-webkit-box-shadow:
+		inset 0 0 2px 3px #f1f1f1,
+		inset 0 0 0 7px #5b9dd9;
+	box-shadow:
+		inset 0 0 2px 3px #f1f1f1,
+		inset 0 0 0 7px #5b9dd9;
+	outline: none;
+}
+
+.media-frame.mode-grid .selected.attachment {
+	-webkit-box-shadow:
+		inset 0 0 0 5px #f1f1f1,
+		inset 0 0 0 7px #ccc;
+	box-shadow:
+		inset 0 0 0 5px #f1f1f1,
+		inset 0 0 0 7px #ccc;
+}
+
+.media-frame.mode-grid .attachment.details {
+	-webkit-box-shadow:
+		inset 0 0 0 3px #f1f1f1,
+		inset 0 0 0 7px #1e8cbe;
+	box-shadow:
+		inset 0 0 0 3px #f1f1f1,
+		inset 0 0 0 7px #1e8cbe;
+}
+
+.media-frame.mode-grid.mode-select .attachment .thumbnail {
+	opacity: 0.65;
+}
+
+.media-frame.mode-select .attachment.selected .thumbnail {
+	opacity: 1;
+}
+
+.media-frame.mode-grid .media-toolbar {
+	margin-bottom: 15px;
+	height: auto;
+}
+
+.media-frame.mode-grid .media-toolbar select {
+	margin: 0 10px 0 0;
+	font-size: 14px;
+}
+
+.media-frame.mode-grid .media-toolbar-secondary > .media-button {
+	margin-top: 10px;
+	margin-bottom: 10px;
+}
+
+.media-frame.mode-grid .attachments-browser .bulk-select {
+	display: inline-block;
+	margin: 0 10px 0 0;
+}
+
+.media-frame.mode-grid .search {
+	margin-top: 0;
+}
+
+.media-frame.mode-grid .spinner {
+	margin-top: 15px;
+}
+
+.attachments-browser .media-toolbar-secondary > .select-mode-toggle-button {
+	margin-right: 10px;
+}
+
+.media-frame.mode-select .attachments-browser.fixed .media-toolbar {
+	position: fixed;
+	top: 32px;
+	left: auto;
+	right: 20px;
+	margin-top: 0;
+}
+
+.media-frame.mode-grid .attachments-browser {
+	padding: 0;
+}
+
+.media-frame.mode-grid .attachments-browser .attachments {
+	padding: 2px;
+}
+
+.media-frame.mode-grid .attachments-browser .no-media {
+	color: #999;
+	font-size: 18px;
+	font-style: normal;
+	margin: 0;
+	padding: 100px 0 0;
+	text-align: center;
+}
+
+/**
+ * Attachment details modal
+ */
+
+.edit-attachment-frame {
+	display: block;
+	height: 100%;
+	width: 100%;
+}
+
+.edit-attachment-frame .edit-media-header {
+	overflow: hidden;
+}
+
+.upload-php .media-modal-close .media-modal-icon:before {
+	content: '\f335';
+	font-size: 22px;
+}
+
+.upload-php .media-modal-close .media-modal-icon {
+	margin: 14px;
+	width: 22px;
+}
+
+.upload-php .media-modal-close,
+.edit-attachment-frame .edit-media-header .left,
+.edit-attachment-frame .edit-media-header .right {
+	cursor: pointer;
+	color: #777;
+	background-color: transparent;
+	height: 50px;
+	width: 50px;
+	padding: 0;
+	position: absolute;
+	text-align: center;
+	border: 0;
+	border-left: 1px solid #ddd;
+	-webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
+    transition: color .1s ease-in-out, background .1s ease-in-out;
+}
+
+.upload-php .media-modal-close {
+	top: 0;
+	right: 0;
+}
+
+.edit-attachment-frame .edit-media-header .left {
+	right: 102px;
+}
+
+.edit-attachment-frame .edit-media-header .right {
+	right: 51px;
+}
+
+.edit-attachment-frame .media-frame-title {
+	left: 0;
+	right: 150px; /* leave space for prev/next/close */
+}
+
+.edit-attachment-frame .edit-media-header .right:before,
+.edit-attachment-frame .edit-media-header .left:before {
+	font: normal 20px/50px 'dashicons' !important;
+	display: inline;
+	font-weight: 300;
+}
+
+.upload-php .media-modal-close:hover,
+.upload-php .media-modal-close:focus,
+.edit-attachment-frame .edit-media-header .left:hover,
+.edit-attachment-frame .edit-media-header .right:hover,
+.edit-attachment-frame .edit-media-header .left:focus,
+.edit-attachment-frame .edit-media-header .right:focus {
+	background: #ddd;
+	border-color: #ccc;
+	color: #000;
+	outline: none;
+}
+
+.upload-php .media-modal-close:focus .media-modal-icon:before,
+.upload-php .media-modal-close:hover .media-modal-icon:before {
+	color: #000;
+}
+
+.edit-attachment-frame .edit-media-header .left:before,
+.rtl .edit-attachment-frame .edit-media-header .right:before {
+	content: '\f341';
+}
+
+.edit-attachment-frame .edit-media-header .right:before,
+.rtl .edit-attachment-frame .edit-media-header .left:before {
+	content: '\f345';
+}
+
+.edit-attachment-frame .edit-media-header .left.disabled,
+.edit-attachment-frame .edit-media-header .right.disabled,
+.edit-attachment-frame .edit-media-header .left.disabled:hover,
+.edit-attachment-frame .edit-media-header .right.disabled:hover {
+	color: #ccc;
+	background: inherit;
+	cursor: default;
+	pointer-events: none;
+}
+
+.edit-attachment-frame .media-frame-content,
+.edit-attachment-frame .media-frame-router {
+	left: 0;
+}
+
+.edit-attachment-frame .media-frame-content {
+	border-bottom: none;
+	bottom: 0;
+	top: 50px;
+}
+
+.edit-attachment-frame .attachment-details {
+	position: absolute;
+	overflow: auto;
+	top: 0;
+	bottom: 0;
+	right: 0;
+	left: 0;
+	-webkit-box-shadow: inset 0px 4px 4px -4px rgba(0, 0, 0, 0.1);
+	box-shadow: inset 0px 4px 4px -4px rgba(0, 0, 0, 0.1);
+}
+
+.edit-attachment-frame .attachment-media-view {
+	float: left;
+	width: 65%;
+	height: 100%;
+}
+
+.edit-attachment-frame .attachment-media-view .thumbnail {
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+	padding: 16px;
+	height: 100%;
+}
+
+.edit-attachment-frame .attachment-media-view .details-image {
+	display: block;
+	margin-bottom: 16px;
+	max-width: 100%;
+	max-height: 90%;
+	max-height: -webkit-calc( 100% - 42px );
+	max-height: calc( 100% - 42px ); /* leave space for actions underneath */
+}
+
+.edit-attachment-frame .wp-media-wrapper {
+	margin-bottom: 12px;
+}
+
+.edit-attachment-frame input,
+.edit-attachment-frame textarea {
+	padding: 6px 8px;
+	line-height: 16px;
+}
+
+.edit-attachment-frame .attachment-info {
+	overflow: auto;
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+	margin-bottom: 0;
+	padding: 12px 16px 0;
+	width: 35%;
+	height: 100%;
+	-webkit-box-shadow: inset 0px 4px 4px -4px rgba(0, 0, 0, 0.1);
+	box-shadow: inset 0px 4px 4px -4px rgba(0, 0, 0, 0.1);
+	border-bottom: 0;
+	border-left: 1px solid #ddd;
+	background: #f3f3f3;
+}
+
+.edit-attachment-frame .attachment-info .details,
+.edit-attachment-frame .attachment-info .settings {
+	position: relative; /* RTL fix, #WP29352 */
+	overflow: hidden;
+	float: none;
+	margin-bottom: 15px;
+	padding-bottom: 15px;
+	border-bottom: 1px solid #ddd;
+}
+
+.edit-attachment-frame .attachment-info .filename {
+	font-weight: normal;
+	color: #666;
+}
+
+.edit-attachment-frame .attachment-info .thumbnail {
+	margin-bottom: 12px;
+}
+
+.attachment-info .actions {
+	margin-bottom: 16px;
+}
+
+.attachment-info .actions a {
+	display: inline;
+	text-decoration: none;
+}
+
 
 /*------------------------------------------------------------------------------
   14.2 - Image Editor
@@ -507,7 +890,7 @@ border color while dragging a file over the uploader drop area */
 }
 
 .media-disabled,
-.imgedit-settings .disabled  {
+.imgedit-settings .disabled {
 	color: grey;
 }
 
@@ -699,6 +1082,7 @@ audio, video {
 
 .mejs-container {
 	width: 100%;
+	max-width: 100%;
 }
 
 /* =Media Queries
@@ -721,4 +1105,92 @@ audio, video {
 		font-size: 14px;
 		line-height: 1.5em;
 	}
+
+	.media-upload-form .media-item.error,
+	.media-upload-form .media-item .error {
+		font-size: 13px;
+		line-height: 1.5;
+	}
+
+	.media-upload-form .media-item.error {
+		padding: 1px 10px;
+	}
+
+	.media-upload-form .media-item .error {
+		padding: 10px 0 10px 12px;
+	}
+}
+
+/**
+ * Media queries for media grid.
+ */
+
+@media only screen and (max-width: 1120px) {
+	.media-frame.mode-grid .attachments-browser .media-toolbar-secondary {
+		float: none;
+	}
+}
+
+@media only screen and ( max-width: 782px ) {
+	.media-frame.mode-select .attachments-browser.fixed .media-toolbar {
+		top: 46px;
+		right: 10px;
+	}
+}
+
+@media only screen and (max-width: 600px) {
+	.media-frame.mode-select .attachments-browser.fixed .media-toolbar {
+		top: 0;
+	}
+}
+
+@media only screen and (max-width: 480px) {
+	.edit-attachment-frame .media-frame-title {
+		right: 110px;
+	}
+
+	.upload-php .media-modal-close,
+	.edit-attachment-frame .edit-media-header .left,
+	.edit-attachment-frame .edit-media-header .right {
+		width: 40px;
+		height: 40px;
+	}
+
+	.upload-php .media-modal-close .media-modal-icon {
+		margin: 9px 10px;
+	}
+
+	.edit-attachment-frame .edit-media-header .right:before,
+	.edit-attachment-frame .edit-media-header .left:before {
+		line-height: 40px !important;
+	}
+
+	.edit-attachment-frame .edit-media-header .left {
+		right: 82px;
+	}
+
+	.edit-attachment-frame .edit-media-header .right {
+		right: 41px;
+	}
+
+	.edit-attachment-frame .media-frame-content {
+		top: 40px;
+	}
+
+	.edit-attachment-frame .attachment-media-view {
+		float: none;
+		height: auto;
+		width: 100%;
+	}
+
+	.edit-attachment-frame .attachment-info {
+		height: auto;
+		width: 100%;
+	}
+}
+
+@media only screen and (max-width: 640px), screen and (max-height: 400px) {
+	.upload-php .mode-grid .media-sidebar{
+		max-width: 100%;
+	}
 }
diff --git a/wp-admin/css/nav-menus-rtl.css b/wp-admin/css/nav-menus-rtl.css
index 82c91e90f..ed2405b4e 100644
--- a/wp-admin/css/nav-menus-rtl.css
+++ b/wp-admin/css/nav-menus-rtl.css
@@ -507,6 +507,10 @@ ul.add-menu-item-tabs li {
 	margin-left: 13em;
 }
 
+.menu-item-handle .menu-item-title.no-title {
+	color: #999;
+}
+
 /* Sortables */
 li.menu-item.ui-sortable-helper dl {
 	margin-top: 0;
diff --git a/wp-admin/css/nav-menus.css b/wp-admin/css/nav-menus.css
index 6466d94f6..28e32b802 100644
--- a/wp-admin/css/nav-menus.css
+++ b/wp-admin/css/nav-menus.css
@@ -507,6 +507,10 @@ ul.add-menu-item-tabs li {
 	margin-right: 13em;
 }
 
+.menu-item-handle .menu-item-title.no-title {
+	color: #999;
+}
+
 /* Sortables */
 li.menu-item.ui-sortable-helper dl {
 	margin-top: 0;
diff --git a/wp-admin/css/revisions-rtl.css b/wp-admin/css/revisions-rtl.css
index d87000625..ee035f2d2 100644
--- a/wp-admin/css/revisions-rtl.css
+++ b/wp-admin/css/revisions-rtl.css
@@ -73,12 +73,15 @@
 }
 
 .revisions .loading-indicator {
-	position: fixed;
+	position: absolute;
 	vertical-align: middle;
 	opacity: 0;
 	width: 100%;
+	width: -webkit-calc( 100% - 30px );
+	width: calc( 100% - 30px );
 	top: 50%;
-	margin-right: -90px;
+	top: -webkit-calc( 50% - 10px );
+	top: calc( 50% - 10px );
 	-webkit-transition: opacity 0.5s;
 	transition: opacity 0.5s;
 	filter: alpha(opacity=0); /* ie8 and earlier */
@@ -405,7 +408,7 @@ table.diff .diff-addedline ins {
 	z-index: 10000;
 }
 
-.arrow::after {
+.arrow:after {
 	z-index: 9999;
 	background-color: #fff;
 	-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.1);
diff --git a/wp-admin/css/revisions.css b/wp-admin/css/revisions.css
index 026367480..f19149422 100644
--- a/wp-admin/css/revisions.css
+++ b/wp-admin/css/revisions.css
@@ -73,12 +73,15 @@
 }
 
 .revisions .loading-indicator {
-	position: fixed;
+	position: absolute;
 	vertical-align: middle;
 	opacity: 0;
 	width: 100%;
+	width: -webkit-calc( 100% - 30px );
+	width: calc( 100% - 30px );
 	top: 50%;
-	margin-left: -90px;
+	top: -webkit-calc( 50% - 10px );
+	top: calc( 50% - 10px );
 	-webkit-transition: opacity 0.5s;
 	transition: opacity 0.5s;
 	filter: alpha(opacity=0); /* ie8 and earlier */
@@ -405,7 +408,7 @@ table.diff .diff-addedline ins {
 	z-index: 10000;
 }
 
-.arrow::after {
+.arrow:after {
 	z-index: 9999;
 	background-color: #fff;
 	-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.1);
diff --git a/wp-admin/css/themes-rtl.css b/wp-admin/css/themes-rtl.css
index 5ae8f35fa..264eb3c62 100644
--- a/wp-admin/css/themes-rtl.css
+++ b/wp-admin/css/themes-rtl.css
@@ -25,23 +25,16 @@
 	margin-right: 20px;
 }
 
-.themes-php .wrap .theme-count,
-.theme-navigation .theme-count {
-	color: #fff;
-	-webkit-border-radius: 30px;
-	border-radius: 30px;
-	background: #777;
-	font-size: 14px;
-	padding: 4px 10px;
-	font-weight: 600;
-	margin-right: 5px;
-	margin-left: 20px;
+/* Search form */
+.themes-php .wp-filter-search {
 	position: relative;
-	top: -3px;
-}
-
-.theme-navigation a {
-	text-decoration:none;
+	top: -2px;
+	right: 20px;
+	margin: 0;
+	width: 280px;
+	font-size: 16px;
+	font-weight: 300;
+	line-height: 1.5;
 }
 
 /* Position admin messages */
@@ -195,13 +188,17 @@
 	-webkit-transition: opacity 0.1s ease-in-out;
 	transition: opacity 0.1s ease-in-out;
 }
+
 .theme-browser .theme:focus {
-	outline: 1px dotted #222;
+	border-color: #5b9dd9;
+	-webkit-box-shadow: 0 0 2px rgba( 30, 140, 190, 0.8 );
+	box-shadow: 0 0 2px rgba( 30, 140, 190, 0.8 );
 }
 
 .theme-browser .theme:focus .more-details {
 	opacity: 1;
 }
+
 /* Current theme needs to have its action always on view */
 .theme-browser .theme.active:focus .theme-actions {
 	display: block;
@@ -401,19 +398,6 @@
 	z-index: 2;
 }
 
-/*
- * The search form
- */
-.themes-php .theme-search {
-	position: relative;
-	top: -2px;
-	right: 20px;
-	font-size: 16px;
-	font-weight: 300;
-	line-height: 1.5;
-	width: 280px;
-}
-
 /**
  * Theme Overlay
  * Shown when clicking a theme
@@ -429,10 +413,6 @@
 	z-index: 10;
 }
 
-body.theme-overlay-open {
-	overflow: hidden;
-}
-
 .theme-overlay .theme-header {
 	position: absolute;
 	top: 0;
@@ -451,15 +431,12 @@ body.theme-overlay-open {
 	border: 0;
 	border-right: 1px solid #ddd;
 	background-color: transparent;
-}
-
-.theme-overlay .theme-header .close:hover:before,
-.theme-overlay .theme-header .close:focus:before {
-	color: #fff;
+	-webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
+	transition: color .1s ease-in-out, background .1s ease-in-out;
 }
 
 .theme-overlay .theme-header .close:before {
-	font: normal 30px/50px 'dashicons' !important;
+	font: normal 22px/50px 'dashicons' !important;
 	color: #777;
 	display: inline-block;
 	content: '\f335';
@@ -478,16 +455,32 @@ body.theme-overlay-open {
 	text-align: center;
 	border: 0;
 	border-left: 1px solid #ddd;
+	-webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
+	transition: color .1s ease-in-out, background .1s ease-in-out;
 }
 
+.theme-overlay .theme-header .close:focus,
 .theme-overlay .theme-header .close:hover,
+.theme-overlay .theme-header .right:focus,
 .theme-overlay .theme-header .right:hover,
-.theme-overlay .theme-header .left:hover,
+.theme-overlay .theme-header .left:focus,
+.theme-overlay .theme-header .left:hover {
+	background: #ddd;
+	border-color: #ccc;
+	color: #000;
+}
+
+.theme-overlay .theme-header .close:focus:before,
+.theme-overlay .theme-header .close:hover:before {
+	color: #000;
+}
+
 .theme-overlay .theme-header .close:focus,
 .theme-overlay .theme-header .right:focus,
 .theme-overlay .theme-header .left:focus {
-	background: #0074a2;
-	color: #fff;
+    -webkit-box-shadow: none;
+    box-shadow: none;
+    outline: none;
 }
 
 .theme-overlay .theme-header .left.disabled,
@@ -506,21 +499,17 @@ body.theme-overlay-open {
 	font-weight: 300;
 }
 
-.theme-overlay .theme-header .left:before {
-	content: '\f340';
-}
-
-.theme-overlay .theme-header .right:before {
-	content: '\f344';
+.theme-overlay .theme-header .left:before,
+.rtl .theme-overlay .theme-header .right:before {
+	content: '\f341';
 }
 
+.theme-overlay .theme-header .right:before,
 .rtl .theme-overlay .theme-header .left:before {
 	content: '\f345';
 }
 
-.rtl .theme-overlay .theme-header .right:before {
-	content: '\f341';
-}
+
 
 .theme-overlay .theme-wrap {
 	clear: both;
@@ -1025,7 +1014,7 @@ body.folded .theme-overlay .theme-wrap {
 		width: 100%;
 	}
 
-	.themes-php .theme-search {
+	.themes-php .wp-filter-search {
 		float: none;
 		clear: both;
 		right: 0;
@@ -1088,21 +1077,6 @@ body.folded .theme-overlay .theme-wrap {
 	display: none !important;
 }
 
-.theme-navigation {
-	background: #fff;
-	-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
-	box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
-	-webkit-box-sizing: border-box;
-	-moz-box-sizing: border-box;
-	box-sizing: border-box;
-	color: #555;
-	display: inline-block;
-	font-size: 13px;
-	margin: 20px 0 30px;
-	padding: 0 20px;
-	position: relative;
-	width: 100%;
-}
 .theme-install-php a.upload,
 .theme-install-php a.browse-themes {
 	cursor: pointer;
@@ -1114,29 +1088,33 @@ body.folded .theme-overlay .theme-wrap {
 .theme-install-php.show-upload-theme a.browse-themes {
 	display: inline;
 }
-.upload-theme {
+.upload-theme,
+.upload-plugin {
 	-webkit-box-sizing: border-box;
 	-moz-box-sizing: border-box;
 	box-sizing: border-box;
 	display: none;
-	margin: 0px 0 0;
+	margin: 0;
 	padding: 0;
 	width: 100%;
 	overflow: hidden;
 	position: relative;
 	top: 10px;
 }
-body.show-upload-theme .upload-theme {
+body.show-upload-theme .upload-theme,
+.upload-plugin {
 	display: block;
 }
-.upload-theme .wp-upload-form {
+.upload-theme .wp-upload-form,
+.upload-plugin .wp-upload-form {
 	background: #fafafa;
 	border: 1px solid #e5e5e5;
 	padding: 30px;
 	margin: 30px auto;
 	max-width: 380px;
 }
-.upload-theme .install-help {
+.upload-theme .install-help,
+.upload-plugin .install-help {
 	color: #999;
 	font-size: 18px;
 	font-style: normal;
@@ -1144,190 +1122,11 @@ body.show-upload-theme .upload-theme {
 	padding: 40px 0 0;
 	text-align: center;
 }
-body.show-upload-theme .upload-theme + .theme-navigation,
-body.show-upload-theme .upload-theme + .theme-navigation + .theme-browser {
+body.show-upload-theme .upload-theme + .wp-filter,
+body.show-upload-theme .upload-theme + .wp-filter + .theme-browser {
 	display: none;
 }
-.theme-navigation .theme-count {
-	margin-right: 0;
-	position: absolute;
-	top: 12px;
-}
-.theme-count + .theme-section {
-	margin-right: 60px;
-}
-.theme-section,
-.theme-filter {
-	border-bottom: 4px solid #fff;
-	color: #666;
-	cursor: pointer;
-	display: inline-block;
-	margin: 0 10px;
-	padding: 15px 0;
-}
-.theme-section.current,
-.theme-filter.current {
-	border-bottom: 4px solid #666;
-	color: #222;
-}
-.theme-top-filters {
-	display: inline-block;
-}
-.theme-navigation .more-filters {
-	color: #666;
-	cursor: pointer;
-	display: inline-block;
-	margin: 0 10px;
-	padding: 4px 6px;
-}
-body.more-filters-opened .more-filters,
-body.more-filters-opened .more-filters:before {
-	background: #777;
-	-webkit-border-radius: 2px;
-	border-radius: 2px;
-	border: none;
-	color: #fff;
-}
 
-body.more-filters-opened .more-filters:hover,
-body.more-filters-opened .more-filters:focus,
-body.more-filters-opened .more-filters:hover:before,
-body.more-filters-opened .more-filters:focus:before {
-	background: rgb(46, 162, 204);
-}
-
-.theme-install-php .theme-search {
-	position: absolute;
-	left: 10px;
-	top: 9px;
-	font-size: 16px;
-	font-weight: 300;
-	line-height: 1.5;
-	width: 280px;
-}
-.more-filters:before {
-	color: #777;
-	text-align: center;
-	margin: 0 0 0 5px;
-	content: "\f111";
-	display: inline-block;
-	width: 16px;
-	height: 16px;
-	-webkit-font-smoothing: antialiased;
-	font-size: 16px;
-	line-height: 1;
-	font-family: "dashicons";
-	text-decoration: inherit;
-	font-weight: normal;
-	font-style: normal;
-	vertical-align: top;
-	-webkit-transition: color .1s ease-in 0;
-	transition: color .1s ease-in 0;
-	text-align: center;
-}
-.more-filters.current:before {
-	color: #fff;
-}
-.more-filters-container {
-	display: none;
-	padding: 20px;
-	border-top: 1px solid #eee;
-	margin: 0 -20px;
-	background: #fafafa;
-}
-body.more-filters-opened .more-filters-container {
-	display: block;
-	overflow: hidden;
-}
-body.more-filters-opened .theme-section.current {
-	border-bottom: none;
-}
-body.more-filters-opened .theme-browser,
-body.more-filters-opened.filters-applied.loading-themes .theme-browser {
-	display: none;
-}
-body.more-filters-opened.filters-applied .theme-browser {
-	display: block;
-}
-.more-filters-container .filters-group {
-	-webkit-box-sizing: border-box;
-	-moz-box-sizing: border-box;
-	box-sizing: border-box;
-	float: right;
-	width: 19%;
-	background: #fff;
-	margin: 0 0 0 1%;
-	border: 1px solid #e5e5e5;
-	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
-	box-shadow: 0 1px 1px rgba(0,0,0,0.04);
-	padding: 10px;
-}
-.more-filters-container .wide-filters-group {
-	width: 38%;
-}
-.more-filters-container .feature-name {
-	margin: 0;
-	position: relative;
-}
-.more-filters-container ol {
-	list-style-type: none;
-	margin: 20px 0 0;
-	font-size: 12px;
-}
-.more-filters-container li {
-	display: inline-block;
-	vertical-align: top;
-	list-style-type: none;
-	margin: 5px 0;
-	padding-left: 25px;
-	width: 160px;
-}
-.theme-navigation .more-filters-container .apply-filters {
-	margin: 0 0 20px;
-}
-.theme-navigation .more-filters-container .clear-filters {
-	display: none;
-	margin: 0 10px 20px 0;
-}
-.more-filters-container .apply-filters span {
-	display: inline-block;
-	font-size: 12px;
-	text-indent: 10px;
-	opacity: 0.8;
-}
-.more-filters-container .filtering-by {
-	display: none;
-	margin: 0;
-}
-.more-filters-container .filtering-by > span {
-	font-weight: 600;
-}
-.more-filters-container .filtering-by .tags {
-	display: inline;
-}
-.more-filters-container .filtering-by .tag {
-	background: #fff;
-	border: 1px solid #e5e5e5;
-	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
-	box-shadow: 0 1px 1px rgba(0,0,0,0.04);
-	font-size: 11px;
-	margin: 0 5px;
-	padding: 4px 8px;
-}
-.more-filters-container .filtering-by a {
-	margin-right: 10px;
-}
-body.filters-applied .more-filters-container .filters-group,
-body.filters-applied .more-filters-container a.button,
-body.filters-applied .more-filters-container br {
-	display: none !important;
-}
-body.filters-applied .more-filters-container .filtering-by {
-	display: block;
-}
-body.filters-applied .more-filters-container {
-	padding: 20px;
-}
 p.no-themes {
 	color: #999;
 	font-size: 18px;
@@ -1344,20 +1143,11 @@ body.show-upload-theme p.no-themes {
 	display: none !important;
 }
 
-
 .theme-install-php .add-new-theme {
 	display: none !important;
 }
 
 @media only screen and (max-width: 1120px) {
-	.theme-install-php .theme-search {
-		margin: 20px 0;
-		position: static;
-		width: 100%;
-	}
-	.more-filters-container {
-		border-bottom: 1px solid #eee;
-	}
 	.upload-theme .wp-upload-form {
 		margin: 20px 0;
 		max-width: 100%;
@@ -1367,23 +1157,6 @@ body.show-upload-theme p.no-themes {
 		padding: 20px 0 0;
 		text-align: right;
 	}
-	.more-filters-container .filters-group {
-		margin-bottom: 0;
-		margin-top: 5px;
-		width: 100%;
-	}
-	.more-filters-container .filters-group li {
-		margin: 10px 0;
-	}
-}
-
-@media only screen and (max-width: 782px) {
-	.more-filters-container .filters-group {
-		width: 100%;
-	}
-	.more-filters-container .filters-group li {
-		width: 100%;
-	}
 }
 
 .rating {
@@ -1447,15 +1220,6 @@ body.show-upload-theme p.no-themes {
 	line-height: 20px;
 	color: #999;
 }
-.loading-themes .theme-browser,
-.error .theme-browser {
-	display: none;
-}
-.loading-themes .spinner {
-	display: block;
-	margin: 40px auto 0;
-	float: none;
-}
 
 /*------------------------------------------------------------------------------
   16.3 - Custom Header Screen
@@ -1617,9 +1381,85 @@ body.full-overlay-active {
 	overflow: auto;
 }
 
-/* Close Link */
-.wp-full-overlay .close-full-overlay {
+/* Close & Navigation Links */
+.theme-install-overlay .wp-full-overlay-sidebar .wp-full-overlay-header {
+	padding: 0;
+}
+
+.theme-install-overlay .close-full-overlay,
+.theme-install-overlay .previous-theme,
+.theme-install-overlay .next-theme {
+	display: block;
+	position: relative;
+	float: right;
+	width: 45px;
+	height: 45px;
+	padding-left: 2px;
+	background: #eee;
+	border-left: 1px solid #ddd;
+	color: #444;
+	cursor: pointer;
 	text-decoration: none;
+	-webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
+	transition: color .1s ease-in-out, background .1s ease-in-out;
+}
+
+.theme-install-overlay .close-full-overlay:hover,
+.theme-install-overlay .close-full-overlay:focus,
+.theme-install-overlay .previous-theme:hover,
+.theme-install-overlay .previous-theme:focus,
+.theme-install-overlay .next-theme:hover,
+.theme-install-overlay .next-theme:focus {
+	background: #ddd;
+	border-color: #ccc;
+	color: #000;
+	outline: none;
+	-webkit-box-shadow: none;
+	box-shadow: none;
+}
+
+.theme-install-overlay .close-full-overlay:before {
+	font: normal 22px/1 dashicons;
+	content: "\f335";
+	position: relative;
+	top: 7px;
+	right: 13px;
+}
+
+.theme-install-overlay .previous-theme:before {
+	font: normal 20px/1 dashicons;
+	content: "\f341";
+	position: relative;
+	top: 6px;
+	right: 14px;
+}
+
+.theme-install-overlay .next-theme:before {
+	font: normal 20px/1 dashicons;
+	content: "\f345";
+	position: relative;
+	top: 6px;
+	right: 13px;
+}
+
+.theme-install-overlay .previous-theme.disabled,
+.theme-install-overlay .next-theme.disabled,
+.theme-install-overlay .previous-theme.disabled:hover,
+.theme-install-overlay .previous-theme.disabled:focus,
+.theme-install-overlay .next-theme.disabled:hover,
+.theme-install-overlay .next-theme.disabled:focus {
+	color: #bbb;
+	background: #eee;
+	cursor: default;
+	pointer-events: none;
+}
+
+.rtl .theme-install-overlay .previous-theme:before {
+	content: "\f345";
+}
+
+.rtl .theme-install-overlay .next-theme:before {
+	content: "\f341";
 }
 
 /* Collapse Button */
@@ -1704,19 +1544,6 @@ body.full-overlay-active {
 	display: none;
 }
 
-.wp-full-overlay .theme-navigation {
-	padding: 10px 20px;
-	position: absolute;
-		bottom: 10px;
-	text-align: right;
-}
-.wp-full-overlay .theme-navigation .next-theme {
-	float: left;
-}
-.wp-full-overlay.no-navigation .theme-navigation {
-	display: none;
-}
-
 /* Animations */
 .wp-full-overlay,
 .wp-full-overlay-sidebar,
@@ -1845,19 +1672,22 @@ body.full-overlay-active {
 	max-width: 100%;
 }
 
-.theme-install-overlay .wp-full-overlay-header {
-	margin-top: 9px;
-}
-
 .theme-install-overlay .wp-full-overlay-header .theme-install {
 	float: left;
+	margin: 8px 0 0 10px;
 	/* For when .theme-install is a span rather than a.button-primary (already installed theme) */
 	line-height: 26px;
 }
 
 .theme-install-overlay .wp-full-overlay-sidebar {
-	background: #EEE;
-	border-left: 1px solid #DDD;
+	background: #eee;
+	border-left: 1px solid #ddd;
+}
+
+.theme-install-overlay .wp-full-overlay-sidebar-content {
+	background: #fff;
+	border-top: 1px solid #ddd;
+	border-bottom: 1px solid #ddd;
 }
 
 .theme-install-overlay .wp-full-overlay-main {
diff --git a/wp-admin/css/themes.css b/wp-admin/css/themes.css
index 13076cbf6..6ff0f9ffe 100644
--- a/wp-admin/css/themes.css
+++ b/wp-admin/css/themes.css
@@ -25,23 +25,16 @@
 	margin-left: 20px;
 }
 
-.themes-php .wrap .theme-count,
-.theme-navigation .theme-count {
-	color: #fff;
-	-webkit-border-radius: 30px;
-	border-radius: 30px;
-	background: #777;
-	font-size: 14px;
-	padding: 4px 10px;
-	font-weight: 600;
-	margin-left: 5px;
-	margin-right: 20px;
+/* Search form */
+.themes-php .wp-filter-search {
 	position: relative;
-	top: -3px;
-}
-
-.theme-navigation a {
-	text-decoration:none;
+	top: -2px;
+	left: 20px;
+	margin: 0;
+	width: 280px;
+	font-size: 16px;
+	font-weight: 300;
+	line-height: 1.5;
 }
 
 /* Position admin messages */
@@ -195,13 +188,17 @@
 	-webkit-transition: opacity 0.1s ease-in-out;
 	transition: opacity 0.1s ease-in-out;
 }
+
 .theme-browser .theme:focus {
-	outline: 1px dotted #222;
+	border-color: #5b9dd9;
+	-webkit-box-shadow: 0 0 2px rgba( 30, 140, 190, 0.8 );
+	box-shadow: 0 0 2px rgba( 30, 140, 190, 0.8 );
 }
 
 .theme-browser .theme:focus .more-details {
 	opacity: 1;
 }
+
 /* Current theme needs to have its action always on view */
 .theme-browser .theme.active:focus .theme-actions {
 	display: block;
@@ -401,19 +398,6 @@
 	z-index: 2;
 }
 
-/*
- * The search form
- */
-.themes-php .theme-search {
-	position: relative;
-	top: -2px;
-	left: 20px;
-	font-size: 16px;
-	font-weight: 300;
-	line-height: 1.5;
-	width: 280px;
-}
-
 /**
  * Theme Overlay
  * Shown when clicking a theme
@@ -429,10 +413,6 @@
 	z-index: 10;
 }
 
-body.theme-overlay-open {
-	overflow: hidden;
-}
-
 .theme-overlay .theme-header {
 	position: absolute;
 	top: 0;
@@ -451,15 +431,12 @@ body.theme-overlay-open {
 	border: 0;
 	border-left: 1px solid #ddd;
 	background-color: transparent;
-}
-
-.theme-overlay .theme-header .close:hover:before,
-.theme-overlay .theme-header .close:focus:before {
-	color: #fff;
+	-webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
+	transition: color .1s ease-in-out, background .1s ease-in-out;
 }
 
 .theme-overlay .theme-header .close:before {
-	font: normal 30px/50px 'dashicons' !important;
+	font: normal 22px/50px 'dashicons' !important;
 	color: #777;
 	display: inline-block;
 	content: '\f335';
@@ -478,16 +455,32 @@ body.theme-overlay-open {
 	text-align: center;
 	border: 0;
 	border-right: 1px solid #ddd;
+	-webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
+	transition: color .1s ease-in-out, background .1s ease-in-out;
 }
 
+.theme-overlay .theme-header .close:focus,
 .theme-overlay .theme-header .close:hover,
+.theme-overlay .theme-header .right:focus,
 .theme-overlay .theme-header .right:hover,
-.theme-overlay .theme-header .left:hover,
+.theme-overlay .theme-header .left:focus,
+.theme-overlay .theme-header .left:hover {
+	background: #ddd;
+	border-color: #ccc;
+	color: #000;
+}
+
+.theme-overlay .theme-header .close:focus:before,
+.theme-overlay .theme-header .close:hover:before {
+	color: #000;
+}
+
 .theme-overlay .theme-header .close:focus,
 .theme-overlay .theme-header .right:focus,
 .theme-overlay .theme-header .left:focus {
-	background: #0074a2;
-	color: #fff;
+    -webkit-box-shadow: none;
+    box-shadow: none;
+    outline: none;
 }
 
 .theme-overlay .theme-header .left.disabled,
@@ -506,21 +499,17 @@ body.theme-overlay-open {
 	font-weight: 300;
 }
 
-.theme-overlay .theme-header .left:before {
-	content: '\f340';
-}
-
-.theme-overlay .theme-header .right:before {
-	content: '\f344';
+.theme-overlay .theme-header .left:before,
+.rtl .theme-overlay .theme-header .right:before {
+	content: '\f341';
 }
 
+.theme-overlay .theme-header .right:before,
 .rtl .theme-overlay .theme-header .left:before {
 	content: '\f345';
 }
 
-.rtl .theme-overlay .theme-header .right:before {
-	content: '\f341';
-}
+
 
 .theme-overlay .theme-wrap {
 	clear: both;
@@ -1025,7 +1014,7 @@ body.folded .theme-overlay .theme-wrap {
 		width: 100%;
 	}
 
-	.themes-php .theme-search {
+	.themes-php .wp-filter-search {
 		float: none;
 		clear: both;
 		left: 0;
@@ -1088,21 +1077,6 @@ body.folded .theme-overlay .theme-wrap {
 	display: none !important;
 }
 
-.theme-navigation {
-	background: #fff;
-	-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
-	box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
-	-webkit-box-sizing: border-box;
-	-moz-box-sizing: border-box;
-	box-sizing: border-box;
-	color: #555;
-	display: inline-block;
-	font-size: 13px;
-	margin: 20px 0 30px;
-	padding: 0 20px;
-	position: relative;
-	width: 100%;
-}
 .theme-install-php a.upload,
 .theme-install-php a.browse-themes {
 	cursor: pointer;
@@ -1114,29 +1088,33 @@ body.folded .theme-overlay .theme-wrap {
 .theme-install-php.show-upload-theme a.browse-themes {
 	display: inline;
 }
-.upload-theme {
+.upload-theme,
+.upload-plugin {
 	-webkit-box-sizing: border-box;
 	-moz-box-sizing: border-box;
 	box-sizing: border-box;
 	display: none;
-	margin: 0px 0 0;
+	margin: 0;
 	padding: 0;
 	width: 100%;
 	overflow: hidden;
 	position: relative;
 	top: 10px;
 }
-body.show-upload-theme .upload-theme {
+body.show-upload-theme .upload-theme,
+.upload-plugin {
 	display: block;
 }
-.upload-theme .wp-upload-form {
+.upload-theme .wp-upload-form,
+.upload-plugin .wp-upload-form {
 	background: #fafafa;
 	border: 1px solid #e5e5e5;
 	padding: 30px;
 	margin: 30px auto;
 	max-width: 380px;
 }
-.upload-theme .install-help {
+.upload-theme .install-help,
+.upload-plugin .install-help {
 	color: #999;
 	font-size: 18px;
 	font-style: normal;
@@ -1144,190 +1122,11 @@ body.show-upload-theme .upload-theme {
 	padding: 40px 0 0;
 	text-align: center;
 }
-body.show-upload-theme .upload-theme + .theme-navigation,
-body.show-upload-theme .upload-theme + .theme-navigation + .theme-browser {
+body.show-upload-theme .upload-theme + .wp-filter,
+body.show-upload-theme .upload-theme + .wp-filter + .theme-browser {
 	display: none;
 }
-.theme-navigation .theme-count {
-	margin-left: 0;
-	position: absolute;
-	top: 12px;
-}
-.theme-count + .theme-section {
-	margin-left: 60px;
-}
-.theme-section,
-.theme-filter {
-	border-bottom: 4px solid #fff;
-	color: #666;
-	cursor: pointer;
-	display: inline-block;
-	margin: 0 10px;
-	padding: 15px 0;
-}
-.theme-section.current,
-.theme-filter.current {
-	border-bottom: 4px solid #666;
-	color: #222;
-}
-.theme-top-filters {
-	display: inline-block;
-}
-.theme-navigation .more-filters {
-	color: #666;
-	cursor: pointer;
-	display: inline-block;
-	margin: 0 10px;
-	padding: 4px 6px;
-}
-body.more-filters-opened .more-filters,
-body.more-filters-opened .more-filters:before {
-	background: #777;
-	-webkit-border-radius: 2px;
-	border-radius: 2px;
-	border: none;
-	color: #fff;
-}
 
-body.more-filters-opened .more-filters:hover,
-body.more-filters-opened .more-filters:focus,
-body.more-filters-opened .more-filters:hover:before,
-body.more-filters-opened .more-filters:focus:before {
-	background: rgb(46, 162, 204);
-}
-
-.theme-install-php .theme-search {
-	position: absolute;
-	right: 10px;
-	top: 9px;
-	font-size: 16px;
-	font-weight: 300;
-	line-height: 1.5;
-	width: 280px;
-}
-.more-filters:before {
-	color: #777;
-	text-align: center;
-	margin: 0 5px 0 0;
-	content: "\f111";
-	display: inline-block;
-	width: 16px;
-	height: 16px;
-	-webkit-font-smoothing: antialiased;
-	font-size: 16px;
-	line-height: 1;
-	font-family: "dashicons";
-	text-decoration: inherit;
-	font-weight: normal;
-	font-style: normal;
-	vertical-align: top;
-	-webkit-transition: color .1s ease-in 0;
-	transition: color .1s ease-in 0;
-	text-align: center;
-}
-.more-filters.current:before {
-	color: #fff;
-}
-.more-filters-container {
-	display: none;
-	padding: 20px;
-	border-top: 1px solid #eee;
-	margin: 0 -20px;
-	background: #fafafa;
-}
-body.more-filters-opened .more-filters-container {
-	display: block;
-	overflow: hidden;
-}
-body.more-filters-opened .theme-section.current {
-	border-bottom: none;
-}
-body.more-filters-opened .theme-browser,
-body.more-filters-opened.filters-applied.loading-themes .theme-browser {
-	display: none;
-}
-body.more-filters-opened.filters-applied .theme-browser {
-	display: block;
-}
-.more-filters-container .filters-group {
-	-webkit-box-sizing: border-box;
-	-moz-box-sizing: border-box;
-	box-sizing: border-box;
-	float: left;
-	width: 19%;
-	background: #fff;
-	margin: 0 1% 0 0;
-	border: 1px solid #e5e5e5;
-	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
-	box-shadow: 0 1px 1px rgba(0,0,0,0.04);
-	padding: 10px;
-}
-.more-filters-container .wide-filters-group {
-	width: 38%;
-}
-.more-filters-container .feature-name {
-	margin: 0;
-	position: relative;
-}
-.more-filters-container ol {
-	list-style-type: none;
-	margin: 20px 0 0;
-	font-size: 12px;
-}
-.more-filters-container li {
-	display: inline-block;
-	vertical-align: top;
-	list-style-type: none;
-	margin: 5px 0;
-	padding-right: 25px;
-	width: 160px;
-}
-.theme-navigation .more-filters-container .apply-filters {
-	margin: 0 0 20px;
-}
-.theme-navigation .more-filters-container .clear-filters {
-	display: none;
-	margin: 0 0 20px 10px;
-}
-.more-filters-container .apply-filters span {
-	display: inline-block;
-	font-size: 12px;
-	text-indent: 10px;
-	opacity: 0.8;
-}
-.more-filters-container .filtering-by {
-	display: none;
-	margin: 0;
-}
-.more-filters-container .filtering-by > span {
-	font-weight: 600;
-}
-.more-filters-container .filtering-by .tags {
-	display: inline;
-}
-.more-filters-container .filtering-by .tag {
-	background: #fff;
-	border: 1px solid #e5e5e5;
-	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
-	box-shadow: 0 1px 1px rgba(0,0,0,0.04);
-	font-size: 11px;
-	margin: 0 5px;
-	padding: 4px 8px;
-}
-.more-filters-container .filtering-by a {
-	margin-left: 10px;
-}
-body.filters-applied .more-filters-container .filters-group,
-body.filters-applied .more-filters-container a.button,
-body.filters-applied .more-filters-container br {
-	display: none !important;
-}
-body.filters-applied .more-filters-container .filtering-by {
-	display: block;
-}
-body.filters-applied .more-filters-container {
-	padding: 20px;
-}
 p.no-themes {
 	color: #999;
 	font-size: 18px;
@@ -1344,20 +1143,11 @@ body.show-upload-theme p.no-themes {
 	display: none !important;
 }
 
-
 .theme-install-php .add-new-theme {
 	display: none !important;
 }
 
 @media only screen and (max-width: 1120px) {
-	.theme-install-php .theme-search {
-		margin: 20px 0;
-		position: static;
-		width: 100%;
-	}
-	.more-filters-container {
-		border-bottom: 1px solid #eee;
-	}
 	.upload-theme .wp-upload-form {
 		margin: 20px 0;
 		max-width: 100%;
@@ -1367,23 +1157,6 @@ body.show-upload-theme p.no-themes {
 		padding: 20px 0 0;
 		text-align: left;
 	}
-	.more-filters-container .filters-group {
-		margin-bottom: 0;
-		margin-top: 5px;
-		width: 100%;
-	}
-	.more-filters-container .filters-group li {
-		margin: 10px 0;
-	}
-}
-
-@media only screen and (max-width: 782px) {
-	.more-filters-container .filters-group {
-		width: 100%;
-	}
-	.more-filters-container .filters-group li {
-		width: 100%;
-	}
 }
 
 .rating {
@@ -1447,15 +1220,6 @@ body.show-upload-theme p.no-themes {
 	line-height: 20px;
 	color: #999;
 }
-.loading-themes .theme-browser,
-.error .theme-browser {
-	display: none;
-}
-.loading-themes .spinner {
-	display: block;
-	margin: 40px auto 0;
-	float: none;
-}
 
 /*------------------------------------------------------------------------------
   16.3 - Custom Header Screen
@@ -1617,9 +1381,85 @@ body.full-overlay-active {
 	overflow: auto;
 }
 
-/* Close Link */
-.wp-full-overlay .close-full-overlay {
+/* Close & Navigation Links */
+.theme-install-overlay .wp-full-overlay-sidebar .wp-full-overlay-header {
+	padding: 0;
+}
+
+.theme-install-overlay .close-full-overlay,
+.theme-install-overlay .previous-theme,
+.theme-install-overlay .next-theme {
+	display: block;
+	position: relative;
+	float: left;
+	width: 45px;
+	height: 45px;
+	padding-right: 2px;
+	background: #eee;
+	border-right: 1px solid #ddd;
+	color: #444;
+	cursor: pointer;
 	text-decoration: none;
+	-webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
+	transition: color .1s ease-in-out, background .1s ease-in-out;
+}
+
+.theme-install-overlay .close-full-overlay:hover,
+.theme-install-overlay .close-full-overlay:focus,
+.theme-install-overlay .previous-theme:hover,
+.theme-install-overlay .previous-theme:focus,
+.theme-install-overlay .next-theme:hover,
+.theme-install-overlay .next-theme:focus {
+	background: #ddd;
+	border-color: #ccc;
+	color: #000;
+	outline: none;
+	-webkit-box-shadow: none;
+	box-shadow: none;
+}
+
+.theme-install-overlay .close-full-overlay:before {
+	font: normal 22px/1 dashicons;
+	content: "\f335";
+	position: relative;
+	top: 7px;
+	left: 13px;
+}
+
+.theme-install-overlay .previous-theme:before {
+	font: normal 20px/1 dashicons;
+	content: "\f341";
+	position: relative;
+	top: 6px;
+	left: 14px;
+}
+
+.theme-install-overlay .next-theme:before {
+	font: normal 20px/1 dashicons;
+	content: "\f345";
+	position: relative;
+	top: 6px;
+	left: 13px;
+}
+
+.theme-install-overlay .previous-theme.disabled,
+.theme-install-overlay .next-theme.disabled,
+.theme-install-overlay .previous-theme.disabled:hover,
+.theme-install-overlay .previous-theme.disabled:focus,
+.theme-install-overlay .next-theme.disabled:hover,
+.theme-install-overlay .next-theme.disabled:focus {
+	color: #bbb;
+	background: #eee;
+	cursor: default;
+	pointer-events: none;
+}
+
+.rtl .theme-install-overlay .previous-theme:before {
+	content: "\f345";
+}
+
+.rtl .theme-install-overlay .next-theme:before {
+	content: "\f341";
 }
 
 /* Collapse Button */
@@ -1704,19 +1544,6 @@ body.full-overlay-active {
 	display: none;
 }
 
-.wp-full-overlay .theme-navigation {
-	padding: 10px 20px;
-	position: absolute;
-		bottom: 10px;
-	text-align: left;
-}
-.wp-full-overlay .theme-navigation .next-theme {
-	float: right;
-}
-.wp-full-overlay.no-navigation .theme-navigation {
-	display: none;
-}
-
 /* Animations */
 .wp-full-overlay,
 .wp-full-overlay-sidebar,
@@ -1845,19 +1672,22 @@ body.full-overlay-active {
 	max-width: 100%;
 }
 
-.theme-install-overlay .wp-full-overlay-header {
-	margin-top: 9px;
-}
-
 .theme-install-overlay .wp-full-overlay-header .theme-install {
 	float: right;
+	margin: 8px 10px 0 0;
 	/* For when .theme-install is a span rather than a.button-primary (already installed theme) */
 	line-height: 26px;
 }
 
 .theme-install-overlay .wp-full-overlay-sidebar {
-	background: #EEE;
-	border-right: 1px solid #DDD;
+	background: #eee;
+	border-right: 1px solid #ddd;
+}
+
+.theme-install-overlay .wp-full-overlay-sidebar-content {
+	background: #fff;
+	border-top: 1px solid #ddd;
+	border-bottom: 1px solid #ddd;
 }
 
 .theme-install-overlay .wp-full-overlay-main {
diff --git a/wp-admin/css/widgets-rtl.css b/wp-admin/css/widgets-rtl.css
index be4d9c307..187f00573 100644
--- a/wp-admin/css/widgets-rtl.css
+++ b/wp-admin/css/widgets-rtl.css
@@ -16,6 +16,9 @@
 
 .widget-top a.widget-action,
 .widget-top a.widget-action:hover {
+	-webkit-box-shadow: none;
+	box-shadow: none;
+	outline: none;
 	text-decoration: none;
 }
 
diff --git a/wp-admin/css/widgets.css b/wp-admin/css/widgets.css
index 75014f6dd..409a39371 100644
--- a/wp-admin/css/widgets.css
+++ b/wp-admin/css/widgets.css
@@ -16,6 +16,9 @@
 
 .widget-top a.widget-action,
 .widget-top a.widget-action:hover {
+	-webkit-box-shadow: none;
+	box-shadow: none;
+	outline: none;
 	text-decoration: none;
 }
 
diff --git a/wp-admin/css/wp-admin-rtl.min.css b/wp-admin/css/wp-admin-rtl.min.css
index 25e9fbbe8..4c5e357af 100644
--- a/wp-admin/css/wp-admin-rtl.min.css
+++ b/wp-admin/css/wp-admin-rtl.min.css
@@ -1 +1 @@
-#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%}#wpcontent,#wpfooter{margin-right:180px}.folded #wpcontent,.folded #wpfooter{margin-right:56px}#wpbody-content{padding-bottom:65px;float:right;width:100%;overflow:visible!important}.inner-sidebar{float:left;clear:left;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-left:auto;width:286px;display:block}.columns-2 .inner-sidebar #side-sortables,.inner-sidebar #side-sortables{min-height:300px;width:280px;padding:0}.has-right-sidebar .inner-sidebar{display:block}.has-right-sidebar #post-body{float:right;clear:right;width:100%;margin-left:-2000px}.has-right-sidebar #post-body-content{margin-left:300px;float:none;width:auto}#col-container,#col-left,#col-right{overflow:hidden;padding:0;margin:0}#col-left{width:35%}#col-right{float:left;clear:left;width:65%}.col-wrap{padding:0 7px}.alignleft{float:right}.alignright{float:left}.textleft{text-align:right}.textright{text-align:left}.clear{clear:both}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.screen-reader-shortcut{position:absolute;top:-1000em}.screen-reader-shortcut:focus{right:6px;top:-25px;height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:0}.hidden,.js .closed .inside,.js .hide-if-js,.js .wp-core-ui .hide-if-js,.js.wp-core-ui .hide-if-js,.no-js .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js,.no-js.wp-core-ui .hide-if-no-js{display:none}#menu-management .menu-edit,#menu-settings-column .accordion-container,.feature-filter,.imgedit-group,.manage-menus,.menu-item-handle,.popular-tags,.stuffbox,.widget-inside,.widget-top,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.feature-filter,.imgedit-group,.popular-tags,.stuffbox,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{background:#fff}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em;min-width:600px}body.iframe{min-width:0;padding-top:1px}iframe,img{border:0}td{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}a{color:#0074a2;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}a,div{outline:0}a:active,a:hover{color:#2ea2cc}a:focus{color:#124964}a:active,a:focus{outline:thin dotted}#adminmenu a:active,#adminmenu a:focus,.screen-reader-text:focus{outline:0}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}p{font-size:13px;line-height:1.5;margin:1em 0}blockquote{margin:1em}dd,li{margin-bottom:6px}h1,h2,h3,h4,h5,h6{display:block;font-weight:600}h1{font-size:2em;margin:.67em 0}h2{color:#222;font-size:1.5em;margin:.83em 0;font-weight:400}h3{color:#222;font-size:1.3em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}ol,ul{padding:0}ul{list-style:none}ol{list-style-type:decimal;margin-right:2em}ul.ul-disc{list-style:disc outside}ul.ul-square{list-style:square outside}ol.ol-decimal{list-style:decimal outside}ol.ol-decimal,ul.ul-disc,ul.ul-square{margin-right:1.8em}ol.ol-decimal>li,ul.ul-disc>li,ul.ul-square>li{margin:0 0 .5em}.ltr{direction:ltr}.code,code{font-family:Consolas,Monaco,monospace;direction:ltr}code,kbd{padding:3px 5px 2px;margin:0 1px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:13px}.subsubsub{list-style:none;margin:8px 0 0;padding:0;font-size:13px;float:right;color:#666}.subsubsub a{line-height:2;padding:.2em;text-decoration:none}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:400}.subsubsub a.current{font-weight:600;border:0}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat *{word-wrap:break-word}.widefat a{text-decoration:none}.widefat td,.widefat th{padding:8px 10px}.widefat thead th{border-bottom:1px solid #e1e1e1}.widefat tfoot th{border-top:1px solid #e1e1e1;border-bottom:0}.widefat .no-items td{border-bottom-width:0}.widefat td{vertical-align:top}.widefat td,.widefat td ol,.widefat td p,.widefat td ul{font-size:13px;line-height:1.5em}.widefat th{text-align:right;line-height:1.3em;font-size:14px}.widefat th input{margin:0 8px 0 0;padding:0;vertical-align:text-top}.widefat .check-column{width:2.2em;padding:6px 0 25px;vertical-align:top}.widefat th input[type=checkbox]{margin-top:-1px}.widefat.media .check-column{padding-top:8px}.widefat tbody th.check-column,.widefat tfoot th.check-column,.widefat thead th.check-column{padding:11px 3px 0 0}.widefat thead th.check-column{padding-top:10px}.update-php div.error,.update-php div.updated{margin-right:0}.no-js .widefat tfoot .check-column input,.no-js .widefat thead .check-column input{display:none}.column-comments,.column-links,.column-posts,.widefat .num{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:10px 2px 0 20px}div.error,div.updated{margin:5px 15px 2px}div.error p,div.updated p{margin:.5em 0;padding:2px}.media-upload-form div.error,.wrap div.error,.wrap div.updated{margin:5px 0 15px}div.updated{border-right:4px solid #7ad03a;padding:1px 12px;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}div.error{border-right:4px solid #dd3d36;background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);padding:1px 12px}.attention{color:#2ea2cc}.subtitle,.wrap h2{font-weight:400;margin:0}.wrap h2{font-size:23px;font-weight:400;padding:9px 0 4px 15px;line-height:29px}.subtitle{color:#777;font-size:14px;padding-right:25px}.wrap .add-new-h2,.wrap .add-new-h2:active{margin-right:4px;padding:4px 8px;position:relative;top:-3px;text-decoration:none;border:0;-webkit-border-radius:2px;border-radius:2px;background:#e0e0e0;text-shadow:none;font-weight:600;font-size:13px}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.wrap h2.long-header{padding-left:0}.wp-dialog{background-color:#fff}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}.alt,.alternate{background-color:#f9f9f9}.bar{background-color:#e8e8e8;border-left-color:#99d}.media-upload-form label.form-help,td.help{color:#9a9a9a}.highlight{background-color:#e4f2fd;color:#000}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.wp-ui-highlight{color:#fff;background-color:#1e8cbe}.wp-ui-text-highlight{color:#1e8cbe}.wp-ui-notification{color:#fff;background-color:#d54e21}.wp-ui-text-notification{color:#d54e21}.wp-ui-text-icon{color:#999}#nav-menu-footer,#nav-menu-header,#your-profile #rich_editing,.checkbox,.control-section .accordion-section-title,.menu-item-handle,.postbox h3,.side-info,.sidebar-name,.stuffbox h3,.widefat tfoot th,.widefat thead th,.widget .widget-top,h3.dashboard-widget-title,h3.dashboard-widget-title small,h3.dashboard-widget-title span{line-height:1.4em}.menu-item-handle,.widget .widget-top{background:#fafafa;color:#222}#namediv h3,#submitdiv h3,.postbox h3{border-bottom:1px solid #eee}.quicktags,.search{background-color:#ccc;color:#000;font-size:12px}.icon32{display:none}#bulk-titles div a:before,#welcome-panel.welcome-panel .welcome-panel-close::before,.tagchecklist span a:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:400 16px/1 dashicons;speak:none;height:20px;margin:2px 0;text-align:center;width:20px;-webkit-font-smoothing:antialiased!important}#bulk-titles div a:hover:before,#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before{color:#c00}.key-labels label{line-height:24px}b,strong{font-weight:600}.pre{white-space:pre-wrap;word-wrap:break-word}.howto{color:#666;font-style:italic;display:block}p.install-help{margin:8px 0;font-style:italic}.no-break{white-space:nowrap}hr{border:0;border-top:1px solid #ddd;border-bottom:1px solid #fafafa}#all-plugins-table .plugins a.delete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete,#search-plugins-table .plugins a.delete,.plugins a.delete,.row-actions span.delete a,.row-actions span.spam a,.row-actions span.trash a,.submitbox .submitdelete{color:#a00}#all-plugins-table .plugins a.delete:hover,#media-items a.delete-permanently:hover,#media-items a.delete:hover,#nav-menu-footer .menu-delete:hover,#search-plugins-table .plugins a.delete:hover,.file-error,.plugins a.delete:hover,.row-actions .delete a:hover,.row-actions .spam a:hover,.row-actions .trash a:hover,.submitbox .submitdelete:hover,.widget-control-remove:hover,abbr.required{color:red;text-decoration:none;border:0}#major-publishing-actions{padding:10px;clear:both;border-top:1px solid #ddd;background:#f5f5f5}#delete-action{line-height:28px;vertical-align:middle;text-align:right;float:right}#publishing-action{text-align:left;float:left;line-height:23px}#publishing-action .spinner{float:right}#misc-publishing-actions{padding:6px 0 0}.misc-pub-section{padding:6px 10px 8px}#minor-publishing-actions{padding:10px 10px 0;text-align:left}#save-post{float:right}.preview{float:left}#sticky-span{margin-right:18px}.side-info{margin:0;padding:4px;font-size:11px}.side-info h5{padding-bottom:7px;font-size:14px;margin:12px 2px 5px;border-bottom:1px solid #dadada}.side-info ul{margin:0;padding-right:18px;list-style:square;color:#666}.approve,.unapproved .unapprove{display:none}.spam .approve,.trash .approve,.unapproved .approve{display:inline}td.action-links,th.action-links{text-align:left}#update-nag,.update-nag{display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:right;margin:25px 2px 0 20px;background-color:#fff;border-right:4px solid #ffba00;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.update-message{color:#000}.update-php .spinner{float:none;margin:-4px 0}#ajax-loading,.ajax-feedback,.ajax-loading,.imgedit-wait-spin,.list-ajax-loading{visibility:hidden}#ajax-response.alignleft{margin-right:2em}#adminmenu a,#catlist a,#sidemenu a,#taglist a{text-decoration:none}#contextual-help-wrap,#screen-options-wrap{margin:0;padding:8px 20px 12px;position:relative}#contextual-help-wrap{overflow:auto;margin-right:0!important}#screen-meta .screen-reader-text{visibility:hidden}#screen-meta-links{margin:0 0 0 20px}#screen-meta-links a{padding:3px 16px 3px 6px}#screen-meta-links a:focus{outline:0}#screen-meta{display:none;margin:0 0 -1px 20px;position:relative;background-color:#fff;border:1px solid #ddd;border-top:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-link-wrap,#screen-options-link-wrap{float:left;height:28px;margin:0 6px 0 0;border:1px solid #ddd;border-top:0;background:#fff;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#screen-meta-links .screen-meta-toggle{position:relative;top:0}#screen-meta-links a{color:#777}#screen-meta-links a:active,#screen-meta-links a:focus,#screen-meta-links a:hover{color:#333}#screen-meta-links a:focus{border-color:#aaa;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#screen-meta-links a.show-settings{display:block;font-size:13px;height:22px;line-height:22px;text-decoration:none;z-index:1}#screen-meta-links a:after{left:0;content:'\f140';font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 0 0 5px;bottom:2px;position:relative;vertical-align:bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#bbb}#screen-meta-links a.screen-meta-active:after{content:'\f142'}#screen-meta-links a.show-settings:hover{text-decoration:none}.toggle-arrow{background-repeat:no-repeat;background-position:top right;background-color:transparent;height:22px;line-height:22px;display:block}.toggle-arrow-active{background-position:bottom right}#contextual-help-wrap h5,#screen-options-wrap h5{margin:8px 0;font-size:13px}.metabox-prefs label{display:inline-block;padding-left:15px;line-height:30px}.metabox-prefs label input[type=checkbox]{margin-top:-4px;margin-left:6px}.metabox-prefs label input{margin:0 2px 0 5px}.metabox-prefs .columns-prefs label input{margin:0 2px}.metabox-prefs label a{display:none}#contextual-help-wrap{padding:0}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;right:150px;left:170px;border:1px solid #e1e1e1;border-top:0;border-bottom:0;background:#f6fbfd}#contextual-help-wrap.no-sidebar #contextual-help-back{left:0;border-left-width:0;-webkit-border-bottom-left-radius:2px;border-bottom-left-radius:2px}.contextual-help-tabs{float:right;width:150px;margin:0}.contextual-help-tabs ul{margin:1em 0}.contextual-help-tabs li{margin-bottom:0;list-style-type:none;border-style:solid;border-width:0 2px 0 0;border-color:transparent}.contextual-help-tabs a{display:block;padding:5px 12px 5px 5px;line-height:18px;text-decoration:none;border:1px solid transparent;border-left:0;border-right:0}.contextual-help-tabs a:hover{color:#333}.contextual-help-tabs .active{padding:0;margin:0 0 0 -1px;border-right:2px solid #2ea2cc;background:#f6fbfd;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02);box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02)}.contextual-help-tabs .active a{border-color:#e1e1e1;color:#333}.contextual-help-tabs-wrap{padding:0 20px;overflow:auto}.help-tab-content{display:none;margin:0 0 12px 22px;line-height:1.6em}.help-tab-content.active{display:block}.help-tab-content ul li{list-style-type:disc;margin-right:18px}.contextual-help-sidebar{width:150px;float:left;padding:0 12px 0 8px;overflow:auto}html.wp-toolbar{padding-top:32px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.narrow{width:70%;margin-bottom:40px}.narrow p{line-height:150%}.widefat td,.widefat th{overflow:hidden;color:#555}.widefat th{font-weight:400}.widefat tfoot tr th,.widefat thead tr th{color:#333}.widefat td p{margin:2px 0 .8em}.widefat ol,.widefat p,.widefat ul{color:#333}.widefat .column-comment p{margin:.6em 0}.postbox-container{float:right}.postbox-container .meta-box-sortables{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody-content .metabox-holder{padding-top:10px}.metabox-holder .postbox-container .empty-container{border:3px dashed #bbb;height:250px}.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container,.metabox-holder.columns-1 .postbox-container .empty-container{border:0 none;height:0;min-height:0}#post-body-content{width:100%;min-width:463px;float:right}#post-body.columns-2 #postbox-container-1{float:left;margin-left:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}@media only screen and (max-width:799px){#wpbody-content .metabox-holder .postbox-container .empty-container{border:0 none;height:0;min-height:0}}.js .postbox .hndle{cursor:move}.hndle a{font-size:11px;font-weight:400}.postbox .handlediv{float:left;width:27px;height:30px}.js .postbox .handlediv{cursor:pointer}.sortable-placeholder{border:1px dashed #bbb;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox h3,.stuffbox h3{margin-top:1px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .postbox h3,.js .widget .widget-top{cursor:move}.postbox .inside,.stuffbox .inside{padding:0 12px 12px;line-height:1.4em;font-size:13px}.postbox .inside{margin:11px 0;position:relative}.postbox .inside>p:last-child,.rss-widget ul li:last-child{margin-bottom:1px!important}.postbox.closed h3{border:0;-webkit-box-shadow:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 5px}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#dashboard_right_now .versions .b,#ed_reply_toolbar #ed_reply_strong,#pass-strength-result.short,#pass-strength-result.strong,#post-status-display,#post-visibility-display,.feature-filter .feature-name,.item-controls .item-order a,.media-item .percent,.plugins .name{font-weight:600}#wpfooter{position:absolute;bottom:0;right:0;left:0;padding:10px 0;margin-left:20px;color:#777}#wpfooter p{font-size:13px;margin:0;line-height:20px}#footer-thankyou{font-style:italic}#wpfooter a{text-decoration:none}#wpfooter a:hover{text-decoration:underline}.nav-tab{border:1px solid #ccc;border-bottom:0;background:#e4e4e4;color:#555;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:-4px 0 -1px 4px}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active,.nav-tab-active:hover{border-bottom:1px solid #f1f1f1;background:#f1f1f1;color:#000}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom:1px solid #ccc;padding-bottom:0;padding-right:10px}h2 .nav-tab{padding:6px 10px;font-weight:700;font-size:15px;line-height:24px}.spinner{background:url(../images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;float:left;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:2px 5px 0}#template div{margin-left:190px}.metabox-holder h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#templateside ul li a{text-decoration:none}#sidemenu{margin:-30px 315px 0 15px;list-style:none;position:relative;float:left;padding-right:10px;font-size:12px}#sidemenu a{padding:0 7px;display:block;float:right;line-height:28px;border-top:1px solid #f9f9f9;border-bottom:1px solid #dfdfdf;background-color:#f9f9f9;-webkit-transition:none;transition:none}#sidemenu li{display:inline;line-height:200%;list-style:none;text-align:center;white-space:nowrap;margin:0;padding:0}#sidemenu a.current{font-weight:400;padding-right:6px;padding-left:6px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;border:1px solid #dfdfdf;border-bottom-color:#f1f1f1;background-color:#f1f1f1;color:#000}.plugin-install #description,.plugin-install-network #description{width:60%}table .column-rating,table .column-visible,table .vers{text-align:right}.error-message{color:red;font-weight:600}body.iframe{height:98%}.lp-show-latest p{display:none}.lp-show-latest .lp-error p,.lp-show-latest p:last-child{display:block}td.media-icon{text-align:center;width:80px;padding-top:8px;padding-bottom:8px}td.media-icon img{max-width:80px;max-height:60px}#howto{font-size:11px;margin:0 5px;display:block}.importers td{padding-left:14px}.importers{font-size:16px;width:auto}#post-body #post-body-content #namediv h3{margin-top:0}#namediv h3 label{vertical-align:baseline}#namediv table{width:100%}#namediv td.first{width:10px;white-space:nowrap}#namediv input{width:98%}#namediv p{margin:10px 0}#submitdiv h3{margin-bottom:0!important}.zerosize{height:0;width:0;margin:0;border:0;padding:0;overflow:hidden;position:absolute}br.clear{height:2px;line-height:2px}.checkbox{border:0;margin:0;padding:0}fieldset{border:0;padding:0;margin:0}.post-categories{display:inline;margin:0;padding:0}.post-categories li{display:inline}div.star-holder{position:relative;height:17px;width:100px;background:url(../images/stars.png?ver=20121108) repeat-x bottom right}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) repeat-x top right;height:17px;float:right}.star-rating{white-space:nowrap}.star-rating .star{display:inline-block;width:20px;height:20px;-webkit-font-smoothing:antialiased;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;text-align:center;color:#0074a2}.star-rating .star-full:before{content:'\f155'}.star-rating .star-half:before{content:'\f459'}.rtl .star-rating .star-half{-webkit-transform:rotateY(180deg);-ms-transform:rotateY(180deg);transform:rotateY(180deg)}.star-rating .star-empty:before{content:'\f154'}div.action-links{font-weight:400;margin:6px 0 0}#plugin-information{background:#fcfcfc;position:fixed;top:0;left:0;bottom:0;right:0;height:auto;padding:0}#plugin-information-title{padding:0 20px 0 76px;font-size:22px;font-weight:600;line-height:56px;top:0;left:0;right:0;height:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-tabs{padding:0 16px;position:absolute;top:56px;left:0;right:0;height:36px;z-index:1}#plugin-information-tabs a{position:relative;float:right;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;-webkit-transition:none;transition:none}#plugin-information-tabs a.current{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:0;color:#333}#plugin-information-tabs a:active,#plugin-information-tabs a:focus{outline:0}#plugin-information-content{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd;position:absolute;top:90px;left:0;bottom:58px;right:0}#section-holder{margin:0;padding:10px 26px;position:absolute;top:0;left:250px;bottom:0;right:0;overflow:auto}#section-holder .updated{margin:16px 0}#plugin-information .fyi{background:#f3f3f3;border-right:1px solid #ddd;color:#666;padding:16px;position:absolute;top:0;left:0;bottom:0;width:217px;overflow:auto}#plugin-information .fyi strong{color:#464646}#plugin-information .fyi h3{font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-left:0}#plugin-information .fyi ul{padding:0;margin:0;list-style:none}#plugin-information .fyi li{margin:0 0 10px}#plugin-information-footer{padding:15px 16px;position:absolute;left:0;bottom:0;right:0;height:28px}#plugin-information .section ol,#plugin-information .section ul{list-style-type:disc;margin-right:24px}#plugin-information .section,#plugin-information .section p{font-size:14px;line-height:1.7}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;margin-top:16px;max-width:100%;width:auto;height:auto;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}#plugin-information #section-screenshots li p{font-style:italic;padding-right:20px}#plugin-information pre{padding:7px;overflow:auto;border:1px solid #ccc}.plugin-version-author-uri{font-size:13px}@media screen and (max-width:782px){#plugin-information-content{overflow:auto;bottom:58px}#plugin-information .fyi{border:1px solid #ddd;position:static;width:auto;margin:26px 26px 16px}#section-holder{position:static}#plugin-information .fyi h3,#plugin-information .fyi small{display:none}#plugin-information-footer{padding:12px 16px 0;height:46px}}body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:#fcfcfc url( ../images/spinner.gif ) no-repeat center}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:#fcfcfc url( ../images/spinner-2x.gif ) no-repeat center;-webkit-background-size:20px 20px;background-size:20px 20px}}body.import-php #TB_title,body.index-php #TB_title,body.plugin-install-php #TB_title,body.plugins-php #TB_title,body.update-core-php #TB_title{float:right;height:1px}body.import-php #TB_ajaxWindowTitle,body.index-php #TB_ajaxWindowTitle,body.plugin-install-php #TB_ajaxWindowTitle,body.plugins-php #TB_ajaxWindowTitle,body.update-core-php #TB_ajaxWindowTitle{display:none}body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{line-height:48px;width:48px;height:48px}body.import-php .tb-close-icon:before,body.index-php .tb-close-icon:before,body.plugin-install-php .tb-close-icon:before,body.plugins-php .tb-close-icon:before,body.update-core-php .tb-close-icon:before{line-height:48px}img{border:0}#wphead{border-bottom:1px solid #dfdfdf}#wphead h1 a{color:#464646}.js .meta-box-sortables .postbox:hover .handlediv{margin-left:0!important}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{left:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js #widgets-left .sidebar-name .sidebar-name-arrow{display:none}.js #widgets-left .sidebar-name:hover .sidebar-name-arrow,.js #widgets-left .widgets-holder-wrap.closed .sidebar-name .sidebar-name-arrow{display:block}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{content:'\f142'}.js .meta-box-sortables .postbox.closed .handlediv:before,.js .widgets-holder-wrap.closed .sidebar-name-arrow:before{content:'\f140'}.error a{text-decoration:underline}.updated a{text-decoration:none;padding-bottom:2px}#photo-add-url-div input[type=text]{width:300px}.alignleft h3{margin:0}#template textarea{font-family:Consolas,Monaco,monospace;font-size:13px;width:97%;background:#f9f9f9;outline:0}#docs-list,#template textarea{direction:ltr}#template p{width:97%}#templateside{float:left;width:190px;word-wrap:break-word}#postcustomstuff p.submit,#templateside h3{margin:0}#templateside h4{margin:1em 0 0}#templateside ol,#templateside ul{margin:.5em 0;padding:0}#templateside li{margin:4px 0}#templateside a,.theme-editor-php .highlight{display:block;padding:3px 12px 3px 3px;text-decoration:none}.theme-editor-php .highlight{margin:-3px -12px -3px 3px}#templateside .highlight{border:0;font-weight:700}.nonessential{color:#666;font-size:11px;font-style:italic;padding-right:12px}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:baseline;font-weight:600}.fileedit-sub{padding:10px 0 8px;line-height:180%}.accordion-section-title:after,.control-section .accordion-section-title:after,.nav-menus-php .item-edit:before,.widget-top a.widget-action:after{left:0;content:'\f140';border:0;background:0 0;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.accordion-section-title:after,.handlediv,.item-edit,.sidebar-name-arrow,.widget-action{color:#aaa}.accordion-section-title:hover:after,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.widget-action:hover{color:#777}.widget-top a.widget-action:after{padding:12px 12px 0}.nav-menus-php .item-edit:before{line-height:2.1}.accordion-section-title:after,.control-section .accordion-section-title:after{float:left;left:20px;top:-2px}#customize-info.open .accordion-section-title:after,.control-section.open .accordion-section-title:after,.nav-menus-php .menu-item-edit-active .item-edit:before{content:'\f142'}.ui-draggable,.ui-sortable{-ms-touch-action:none;touch-action:none}.menu.ui-sortable,.meta-box-sortables.ui-sortable,.widgets-holder-wrap .ui-draggable,.widgets-holder-wrap .ui-sortable{-ms-touch-action:auto;touch-action:auto}.menu.ui-sortable .menu-item-handle,.meta-box-sortables.ui-sortable .hndle{-ms-touch-action:none;touch-action:none}.accordion-section{border-bottom:1px solid #dfdfdf;margin:0}.accordion-section.open .accordion-section-content,.no-js .accordion-section .accordion-section-content{display:block}.accordion-section.open:hover{border-bottom-color:#dfdfdf}.accordion-section-content{display:none;padding:10px 20px 15px;overflow:hidden;background:#fff}.accordion-section-title{margin:0;padding:12px 15px 15px;position:relative;border-right:1px solid #dfdfdf;border-left:1px solid #dfdfdf;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .accordion-section-title{cursor:pointer}.js .accordion-section-title:after{position:absolute;top:12px;left:10px;z-index:1}.accordion-section-title:focus{outline:0}.accordion-section-title:focus:after,.accordion-section-title:hover:after{border-color:#aaa transparent}.cannot-expand .accordion-section-title{cursor:auto}.cannot-expand .accordion-section-title:after{display:none}.control-section .accordion-section-title{border-right:0;border-left:0;padding:10px 14px 11px 10px;line-height:21px;background:#fff}.control-section .accordion-section-title:after{top:11px}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{color:#222;background:#f5f5f5}.control-section.open .accordion-section-title{border-bottom:1px solid #dfdfdf}@media only screen and (min-width:769px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:860px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (min-width:980px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:768px){#col-left,#col-right{width:100%}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){div.star-holder,div.star-holder .star-rating{background:url(../images/stars-2x.png?ver=20121108) repeat-x bottom right;-webkit-background-size:21px 37px;background-size:21px 37px}.spinner{background-image:url(../images/spinner-2x.gif)}#bulk-titles div a,#bulk-titles div a:hover,#screen-meta-links a.show-settings,.curtime #timestamp,.meta-box-sortables .postbox:hover .handlediv,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.tagchecklist span a,.tagchecklist span a:hover,.widget-top a.widget-action,.widget-top a.widget-action:hover{background:none!important}}@-ms-viewport{width:device-width}@media screen and (max-width:782px){html.wp-toolbar{padding-top:46px}body{min-width:240px;overflow-x:hidden}body *{-webkit-tap-highlight-color:rgba(0,0,0,0)!important}#wpwrap{background:#f0f0f0}#wpcontent{position:relative;margin-right:0;padding-right:10px}#wpbody-content{padding-bottom:100px}.wrap{margin-left:12px;margin-right:0}.col-wrap{padding:0}#collapse-menu,#screen-meta,#screen-meta-links,.post-format-select{display:none!important}.wrap .add-new-h2,.wrap .add-new-h2:active{padding:10px 15px;font-size:14px}.wp-color-result{height:auto;padding-right:45px}.wp-color-result:after{font-size:14px;height:auto;padding:6px 14px}.media-upload-form div.error,.wrap div.error,.wrap div.updated{margin:20px 0 10px;padding:5px 10px;font-size:14px;line-height:175%}.wrap .icon32+h2{margin-top:-2px}.wp-responsive-open #wpbody{left:-190px}.postbox{font-size:14px}.metabox-holder h3{padding:12px}.postbox .handlediv{margin-top:3px}.subsubsub{font-size:16px;text-align:center;margin-bottom:15px}#templateside{float:none;width:auto}#templateside li{margin:0}#templateside li a{display:block;padding:5px}#templateside .highlight{padding:5px;margin-right:-5px;margin-top:-5px}#template div{float:none;margin:0;width:auto}#template textarea{width:100%}.fileedit-sub .alignright{margin-top:15px}#comments-form .checkforspam,#wpfooter{display:none}}@media screen and (max-width:600px){#wpwrap.wp-responsive-open{overflow-x:hidden}html.wp-toolbar{padding-top:0}#wpbody{padding-top:46px}div#post-body.metabox-holder.columns-1{overflow-x:hidden}}input,input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #bbb;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 0 0 4px;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#888}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#2ea2cc}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-left:4px;line-height:10px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{float:right;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px -4px 0 0;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}input.readonly,textarea.readonly{background-color:#ddd}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;padding:3px 5px;line-height:15px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],select,textarea{outline:0}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#333;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}select[disabled]{color:#7f7f7f}input[type=checkbox]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,textarea.disabled,textarea:disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:0}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:right;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:0;text-align:left}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:0;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 0 0 8px}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all{margin-top:1px}.tablenav .actions select{float:right;margin-left:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-right:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;right:-1px;padding:0 0 0 5px;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:right;margin:13px 1px 5px 5px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:left;margin:0}.network-admin.themes-php p.search-box{clear:right}#search-plugins input[name="s"],.search-box input[name="s"],.tagsdiv .newtag{float:right;height:28px;margin:0 0 0 4px}input[type=text].ui-autocomplete-loading{background:transparent url(../images/loading.gif) no-repeat left center;visibility:visible}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete-input.open{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border:1px solid #aaa;background-color:#efefef}.ui-autocomplete li{margin-bottom:0;white-space:nowrap;text-align:right}.ui-autocomplete li a{display:block;height:100%;padding:4px 10px;color:#444}.ui-autocomplete li a.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#222;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:right;padding:20px 0 20px 10px;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-left:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-left:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:0}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.pressthis{margin:20px 0}.pressthis a,.pressthis a:active,.pressthis a:focus,.pressthis a:hover{display:inline-block;position:relative;cursor:move;color:#333;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis a:active{outline:0}.pressthis a:hover:after{-webkit-transform:skew(20deg) rotate(9deg);-ms-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis a span{display:inline-block;margin:0;padding:0 9px 8px 12px}.pressthis a span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-left:4px}.pressthis a:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;left:10px;bottom:9px;background:0 0;-webkit-transform:skew(20deg) rotate(6deg);-ms-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}#local-time,#utc-time{padding-right:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .spinner{float:none;margin:-3px 3px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-left:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-right:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}}@media only screen and (max-width:768px){.form-field input,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media screen and (max-width:600px){.color-option{width:49%}}#adminmenu,#adminmenu .wp-submenu,#adminmenuback,#adminmenuwrap{width:160px;background-color:#222}#adminmenuback{position:absolute;top:0;bottom:0;z-index:-1}#adminmenu{clear:right;margin:12px 0 0;padding:0;list-style:none}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:36px}.icon16{height:18px;width:18px;padding:6px;margin:-6px -8px 0 0;float:right}.icon16:before{color:#999;font:400 20px/1 dashicons;speak:none;padding:6px 0;height:34px;width:20px;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.icon16.icon-dashboard:before{content:'\f226'}.icon16.icon-post:before{content:'\f109'}.icon16.icon-media:before{content:'\f104'}.icon16.icon-links:before{content:'\f103'}.icon16.icon-page:before{content:'\f105'}.icon16.icon-comments:before{content:'\f101';margin-top:1px}.icon16.icon-appearance:before{content:'\f100'}.icon16.icon-plugins:before{content:'\f106'}.icon16.icon-users:before{content:'\f110'}.icon16.icon-tools:before{content:'\f107'}.icon16.icon-settings:before{content:'\f108'}.icon16.icon-site:before{content:'\f112'}.icon16.icon-generic:before{content:'\f111'}.icon16.icon-appearance,.icon16.icon-comments,.icon16.icon-dashboard,.icon16.icon-generic,.icon16.icon-links,.icon16.icon-media,.icon16.icon-page,.icon16.icon-plugins,.icon16.icon-post,.icon16.icon-settings,.icon16.icon-site,.icon16.icon-tools,.icon16.icon-users,.menu-icon-appearance div.wp-menu-image,.menu-icon-comments div.wp-menu-image,.menu-icon-dashboard div.wp-menu-image,.menu-icon-generic div.wp-menu-image,.menu-icon-links div.wp-menu-image,.menu-icon-media div.wp-menu-image,.menu-icon-page div.wp-menu-image,.menu-icon-plugins div.wp-menu-image,.menu-icon-post div.wp-menu-image,.menu-icon-settings div.wp-menu-image,.menu-icon-site div.wp-menu-image,.menu-icon-tools div.wp-menu-image,.menu-icon-users div.wp-menu-image{background-image:none!important}#adminmenuwrap{position:relative;float:right}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#adminmenu li{margin:0;padding:0;cursor:pointer}#adminmenu a{display:block;line-height:18px;padding:2px 5px;color:#eee}#adminmenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover{background:0 0}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a:hover,#adminmenu li.menu-top>a:focus{color:#2ea2cc}#adminmenu li.menu-top{border:0;min-height:34px;position:relative}#adminmenu .wp-submenu{list-style:none;position:absolute;top:-1000em;right:160px;overflow:visible;word-wrap:break-word}#adminmenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{padding:7px 0 8px;z-index:9999;background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu a.menu-top:focus+.wp-submenu,.js #adminmenu .opensub .wp-submenu,.js #adminmenu .sub-open,.no-js li.wp-has-submenu:hover .wp-submenu{top:-1px}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu{position:relative;z-index:3;top:auto;right:auto;left:auto;bottom:auto;border:0 none;margin-top:0;-webkit-box-shadow:none;box-shadow:none;background-color:#333}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{position:relative;background-color:#111}.folded #adminmenu li.menu-top:hover,.folded #adminmenu li.opensub>a.menu-top,.folded #adminmenu li>a.menu-top:focus{z-index:10000}#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow,#adminmenu .wp-menu-arrow div,#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,.folded #adminmenu li.wp-has-current-submenu{background:#0074a2;color:#fff}.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.folded #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open,.folded #adminmenu a.menu-top:focus+.wp-submenu,.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu{top:0;right:36px}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em}#adminmenu .wp-not-current-submenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{min-width:160px;width:auto}#adminmenu .wp-submenu a{font-size:13px;line-height:1.2;margin:0;padding:6px 0}#adminmenu .opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-not-current-submenu li>a,.folded #adminmenu .wp-has-current-submenu li>a{padding-left:16px;padding-right:14px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu .wp-has-current-submenu ul>li>a,.folded #adminmenu li.menu-top .wp-submenu>li>a{padding:6px 12px}#adminmenu .wp-submenu-head,#adminmenu a.menu-top{font-size:14px;font-weight:400;line-height:18px;padding:0}#adminmenu .wp-submenu-head,.folded #adminmenu .wp-menu-name{display:none}.folded #adminmenu .wp-submenu-head{display:block}#adminmenu .wp-submenu li{padding:0;margin:0;overflow:hidden}#adminmenu .wp-menu-image img{padding:9px 0 0;opacity:.6;filter:alpha(opacity=60)}#adminmenu div.wp-menu-name{padding:8px 0}#adminmenu div.wp-menu-image{float:right;width:36px;height:34px;margin:0;text-align:center}#adminmenu div.wp-menu-image.svg{background-repeat:no-repeat;background-position:center;-webkit-background-size:20px auto;background-size:20px auto}div.wp-menu-image:before{color:#999;padding:7px 0;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu div.wp-menu-image:before{color:#999}#adminmenu .current div.wp-menu-image:before,#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}.folded #adminmenu div.wp-menu-image{width:35px;height:30px;position:absolute;z-index:25}.folded #adminmenu a.menu-top{height:34px}.no-font-face #adminmenu .wp-menu-image{display:none}.no-font-face #adminmenu div.wp-menu-name{padding:8px 12px}.no-font-face.auto-fold #adminmenu .wp-menu-name{margin-right:0}.sticky-menu #adminmenuwrap{position:fixed;z-index:9999}.wp-menu-arrow{display:none!important}ul#adminmenu a.wp-has-current-submenu{position:relative}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{left:0;border:solid 8px transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-left-color:#f1f1f1;top:50%;margin-top:-8px}.folded ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.folded ul#adminmenu a.wp-has-current-submenu:after,.folded ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{left:0;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-width:8px;top:10px;z-index:10000}.folded ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:18px}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#333}#adminmenu li.menu-top:hover .wp-menu-image img,#adminmenu li.wp-has-current-submenu .wp-menu-image img{opacity:1;filter:alpha(opacity=100)}#adminmenu li.wp-menu-separator{height:5px;padding:0;margin:0 0 6px;cursor:inherit}#adminmenu div.separator{height:2px;padding:0}#adminmenu .wp-submenu .wp-submenu-head{color:#fff;font-weight:400;font-size:14px;padding:8px 11px 8px 4px;margin:-7px 0 4px}#adminmenu li.current,.folded #adminmenu li.wp-menu-open{border:0 none}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu li a span.update-plugins{display:inline-block;background-color:#d54e21;color:#fff;font-size:9px;line-height:17px;font-weight:600;margin:1px 2px 0 0;vertical-align:top;-webkit-border-radius:10px;border-radius:10px;z-index:26}#adminmenu li .awaiting-mod span,#adminmenu li span.update-plugins span,#sidemenu li a span.update-plugins span{display:block;padding:0 6px}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod{background-color:#2ea2cc;color:#fff}#adminmenu li span.count-0,#sidemenu li a .count-0{display:none}#collapse-menu{font-size:13px;line-height:34px;margin-top:10px;color:#aaa;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}.folded #collapse-menu span{display:none}#collapse-button,#collapse-button div{width:15px;height:15px}#collapse-button{float:right;height:15px;margin:10px 11px 10px 8px;width:15px;-webkit-border-radius:10px;border-radius:10px}#wpwrap #collapse-button div{padding:0}#collapse-button div:after{content:'\f148';display:block;line-height:15px;right:-3px;top:-3px;color:#aaa;font:400 20px/1 dashicons!important;speak:none;margin:0 auto;padding:0!important;position:relative;text-align:center;width:20px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.folded #collapse-button div:after,.rtl #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.folded #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}li#wp-admin-bar-menu-toggle{display:none}@media only screen and (max-width:900px){.auto-fold #wpcontent,.auto-fold #wpfooter{margin-right:56px}.auto-fold #adminmenu,.auto-fold #adminmenu li.menu-top,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{width:36px}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.auto-fold #adminmenu .wp-submenu.sub-open,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{top:0;right:36px}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu,.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em;margin-left:-1px;padding:7px 0 8px;z-index:9999}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{min-width:150px;width:auto}.auto-fold #adminmenu .wp-has-current-submenu li>a{padding-left:16px;padding-right:14px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding-right:12px}.auto-fold #adminmenu .wp-menu-name{display:none}.auto-fold #adminmenu .wp-submenu-head{display:block}.auto-fold #adminmenu div.wp-menu-image{height:30px;width:34px;position:absolute;z-index:25}.auto-fold #adminmenu a.menu-top{height:34px}.auto-fold #adminmenu li.wp-menu-open{border:0 none}.auto-fold #adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0}.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:16px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}.auto-fold #adminmenu li.menu-top:hover,.auto-fold #adminmenu li.opensub>a.menu-top,.auto-fold #adminmenu li>a.menu-top:focus{z-index:10000}.auto-fold #collapse-menu span{display:none}.auto-fold #collapse-button div{background:0 0}.auto-fold #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.auto-fold #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}}@media screen and (max-width:782px){.auto-fold #wpcontent{position:relative;margin-right:0;padding-right:10px}.sticky-menu #adminmenuwrap{position:relative;z-index:auto;top:0}.auto-fold #adminmenu,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{position:absolute;width:190px;z-index:100}.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{display:none}.auto-fold .wp-responsive-open #adminmenuback,.auto-fold .wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu li.menu-top{width:100%}.auto-fold #adminmenu li a{font-size:16px;padding:5px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding:10px 20px 10px 10px}.auto-fold #adminmenu .wp-menu-name{display:block;margin-right:35px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li.current>a.current:after{border-width:8px;margin-top:-8px}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{display:none}#adminmenu .wp-submenu{position:relative;display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold #adminmenu .wp-menu-open .wp-submenu{position:relative;display:block;top:0;right:-1px;-webkit-box-shadow:none;box-shadow:none}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .selected .wp-submenu:after,.auto-fold #adminmenu .wp-menu-open .wp-submenu:after{display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:block}.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{position:relative;right:-1px;left:0;top:0}#adminmenu .wp-submenu .wp-submenu-head{display:none}#wp-responsive-toggle{position:fixed;top:5px;right:4px;padding-left:10px;z-index:99999;border:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpadminbar #wp-admin-bar-menu-toggle a{display:block;padding:0;overflow:hidden;outline:0;text-decoration:none;border:1px solid transparent;background:0 0;height:44px;margin-right:-1px}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#333}li#wp-admin-bar-menu-toggle{display:block}#wpadminbar #wp-admin-bar-menu-toggle a:hover{border:1px solid transparent}#wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before{content:'\f228';display:inline-block;float:right;font:400 40px/45px Dashicons;vertical-align:middle;outline:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:44px;width:50px;padding:0;border:0;text-align:center;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}@media screen and (max-width:600px){#adminmenuback,#adminmenuwrap{display:none}.wp-responsive-open #adminmenuback,.wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu{top:46px}}#wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody-content #dashboard-widgets.columns-2 .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets.columns-2 #postbox-container-2,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-4{float:left;width:50.5%}#wpbody-content #dashboard-widgets.columns-3 .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-3 #postbox-container-4{float:left}#dashboard-widgets .postbox-container,#wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}#dashboard-widgets-wrap .columns-3 #postbox-container-4 .empty-container{border:0!important}.ie8 #wpbody-content #dashboard-widgets .postbox-container{width:49.5%}.ie8 #wpbody-content #dashboard-widgets #postbox-container-2,.ie8 #wpbody-content #dashboard-widgets #postbox-container-3,.ie8 #wpbody-content #dashboard-widgets #postbox-container-4{float:left;width:50.5%}.ie8 #dashboard-widgets #postbox-container-3 .empty-container,.ie8 #dashboard-widgets #postbox-container-4 .empty-container{border:0 none;height:0;min-height:0}#dashboard-widgets-wrap{overflow:hidden;margin:0 -8px}#dashboard-widgets .postbox .inside{margin-bottom:0}#dashboard-widgets .meta-box-sortables{margin:0 8px;min-height:100px}h3.dashboard-widget-title,h3.dashboard-widget-title small,h3.dashboard-widget-title span{color:#333}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}#the-comment-list td.comment p.comment-author{margin-top:0;margin-right:0}#the-comment-list p.comment-author img{float:right;margin-left:8px}#the-comment-list p.comment-author strong a{border:0}#the-comment-list td{vertical-align:top}#the-comment-list td.comment{word-wrap:break-word}#the-comment-list td.comment img{max-width:100%}.welcome-panel{position:relative;overflow:auto;margin:16px 0;padding:23px 10px 0;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:13px;line-height:2.1em}.welcome-panel h3{margin:0;font-size:21px;font-weight:400;line-height:1.2}.welcome-panel h4{margin:1.33em 0 0;font-size:16px}.welcome-panel li{font-size:14px}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel .about-description{font-size:16px;margin:0}.welcome-panel .welcome-panel-close{position:absolute;top:5px;left:10px;padding:20px 3px 0 15px;font-size:13px;text-decoration:none;line-height:1}#welcome-panel.welcome-panel .welcome-panel-close::before{position:absolute;right:-18px;margin-top:-2px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.wp-core-ui .welcome-panel .button.button-hero{margin:15px 0 3px}.welcome-panel-content{margin-right:13px;max-width:1500px}.welcome-panel .welcome-panel-column-container{clear:both;overflow:hidden;position:relative}.welcome-panel .welcome-panel-column{width:32%;min-width:200px;float:right}.ie8 .welcome-panel .welcome-panel-column{min-width:230px}.welcome-panel .welcome-panel-column:first-child{width:36%}.welcome-panel-column p.hide-if-no-customize{margin-top:10px}.welcome-panel-column p{margin-top:7px;color:#464646}.welcome-panel .welcome-icon{display:block;padding:0 0 8px;background:transparent!important}.welcome-panel .welcome-icon:before{color:#888;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 0 0 10px;top:-1px;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;vertical-align:top}.welcome-panel .welcome-edit-page:before,.welcome-panel .welcome-write-blog:before{content:'\f119';top:-3px}.welcome-panel .welcome-add-page:before{content:'\f132'}.welcome-panel .welcome-view-site:before{content:'\f115';top:-2px}.welcome-panel .welcome-widgets-menus:before{content:'\f116';top:-2px}.welcome-panel .welcome-comments:before{content:'\f117';top:-1px}.welcome-panel .welcome-learn-more:before{content:'\f118';top:-1px}.welcome-panel .welcome-widgets-menus{line-height:16px}.welcome-panel .welcome-panel-column ul{margin:.8em 0 1em 1em}.welcome-panel .welcome-panel-column li{line-height:16px;list-style-type:none}#dashboard_primary .inside{margin:0;padding:0}#dashboard_primary .dashboard-widget-control-form,#dashboard_primary .widget-loading{padding:12px 12px 0}body #dashboard-widgets .postbox form .submit{margin:0}.dashboard-widget-control-form{overflow:hidden}.dashboard-widget-control-form p{margin-top:0}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}.rssSummary{color:#777;margin-top:4px}#dashboard_primary .rss-widget{border-bottom:1px solid #eee;font-size:13px;padding:8px 12px 10px}#dashboard_primary .rss-widget:last-child{border-bottom:0;padding-bottom:8px}#dashboard_primary .rss-widget a{font-weight:400}#dashboard_primary .rss-widget span,#dashboard_primary .rss-widget span.rss-date{color:#777}#dashboard_primary .rss-widget span.rss-date{margin-right:12px}#dashboard_primary .rss-widget ul li{margin-bottom:8px}#dashboard_right_now ul{margin:0;overflow:hidden}#dashboard_right_now li{width:50%;float:right;margin-bottom:10px}#dashboard_right_now .inside{overflow:hidden;padding:0}#dashboard_right_now .main{overflow:hidden;padding:0 12px 11px}#dashboard_right_now .main p{margin:0}#dashboard_right_now #wp-version-message .button{clear:left;float:left;position:relative;top:-5px}.mu-storage{overflow:hidden}#dashboard-widgets h4.mu-storage{margin-bottom:10px}#dashboard_right_now li a:before,#dashboard_right_now li span:before{color:#888}#dashboard_right_now .sub{color:#777;background:#f5f5f5;border-top:1px solid #eee;padding:10px 12px 6px}#dashboard_right_now .sub h4{color:#555}#dashboard_right_now .sub p{margin:0 0 1em}#dashboard_right_now .warning a:before,#dashboard_right_now .warning span:before{color:#d54e21}#dashboard_right_now li a:before,#dashboard_right_now li span:before{content:'\f159';font:400 20px/1 dashicons;speak:none;display:block;float:right;margin:0 0 0 5px;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_right_now .page-count a:before,#dashboard_right_now .page-count span:before{content:'\f105'}#dashboard_right_now .post-count a:before,#dashboard_right_now .post-count span:before{content:'\f109'}#dashboard_right_now .comment-count a:before{content:'\f101'}#dashboard_right_now .comment-mod-count a:before{content:'\f125'}#dashboard_right_now .storage-count a:before{content:'\f104'}#dashboard_right_now .storage-count.warning a:before{content:'\f153'}#dashboard_quick_press .inside{margin:0;padding:0}#dashboard_quick_press div.updated{margin-bottom:10px;border:1px solid #eee;border-width:1px 0 1px 1px}#dashboard_quick_press form{overflow:hidden;margin:12px}#dashboard_quick_press .drafts,#dashboard_quick_press .easy-blogging{padding:10px 0 0}input#save-post{float:right}form.initial-form.quickpress-open label.prompt{font-style:normal}form.initial-form.quickpress-open input#title{height:auto}#dashboard_quick_press input,#dashboard_quick_press textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0}#dashboard_quick_press textarea{resize:vertical}#description-wrap{margin-top:12px}#title-wrap #title-prompt-text,.textarea-wrap #content-prompt-text{color:#777}.input-text-wrap,.textarea-wrap{position:relative}.input-text-wrap .prompt,.textarea-wrap .prompt{position:absolute}.textarea-wrap #content-prompt-text{font-size:1.1em;padding:7px 8px}.textarea-wrap textarea#content{margin:0 0 8px;padding:6px 7px}#quick-press textarea#content{min-height:90px;max-height:1300px;resize:none}.js #dashboard_quick_press .drafts{border-top:1px solid #eee}#dashboard_quick_press .drafts abbr{border:0}#dashboard_quick_press .drafts h4{margin:0 12px 8px;font-weight:400}#dashboard_quick_press .drafts .view-all{float:left;margin:0 0 0 12px}#dashboard_primary a.rsswidget{font-weight:400}#dashboard_quick_press .drafts ul{margin:0 12px}#dashboard_quick_press .drafts li{margin-bottom:1em}#dashboard_quick_press .drafts li time{color:#777}#dashboard_quick_press .drafts p{margin:0;word-wrap:break-word}#dashboard_quick_press .draft-title{overflow:hidden}#dashboard_quick_press .draft-title a,#dashboard_quick_press .draft-title time{float:right;margin:0 0 0 5px}#dashboard-widgets #dashboard_activity h4{margin:0 12px 8px 0;font-weight:400}#dashboard-widgets #dashboard_activity h4.comment-meta{margin:0}#dashboard_activity h4.comment-meta{margin-bottom:4px}#dashboard_activity ul{padding:0 12px}#dashboard_activity .comment-meta span.approve:before{content:'\f227';font:20px/.5 dashicons;margin-right:12px;vertical-align:middle;position:relative;top:-1px;margin-left:2px}#dashboard_activity .inside{padding:0;margin:0}#dashboard_activity .no-activity{overflow:hidden;padding:0 12px 12px;text-align:center}#dashboard_activity .no-activity p{color:#999;font-size:16px}#dashboard_activity .no-activity .smiley{margin-top:0}#dashboard_activity .no-activity .smiley:before{content:'\f328';font:400 120px/1 dashicons;speak:none;display:block;margin:0 0 0 5px;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_activity .subsubsub{float:none;border-top:1px solid #eee;margin-top:0;padding:8px 12px 4px}#future-posts ul,#published-posts ul{clear:both;margin-bottom:0}#future-posts li,#published-posts li{overflow:hidden;margin-bottom:8px}#future-posts ul span,#published-posts ul span{color:#777;float:right;margin-left:8px;min-width:150px}.activity-block{border-bottom:1px solid #eee;overflow:hidden;padding:8px 0 4px}.activity-block:last-child{border-bottom:0}.activity-block .subsubsub li{color:#ddd}#activity-widget #the-comment-list div.undo,#activity-widget #the-comment-list tr.undo{background:0 0;padding:6px 0}#activity-widget #the-comment-list .alt,#activity-widget #the-comment-list .alternate{background:0 0}#activity-widget #the-comment-list .comment-item{background:#fafafa;padding:12px;position:relative}#activity-widget #the-comment-list img{position:absolute;right:13px;top:13px}#activity-widget #the-comment-list .dashboard-comment-wrap{padding-right:63px}#activity-widget #the-comment-list .dashboard-comment-wrap blockquote{margin:1em 0}#activity-widget #the-comment-list .comment-item h4{font-size:13px;color:#999}#activity-widget #the-comment-list .comment-item p.row-actions{margin:4px 0 0}#activity-widget #the-comment-list .comment-item:first-child{border-top:1px solid #eee}#activity-widget #the-comment-list .unapproved{background-color:#fef7f1}#activity-widget #the-comment-list .unapproved:before{content:"";display:block;position:absolute;right:0;top:0;bottom:0;background:#d54e21;width:4px}#activity-widget #the-comment-list .spam-undo-inside .avatar,#activity-widget #the-comment-list .trash-undo-inside .avatar{margin-left:20px;position:relative;top:0}#dashboard-widgets #dashboard_browser_nag.postbox .inside{margin:10px}.edit-box{display:none}h3:hover .edit-box{display:inline}#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:100%}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:0}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0}#dashboard-widgets a{text-decoration:none}#dashboard-widgets h3 a{text-decoration:underline}#dashboard-widgets h3 .postbox-title-action{position:absolute;left:10px;padding:0;top:5px}.js #dashboard-widgets h3 .postbox-title-action{left:33px}#dashboard-widgets h4{color:#222;font-weight:400;font-size:14px;margin:0 0 .2em;padding:0}#dashboard_plugins h5{font-size:14px}#latest-comments #the-comment-list{position:relative}#activity-widget #the-comment-list .comment{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}#activity-widget #latest-comments #the-comment-list .comment-item{padding:1em 12px}#latest-comments #the-comment-list .pingback{padding-right:12px!important}#latest-comments #the-comment-list .comment-item:first-child{border-top:0}#latest-comments #the-comment-list .comment-item h4{line-height:1.5em;margin-top:0;color:#666}#latest-comments #the-comment-list .comment-item h4 cite{font-style:normal;font-weight:400}#latest-comments #the-comment-list .comment-item blockquote,#latest-comments #the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline}#latest-comments #the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:13px}#title-wrap label{cursor:text}#title-wrap #title{padding:2px 6px;font-size:1.3em;line-height:100%;outline:0}#title-wrap #title-prompt-text{font-size:1.1em;padding:5px 8px}.rss-widget ul{margin:0;padding:0;list-style:none}a.rsswidget{font-size:14px;font-weight:600;line-height:1.7em}.rss-widget ul li{line-height:1.5em;margin-bottom:12px}.rss-widget span.rss-date{color:#999;font-size:13px;margin-right:3px}.rss-widget cite{display:block;text-align:left;margin:0 0 1em;padding:0}.rss-widget cite:before{content:'\2014'}.dashboard-comment-wrap{overflow:hidden;word-wrap:break-word}#dashboard_browser_nag a.update-browser-link{font-size:1.2em;font-weight:600}#dashboard_browser_nag a{text-decoration:underline}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-left:125px}#dashboard_browser_nag .browser-icon{margin-top:-35px}#dashboard_browser_nag.postbox.browser-insecure{background-color:#ac1b1b;border-color:#ac1b1b}#dashboard_browser_nag.postbox{background-color:#e29808;background-image:none;border-color:#edc048;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag.postbox.browser-insecure h3{border-bottom-color:#cd5a5a;color:#fff}#dashboard_browser_nag.postbox h3{border-bottom-color:#f6e2ac;background:transparent none;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag h3.hndle{border:0;font-weight:600;font-size:20px;padding-top:10px}.postbox#dashboard_browser_nag p a.dismiss{font-size:14px}.postbox#dashboard_browser_nag a,.postbox#dashboard_browser_nag p,.postbox#dashboard_browser_nag p.browser-update-nag{font-size:16px}@media only screen and (max-width:799px){#wpbody-content #dashboard-widgets .postbox-container{width:100%}}@media only screen and (min-width:800px) and (max-width:1499px){#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:left;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0 none;height:0;min-height:0}#wpbody #wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody #wpbody-content .metabox-holder.columns-1 .postbox-container .empty-container{border:0 none;height:0;min-height:0}.index-php .columns-prefs,.index-php .screen-layout{display:block}.columns-prefs .columns-prefs-3,.columns-prefs .columns-prefs-4{display:none}}@media only screen and (min-width:1500px) and (max-width:1800px){#wpbody-content #dashboard-widgets .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:left}#dashboard-widgets #postbox-container-4 .empty-container{border:0 none;height:0;min-height:0}}@media screen and (max-width:870px){.welcome-panel .welcome-panel-column,.welcome-panel .welcome-panel-column:first-child{display:block;float:none;width:100%}.welcome-panel .welcome-panel-column li{display:inline-block;margin-left:13px}.welcome-panel .welcome-panel-column ul{margin:.4em 0 0}}@media screen and (max-width:782px){#dashboard_recent_comments #the-comment-list .comment-item .avatar{height:30px;width:30px;margin:4px 0 5px 10px}}@media screen and (max-width:600px){.welcome-panel .welcome-panel-close{overflow:hidden;text-indent:100%;white-space:nowrap;width:20px;height:20px;left:0;padding:5px}#welcome-panel.welcome-panel .welcome-panel-close::before{font-size:20px;margin:0}}.post-com-count-wrapper{min-width:22px}.post-com-count{background:0 0;height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;background-position:center -80px;background-repeat:no-repeat;color:#fff}.post-com-count:after{content:"";display:block;width:0;height:0;margin-right:8px;border-top:5px solid #bbb;border-left:5px solid transparent}.post-com-count span{font-size:11px;font-weight:600;height:1.4em;line-height:1.4em;min-width:.7em;padding:0 6px;display:inline-block;-webkit-border-radius:5px;border-radius:5px;background-color:#bbb;color:#fff}.post-com-count:hover{background-position:center -3px}.post-com-count:hover span{background-color:#2ea2cc}.post-com-count:hover:after{border-top:5px solid #2ea2cc}strong .post-com-count{background-position:center -55px}strong .post-com-count span{background-color:#0074a2}strong .post-com-count:after{border-top:5px solid #0074a2}.column-response .post-com-count{float:right;margin-left:5px;text-align:center}.response-links{float:right}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom:1px solid #ccc}.commentlist li li{border-bottom:0;padding:0}.commentlist p{padding:0;margin:0 0 .8em}#submitted-on,.submitted-on{color:#777}#replyrow td{padding:2px}#replysubmit{margin:0;padding:0 5px 3px;text-align:center}#replysubmit .spinner{padding:2px 0 0;vertical-align:top;float:left}#replysubmit .button{margin-left:5px}#replysubmit .error{color:red;line-height:21px;text-align:center}#replyrow h5{margin:.2em 0 0;padding:0 5px;line-height:1.4em;font-size:1em}#edithead .inside{float:right;padding:3px 5px 2px 0;margin:0;text-align:center}#edithead .inside input{width:180px}#edithead label{padding:2px 0}#replycontainer{padding:5px}#replycontent{height:120px;-webkit-box-shadow:none;box-shadow:none}#replyerror{border-color:#ddd;background-color:#f9f9f9}.commentlist .avatar{vertical-align:text-top}#the-comment-list .attachment-80x60{padding:4px 8px}#the-comment-list div.undo,#the-comment-list tr.undo{background-color:#f4f4f4}#the-comment-list .unapproved td,#the-comment-list .unapproved th{background-color:#fef7f1}#the-comment-list .unapproved th.check-column{border-right:4px solid #d54e21}#the-comment-list .unapproved th.check-column input{margin-right:4px}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list td,#the-comment-list th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#the-comment-list tr:last-child td,#the-comment-list tr:last-child th{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved td,#the-comment-list tr.unapproved+tr.approved th{border-top:1px solid rgba(0,0,0,.03)}.vim-current,.vim-current td,.vim-current th{background-color:#e4f2fd!important}th .comment-grey-bubble{height:16px;width:16px}th .comment-grey-bubble:before{content:'\f101';font:400 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:4px;right:-4px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}table.fixed{table-layout:fixed}.fixed .column-rating,.fixed .column-visible{width:8%}.fixed .column-author,.fixed .column-date,.fixed .column-format,.fixed .column-links,.fixed .column-parent,.fixed .column-posts{width:10%}.fixed .column-comment .comment-author{display:none}.fixed .column-categories,.fixed .column-rel,.fixed .column-response,.fixed .column-role,.fixed .column-tags{width:15%}.fixed .column-slug{width:25%}.fixed .column-locations{width:35%}.fixed .column-comments{width:4em;padding:8px 0;text-align:right}.fixed .column-comments .vers{padding-right:3px}.fixed .column-comments a{float:right}.fixed .column-icon{width:80px}.wp-list-table a{-webkit-transition:none;transition:none}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:0!important;-webkit-box-shadow:none;box-shadow:none}#comments-form .fixed .column-author{width:20%}#commentsdiv.postbox .inside{margin:0;padding:0}#commentsdiv .inside .row-actions{line-height:18px}#commentsdiv .inside .column-author{width:25%}#commentsdiv .column-comment p{margin:.6em 0;padding:0}#commentsdiv #replyrow td{padding:0}#commentsdiv p{padding:8px 10px;margin:0}#commentsdiv .comments-box{border:0 none}#commentsdiv .comments-box thead th{background:0 0;padding:0 7px 4px;font-style:italic}#commentsdiv .comments-box tr:last-child td{border-bottom:0 none}#commentsdiv .spinner{padding-right:5px}.sorting-indicator{display:none;width:10px;height:4px;margin-top:8px;margin-right:7px}.sorting-indicator:before{background:0 0;content:'\f142';font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0;top:-4px;right:-8px;line-height:10px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}.column-comments .sorting-indicator:before{top:0;right:-10px}th.desc:hover span.sorting-indicator:before,th.sorted.asc .sorting-indicator:before{content:'\f142'}th.asc:hover span.sorting-indicator:before,th.sorted.desc .sorting-indicator:before{content:'\f140'}tr.wp-locked .locked-indicator{margin-right:6px;height:20px;width:16px}tr.wp-locked .locked-indicator:before{color:#888;content:'\f160';display:inline-block;float:right;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-right:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}tr.wp-locked .check-column input[type=checkbox],tr.wp-locked .check-column label,tr.wp-locked .row-actions .inline,tr.wp-locked .row-actions .trash{display:none}tr .locked-info{height:0;opacity:0}tr.wp-locked .locked-info{margin-top:8px;height:auto;opacity:1}.locked-text{vertical-align:top}tr.locked-info,tr.wp-locked .locked-info{-webkit-transition:height 1s,opacity .5s;transition:height 1s,opacity .5s}.fixed .column-comments .sorting-indicator{margin-top:3px}#menu-locations-wrap .widefat{width:60%}.widefat th.sortable,.widefat th.sorted{padding:0}th.sortable a,th.sorted a{display:block;overflow:hidden;padding:7px 10px 8px 7px}th.manage-column a,th.sortable a:active,th.sortable a:focus,th.sortable a:hover{color:#333}th.sortable a:focus{background:#e1e1e1}.fixed .column-comments.sortable a,.fixed .column-comments.sorted a{padding:8px 0}th.sortable a span,th.sorted a span{float:right;cursor:pointer}th.desc:hover span.sorting-indicator,th.sorted.asc .sorting-indicator{display:block;background-position:0 0}th.asc:hover span.sorting-indicator,th.sorted.desc .sorting-indicator{display:block;background-position:-7px 0}.tablenav-pages a{font-weight:600;margin-left:1px;padding:0 2px}.tablenav-pages .current-page{padding-top:0;text-align:center}.tablenav-pages .next-page{margin-right:2px}.tablenav a.button-secondary{display:block;margin:3px 0 0 8px}.tablenav{clear:both;height:30px;margin:6px 0 4px;vertical-align:middle}.tablenav.themes{max-width:98%}.tablenav .tablenav-pages{float:left;display:block;cursor:default;height:30px;color:#555;line-height:30px;font-size:12px}.tablenav .no-pages,.tablenav .one-page .pagination-links{display:none}.tablenav .tablenav-pages a,.tablenav-pages span.current{text-decoration:none;padding:3px 6px}.tablenav .tablenav-pages a{padding:0 10px 3px;background:#eee;background:rgba(0,0,0,.05);font-size:16px;font-weight:400}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:active,.tablenav .tablenav-pages a.disabled:focus,.tablenav .tablenav-pages a.disabled:hover{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .displaying-num{margin-left:2px;color:#777;font-size:12px;font-style:italic}.tablenav .actions{overflow:hidden;padding:2px 0 0 8px}.tablenav .delete{margin-left:20px}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}.view-switch{float:left;margin:5px 8px 0 16px}.view-switch img{display:none}.view-switch a{text-decoration:none}.view-switch>a{display:inline-block;width:18px;height:18px}.view-switch>a:before{color:#bbb;content:'\f163';display:inline-block;float:right;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-right:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}.view-switch>a+a:before{margin-right:5px;content:'\f164'}.filter{float:right;margin:-5px 10px 0 0}.filter .subsubsub{margin-right:-10px;margin-top:13px}.screen-per-page{width:4em}#posts-filter fieldset{float:right;margin:0 0 1em 1.5ex;padding:0}#posts-filter fieldset legend{padding:0 1px .2em 0}p.pagenav{margin:0;display:inline}.pagenav span{font-weight:600;margin:0 6px}.row-title{font-size:14px!important;font-weight:600}.column-comment .comment-author{margin-bottom:.6em}.column-author img,.column-comment .comment-author img,.column-username img{float:right;margin-left:10px;margin-top:1px}.row-actions{color:#ddd;font-size:13px;visibility:hidden;padding:2px 0 0}.mobile .row-actions,.row-actions.visible,div.comment-item:hover .row-actions,tr:hover .row-actions{visibility:visible}.row-actions-visible{padding:2px 0 0}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:right;margin:0;padding:0;width:100%}#wpbody-content .inline-edit-row fieldset .inline-edit-col,tr.inline-edit-row td{padding:0 .5em}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 1px 0 0;border-style:none none none solid}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:40%}#wpbody-content .quick-edit-row-post .inline-edit-col-right{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:20%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:50%}#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .quick-edit-row-page .inline-edit-col-right{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:30%}#wpbody-content .bulk-edit-row-page .inline-edit-col-right{width:69%}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:left;width:69%}#wpbody-content .inline-edit-row-page .inline-edit-col-right{margin-top:27px}.inline-edit-row fieldset .inline-edit-group{clear:both}.inline-edit-row fieldset .inline-edit-group:after{content:".";display:block;height:0;clear:both;visibility:hidden}.inline-edit-row p.submit{clear:both;padding:.5em;margin:.5em 0 0}.inline-edit-row span.error{line-height:22px;margin:0 15px;padding:3px 5px}.inline-edit-row h4{margin:.2em 0;padding:0;line-height:23px}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{margin:0;padding:0}.inline-edit-row fieldset label,.inline-edit-row fieldset span.inline-edit-categories-label{display:block;margin:.2em 0}.inline-edit-row fieldset label.inline-edit-tags{margin-top:0}.inline-edit-row fieldset label.inline-edit-tags span.title{margin:.2em 0;width:auto}.inline-edit-row fieldset label span.title{display:block;float:right;width:5em}.inline-edit-row fieldset label span.input-text-wrap{display:block;margin-right:5em}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{width:auto;padding-left:.5em}.inline-edit-row .input-text-wrap input[type=text]{width:100%}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:text-bottom}.inline-edit-row fieldset label textarea{width:100%;height:4em}#wpbody-content .bulk-edit-row fieldset .inline-edit-group label{max-width:50%}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-left:.5em}.inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input{width:6em}.inline-edit-save .spinner{padding:4px 10px 0;vertical-align:top;float:left}.inline-edit-row h4{text-transform:uppercase}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{font-style:italic;line-height:1.8em}.inline-edit-row fieldset .inline-edit-date{float:right}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{font-size:12px;width:2.1em}.inline-edit-row fieldset input[name=aa]{font-size:12px;width:3.5em}.inline-edit-row fieldset label input.inline-edit-password-input{width:8em}ul.cat-checklist{height:12em;border:solid 1px #ddd;overflow-y:scroll;padding:0 5px;margin:0;background-color:#fff}#bulk-titles{display:block;height:12em;border:1px solid #ddd;overflow-y:scroll;padding:0 5px;margin:0 0 5px}.inline-edit-row fieldset ul.cat-checklist input,.inline-edit-row fieldset ul.cat-checklist li{margin:0;position:relative}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-style:normal;font-size:11px}.inline-edit-row fieldset label input.inline-edit-menu-order-input{width:3em}.inline-edit-row fieldset label input.inline-edit-slug-input{width:75%}.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{max-width:80%}.ie8 .inline-edit-row #post_parent,.ie8 .inline-edit-row select[name=page_template]{width:250px}.quick-edit-row-post fieldset label.inline-edit-status{float:right}#bulk-titles{line-height:140%}#bulk-titles div{margin:.2em .3em}#bulk-titles div a{cursor:pointer;display:block;float:right;height:18px;margin:0 -2px 0 3px;overflow:hidden;position:relative;width:20px}#bulk-titles div a:before{position:relative;top:-3px}.plugins tbody,.plugins tbody th.check-column{padding:8px 2px 0 0}.plugins tbody th.check-column input[type=checkbox]{margin-top:4px}#update-plugins-table tbody td p{margin-top:0}#update-plugins-table tbody td p strong{font-size:14px}.plugins .inactive th.check-column,.plugins tfoot th.check-column,.plugins thead th.check-column{padding-right:6px}#update-plugins-table tfoot th.check-column,#update-plugins-table thead th.check-column{padding-top:11px}.plugins,.plugins td,.plugins th{color:#000}.plugins tr{background:#fff}.plugins p{margin:0 4px;padding:0}.plugins .desc p{margin:0 0 8px}.plugins td.desc{line-height:1.5em}.plugins .desc ol,.plugins .desc ul{margin:0 2em 0 0}.plugins .desc ul{list-style-type:disc}.plugins .row-actions{font-size:13px}.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th{padding:10px 9px}.plugins .active td,.plugins .active th{background-color:#f7fcfe}.plugins .update td,.plugins .update th{border-bottom:0}.plugin-update-tr td{border-top:0}.plugin-install #the-list td,.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th,.upgrade .plugins td,.upgrade .plugins th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active.plugin-update-tr+tr.inactive th{border-top:1px solid rgba(0,0,0,.03);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1;box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1}.plugins .update td,.plugins .update th,.plugins tr.active+tr.inactive.update td,.plugins tr.active+tr.inactive.update th,.upgrade .plugins tr:last-of-type td,.upgrade .plugins tr:last-of-type th{-webkit-box-shadow:none;box-shadow:none}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update{background-color:#fef7f1}.plugins .active th.check-column{border-right:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-right:4px solid #d54e21}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-left:12px;white-space:nowrap}.plugins .inactive .plugin-title strong{font-weight:400}.plugins .row-actions,.plugins .second{padding:0 0 5px}.plugins .update .row-actions,.plugins .update .second{padding-bottom:0}.plugins-php .widefat tfoot td,.plugins-php .widefat tfoot th{border-top-style:solid;border-top-width:1px}.plugin-update-tr .update-message{font-size:13px;font-weight:400;padding:6px 12px;margin:0 31px 8px 10px;background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}.plugin-update-tr .update-message:before{color:#d54e21;content:'\f463';display:inline-block;font:400 20px/1 dashicons;speak:none;margin:0 -2px 0 8px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.plugins .plugin-update{padding:0;border:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}tr.active+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-install-php h4{margin:2.5em 0 8px}.wp-list-table .site-deleted{background:#ff8573}.wp-list-table .site-spammed{background:#faafaa}.wp-list-table .site-archived{background:#ffebe8}.wp-list-table .site-mature{background:#fecac2}@media screen and (max-width:782px){.tablenav{height:auto}.tablenav.top{margin:0}.tablenav.bottom{position:relative;margin-top:15px}.tablenav br{display:none}.tablenav br.clear{display:block}.tablenav.top .actions,.tablenav.top .displaying-num,.view-switch{display:none}.tablenav.bottom .displaying-num{position:absolute;left:0;top:10px;font-size:14px}.tablenav-pages{width:100%;text-align:center;margin:0 0 25px}.tablenav.bottom .tablenav-pages{margin-top:25px}.tablenav.top .tablenav-pages.one-page{display:none}.tablenav.bottom .tablenav-pages.one-page{margin:15px 0 0;height:0}.tablenav-pages .pagination-links .paging-input{font-size:18px}.tablenav-pages .pagination-links a{padding:8px 20px 11px;font-size:18px;background:rgba(0,0,0,.05)}.tablenav-pages .pagination-links .current-page{padding:10px;font-size:14px}.form-wrap>p{display:none}.comment-count{font-size:14px}.column-categories,.column-tags,.fixed .column-author,.fixed .column-date,.media .column-parent,.sites .column-registered,.sites .column-users,.tags .column-description,.users .column-email,.users .column-name{display:none}.fixed .column-comment .comment-author{display:block}.column-title{width:85%}.fixed .column-comments,.widefat .check-column{width:35px}.widefat tfoot .check-column,.widefat thead .check-column{padding:10px 0}.widefat *{word-wrap:normal}#wpbody-content .bulk-edit-row .inline-edit-col-bottom,#wpbody-content .bulk-edit-row .inline-edit-col-left,#wpbody-content .bulk-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .inline-edit-row-post .inline-edit-col-center,#wpbody-content .quick-edit-row-page .inline-edit-col-left,#wpbody-content .quick-edit-row-page .inline-edit-col-right,#wpbody-content .quick-edit-row-post .inline-edit-col-left,#wpbody-content .quick-edit-row-post .inline-edit-col-right{float:none;width:100%}#wpbody-content .bulk-edit-row fieldset .inline-edit-col label,#wpbody-content .bulk-edit-row fieldset .inline-edit-group label,#wpbody-content .quick-edit-row fieldset .inline-edit-col label,#wpbody-content .quick-edit-row fieldset .inline-edit-group label{max-width:none;float:none;margin-bottom:5px}#wpbody .bulk-edit-row fieldset select{display:block;width:100%;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-size:16px}.inline-edit-row fieldset label span.title{float:none}.inline-edit-row fieldset label.inline-edit-tags{padding:0 .5em}.inline-edit-row fieldset .inline-edit-col label.inline-edit-tags{padding:0}.inline-edit-row fieldset label span.input-text-wrap{margin-right:0}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{width:3em}.inline-edit-row fieldset input[name=aa]{width:4.5em}#bulk-titles div{margin:.8em .3em}#bulk-titles div a{height:22px}.tags .column-posts{width:50px}.tags .column-slug{width:30%}.comments .column-response,.users .column-role{width:35%}.sites .column-blogname{width:55%}#wpbody-content #update-themes-table .plugin-title{width:auto}.link-manager-php #posts-filter{margin-top:25px}.link-manager-php .tablenav.bottom{overflow:hidden}.wp-list-table.plugins{position:relative;margin-top:35px;margin-bottom:50px}#wpbody-content .wp-list-table.plugins tfoot .column-description,.wp-list-table.plugins th#description,.wp-list-table.plugins thead .column-description{display:none}#wpbody-content .wp-list-table.plugins,#wpbody-content .wp-list-table.plugins .column-description,#wpbody-content .wp-list-table.plugins .manage-column.column-name,#wpbody-content .wp-list-table.plugins .plugin-title,#wpbody-content .wp-list-table.plugins .plugin-update,#wpbody-content .wp-list-table.plugins .theme-title,#wpbody-content .wp-list-table.plugins tbody,#wpbody-content .wp-list-table.plugins thead,#wpbody-content .wp-list-table.plugins tr{display:block;width:auto}.wp-list-table.plugins tfoot,.wp-list-table.plugins thead{position:absolute;top:-35px;right:0;left:0;width:auto;height:35px}.wp-list-table.plugins tfoot{bottom:-35px;top:auto}.active,.inactive{padding-top:0}.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-top:13px;padding-bottom:4px}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title,.wp-list-table.plugins tbody th{-webkit-box-shadow:none;box-shadow:none}.plugins tbody{padding:1px 0 0}.plugins tr.active+tr.inactive td.column-description{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column{border-top:0}.wp-list-table.plugins .column-description{padding-top:0}.wp-list-table.plugins .column-description,.wp-list-table.plugins .manage-column.column-name,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-left:12px;padding-right:46px}.wp-list-table.plugins tr{position:relative}.wp-list-table.plugins th.check-column,.wp-list-table.plugins tr.update th.check-column{position:absolute;height:auto;top:0;bottom:0;right:0;padding-right:2px;padding-top:18px}.wp-list-table.plugins tfoot th.check-column,.wp-list-table.plugins thead th.check-column{padding-right:3px;padding-top:11px;background:0 0}.widefat tbody th.check-column input[type=checkbox]{margin-top:-3px;margin-right:8px}.wp-list-table.plugins .active .check-column input,.wp-list-table.plugins .update .check-column input{margin-right:5px}.wp-list-table.plugins tfoot .check-column input,.wp-list-table.plugins thead .check-column input{margin-top:-6px}.wp-list-table.plugins .active th.check-column{background:0 0}.wp-list-table.plugins .plugin-title strong,.wp-list-table.plugins .theme-title strong{font-size:1.4em;line-height:1.6em}table.plugin-install .column-description,table.plugin-install .column-name,table.plugin-install .column-rating,table.plugin-install .column-version{display:block;width:auto}table.plugin-install th.column-description,table.plugin-install th.column-name,table.plugin-install th.column-rating,table.plugin-install th.column-version{display:none}table.plugin-install td.column-name strong{font-size:1.4em;line-height:1.6em}table.plugin-install #the-list td{-webkit-box-shadow:none;box-shadow:none}table.plugin-install #the-list tr{display:block;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}}#poststuff{padding-top:10px;min-width:763px}#poststuff #post-body{padding:0}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-left:300px}#show-comments{overflow:hidden}#save-action .spinner,#show-comments .spinner,#show-comments a{float:right}#lost-connection-notice .spinner{display:block;float:right;margin:0 0 0 5px}#titlediv{position:relative;margin-bottom:10px}#titlediv label{cursor:text}#titlediv div.inside{margin:0}#poststuff #titlewrap{border:0;padding:0}#titlediv #title{padding:3px 8px;font-size:1.7em;line-height:100%;height:1.7em;width:100%;outline:0;margin:0;background-color:#fff}#titlediv #title-prompt-text{color:#777;position:absolute;font-size:1.7em;padding:11px 10px}#wp-fullscreen-save .fs-saved{color:#999;float:left;margin-top:4px}#poststuff .inside-submitbox,#side-sortables .inside-submitbox{margin:0 3px;font-size:11px}input#link_description,input#link_url{width:98%}#pending{background:0 none;border:0 none;padding:0;font-size:11px;margin-top:-1px}#edit-slug-box{line-height:24px;min-height:25px;margin-top:5px;padding:0 10px;color:#666}#edit-slug-box .cancel{margin-left:10px;font-size:11px}#editable-post-name-full{display:none}#editable-post-name{background-color:#fffbcc}#editable-post-name input{font-size:13px;height:22px;margin:0;width:16em}.postarea h3 label{float:right}.submitbox .submit{text-align:right;padding:12px 10px 10px;font-size:11px;background-color:#464646;color:#ccc}.submitbox .submitdelete{text-decoration:none;padding:1px 2px}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.submitbox .submit a:hover{text-decoration:underline}.submitbox .submit input{margin-bottom:8px;margin-left:4px;padding:6px}.inside-submitbox #post_status{margin:2px -2px 2px 0}#post-status-select{margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{position:relative;min-width:255px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:transparent none;border:0 none;float:left;padding:0 12px;margin:0}.category-add input[type=text],.category-add select{width:100%;max-width:260px;vertical-align:baseline}#side-sortables .category-add input[type=text],#side-sortables .category-add select{margin:0 0 1em}#side-sortables .add-menu-item-tabs li,.wp-tab-bar li,ul.category-tabs li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}#side-sortables .add-menu-item-tabs a,.category-tabs a,.wp-tab-bar a{text-decoration:none}#post-body ul.add-menu-item-tabs li.tabs a,#post-body ul.category-tabs li.tabs a,#side-sortables .add-menu-item-tabs .tabs a,#side-sortables .category-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}.category-tabs{margin:8px 0 5px}#category-adder h4{margin:10px 0}#side-sortables .add-menu-item-tabs,.wp-tab-bar{margin-bottom:3px}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:0 7px 5px}#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover,#side-sortables .submitbox .submit input{border:0 none}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0}ul.add-menu-item-tabs,ul.category-tabs,ul.wp-tab-bar{margin-top:12px}ul.add-menu-item-tabs li,ul.category-tabs li{border:solid 1px transparent;position:relative}.wp-tab-active,ul.add-menu-item-tabs li.tabs,ul.category-tabs li.tabs{border:1px solid #dfdfdf;border-bottom-color:#fdfdfd;background-color:#fdfdfd}ul.add-menu-item-tabs li,ul.category-tabs li,ul.wp-tab-bar li{padding:3px 5px 5px}#postimagediv .inside img{max-width:100%;height:auto}form#tags-filter{position:relative}td.plugin-title strong,td.post-title strong{display:block;margin-bottom:.2em;font-size:14px}td.plugin-title p,td.post-title p{margin:6px 0}.ui-tabs-hide,.wp-hidden-children .wp-hidden-child{display:none}#post-body .tagsdiv #newtag{margin-left:5px;width:16em}#side-sortables input#post_password{width:94%}#side-sortables .tagsdiv #newtag{width:68%}#post-status-info{width:100%;border-spacing:0;border:1px solid #e5e5e5;border-top:0;background-color:#f7f7f7;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}#post-status-info td{font-size:12px}.autosave-info{padding:2px;text-align:left}#editorcontent #post-status-info{border:0}#content-resize-handle{background:transparent url(../images/resize.gif) no-repeat scroll left bottom;width:12px;cursor:row-resize}.rtl #content-resize-handle{background:transparent url(../images/resize-rtl.gif) no-repeat scroll right bottom}#wp-word-count{display:block;padding:2px 10px}#timestampdiv select{height:21px;line-height:14px;padding:0;vertical-align:top;font-size:12px}#aa,#hh,#jj,#mn{padding:1px;font-size:12px}#hh,#jj,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{padding:2px 0 1px;display:inline!important;height:auto!important}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before,span.wp-media-buttons-icon:before{color:#888}#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before{font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 0 0 2px;top:0;right:-1px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}#post-body #visibility:before{content:'\f177'}.curtime #timestamp:before{content:'\f145';top:-1px}#post-body .misc-pub-revisions:before{content:'\f321'}#timestampdiv{padding-top:5px;line-height:23px}#timestampdiv p{margin:8px 0 6px}#timestampdiv input{border-width:1px;border-style:solid}.notification-dialog{position:fixed;top:30%;right:50%;width:450px;margin-right:-225px;background:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);line-height:1.5;z-index:1000005}.notification-dialog-background{position:fixed;top:0;right:0;left:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000000}#post-lock-dialog .post-locked-message,#post-lock-dialog .post-taken-over{margin:25px}#post-lock-dialog .post-locked-message a.button{margin-left:10px}#post-lock-dialog .post-locked-avatar{float:right;margin:0 0 20px 20px}#post-lock-dialog .wp-tab-first{outline:0}#post-lock-dialog .locked-saving img{float:right;margin-left:3px}#post-lock-dialog.saved .locked-saved,#post-lock-dialog.saving .locked-saving{display:inline}#excerpt,.attachmentlinks{margin:0;height:4em;width:98%}.tagchecklist{margin-right:14px;font-size:12px;overflow:auto}.tagchecklist br{display:none}.tagchecklist strong{margin-right:-8px;position:absolute}.tagchecklist span{margin-left:25px;display:block;float:right;font-size:13px;line-height:1.8em;white-space:nowrap;cursor:default}.tagchecklist span a{margin:1px -17px 0 0;cursor:pointer;width:20px;height:20px;display:block;float:right;text-indent:0;overflow:hidden;position:absolute}#poststuff h2{margin-top:20px;font-size:1.5em;margin-bottom:15px;padding:0 0 3px;clear:right}#poststuff h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#poststuff .inside{margin:6px 0 0}#poststuff .inside #page_template,#poststuff .inside #parent_id{max-width:100%}#poststuff .inside label.deleted,#poststuff .inside label.spam{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}.ie8 #poststuff .inside #page_template,.ie8 #poststuff .inside #parent_id{width:250px}#post-visibility-select{line-height:1.5em;margin-top:3px}#poststuff #submitdiv .inside{margin:0;padding:0}.edit-form-section{margin-bottom:20px}#postcustomstuff thead th{padding:5px 8px 8px;background-color:#f1f1f1}#postcustom #postcustomstuff .submit{border:0 none;float:none;padding:0 8px 8px}#side-sortables #postcustom #postcustomstuff .submit{margin:0;padding:0}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px}#side-sortables #postcustom #postcustomstuff td.left input,#side-sortables #postcustom #postcustomstuff td.left select,#side-sortables #postcustomstuff #newmetaleft a{margin:3px 3px 0}#postcustomstuff table{margin:0;width:100%;border:1px solid #dfdfdf;border-spacing:0;background-color:#f9f9f9}#postcustomstuff tr{vertical-align:top}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:96%;margin:8px}#side-sortables #postcustomstuff table input,#side-sortables #postcustomstuff table select,#side-sortables #postcustomstuff table textarea{margin:3px}#postcustomstuff td.left,#postcustomstuff th.left{width:38%}#postcustomstuff .submit input{margin:0;width:auto}#postcustomstuff #newmetaleft a{display:inline-block;margin:0 8px 8px;text-decoration:none}.no-js #postcustomstuff #enternew{display:none}#post-body-content .compat-attachment-fields{margin-bottom:20px}.compat-attachment-fields th{padding-top:5px;padding-left:10px}#select-featured-image{padding:4px 0;overflow:hidden}#select-featured-image img{max-width:100%;height:auto;margin-bottom:10px}#select-featured-image a{float:right;clear:both}#select-featured-image .remove{display:none;margin-top:10px}.js #select-featured-image.has-featured-image .remove{display:inline-block}.no-js #select-featured-image .choose{display:none}.post-state-format{overflow:hidden;display:inline-block;vertical-align:middle;height:20px;width:20px;margin-left:5px;margin-top:-4px}.post-state-format:before{display:block;height:20px;width:20px;font:400 20px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon:before,.post-state-format:before{color:#ddd;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}a.post-format-icon:hover:before,a.post-state-format:hover:before{color:#2ea2cc}#post-formats-select{line-height:2em}#post-formats-select .post-format-icon:before{top:5px}input.post-format{margin-top:1px}label.post-format-icon{margin-right:0;padding:2px 0}.post-format-icon:before{position:relative;display:inline-block;margin-left:7px;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon.post-format-standard:before,.post-state-format.post-format-standard:before,a.post-state-format.format-standard:before{content:'\f109'}.post-format-icon.post-format-image:before,.post-state-format.post-format-image:before,a.post-state-format.format-image:before{content:'\f128'}.post-format-icon.post-format-gallery:before,.post-state-format.post-format-gallery:before,a.post-state-format.format-gallery:before{content:'\f161'}.post-format-icon.post-format-audio:before,.post-state-format.post-format-audio:before,a.post-state-format.format-audio:before{content:'\f127'}.post-format-icon.post-format-video:before,.post-state-format.post-format-video:before,a.post-state-format.format-video:before{content:'\f126'}.post-format-icon.post-format-chat:before,.post-state-format.post-format-chat:before,a.post-state-format.format-chat:before{content:'\f125'}.post-format-icon.post-format-status:before,.post-state-format.post-format-status:before,a.post-state-format.format-status:before{content:'\f130'}.post-format-icon.post-format-aside:before,.post-state-format.post-format-aside:before,a.post-state-format.format-aside:before{content:'\f123'}.post-format-icon.post-format-quote:before,.post-state-format.post-format-quote:before,a.post-state-format.format-quote:before{content:'\f122'}.post-format-icon.post-format-link:before,.post-state-format.post-format-link:before,a.post-state-format.format-link:before{content:'\f103'}.category-adder{margin-right:120px;padding:4px 0}.category-adder h4{margin:0 0 8px}#side-sortables .category-adder{margin:0}.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,.wp-tab-panel{min-height:42px;max-height:200px;overflow:auto;padding:0 .9em;border:solid 1px #dfdfdf;background-color:#fdfdfd}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.inline-editor ul.cat-checklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,ul.export-filters{margin-right:18px}ul.categorychecklist li{margin:0;padding:0;line-height:22px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap label{display:block;padding:2px;font-size:12px}.form-field input,.form-field textarea{border-style:solid;border-width:1px;width:95%}.form-wrap p,p.description{margin:2px 0 5px;color:#666}.form-wrap p,p.description,p.help,span.description{font-size:13px;font-style:italic}.form-wrap .form-field{margin:0 0 10px;padding:8px 0}.form-wrap .form-field #parent{max-width:100%}.col-wrap h3{margin:12px 0;font-size:1.1em}.col-wrap p.submit{margin-top:-10px}.tagsdiv{margin-top:-8px}#poststuff .taghint{color:#aaa;margin:15px 12px -24px 0}#poststuff .tagsdiv .howto{margin:0 0 6px}.ajaxtag .newtag{position:relative}.tagsdiv .newtag{width:180px}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px}#post-body-content .tagsdiv .the-tags{margin:0 5px}.taghint{color:#aaa;margin:-17px 7px 0 0;visibility:hidden}input.newtag~div.taghint{visibility:visible}input.newtag:focus~div.taghint{visibility:hidden}p.popular-tags{border:0;line-height:2em;max-width:1000px;padding:8px 12px 12px;text-align:justify}p.popular-tags a{padding:0 3px}.tagcloud{width:97%;margin:0 0 40px;text-align:justify}.tagcloud h3{margin:2px 0 12px}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border:1px solid gray;background-color:#fff}.wp-customizer .ac_results{z-index:500000}.ac_results li{padding:2px 5px;white-space:nowrap;color:#101010;text-align:right}.ac_over{background-color:#f0f0b8;cursor:pointer}.ac_match{text-decoration:underline}.comment-php .wp-editor-area{height:200px}.comment-ays{margin-bottom:0;border-bottom-style:solid;border-bottom-width:1px}.comment-ays .alt{background-color:transparent}.spam-undo-inside,.trash-undo-inside{margin:1px 0 1px 8px;line-height:16px}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-left:8px;vertical-align:middle}.stuffbox .editcomment{clear:none}#comment-status-radio p{margin:3px 0 5px}#comment-status-radio input{margin:2px 0 5px 3px;vertical-align:middle}#comment-status-radio label{padding:5px 0}table.links-table{width:100%;border-spacing:0}.links-table th{font-weight:400;text-align:right;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table td,.links-table th{padding:5px 0}.links-table td label{margin-left:8px}.links-table td input[type=text],.links-table td textarea{width:100%}.links-table #link_rel{max-width:280px}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-2x.gif) no-repeat scroll left bottom;-webkit-background-size:11px 11px;background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-rtl-2x.gif) no-repeat scroll left bottom}}@media only screen and (max-width:850px){#poststuff{min-width:0}#wpbody-content #poststuff #post-body{margin:0}#wpbody-content #post-body.columns-2 #postbox-container-1{margin-left:0;width:100%}#poststuff #postbox-container-1 #side-sortables:empty,#poststuff #postbox-container-1 .empty-container{border:0 none;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0}.columns-prefs,.screen-layout{display:none}}@media screen and (max-width:782px){#post-body-content{min-width:0}#titlediv #title-prompt-text{padding:10px}#poststuff h3{padding:12px}.post-format-options{padding-left:0}.post-format-options a{margin-left:5px;margin-bottom:5px;min-width:52px}.post-format-options .post-format-title{font-size:11px}.post-format-options a div{height:28px;width:28px}.post-format-options a div:before{font-size:26px!important}#post-visibility-select{line-height:280%}.wp-core-ui .save-post-visibility,.wp-core-ui .save-timestamp{vertical-align:middle;margin-left:15px}.timestamp-wrap select#mm{display:block;width:100%;margin-bottom:10px}.timestamp-wrap #aa,.timestamp-wrap #hh,.timestamp-wrap #jj,.timestamp-wrap #mn{padding:12px 3px;font-size:14px;margin-bottom:5px;width:auto;text-align:center}ul.category-tabs{margin:30px 0 15px}ul.category-tabs li.tabs{padding:15px}ul.categorychecklist li{margin-bottom:15px}ul.categorychecklist ul{margin-top:15px}.category-add input[type=text],.category-add select{max-width:none;margin-bottom:15px}.tagsdiv .newtag{width:100%;height:auto;margin-bottom:15px}.tagchecklist{margin:25px 10px}.tagchecklist span{font-size:16px;line-height:120%}#commentstatusdiv p{line-height:2.8}.mceToolbar *{white-space:normal!important}.mceToolbar td,.mceToolbar tr{float:right!important}.wp_themeSkin a.mceButton{width:30px;height:30px}.wp_themeSkin .mceButton .mceIcon{margin-top:5px;margin-right:5px}.wp_themeSkin .mceSplitButton{margin-top:1px}.wp_themeSkin .mceSplitButton td a.mceAction{padding-top:6px;padding-bottom:6px;padding-right:6px;padding-left:3px}.wp_themeSkin .mceSplitButton td a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover td a.mceOpen{padding-top:6px;padding-bottom:6px;background-position:1px 6px}.wp_themeSkin table.mceListBox{margin:5px}div.quicktags-toolbar input{padding:10px 20px}#wp-content-editor-tools{overflow:hidden;padding:20px 0 1px 15px;top:1px}a.wp-switch-editor{font-size:16px;line-height:1em;margin:3px 7px 0 0;padding:12px 15px}#wp-content-media-buttons a{font-size:16px;line-height:37px;height:39px;padding:0 15px 0 20px}.wp-media-buttons span.jetpack-contact-form-icon,.wp-media-buttons span.wp-media-buttons-icon{width:22px!important;margin-top:-3px!important;margin-right:-5px!important}.wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before,.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font-size:20px!important}#content_wp_fullscreen{display:none}.misc-pub-section{padding:20px 10px}.misc-pub-section>a{float:left;font-size:16px}#delete-action,#publishing-action{line-height:47px}.comment-ays{border-bottom:0}.links-table #link_rel{max-width:none}.links-table td,.links-table th{padding:10px 0}}@media only screen and (max-width:500px){#wp-content-media-buttons a{font-size:14px;padding:0 10px}}.revisions-control-frame,.revisions-diff-frame{position:relative}.revisions-controls{padding-top:40px;height:100px;z-index:1}.revisions-controls input[type=checkbox]{position:relative;top:-1px;vertical-align:text-bottom}.revisions.pinned .revisions-controls{position:fixed;top:0;height:82px;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-tickmarks{position:relative;margin:0 auto;height:.7em;top:7px;max-width:70%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#fff}.revisions-tickmarks>div{position:absolute;height:100%;border-right:1px solid #aaa;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.revisions-tickmarks>div:first-child{border-width:0}.comparing-two-revisions .revisions-controls{height:140px}.comparing-two-revisions.pinned .revisions-controls{height:124px}.revisions .diff-error{position:absolute;text-align:center;margin:0 auto;width:100%;display:none}.revisions.diff-error .diff-error{display:block}.revisions .loading-indicator{position:fixed;vertical-align:middle;opacity:0;width:100%;top:50%;margin-right:-90px;-webkit-transition:opacity .5s;transition:opacity .5s;filter:alpha(opacity=0)}body.folded .revisions .loading-indicator{margin-right:-32px}.revisions .loading-indicator span.spinner{display:block;margin:0 auto;float:none}.revisions.loading .loading-indicator{opacity:1;filter:alpha(opacity=100)}.revisions .diff{-webkit-transition:opacity .5s;transition:opacity .5s}.revisions.loading .diff{opacity:.5;filter:alpha(opacity=50)}.revisions.diff-error .diff{visibility:hidden}.revisions-meta{margin-top:20px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions.pinned .revisions-meta{-webkit-box-shadow:none;box-shadow:none}.revision-toggle-compare-mode{position:absolute;top:0;left:0}.comparing-two-revisions .revisions-next,.comparing-two-revisions .revisions-previous,.revisions-meta .diff-meta-to strong{display:none}.revisions-controls .author-card .date{color:#777}.revisions-controls .author-card.autosave{color:#d54e21}.revisions-controls .author-card .author-name{font-weight:700}.comparing-two-revisions .diff-meta-to strong{display:block}.revisions.pinned .revisions-buttons{padding:0 11px}.revisions-next,.revisions-previous{position:relative;z-index:1}.revisions-previous{float:right}.revisions-next{float:left}.revisions-controls .wp-slider{max-width:70%;margin:0 auto;top:-3px}.revisions-diff{padding:15px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-diff h3:first-child{margin-top:0}#revisions-meta-restored img,.post-revisions li img{vertical-align:middle}table.diff tbody tr td:nth-child(2){width:4%}table.diff{table-layout:fixed;width:100%;white-space:pre-wrap}table.diff col.content{width:auto}table.diff col.content.diffsplit{width:48%}table.diff col.diffsplit.middle{width:auto}table.diff col.ltype{width:30px}table.diff tr{background-color:transparent}table.diff td,table.diff th{font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.618;padding:.5em;vertical-align:top;word-wrap:break-word}table.diff td h1,table.diff td h2,table.diff td h3,table.diff td h4,table.diff td h5,table.diff td h6{margin:0}table.diff .diff-addedline ins,table.diff .diff-deletedline del{text-decoration:none}table.diff .diff-deletedline{background-color:#ffe9e9}table.diff .diff-deletedline del{background-color:#faa}table.diff .diff-addedline{background-color:#e9ffe9}table.diff .diff-addedline ins{background-color:#afa}.diff-meta{padding:5px;clear:both;min-height:32px}.diff-title strong{line-height:32px;min-width:60px;text-align:left;float:right;margin-left:5px}.revisions-controls .author-card .author-info{font-size:12px;line-height:16px}.revisions-controls .author-card .author-info,.revisions-controls .author-card .avatar{float:right;margin-right:6px;margin-left:6px}.revisions-controls .author-card .byline{display:block;font-size:12px}.revisions-controls .author-card .avatar{vertical-align:middle}.diff-meta input.restore-revision{float:left;margin-right:6px;margin-left:6px;margin-top:4px}.diff-meta-from{display:none}.comparing-two-revisions .diff-meta-from{display:block}.revisions-tooltip{position:absolute;bottom:105px;margin-left:0;margin-right:-69px;z-index:0;max-width:350px;min-width:130px;padding:8px 4px;opacity:0}.revisions-tooltip.flipped{margin-right:0;margin-left:-70px}.revisions.pinned .revisions-tooltip{display:none!important}.comparing-two-revisions .revisions-tooltip{bottom:145px}.revisions-tooltip-arrow{width:70px;height:15px;overflow:hidden;position:absolute;right:0;margin-right:35px;bottom:-15px}.revisions-tooltip.flipped .revisions-tooltip-arrow{margin-right:0;margin-left:35px;right:auto;left:0}.revisions-tooltip-arrow>span{content:"";position:absolute;right:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.revisions-tooltip.flipped .revisions-tooltip-arrow>span{right:auto;left:20px}.ie8 .revisions-tooltip-arrow>span{right:15px;top:-25px;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)"}.ie8 .revisions-tooltip.flipped .revisions-tooltip-arrow>span{left:25px}.revisions-tooltip,.revisions-tooltip-arrow>span{border:1px solid #d7d7d7;background-color:#fff}.revisions-tooltip{display:none}.arrow{width:70px;height:16px;overflow:hidden;position:absolute;right:0;margin-right:-35px;bottom:90px;z-index:10000}.arrow::after{z-index:9999;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.arrow.top{top:-16px;bottom:auto}.arrow.left{right:20%}.arrow:after{content:"";position:absolute;right:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.revisions-tooltip,.revisions-tooltip-arrow:after{border-width:1px;border-style:solid}div.revisions-controls>.wp-slider>.ui-slider-handle{margin-right:-10px}.rtl div.revisions-controls>.wp-slider>.ui-slider-handle{margin-left:-10px}.wp-slider.ui-slider{position:relative;border:1px solid #d7d7d7;text-align:right;cursor:pointer}.wp-slider .ui-slider-handle{-webkit-border-radius:50%;border-radius:50%;height:18px;margin-top:-3px;outline:0;position:absolute;width:18px;z-index:2}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#2ea2cc;border:1px solid #0074a2;-webkit-box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15)}.wp-slider .ui-slider-handle:before{background:0 0;position:absolute;top:0;right:0;color:#fff;content:"\f229";font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{font-size:20px!important;margin:-1px -1px 0 0}.wp-slider .ui-slider-handle.from-handle:before{content:'\f139'}.rtl .wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{content:'\f141'}.rtl .wp-slider .ui-slider-handle.to-handle:before{content:'\f139';left:-1px}.wp-slider .ui-slider-range{position:absolute;font-size:.7em;display:block;border:0;background-color:transparent;background-image:none}.wp-slider.ui-slider-horizontal{height:.7em}.wp-slider.ui-slider-horizontal .ui-slider-handle{top:-.25em;margin-right:-.6em}.wp-slider.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.wp-slider.ui-slider-horizontal .ui-slider-range-min{right:0}.wp-slider.ui-slider-horizontal .ui-slider-range-max{left:0}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.revision-tick.completed-false{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){#diff-next-revision,#diff-previous-revision{margin-top:-1em}table.diff{-ms-word-break:break-all;word-break:break-all;word-wrap:break-word}}.media-item .describe{border-collapse:collapse;width:100%;border-top:1px solid #dfdfdf;clear:both;cursor:default}.media-item.media-blank .describe{border:0}.media-item .describe th{vertical-align:top;text-align:right;padding:5px 10px 10px;width:140px}.media-item .describe .align th{padding-top:0}.media-item .media-item-info tr{background-color:transparent}.media-item .describe td{padding:0 0 8px 8px;vertical-align:top}.media-item thead.media-item-info td{padding:4px 10px 0}.media-item .media-item-info .A1B1{padding:0 10px 0 0}.media-item td.savesend{padding-bottom:15px}.media-item .thumbnail{max-height:128px;max-width:128px}#wpbody-content #async-upload-wrap a{display:none}.media-upload-form{margin-top:20px}.media-upload-form td label{margin-left:6px;margin-right:2px}.media-upload-form .align .field label{display:inline;padding:0 23px 0 0;margin:0 3px 0 1em;font-weight:600}.media-upload-form tr.image-size label{margin:0 5px 0 0;font-weight:600}.media-upload-form th.label label{font-weight:600;margin:.5em;font-size:13px}.media-upload-form th.label label span{padding:0 5px}.media-item .describe input[type=text],.media-item .describe textarea{width:460px}.media-item .describe p.help{margin:0;padding:0 5px 0 0}.describe-toggle-off,.describe-toggle-on,.media-item .edit-attachment{display:block;line-height:36px;float:left}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on{display:none}.media-item.open .describe-toggle-off{display:block}#media-items .media-item{border-bottom:1px solid #dfdfdf;min-height:36px;position:relative;width:100%}#media-items{width:623px}.media-new-php #media-items{margin:1em 0}#media-items:empty{border:0 none}.media-item .filename{line-height:36px;overflow:hidden}.media-item .pinkynail{float:right;margin:2px 0 0 10px;max-width:40px;max-height:32px}.media-item .startclosed,.media-item .startopen{display:none}.media-item .original{position:relative;height:34px}.media-item .progress{float:left;height:22px;margin:7px 0 0;width:200px;line-height:2em;padding:0;overflow:hidden;margin-bottom:2px;-webkit-border-radius:22px;border-radius:22px;background:#ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.media-item .bar{z-index:9;width:0;height:100%;margin-top:-22px;-webkit-border-radius:22px;border-radius:22px;background-color:#0074a2;-webkit-box-shadow:inset 0 0 2px rgba(0,0,0,.3);box-shadow:inset 0 0 2px rgba(0,0,0,.3)}.media-item .progress .percent{z-index:10;position:relative;width:200px;padding:0;color:#fff;text-align:center;line-height:22px;font-weight:400;text-shadow:0 1px 2px rgba(0,0,0,.2)}.upload-php .fixed .column-parent{width:15%}.js .html-uploader #plupload-upload-ui{display:none}.js .html-uploader #html-upload-ui{display:block}.media-upload-form .media-item.error{margin:0;padding:0}.media-item .error-div,.media-upload-form .media-item.error p{line-height:16px;margin:5px 10px;padding:0}.media-item .error-div a.dismiss{display:block;float:left;margin:5px 15px 0 4px}.find-box{background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:600px;overflow:hidden;margin-right:-300px;position:fixed;top:30px;bottom:30px;right:50%;z-index:100105}.find-box-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px;position:absolute;top:0;right:0;left:0}.find-box-inside{overflow:auto;padding:16px;background-color:#fff;position:absolute;top:37px;bottom:45px;overflow-y:scroll;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.find-box-search{padding-bottom:16px}.find-box-search .spinner{float:none;right:125px;position:absolute;top:18px}#find-posts-input,#find-posts-search{float:right}#find-posts-input{width:140px;height:28px;margin:0 0 0 4px}.widefat .found-radio{padding-left:0;width:16px}#find-posts-close{width:36px;height:36px;position:absolute;top:0;left:0;cursor:pointer;text-align:center;color:#666}#find-posts-close:hover{color:#2ea2cc}#find-posts-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f158'}.find-box-buttons{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;right:0;left:0}@media screen and (max-width:782px){.find-box-inside{bottom:57px}}@media screen and (max-width:660px){.find-box{top:0;bottom:0;right:0;left:0;margin:0;width:100%}}.ui-find-overlay{position:fixed;top:0;right:0;left:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em 0}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border:1px solid #ddd;line-height:1.8em;word-spacing:3px;-webkit-border-radius:6px;border-radius:6px}.drag-drop #drag-drop-area{border:4px dashed #bbb;height:200px}.drag-drop .drag-drop-inside{margin:70px auto 0;width:250px}.drag-drop-inside p{color:#aaa;font-size:14px;margin:5px 0;display:none}.drag-drop .drag-drop-inside p{text-align:center}.drag-drop-inside p.drag-drop-info{font-size:20px}.drag-drop .drag-drop-inside p,.drag-drop-inside p.drag-drop-buttons{display:block}.drag-drop.drag-over #drag-drop-area{border-color:#83b4d8}#plupload-upload-ui{position:relative}.wp_attachment_details label[for=content]{font-size:13px;line-height:1.5;margin:1em 0}.wp_attachment_details #attachment_caption{height:4em}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}.imgedit-settings p{margin:8px 0 0}.describe .imgedit-wrap .imgedit-settings{padding:0 5px}.wp_attachment_holder div.updated{margin-top:0}.wp_attachment_holder .imgedit-wrap>div{height:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-panel-content{padding-left:16px;width:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-settings{float:left;width:250px}.imgedit-settings input{margin-top:0;vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:#fff url(../images/spinner.gif) no-repeat center;-webkit-background-size:20px 20px;background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.no-float{float:none}.imgedit-settings .disabled,.media-disabled{color:grey}.A1B1,.wp_attachment_image{overflow:hidden}.A1B1 .button,.wp_attachment_image .button{float:right}.no-js .wp_attachment_image .button{display:none}.A1B1 .spinner,.wp_attachment_image .spinner{float:right;padding:0 0 4px;vertical-align:bottom}.imgedit-menu{margin:0 0 12px;min-width:300px}.imgedit-menu div{float:right;width:32px;border:1px solid #d5d5d5;background:#f1f1f1;margin:0 0 0 8px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;line-height:28px;color:#777;cursor:pointer}.imgedit-menu div:before{font:400 20px/1 dashicons;speak:none;vertical-align:middle}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;color:#333}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;color:#777;filter:alpha(opacity=50);opacity:.5;cursor:default}.imgedit-crop:before{content:'\f165'}.imgedit-rleft:before{content:'\f166'}.imgedit-rright:before{content:'\f167'}.imgedit-flipv:before{content:'\f168'}.imgedit-fliph:before{content:'\f169'}.imgedit-undo:before{content:'\f171'}.imgedit-redo:before{content:'\f172'}.imgedit-crop-wrap{position:relative}.imgedit-crop{margin:0 0 0 8px}.imgedit-rleft{margin:0 3px}.imgedit-rright{margin:0 3px 0 8px}.imgedit-flipv{margin:0 3px}.imgedit-fliph{margin:0 3px 0 8px}.imgedit-undo{margin:0 3px}.imgedit-redo{margin:0 3px 0 8px}.imgedit-applyto img{margin:0 0 0 8px}.imgedit-group-top{margin:5px 0}#poststuff .imgedit-group-top h3{padding:0}.imgedit-group-top h3 a{text-decoration:none}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block}.imgedit-help{display:none;font-style:italic}a.imgedit-help-toggle{text-decoration:none}.form-table td.imgedit-response{padding:0}.imgedit-submit{margin:8px 0}.imgedit-submit-btn{margin-right:20px}.imgedit-wrap .nowrap{white-space:nowrap}span.imgedit-scale-warn{color:red;font-size:20px;font-style:normal;visibility:hidden;vertical-align:middle}.imgedit-group{margin-bottom:8px;padding:2px 10px}audio,video{display:inline-block;max-width:100%}.mejs-container{width:100%}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.imgedit-wait{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){.wp_attachment_details label[for=content]{font-size:14px;line-height:1.5em}}.theme-browser .themes{clear:both;padding:0 0 100px}.themes-php .wrap h2{float:right;margin-bottom:15px}.network-admin.themes-php .wrap h2{margin-bottom:0}.themes-php .wrap h2 .button{margin-right:20px}.theme-navigation .theme-count,.themes-php .wrap .theme-count{color:#fff;-webkit-border-radius:30px;border-radius:30px;background:#777;font-size:14px;padding:4px 10px;font-weight:600;margin-right:5px;margin-left:20px;position:relative;top:-3px}.theme-navigation a{text-decoration:none}.themes-php div.error,.themes-php div.updated{margin:0 0 20px;clear:both}.themes-php div.updated a{text-decoration:underline}.theme-browser .theme{cursor:pointer;float:right;margin:0 0 4% 4%;position:relative;width:30.6%;border:1px solid #dedede;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ie8 .theme-browser .theme{width:30%;margin:0 0 4% 3%}.theme-browser .theme:nth-child(3n){margin-left:0}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:pointer}.theme-browser .theme .theme-name{font-size:15px;font-weight:600;height:18px;margin:0;padding:15px;-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:#fff;background:rgba(255,255,255,.65)}.theme-browser .theme .theme-actions{-ms-filter:"alpha(Opacity=0)";opacity:0;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out;position:absolute;bottom:0;left:0;height:38px;padding:9px 10px 0;background:rgba(244,244,244,.7);border-right:1px solid rgba(0,0,0,.05)}.theme-browser .theme.focus .theme-actions,.theme-browser .theme:focus .theme-actions,.theme-browser .theme:hover .theme-actions{-ms-filter:"alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-actions .button-primary{margin-left:3px}.theme-browser .theme .theme-actions .button-secondary{float:none;margin-right:3px}.theme-browser .theme .theme-screenshot{display:block;overflow:hidden;position:relative;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme .theme-screenshot:after{content:'';display:block;padding-top:66.66666%}.theme-browser .theme .theme-screenshot img{height:auto;position:absolute;right:0;top:0;width:100%;-webkit-transform:translateZ(0);-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme:focus .theme-screenshot,.theme-browser .theme:hover .theme-screenshot{background:#fff}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:.4}.theme-browser .theme .more-details{-ms-filter:"alpha(Opacity=0)";opacity:0;position:absolute;top:35%;left:25%;right:25%;background:#222;background:rgba(0,0,0,.7);color:#fff;font-size:15px;text-shadow:0 1px 0 rgba(0,0,0,.6);-webkit-font-smoothing:antialiased;font-weight:600;padding:15px 12px;text-align:center;-webkit-border-radius:3px;border-radius:3px;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out}.theme-browser .theme:focus{outline:1px dotted #222}.theme-browser .theme:focus .more-details{opacity:1}.theme-browser .theme.active:focus .theme-actions{display:block}.theme-browser.rendered .theme:focus .more-details,.theme-browser.rendered .theme:hover .more-details{-ms-filter:"alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-installed,.theme-browser .theme .theme-update{background:#d54e21;background:rgba(213,78,33,.95);color:#fff;display:block;font-size:13px;font-weight:400;height:48px;line-height:48px;padding:0 10px;position:absolute;top:0;left:0;right:0;border-bottom:1px solid rgba(0,0,0,.25);overflow:hidden}.theme-browser .theme .theme-installed:before,.theme-browser .theme .theme-update:before{content:'\f463';display:inline-block;font:400 20px/1 dashicons;margin:0 0 0 6px;opacity:.8;position:relative;top:5px;speak:none;-webkit-font-smoothing:antialiased}.theme-browser .theme.active .theme-name{background:#2f2f2f;color:#fff;padding-left:110px;font-weight:300;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.5)}.theme-browser .theme.active .theme-name span{font-weight:600}.theme-browser .theme.active .theme-actions{background:rgba(49,49,49,.7);border-right:0;opacity:1}.theme-browser .theme.active .theme-actions .button-primary{margin-left:0}.theme-browser .theme .theme-author{background:#222;color:#eee;display:none;font-size:14px;margin:0 10px;padding:5px 10px;position:absolute;bottom:56px}.theme-browser .theme.display-author .theme-author{display:block}.theme-browser .theme.display-author .theme-author a{color:inherit;text-decoration:none}.theme-browser .theme.add-new-theme{border:0;-webkit-box-shadow:none;box-shadow:none}.theme-browser .theme.add-new-theme a{color:#999;text-decoration:none;display:block;position:relative;z-index:1}.theme-browser .theme.add-new-theme:after{display:block;content:'';-ms-filter:"alpha(Opacity=100)";opacity:1;background:0 0;background:rgba(0,0,0,0);position:absolute;top:0;right:0;left:0;bottom:0;padding:10% 0 0;text-shadow:none;border:5px dashed #d5d2ca;border:5px dashed rgba(0,0,0,.1);-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.theme-browser .theme.add-new-theme span:after{background:#e5e5e5;background:rgba(153,153,153,.1);-webkit-border-radius:50%;border-radius:50%;display:inline-block;content:'\f132';-webkit-font-smoothing:antialiased;font:400 74px/115px dashicons;width:100px;height:100px;vertical-align:middle;text-align:center;color:#999;position:absolute;top:30%;right:50%;margin-right:-50px;text-indent:-4px;padding:0;text-shadow:none;z-index:4}.rtl .theme-browser .theme.add-new-theme span:after{text-indent:4px}.theme-browser .theme.add-new-theme:focus .theme-screenshot,.theme-browser .theme.add-new-theme:hover .theme-screenshot{background:0 0}.theme-browser .theme.add-new-theme:focus span:after,.theme-browser .theme.add-new-theme:hover span:after{background:#fff;color:#0074a2}.theme-browser .theme.add-new-theme:focus:after,.theme-browser .theme.add-new-theme:hover:after{border-color:transparent;color:#fff;background:#0074a2;content:''}.theme-browser .theme.add-new-theme .theme-name{background:0 0;text-align:center;-webkit-box-shadow:none;box-shadow:none;font-weight:400;position:relative;top:0;margin-top:-10%;margin-bottom:10%}.theme-browser .theme.add-new-theme:focus .theme-name,.theme-browser .theme.add-new-theme:hover .theme-name{color:#fff;z-index:2}.themes-php .theme-search{position:relative;top:-2px;right:20px;font-size:16px;font-weight:300;line-height:1.5;width:280px}.theme-overlay .theme-backdrop{position:absolute;right:-20px;left:0;top:0;bottom:0;background:#f1f1f1;background:rgba(238,238,238,.9);z-index:10}body.theme-overlay-open{overflow:hidden}.theme-overlay .theme-header{position:absolute;top:0;right:0;left:0;height:48px;border-bottom:1px solid #ddd}.theme-overlay .theme-header .close{cursor:pointer;height:48px;width:50px;text-align:center;float:left;border:0;border-right:1px solid #ddd;background-color:transparent}.theme-overlay .theme-header .close:focus:before,.theme-overlay .theme-header .close:hover:before{color:#fff}.theme-overlay .theme-header .close:before{font:400 30px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.theme-overlay .theme-header .left,.theme-overlay .theme-header .right{cursor:pointer;color:#777;background-color:transparent;height:48px;width:54px;float:right;text-align:center;border:0;border-left:1px solid #ddd}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:focus,.theme-overlay .theme-header .right:hover{background:#0074a2;color:#fff}.theme-overlay .theme-header .left.disabled,.theme-overlay .theme-header .left.disabled:hover,.theme-overlay .theme-header .right.disabled,.theme-overlay .theme-header .right.disabled:hover{color:#ccc;background:inherit;cursor:inherit}.theme-overlay .theme-header .left:before,.theme-overlay .theme-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.theme-overlay .theme-header .left:before{content:'\f340'}.theme-overlay .theme-header .right:before{content:'\f344'}.rtl .theme-overlay .theme-header .left:before{content:'\f345'}.rtl .theme-overlay .theme-header .right:before{content:'\f341'}.theme-overlay .theme-wrap{clear:both;position:fixed;top:9%;right:190px;left:30px;bottom:3%;background:#fff;-webkit-box-shadow:0 1px 20px 5px rgba(0,0,0,.1);box-shadow:0 1px 20px 5px rgba(0,0,0,.1);z-index:20;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.theme-overlay .theme-wrap:after{content:".";display:block;height:0;clear:both;visibility:hidden}body.folded .theme-overlay .theme-wrap{right:70px}.theme-overlay .theme-about{position:absolute;top:49px;bottom:57px;right:0;left:0;overflow:auto;padding:2% 4%}.theme-overlay .theme-about:after{content:".";display:block;height:0;clear:both;visibility:hidden}.theme-overlay .theme-actions{position:absolute;text-align:center;bottom:0;right:0;left:0;padding:10px 25px 5px;background:#f3f3f3;z-index:30;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-top:1px solid #eee}.ie8 .theme-overlay .theme-actions{border:1px solid #eee}.theme-overlay .theme-actions a{margin-left:5px;margin-bottom:5px}.theme-overlay .theme-actions .delete-theme{color:#a00;position:absolute;left:10px;bottom:5px;text-decoration:none;border-color:transparent;-webkit-box-shadow:none;box-shadow:none;background:0 0}.theme-overlay .theme-actions .delete-theme:focus,.theme-overlay .theme-actions .delete-theme:hover{background:#d54e21;color:#fff;border-color:#d54e21}.theme-overlay .theme-actions .active-theme,.theme-overlay.active .theme-actions .inactive-theme{display:none}.theme-overlay .theme-actions .inactive-theme,.theme-overlay.active .theme-actions .active-theme{display:block}.theme-overlay .theme-screenshots{float:right;margin:0 0 0 30px;width:55%;max-width:880px;text-align:center}.theme-overlay .screenshot{border:1px solid #fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.theme-overlay .screenshot:after{content:'';display:block;padding-top:75%}.theme-overlay .screenshot img{height:auto;position:absolute;right:0;top:0;width:100%}.theme-overlay.small-screenshot .theme-screenshots{position:absolute;width:302px}.theme-overlay.small-screenshot .theme-info{margin-right:350px;width:auto}.theme-overlay .screenshot.thumb{background:#ccc;border:1px solid #eee;float:none;display:inline-block;margin:10px 5px 0;width:140px;height:80px;cursor:pointer}.theme-overlay .screenshot.thumb:after{content:'';display:block;padding-top:100%}.theme-overlay .screenshot.thumb img{cursor:pointer;position:absolute;right:0;top:0;width:100%;height:auto}.theme-overlay .screenshot.selected{background:0 0;border:2px solid #2ea2cc}.theme-overlay .screenshot.selected img{opacity:.8}.theme-browser .theme .theme-screenshot.blank,.theme-overlay .screenshot.blank{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=)}.theme-overlay .theme-info{width:40%;float:right}.theme-overlay .current-label{background:#333;color:#fff;font-size:11px;display:inline-block;padding:2px 8px;-webkit-border-radius:2px;border-radius:2px;margin:0 0 -10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.theme-overlay .theme-name{color:#222;font-size:32px;font-weight:100;margin:10px 0 0;line-height:1.3}.theme-overlay .theme-version{color:#999;font-size:13px;font-weight:400;float:none;display:inline-block;margin-right:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.theme-overlay .theme-author{color:#686868;font-size:16px;font-weight:400;margin:15px 0 25px}.theme-overlay .theme-author a{text-decoration:none}.theme-overlay .theme-description{color:#555;font-size:15px;font-weight:400;line-height:1.5;margin:30px 0 0}.theme-overlay .theme-tags{border-top:3px solid #eee;color:#888;font-size:13px;font-weight:400;margin:30px 0 0;padding-top:20px}.theme-overlay .theme-tags span{color:#444;font-weight:700;margin-left:5px}.theme-overlay .theme-update-message{background:#fef7f1;border:1px solid #eee;border-right:4px solid #d54e21;-webkit-border-radius:3px;border-radius:3px;padding:5px 20px 10px}.theme-overlay .theme-update{color:#222;font-size:18px;display:inline-block;line-height:40px;margin:0}.theme-overlay .parent-theme{background:#f7fcfe;border:1px solid #eee;border-right:4px solid #2ea2cc;font-size:14px;font-weight:400;margin-top:30px;padding:10px 20px 10px 10px}.theme-overlay .parent-theme strong{font-weight:700}.single-theme .theme,.single-theme .theme-overlay .theme-backdrop,.single-theme .theme-overlay .theme-header{display:none}.single-theme .theme-overlay .theme-wrap{clear:both;min-height:330px;position:relative;right:auto;left:auto;top:auto;bottom:auto}.single-theme .theme-overlay .theme-about{padding:30px 30px 70px;position:static}.single-theme .theme-overlay .theme-actions{position:absolute}@media only screen and (min-width:2000px){#wpwrap .theme-browser .theme{width:17.6%;margin:0 0 3% 3%}#wpwrap .theme-browser .theme:nth-child(3n),#wpwrap .theme-browser .theme:nth-child(4n){margin-left:3%}#wpwrap .theme-browser .theme:nth-child(5n){margin-left:0}}@media only screen and (min-width:1680px){.theme-overlay .theme-wrap{width:1450px;margin:0 auto}}@media only screen and (min-width:1640px){.theme-browser .theme{width:22.7%;margin:0 0 3% 3%}.theme-browser .theme .theme-screenshot:after{padding-top:75%}.theme-browser .theme:nth-child(3n){margin-left:3%}.theme-browser .theme:nth-child(4n){margin-left:0}}@media only screen and (max-width:1120px){.theme-browser .theme{width:47.5%;margin-left:0}.theme-browser .theme:nth-child(even){margin-left:0}.theme-browser .theme:nth-child(odd){margin-left:5%}}@media only screen and (max-width:900px){.theme-overlay .theme-wrap{right:65px}}@media only screen and (max-width:780px){.theme-overlay .theme-wrap,body.folded .theme-overlay .theme-wrap{top:0;left:0;bottom:0;right:0;padding:70px 20px 20px;border:0;z-index:500;position:fixed}.theme-browser .theme.active .theme-name span{display:none}.theme-overlay .theme-screenshots{width:40%}.theme-overlay .theme-info{width:50%}.single-theme .theme-wrap{padding:10px}.theme-browser .theme .theme-actions{padding:5px 10px 4px}.theme-overlay.small-screenshot .theme-screenshots{position:static;float:none;max-width:302px}.theme-overlay.small-screenshot .theme-info{margin-right:0;width:auto}.theme:focus .more-details,.theme:hover .more-details,.theme:not(.active):focus .theme-actions,.theme:not(.active):hover .theme-actions{display:none}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:1}}@media only screen and (max-width:480px){.theme-browser .theme{width:100%;margin-left:0}.theme-browser .theme:nth-child(2n),.theme-browser .theme:nth-child(3n){margin-left:0}}@media only screen and (max-width:650px){.theme-overlay .theme-description,.theme-overlay .theme-update{margin-right:0}.theme-overlay .theme-actions .delete-theme{position:relative;left:auto;bottom:auto}.theme-overlay .theme-actions .inactive-theme{display:inline}.theme-overlay .theme-screenshots{width:100%;float:none}.theme-overlay .theme-info{width:100%}.theme-overlay .theme-author{margin:5px 0 15px}.theme-overlay .current-label{margin-top:10px;font-size:13px}.themes-php .wrap h2{width:100%}.themes-php .theme-search{float:none;clear:both;right:0;top:0;left:0;margin:10px 0;width:100%}.theme-browser .theme.add-new-theme span:after{font:400 60px/90px dashicons;width:80px;height:80px;top:30%;right:50%;text-indent:0;margin-right:-40px}.single-theme .theme-wrap{margin:0 -10px 0 -12px;padding:10px}.single-theme .theme-overlay .theme-about{padding:10px;overflow:visible}.single-theme .current-label{display:none}.single-theme .theme-overlay .theme-actions{position:static}}.broken-themes{clear:both}.broken-themes table{text-align:right;width:50%;border-spacing:3px;padding:3px}.theme-browser .theme .theme-installed{background:#0074a2}.theme-browser .theme .theme-installed:before{content:'\f147'}.theme-browser .theme.is-installed .theme-actions .button-primary{display:none!important}.theme-navigation{background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#555;display:inline-block;font-size:13px;margin:20px 0 30px;padding:0 20px;position:relative;width:100%}.theme-install-php a.browse-themes,.theme-install-php a.upload{cursor:pointer}.theme-install-php a.browse-themes,.theme-install-php.show-upload-theme a.upload{display:none}.theme-install-php.show-upload-theme a.browse-themes{display:inline}.upload-theme{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:none;margin:0;padding:0;width:100%;overflow:hidden;position:relative;top:10px}body.show-upload-theme .upload-theme{display:block}.upload-theme .wp-upload-form{background:#fafafa;border:1px solid #e5e5e5;padding:30px;margin:30px auto;max-width:380px}.upload-theme .install-help{color:#999;font-size:18px;font-style:normal;margin:0;padding:40px 0 0;text-align:center}body.show-upload-theme .upload-theme+.theme-navigation,body.show-upload-theme .upload-theme+.theme-navigation+.theme-browser{display:none}.theme-navigation .theme-count{margin-right:0;position:absolute;top:12px}.theme-count+.theme-section{margin-right:60px}.theme-filter,.theme-section{border-bottom:4px solid #fff;color:#666;cursor:pointer;display:inline-block;margin:0 10px;padding:15px 0}.theme-filter.current,.theme-section.current{border-bottom:4px solid #666;color:#222}.theme-top-filters{display:inline-block}.theme-navigation .more-filters{color:#666;cursor:pointer;display:inline-block;margin:0 10px;padding:4px 6px}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{background:#777;-webkit-border-radius:2px;border-radius:2px;border:0;color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{background:#2ea2cc}.theme-install-php .theme-search{position:absolute;left:10px;top:9px;font-size:16px;font-weight:300;line-height:1.5;width:280px}.more-filters:before{color:#777;margin:0 0 0 5px;content:"\f111";display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;text-align:center}.more-filters.current:before{color:#fff}.more-filters-container{display:none;padding:20px;border-top:1px solid #eee;margin:0 -20px;background:#fafafa}body.more-filters-opened .more-filters-container{display:block;overflow:hidden}body.more-filters-opened .theme-section.current{border-bottom:0}body.more-filters-opened .theme-browser,body.more-filters-opened.filters-applied.loading-themes .theme-browser{display:none}body.more-filters-opened.filters-applied .theme-browser{display:block}.more-filters-container .filters-group{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:right;width:19%;background:#fff;margin:0 0 0 1%;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);padding:10px}.more-filters-container .wide-filters-group{width:38%}.more-filters-container .feature-name{margin:0;position:relative}.more-filters-container ol{list-style-type:none;margin:20px 0 0;font-size:12px}.more-filters-container li{display:inline-block;vertical-align:top;list-style-type:none;margin:5px 0;padding-left:25px;width:160px}.theme-navigation .more-filters-container .apply-filters{margin:0 0 20px}.theme-navigation .more-filters-container .clear-filters{display:none;margin:0 10px 20px 0}.more-filters-container .apply-filters span{display:inline-block;font-size:12px;text-indent:10px;opacity:.8}.more-filters-container .filtering-by{display:none;margin:0}.more-filters-container .filtering-by>span{font-weight:600}.more-filters-container .filtering-by .tags{display:inline}.more-filters-container .filtering-by .tag{background:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);font-size:11px;margin:0 5px;padding:4px 8px}.more-filters-container .filtering-by a{margin-right:10px}body.filters-applied .more-filters-container .filters-group,body.filters-applied .more-filters-container a.button,body.filters-applied .more-filters-container br{display:none!important}body.filters-applied .more-filters-container .filtering-by{display:block}body.filters-applied .more-filters-container{padding:20px}p.no-themes{color:#999;font-size:18px;font-style:normal;margin:0;padding:0;text-align:center;display:none}body.no-results p.no-themes{display:block}.theme-install-php .add-new-theme,body.show-upload-theme p.no-themes{display:none!important}@media only screen and (max-width:1120px){.theme-install-php .theme-search{margin:20px 0;position:static;width:100%}.more-filters-container{border-bottom:1px solid #eee}.upload-theme .wp-upload-form{margin:20px 0;max-width:100%}.upload-theme .install-help{font-size:15px;padding:20px 0 0;text-align:right}.more-filters-container .filters-group{margin-bottom:0;margin-top:5px;width:100%}.more-filters-container .filters-group li{margin:10px 0}}@media only screen and (max-width:782px){.more-filters-container .filters-group,.more-filters-container .filters-group li{width:100%}}.rating{margin:30px 0}.rating span:before{color:#e6b800;content:"\f154";display:inline-block;-webkit-font-smoothing:antialiased;font:400 20px/1 dashicons;vertical-align:top}.rating-10 span.one:before,.rating-30 span.two:before,.rating-50 span.three:before,.rating-70 span.four:before,.rating-90 span.five:before{content:"\f459"}.rating-100 span.five:before,.rating-100 span.four:before,.rating-100 span.one:before,.rating-100 span.three:before,.rating-100 span.two:before,.rating-20 span.one:before,.rating-30 span.one:before,.rating-40 span.one:before,.rating-40 span.two:before,.rating-50 span.one:before,.rating-50 span.two:before,.rating-60 span.one:before,.rating-60 span.three:before,.rating-60 span.two:before,.rating-70 span.one:before,.rating-70 span.three:before,.rating-70 span.two:before,.rating-80 span.four:before,.rating-80 span.one:before,.rating-80 span.three:before,.rating-80 span.two:before,.rating-90 span.four:before,.rating-90 span.one:before,.rating-90 span.three:before,.rating-90 span.two:before{content:"\f155"}.rating .ratings{display:inline;margin-right:10px;line-height:20px;color:#999}.error .theme-browser,.loading-themes .theme-browser{display:none}.loading-themes .spinner{display:block;margin:40px auto 0;float:none}.appearance_page_custom-header #headimg{border:1px solid #DFDFDF;overflow:hidden;width:100%}.appearance_page_custom-header #upload-form p label{font-size:12px}.appearance_page_custom-header .available-headers .default-header{float:right;margin:0 0 20px 20px}.appearance_page_custom-header .random-header{clear:both;margin:0 0 20px 20px;vertical-align:middle}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-left:10px}.appearance_page_custom-header .available-headers label img{vertical-align:middle}div#custom-background-image{min-height:100px;border:1px solid #dfdfdf}div#custom-background-image img{max-width:400px;max-height:300px}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:0 0;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;right:0;left:0;height:100%;min-width:0}.wp-full-overlay-sidebar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:fixed;width:300px;height:100%;top:0;bottom:0;right:0;padding:0;margin:0;z-index:10;overflow:auto;background:#eee;border-left:0}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{overflow:visible}.wp-full-overlay.collapsed,.wp-full-overlay.expanded .wp-full-overlay-sidebar{margin-right:0!important}.wp-full-overlay.expanded{margin-right:300px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{margin-right:-300px}.wp-full-overlay-sidebar:after{content:'';display:block;position:absolute;top:0;bottom:0;left:0;width:3px;z-index:1000}.wp-full-overlay-main{position:absolute;right:0;left:0;top:0;bottom:0;height:100%}.wp-full-overlay-sidebar .wp-full-overlay-header{position:absolute;right:0;left:0;height:45px;padding:0 15px;line-height:45px;z-index:10;margin:0;border-top:0;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-header a.back{margin-top:9px}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:0;border-top:0;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;right:0;left:0;overflow:auto}.wp-full-overlay .close-full-overlay{text-decoration:none}.wp-full-overlay a.collapse-sidebar{position:absolute;bottom:12px;right:0;z-index:50;display:block;width:19px;height:19px;margin-right:15px;padding:0;-webkit-border-radius:50%;border-radius:50%;color:#777;text-decoration:none}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay.collapsed .collapse-sidebar{position:absolute;right:100%}.wp-full-overlay .collapse-sidebar-arrow{position:static;margin-top:0;margin-right:0;display:block;width:auto;height:auto;background:0 0}.wp-full-overlay .collapse-sidebar-arrow:before{-webkit-border-radius:50%;border-radius:50%;float:right;content:"\f148";background:#eee;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.rtl .wp-full-overlay .collapse-sidebar-arrow:before,.wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:none;-ms-transform:none;transform:none}.wp-full-overlay.collapsed .collapse-sidebar-arrow{background-position:-1px -109px}.wp-full-overlay .collapse-sidebar-label{position:absolute;right:100%;line-height:20px;margin-right:10px}.wp-full-overlay.collapsed .collapse-sidebar-label{display:none}.wp-full-overlay .theme-navigation{padding:10px 20px;position:absolute;bottom:10px;text-align:right}.wp-full-overlay .theme-navigation .next-theme{float:left}.wp-full-overlay.no-navigation .theme-navigation{display:none}.wp-full-overlay,.wp-full-overlay .collapse-sidebar,.wp-full-overlay-main,.wp-full-overlay-sidebar{-webkit-transition-property:right,left,top,bottom,width,margin;transition-property:right,left,top,bottom,width,margin;-webkit-transition-duration:.2s;transition-duration:.2s}.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#customize-container{display:none;background:#fff;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;right:0;left:0;height:100%}.customize-active #customize-container{display:block}.customize-loading #customize-container iframe{opacity:0}.customize-loading #customize-container{background:#fff url(../images/spinner.gif) no-repeat fixed center center;-webkit-background-size:20px 20px;background-size:20px 20px}#customize-container iframe,.theme-install-overlay iframe{height:100%;width:100%;z-index:20;-webkit-transition:opacity .3s;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#customize-controls{margin-top:0}.theme-install-overlay{display:none}.theme-install-overlay.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 60px}.single-theme .install-theme-info{padding-top:15px}.theme-install-overlay .install-theme-info{display:block}.install-theme-info .theme-install{float:left;margin-top:18px}.install-theme-info .theme-name{font-size:16px;line-height:24px;margin-bottom:0;margin-top:0}.install-theme-info .theme-screenshot{margin-top:15px;width:258px;border:1px solid #ccc}.install-theme-info .theme-details{overflow:hidden}.theme-details .theme-version{margin:15px 0;float:right}.theme-details .star-rating{margin:7px 0;float:left}.theme-details .theme-description{float:right;color:#777;line-height:20px;max-width:100%}.theme-install-overlay .wp-full-overlay-header{margin-top:9px}.theme-install-overlay .wp-full-overlay-header .theme-install{float:left;line-height:26px}.theme-install-overlay .wp-full-overlay-sidebar{background:#EEE;border-left:1px solid #DDD}.theme-install-overlay .wp-full-overlay-main{background:#fff url(../images/spinner.gif) no-repeat center center;-webkit-background-size:20px 20px;background-size:20px 20px}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-full-overlay .collapse-sidebar-arrow{background-image:url(../images/arrows-2x.png);-webkit-background-size:15px 123px;background-size:15px 123px}.customize-loading #customize-container,.theme-install-overlay .wp-full-overlay-main{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){.available-theme .action-links .delete-theme{float:none;margin:0;padding:0;clear:both}.available-theme .action-links .delete-theme a{padding:0}}.press-this #message{border-right:4px solid #7ad03a;padding:1px 12px;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.press-this #side-sortables .category-tabs li{display:inline;line-height:1.35em}body.press-this ul.category-tabs li.tabs a{color:#333}.press-this #content-resize-handle{bottom:2px}body.press-this{color:#333;margin:0;padding:0;min-width:708px;min-height:400px}.press-this #titlediv #title{font-size:1.4em}.press-this #site-heading:before{top:3px;position:relative;display:inline-block;font:400 18px/1 dashicons;speak:none;color:#727272;content:'\f120';-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.press-this #wphead{height:32px;margin-right:0;margin-left:0;margin-bottom:5px}.press-this #header-logo{float:right;margin:7px 7px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.press-this #wphead h1{font-weight:400;font-size:16px;line-height:32px;margin:0;float:right}.press-this #wphead h1 a{text-decoration:none}.press-this #wphead h1 a:hover{text-decoration:underline}.press-this #message{margin:10px 0}.press-this .posting{margin-left:250px}.press-this-sidebar{float:left;width:240px;padding-top:10px}.press-this #title{margin-right:0;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.press-this .tagchecklist{margin-top:8px}.press-this #titlediv{margin:0}.press-this #wp-content-wrap #wp-content-editor-tools{padding:0;top:3px;overflow:hidden}.press-this .wp-media-buttons{cursor:default;padding:8px 8px 6px}.press-this #wp-content-wrap #wp-content-media-buttons a{padding:0;line-height:normal;height:auto;font-size:16px}.press-this #wp-content-wrap .mce-toolbar .mce-btn-group .mce-btn{margin:0 1px}.press-this #wp-content-wrap .mce-toolbar .mce-btn button{padding:2px 3px}.press-this #wp-content-wrap .quicktags-toolbar,.press-this #wp-content-wrap div.mce-toolbar-grp{padding-left:3px}.press-this .howto{margin-top:2px;margin-bottom:3px;font-size:12px;font-style:italic;display:block}.press-this #wp-content-editor-container{clear:none}.press-this #poststuff .inside{margin-top:18px}.press-this .category-tabs{margin-bottom:3px}.press-this #poststuff{margin:0 8px;padding:0}.press-this #photo-add-url-div input[type=text]{width:220px}#poststuff #editor-toolbar{height:30px}.posting{margin-left:212px;position:relative}.press-this .inner-sidebar{width:200px}.press-this .inner-sidebar .sleeve{padding-top:5px}.press-this #submitdiv p{margin:0;padding:6px}.press-this #submitdiv #publishing-actions{border-bottom:1px solid #dfdfdf}.press-this #publish{float:left}.press-this #poststuff h2,.press-this #poststuff h3{font-size:14px;line-height:1}.press-this #categorydiv h3,.press-this #tagsdiv-post_tag h3{cursor:pointer}.press-this #submitdiv h3{cursor:default}h3.tb{font-weight:600;font-size:12px;margin-right:5px}.press-this .postbox,.press-this .stuffbox{margin-bottom:10px;min-width:0}.press-this #submitdiv:hover .handlediv{background:0 0}.tbtitle{font-size:1.7em;outline:0;padding:3px 4px;border:1px solid #dfdfdf}.press-this .actions{float:left;margin:-19px 0 0}.press-this #extra-fields .actions{margin:-32px 0 0 -7px}.press-this .actions li{float:right;list-style:none;margin-left:10px}#extra-fields .button{margin-left:5px}#photo_saving{margin:0 8px 8px;vertical-align:middle}#img_container_container{overflow:auto}#extra-fields{margin-top:10px;position:relative}#extra-fields h2{margin:12px}#waiting{margin-top:10px;overflow:hidden}#waiting span{float:left;margin:0 5px 0 0}#waiting .spinner{display:block}#extra-fields .postbox{margin-bottom:5px}#extra-fields .titlewrap{padding:0;overflow:auto;height:120px}#img_container a{float:right;overflow:hidden}#img_container a,#img_container img{width:68px;height:68px}#img_container img{border:0;background-color:#f4f4f4;cursor:pointer}#img_container a,#img_container a:link,#img_container a:visited{border:1px solid #ccc;display:block;position:relative}#img_container a:active,#img_container a:hover{border-color:#000;z-index:1000;border-width:1px}#embed-code{width:100%;height:98px}.press-this .categorydiv div.tabs-panel{height:100px}.press-this .tagsdiv .newtag{width:120px}.press-this #content{margin:5px 0;padding:0 5px;border:0 none;height:340px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:19px;background:0 0}.press-this #publishing-actions .spinner{display:inline;vertical-align:middle}@media screen and (max-width:782px){.press-this ul.category-tabs li.tabs{padding:3px 5px 5px}.press-this a.wp-switch-editor{font:13px/19px "Open Sans",sans-serif;margin:5px 5px 0 0;padding:3px 8px 4px}.press-this #wp-content-media-buttons a{padding:0;line-height:normal;height:auto}.press-this #wp-content-editor-tools{padding:0;top:3px}.press-this .category-tabs{margin-top:0}.press-this .tagsdiv .newtag{width:120px;padding:3px 5px;margin-bottom:0}.press-this .tagchecklist{padding:0;margin-bottom:0}.press-this .wp_themeSkin a.mceButton{width:20px;height:20px}.press-this .wp_themeSkin .mceButton .mceIcon{margin:0}.press-this #poststuff h3,.press-this .metabox-holder h3{padding:7px 12px}.press-this input[type=checkbox],.press-this input[type=radio]{height:16px;width:16px}.press-this input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px -4px 0 0}.press-this input[type=radio]:checked:before{font:400 21px/1 dashicons;width:6px;height:6px;margin:4px}.press-this ul.categorychecklist li,.press-this ul.categorychecklist ul{margin-top:0;margin-bottom:0}.press-this div.quicktags-toolbar input{padding:2px 4px}.press-this input,.press-this textarea{font-size:14px}.press-this .tagchecklist span{font-size:13px;line-height:1.8em}}.about-wrap{position:relative;margin:25px 20px 0 40px;max-width:1050px;font-size:15px}.about-wrap div.error,.about-wrap div.updated{display:none!important}.about-wrap hr{border:0;height:0;margin:0;border-top:1px solid rgba(0,0,0,.1)}.about-wrap img{margin:0;max-width:100%;vertical-align:middle}.about-wrap p{line-height:1.6em;font-size:14px}.about-wrap h1{margin:.2em 0 0 200px;color:#333;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap h4{color:#222}.about-wrap .about-text,.about-wrap li.wp-person a.web,.about-wrap p.about-description{font-weight:400;line-height:1.6em;font-size:19px}.about-description{margin-top:1.4em}.about-text{margin:1em 0 1em 200px;min-height:60px;color:#777;font-size:24px}.about-wrap .changelog h2.about-headline-callout{margin:1.1em 0 .2em;font-size:2.4em;font-weight:300;line-height:1.3;text-align:center}.about-wrap h3{margin:1em 0 .6em;font-size:1.5em;line-height:1.5em}.customize h3{margin-top:1.75em;text-align:center}.about-wrap .feature-section h4{margin:1.4em 0 .6em;font-size:1.2em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap code,.about-wrap ol li p{font-size:14px}.about-wrap .button.button-large{padding:8px 20px 10px!important;height:46px!important;font-size:14px;line-height:28px!important}.about-wrap .about-overview-img{margin:0}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #dfdfdf}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.wp-badge{background:#0074a2 url(../images/w-logo-white.png?ver=20131202) no-repeat;background:#0074a2,url(../images/wordpress-logo-white.svg?ver=20131110) no-repeat;background-position:center 24px;-webkit-background-size:85px 85px;background-size:85px 85px;color:#78c8e6;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:150px;text-rendering:optimizeLegibility;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap .wp-badge{position:absolute;top:0;left:0}.about-wrap h2.nav-tab-wrapper{padding-right:6px}.about-wrap h2 .nav-tab{padding:4px 15px 6px;margin:0 0 -1px 3px;font-size:18px;vertical-align:top;border-width:1px}.about-overview{margin-top:40px;text-align:center}.about-overview .wp-video{margin:0 auto}.changelog .wp-playlist .wp-playlist-current-item img{height:64px;width:auto;max-width:100%}.about-wrap .feature-section{margin-top:40px;padding-bottom:20px}.about-wrap .feature-section.two-col>div{position:relative;width:47.5%;margin-left:4.999999999%;float:right}.about-wrap .feature-section.three-col>div{position:relative;width:29.95%;margin-left:4.999999999%;float:right}.about-wrap .feature-section.col .last-feature{margin-left:0}.about-wrap .under-the-hood .feature-section{margin-top:0}.about-wrap .changelog .feature-section{overflow:hidden}.about-wrap .feature-section.two-col div p{margin-left:3%}.about-wrap .feature-section div p img{float:left;margin-right:10px;max-width:20%}.about-wrap .changelog li{list-style-type:disc;margin-right:3em}.about-wrap .return-to-dashboard{margin:30px -5px 0 0;font-size:14px;font-weight:700}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap h4.wp-people-group{margin-top:2.6em;font-size:16px}.about-wrap ul.wp-people-group{overflow:hidden;padding:0 5px;margin:0 -5px 0 -15px}.about-wrap ul.compact{margin-bottom:0}.about-wrap li.wp-person{float:right;margin-left:10px}.about-wrap li.wp-person img.gravatar{float:right;margin:0 0 10px 10px;padding:2px;width:60px;height:60px}.about-wrap ul.compact li.wp-person img.gravatar{width:30px;height:30px}.about-wrap li.wp-person{height:70px;width:280px;padding-bottom:15px}.about-wrap ul.compact li.wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap li.wp-person a.web{display:block;margin:6px 0 2px;font-size:16px;text-decoration:none}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:700}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}@media screen and (max-width:782px){.about-wrap .feature-section.one-col>div,.about-wrap .feature-section.three-col>div,.about-wrap .feature-section.two-col>div{width:100%;margin:0 0 40px;padding:0 0 40px;float:none;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .feature-section.col>div.last-feature,.about-wrap .under-the-hood .feature-section>div{margin:0;padding:0;border-bottom:0}}@media only screen and (max-width:500px){.about-wrap{margin-left:20px;margin-right:10px}.about-text,.about-wrap h1{margin-left:0}.about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap .feature-section.three-col div{width:100%;float:none}.about-wrap .three-col.about-updates .col-1{padding:0;float:none}.about-wrap .three-col.about-updates .col-2{margin:0 0 20px;width:100%;float:none}}.no-js #message{display:block}ul.add-menu-item-tabs li{padding:3px 8px 3px 5px}.accordion-section ul.add-menu-item-tabs,.accordion-section ul.category-tabs,.accordion-section ul.wp-tab-bar{margin:0}.accordion-section .categorychecklist{margin:13px 0}#nav-menu-meta .accordion-section-content{padding:18px 13px}#nav-menu-meta .button-controls{margin-bottom:0}#nav-menus-frame{margin-right:300px;margin-top:23px}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-right:-300px;clear:both;float:right;padding-top:0}#menu-settings-column .inside{clear:both;margin:10px 0 0}.metabox-holder-disabled .accordion-section-content,.metabox-holder-disabled .accordion-section-title,.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50)}.metabox-holder-disabled .button-controls .select-all{display:none}#wpbody{position:relative}.blank-slate .menu-name{height:2em}.blank-slate .menu-settings{border:0;margin-top:0;padding-top:0;overflow:hidden}.is-submenu{color:#999;font-style:italic;font-weight:400;margin-right:4px}.manage-menus{margin-top:23px;padding:10px;overflow:hidden;background:#fbfbfb}.manage-menus select{float:right;margin-left:6px}.manage-menus .selected-menu{float:right;margin:5px 0 0 6px}.manage-menus .submit-btn{float:right;margin-top:1px}.menu-edit p{margin:.3em 0 .6em}.menu-edit #post-body-content h3{margin:1em 0 10px}.menu-settings{border-top:1px solid #eee;margin-top:2em}.menu-settings dl{margin:0 0 10px;overflow:hidden;padding-right:18%}.menu-settings dd{float:right;margin:0;width:100%}.menu-settings dt{float:right;clear:both;width:21.951%;padding:3px 0 0;margin-right:-21.951%}.menu-settings label{vertical-align:baseline}.menu-edit .checkbox-input{margin-top:4px}.theme-location-set{color:#999;font-size:11px}#menu-management-liquid{float:right;min-width:100%;margin-top:3px}#menu-management{position:relative;margin-left:20px;margin-top:-3px;width:100%;background:#f5f5f5}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:0 10px 10px;border-top:1px solid #fff;border-bottom:1px solid #dfdfdf;background:#fff}#nav-menu-footer,#nav-menu-header{padding:0 10px}#nav-menu-header{border-bottom:1px solid #dfdfdf;margin-bottom:0}#nav-menu-header .menu-name-label{margin-top:4px}.nav-menus-php #post-body div.error,.nav-menus-php #post-body div.updated{margin:0}.nav-menus-php #post-body-content{position:relative;float:none}#menu-management .menu-add-new abbr{font-weight:600}#select-nav-menu-container{text-align:left;padding:0 10px 3px;margin-bottom:5px}#select-nav-menu{width:100px;display:inline}#menu-name-label{margin-top:-2px}.widefat td.menu-location-menus{padding-bottom:5px}.menu-location-menus select{float:right}#locations-nav-menu-wrapper{padding:5px 0}.locations-nav-menu-select select{float:right;width:160px;margin-left:5px}.locations-row-links{float:right;margin:6px 6px 0 0}.locations-add-menu-link,.locations-edit-menu-link{margin:0 3px}.locations-edit-menu-link{padding-left:3px;border-left:1px solid #ccc}#wpbody .open-label{display:block;float:right}#wpbody .open-label span{padding-left:10px}.js .input-with-default-title{color:#aaa;font-style:italic}#menu-management .inside{padding:0 10px}.accordion-container .howto input,.postbox .howto input{width:180px;float:left}.accordion-container .outer-border{margin:0}.customlinkdiv .howto input{width:180px}.customlinkdiv p{margin-top:0}#nav-menu-theme-locations .howto select{width:100%}#nav-menu-theme-locations .button-controls{text-align:left}.add-menu-item-view-all{height:400px}#menu-container .submit{margin:0 0 10px;padding:0}.nav-menus-php .add-new-menu-action{float:right;margin:6px 6px 0 0;line-height:15px}.nav-menus-php .meta-sep,.nav-menus-php .submitcancel,.nav-menus-php .submitdelete{display:block;float:right;margin:6px 0;line-height:15px}.meta-sep{padding:0 2px}#cancel-save{text-decoration:underline;font-size:12px;margin-right:20px;margin-top:5px}.button-primary.right,.button-secondary.right,.button.right{float:left}.list-controls{float:right;margin-top:5px}.add-to-menu{float:left}.postbox .spinner{display:none;vertical-align:middle}.button-controls{clear:both;margin:10px 0}.hide-all,.show-all{cursor:pointer}.hide-all{display:none}#menu-name{width:270px}#manage-menu .inside{padding:0}#available-links dt{display:block}#add-custom-link .howto{font-size:12px}#add-custom-link label span{display:block;float:right;margin-top:5px;padding-left:5px}.menu-item-textbox{width:180px}.nav-menus-php .howto span{margin-top:6px;display:block;float:right}.quick-search{width:190px}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .postbox p.submit{margin-bottom:0}.nav-menus-php .list li{display:none;margin:0;margin-bottom:5px}.nav-menus-php .list li .menu-item-title{cursor:pointer;display:block}.nav-menus-php .list li .menu-item-title input{margin-left:3px;margin-top:-3px}.menu-item-title input[type=checkbox]{display:inline-block;margin-top:-4px}#menu-container .inside{padding-bottom:10px}.menu{padding-top:1em}#menu-to-edit{margin:0;padding:.1em 0}.menu ul{width:100%}.menu li{margin-bottom:0;position:relative}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin:9px 0 0}.menu-item-bar .menu-item-handle{border:1px solid #dfdfdf;position:relative;padding:10px 15px;height:auto;width:382px;line-height:30px;overflow:hidden;word-wrap:break-word}.menu-item-bar .menu-item-handle:hover{border-color:#999}#menu-to-edit .menu-item-invalid .menu-item-handle{background:#f6c9cc;border-color:#f1acb1}.no-js .menu-item-edit-active .item-edit{display:none}.js .menu-item-handle{cursor:move}.menu li.deleting .menu-item-handle{background-image:none;background-color:#f66}.menu-item-handle .item-title{font-size:13px;font-weight:600;line-height:20px;display:block;margin-left:13em}li.menu-item.ui-sortable-helper dl{margin-top:0}li.menu-item.ui-sortable-helper .menu-item-transport dl{margin-top:13px}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px}.menu-item-depth-0{margin-right:0}.menu-item-depth-1{margin-right:30px}.menu-item-depth-2{margin-right:60px}.menu-item-depth-3{margin-right:90px}.menu-item-depth-4{margin-right:120px}.menu-item-depth-5{margin-right:150px}.menu-item-depth-6{margin-right:180px}.menu-item-depth-7{margin-right:210px}.menu-item-depth-8{margin-right:240px}.menu-item-depth-9{margin-right:270px}.menu-item-depth-10{margin-right:300px}.menu-item-depth-11{margin-right:330px}.menu-item-depth-0 .menu-item-transport{margin-right:0}.menu-item-depth-1 .menu-item-transport{margin-right:-30px}.menu-item-depth-2 .menu-item-transport{margin-right:-60px}.menu-item-depth-3 .menu-item-transport{margin-right:-90px}.menu-item-depth-4 .menu-item-transport{margin-right:-120px}.menu-item-depth-5 .menu-item-transport{margin-right:-150px}.menu-item-depth-6 .menu-item-transport{margin-right:-180px}.menu-item-depth-7 .menu-item-transport{margin-right:-210px}.menu-item-depth-8 .menu-item-transport{margin-right:-240px}.menu-item-depth-9 .menu-item-transport{margin-right:-270px}.menu-item-depth-10 .menu-item-transport{margin-right:-300px}.menu-item-depth-11 .menu-item-transport{margin-right:-330px}body.menu-max-depth-0{min-width:950px!important}body.menu-max-depth-1{min-width:980px!important}body.menu-max-depth-2{min-width:1010px!important}body.menu-max-depth-3{min-width:1040px!important}body.menu-max-depth-4{min-width:1070px!important}body.menu-max-depth-5{min-width:1100px!important}body.menu-max-depth-6{min-width:1130px!important}body.menu-max-depth-7{min-width:1160px!important}body.menu-max-depth-8{min-width:1190px!important}body.menu-max-depth-9{min-width:1220px!important}body.menu-max-depth-10{min-width:1250px!important}body.menu-max-depth-11{min-width:1280px!important}.item-type{color:#777;font-size:12px;padding:12px 10px;line-height:18px;display:block}.item-controls{font-size:12px;position:absolute;left:20px;top:-1px}.item-controls a{text-decoration:none}.item-controls a:hover{cursor:pointer}.item-controls .item-order{padding-left:10px}.nav-menus-php .item-edit{position:absolute;left:-20px;top:0;display:block;width:30px;height:40px;margin-left:0!important;text-indent:100%;outline:0;overflow:hidden;white-space:nowrap}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:402px;padding:10px 10px 10px 0;position:relative;z-index:10;border:1px solid #e5e5e5;border-top:0;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.menu-item-settings .field-move a{display:none;margin:0 2px}.menu-item-edit-active .menu-item-settings{display:block}.menu-item-edit-inactive .menu-item-settings{display:none}.add-menu-item-pagelinks{margin:.5em auto;text-align:center}.link-to-original{display:block;margin:0 0 10px;padding:3px 5px 5px;border:1px solid #dfdfdf;color:#777;font-size:12px;font-style:italic}.link-to-original a{padding-right:4px;font-style:normal}.hidden-field{display:none}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-left:10px;float:right}.description-thin{width:190px;height:40px}.description-wide{width:390px}.menu-item-actions{padding-top:15px}#cancel-save{cursor:pointer}.nav-menus-php .major-publishing-actions{clear:both;padding:3px 0 6px}.nav-menus-php .major-publishing-actions .publishing-action{text-align:left;float:left;line-height:23px;margin:4px 0 1px}.nav-menus-php .blank-slate .menu-settings{display:none}.nav-menus-php .delete-action{float:right;margin-top:2px}.nav-menus-php .submitbox .submitcancel{border-bottom:1px solid #0074a2;padding:1px 2px;color:#0074a2;text-decoration:none}.nav-menus-php .submitbox .submitcancel:hover{background:#0074a2;color:#fff}.nav-menus-php .major-publishing-actions .form-invalid{padding-right:4px;margin-right:-4px}#menu-item-name-wrap:after,#menu-item-url-wrap:after,#menu-name-label:after,#menu-settings-column .inside:after,#nav-menus-frame:after,.nav-menus-php #post-body-content:after,.nav-menus-php .button-controls:after,.nav-menus-php .major-publishing-actions:after,.nav-menus-php .menu-item-settings:after{clear:both;content:".";display:block;height:0;visibility:hidden}#menu-item-name-wrap,#menu-item-url-wrap,#nav-menus-frame,.button-controls{display:block}@media screen and (max-width:782px){body.nav-menus-php{min-width:0!important}#nav-menus-frame{margin-right:0;float:none;width:100%}#wpbody-content #menu-settings-column{display:block;width:100%;float:none;margin-right:0}#side-sortables .add-menu-item-tabs{margin:15px 0 14px}ul.add-menu-item-tabs li.tabs{padding:13px 15px 14px}.nav-menus-php .item-controls .item-type{margin-top:2px}.nav-menus-php .customlinkdiv .howto input{width:65%}.nav-menus-php .quick-search{width:85%}#menu-management-liquid{margin-top:25px}.nav-menus-php .menu-name-label.howto span{margin-top:13px}.menu-name-label #menu-name{margin-top:4px}.nav-menus-php .major-publishing-actions .publishing-action{margin-top:6px}.nav-menus-php .delete-action{font-size:14px;line-height:50px;margin-top:12px}.description-wide,.menu-item-bar .menu-item-handle,.menu-item-settings{width:auto}.menu-item-settings{padding:10px}.menu-item-settings .description-thin,.menu-item-settings .description-wide{width:100%;height:auto}.menu-item-settings input{width:100%}.menu-settings dl{padding-right:0}.menu-settings dd{float:none;width:100%;margin-bottom:15px}.menu-settings dt{float:none;width:auto;margin-right:0;margin-bottom:15px}}@media only screen and (max-width:768px){#menu-locations-wrap .widefat{width:100%}}.widget{margin:0 auto 10px;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.widget-top{font-size:13px;font-weight:600;background:#f7f7f7}.widget-top a.widget-action,.widget-top a.widget-action:hover{text-decoration:none}.widget-title h4{margin:0;padding:15px;line-height:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.widgets-holder-wrap .widget-inside{border-top:0;padding:1px 15px 15px;line-height:16px}#available-widgets .widget-description,#widgets-right a.widget-control-edit,.in-widget-title{color:#666}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.widget.ui-draggable-dragging{min-width:100%}.widget.ui-sortable-helper{opacity:.8}.widget-placeholder{border:1px dashed #bbb;margin:0 auto 10px;height:45px;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#widgets-right .widget-placeholder{margin-top:0}#widgets-right .closed .widget-placeholder{height:0;border:0;margin-top:-10px}.sidebar-name{position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.sidebar-name-arrow{position:absolute;top:0;left:0;bottom:0}.js .sidebar-name{cursor:pointer}.sidebar-name h3{margin:0;padding:8px 10px;overflow:hidden;white-space:nowrap}.widgets-holder-wrap .description{padding:0 0 15px;margin:0;font-style:normal;color:#777}#widgets-right .widgets-holder-wrap .description{padding-right:7px;padding-left:7px}div.widget-liquid-left{margin:0;width:38%;float:right}div.widget-liquid-right{float:left;width:58%}div#widgets-left{padding-top:12px}div#widgets-left .closed .sidebar-name,div#widgets-left .inactive-sidebar.closed .sidebar-name{margin-bottom:10px}div#widgets-left .sidebar-name h3{padding:10px 0;margin:0 0 0 10px}div#widgets-left .sidebar-name .sidebar-name-arrow:before{left:0;top:4px;padding:4px 4px 4px 6px}#widgets-left #available-widgets,div#widgets-left .widget-holder{background:0 0;border:0}#widgets-left .widgets-holder-wrap{border:0;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-action{display:none}#available-widgets .widget{margin:0}#available-widgets .widget:nth-child(odd){clear:both}#available-widgets .widget .widget-description{display:block;padding:10px 15px;font-size:12px}#available-widgets #widget-list{position:relative}#widgets-left .inactive-sidebar{clear:both;width:100%;background:0 0;padding:0;margin:0 0 20px;border:0;-webkit-box-shadow:none;box-shadow:none}#widgets-left .inactive-sidebar.first{margin-top:40px}div#widgets-left .inactive-sidebar .widget.expanded{right:auto}.widget-title-action{float:left;position:relative}div#widgets-left .inactive-sidebar .widgets-sortables{min-height:42px;padding:0;background:0 0;margin:0;position:relative}div#widgets-right:after{content:".";display:block;height:0;clear:both;visibility:hidden}div#widgets-right .sidebars-column-1,div#widgets-right .sidebars-column-2{max-width:450px}div#widgets-right .widgets-holder-wrap{margin:10px 0 0}div#widgets-right .sidebar-description{min-height:20px;margin-top:-5px}div#widgets-right .sidebar-name h3{padding:15px 7px}div#widgets-right .sidebar-name .sidebar-name-arrow:before{left:0;top:4px}div#widgets-right .widget-top{padding:0}div#widgets-right .widgets-sortables{padding:0 8px;margin-bottom:9px;position:relative;min-height:123px}div#widgets-right .closed .widgets-sortables{min-height:0;margin-bottom:0}.sidebar-name .spinner{margin:-5px 5px;float:none}#widgets-right .widgets-holder-wrap.widget-hover{border-color:#777;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}.widgets_access #widgets-left .widget .widget-top{cursor:auto}.widgets_access #wpwrap .widget-control-edit,.widgets_access #wpwrap .widgets-holder-wrap.closed .sidebar-description,.widgets_access #wpwrap .widgets-holder-wrap.closed .widget{display:block}.widgets_access #widgets-left .widget .widget-top:hover,.widgets_access #widgets-right .widget .widget-top:hover{border-color:#ddd}#available-widgets .widget-control-edit .edit,#widgets-left .inactive-sidebar .widget-control-edit .add,#widgets-right .widget-control-edit .add{display:none}.widget-control-edit{display:block;color:#666;background:#EEE;padding:0 15px;line-height:43px;border-right:1px solid #DDD}#widgets-left .widget-control-edit:hover,#widgets-right .widget-control-edit:hover{color:#fff;background:#444;border-right:0;outline:1px solid #444}.widgets-holder-wrap .sidebar-description,.widgets-holder-wrap .sidebar-name{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.editwidget{margin:0 auto}.editwidget .widget-inside{display:block;padding:0 15px}.editwidget .widget-control-actions{margin-top:20px}.js .closed br.clear,.js .widgets-holder-wrap.closed .sidebar-description,.js .widgets-holder-wrap.closed .widget,.widget-description,.widget-inside{display:none}.widget-inside{background:#fff}#removing-widget{display:none;font-weight:400;padding-right:15px;font-size:12px;line-height:1;color:#000}.js #removing-widget{color:#2ea2cc}#access-off,.no-js .widget-holder .description,.widget-control-noform,.widgets_access #access-on,.widgets_access .sidebar-name-arrow,.widgets_access .widget-action,.widgets_access .widget-holder .description{display:none}.widgets_access #widget-list,.widgets_access .widget-holder{padding-top:10px}.widgets_access #access-off{display:inline}.widgets_access .sidebar-name,.widgets_access .widget .widget-top{cursor:default}.widget-liquid-left #widgets-left.chooser #available-widgets .widget,.widget-liquid-left #widgets-left.chooser .inactive-sidebar{-webkit-transition:opacity .1s linear;transition:opacity .1s linear;opacity:.2;pointer-events:none}.widget-liquid-left #widgets-left.chooser #available-widgets .widget-in-question{opacity:1;pointer-events:auto}#available-widgets .widget-top:hover,#widgets-left .widget-in-question .widget-top,#widgets-left .widget-top:hover,.widgets-chooser ul,div#widgets-right .widget-top:hover{border-color:#999;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}.widgets-chooser ul.widgets-chooser-sidebars{margin:0;list-style-type:none;max-height:300px;overflow:auto}.widgets-chooser{display:none}.widgets-chooser ul{border:1px solid #ccc}.widgets-chooser li{padding:10px 35px 10px 15px;border-bottom:1px solid #ccc;background:#fff;margin:0;cursor:pointer;outline:0;position:relative;-webkit-transition:background .2s ease-in-out;transition:background .2s ease-in-out}.widgets-chooser li:focus,.widgets-chooser li:hover{background:rgba(255,255,255,.7)}.widgets-chooser li:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#999;position:absolute;top:7px;right:5px}.widgets-chooser li:last-child{border:0}.widgets-chooser li.widgets-chooser-selected{background:#2ea2cc;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#fff;position:absolute;top:7px;right:5px}.widgets-chooser .widgets-chooser-actions{padding:10px 0 12px;text-align:center}.widgets-chooser button{margin-left:5px}#available-widgets .widget .widget-top{cursor:pointer}@media screen and (max-width:480px){div.widget-liquid-left{width:100%;float:none;border-left:0;padding-left:0}#widgets-left #available-widgets .widget-top,#widgets-left .inactive-sidebar .widgets-sortables,#widgets-left .sidebar-name{margin-left:0}div.widget-liquid-right{width:100%;float:none}div.widget{margin:0 auto 10px!important;max-width:480px}}@media screen and (max-width:320px){div.widget{max-width:320px}}@media only screen and (min-width:1250px){#widgets-left #available-widgets .widget{width:49%;float:right}.widget.ui-draggable-dragging{min-width:49%}#widgets-left #available-widgets .widget:nth-child(even){float:left}#widgets-right .sidebars-column-1,#widgets-right .sidebars-column-2{float:right;width:49%}#widgets-right .sidebars-column-1{margin-left:2%}#widgets-right.single-sidebar .sidebars-column-1,#widgets-right.single-sidebar .sidebars-column-2{float:none;width:100%;margin:0}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"楷体",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de .inline-edit-row fieldset label span.title{width:7em}.locale-de-de .inline-edit-row fieldset label span.input-text-wrap{margin-right:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-left:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}
\ No newline at end of file
+#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%;padding-right:20px}#wpcontent,#wpfooter{margin-right:160px}.folded #wpcontent,.folded #wpfooter{margin-right:36px}#wpbody-content{padding-bottom:65px;float:right;width:100%;overflow:visible!important}.inner-sidebar{float:left;clear:left;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-left:auto;width:286px;display:block}.columns-2 .inner-sidebar #side-sortables,.inner-sidebar #side-sortables{min-height:300px;width:280px;padding:0}.has-right-sidebar .inner-sidebar{display:block}.has-right-sidebar #post-body{float:right;clear:right;width:100%;margin-left:-2000px}.has-right-sidebar #post-body-content{margin-left:300px;float:none;width:auto}#col-container,#col-left,#col-right{overflow:hidden;padding:0;margin:0}#col-left{width:35%}#col-right{float:left;clear:left;width:65%}.col-wrap{padding:0 7px}.alignleft{float:right}.alignright{float:left}.textleft{text-align:right}.textright{text-align:left}.clear{clear:both}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.screen-reader-shortcut{position:absolute;top:-1000em}.screen-reader-shortcut:focus{right:6px;top:-25px;height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:0}.hidden,.js .closed .inside,.js .hide-if-js,.js .wp-core-ui .hide-if-js,.js.wp-core-ui .hide-if-js,.no-js .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js,.no-js.wp-core-ui .hide-if-no-js{display:none}#menu-management .menu-edit,#menu-settings-column .accordion-container,.feature-filter,.imgedit-group,.manage-menus,.menu-item-handle,.popular-tags,.stuffbox,.widget-inside,.widget-top,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.feature-filter,.imgedit-group,.popular-tags,.stuffbox,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{background:#fff}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em;min-width:600px}body.iframe{min-width:0;padding-top:1px}body.modal-open{overflow:hidden}iframe,img{border:0}td{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}a{color:#0074a2;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}a,div{outline:0}a:active,a:hover{color:#2ea2cc}a:focus{color:#124964;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 a:focus{outline:#5b9dd9 solid 1px}#adminmenu a:focus,.screen-reader-text:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}p{font-size:13px;line-height:1.5;margin:1em 0}blockquote{margin:1em}dd,li{margin-bottom:6px}h1,h2,h3,h4,h5,h6{display:block;font-weight:600}h1{font-size:2em;margin:.67em 0}h2{color:#222;font-size:1.5em;margin:.83em 0;font-weight:400}h3{color:#222;font-size:1.3em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}ol,ul{padding:0}ul{list-style:none}ol{list-style-type:decimal;margin-right:2em}ul.ul-disc{list-style:disc}ul.ul-square{list-style:square}ol.ol-decimal{list-style:decimal}ol.ol-decimal,ul.ul-disc,ul.ul-square{margin-right:1.8em}ol.ol-decimal>li,ul.ul-disc>li,ul.ul-square>li{margin:0 0 .5em}.ltr{direction:ltr}.code,code{font-family:Consolas,Monaco,monospace;direction:ltr}code,kbd{padding:3px 5px 2px;margin:0 1px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:13px}.subsubsub{list-style:none;margin:8px 0 0;padding:0;font-size:13px;float:right;color:#666}.subsubsub a{line-height:2;padding:.2em;text-decoration:none}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:400}.subsubsub a.current{font-weight:600;border:none}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat *{word-wrap:break-word}.widefat a{text-decoration:none}.widefat td,.widefat th{padding:8px 10px}.widefat thead th{border-bottom:1px solid #e1e1e1}.widefat tfoot th{border-top:1px solid #e1e1e1;border-bottom:none}.widefat .no-items td{border-bottom-width:0}.widefat td{vertical-align:top}.widefat td,.widefat td ol,.widefat td p,.widefat td ul{font-size:13px;line-height:1.5em}.widefat th{text-align:right;line-height:1.3em;font-size:14px}.widefat th input{margin:0 8px 0 0;padding:0;vertical-align:text-top}.widefat .check-column{width:2.2em;padding:6px 0 25px;vertical-align:top}.widefat th input[type=checkbox]{margin-top:-1px}.widefat.media .check-column{padding-top:8px}.widefat tbody th.check-column,.widefat tfoot th.check-column,.widefat thead th.check-column{padding:11px 3px 0 0}.widefat thead th.check-column{padding-top:10px}.update-php div.error,.update-php div.updated{margin-right:0}.no-js .widefat tfoot .check-column input,.no-js .widefat thead .check-column input{display:none}.column-comments,.column-links,.column-posts,.widefat .num{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:10px 2px 0 20px}div.error,div.updated{margin:5px 15px 2px}div.error p,div.updated p{margin:.5em 0;padding:2px}.media-upload-form div.error,.wrap div.error,.wrap div.updated{margin:5px 0 15px}div.updated{border-right:4px solid #7ad03a;padding:1px 12px;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}div.error{border-right:4px solid #dd3d36;background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);padding:1px 12px}.attention{color:#2ea2cc}.subtitle,.wrap h2{font-weight:400;margin:0}.wrap h2{font-size:23px;font-weight:400;padding:9px 0 4px 15px;line-height:29px}.subtitle{color:#777;font-size:14px;padding-right:25px}.wrap .add-new-h2,.wrap .add-new-h2:active{margin-right:4px;padding:4px 8px;position:relative;top:-3px;text-decoration:none;border:none;-webkit-border-radius:2px;border-radius:2px;background:#e0e0e0;text-shadow:none;font-weight:600;font-size:13px}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.wrap h2.long-header{padding-left:0}.wp-dialog{background-color:#fff}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}.alt,.alternate{background-color:#f9f9f9}.bar{background-color:#e8e8e8;border-left-color:#99d}.media-upload-form label.form-help,td.help{color:#9a9a9a}.highlight{background-color:#e4f2fd;color:#000}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.wp-ui-highlight{color:#fff;background-color:#1e8cbe}.wp-ui-text-highlight{color:#1e8cbe}.wp-ui-notification{color:#fff;background-color:#d54e21}.wp-ui-text-notification{color:#d54e21}.wp-ui-text-icon{color:#999}#nav-menu-footer,#nav-menu-header,#your-profile #rich_editing,.checkbox,.control-section .accordion-section-title,.menu-item-handle,.postbox .hndle,.side-info,.sidebar-name,.stuffbox .hndle,.widefat tfoot th,.widefat thead th,.widget .widget-top{line-height:1.4em}.menu-item-handle,.widget .widget-top{background:#fafafa;color:#222}.postbox .hndle,.stuffbox .hndle{border-bottom:1px solid #eee}.quicktags,.search{background-color:#ccc;color:#000;font-size:12px}.icon32{display:none}#bulk-titles div a:before,#welcome-panel.welcome-panel .welcome-panel-close:before,.tagchecklist span a:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:400 16px/1 dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased!important}#welcome-panel.welcome-panel .welcome-panel-close:before{margin:0}#bulk-titles div a:before,.tagchecklist span a:before{margin:2px 0}#bulk-titles div a:hover:before,#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before{color:#c00}.key-labels label{line-height:24px}b,strong{font-weight:600}.pre{white-space:pre-wrap;word-wrap:break-word}.howto{color:#666;font-style:italic;display:block}p.install-help{margin:8px 0;font-style:italic}.no-break{white-space:nowrap}hr{border:0;border-top:1px solid #ddd;border-bottom:1px solid #fafafa}#all-plugins-table .plugins a.delete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete,#search-plugins-table .plugins a.delete,.plugins a.delete,.row-actions span.delete a,.row-actions span.spam a,.row-actions span.trash a,.submitbox .submitdelete{color:#a00}#all-plugins-table .plugins a.delete:hover,#media-items a.delete-permanently:hover,#media-items a.delete:hover,#nav-menu-footer .menu-delete:hover,#search-plugins-table .plugins a.delete:hover,.file-error,.plugins a.delete:hover,.row-actions .delete a:hover,.row-actions .spam a:hover,.row-actions .trash a:hover,.submitbox .submitdelete:hover,.widget-control-remove:hover,abbr.required{color:red;text-decoration:none;border:none}#major-publishing-actions{padding:10px;clear:both;border-top:1px solid #ddd;background:#f5f5f5}#delete-action{line-height:28px;vertical-align:middle;text-align:right;float:right}#publishing-action{text-align:left;float:left;line-height:23px}#publishing-action .spinner{float:right}#misc-publishing-actions{padding:6px 0 0}.misc-pub-section{padding:6px 10px 8px}#minor-publishing-actions{padding:10px 10px 0;text-align:left}#save-post{float:right}.preview{float:left}#sticky-span{margin-right:18px}.side-info{margin:0;padding:4px;font-size:11px}.side-info h5{padding-bottom:7px;font-size:14px;margin:12px 2px 5px;border-bottom:1px solid #dadada}.side-info ul{margin:0;padding-right:18px;list-style:square;color:#666}.approve,.unapproved .unapprove{display:none}.spam .approve,.trash .approve,.unapproved .approve{display:inline}td.action-links,th.action-links{text-align:left}.wp-filter{display:inline-block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:12px 0 25px;padding:0 20px;width:100%;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);border:1px solid #e5e5e5;background:#fff;color:#555;font-size:13px}.wp-filter a{text-decoration:none}.filter-count{display:inline-block;vertical-align:middle;min-width:4em}.filter-count .count,.title-count{display:inline-block;position:relative;top:-1px;padding:4px 10px;-webkit-border-radius:30px;border-radius:30px;background:#777;color:#fff;font-size:14px;font-weight:600}.title-count{display:inline;top:-3px;margin-right:5px;margin-left:20px}.filter-links,.filter-links li{display:inline-block;margin:0}.filter-links li>a{display:inline-block;margin:0 10px;padding:15px 0;border-bottom:4px solid #fff;color:#666;cursor:pointer}.filter-links .current{-webkit-box-shadow:none;box-shadow:none;border-bottom:4px solid #666;color:#222}.filter-links li>a:focus,.filter-links li>a:hover,.show-filters .filter-links a.current:focus,.show-filters .filter-links a.current:hover{color:#2ea2cc}.wp-filter .search-form{float:left;margin-top:9px}.wp-filter .search-form input[type=search]{margin:0;padding:3px 5px;width:280px;font-size:16px;font-weight:300;line-height:1.5}.wp-filter .search-form select{height:33px;vertical-align:top}.wp-filter .drawer-toggle{display:inline-block;margin:0 10px;padding:4px 6px;color:#666;cursor:pointer}.wp-filter .drawer-toggle:before{display:inline-block;vertical-align:top;content:"\f111";margin:0 0 0 5px;width:16px;height:16px;color:#777;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;font-family:dashicons;font-size:16px;line-height:1;text-align:center;text-decoration:inherit;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased}.wp-filter .drawer-toggle:hover,.wp-filter .drawer-toggle:hover:before{color:#2ea2cc}.wp-filter .drawer-toggle.current:before{color:#fff}.filter-drawer{display:none;margin:0 -20px;padding:20px;border-top:1px solid #eee;background:#fafafa}.show-filters .filter-drawer{display:block;overflow:hidden}.show-filters .wp-filter .drawer-toggle:focus,.show-filters .wp-filter .drawer-toggle:hover{background:#2ea2cc}.show-filters .filter-links a.current{border-bottom:none}.show-filters .wp-filter .drawer-toggle{-webkit-border-radius:2px;border-radius:2px;border:none;background:#777;color:#fff}.show-filters .wp-filter .drawer-toggle:before{color:#fff}.filter-group{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:right;margin:0 0 0 1%;padding:10px;width:19%;background:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.filter-group.wide{width:38%}.filter-group h4{position:relative;margin:0}.filter-drawer ol{margin:20px 0 0;list-style-type:none;font-size:12px}.filter-drawer li{display:inline-block;vertical-align:top;margin:5px 0;padding-left:25px;width:160px;list-style-type:none}.filter-drawer .buttons{margin-bottom:20px}.filter-drawer .buttons .button span{display:inline-block;opacity:.8;font-size:12px;text-indent:10px}.wp-filter .button.clear-filters{display:none;margin:0 10px 20px 0}.filtered-by{display:none;margin:0}.filtered-by>span{font-weight:600}.filtered-by a{margin-right:10px}.filtered-by .tags{display:inline}.filtered-by .tag{margin:0 5px;padding:4px 8px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:11px}.filters-applied .filter-drawer .buttons,.filters-applied .filter-drawer br,.filters-applied .filter-group{display:none!important}.filters-applied .filtered-by{display:block}.filters-applied .filter-drawer{padding:20px}.error .content-filterable,.loading-content .content-filterable,.show-filters .content-filterable,.show-filters.filters-applied.loading-content .content-filterable{display:none}.show-filters.filters-applied .content-filterable{display:block}.loading-content .spinner{display:block;margin:40px auto 0;float:none}@media only screen and (max-width:1120px){.wp-filter .search-form{float:none;margin:20px 0}.filter-drawer{border-bottom:1px solid #eee}.filter-group{margin-bottom:0;margin-top:5px;width:100%}.filter-group li{margin:10px 0}}@media only screen and (max-width:782px){.filter-group,.filter-group li{width:100%}}#update-nag,.update-nag{display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:right;margin:25px 2px 0 20px;background-color:#fff;border-right:4px solid #ffba00;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.update-message{color:#000}.update-php .spinner{float:none;margin:-4px 0}#ajax-loading,.ajax-feedback,.ajax-loading,.imgedit-wait-spin,.list-ajax-loading{visibility:hidden}#ajax-response.alignleft{margin-right:2em}#adminmenu a,#catlist a,#sidemenu a,#taglist a{text-decoration:none}#contextual-help-wrap,#screen-options-wrap{margin:0;padding:8px 20px 12px;position:relative}#contextual-help-wrap{overflow:auto;margin-right:0!important}#screen-meta .screen-reader-text{visibility:hidden}#screen-meta-links{margin:0 0 0 20px}#screen-meta-links a{padding:3px 16px 3px 6px}#screen-meta-links a:focus{outline:0}#screen-meta{display:none;margin:0 0 -1px 20px;position:relative;background-color:#fff;border:1px solid #ddd;border-top:none;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-link-wrap,#screen-options-link-wrap{float:left;height:28px;margin:0 6px 0 0;border:1px solid #ddd;border-top:none;background:#fff;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#screen-meta-links .screen-meta-toggle{position:relative;top:0}#screen-meta-links a{color:#777}#screen-meta-links a:active,#screen-meta-links a:focus,#screen-meta-links a:hover{color:#333}#screen-meta-links a.show-settings{display:block;font-size:13px;height:22px;line-height:22px;text-decoration:none;z-index:1}#screen-meta-links a:after{left:0;content:'\f140';font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 0 0 5px;bottom:2px;position:relative;vertical-align:bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#bbb}#screen-meta-links a.screen-meta-active:after{content:'\f142'}#screen-meta-links a.show-settings:hover{text-decoration:none}.toggle-arrow{background-repeat:no-repeat;background-position:top right;background-color:transparent;height:22px;line-height:22px;display:block}.toggle-arrow-active{background-position:bottom right}#contextual-help-wrap h5,#screen-options-wrap h5{margin:8px 0;font-size:13px}.metabox-prefs label{display:inline-block;padding-left:15px;line-height:30px}.metabox-prefs label input[type=checkbox]{margin-top:-4px;margin-left:6px}.metabox-prefs label input{margin:0 2px 0 5px}.metabox-prefs .columns-prefs label input{margin:0 2px}.metabox-prefs label a{display:none}#contextual-help-wrap{padding:0}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;right:150px;left:170px;border:1px solid #e1e1e1;border-top:none;border-bottom:none;background:#f6fbfd}#contextual-help-wrap.no-sidebar #contextual-help-back{left:0;border-left-width:0;-webkit-border-bottom-left-radius:2px;border-bottom-left-radius:2px}.contextual-help-tabs{float:right;width:150px;margin:0}.contextual-help-tabs ul{margin:1em 0}.contextual-help-tabs li{margin-bottom:0;list-style-type:none;border-style:solid;border-width:0 2px 0 0;border-color:transparent}.contextual-help-tabs a{display:block;padding:5px 12px 5px 5px;line-height:18px;text-decoration:none;border:1px solid transparent;border-left:none;border-right:none}.contextual-help-tabs a:hover{color:#333}.contextual-help-tabs .active{padding:0;margin:0 0 0 -1px;border-right:2px solid #2ea2cc;background:#f6fbfd;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02);box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02)}.contextual-help-tabs .active a{border-color:#e1e1e1;color:#333}.contextual-help-tabs-wrap{padding:0 20px;overflow:auto}.help-tab-content{display:none;margin:0 0 12px 22px;line-height:1.6em}.help-tab-content.active{display:block}.help-tab-content ul li{list-style-type:disc;margin-right:18px}.contextual-help-sidebar{width:150px;float:left;padding:0 12px 0 8px;overflow:auto}html.wp-toolbar{padding-top:32px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.narrow{width:70%;margin-bottom:40px}.narrow p{line-height:150%}.widefat td,.widefat th{overflow:hidden;color:#555}.widefat th{font-weight:400}.widefat tfoot tr th,.widefat thead tr th{color:#333}.widefat td p{margin:2px 0 .8em}.widefat ol,.widefat p,.widefat ul{color:#333}.widefat .column-comment p{margin:.6em 0}.postbox-container{float:right}.postbox-container .meta-box-sortables{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody-content .metabox-holder{padding-top:10px}.metabox-holder .postbox-container .empty-container{border:3px dashed #bbb;height:250px}.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container,.metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}#post-body-content{width:100%;min-width:463px;float:right}#post-body.columns-2 #postbox-container-1{float:left;margin-left:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}@media only screen and (max-width:799px){#wpbody-content .metabox-holder .postbox-container .empty-container{border:0;height:0;min-height:0}}.js .postbox .hndle,.js .widget .widget-top{cursor:move}.hndle a{font-size:11px;font-weight:400}.postbox .handlediv{float:left;width:27px;height:30px}.js .postbox .handlediv{cursor:pointer}.sortable-placeholder{border:1px dashed #bbb;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox .hndle,.stuffbox .hndle{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.postbox .inside,.stuffbox .inside{padding:0 12px 12px;line-height:1.4em;font-size:13px}.postbox .inside{margin:11px 0;position:relative}.postbox .inside>p:last-child,.rss-widget ul li:last-child{margin-bottom:1px!important}.postbox.closed h3{border:none;-webkit-box-shadow:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 5px}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#dashboard_right_now .versions .b,#ed_reply_toolbar #ed_reply_strong,#pass-strength-result.short,#pass-strength-result.strong,#post-status-display,#post-visibility-display,.feature-filter .feature-name,.item-controls .item-order a,.media-item .percent,.plugins .name{font-weight:600}#wpfooter{position:absolute;bottom:0;right:0;left:0;padding:10px 20px;color:#777}#wpfooter p{font-size:13px;margin:0;line-height:20px}#footer-thankyou{font-style:italic}#wpfooter a{text-decoration:none}#wpfooter a:hover{text-decoration:underline}.nav-tab{border:1px solid #ccc;border-bottom:none;background:#e4e4e4;color:#555;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:-4px 0 -1px 4px}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active,.nav-tab-active:hover{border-bottom:1px solid #f1f1f1;background:#f1f1f1;color:#000}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom:1px solid #ccc;padding-bottom:0;padding-right:10px}h2 .nav-tab{padding:6px 10px;font-weight:700;font-size:15px;line-height:24px}.spinner{background:url(../images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;float:left;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:2px 5px 0}#template div{margin-left:190px}.metabox-holder h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#templateside ul li a{text-decoration:none}#sidemenu{margin:-30px 315px 0 15px;list-style:none;position:relative;float:left;padding-right:10px;font-size:12px}#sidemenu a{padding:0 7px;display:block;float:right;line-height:28px;border-top:1px solid #f9f9f9;border-bottom:1px solid #dfdfdf;background-color:#f9f9f9;-webkit-transition:none;transition:none}#sidemenu li{display:inline;line-height:200%;list-style:none;text-align:center;white-space:nowrap;margin:0;padding:0}#sidemenu a.current{font-weight:400;padding-right:6px;padding-left:6px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;border:1px solid #dfdfdf;border-bottom-color:#f1f1f1;background-color:#f1f1f1;color:#000}.plugin-install #description,.plugin-install-network #description{width:60%}table .column-rating,table .column-visible,table .vers{text-align:right}.error-message{color:red;font-weight:600}body.iframe{height:98%}.lp-show-latest p{display:none}.lp-show-latest .lp-error p,.lp-show-latest p:last-child{display:block}td.media-icon{text-align:center;width:80px;padding-top:8px;padding-bottom:8px}td.media-icon img{max-width:80px;max-height:60px}td.image-icon img{border:1px solid rgba(0,0,0,.07)}#howto{font-size:11px;margin:0 5px;display:block}.importers td{padding-left:14px}.importers{font-size:16px;width:auto}#post-body #post-body-content #namediv h3{margin-top:0}#namediv h3 label{vertical-align:baseline}#namediv table{width:100%}#namediv td.first{width:10px;white-space:nowrap}#namediv input{width:98%}#namediv p{margin:10px 0}#submitdiv h3{margin-bottom:0!important}.zerosize{height:0;width:0;margin:0;border:0;padding:0;overflow:hidden;position:absolute}br.clear{height:2px;line-height:2px}.checkbox{border:none;margin:0;padding:0}fieldset{border:0;padding:0;margin:0}.post-categories{display:inline;margin:0;padding:0}.post-categories li{display:inline}div.star-holder{position:relative;height:17px;width:100px;background:url(../images/stars.png?ver=20121108) repeat-x bottom right}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) repeat-x top right;height:17px;float:right}.star-rating{white-space:nowrap}.star-rating .star{display:inline-block;width:20px;height:20px;-webkit-font-smoothing:antialiased;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;text-align:center;color:#0074a2}.star-rating .star-full:before{content:'\f155'}.star-rating .star-half:before{content:'\f459'}.rtl .star-rating .star-half{-webkit-transform:rotateY(180deg);-ms-transform:rotateY(180deg);transform:rotateY(180deg)}.star-rating .star-empty:before{content:'\f154'}div.action-links{font-weight:400}#plugin-information{background:#fff;position:fixed;top:0;left:0;bottom:0;right:0;height:100%;padding:0}#plugin-information-scrollable{overflow:auto;height:100%}#plugin-information-title{padding:0 20px;background:#f5f5f5;font-size:22px;font-weight:600;line-height:56px;position:relative;top:0;left:0;right:0;height:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner{margin-left:0;height:250px;bottom:250px;-webkit-background-size:100% auto;background-size:100% auto}#plugin-information-title h2{font-size:1em;font-weight:700;padding:0;margin:0;max-width:680px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner h2{font-family:"Helvetica Neue",sans-serif;display:inline-block;font-size:30px;line-height:50px;padding:0 15px;margin:174px 10px 0 0;color:#fff;background:rgba(30,30,30,.9);text-shadow:0 1px 3px rgba(0,0,0,.4);-webkit-box-shadow:0 0 30px rgba(255,255,255,.1);box-shadow:0 0 30px rgba(255,255,255,.1);-webkit-border-radius:8px;border-radius:8px}#plugin-information-title div.vignette{display:none}#plugin-information-title.with-banner div.vignette{display:block;float:left;top:0;height:250px;width:830px;margin:0 -20px;background:0 0;-webkit-box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1)}#plugin-information-tabs{padding:0 16px;position:relative;left:0;right:0;height:36px;z-index:1;border-bottom:1px solid #ddd;background:#f3f3f3}#plugin-information-tabs a{position:relative;float:right;padding:9px 10px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;-webkit-transition:none;transition:none}#plugin-information-tabs a.current{margin:0 -1px;background:#fff;border:1px solid #ddd;border-bottom-color:#fff;padding-top:8px;color:#333}#plugin-information-tabs.with-banner a.current{border-top:none;padding-top:9px}#plugin-information-tabs a:active,#plugin-information-tabs a:focus{outline:0}#plugin-information-content{overflow:hidden;background:#fff;position:relative;top:0;left:0;right:0;min-height:100%;min-height:-webkit-calc(100% - 152px);min-height:calc(100% - 152px)}#plugin-information-content.with-banner{min-height:-webkit-calc(100% - 346px);min-height:calc(100% - 346px)}#section-holder{position:relative;top:0;left:250px;bottom:0;right:0;margin-left:250px;padding:10px 26px 99999px;margin-bottom:-99930px}#section-holder .updated{margin:16px 0}#plugin-information .fyi{display:block;float:left;position:relative;top:0;left:0;padding:16px 16px 99999px;margin-bottom:-99930px;width:217px;border-right:1px solid #ddd;background:#f3f3f3;color:#666}#plugin-information .fyi strong{color:#464646}#plugin-information .fyi h3{font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-left:0}#plugin-information .fyi ul{padding:0;margin:0;list-style:none}#plugin-information .fyi li{margin:0 0 10px}#plugin-information .counter-container{margin:3px 0}#plugin-information .counter-label{float:right;margin-left:5px;min-width:55px}#plugin-information .counter-back{height:17px;width:92px;background-color:#ececec;float:right}#plugin-information .counter-bar{height:17px;background-color:#fddb5a;float:right}#plugin-information .counter-count{margin-right:5px}#plugin-information .fyi ul.contributors{margin-top:10px}#plugin-information .fyi ul.contributors li{display:inline-block;margin-left:8px;vertical-align:middle}#plugin-information .fyi ul.contributors li img{vertical-align:middle;margin-left:4px}#plugin-information-footer{padding:15px 16px;position:absolute;left:0;bottom:0;right:0;height:28px;border-top:1px solid #ddd;background:#f3f3f3}#plugin-information .section{direction:ltr}#plugin-information .section ol,#plugin-information .section ul{list-style-type:disc;margin-left:24px}#plugin-information .section,#plugin-information .section p{font-size:14px;line-height:1.7}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;margin-top:16px;max-width:100%;width:auto;height:auto;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px}#plugin-information pre{padding:7px;overflow:auto;border:1px solid #ccc}#plugin-information .review{overflow:hidden;width:100%;margin-bottom:20px;border-bottom:1px solid #e6e6e6}#plugin-information .review-title-section{overflow:hidden}#plugin-information .review-title-section h4{display:inline-block;float:left;margin:0 6px 0 0}#plugin-information .reviewer-info p{clear:both;margin:0;padding-top:2px}#plugin-information .reviewer-info .avatar{float:left;margin:4px 6px 0 0}#plugin-information .reviewer-info .star-rating{float:left}#plugin-information .review-meta{float:left;margin-left:.75em}#plugin-information .review-body{float:left;width:100%}.plugin-version-author-uri{font-size:13px}@media screen and (max-width:771px){#plugin-information-title.with-banner{height:100px;bottom:100px}#plugin-information-title.with-banner h2{margin-top:30px;font-size:20px;line-height:40px;max-width:85%}#plugin-information-title.with-banner div.vignette{height:100px;bottom:100px;width:800%}#plugin-information-tabs{overflow:hidden;padding:0;height:auto}#plugin-information-tabs a.current{margin-bottom:0;border-bottom:none}#plugin-information .fyi{float:none;border:1px solid #ddd;position:static;width:auto;margin:26px 26px 0;padding-bottom:0}#section-holder{position:static;margin:0;padding-bottom:70px}#plugin-information .fyi h3,#plugin-information .fyi small{display:none}#plugin-information-footer{padding:12px 16px 0;height:46px}}body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:#fcfcfc url(../images/spinner.gif) no-repeat center}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:#fcfcfc url(../images/spinner-2x.gif) no-repeat center;-webkit-background-size:20px 20px;background-size:20px 20px}}body.import-php #TB_title,body.index-php #TB_title,body.plugin-install-php #TB_title,body.plugins-php #TB_title,body.update-core-php #TB_title{float:right;height:1px}body.import-php #TB_ajaxWindowTitle,body.index-php #TB_ajaxWindowTitle,body.plugin-install-php #TB_ajaxWindowTitle,body.plugins-php #TB_ajaxWindowTitle,body.update-core-php #TB_ajaxWindowTitle{display:none}body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{right:auto;left:-30px;color:#eee;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}body.import-php #TB_closeWindowButton:focus,body.import-php #TB_closeWindowButton:focus .tb-close-icon,body.import-php .tb-close-icon:focus,body.import-php .tb-close-icon:hover,body.index-php #TB_closeWindowButton:focus,body.index-php #TB_closeWindowButton:focus .tb-close-icon,body.index-php .tb-close-icon:focus,body.index-php .tb-close-icon:hover,body.plugin-install-php #TB_closeWindowButton:focus,body.plugin-install-php #TB_closeWindowButton:focus .tb-close-icon,body.plugin-install-php .tb-close-icon:focus,body.plugin-install-php .tb-close-icon:hover,body.plugins-php #TB_closeWindowButton:focus,body.plugins-php #TB_closeWindowButton:focus .tb-close-icon,body.plugins-php .tb-close-icon:focus,body.plugins-php .tb-close-icon:hover,body.update-core-php #TB_closeWindowButton:focus,body.update-core-php #TB_closeWindowButton:focus .tb-close-icon,body.update-core-php .tb-close-icon:focus,body.update-core-php .tb-close-icon:hover{color:#2ea2cc;outline:0;-webkit-box-shadow:none;box-shadow:none}body.import-php .tb-close-icon:before,body.index-php .tb-close-icon:before,body.plugin-install-php .tb-close-icon:before,body.plugins-php .tb-close-icon:before,body.update-core-php .tb-close-icon:before{content:"\f335";font-size:32px}@media screen and (max-width:830px){body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{left:0;top:-30px}}img{border:none}#wphead{border-bottom:1px solid #dfdfdf}#wphead h1 a{color:#464646}.js .meta-box-sortables .postbox:hover .handlediv{margin-left:0!important}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{left:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js #widgets-left .sidebar-name .sidebar-name-arrow{display:none}.js #widgets-left .sidebar-name:hover .sidebar-name-arrow,.js #widgets-left .widgets-holder-wrap.closed .sidebar-name .sidebar-name-arrow{display:block}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{content:'\f142'}.js .meta-box-sortables .postbox.closed .handlediv:before,.js .widgets-holder-wrap.closed .sidebar-name-arrow:before{content:'\f140'}.error a{text-decoration:underline}.updated a{text-decoration:none;padding-bottom:2px}#photo-add-url-div input[type=text]{width:300px}.alignleft h3{margin:0}#template textarea{font-family:Consolas,Monaco,monospace;font-size:13px;width:97%;background:#f9f9f9;outline:0}#docs-list,#template textarea{direction:ltr}#template p{width:97%}#templateside{float:left;width:190px;word-wrap:break-word}#postcustomstuff p.submit,#templateside h3{margin:0}#templateside h4{margin:1em 0 0}#templateside ol,#templateside ul{margin:.5em 0;padding:0}#templateside li{margin:4px 0}#templateside a,.theme-editor-php .highlight{display:block;padding:3px 12px 3px 3px;text-decoration:none}.theme-editor-php .highlight{margin:-3px -12px -3px 3px}#templateside .highlight{border:none;font-weight:700}.nonessential{color:#666;font-size:11px;font-style:italic;padding-right:12px}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:baseline;font-weight:600}.fileedit-sub{padding:10px 0 8px;line-height:180%}.accordion-section-title:after,.control-section .accordion-section-title:after,.nav-menus-php .item-edit:before,.widget-top a.widget-action:after{left:0;content:'\f140';border:none;background:0 0;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.accordion-section-title:after,.handlediv,.item-edit,.sidebar-name-arrow,.widget-action{color:#aaa}.accordion-section-title:hover:after,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.widget-action:hover{color:#777}.widget-top a.widget-action:after{padding:12px 12px 0}.nav-menus-php .item-edit:before{line-height:2.1}.accordion-section-title:after,.control-section .accordion-section-title:after{float:left;left:20px;top:-2px}#customize-info.open .accordion-section-title:after,.control-section.open .accordion-section-title:after,.nav-menus-php .menu-item-edit-active .item-edit:before,.widget.open .widget-top a.widget-action:after{content:'\f142'}.ui-draggable,.ui-sortable{-ms-touch-action:none;touch-action:none}.menu.ui-sortable,.meta-box-sortables.ui-sortable,.widgets-holder-wrap .ui-draggable,.widgets-holder-wrap .ui-sortable{-ms-touch-action:auto;touch-action:auto}.menu.ui-sortable .menu-item-handle,.meta-box-sortables.ui-sortable .hndle{-ms-touch-action:none;touch-action:none}.accordion-section{border-bottom:1px solid #dfdfdf;margin:0}.accordion-section.open .accordion-section-content,.no-js .accordion-section .accordion-section-content{display:block}.accordion-section.open:hover{border-bottom-color:#dfdfdf}.accordion-section-content{display:none;padding:10px 20px 15px;overflow:hidden;background:#fff}.accordion-section-title{margin:0;padding:12px 15px 15px;position:relative;border-right:1px solid #dfdfdf;border-left:1px solid #dfdfdf;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .accordion-section-title{cursor:pointer}.js .accordion-section-title:after{position:absolute;top:12px;left:10px;z-index:1}.accordion-section-title:focus{outline:0}.accordion-section-title:focus:after,.accordion-section-title:hover:after{border-color:#aaa transparent}.cannot-expand .accordion-section-title{cursor:auto}.cannot-expand .accordion-section-title:after{display:none}.control-section .accordion-section-title{border-right:none;border-left:none;padding:10px 14px 11px 10px;line-height:21px;background:#fff}.control-section .accordion-section-title:after{top:11px}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{color:#222;background:#f5f5f5}.control-section.open .accordion-section-title{border-bottom:1px solid #dfdfdf}@media only screen and (min-width:769px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:860px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (min-width:980px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:768px){#col-left,#col-right{width:100%}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){div.star-holder,div.star-holder .star-rating{background:url(../images/stars-2x.png?ver=20121108) repeat-x bottom right;-webkit-background-size:21px 37px;background-size:21px 37px}.spinner{background-image:url(../images/spinner-2x.gif)}#bulk-titles div a,#bulk-titles div a:hover,#screen-meta-links a.show-settings,.curtime #timestamp,.meta-box-sortables .postbox:hover .handlediv,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.tagchecklist span a,.tagchecklist span a:hover,.widget-top a.widget-action,.widget-top a.widget-action:hover{background:none!important}}@-ms-viewport{width:device-width}@media screen and (max-width:782px){html.wp-toolbar{padding-top:46px}body{min-width:240px;overflow-x:hidden}body *{-webkit-tap-highlight-color:transparent!important}#wpcontent{position:relative;margin-right:0;padding-right:10px}#wpbody-content{padding-bottom:100px}.wrap{margin-left:12px;margin-right:0}.col-wrap{padding:0}#collapse-menu,#screen-meta,#screen-meta-links,.post-format-select{display:none!important}.wrap .add-new-h2,.wrap .add-new-h2:active{padding:10px 15px;font-size:14px}.wp-color-result{height:auto;padding-right:45px}.wp-color-result:after{font-size:14px;height:auto;padding:6px 14px}.media-upload-form div.error,.wrap div.error,.wrap div.updated{margin:20px 0 10px;padding:5px 10px;font-size:14px;line-height:175%}.wrap .icon32+h2{margin-top:-2px}.wp-responsive-open #wpbody{left:-190px}code{word-wrap:break-word}.postbox{font-size:14px}.metabox-holder h3{padding:12px}.postbox .handlediv{margin-top:3px}.subsubsub{font-size:16px;text-align:center;margin-bottom:15px}#templateside{float:none;width:auto}#templateside li{margin:0}#templateside li a{display:block;padding:5px}#templateside .highlight{padding:5px;margin-right:-5px;margin-top:-5px}#template div{float:none;margin:0;width:auto}#template textarea{width:100%}.fileedit-sub .alignright{margin-top:15px}#comments-form .checkforspam,#wpfooter{display:none}}@media screen and (max-width:600px){#wpwrap.wp-responsive-open{overflow-x:hidden}html.wp-toolbar{padding-top:0}#wpbody{padding-top:46px}div#post-body.metabox-holder.columns-1{overflow-x:hidden}}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#333;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #bbb;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 0 0 4px;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#888}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#2ea2cc}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-left:4px;line-height:10px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{float:right;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px -4px 0 0;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:right;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:left}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 0 0 8px}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:right;margin-left:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-right:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;right:-1px;padding:0 0 0 5px;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:right;margin:13px 1px 5px 5px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:left;margin:0}.network-admin.themes-php p.search-box{clear:right}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:right;height:28px;margin:0 0 0 4px}input[type=text].ui-autocomplete-loading{background:url(../images/loading.gif) no-repeat left center;visibility:visible}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete-input.open{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border:1px solid #aaa;background-color:#efefef}.ui-autocomplete li{margin-bottom:0;white-space:nowrap;text-align:right}.ui-autocomplete li a{display:block;height:100%;padding:4px 10px;color:#444}.ui-autocomplete li a.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#222;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:right;padding:20px 0 20px 10px;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-left:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-left:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.pressthis{margin:20px 0}.pressthis a,.pressthis a:active,.pressthis a:focus,.pressthis a:hover{display:inline-block;position:relative;cursor:move;color:#333;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis a:active{outline:0}.pressthis a:hover:after{-webkit-transform:skew(20deg) rotate(9deg);-ms-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis a span{display:inline-block;margin:0;padding:0 9px 8px 12px}.pressthis a span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-left:4px}.pressthis a:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;left:10px;bottom:9px;background:0 0;-webkit-transform:skew(20deg) rotate(6deg);-ms-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}#local-time,#utc-time{padding-right:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .spinner{float:none;margin:-3px 3px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-left:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-right:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}}@media only screen and (max-width:768px){.form-field input,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media screen and (max-width:600px){.color-option{width:49%}}#adminmenu,#adminmenu .wp-submenu,#adminmenuback,#adminmenuwrap{width:160px;background-color:#222}#adminmenuback{position:absolute;top:0;bottom:0;z-index:-1}#adminmenu{clear:right;margin:12px 0 0;padding:0;list-style:none}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:36px}.icon16{height:18px;width:18px;padding:6px;margin:-6px -8px 0 0;float:right}.icon16:before{color:#999;font:400 20px/1 dashicons;speak:none;padding:6px 0;height:34px;width:20px;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.icon16.icon-dashboard:before{content:'\f226'}.icon16.icon-post:before{content:'\f109'}.icon16.icon-media:before{content:'\f104'}.icon16.icon-links:before{content:'\f103'}.icon16.icon-page:before{content:'\f105'}.icon16.icon-comments:before{content:'\f101';margin-top:1px}.icon16.icon-appearance:before{content:'\f100'}.icon16.icon-plugins:before{content:'\f106'}.icon16.icon-users:before{content:'\f110'}.icon16.icon-tools:before{content:'\f107'}.icon16.icon-settings:before{content:'\f108'}.icon16.icon-site:before{content:'\f112'}.icon16.icon-generic:before{content:'\f111'}.icon16.icon-appearance,.icon16.icon-comments,.icon16.icon-dashboard,.icon16.icon-generic,.icon16.icon-links,.icon16.icon-media,.icon16.icon-page,.icon16.icon-plugins,.icon16.icon-post,.icon16.icon-settings,.icon16.icon-site,.icon16.icon-tools,.icon16.icon-users,.menu-icon-appearance div.wp-menu-image,.menu-icon-comments div.wp-menu-image,.menu-icon-dashboard div.wp-menu-image,.menu-icon-generic div.wp-menu-image,.menu-icon-links div.wp-menu-image,.menu-icon-media div.wp-menu-image,.menu-icon-page div.wp-menu-image,.menu-icon-plugins div.wp-menu-image,.menu-icon-post div.wp-menu-image,.menu-icon-settings div.wp-menu-image,.menu-icon-site div.wp-menu-image,.menu-icon-tools div.wp-menu-image,.menu-icon-users div.wp-menu-image{background-image:none!important}#adminmenuwrap{position:relative;float:right}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#adminmenu li{margin:0;padding:0;cursor:pointer}#adminmenu a{display:block;line-height:18px;padding:2px 5px;color:#eee}#adminmenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover{background:0 0}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a:hover,#adminmenu li.menu-top>a:focus{color:#2ea2cc}#adminmenu li.menu-top{border:none;min-height:34px;position:relative}#adminmenu .wp-submenu{list-style:none;position:absolute;top:-1000em;right:160px;overflow:visible;word-wrap:break-word}#adminmenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{padding:7px 0 8px;z-index:9999;background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu a.menu-top:focus+.wp-submenu,.js #adminmenu .opensub .wp-submenu,.js #adminmenu .sub-open,.no-js li.wp-has-submenu:hover .wp-submenu{top:-1px}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu{position:relative;z-index:3;top:auto;right:auto;left:auto;bottom:auto;border:0;margin-top:0;-webkit-box-shadow:none;box-shadow:none;background-color:#333}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{position:relative;background-color:#111}.folded #adminmenu li.menu-top:hover,.folded #adminmenu li.opensub>a.menu-top,.folded #adminmenu li>a.menu-top:focus{z-index:10000}#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow,#adminmenu .wp-menu-arrow div,#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,.folded #adminmenu li.wp-has-current-submenu{background:#0074a2;color:#fff}.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.folded #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open,.folded #adminmenu a.menu-top:focus+.wp-submenu,.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu{top:0;right:36px}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em}#adminmenu .wp-not-current-submenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{min-width:160px;width:auto}#adminmenu .wp-submenu a{font-size:13px;line-height:1.2;margin:0;padding:6px 0}#adminmenu .opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-not-current-submenu li>a,.folded #adminmenu .wp-has-current-submenu li>a{padding-left:16px;padding-right:14px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu .wp-has-current-submenu ul>li>a,.folded #adminmenu li.menu-top .wp-submenu>li>a{padding:6px 12px}#adminmenu .wp-submenu-head,#adminmenu a.menu-top{font-size:14px;font-weight:400;line-height:18px;padding:0}#adminmenu .wp-submenu-head,.folded #adminmenu .wp-menu-name{display:none}.folded #adminmenu .wp-submenu-head{display:block}#adminmenu .wp-submenu li{padding:0;margin:0;overflow:hidden}#adminmenu .wp-menu-image img{padding:9px 0 0;opacity:.6;filter:alpha(opacity=60)}#adminmenu div.wp-menu-name{padding:8px 0}#adminmenu div.wp-menu-image{float:right;width:36px;height:34px;margin:0;text-align:center}#adminmenu div.wp-menu-image.svg{background-repeat:no-repeat;background-position:center;-webkit-background-size:20px auto;background-size:20px auto}div.wp-menu-image:before{color:#999;padding:7px 0;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu div.wp-menu-image:before{color:#999}#adminmenu .current div.wp-menu-image:before,#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}.folded #adminmenu div.wp-menu-image{width:35px;height:30px;position:absolute;z-index:25}.folded #adminmenu a.menu-top{height:34px}.no-font-face #adminmenu .wp-menu-image{display:none}.no-font-face #adminmenu div.wp-menu-name{padding:8px 12px}.no-font-face.auto-fold #adminmenu .wp-menu-name{margin-right:0}.sticky-menu #adminmenuwrap{position:fixed;z-index:9999}.wp-menu-arrow{display:none!important}ul#adminmenu a.wp-has-current-submenu{position:relative}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{left:0;border:8px solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-left-color:#f1f1f1;top:50%;margin-top:-8px}.folded ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.folded ul#adminmenu a.wp-has-current-submenu:after,.folded ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{left:0;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-width:8px;top:10px;z-index:10000}.folded ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:18px}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#333}#adminmenu li.menu-top:hover .wp-menu-image img,#adminmenu li.wp-has-current-submenu .wp-menu-image img{opacity:1;filter:alpha(opacity=100)}#adminmenu li.wp-menu-separator{height:5px;padding:0;margin:0 0 6px;cursor:inherit}#adminmenu div.separator{height:2px;padding:0}#adminmenu .wp-submenu .wp-submenu-head{color:#fff;font-weight:400;font-size:14px;padding:8px 11px 8px 4px;margin:-7px 0 4px}#adminmenu li.current,.folded #adminmenu li.wp-menu-open{border:0}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu li a span.update-plugins{display:inline-block;background-color:#d54e21;color:#fff;font-size:9px;line-height:17px;font-weight:600;margin:1px 2px 0 0;vertical-align:top;-webkit-border-radius:10px;border-radius:10px;z-index:26}#adminmenu li .awaiting-mod span,#adminmenu li span.update-plugins span,#sidemenu li a span.update-plugins span{display:block;padding:0 6px}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod{background-color:#2ea2cc;color:#fff}#adminmenu li span.count-0,#sidemenu li a .count-0{display:none}#collapse-menu{font-size:13px;line-height:34px;margin-top:10px;color:#aaa;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}.folded #collapse-menu span{display:none}#collapse-button,#collapse-button div{width:15px;height:15px}#collapse-button{float:right;height:15px;margin:10px 11px 10px 8px;width:15px;-webkit-border-radius:10px;border-radius:10px}#wpwrap #collapse-button div{padding:0}#collapse-button div:after{content:'\f148';display:block;line-height:15px;right:-3px;top:-3px;color:#aaa;font:400 20px/1 dashicons!important;speak:none;margin:0 auto;padding:0!important;position:relative;text-align:center;width:20px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.folded #collapse-button div:after,.rtl #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.folded #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}li#wp-admin-bar-menu-toggle{display:none}@media only screen and (max-width:960px){.auto-fold #wpcontent,.auto-fold #wpfooter{margin-right:36px}.auto-fold #adminmenu,.auto-fold #adminmenu li.menu-top,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{width:36px}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.auto-fold #adminmenu .wp-submenu.sub-open,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{top:0;right:36px}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu,.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em;margin-left:-1px;padding:7px 0 8px;z-index:9999}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{min-width:150px;width:auto}.auto-fold #adminmenu .wp-has-current-submenu li>a{padding-left:16px;padding-right:14px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding-right:12px}.auto-fold #adminmenu .wp-menu-name{display:none}.auto-fold #adminmenu .wp-submenu-head{display:block}.auto-fold #adminmenu div.wp-menu-image{height:30px;width:34px;position:absolute;z-index:25}.auto-fold #adminmenu a.menu-top{height:34px}.auto-fold #adminmenu li.wp-menu-open{border:0}.auto-fold #adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0}.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:16px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}.auto-fold #adminmenu li.menu-top:hover,.auto-fold #adminmenu li.opensub>a.menu-top,.auto-fold #adminmenu li>a.menu-top:focus{z-index:10000}.auto-fold #collapse-menu span{display:none}.auto-fold #collapse-button div{background:0 0}.auto-fold #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.auto-fold #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}}@media screen and (max-width:782px){.auto-fold #wpcontent{position:relative;margin-right:0;padding-right:10px}.sticky-menu #adminmenuwrap{position:relative;z-index:auto;top:0}.auto-fold #adminmenu,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{position:absolute;width:190px;z-index:100}.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{display:none}.auto-fold .wp-responsive-open #adminmenuback,.auto-fold .wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu li.menu-top{width:100%}.auto-fold #adminmenu li a{font-size:16px;padding:5px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding:10px 20px 10px 10px}.auto-fold #adminmenu .wp-menu-name{display:block;margin-right:35px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li.current>a.current:after{border-width:8px;margin-top:-8px}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{display:none}#adminmenu .wp-submenu{position:relative;display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold #adminmenu .wp-menu-open .wp-submenu{position:relative;display:block;top:0;right:-1px;-webkit-box-shadow:none;box-shadow:none}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .selected .wp-submenu:after,.auto-fold #adminmenu .wp-menu-open .wp-submenu:after{display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:block}.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{position:relative;right:-1px;left:0;top:0}#adminmenu .wp-submenu .wp-submenu-head{display:none}#wp-responsive-toggle{position:fixed;top:5px;right:4px;padding-left:10px;z-index:99999;border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpadminbar #wp-admin-bar-menu-toggle a{display:block;padding:0;overflow:hidden;outline:0;text-decoration:none;border:1px solid transparent;background:0 0;height:44px;margin-right:-1px}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#333}li#wp-admin-bar-menu-toggle{display:block}#wpadminbar #wp-admin-bar-menu-toggle a:hover{border:1px solid transparent}#wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before{content:'\f228';display:inline-block;float:right;font:400 40px/45px Dashicons;vertical-align:middle;outline:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:44px;width:50px;padding:0;border:none;text-align:center;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}@media screen and (max-width:600px){#adminmenuback,#adminmenuwrap{display:none}.wp-responsive-open #adminmenuback,.wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu{top:46px}}#wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody-content #dashboard-widgets.columns-2 .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets.columns-2 #postbox-container-2,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-4{float:left;width:50.5%}#wpbody-content #dashboard-widgets.columns-3 .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-3 #postbox-container-4{float:left}#dashboard-widgets .postbox-container,#wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}#dashboard-widgets-wrap .columns-3 #postbox-container-4 .empty-container{border:none!important}.ie8 #wpbody-content #dashboard-widgets .postbox-container{width:49.5%}.ie8 #wpbody-content #dashboard-widgets #postbox-container-2,.ie8 #wpbody-content #dashboard-widgets #postbox-container-3,.ie8 #wpbody-content #dashboard-widgets #postbox-container-4{float:left;width:50.5%}.ie8 #dashboard-widgets #postbox-container-3 .empty-container,.ie8 #dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}#dashboard-widgets-wrap{overflow:hidden;margin:0 -8px}#dashboard-widgets .postbox .inside{margin-bottom:0}#dashboard-widgets .meta-box-sortables{margin:0 8px;min-height:100px}#the-comment-list td.comment p.comment-author{margin-top:0;margin-right:0}#the-comment-list p.comment-author img{float:right;margin-left:8px}#the-comment-list p.comment-author strong a{border:none}#the-comment-list td{vertical-align:top}#the-comment-list td.comment{word-wrap:break-word}#the-comment-list td.comment img{max-width:100%}.welcome-panel{position:relative;overflow:auto;margin:16px 0;padding:23px 10px 0;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:13px;line-height:2.1em}.welcome-panel h3{margin:0;font-size:21px;font-weight:400;line-height:1.2}.welcome-panel h4{margin:1.33em 0 0;font-size:16px}.welcome-panel li{font-size:14px}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel .about-description{font-size:16px;margin:0}.welcome-panel .welcome-panel-close{position:absolute;top:5px;left:10px;padding:20px 3px 0 15px;font-size:13px;text-decoration:none;line-height:1}#welcome-panel.welcome-panel .welcome-panel-close:before{position:absolute;right:-18px;margin-top:-2px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.wp-core-ui .welcome-panel .button.button-hero{margin:15px 0 3px}.welcome-panel-content{margin-right:13px;max-width:1500px}.welcome-panel .welcome-panel-column-container{clear:both;overflow:hidden;position:relative}.welcome-panel .welcome-panel-column{width:32%;min-width:200px;float:right}.ie8 .welcome-panel .welcome-panel-column{min-width:230px}.welcome-panel .welcome-panel-column:first-child{width:36%}.welcome-panel-column p.hide-if-no-customize{margin-top:10px}.welcome-panel-column p{margin-top:7px;color:#464646}.welcome-panel .welcome-icon{display:block;padding:0 0 8px;background:0 0!important}.welcome-panel .welcome-icon:before{color:#888;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 0 0 10px;top:-1px;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;vertical-align:top}.welcome-panel .welcome-edit-page:before,.welcome-panel .welcome-write-blog:before{content:'\f119';top:-3px}.welcome-panel .welcome-add-page:before{content:'\f132'}.welcome-panel .welcome-view-site:before{content:'\f115';top:-2px}.welcome-panel .welcome-widgets-menus:before{content:'\f116';top:-2px}.welcome-panel .welcome-comments:before{content:'\f117';top:-1px}.welcome-panel .welcome-learn-more:before{content:'\f118';top:-1px}.welcome-panel .welcome-widgets-menus{line-height:16px}.welcome-panel .welcome-panel-column ul{margin:.8em 0 1em 1em}.welcome-panel .welcome-panel-column li{line-height:16px;list-style-type:none}#dashboard_primary .inside{margin:0;padding:0}#dashboard_primary .dashboard-widget-control-form,#dashboard_primary .widget-loading{padding:12px 12px 0}body #dashboard-widgets .postbox form .submit{margin:0}.dashboard-widget-control-form{overflow:hidden}.dashboard-widget-control-form p{margin-top:0}.rssSummary{color:#777;margin-top:4px}#dashboard_primary .rss-widget{border-bottom:1px solid #eee;font-size:13px;padding:8px 12px 10px}#dashboard_primary .rss-widget:last-child{border-bottom:none;padding-bottom:8px}#dashboard_primary .rss-widget a{font-weight:400}#dashboard_primary .rss-widget span,#dashboard_primary .rss-widget span.rss-date{color:#777}#dashboard_primary .rss-widget span.rss-date{margin-right:12px}#dashboard_primary .rss-widget ul li{margin-bottom:8px}#dashboard_right_now ul{margin:0;overflow:hidden}#dashboard_right_now li{width:50%;float:right;margin-bottom:10px}#dashboard_right_now .inside{overflow:hidden;padding:0}#dashboard_right_now .main{overflow:hidden;padding:0 12px 11px}#dashboard_right_now .main p{margin:0}#dashboard_right_now #wp-version-message .button{clear:left;float:left;position:relative;top:-5px}.mu-storage{overflow:hidden}#dashboard-widgets h4.mu-storage{margin-bottom:10px}#dashboard_right_now li a:before,#dashboard_right_now li span:before{color:#888}#dashboard_right_now .sub{color:#777;background:#f5f5f5;border-top:1px solid #eee;padding:10px 12px 6px}#dashboard_right_now .sub h4{color:#555}#dashboard_right_now .sub p{margin:0 0 1em}#dashboard_right_now .warning a:before,#dashboard_right_now .warning span:before{color:#d54e21}#dashboard_right_now li a:before,#dashboard_right_now li span:before{content:'\f159';font:400 20px/1 dashicons;speak:none;display:block;float:right;margin:0 0 0 5px;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_right_now .page-count a:before,#dashboard_right_now .page-count span:before{content:'\f105'}#dashboard_right_now .post-count a:before,#dashboard_right_now .post-count span:before{content:'\f109'}#dashboard_right_now .comment-count a:before{content:'\f101'}#dashboard_right_now .comment-mod-count a:before{content:'\f125'}#dashboard_right_now .storage-count a:before{content:'\f104'}#dashboard_right_now .storage-count.warning a:before{content:'\f153'}#dashboard_quick_press .inside{margin:0;padding:0}#dashboard_quick_press div.updated{margin-bottom:10px;border:1px solid #eee;border-width:1px 0 1px 1px}#dashboard_quick_press form{overflow:hidden;margin:12px}#dashboard_quick_press .drafts,#dashboard_quick_press .easy-blogging{padding:10px 0 0}input#save-post{float:right}form.initial-form.quickpress-open label.prompt{font-style:normal}form.initial-form.quickpress-open input#title{height:auto}#dashboard_quick_press input,#dashboard_quick_press textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0}#dashboard_quick_press textarea{resize:vertical}#description-wrap{margin-top:12px}#title-wrap #title-prompt-text,.textarea-wrap #content-prompt-text{color:#777}.input-text-wrap,.textarea-wrap{position:relative}.input-text-wrap .prompt,.textarea-wrap .prompt{position:absolute}.textarea-wrap #content-prompt-text{font-size:1.1em;padding:7px 8px}.textarea-wrap textarea#content{margin:0 0 8px;padding:6px 7px}#quick-press textarea#content{min-height:90px;max-height:1300px;resize:none}.js #dashboard_quick_press .drafts{border-top:1px solid #eee}#dashboard_quick_press .drafts abbr{border:none}#dashboard_quick_press .drafts h4{margin:0 12px 8px;font-weight:400}#dashboard_quick_press .drafts .view-all{float:left;margin:0 0 0 12px}#dashboard_primary a.rsswidget{font-weight:400}#dashboard_quick_press .drafts ul{margin:0 12px}#dashboard_quick_press .drafts li{margin-bottom:1em}#dashboard_quick_press .drafts li time{color:#777}#dashboard_quick_press .drafts p{margin:0;word-wrap:break-word}#dashboard_quick_press .draft-title{overflow:hidden}#dashboard_quick_press .draft-title a,#dashboard_quick_press .draft-title time{float:right;margin:0 0 0 5px}#dashboard-widgets #dashboard_activity h4{margin:0 12px 8px 0;font-weight:400}#dashboard-widgets #dashboard_activity h4.comment-meta{margin:0}#dashboard_activity h4.comment-meta{margin-bottom:4px}#dashboard_activity ul{padding:0 12px}#dashboard_activity .comment-meta span.approve:before{content:'\f227';font:20px/.5 dashicons;margin-right:12px;vertical-align:middle;position:relative;top:-1px;margin-left:2px}#dashboard_activity .inside{padding:0;margin:0}#dashboard_activity .no-activity{overflow:hidden;padding:0 12px 12px;text-align:center}#dashboard_activity .no-activity p{color:#999;font-size:16px}#dashboard_activity .no-activity .smiley{margin-top:0}#dashboard_activity .no-activity .smiley:before{content:'\f328';font:400 120px/1 dashicons;speak:none;display:block;margin:0 0 0 5px;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_activity .subsubsub{float:none;border-top:1px solid #eee;margin-top:0;padding:8px 12px 4px}#future-posts ul,#published-posts ul{clear:both;margin-bottom:0}#future-posts li,#published-posts li{overflow:hidden;margin-bottom:8px}#future-posts ul span,#published-posts ul span{color:#777;float:right;margin-left:8px;min-width:150px}.activity-block{border-bottom:1px solid #eee;overflow:hidden;padding:8px 0 4px}.activity-block:last-child{border-bottom:none}.activity-block .subsubsub li{color:#ddd}#activity-widget #the-comment-list div.undo,#activity-widget #the-comment-list tr.undo{background:0 0;padding:6px 0;margin-right:12px}#activity-widget #the-comment-list .alt,#activity-widget #the-comment-list .alternate{background:0 0}#activity-widget #the-comment-list .comment-item{background:#fafafa;padding:12px;position:relative}#activity-widget #the-comment-list img{position:absolute;top:13px}#activity-widget #the-comment-list .dashboard-comment-wrap{padding-right:63px}#activity-widget #the-comment-list .dashboard-comment-wrap blockquote{margin:1em 0}#activity-widget #the-comment-list .comment-item h4{font-size:13px;color:#999}#activity-widget #the-comment-list .comment-item p.row-actions{margin:4px 0 0}#activity-widget #the-comment-list .comment-item:first-child{border-top:1px solid #eee}#activity-widget #the-comment-list .unapproved{background-color:#fef7f1}#activity-widget #the-comment-list .unapproved:before{content:"";display:block;position:absolute;right:0;top:0;bottom:0;background:#d54e21;width:4px}#activity-widget #the-comment-list .spam-undo-inside .avatar,#activity-widget #the-comment-list .trash-undo-inside .avatar{position:relative;top:0}#dashboard-widgets #dashboard_browser_nag.postbox .inside{margin:10px}.edit-box{display:none}h3:hover .edit-box{display:inline}#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:100%}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:none}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0}#dashboard-widgets a{text-decoration:none}#dashboard-widgets h3 a{text-decoration:underline}#dashboard-widgets h3 .postbox-title-action{position:absolute;left:10px;padding:0;top:5px}.js #dashboard-widgets h3 .postbox-title-action{left:33px}#dashboard-widgets h4{color:#222;font-weight:400;font-size:14px;margin:0 0 .2em;padding:0}#dashboard_plugins h5{font-size:14px}#latest-comments #the-comment-list{position:relative}#activity-widget #the-comment-list .comment,#activity-widget #the-comment-list .pingback{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}#activity-widget #latest-comments #the-comment-list .comment-item{padding:1em 12px}#latest-comments #the-comment-list .pingback{padding-right:12px!important}#latest-comments #the-comment-list .comment-item:first-child{border-top:none}#latest-comments #the-comment-list .comment-item h4{line-height:1.5em;margin-top:0;color:#666}#latest-comments #the-comment-list .comment-item h4 cite{font-style:normal;font-weight:400}#latest-comments #the-comment-list .comment-item blockquote,#latest-comments #the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline}#latest-comments #the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:13px}#description-wrap label,#title-wrap label{cursor:text}#title-wrap #title{padding:2px 6px;font-size:1.3em;outline:0}#title-wrap #title-prompt-text{font-size:1.1em;padding:5px 8px}.rss-widget ul{margin:0;padding:0;list-style:none}a.rsswidget{font-size:14px;font-weight:600;line-height:1.7em}.rss-widget ul li{line-height:1.5em;margin-bottom:12px}.rss-widget span.rss-date{color:#999;font-size:13px;margin-right:3px}.rss-widget cite{display:block;text-align:left;margin:0 0 1em;padding:0}.rss-widget cite:before{content:'\2014'}.dashboard-comment-wrap{overflow:hidden;word-wrap:break-word}#dashboard_browser_nag a.update-browser-link{font-size:1.2em;font-weight:600}#dashboard_browser_nag a{text-decoration:underline}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-left:125px}#dashboard_browser_nag .browser-icon{margin-top:-35px}#dashboard_browser_nag.postbox.browser-insecure{background-color:#ac1b1b;border-color:#ac1b1b}#dashboard_browser_nag.postbox{background-color:#e29808;background-image:none;border-color:#edc048;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag.postbox.browser-insecure h3{border-bottom-color:#cd5a5a;color:#fff}#dashboard_browser_nag.postbox h3{border-bottom-color:#f6e2ac;background:0 0;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag h3.hndle{border:none;font-weight:600;font-size:20px;padding-top:10px}.postbox#dashboard_browser_nag p a.dismiss{font-size:14px}.postbox#dashboard_browser_nag a,.postbox#dashboard_browser_nag p,.postbox#dashboard_browser_nag p.browser-update-nag{font-size:16px}@media only screen and (max-width:799px){#wpbody-content #dashboard-widgets .postbox-container{width:100%}}@media only screen and (min-width:800px) and (max-width:1499px){#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:left;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}#wpbody #wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody #wpbody-content .metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}.index-php .columns-prefs,.index-php .screen-layout{display:block}.columns-prefs .columns-prefs-3,.columns-prefs .columns-prefs-4{display:none}}@media only screen and (min-width:1500px) and (max-width:1800px){#wpbody-content #dashboard-widgets .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:left}#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}}@media screen and (max-width:870px){.welcome-panel .welcome-panel-column,.welcome-panel .welcome-panel-column:first-child{display:block;float:none;width:100%}.welcome-panel .welcome-panel-column li{display:inline-block;margin-left:13px}.welcome-panel .welcome-panel-column ul{margin:.4em 0 0}}@media screen and (max-width:782px){#dashboard_recent_comments #the-comment-list .comment-item .avatar{height:30px;width:30px;margin:4px 0 5px 10px}}@media screen and (max-width:600px){.welcome-panel .welcome-panel-close{overflow:hidden;text-indent:100%;white-space:nowrap;width:20px;height:20px;left:0;padding:5px}#welcome-panel.welcome-panel .welcome-panel-close:before{font-size:20px;margin:0}}.post-com-count-wrapper{min-width:22px}.post-com-count{background:no-repeat center -80px;height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;color:#fff}.post-com-count:after{content:"";display:block;width:0;height:0;margin-right:8px;border-top:5px solid #bbb;border-left:5px solid transparent}.post-com-count span{font-size:11px;font-weight:600;height:1.4em;line-height:1.4em;min-width:.7em;padding:0 6px;display:inline-block;-webkit-border-radius:5px;border-radius:5px;background-color:#bbb;color:#fff}.post-com-count:hover{background-position:center -3px}.post-com-count:hover span{background-color:#2ea2cc}.post-com-count:hover:after{border-top:5px solid #2ea2cc}strong .post-com-count{background-position:center -55px}strong .post-com-count span{background-color:#0074a2}strong .post-com-count:after{border-top:5px solid #0074a2}.column-response .post-com-count{float:right;margin-left:5px;text-align:center}.response-links{float:right}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom:1px solid #ccc}.commentlist li li{border-bottom:0;padding:0}.commentlist p{padding:0;margin:0 0 .8em}#submitted-on,.submitted-on{color:#777}#replyrow td{padding:2px}#replysubmit{margin:0;padding:0 5px 3px;text-align:center}#replysubmit .spinner{padding:2px 0 0;vertical-align:top;float:left}#replysubmit .button{margin-left:5px}#replysubmit .error{color:red;line-height:21px;text-align:center}#replyrow h5{margin:.2em 0 0;padding:0 5px;line-height:1.4em;font-size:1em}#edithead .inside{float:right;padding:3px 5px 2px 0;margin:0;text-align:center}#edithead .inside input{width:180px}#edithead label{padding:2px 0}#replycontainer{padding:5px}#replycontent{height:120px;-webkit-box-shadow:none;box-shadow:none}#replyerror{border-color:#ddd;background-color:#f9f9f9}.commentlist .avatar{vertical-align:text-top}#the-comment-list .attachment-80x60{padding:4px 8px}#the-comment-list div.undo,#the-comment-list tr.undo{background-color:#f4f4f4}#the-comment-list .unapproved td,#the-comment-list .unapproved th{background-color:#fef7f1}#the-comment-list .unapproved th.check-column{border-right:4px solid #d54e21}#the-comment-list .unapproved th.check-column input{margin-right:4px}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list td,#the-comment-list th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#the-comment-list tr:last-child td,#the-comment-list tr:last-child th{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved td,#the-comment-list tr.unapproved+tr.approved th{border-top:1px solid rgba(0,0,0,.03)}.vim-current,.vim-current td,.vim-current th{background-color:#e4f2fd!important}th .comment-grey-bubble{height:16px;width:16px}th .comment-grey-bubble:before{content:'\f101';font:400 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:4px;right:-4px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}table.fixed{table-layout:fixed}.fixed .column-rating,.fixed .column-visible{width:8%}.fixed .column-author,.fixed .column-date,.fixed .column-format,.fixed .column-links,.fixed .column-parent,.fixed .column-posts{width:10%}.fixed .column-posts{width:74px}.fixed .column-comment .comment-author{display:none}.fixed .column-categories,.fixed .column-rel,.fixed .column-response,.fixed .column-role,.fixed .column-tags{width:15%}.fixed .column-slug{width:25%}.fixed .column-locations{width:35%}.fixed .column-comments{width:4em;padding:8px 0;text-align:right}.fixed .column-comments .vers{padding-right:3px}.fixed .column-comments a{float:right}.fixed .column-icon{width:80px}.wp-list-table a{-webkit-transition:none;transition:none}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:none!important;-webkit-box-shadow:none;box-shadow:none}#comments-form .fixed .column-author{width:20%}#commentsdiv.postbox .inside{margin:0;padding:0}#commentsdiv .inside .row-actions{line-height:18px}#commentsdiv .inside .column-author{width:25%}#commentsdiv .column-comment p{margin:.6em 0;padding:0}#commentsdiv #replyrow td{padding:0}#commentsdiv p{padding:8px 10px;margin:0}#commentsdiv .comments-box{border:0}#commentsdiv .comments-box thead th{background:0 0;padding:0 7px 4px;font-style:italic}#commentsdiv .comments-box tr:last-child td{border-bottom:0 none}#commentsdiv .spinner{padding-right:5px}.sorting-indicator{display:none;width:10px;height:4px;margin-top:8px;margin-right:7px}.sorting-indicator:before{background:0 0;content:'\f142';font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0;top:-4px;right:-8px;line-height:10px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}.column-comments .sorting-indicator:before{top:0;right:-10px}th.desc:hover span.sorting-indicator:before,th.sorted.asc .sorting-indicator:before{content:'\f142'}th.asc:hover span.sorting-indicator:before,th.sorted.desc .sorting-indicator:before{content:'\f140'}tr.wp-locked .locked-indicator{margin-right:6px;height:20px;width:16px}tr.wp-locked .locked-indicator:before{color:#888;content:'\f160';display:inline-block;float:right;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-right:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}tr.wp-locked .check-column input[type=checkbox],tr.wp-locked .check-column label,tr.wp-locked .row-actions .inline,tr.wp-locked .row-actions .trash{display:none}tr .locked-info{height:0;opacity:0}tr.wp-locked .locked-info{margin-top:8px;height:auto;opacity:1}.locked-text{vertical-align:top}tr.locked-info,tr.wp-locked .locked-info{-webkit-transition:height 1s,opacity .5s;transition:height 1s,opacity .5s}.fixed .column-comments .sorting-indicator{margin-top:3px}#menu-locations-wrap .widefat{width:60%}.widefat th.sortable,.widefat th.sorted{padding:0}th.sortable a,th.sorted a{display:block;overflow:hidden;padding:7px 10px 8px 7px}th.manage-column a,th.sortable a:active,th.sortable a:focus,th.sortable a:hover{color:#333}th.sortable a:focus{background:#e1e1e1}.fixed .column-comments.sortable a,.fixed .column-comments.sorted a{padding:8px 0}th.sortable a span,th.sorted a span{float:right;cursor:pointer}th.desc:hover span.sorting-indicator,th.sorted.asc .sorting-indicator{display:block;background-position:0 0}th.asc:hover span.sorting-indicator,th.sorted.desc .sorting-indicator{display:block;background-position:-7px 0}.tablenav-pages a{font-weight:600;margin-left:1px;padding:0 2px}.tablenav-pages .current-page{padding-top:0;text-align:center}.tablenav-pages .next-page{margin-right:2px}.tablenav a.button-secondary{display:block;margin:3px 0 0 8px}.tablenav{clear:both;height:30px;margin:6px 0 4px;vertical-align:middle}.tablenav.themes{max-width:98%}.tablenav .tablenav-pages{float:left;display:block;cursor:default;height:30px;color:#555;line-height:30px;font-size:12px}.tablenav .no-pages,.tablenav .one-page .pagination-links{display:none}.tablenav .tablenav-pages a,.tablenav-pages span.current{text-decoration:none;padding:3px 6px}.tablenav .tablenav-pages a{padding:0 10px 3px;background:#eee;background:rgba(0,0,0,.05);font-size:16px;font-weight:400}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:active,.tablenav .tablenav-pages a.disabled:focus,.tablenav .tablenav-pages a.disabled:hover{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .displaying-num{margin-left:2px;color:#777;font-size:12px;font-style:italic}.tablenav .actions{overflow:hidden;padding:2px 0 0 8px}.wp-filter .actions{display:inline-block;vertical-align:middle}.tablenav .delete{margin-left:20px}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}.tablenav .view-switch{float:left;margin:5px 8px 0 16px}.wp-filter .view-switch{display:inline-block;vertical-align:middle;padding:14px 0;margin:0 0 0 20px}.view-switch a{text-decoration:none}.view-switch>a{display:inline-block;width:18px;height:18px}.view-switch>a:before{color:#bbb;display:inline-block;float:right;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-right:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.view-switch>.view-list:before{content:'\f163'}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}.view-switch>a+a{margin-right:5px}.view-switch>.view-excerpt:before{content:'\f164'}.view-switch>.view-grid:before{content:'\f509'}.filter{float:right;margin:-5px 10px 0 0}.filter .subsubsub{margin-right:-10px;margin-top:13px}.screen-per-page{width:4em}#posts-filter .wp-filter{margin-bottom:0}#posts-filter fieldset{float:right;margin:0 0 1em 1.5ex;padding:0}#posts-filter fieldset legend{padding:0 1px .2em 0}p.pagenav{margin:0;display:inline}.pagenav span{font-weight:600;margin:0 6px}.row-title{font-size:14px!important;font-weight:600}.column-comment .comment-author{margin-bottom:.6em}.column-author img,.column-comment .comment-author img,.column-username img{float:right;margin-left:10px;margin-top:1px}.row-actions{color:#ddd;font-size:13px;visibility:hidden;padding:2px 0 0}.mobile .row-actions,.row-actions.visible,div.comment-item:hover .row-actions,tr:hover .row-actions{visibility:visible}.row-actions-visible{padding:2px 0 0}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:right;margin:0;padding:0;width:100%}#wpbody-content .inline-edit-row fieldset .inline-edit-col,tr.inline-edit-row td{padding:0 .5em}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 1px 0 0;border-style:none none none solid}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:40%}#wpbody-content .quick-edit-row-post .inline-edit-col-right{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:20%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:50%}#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .quick-edit-row-page .inline-edit-col-right{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:30%}#wpbody-content .bulk-edit-row-page .inline-edit-col-right{width:69%}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:left;width:69%}#wpbody-content .inline-edit-row-page .inline-edit-col-right{margin-top:27px}.inline-edit-row fieldset .inline-edit-group{clear:both}.inline-edit-row fieldset .inline-edit-group:after{content:".";display:block;height:0;clear:both;visibility:hidden}.inline-edit-row p.submit{clear:both;padding:.5em;margin:.5em 0 0}.inline-edit-row span.error{line-height:22px;margin:0 15px;padding:3px 5px}.inline-edit-row h4{margin:.2em 0;padding:0;line-height:23px}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{margin:0;padding:0}.inline-edit-row fieldset label,.inline-edit-row fieldset span.inline-edit-categories-label{display:block;margin:.2em 0}.inline-edit-row fieldset label.inline-edit-tags{margin-top:0}.inline-edit-row fieldset label.inline-edit-tags span.title{margin:.2em 0;width:auto}.inline-edit-row fieldset label span.title{display:block;float:right;width:5em}.inline-edit-row fieldset label span.input-text-wrap{display:block;margin-right:5em}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{width:auto;padding-left:.5em}.inline-edit-row .input-text-wrap input[type=text]{width:100%}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:text-bottom}.inline-edit-row fieldset label textarea{width:100%;height:4em}#wpbody-content .bulk-edit-row fieldset .inline-edit-group label{max-width:50%}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-left:.5em}.inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input{width:6em}.inline-edit-save .spinner{padding:4px 10px 0;vertical-align:top;float:left}.inline-edit-row h4{text-transform:uppercase}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{font-style:italic;line-height:1.8em}.inline-edit-row fieldset .inline-edit-date{float:right}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{font-size:12px;width:2.1em}.inline-edit-row fieldset input[name=aa]{font-size:12px;width:3.5em}.inline-edit-row fieldset label input.inline-edit-password-input{width:8em}ul.cat-checklist{height:12em;border:1px solid #ddd;overflow-y:scroll;padding:0 5px;margin:0;background-color:#fff}#bulk-titles{display:block;height:12em;border:1px solid #ddd;overflow-y:scroll;padding:0 5px;margin:0 0 5px}.inline-edit-row fieldset ul.cat-checklist input,.inline-edit-row fieldset ul.cat-checklist li{margin:0;position:relative}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-style:normal;font-size:11px}.inline-edit-row fieldset label input.inline-edit-menu-order-input{width:3em}.inline-edit-row fieldset label input.inline-edit-slug-input{width:75%}.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{max-width:80%}.ie8 .inline-edit-row #post_parent,.ie8 .inline-edit-row select[name=page_template]{width:250px}.quick-edit-row-post fieldset label.inline-edit-status{float:right}#bulk-titles{line-height:140%}#bulk-titles div{margin:.2em .3em}#bulk-titles div a{cursor:pointer;display:block;float:right;height:18px;margin:0 -2px 0 3px;overflow:hidden;position:relative;width:20px}#bulk-titles div a:before{position:relative;top:-3px}.plugins tbody,.plugins tbody th.check-column{padding:8px 2px 0 0}.plugins tbody th.check-column input[type=checkbox]{margin-top:4px}#update-plugins-table tbody td p{margin-top:0}#update-plugins-table tbody td p strong{font-size:14px}.plugins .inactive th.check-column,.plugins tfoot th.check-column,.plugins thead th.check-column{padding-right:6px}#update-plugins-table tfoot th.check-column,#update-plugins-table thead th.check-column{padding-top:11px}.plugins,.plugins td,.plugins th{color:#000}.plugins tr{background:#fff}.plugins p{margin:0 4px;padding:0}.plugins .desc p{margin:0 0 8px}.plugins td.desc{line-height:1.5em}.plugins .desc ol,.plugins .desc ul{margin:0 2em 0 0}.plugins .desc ul{list-style-type:disc}.plugins .row-actions{font-size:13px}.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th{padding:10px 9px}.plugins .active td,.plugins .active th{background-color:#f7fcfe}.plugins .update td,.plugins .update th{border-bottom:0}.plugin-update-tr td{border-top:0}.plugin-install #the-list td,.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th,.upgrade .plugins td,.upgrade .plugins th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active.plugin-update-tr+tr.inactive th{border-top:1px solid rgba(0,0,0,.03);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1;box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1}.plugins .update td,.plugins .update th,.plugins tr.active+tr.inactive.update td,.plugins tr.active+tr.inactive.update th,.upgrade .plugins tr:last-of-type td,.upgrade .plugins tr:last-of-type th{-webkit-box-shadow:none;box-shadow:none}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update{background-color:#fef7f1}.plugins .active th.check-column{border-right:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-right:4px solid #d54e21}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-left:12px;white-space:nowrap}.plugins .inactive .plugin-title strong{font-weight:400}.plugins .row-actions,.plugins .second{padding:0 0 5px}.plugins .update .row-actions,.plugins .update .second{padding-bottom:0}.plugins-php .widefat tfoot td,.plugins-php .widefat tfoot th{border-top-style:solid;border-top-width:1px}.plugin-update-tr .update-message{font-size:13px;font-weight:400;padding:6px 12px;margin:0 31px 8px 10px;background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}.plugin-update-tr .update-message:before{color:#d54e21;content:'\f463';display:inline-block;font:400 20px/1 dashicons;speak:none;margin:0 -2px 0 8px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.plugins .plugin-update{padding:0;border:none;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}tr.active+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-install-php h3{clear:both}.plugin-install-php h4{margin:2.5em 0 8px}.plugin-install-php .wp-filter{margin-bottom:0}.plugin-group{overflow:hidden;margin-top:1.5em}.plugin-group h3{margin-top:0}.plugin-card{float:right;margin:0 8px 16px;width:48.5%;width:-webkit-calc(50% - 8px);width:calc(50% - 8px);background-color:#fff;border:1px solid #dedede;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.plugin-card:nth-child(odd){clear:both;margin-right:0}.plugin-card:nth-child(even){margin-left:0}@media screen and (min-width:1600px){.plugin-card{width:30%;width:-webkit-calc(33.1% - 8px);width:calc(33.1% - 8px)}.plugin-card:nth-child(odd){clear:none;margin-right:8px}.plugin-card:nth-child(even){margin-left:8px}.plugin-card:nth-child(3n+1){clear:both;margin-right:0}.plugin-card:nth-child(3n){margin-left:0}}@media screen and (max-width:782px){.plugin-card{margin-right:0;margin-left:0;width:100%}}.plugin-card-top{position:relative;padding:20px 20px 10px;min-height:135px}.plugin-action-buttons,div.action-links{margin:0}.plugin-card h4{margin:0 0 12px;font-size:18px;line-height:1.3}.plugin-card .desc,.plugin-card .name{margin-right:148px;margin-left:120px}.plugin-card .action-links{position:absolute;top:20px;left:20px;width:120px}.plugin-action-buttons{clear:left;float:left;margin-right:2em;margin-bottom:1em;text-align:left}.plugin-action-buttons li{margin-bottom:10px}.plugin-card-bottom{clear:both;padding:12px 20px;background-color:#fafafa;border-top:1px solid #dedede;overflow:hidden}.plugin-card-bottom .star-rating{display:inline}.plugin-card .column-rating{line-height:23px}.plugin-card .column-rating,.plugin-card .column-updated{margin-bottom:4px}.plugin-card .column-downloaded,.plugin-card .column-rating{float:right;clear:right;max-width:180px}.plugin-card .column-compatibility,.plugin-card .column-updated{text-align:left;float:left;clear:left;width:65%;width:-webkit-calc(100% - 180px);width:calc(100% - 180px)}.plugin-card .column-compatibility span:before{font:400 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:4px;right:-2px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}.plugin-card .compatibility-incompatible:before{content:'\f158'}.plugin-card .compatibility-compatible:before{content:'\f147'}.plugin-card .compatibility-untested strong{font-weight:400}.plugin-icon{position:absolute;top:20px;right:20px;width:128px;height:128px;margin:0 0 20px 20px}.plugin-icon img{width:128px;height:128px}.no-plugin-results{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.wp-list-table .site-deleted{background:#ff8573}.wp-list-table .site-spammed{background:#faafaa}.wp-list-table .site-archived{background:#ffebe8}.wp-list-table .site-mature{background:#fecac2}@media screen and (max-width:1100px) and (min-width:782px),(max-width:480px){.plugin-card .action-links{position:static;margin-right:148px;width:auto}.plugin-action-buttons{float:none;margin:1em 0 0;text-align:right}.plugin-action-buttons li{display:inline-block;vertical-align:middle}.plugin-action-buttons li .button{margin-left:20px}.plugin-card .desc,.plugin-card .name{margin-left:0}.plugin-card .desc p:first-of-type{margin-top:0}}@media screen and (max-width:782px){.tablenav{height:auto}.tablenav.top{margin:20px 0 5px}.tablenav.bottom{position:relative;margin-top:15px}.tablenav br{display:none}.tablenav br.clear{display:block}.tablenav .view-switch,.tablenav.top .actions,.tablenav.top .displaying-num{display:none}.tablenav.bottom .displaying-num{position:absolute;left:0;top:10px;font-size:14px}.tablenav-pages{width:100%;text-align:center;margin:0 0 25px}.tablenav.bottom .tablenav-pages{margin-top:25px}.tablenav.top .tablenav-pages.one-page{display:none}.tablenav.bottom .tablenav-pages.one-page{margin:15px 0 0;height:0}.tablenav-pages .pagination-links .paging-input{font-size:18px}.tablenav-pages .pagination-links a{padding:8px 20px 11px;font-size:18px;background:rgba(0,0,0,.05)}.tablenav-pages .pagination-links .current-page{padding:10px;font-size:14px}.form-wrap>p{display:none}.comment-count{font-size:14px}.column-categories,.column-tags,.fixed .column-author,.fixed .column-date,.media .column-parent,.sites .column-registered,.sites .column-users,.tags .column-description,.users .column-email,.users .column-name{display:none}.fixed .column-comment .comment-author{display:block}.column-title{width:85%}.fixed .column-comments,.widefat .check-column{width:35px}.widefat tfoot .check-column,.widefat thead .check-column{padding:10px 0}.widefat *{word-wrap:normal}#wpbody-content .bulk-edit-row .inline-edit-col-bottom,#wpbody-content .bulk-edit-row .inline-edit-col-left,#wpbody-content .bulk-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .inline-edit-row-post .inline-edit-col-center,#wpbody-content .quick-edit-row-page .inline-edit-col-left,#wpbody-content .quick-edit-row-page .inline-edit-col-right,#wpbody-content .quick-edit-row-post .inline-edit-col-left,#wpbody-content .quick-edit-row-post .inline-edit-col-right{float:none;width:100%}#wpbody-content .bulk-edit-row fieldset .inline-edit-col label,#wpbody-content .bulk-edit-row fieldset .inline-edit-group label,#wpbody-content .quick-edit-row fieldset .inline-edit-col label,#wpbody-content .quick-edit-row fieldset .inline-edit-group label{max-width:none;float:none;margin-bottom:5px}#wpbody .bulk-edit-row fieldset select{display:block;width:100%;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-size:16px}.inline-edit-row fieldset label span.title{float:none}.inline-edit-row fieldset label.inline-edit-tags{padding:0 .5em}.inline-edit-row fieldset .inline-edit-col label.inline-edit-tags{padding:0}.inline-edit-row fieldset label span.input-text-wrap{margin-right:0}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{width:3em}.inline-edit-row fieldset input[name=aa]{width:4.5em}#bulk-titles div{margin:.8em .3em}#bulk-titles div a{height:22px}.tags .column-posts{width:74px}.tags .column-slug{width:30%}.comments .column-response,.users .column-role{width:35%}.sites .column-blogname{width:55%}#wpbody-content #update-themes-table .plugin-title{width:auto}.link-manager-php #posts-filter{margin-top:25px}.link-manager-php .tablenav.bottom{overflow:hidden}.wp-list-table.plugins{position:relative;margin-top:35px;margin-bottom:50px}#wpbody-content .wp-list-table.plugins tfoot .column-description,.wp-list-table.plugins th#description,.wp-list-table.plugins thead .column-description{display:none}#wpbody-content .wp-list-table.plugins,#wpbody-content .wp-list-table.plugins .column-description,#wpbody-content .wp-list-table.plugins .manage-column.column-name,#wpbody-content .wp-list-table.plugins .plugin-title,#wpbody-content .wp-list-table.plugins .plugin-update,#wpbody-content .wp-list-table.plugins .theme-title,#wpbody-content .wp-list-table.plugins tbody,#wpbody-content .wp-list-table.plugins thead,#wpbody-content .wp-list-table.plugins tr{display:block;width:auto}.wp-list-table.plugins tfoot,.wp-list-table.plugins thead{position:absolute;top:-35px;right:0;left:0;width:auto;height:35px}.wp-list-table.plugins tfoot{bottom:-35px;top:auto}.active,.inactive{padding-top:0}.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-top:13px;padding-bottom:4px}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title,.wp-list-table.plugins tbody th{-webkit-box-shadow:none;box-shadow:none}.plugins tbody{padding:1px 0 0}.plugins tr.active+tr.inactive td.column-description{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column{border-top:none}.wp-list-table.plugins .column-description{padding-top:0}.wp-list-table.plugins .column-description,.wp-list-table.plugins .manage-column.column-name,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-left:12px;padding-right:46px}.wp-list-table.plugins tr{position:relative}.wp-list-table.plugins th.check-column,.wp-list-table.plugins tr.update th.check-column{position:absolute;height:auto;top:0;bottom:0;right:0;padding-right:2px;padding-top:18px}.wp-list-table.plugins tfoot th.check-column,.wp-list-table.plugins thead th.check-column{padding-right:3px;padding-top:11px;background:0 0}.widefat tbody th.check-column input[type=checkbox]{margin-top:-3px;margin-right:8px}.wp-list-table.plugins .active .check-column input,.wp-list-table.plugins .update .check-column input{margin-right:5px}.wp-list-table.plugins tfoot .check-column input,.wp-list-table.plugins thead .check-column input{margin-top:-6px}.wp-list-table.plugins .active th.check-column{background:0 0}.wp-list-table.plugins .plugin-title strong,.wp-list-table.plugins .theme-title strong{font-size:1.4em;line-height:1.6em}table.plugin-install .column-description,table.plugin-install .column-name,table.plugin-install .column-rating,table.plugin-install .column-version{display:block;width:auto}table.plugin-install th.column-description,table.plugin-install th.column-name,table.plugin-install th.column-rating,table.plugin-install th.column-version{display:none}table.plugin-install td.column-name strong{font-size:1.4em;line-height:1.6em}table.plugin-install #the-list td{-webkit-box-shadow:none;box-shadow:none}table.plugin-install #the-list tr{display:block;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}}#poststuff{padding-top:10px;min-width:763px}#poststuff #post-body{padding:0}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-left:300px}#show-comments{overflow:hidden}#save-action .spinner,#show-comments .spinner,#show-comments a{float:right}#lost-connection-notice .spinner{display:block;float:right;margin:0 0 0 5px}#titlediv{position:relative}#titlediv label{cursor:text}#titlediv div.inside{margin:0}#poststuff #titlewrap{border:0;padding:0}#titlediv #title{padding:3px 8px;font-size:1.7em;line-height:100%;height:1.7em;width:100%;outline:0;margin:0;background-color:#fff}#titlediv #title-prompt-text{color:#777;position:absolute;font-size:1.7em;padding:11px 10px}#wp-fullscreen-save .fs-saved{color:#999;float:left;margin-top:4px}#poststuff .inside-submitbox,#side-sortables .inside-submitbox{margin:0 3px;font-size:11px}input#link_description,input#link_url{width:98%}#pending{background:0 none;border:0;padding:0;font-size:11px;margin-top:-1px}#edit-slug-box{line-height:24px;min-height:25px;margin-top:5px;padding:0 10px;color:#666}#edit-slug-box .cancel{margin-left:10px;font-size:11px}#editable-post-name-full{display:none}#editable-post-name{background-color:#fffbcc}#editable-post-name input{font-size:13px;height:22px;margin:0;width:16em}.postarea h3 label{float:right}.submitbox .submit{text-align:right;padding:12px 10px 10px;font-size:11px;background-color:#464646;color:#ccc}.submitbox .submitdelete{text-decoration:none;padding:1px 2px}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.submitbox .submit a:hover{text-decoration:underline}.submitbox .submit input{margin-bottom:8px;margin-left:4px;padding:6px}.inside-submitbox #post_status{margin:2px -2px 2px 0}#post-status-select{margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{position:relative;min-width:255px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:0 0;border:0;float:left;padding:0 12px;margin:0}.category-add input[type=text],.category-add select{width:100%;max-width:260px;vertical-align:baseline}#side-sortables .category-add input[type=text],#side-sortables .category-add select{margin:0 0 1em}#side-sortables .add-menu-item-tabs li,.wp-tab-bar li,ul.category-tabs li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}#side-sortables .add-menu-item-tabs a,.category-tabs a,.wp-tab-bar a{text-decoration:none}#post-body ul.add-menu-item-tabs li.tabs a,#post-body ul.category-tabs li.tabs a,#side-sortables .add-menu-item-tabs .tabs a,#side-sortables .category-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}.category-tabs{margin:8px 0 5px}#category-adder h4{margin:10px 0}#side-sortables .add-menu-item-tabs,.wp-tab-bar{margin-bottom:3px}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:0 7px 5px}#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover,#side-sortables .submitbox .submit input{border:0}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0}ul.add-menu-item-tabs,ul.category-tabs,ul.wp-tab-bar{margin-top:12px}ul.add-menu-item-tabs li,ul.category-tabs li{border:1px solid transparent;position:relative}.wp-tab-active,ul.add-menu-item-tabs li.tabs,ul.category-tabs li.tabs{border:1px solid #dfdfdf;border-bottom-color:#fdfdfd;background-color:#fdfdfd}ul.add-menu-item-tabs li,ul.category-tabs li,ul.wp-tab-bar li{padding:3px 5px 5px}#postimagediv .inside img{max-width:100%;height:auto}form#tags-filter{position:relative}td.plugin-title strong,td.post-title strong{display:block;margin-bottom:.2em;font-size:14px}td.plugin-title p,td.post-title p{margin:6px 0}.ui-tabs-hide,.wp-hidden-children .wp-hidden-child{display:none}#post-body .tagsdiv #newtag{margin-left:5px;width:16em}#side-sortables input#post_password{width:94%}#side-sortables .tagsdiv #newtag{width:68%}#post-status-info{width:100%;border-spacing:0;border:1px solid #e5e5e5;border-top:none;background-color:#f7f7f7;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);z-index:999}#post-status-info td{font-size:12px}.autosave-info{padding:2px 10px;text-align:left}#editorcontent #post-status-info{border:none}#content-resize-handle{background:url(../images/resize.gif) no-repeat scroll left bottom;width:12px;cursor:row-resize}.rtl #content-resize-handle{background:url(../images/resize-rtl.gif) no-repeat scroll right bottom}.wp-editor-expand #content-resize-handle{display:none}#postdivrich #content{resize:none}#wp-word-count{display:block;padding:2px 10px}#wp-content-editor-container{position:relative}#content-textarea-clone{z-index:-1;position:absolute;top:0;visibility:hidden;overflow:hidden;max-width:100%;border:1px solid transparent}.wp-fullscreen-wrap #content-textarea-clone{display:none}.wp-fullscreen-wrap{padding-top:0!important}.wp-fullscreen-wrap .wp-editor-area{margin-top:0!important}.wp-fullscreen-wrap .mce-edit-area{padding-top:0!important}.wp-editor-expand #wp-content-editor-tools{z-index:1000;border-bottom:1px solid #e5e5e5}.wp-editor-expand #wp-content-editor-container{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px;border-bottom:0 none}.wp-editor-expand div.mce-statusbar{z-index:1}.wp-editor-expand #post-status-info{border-top:1px solid #e5e5e5}.wp-editor-expand div.mce-toolbar-grp{z-index:999}#wp-content-editor-tools{background-color:#f1f1f1;padding-top:20px}#poststuff #post-body.columns-2 #side-sortables{width:280px}#timestampdiv select{height:21px;line-height:14px;padding:0;vertical-align:top;font-size:12px}#aa,#hh,#jj,#mn{padding:1px;font-size:12px}#hh,#jj,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{padding:2px 0 1px;display:inline!important;height:auto!important}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before,span.wp-media-buttons-icon:before{color:#888}#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before{font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 0 0 2px;top:0;right:-1px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}#post-body #visibility:before{content:'\f177'}.curtime #timestamp:before{content:'\f145';top:-1px}#post-body .misc-pub-revisions:before{content:'\f321'}#timestampdiv{padding-top:5px;line-height:23px}#timestampdiv p{margin:8px 0 6px}#timestampdiv input{border-width:1px;border-style:solid}.notification-dialog{position:fixed;top:30%;right:50%;width:450px;margin-right:-225px;background:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);line-height:1.5;z-index:1000005}.notification-dialog-background{position:fixed;top:0;right:0;left:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000000}#post-lock-dialog .post-locked-message,#post-lock-dialog .post-taken-over{margin:25px}#post-lock-dialog .post-locked-message a.button{margin-left:10px}#post-lock-dialog .post-locked-avatar{float:right;margin:0 0 20px 20px}#post-lock-dialog .wp-tab-first{outline:0}#post-lock-dialog .locked-saving img{float:right;margin-left:3px}#post-lock-dialog.saved .locked-saved,#post-lock-dialog.saving .locked-saving{display:inline}#excerpt,.attachmentlinks{margin:0;height:4em;width:98%}.tagchecklist{margin-right:14px;font-size:12px;overflow:auto}.tagchecklist br{display:none}.tagchecklist strong{margin-right:-8px;position:absolute}.tagchecklist span{margin-left:25px;display:block;float:right;font-size:13px;line-height:1.8em;white-space:nowrap;cursor:default}.tagchecklist span a{margin:1px -17px 0 0;cursor:pointer;width:20px;height:20px;display:block;float:right;text-indent:0;overflow:hidden;position:absolute}#poststuff h2{margin-top:20px;font-size:1.5em;margin-bottom:15px;padding:0 0 3px;clear:right}#poststuff h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#poststuff .inside{margin:6px 0 0}#poststuff .inside #page_template,#poststuff .inside #parent_id{max-width:100%}#poststuff .inside label.deleted,#poststuff .inside label.spam{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}.ie8 #poststuff .inside #page_template,.ie8 #poststuff .inside #parent_id{width:250px}#post-visibility-select{line-height:1.5em;margin-top:3px}#poststuff #submitdiv .inside{margin:0;padding:0}#post-body-content,.edit-form-section{margin-bottom:20px}#postcustomstuff thead th{padding:5px 8px 8px;background-color:#f1f1f1}#postcustom #postcustomstuff .submit{border:0;float:none;padding:0 8px 8px}#side-sortables #postcustom #postcustomstuff .submit{margin:0;padding:0}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px}#side-sortables #postcustom #postcustomstuff td.left input,#side-sortables #postcustom #postcustomstuff td.left select,#side-sortables #postcustomstuff #newmetaleft a{margin:3px 3px 0}#postcustomstuff table{margin:0;width:100%;border:1px solid #dfdfdf;border-spacing:0;background-color:#f9f9f9}#postcustomstuff tr{vertical-align:top}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:96%;margin:8px}#side-sortables #postcustomstuff table input,#side-sortables #postcustomstuff table select,#side-sortables #postcustomstuff table textarea{margin:3px}#postcustomstuff td.left,#postcustomstuff th.left{width:38%}#postcustomstuff .submit input{margin:0;width:auto}#postcustomstuff #newmetaleft a{display:inline-block;margin:0 8px 8px;text-decoration:none}.no-js #postcustomstuff #enternew{display:none}#post-body-content .compat-attachment-fields{margin-bottom:20px}.compat-attachment-fields th{padding-top:5px;padding-left:10px}#select-featured-image{padding:4px 0;overflow:hidden}#select-featured-image img{max-width:100%;height:auto;margin-bottom:10px}#select-featured-image a{float:right;clear:both}#select-featured-image .remove{display:none;margin-top:10px}.js #select-featured-image.has-featured-image .remove{display:inline-block}.no-js #select-featured-image .choose{display:none}.post-state-format{overflow:hidden;display:inline-block;vertical-align:middle;height:20px;width:20px;margin-left:5px;margin-top:-4px}.post-state-format:before{display:block;height:20px;width:20px;font:400 20px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon:before,.post-state-format:before{color:#ddd;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}a.post-format-icon:hover:before,a.post-state-format:hover:before{color:#2ea2cc}#post-formats-select{line-height:2em}#post-formats-select .post-format-icon:before{top:5px}input.post-format{margin-top:1px}label.post-format-icon{margin-right:0;padding:2px 0}.post-format-icon:before{position:relative;display:inline-block;margin-left:7px;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon.post-format-standard:before,.post-state-format.post-format-standard:before,a.post-state-format.format-standard:before{content:'\f109'}.post-format-icon.post-format-image:before,.post-state-format.post-format-image:before,a.post-state-format.format-image:before{content:'\f128'}.post-format-icon.post-format-gallery:before,.post-state-format.post-format-gallery:before,a.post-state-format.format-gallery:before{content:'\f161'}.post-format-icon.post-format-audio:before,.post-state-format.post-format-audio:before,a.post-state-format.format-audio:before{content:'\f127'}.post-format-icon.post-format-video:before,.post-state-format.post-format-video:before,a.post-state-format.format-video:before{content:'\f126'}.post-format-icon.post-format-chat:before,.post-state-format.post-format-chat:before,a.post-state-format.format-chat:before{content:'\f125'}.post-format-icon.post-format-status:before,.post-state-format.post-format-status:before,a.post-state-format.format-status:before{content:'\f130'}.post-format-icon.post-format-aside:before,.post-state-format.post-format-aside:before,a.post-state-format.format-aside:before{content:'\f123'}.post-format-icon.post-format-quote:before,.post-state-format.post-format-quote:before,a.post-state-format.format-quote:before{content:'\f122'}.post-format-icon.post-format-link:before,.post-state-format.post-format-link:before,a.post-state-format.format-link:before{content:'\f103'}.category-adder{margin-right:120px;padding:4px 0}.category-adder h4{margin:0 0 8px}#side-sortables .category-adder{margin:0}.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,.wp-tab-panel{min-height:42px;max-height:200px;overflow:auto;padding:0 .9em;border:1px solid #dfdfdf;background-color:#fdfdfd}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.inline-editor ul.cat-checklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,ul.export-filters{margin-right:18px}ul.categorychecklist li{margin:0;padding:0;line-height:22px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap label{display:block;padding:2px;font-size:12px}.form-field input[type=email],.form-field input[type=number],.form-field input[type=password],.form-field input[type=search],.form-field input[type=tel],.form-field input[type=text],.form-field input[type=url],.form-field textarea{border-style:solid;border-width:1px;width:95%}.form-wrap p,p.description{margin:2px 0 5px;color:#666}.form-wrap p,p.description,p.help,span.description{font-size:13px;font-style:italic}.form-wrap .form-field{margin:0 0 10px;padding:8px 0}.form-wrap .form-field #parent{max-width:100%}.col-wrap h3{margin:12px 0;font-size:1.1em}.col-wrap p.submit{margin-top:-10px}.tagsdiv{margin-top:-8px}#poststuff .taghint{color:#aaa;margin:15px 12px -24px 0}#poststuff .tagsdiv .howto{margin:0 0 6px}.ajaxtag .newtag{position:relative}.tagsdiv .newtag{width:180px}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px}#post-body-content .tagsdiv .the-tags{margin:0 5px}.taghint{color:#aaa;margin:-17px 7px 0 0;visibility:hidden}input.newtag~div.taghint{visibility:visible}input.newtag:focus~div.taghint{visibility:hidden}p.popular-tags{border:none;line-height:2em;padding:8px 12px 12px;text-align:justify}p.popular-tags a{padding:0 3px}.tagcloud{width:97%;margin:0 0 40px;text-align:justify}.tagcloud h3{margin:2px 0 12px}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border:1px solid gray;background-color:#fff}.wp-customizer .ac_results{z-index:500000}.ac_results li{padding:2px 5px;white-space:nowrap;color:#101010;text-align:right}.ac_over{background-color:#f0f0b8;cursor:pointer}.ac_match{text-decoration:underline}.comment-php .wp-editor-area{height:200px}.comment-ays{margin-bottom:0;border-bottom-style:solid;border-bottom-width:1px}.comment-ays .alt{background-color:transparent}.spam-undo-inside,.trash-undo-inside{margin:1px 0 1px 8px;line-height:16px}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-left:8px;vertical-align:middle}.stuffbox .editcomment{clear:none}#comment-status-radio p{margin:3px 0 5px}#comment-status-radio input{margin:2px 0 5px 3px;vertical-align:middle}#comment-status-radio label{padding:5px 0}table.links-table{width:100%;border-spacing:0}.links-table th{font-weight:400;text-align:right;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table td,.links-table th{padding:5px 0}.links-table td label{margin-left:8px}.links-table td input[type=text],.links-table td textarea{width:100%}.links-table #link_rel{max-width:280px}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-2x.gif) no-repeat scroll left bottom;-webkit-background-size:11px 11px;background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-rtl-2x.gif) no-repeat scroll left bottom}}@media only screen and (max-width:850px){#poststuff{min-width:0}#wpbody-content #poststuff #post-body{margin:0}#wpbody-content #post-body.columns-2 #postbox-container-1{margin-left:0;width:100%}#poststuff #postbox-container-1 #side-sortables:empty,#poststuff #postbox-container-1 .empty-container{border:0;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0;width:auto}.columns-prefs,.screen-layout{display:none}}@media screen and (max-width:782px){#post-body-content{min-width:0}#titlediv #title-prompt-text{padding:10px}#poststuff h3{padding:12px}.post-format-options{padding-left:0}.post-format-options a{margin-left:5px;margin-bottom:5px;min-width:52px}.post-format-options .post-format-title{font-size:11px}.post-format-options a div{height:28px;width:28px}.post-format-options a div:before{font-size:26px!important}#post-visibility-select{line-height:280%}.wp-core-ui .save-post-visibility,.wp-core-ui .save-timestamp{vertical-align:middle;margin-left:15px}.timestamp-wrap select#mm{display:block;width:100%;margin-bottom:10px}.timestamp-wrap #aa,.timestamp-wrap #hh,.timestamp-wrap #jj,.timestamp-wrap #mn{padding:12px 3px;font-size:14px;margin-bottom:5px;width:auto;text-align:center}ul.category-tabs{margin:30px 0 15px}ul.category-tabs li.tabs{padding:15px}ul.categorychecklist li{margin-bottom:15px}ul.categorychecklist ul{margin-top:15px}.category-add input[type=text],.category-add select{max-width:none;margin-bottom:15px}.tagsdiv .newtag{width:100%;height:auto;margin-bottom:15px}.tagchecklist{margin:25px 10px}.tagchecklist span{font-size:16px;line-height:120%}#commentstatusdiv p{line-height:2.8}.mceToolbar *{white-space:normal!important}.mceToolbar td,.mceToolbar tr{float:right!important}.wp_themeSkin a.mceButton{width:30px;height:30px}.wp_themeSkin .mceButton .mceIcon{margin-top:5px;margin-right:5px}.wp_themeSkin .mceSplitButton{margin-top:1px}.wp_themeSkin .mceSplitButton td a.mceAction{padding:6px 6px 6px 3px}.wp_themeSkin .mceSplitButton td a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover td a.mceOpen{padding-top:6px;padding-bottom:6px;background-position:1px 6px}.wp_themeSkin table.mceListBox{margin:5px}div.quicktags-toolbar input{padding:10px 20px}a.wp-switch-editor{font-size:16px;line-height:1em;margin:3px 7px 0 0;padding:12px 15px}#wp-content-media-buttons a{font-size:16px;line-height:37px;height:39px;padding:0 15px 0 20px}.wp-media-buttons span.jetpack-contact-form-icon,.wp-media-buttons span.wp-media-buttons-icon{width:22px!important;margin-top:-3px!important;margin-right:-5px!important}.wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before,.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font-size:20px!important}#content_wp_fullscreen{display:none}.misc-pub-section{padding:20px 10px}.misc-pub-section>a{float:left;font-size:16px}#delete-action,#publishing-action{line-height:47px}.comment-ays{border-bottom:none}.links-table #link_rel{max-width:none}.links-table td,.links-table th{padding:10px 0}}@media only screen and (max-width:500px){#wp-content-media-buttons a{font-size:14px;padding:0 10px}}.revisions-control-frame,.revisions-diff-frame{position:relative}.revisions-controls{padding-top:40px;height:100px;z-index:1}.revisions-controls input[type=checkbox]{position:relative;top:-1px;vertical-align:text-bottom}.revisions.pinned .revisions-controls{position:fixed;top:0;height:82px;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-tickmarks{position:relative;margin:0 auto;height:.7em;top:7px;max-width:70%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#fff}.revisions-tickmarks>div{position:absolute;height:100%;border-right:1px solid #aaa;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.revisions-tickmarks>div:first-child{border-width:0}.comparing-two-revisions .revisions-controls{height:140px}.comparing-two-revisions.pinned .revisions-controls{height:124px}.revisions .diff-error{position:absolute;text-align:center;margin:0 auto;width:100%;display:none}.revisions.diff-error .diff-error{display:block}.revisions .loading-indicator{position:absolute;vertical-align:middle;opacity:0;width:100%;width:-webkit-calc(100% - 30px);width:calc(100% - 30px);top:50%;top:-webkit-calc(50% - 10px);top:calc(50% - 10px);-webkit-transition:opacity .5s;transition:opacity .5s;filter:alpha(opacity=0)}body.folded .revisions .loading-indicator{margin-right:-32px}.revisions .loading-indicator span.spinner{display:block;margin:0 auto;float:none}.revisions.loading .loading-indicator{opacity:1;filter:alpha(opacity=100)}.revisions .diff{-webkit-transition:opacity .5s;transition:opacity .5s}.revisions.loading .diff{opacity:.5;filter:alpha(opacity=50)}.revisions.diff-error .diff{visibility:hidden}.revisions-meta{margin-top:20px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions.pinned .revisions-meta{-webkit-box-shadow:none;box-shadow:none}.revision-toggle-compare-mode{position:absolute;top:0;left:0}.comparing-two-revisions .revisions-next,.comparing-two-revisions .revisions-previous,.revisions-meta .diff-meta-to strong{display:none}.revisions-controls .author-card .date{color:#777}.revisions-controls .author-card.autosave{color:#d54e21}.revisions-controls .author-card .author-name{font-weight:700}.comparing-two-revisions .diff-meta-to strong{display:block}.revisions.pinned .revisions-buttons{padding:0 11px}.revisions-next,.revisions-previous{position:relative;z-index:1}.revisions-previous{float:right}.revisions-next{float:left}.revisions-controls .wp-slider{max-width:70%;margin:0 auto;top:-3px}.revisions-diff{padding:15px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-diff h3:first-child{margin-top:0}#revisions-meta-restored img,.post-revisions li img{vertical-align:middle}table.diff tbody tr td:nth-child(2){width:4%}table.diff{table-layout:fixed;width:100%;white-space:pre-wrap}table.diff col.content{width:auto}table.diff col.content.diffsplit{width:48%}table.diff col.diffsplit.middle{width:auto}table.diff col.ltype{width:30px}table.diff tr{background-color:transparent}table.diff td,table.diff th{font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.618;padding:.5em;vertical-align:top;word-wrap:break-word}table.diff td h1,table.diff td h2,table.diff td h3,table.diff td h4,table.diff td h5,table.diff td h6{margin:0}table.diff .diff-addedline ins,table.diff .diff-deletedline del{text-decoration:none}table.diff .diff-deletedline{background-color:#ffe9e9}table.diff .diff-deletedline del{background-color:#faa}table.diff .diff-addedline{background-color:#e9ffe9}table.diff .diff-addedline ins{background-color:#afa}.diff-meta{padding:5px;clear:both;min-height:32px}.diff-title strong{line-height:32px;min-width:60px;text-align:left;float:right;margin-left:5px}.revisions-controls .author-card .author-info{font-size:12px;line-height:16px}.revisions-controls .author-card .author-info,.revisions-controls .author-card .avatar{float:right;margin-right:6px;margin-left:6px}.revisions-controls .author-card .byline{display:block;font-size:12px}.revisions-controls .author-card .avatar{vertical-align:middle}.diff-meta input.restore-revision{float:left;margin-right:6px;margin-left:6px;margin-top:4px}.diff-meta-from{display:none}.comparing-two-revisions .diff-meta-from{display:block}.revisions-tooltip{position:absolute;bottom:105px;margin-left:0;margin-right:-69px;z-index:0;max-width:350px;min-width:130px;padding:8px 4px;opacity:0}.revisions-tooltip.flipped{margin-right:0;margin-left:-70px}.revisions.pinned .revisions-tooltip{display:none!important}.comparing-two-revisions .revisions-tooltip{bottom:145px}.revisions-tooltip-arrow{width:70px;height:15px;overflow:hidden;position:absolute;right:0;margin-right:35px;bottom:-15px}.revisions-tooltip.flipped .revisions-tooltip-arrow{margin-right:0;margin-left:35px;right:auto;left:0}.revisions-tooltip-arrow>span{content:"";position:absolute;right:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.revisions-tooltip.flipped .revisions-tooltip-arrow>span{right:auto;left:20px}.ie8 .revisions-tooltip-arrow>span{right:15px;top:-25px;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)"}.ie8 .revisions-tooltip.flipped .revisions-tooltip-arrow>span{left:25px}.revisions-tooltip,.revisions-tooltip-arrow>span{border:1px solid #d7d7d7;background-color:#fff}.revisions-tooltip{display:none}.arrow{width:70px;height:16px;overflow:hidden;position:absolute;right:0;margin-right:-35px;bottom:90px;z-index:10000}.arrow:after{z-index:9999;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.arrow.top{top:-16px;bottom:auto}.arrow.left{right:20%}.arrow:after{content:"";position:absolute;right:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.revisions-tooltip,.revisions-tooltip-arrow:after{border-width:1px;border-style:solid}div.revisions-controls>.wp-slider>.ui-slider-handle{margin-right:-10px}.rtl div.revisions-controls>.wp-slider>.ui-slider-handle{margin-left:-10px}.wp-slider.ui-slider{position:relative;border:1px solid #d7d7d7;text-align:right;cursor:pointer}.wp-slider .ui-slider-handle{-webkit-border-radius:50%;border-radius:50%;height:18px;margin-top:-3px;outline:0;position:absolute;width:18px;z-index:2}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#2ea2cc;border:1px solid #0074a2;-webkit-box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15)}.wp-slider .ui-slider-handle:before{background:0 0;position:absolute;top:0;right:0;color:#fff;content:"\f229";font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{font-size:20px!important;margin:-1px -1px 0 0}.wp-slider .ui-slider-handle.from-handle:before{content:'\f139'}.rtl .wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{content:'\f141'}.rtl .wp-slider .ui-slider-handle.to-handle:before{content:'\f139';left:-1px}.wp-slider .ui-slider-range{position:absolute;font-size:.7em;display:block;border:0;background-color:transparent;background-image:none}.wp-slider.ui-slider-horizontal{height:.7em}.wp-slider.ui-slider-horizontal .ui-slider-handle{top:-.25em;margin-right:-.6em}.wp-slider.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.wp-slider.ui-slider-horizontal .ui-slider-range-min{right:0}.wp-slider.ui-slider-horizontal .ui-slider-range-max{left:0}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.revision-tick.completed-false{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){#diff-next-revision,#diff-previous-revision{margin-top:-1em}table.diff{-ms-word-break:break-all;word-break:break-all;word-wrap:break-word}}.media-item .describe{border-collapse:collapse;width:100%;border-top:1px solid #dfdfdf;clear:both;cursor:default}.media-item.media-blank .describe{border:0}.media-item .describe th{vertical-align:top;text-align:right;padding:5px 10px 10px;width:140px}.media-item .describe .align th{padding-top:0}.media-item .media-item-info tr{background-color:transparent}.media-item .describe td{padding:0 0 8px 8px;vertical-align:top}.media-item thead.media-item-info td{padding:4px 10px 0}.media-item .media-item-info .A1B1{padding:0 10px 0 0}.media-item td.savesend{padding-bottom:15px}.media-item .thumbnail{max-height:128px;max-width:128px}#wpbody-content #async-upload-wrap a{display:none}.media-upload-form{margin-top:20px}.media-upload-form td label{margin-left:6px;margin-right:2px}.media-upload-form .align .field label{display:inline;padding:0 23px 0 0;margin:0 3px 0 1em;font-weight:600}.media-upload-form tr.image-size label{margin:0 5px 0 0;font-weight:600}.media-upload-form th.label label{font-weight:600;margin:.5em;font-size:13px}.media-upload-form th.label label span{padding:0 5px}.media-item .describe input[type=text],.media-item .describe textarea{width:460px}.media-item .describe p.help{margin:0;padding:0 5px 0 0}.describe-toggle-off,.describe-toggle-on,.media-item .edit-attachment{display:block;line-height:36px;float:left;margin-left:10px}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on{display:none}.media-item.open .describe-toggle-off{display:block}.media-upload-form .media-item{min-height:36px;margin-bottom:1px;position:relative;width:100%;background:#fff}.media-upload-form .media-item,.media-upload-form .media-item .error{-webkit-box-shadow:0 1px 0 #dfdfdf;box-shadow:0 1px 0 #dfdfdf}#media-items:empty{border:0}.media-item .filename{line-height:36px;overflow:hidden;margin-right:6px}.media-item .pinkynail{float:right;margin:2px 3px 0 10px;max-width:40px;max-height:32px}.media-item .startclosed,.media-item .startopen{display:none}.media-item .original{position:relative;height:34px}.media-item .progress{float:left;height:22px;margin:7px 6px;width:200px;line-height:2em;padding:0;overflow:hidden;-webkit-border-radius:22px;border-radius:22px;background:#ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.media-item .bar{z-index:9;width:0;height:100%;margin-top:-22px;-webkit-border-radius:22px;border-radius:22px;background-color:#0074a2;-webkit-box-shadow:inset 0 0 2px rgba(0,0,0,.3);box-shadow:inset 0 0 2px rgba(0,0,0,.3)}.media-item .progress .percent{z-index:10;position:relative;width:200px;padding:0;color:#fff;text-align:center;line-height:22px;font-weight:400;text-shadow:0 1px 2px rgba(0,0,0,.2)}.upload-php .fixed .column-parent{width:15%}.js .html-uploader #plupload-upload-ui{display:none}.js .html-uploader #html-upload-ui{display:block}.media-upload-form .media-item .error,.media-upload-form .media-item.error{width:auto;margin:0 0 1px}.media-upload-form .media-item .error{padding:10px 14px 10px 0}.media-item .error-div a.dismiss{display:block;float:left;margin:0 15px 0 10px}.find-box{background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:600px;overflow:hidden;margin-right:-300px;position:fixed;top:30px;bottom:30px;right:50%;z-index:100105}.find-box-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px;position:absolute;top:0;right:0;left:0}.find-box-inside{overflow:auto;padding:16px;background-color:#fff;position:absolute;top:37px;bottom:45px;overflow-y:scroll;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.find-box-search{padding-bottom:16px}.find-box-search .spinner{float:none;right:110px;position:absolute;top:2px}#find-posts-response,.find-box-search{position:relative}#find-posts-input,#find-posts-search{float:right}#find-posts-input{width:140px;height:28px;margin:0 0 0 4px}.widefat .found-radio{padding-left:0;width:16px}#find-posts-close{width:36px;height:36px;position:absolute;top:0;left:0;cursor:pointer;text-align:center;color:#666}#find-posts-close:hover{color:#2ea2cc}#find-posts-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f158'}.find-box-buttons{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;right:0;left:0}@media screen and (max-width:782px){.find-box-inside{bottom:57px}}@media screen and (max-width:660px){.find-box{top:0;bottom:0;right:0;left:0;margin:0;width:100%}}.ui-find-overlay{position:fixed;top:0;right:0;left:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border:1px solid #ddd;line-height:1.8em;word-spacing:3px;-webkit-border-radius:6px;border-radius:6px}.drag-drop #drag-drop-area{border:4px dashed #bbb;height:200px}.drag-drop .drag-drop-inside{margin:70px auto 0;width:250px}.drag-drop-inside p{color:#aaa;font-size:14px;margin:5px 0;display:none}.drag-drop .drag-drop-inside p{text-align:center}.drag-drop-inside p.drag-drop-info{font-size:20px}.drag-drop .drag-drop-inside p,.drag-drop-inside p.drag-drop-buttons{display:block}.drag-drop.drag-over #drag-drop-area{border-color:#83b4d8}#plupload-upload-ui{position:relative}.media-frame.mode-grid,.media-frame.mode-grid .attachments-browser .attachments,.media-frame.mode-grid .media-frame-content,.media-frame.mode-grid .uploader-inline-content{position:static}.media-frame.mode-grid .media-frame-menu,.media-frame.mode-grid .media-frame-router,.media-frame.mode-grid .media-frame-title{display:none}.media-frame.mode-grid .media-frame-content{background-color:transparent;border:none}.upload-php .mode-grid .media-sidebar{position:relative;width:auto;margin-bottom:16px;padding:0 16px;border:1px solid #c00;background-color:#feebe8}.upload-php .mode-grid .hide-sidebar .media-sidebar{display:none}.upload-php .mode-grid .media-sidebar .media-uploader-status{border-bottom:none;padding-bottom:0;max-width:100%}.upload-php .mode-grid .media-sidebar .upload-error{margin:20px 0;padding:0;border:none;background:0 0}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors{font-size:0;top:-12px;left:-10px}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:before{content:"\f158";font:400 20px/1 dashicons;color:#666}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:focus:before,.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:hover:before{color:#2ea2cc}.upload-php .mode-grid .media-sidebar .media-uploader-status.errors h3{display:none}.media-frame.mode-grid .uploader-inline{position:relative;top:auto;left:auto;right:auto;bottom:auto;padding-top:0;margin-top:0;border:4px dashed #bbb}.media-frame.mode-select .attachments-browser.fixed .attachments{position:relative;top:94px;padding-bottom:94px}.media-frame.mode-grid .attachment.details:focus,.media-frame.mode-grid .attachment:focus,.media-frame.mode-grid .selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;outline:0}.media-frame.mode-grid .selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc}.media-frame.mode-grid .attachment.details{-webkit-box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe}.media-frame.mode-grid.mode-select .attachment .thumbnail{opacity:.65}.media-frame.mode-select .attachment.selected .thumbnail{opacity:1}.media-frame.mode-grid .media-toolbar{margin-bottom:15px;height:auto}.media-frame.mode-grid .media-toolbar select{margin:0 0 0 10px;font-size:14px}.media-frame.mode-grid .media-toolbar-secondary>.media-button{margin-top:10px;margin-bottom:10px}.media-frame.mode-grid .attachments-browser .bulk-select{display:inline-block;margin:0 0 0 10px}.media-frame.mode-grid .search{margin-top:0}.media-frame.mode-grid .spinner{margin-top:15px}.attachments-browser .media-toolbar-secondary>.select-mode-toggle-button{margin-left:10px}.media-frame.mode-select .attachments-browser.fixed .media-toolbar{position:fixed;top:32px;right:auto;left:20px;margin-top:0}.media-frame.mode-grid .attachments-browser{padding:0}.media-frame.mode-grid .attachments-browser .attachments{padding:2px}.media-frame.mode-grid .attachments-browser .no-media{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.edit-attachment-frame{display:block;height:100%;width:100%}.edit-attachment-frame .edit-media-header{overflow:hidden}.upload-php .media-modal-close .media-modal-icon:before{content:'\f335';font-size:22px}.upload-php .media-modal-close .media-modal-icon{margin:14px;width:22px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{cursor:pointer;color:#777;background-color:transparent;height:50px;width:50px;padding:0;position:absolute;text-align:center;border:0;border-right:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.upload-php .media-modal-close{top:0;left:0}.edit-attachment-frame .edit-media-header .left{left:102px}.edit-attachment-frame .edit-media-header .right{left:51px}.edit-attachment-frame .media-frame-title{right:0;left:150px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.edit-attachment-frame .edit-media-header .left:focus,.edit-attachment-frame .edit-media-header .left:hover,.edit-attachment-frame .edit-media-header .right:focus,.edit-attachment-frame .edit-media-header .right:hover,.upload-php .media-modal-close:focus,.upload-php .media-modal-close:hover{background:#ddd;border-color:#ccc;color:#000;outline:0}.upload-php .media-modal-close:focus .media-modal-icon:before,.upload-php .media-modal-close:hover .media-modal-icon:before{color:#000}.edit-attachment-frame .edit-media-header .left:before,.rtl .edit-attachment-frame .edit-media-header .right:before{content:'\f341'}.edit-attachment-frame .edit-media-header .right:before,.rtl .edit-attachment-frame .edit-media-header .left:before{content:'\f345'}.edit-attachment-frame .edit-media-header .left.disabled,.edit-attachment-frame .edit-media-header .left.disabled:hover,.edit-attachment-frame .edit-media-header .right.disabled,.edit-attachment-frame .edit-media-header .right.disabled:hover{color:#ccc;background:inherit;cursor:default;pointer-events:none}.edit-attachment-frame .media-frame-content,.edit-attachment-frame .media-frame-router{right:0}.edit-attachment-frame .media-frame-content{border-bottom:none;bottom:0;top:50px}.edit-attachment-frame .attachment-details{position:absolute;overflow:auto;top:0;bottom:0;left:0;right:0;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1)}.edit-attachment-frame .attachment-media-view{float:right;width:65%;height:100%}.edit-attachment-frame .attachment-media-view .thumbnail{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:16px;height:100%}.edit-attachment-frame .attachment-media-view .details-image{display:block;margin-bottom:16px;max-width:100%;max-height:90%;max-height:-webkit-calc(100% - 42px);max-height:calc(100% - 42px)}.edit-attachment-frame .wp-media-wrapper{margin-bottom:12px}.edit-attachment-frame input,.edit-attachment-frame textarea{padding:6px 8px;line-height:16px}.edit-attachment-frame .attachment-info{overflow:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:0;padding:12px 16px 0;width:35%;height:100%;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);border-bottom:0;border-right:1px solid #ddd;background:#f3f3f3}.edit-attachment-frame .attachment-info .details,.edit-attachment-frame .attachment-info .settings{position:relative;overflow:hidden;float:none;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #ddd}.edit-attachment-frame .attachment-info .filename{font-weight:400;color:#666}.edit-attachment-frame .attachment-info .thumbnail{margin-bottom:12px}.attachment-info .actions{margin-bottom:16px}.attachment-info .actions a{display:inline;text-decoration:none}.wp_attachment_details label[for=content]{font-size:13px;line-height:1.5;margin:1em 0}.wp_attachment_details #attachment_caption{height:4em}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}.imgedit-settings p{margin:8px 0 0}.describe .imgedit-wrap .imgedit-settings{padding:0 5px}.wp_attachment_holder div.updated{margin-top:0}.wp_attachment_holder .imgedit-wrap>div{height:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-panel-content{padding-left:16px;width:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-settings{float:left;width:250px}.imgedit-settings input{margin-top:0;vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:#fff url(../images/spinner.gif) no-repeat center;-webkit-background-size:20px 20px;background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.no-float{float:none}.imgedit-settings .disabled,.media-disabled{color:grey}.A1B1,.wp_attachment_image{overflow:hidden}.A1B1 .button,.wp_attachment_image .button{float:right}.no-js .wp_attachment_image .button{display:none}.A1B1 .spinner,.wp_attachment_image .spinner{float:right;padding:0 0 4px;vertical-align:bottom}.imgedit-menu{margin:0 0 12px;min-width:300px}.imgedit-menu div{float:right;width:32px;border:1px solid #d5d5d5;background:#f1f1f1;margin:0 0 0 8px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;line-height:28px;color:#777;cursor:pointer}.imgedit-menu div:before{font:400 20px/1 dashicons;speak:none;vertical-align:middle}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;color:#333}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;color:#777;filter:alpha(opacity=50);opacity:.5;cursor:default}.imgedit-crop:before{content:'\f165'}.imgedit-rleft:before{content:'\f166'}.imgedit-rright:before{content:'\f167'}.imgedit-flipv:before{content:'\f168'}.imgedit-fliph:before{content:'\f169'}.imgedit-undo:before{content:'\f171'}.imgedit-redo:before{content:'\f172'}.imgedit-crop-wrap{position:relative}.imgedit-crop{margin:0 0 0 8px}.imgedit-rleft{margin:0 3px}.imgedit-rright{margin:0 3px 0 8px}.imgedit-flipv{margin:0 3px}.imgedit-fliph{margin:0 3px 0 8px}.imgedit-undo{margin:0 3px}.imgedit-redo{margin:0 3px 0 8px}.imgedit-applyto img{margin:0 0 0 8px}.imgedit-group-top{margin:5px 0}#poststuff .imgedit-group-top h3{padding:0}.imgedit-group-top h3 a{text-decoration:none}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block}.imgedit-help{display:none;font-style:italic}a.imgedit-help-toggle{text-decoration:none}.form-table td.imgedit-response{padding:0}.imgedit-submit{margin:8px 0}.imgedit-submit-btn{margin-right:20px}.imgedit-wrap .nowrap{white-space:nowrap}span.imgedit-scale-warn{color:red;font-size:20px;font-style:normal;visibility:hidden;vertical-align:middle}.imgedit-group{margin-bottom:8px;padding:2px 10px}audio,video{display:inline-block;max-width:100%}.mejs-container{width:100%;max-width:100%}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.imgedit-wait{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){.wp_attachment_details label[for=content]{font-size:14px;line-height:1.5em}.media-upload-form .media-item .error,.media-upload-form .media-item.error{font-size:13px;line-height:1.5}.media-upload-form .media-item.error{padding:1px 10px}.media-upload-form .media-item .error{padding:10px 12px 10px 0}}@media only screen and (max-width:1120px){.media-frame.mode-grid .attachments-browser .media-toolbar-secondary{float:none}}@media only screen and (max-width:782px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:46px;left:10px}}@media only screen and (max-width:600px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:0}}@media only screen and (max-width:480px){.edit-attachment-frame .media-frame-title{left:110px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{width:40px;height:40px}.upload-php .media-modal-close .media-modal-icon{margin:9px 10px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{line-height:40px!important}.edit-attachment-frame .edit-media-header .left{left:82px}.edit-attachment-frame .edit-media-header .right{left:41px}.edit-attachment-frame .media-frame-content{top:40px}.edit-attachment-frame .attachment-media-view{float:none;height:auto;width:100%}.edit-attachment-frame .attachment-info{height:auto;width:100%}}@media only screen and (max-width:640px),screen and (max-height:400px){.upload-php .mode-grid .media-sidebar{max-width:100%}}.theme-browser .themes{clear:both;padding:0 0 100px}.themes-php .wrap h2{float:right;margin-bottom:15px}.network-admin.themes-php .wrap h2{margin-bottom:0}.themes-php .wrap h2 .button{margin-right:20px}.themes-php .wp-filter-search{position:relative;top:-2px;right:20px;margin:0;width:280px;font-size:16px;font-weight:300;line-height:1.5}.themes-php div.error,.themes-php div.updated{margin:0 0 20px;clear:both}.themes-php div.updated a{text-decoration:underline}.theme-browser .theme{cursor:pointer;float:right;margin:0 0 4% 4%;position:relative;width:30.6%;border:1px solid #dedede;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ie8 .theme-browser .theme{width:30%;margin:0 0 4% 3%}.theme-browser .theme:nth-child(3n){margin-left:0}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:pointer}.theme-browser .theme .theme-name{font-size:15px;font-weight:600;height:18px;margin:0;padding:15px;-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:#fff;background:rgba(255,255,255,.65)}.theme-browser .theme .theme-actions{-ms-filter:"alpha(Opacity=0)";opacity:0;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out;position:absolute;bottom:0;left:0;height:38px;padding:9px 10px 0;background:rgba(244,244,244,.7);border-right:1px solid rgba(0,0,0,.05)}.theme-browser .theme.focus .theme-actions,.theme-browser .theme:focus .theme-actions,.theme-browser .theme:hover .theme-actions{-ms-filter:"alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-actions .button-primary{margin-left:3px}.theme-browser .theme .theme-actions .button-secondary{float:none;margin-right:3px}.theme-browser .theme .theme-screenshot{display:block;overflow:hidden;position:relative;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme .theme-screenshot:after{content:'';display:block;padding-top:66.66666%}.theme-browser .theme .theme-screenshot img{height:auto;position:absolute;right:0;top:0;width:100%;-webkit-transform:translateZ(0);-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme:focus .theme-screenshot,.theme-browser .theme:hover .theme-screenshot{background:#fff}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:.4}.theme-browser .theme .more-details{-ms-filter:"alpha(Opacity=0)";opacity:0;position:absolute;top:35%;left:25%;right:25%;background:#222;background:rgba(0,0,0,.7);color:#fff;font-size:15px;text-shadow:0 1px 0 rgba(0,0,0,.6);-webkit-font-smoothing:antialiased;font-weight:600;padding:15px 12px;text-align:center;-webkit-border-radius:3px;border-radius:3px;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out}.theme-browser .theme:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.theme-browser .theme:focus .more-details{opacity:1}.theme-browser .theme.active:focus .theme-actions{display:block}.theme-browser.rendered .theme:focus .more-details,.theme-browser.rendered .theme:hover .more-details{-ms-filter:"alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-installed,.theme-browser .theme .theme-update{background:#d54e21;background:rgba(213,78,33,.95);color:#fff;display:block;font-size:13px;font-weight:400;height:48px;line-height:48px;padding:0 10px;position:absolute;top:0;left:0;right:0;border-bottom:1px solid rgba(0,0,0,.25);overflow:hidden}.theme-browser .theme .theme-installed:before,.theme-browser .theme .theme-update:before{content:'\f463';display:inline-block;font:400 20px/1 dashicons;margin:0 0 0 6px;opacity:.8;position:relative;top:5px;speak:none;-webkit-font-smoothing:antialiased}.theme-browser .theme.active .theme-name{background:#2f2f2f;color:#fff;padding-left:110px;font-weight:300;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.5)}.theme-browser .theme.active .theme-name span{font-weight:600}.theme-browser .theme.active .theme-actions{background:rgba(49,49,49,.7);border-right:none;opacity:1}.theme-browser .theme.active .theme-actions .button-primary{margin-left:0}.theme-browser .theme .theme-author{background:#222;color:#eee;display:none;font-size:14px;margin:0 10px;padding:5px 10px;position:absolute;bottom:56px}.theme-browser .theme.display-author .theme-author{display:block}.theme-browser .theme.display-author .theme-author a{color:inherit;text-decoration:none}.theme-browser .theme.add-new-theme{border:none;-webkit-box-shadow:none;box-shadow:none}.theme-browser .theme.add-new-theme a{color:#999;text-decoration:none;display:block;position:relative;z-index:1}.theme-browser .theme.add-new-theme:after{display:block;content:'';-ms-filter:"alpha(Opacity=100)";opacity:1;background:0 0;position:absolute;top:0;right:0;left:0;bottom:0;padding:10% 0 0;text-shadow:none;border:5px dashed #d5d2ca;border:5px dashed rgba(0,0,0,.1);-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.theme-browser .theme.add-new-theme span:after{background:#e5e5e5;background:rgba(153,153,153,.1);-webkit-border-radius:50%;border-radius:50%;display:inline-block;content:'\f132';-webkit-font-smoothing:antialiased;font:400 74px/115px dashicons;width:100px;height:100px;vertical-align:middle;text-align:center;color:#999;position:absolute;top:30%;right:50%;margin-right:-50px;text-indent:-4px;padding:0;text-shadow:none;z-index:4}.rtl .theme-browser .theme.add-new-theme span:after{text-indent:4px}.theme-browser .theme.add-new-theme:focus .theme-screenshot,.theme-browser .theme.add-new-theme:hover .theme-screenshot{background:0 0}.theme-browser .theme.add-new-theme:focus span:after,.theme-browser .theme.add-new-theme:hover span:after{background:#fff;color:#0074a2}.theme-browser .theme.add-new-theme:focus:after,.theme-browser .theme.add-new-theme:hover:after{border-color:transparent;color:#fff;background:#0074a2;content:''}.theme-browser .theme.add-new-theme .theme-name{background:0 0;text-align:center;-webkit-box-shadow:none;box-shadow:none;font-weight:400;position:relative;top:0;margin-top:-10%;margin-bottom:10%}.theme-browser .theme.add-new-theme:focus .theme-name,.theme-browser .theme.add-new-theme:hover .theme-name{color:#fff;z-index:2}.theme-overlay .theme-backdrop{position:absolute;right:-20px;left:0;top:0;bottom:0;background:#f1f1f1;background:rgba(238,238,238,.9);z-index:10}.theme-overlay .theme-header{position:absolute;top:0;right:0;left:0;height:48px;border-bottom:1px solid #ddd}.theme-overlay .theme-header .close{cursor:pointer;height:48px;width:50px;text-align:center;float:left;border:0;border-right:1px solid #ddd;background-color:transparent;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:before{font:400 22px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.theme-overlay .theme-header .left,.theme-overlay .theme-header .right{cursor:pointer;color:#777;background-color:transparent;height:48px;width:54px;float:right;text-align:center;border:0;border-left:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:focus,.theme-overlay .theme-header .right:hover{background:#ddd;border-color:#ccc;color:#000}.theme-overlay .theme-header .close:focus:before,.theme-overlay .theme-header .close:hover:before{color:#000}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .right:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}.theme-overlay .theme-header .left.disabled,.theme-overlay .theme-header .left.disabled:hover,.theme-overlay .theme-header .right.disabled,.theme-overlay .theme-header .right.disabled:hover{color:#ccc;background:inherit;cursor:inherit}.theme-overlay .theme-header .left:before,.theme-overlay .theme-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.rtl .theme-overlay .theme-header .right:before,.theme-overlay .theme-header .left:before{content:'\f341'}.rtl .theme-overlay .theme-header .left:before,.theme-overlay .theme-header .right:before{content:'\f345'}.theme-overlay .theme-wrap{clear:both;position:fixed;top:9%;right:190px;left:30px;bottom:3%;background:#fff;-webkit-box-shadow:0 1px 20px 5px rgba(0,0,0,.1);box-shadow:0 1px 20px 5px rgba(0,0,0,.1);z-index:20;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.theme-overlay .theme-wrap:after{content:".";display:block;height:0;clear:both;visibility:hidden}body.folded .theme-overlay .theme-wrap{right:70px}.theme-overlay .theme-about{position:absolute;top:49px;bottom:57px;right:0;left:0;overflow:auto;padding:2% 4%}.theme-overlay .theme-about:after{content:".";display:block;height:0;clear:both;visibility:hidden}.theme-overlay .theme-actions{position:absolute;text-align:center;bottom:0;right:0;left:0;padding:10px 25px 5px;background:#f3f3f3;z-index:30;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-top:1px solid #eee}.ie8 .theme-overlay .theme-actions{border:1px solid #eee}.theme-overlay .theme-actions a{margin-left:5px;margin-bottom:5px}.theme-overlay .theme-actions .delete-theme{color:#a00;position:absolute;left:10px;bottom:5px;text-decoration:none;border-color:transparent;-webkit-box-shadow:none;box-shadow:none;background:0 0}.theme-overlay .theme-actions .delete-theme:focus,.theme-overlay .theme-actions .delete-theme:hover{background:#d54e21;color:#fff;border-color:#d54e21}.theme-overlay .theme-actions .active-theme,.theme-overlay.active .theme-actions .inactive-theme{display:none}.theme-overlay .theme-actions .inactive-theme,.theme-overlay.active .theme-actions .active-theme{display:block}.theme-overlay .theme-screenshots{float:right;margin:0 0 0 30px;width:55%;max-width:880px;text-align:center}.theme-overlay .screenshot{border:1px solid #fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.theme-overlay .screenshot:after{content:'';display:block;padding-top:75%}.theme-overlay .screenshot img{height:auto;position:absolute;right:0;top:0;width:100%}.theme-overlay.small-screenshot .theme-screenshots{position:absolute;width:302px}.theme-overlay.small-screenshot .theme-info{margin-right:350px;width:auto}.theme-overlay .screenshot.thumb{background:#ccc;border:1px solid #eee;float:none;display:inline-block;margin:10px 5px 0;width:140px;height:80px;cursor:pointer}.theme-overlay .screenshot.thumb:after{content:'';display:block;padding-top:100%}.theme-overlay .screenshot.thumb img{cursor:pointer;position:absolute;right:0;top:0;width:100%;height:auto}.theme-overlay .screenshot.selected{background:0 0;border:2px solid #2ea2cc}.theme-overlay .screenshot.selected img{opacity:.8}.theme-browser .theme .theme-screenshot.blank,.theme-overlay .screenshot.blank{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=)}.theme-overlay .theme-info{width:40%;float:right}.theme-overlay .current-label{background:#333;color:#fff;font-size:11px;display:inline-block;padding:2px 8px;-webkit-border-radius:2px;border-radius:2px;margin:0 0 -10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.theme-overlay .theme-name{color:#222;font-size:32px;font-weight:100;margin:10px 0 0;line-height:1.3}.theme-overlay .theme-version{color:#999;font-size:13px;font-weight:400;float:none;display:inline-block;margin-right:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.theme-overlay .theme-author{color:#686868;font-size:16px;font-weight:400;margin:15px 0 25px}.theme-overlay .theme-author a{text-decoration:none}.theme-overlay .theme-description{color:#555;font-size:15px;font-weight:400;line-height:1.5;margin:30px 0 0}.theme-overlay .theme-tags{border-top:3px solid #eee;color:#888;font-size:13px;font-weight:400;margin:30px 0 0;padding-top:20px}.theme-overlay .theme-tags span{color:#444;font-weight:700;margin-left:5px}.theme-overlay .theme-update-message{background:#fef7f1;border:1px solid #eee;border-right:4px solid #d54e21;-webkit-border-radius:3px;border-radius:3px;padding:5px 20px 10px}.theme-overlay .theme-update{color:#222;font-size:18px;display:inline-block;line-height:40px;margin:0}.theme-overlay .parent-theme{background:#f7fcfe;border:1px solid #eee;border-right:4px solid #2ea2cc;font-size:14px;font-weight:400;margin-top:30px;padding:10px 20px 10px 10px}.theme-overlay .parent-theme strong{font-weight:700}.single-theme .theme,.single-theme .theme-overlay .theme-backdrop,.single-theme .theme-overlay .theme-header{display:none}.single-theme .theme-overlay .theme-wrap{clear:both;min-height:330px;position:relative;right:auto;left:auto;top:auto;bottom:auto}.single-theme .theme-overlay .theme-about{padding:30px 30px 70px;position:static}.single-theme .theme-overlay .theme-actions{position:absolute}@media only screen and (min-width:2000px){#wpwrap .theme-browser .theme{width:17.6%;margin:0 0 3% 3%}#wpwrap .theme-browser .theme:nth-child(3n),#wpwrap .theme-browser .theme:nth-child(4n){margin-left:3%}#wpwrap .theme-browser .theme:nth-child(5n){margin-left:0}}@media only screen and (min-width:1680px){.theme-overlay .theme-wrap{width:1450px;margin:0 auto}}@media only screen and (min-width:1640px){.theme-browser .theme{width:22.7%;margin:0 0 3% 3%}.theme-browser .theme .theme-screenshot:after{padding-top:75%}.theme-browser .theme:nth-child(3n){margin-left:3%}.theme-browser .theme:nth-child(4n){margin-left:0}}@media only screen and (max-width:1120px){.theme-browser .theme{width:47.5%;margin-left:0}.theme-browser .theme:nth-child(even){margin-left:0}.theme-browser .theme:nth-child(odd){margin-left:5%}}@media only screen and (max-width:900px){.theme-overlay .theme-wrap{right:65px}}@media only screen and (max-width:780px){.theme-overlay .theme-wrap,body.folded .theme-overlay .theme-wrap{top:0;left:0;bottom:0;right:0;padding:70px 20px 20px;border:none;z-index:500;position:fixed}.theme-browser .theme.active .theme-name span{display:none}.theme-overlay .theme-screenshots{width:40%}.theme-overlay .theme-info{width:50%}.single-theme .theme-wrap{padding:10px}.theme-browser .theme .theme-actions{padding:5px 10px 4px}.theme-overlay.small-screenshot .theme-screenshots{position:static;float:none;max-width:302px}.theme-overlay.small-screenshot .theme-info{margin-right:0;width:auto}.theme:focus .more-details,.theme:hover .more-details,.theme:not(.active):focus .theme-actions,.theme:not(.active):hover .theme-actions{display:none}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:1}}@media only screen and (max-width:480px){.theme-browser .theme{width:100%;margin-left:0}.theme-browser .theme:nth-child(2n),.theme-browser .theme:nth-child(3n){margin-left:0}}@media only screen and (max-width:650px){.theme-overlay .theme-description,.theme-overlay .theme-update{margin-right:0}.theme-overlay .theme-actions .delete-theme{position:relative;left:auto;bottom:auto}.theme-overlay .theme-actions .inactive-theme{display:inline}.theme-overlay .theme-screenshots{width:100%;float:none}.theme-overlay .theme-info{width:100%}.theme-overlay .theme-author{margin:5px 0 15px}.theme-overlay .current-label{margin-top:10px;font-size:13px}.themes-php .wrap h2{width:100%}.themes-php .wp-filter-search{float:none;clear:both;right:0;top:0;left:0;margin:10px 0;width:100%}.theme-browser .theme.add-new-theme span:after{font:400 60px/90px dashicons;width:80px;height:80px;top:30%;right:50%;text-indent:0;margin-right:-40px}.single-theme .theme-wrap{margin:0 -10px 0 -12px;padding:10px}.single-theme .theme-overlay .theme-about{padding:10px;overflow:visible}.single-theme .current-label{display:none}.single-theme .theme-overlay .theme-actions{position:static}}.broken-themes{clear:both}.broken-themes table{text-align:right;width:50%;border-spacing:3px;padding:3px}.theme-browser .theme .theme-installed{background:#0074a2}.theme-browser .theme .theme-installed:before{content:'\f147'}.theme-browser .theme.is-installed .theme-actions .button-primary{display:none!important}.theme-install-php a.browse-themes,.theme-install-php a.upload{cursor:pointer}.theme-install-php a.browse-themes,.theme-install-php.show-upload-theme a.upload{display:none}.theme-install-php.show-upload-theme a.browse-themes{display:inline}.upload-plugin,.upload-theme{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:none;margin:0;padding:0;width:100%;overflow:hidden;position:relative;top:10px}.upload-plugin,body.show-upload-theme .upload-theme{display:block}.upload-plugin .wp-upload-form,.upload-theme .wp-upload-form{background:#fafafa;border:1px solid #e5e5e5;padding:30px;margin:30px auto;max-width:380px}.upload-plugin .install-help,.upload-theme .install-help{color:#999;font-size:18px;font-style:normal;margin:0;padding:40px 0 0;text-align:center}body.show-upload-theme .upload-theme+.wp-filter,body.show-upload-theme .upload-theme+.wp-filter+.theme-browser{display:none}p.no-themes{color:#999;font-size:18px;font-style:normal;margin:0;padding:0;text-align:center;display:none}body.no-results p.no-themes{display:block}.theme-install-php .add-new-theme,body.show-upload-theme p.no-themes{display:none!important}@media only screen and (max-width:1120px){.upload-theme .wp-upload-form{margin:20px 0;max-width:100%}.upload-theme .install-help{font-size:15px;padding:20px 0 0;text-align:right}}.rating{margin:30px 0}.rating span:before{color:#e6b800;content:"\f154";display:inline-block;-webkit-font-smoothing:antialiased;font:400 20px/1 dashicons;vertical-align:top}.rating-10 span.one:before,.rating-30 span.two:before,.rating-50 span.three:before,.rating-70 span.four:before,.rating-90 span.five:before{content:"\f459"}.rating-100 span.five:before,.rating-100 span.four:before,.rating-100 span.one:before,.rating-100 span.three:before,.rating-100 span.two:before,.rating-20 span.one:before,.rating-30 span.one:before,.rating-40 span.one:before,.rating-40 span.two:before,.rating-50 span.one:before,.rating-50 span.two:before,.rating-60 span.one:before,.rating-60 span.three:before,.rating-60 span.two:before,.rating-70 span.one:before,.rating-70 span.three:before,.rating-70 span.two:before,.rating-80 span.four:before,.rating-80 span.one:before,.rating-80 span.three:before,.rating-80 span.two:before,.rating-90 span.four:before,.rating-90 span.one:before,.rating-90 span.three:before,.rating-90 span.two:before{content:"\f155"}.rating .ratings{display:inline;margin-right:10px;line-height:20px;color:#999}.appearance_page_custom-header #headimg{border:1px solid #DFDFDF;overflow:hidden;width:100%}.appearance_page_custom-header #upload-form p label{font-size:12px}.appearance_page_custom-header .available-headers .default-header{float:right;margin:0 0 20px 20px}.appearance_page_custom-header .random-header{clear:both;margin:0 0 20px 20px;vertical-align:middle}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-left:10px}.appearance_page_custom-header .available-headers label img{vertical-align:middle}div#custom-background-image{min-height:100px;border:1px solid #dfdfdf}div#custom-background-image img{max-width:400px;max-height:300px}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:0 0;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;right:0;left:0;height:100%;min-width:0}.wp-full-overlay-sidebar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:fixed;width:300px;height:100%;top:0;bottom:0;right:0;padding:0;margin:0;z-index:10;overflow:auto;background:#eee;border-left:none}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{overflow:visible}.wp-full-overlay.collapsed,.wp-full-overlay.expanded .wp-full-overlay-sidebar{margin-right:0!important}.wp-full-overlay.expanded{margin-right:300px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{margin-right:-300px}.wp-full-overlay-sidebar:after{content:'';display:block;position:absolute;top:0;bottom:0;left:0;width:3px;z-index:1000}.wp-full-overlay-main{position:absolute;right:0;left:0;top:0;bottom:0;height:100%}.wp-full-overlay-sidebar .wp-full-overlay-header{position:absolute;right:0;left:0;height:45px;padding:0 15px;line-height:45px;z-index:10;margin:0;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-header a.back{margin-top:9px}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:none;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;right:0;left:0;overflow:auto}.theme-install-overlay .wp-full-overlay-sidebar .wp-full-overlay-header{padding:0}.theme-install-overlay .close-full-overlay,.theme-install-overlay .next-theme,.theme-install-overlay .previous-theme{display:block;position:relative;float:right;width:45px;height:45px;padding-left:2px;background:#eee;border-left:1px solid #ddd;color:#444;cursor:pointer;text-decoration:none;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-install-overlay .close-full-overlay:focus,.theme-install-overlay .close-full-overlay:hover,.theme-install-overlay .next-theme:focus,.theme-install-overlay .next-theme:hover,.theme-install-overlay .previous-theme:focus,.theme-install-overlay .previous-theme:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.theme-install-overlay .close-full-overlay:before{font:400 22px/1 dashicons;content:"\f335";position:relative;top:7px;right:13px}.theme-install-overlay .previous-theme:before{font:400 20px/1 dashicons;content:"\f341";position:relative;top:6px;right:14px}.theme-install-overlay .next-theme:before{font:400 20px/1 dashicons;content:"\f345";position:relative;top:6px;right:13px}.theme-install-overlay .next-theme.disabled,.theme-install-overlay .next-theme.disabled:focus,.theme-install-overlay .next-theme.disabled:hover,.theme-install-overlay .previous-theme.disabled,.theme-install-overlay .previous-theme.disabled:focus,.theme-install-overlay .previous-theme.disabled:hover{color:#bbb;background:#eee;cursor:default;pointer-events:none}.rtl .theme-install-overlay .previous-theme:before{content:"\f345"}.rtl .theme-install-overlay .next-theme:before{content:"\f341"}.wp-full-overlay a.collapse-sidebar{position:absolute;bottom:12px;right:0;z-index:50;display:block;width:19px;height:19px;margin-right:15px;padding:0;-webkit-border-radius:50%;border-radius:50%;color:#777;text-decoration:none}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay.collapsed .collapse-sidebar{position:absolute;right:100%}.wp-full-overlay .collapse-sidebar-arrow{position:static;margin-top:0;margin-right:0;display:block;width:auto;height:auto;background:0 0}.wp-full-overlay .collapse-sidebar-arrow:before{-webkit-border-radius:50%;border-radius:50%;float:right;content:"\f148";background:#eee;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.rtl .wp-full-overlay .collapse-sidebar-arrow:before,.wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:none;-ms-transform:none;transform:none}.wp-full-overlay.collapsed .collapse-sidebar-arrow{background-position:-1px -109px}.wp-full-overlay .collapse-sidebar-label{position:absolute;right:100%;line-height:20px;margin-right:10px}.wp-full-overlay.collapsed .collapse-sidebar-label{display:none}.wp-full-overlay,.wp-full-overlay .collapse-sidebar,.wp-full-overlay-main,.wp-full-overlay-sidebar{-webkit-transition-property:right,left,top,bottom,width,margin;transition-property:right,left,top,bottom,width,margin;-webkit-transition-duration:.2s;transition-duration:.2s}.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#customize-container{display:none;background:#fff;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;right:0;left:0;height:100%}.customize-active #customize-container{display:block}.customize-loading #customize-container iframe{opacity:0}.customize-loading #customize-container{background:#fff url(../images/spinner.gif) no-repeat fixed center center;-webkit-background-size:20px 20px;background-size:20px 20px}#customize-container iframe,.theme-install-overlay iframe{height:100%;width:100%;z-index:20;-webkit-transition:opacity .3s;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#customize-controls{margin-top:0}.theme-install-overlay{display:none}.theme-install-overlay.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 60px}.single-theme .install-theme-info{padding-top:15px}.theme-install-overlay .install-theme-info{display:block}.install-theme-info .theme-install{float:left;margin-top:18px}.install-theme-info .theme-name{font-size:16px;line-height:24px;margin-bottom:0;margin-top:0}.install-theme-info .theme-screenshot{margin-top:15px;width:258px;border:1px solid #ccc}.install-theme-info .theme-details{overflow:hidden}.theme-details .theme-version{margin:15px 0;float:right}.theme-details .star-rating{margin:7px 0;float:left}.theme-details .theme-description{float:right;color:#777;line-height:20px;max-width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{float:left;margin:8px 0 0 10px;line-height:26px}.theme-install-overlay .wp-full-overlay-sidebar{background:#eee;border-left:1px solid #ddd}.theme-install-overlay .wp-full-overlay-sidebar-content{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.theme-install-overlay .wp-full-overlay-main{background:#fff url(../images/spinner.gif) no-repeat center center;-webkit-background-size:20px 20px;background-size:20px 20px}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-full-overlay .collapse-sidebar-arrow{background-image:url(../images/arrows-2x.png);-webkit-background-size:15px 123px;background-size:15px 123px}.customize-loading #customize-container,.theme-install-overlay .wp-full-overlay-main{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){.available-theme .action-links .delete-theme{float:none;margin:0;padding:0;clear:both}.available-theme .action-links .delete-theme a{padding:0}}.press-this #message{border-right:4px solid #7ad03a;padding:1px 12px;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.press-this #side-sortables .category-tabs li{display:inline;line-height:1.35em}body.press-this ul.category-tabs li.tabs a{color:#333}.press-this #content-resize-handle{bottom:2px}body.press-this{color:#333;margin:0;padding:0;min-width:708px;min-height:400px}.press-this #titlediv #title{font-size:1.4em}.press-this #site-heading:before{top:3px;position:relative;display:inline-block;font:400 18px/1 dashicons;speak:none;color:#727272;content:'\f120';-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.press-this #wphead{height:32px;margin-right:0;margin-left:0;margin-bottom:5px}.press-this #header-logo{float:right;margin:7px 7px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.press-this #wphead h1{font-weight:400;font-size:16px;line-height:32px;margin:0;float:right}.press-this #wphead h1 a{text-decoration:none}.press-this #wphead h1 a:hover{text-decoration:underline}.press-this #message{margin:10px 0}.press-this .posting{margin-left:250px}.press-this-sidebar{float:left;width:240px;padding-top:10px}.press-this #title{margin-right:0;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.press-this .tagchecklist{margin-top:8px}.press-this #titlediv{margin:0}.press-this #wp-content-wrap #wp-content-editor-tools{padding:0;top:3px;overflow:hidden}.press-this .wp-media-buttons{cursor:default;padding:8px 8px 6px}.press-this #wp-content-wrap #wp-content-media-buttons a{padding:0;line-height:normal;height:auto;font-size:16px}.press-this #wp-content-wrap .mce-toolbar .mce-btn-group .mce-btn{margin:0 1px}.press-this #wp-content-wrap .mce-toolbar .mce-btn button{padding:2px 3px}.press-this #wp-content-wrap .quicktags-toolbar,.press-this #wp-content-wrap div.mce-toolbar-grp{padding-left:3px}.press-this .howto{margin-top:2px;margin-bottom:3px;font-size:12px;font-style:italic;display:block}.press-this #wp-content-editor-container{clear:none}.press-this #poststuff .inside{margin-top:18px}.press-this .category-tabs{margin-bottom:3px}.press-this #poststuff{margin:0 8px;padding:0}.press-this #photo-add-url-div input[type=text]{width:220px}#poststuff #editor-toolbar{height:30px}.posting{margin-left:212px;position:relative}.press-this .inner-sidebar{width:200px}.press-this .inner-sidebar .sleeve{padding-top:5px}.press-this #submitdiv p{margin:0;padding:6px}.press-this #submitdiv #publishing-actions{border-bottom:1px solid #dfdfdf}.press-this #publish{float:left}.press-this #poststuff h2,.press-this #poststuff h3{font-size:14px;line-height:1}.press-this #categorydiv h3,.press-this #tagsdiv-post_tag h3{cursor:pointer}.press-this #submitdiv h3{cursor:default}h3.tb{font-weight:600;font-size:12px;margin-right:5px}.press-this .postbox,.press-this .stuffbox{margin-bottom:10px;min-width:0}.press-this #submitdiv:hover .handlediv{background:0 0}.tbtitle{font-size:1.7em;outline:0;padding:3px 4px;border:1px solid #dfdfdf}.press-this .actions{float:left;margin:-19px 0 0}.press-this #extra-fields .actions{margin:-32px 0 0 -7px}.press-this .actions li{float:right;list-style:none;margin-left:10px}#extra-fields .button{margin-left:5px}#photo_saving{margin:0 8px 8px;vertical-align:middle}#img_container_container{overflow:auto}#extra-fields{margin-top:10px;position:relative}#extra-fields h2{margin:12px}#waiting{margin-top:10px;overflow:hidden}#waiting span{float:left;margin:0 5px 0 0}#waiting .spinner{display:block}#extra-fields .postbox{margin-bottom:5px}#extra-fields .titlewrap{padding:0;overflow:auto;height:120px}#img_container a{float:right;overflow:hidden}#img_container a,#img_container img{width:68px;height:68px}#img_container img{border:none;background-color:#f4f4f4;cursor:pointer}#img_container a,#img_container a:link,#img_container a:visited{border:1px solid #ccc;display:block;position:relative}#img_container a:active,#img_container a:hover{border-color:#000;z-index:1000;border-width:1px}#embed-code{width:100%;height:98px}.press-this .categorydiv div.tabs-panel{height:100px}.press-this .tagsdiv .newtag{width:120px}.press-this #content{margin:5px 0;padding:0 5px;border:0;height:340px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:19px;background:0 0}.press-this #publishing-actions .spinner{display:inline;vertical-align:middle}@media screen and (max-width:782px){.press-this ul.category-tabs li.tabs{padding:3px 5px 5px}.press-this a.wp-switch-editor{font:13px/19px "Open Sans",sans-serif;margin:5px 5px 0 0;padding:3px 8px 4px}.press-this #wp-content-media-buttons a{padding:0;line-height:normal;height:auto}.press-this #wp-content-editor-tools{padding:0;top:3px}.press-this .category-tabs{margin-top:0}.press-this .tagsdiv .newtag{width:120px;padding:3px 5px;margin-bottom:0}.press-this .tagchecklist{padding:0;margin-bottom:0}.press-this .wp_themeSkin a.mceButton{width:20px;height:20px}.press-this .wp_themeSkin .mceButton .mceIcon{margin:0}.press-this #poststuff h3,.press-this .metabox-holder h3{padding:7px 12px}.press-this input[type=checkbox],.press-this input[type=radio]{height:16px;width:16px}.press-this input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px -4px 0 0}.press-this input[type=radio]:checked:before{font:400 21px/1 dashicons;width:6px;height:6px;margin:4px}.press-this ul.categorychecklist li,.press-this ul.categorychecklist ul{margin-top:0;margin-bottom:0}.press-this div.quicktags-toolbar input{padding:2px 4px}.press-this input,.press-this textarea{font-size:14px}.press-this .tagchecklist span{font-size:13px;line-height:1.8em}}.about-wrap{position:relative;margin:25px 20px 0 40px;max-width:1050px;font-size:15px}.about-wrap div.error,.about-wrap div.updated{display:none!important}.about-wrap hr{border:0;height:0;margin:0;border-top:1px solid rgba(0,0,0,.1)}.about-wrap img{margin:0;max-width:100%;height:auto;vertical-align:middle}.about-wrap p{line-height:1.6em;font-size:14px}.about-wrap h1{margin:.2em 0 0 200px;color:#333;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap h4{color:#222}.about-wrap .about-text,.about-wrap li.wp-person a.web,.about-wrap p.about-description{font-weight:400;line-height:1.6em;font-size:19px}.about-description{margin-top:1.4em}.about-text{margin:1em 0 1em 200px;min-height:60px;color:#777;font-size:24px}.about-wrap .changelog h2.about-headline-callout{margin:1.1em 0 .2em;font-size:2.4em;font-weight:300;line-height:1.3;text-align:center}.about-wrap h3{margin:1em 0 .6em;font-size:1.5em;line-height:1.5em}.about-wrap h3.higher{margin-top:.5em}.customize h3{margin-top:1.75em;text-align:center}.about-wrap .feature-section h4{margin:1.4em 0 .6em;font-size:1.2em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap code,.about-wrap ol li p{font-size:14px}.about-wrap .button.button-large{padding:8px 20px 10px!important;height:46px!important;font-size:14px;line-height:28px!important}.about-wrap .about-overview-img{margin:0}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #dfdfdf}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.wp-badge{background:#0074a2 url(../images/w-logo-white.png?ver=20131202) no-repeat center 24px;background:#0074a2 center 24px,url(../images/wordpress-logo-white.svg?ver=20131110) no-repeat center 24px;-webkit-background-size:85px 85px;background-size:85px 85px;color:#78c8e6;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:150px;text-rendering:optimizeLegibility;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap .wp-badge{position:absolute;top:0;left:0}.about-wrap h2.nav-tab-wrapper{padding-right:6px}.about-wrap h2 .nav-tab{padding:4px 15px 6px;margin:0 0 -1px 3px;font-size:18px;vertical-align:top;border-width:1px}.about-overview{margin-top:40px;margin-bottom:40px;text-align:center}.about-overview p{margin:1em auto 50px;max-width:770px;font-size:18px;line-height:1.5;text-align:center}.about-wrap .feature-section{margin-top:40px;padding-bottom:20px}.about-wrap .feature-section.two-col>div{position:relative;width:47.6%;margin-left:4.799999999%;float:right}.about-wrap .feature-section.three-col>div{position:relative;width:29.95%;margin-left:4.999999999%;float:right}.about-wrap .feature-section.col .last-feature{margin-left:0}.about-wrap .under-the-hood .feature-section{margin-top:0}.about-wrap .changelog .feature-section{overflow:hidden}.about-wrap .feature-section.two-col div p{margin-left:3%}.about-wrap .feature-section div p img{float:left;margin-right:10px;max-width:20%}.about-video{position:relative;width:100%;height:0}.about-video-embed{padding-bottom:70.4%}.about-video-focus{padding-bottom:56.2%}.about-video .mejs-container,.about-video .wp-video,.about-video video{position:absolute;top:0;right:0;width:100%!important;height:100%!important}.about-wrap .changelog li{list-style-type:disc;margin-right:3em}.about-wrap .return-to-dashboard{margin:30px -5px 0 0;font-size:14px;font-weight:700}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap h4.wp-people-group{margin-top:2.6em;font-size:16px}.about-wrap ul.wp-people-group{overflow:hidden;padding:0 5px;margin:0 -5px 0 -15px}.about-wrap ul.compact{margin-bottom:0}.about-wrap li.wp-person{float:right;margin-left:10px}.about-wrap li.wp-person img.gravatar{float:right;margin:0 0 10px 10px;padding:2px;width:60px;height:60px}.about-wrap ul.compact li.wp-person img.gravatar{width:30px;height:30px}.about-wrap li.wp-person{height:70px;width:280px;padding-bottom:15px}.about-wrap ul.compact li.wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap li.wp-person a.web{display:block;margin:6px 0 2px;font-size:16px;text-decoration:none}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:700}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}@media screen and (max-width:782px){.about-wrap .feature-section.one-col>div,.about-wrap .feature-section.three-col>div,.about-wrap .feature-section.two-col>div{width:100%;margin:0 0 40px;padding:0 0 40px;float:none;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .feature-section.col>div.last-feature,.about-wrap .under-the-hood .feature-section>div{margin:0;padding:0;border-bottom:none}}@media screen and (max-width:710px){.about-overview{position:relative;padding-bottom:56.25%;width:100%;height:0}.about-overview embed{position:absolute;top:0;right:0;width:100%;height:100%}}@media only screen and (max-width:500px){.about-wrap{margin-left:20px;margin-right:10px}.about-text,.about-wrap h1{margin-left:0}.about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap h2.nav-tab-wrapper{padding-right:0;border-bottom:0}.about-wrap h2 .nav-tab{margin-top:10px;margin-left:10px;border-bottom:1px solid #ccc}.about-wrap .feature-section.three-col div{width:100%;float:none}.about-wrap .three-col.about-updates .col-1{padding:0;float:none}.about-wrap .three-col.about-updates .col-2{margin:0 0 20px;width:100%;float:none}}.no-js #message{display:block}ul.add-menu-item-tabs li{padding:3px 8px 3px 5px}.accordion-section ul.add-menu-item-tabs,.accordion-section ul.category-tabs,.accordion-section ul.wp-tab-bar{margin:0}.accordion-section .categorychecklist{margin:13px 0}#nav-menu-meta .accordion-section-content{padding:18px 13px}#nav-menu-meta .button-controls{margin-bottom:0}#nav-menus-frame{margin-right:300px;margin-top:23px}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-right:-300px;clear:both;float:right;padding-top:0}#menu-settings-column .inside{clear:both;margin:10px 0 0}.metabox-holder-disabled .accordion-section-content,.metabox-holder-disabled .accordion-section-title,.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50)}.metabox-holder-disabled .button-controls .select-all{display:none}#wpbody{position:relative}.blank-slate .menu-name{height:2em}.blank-slate .menu-settings{border:none;margin-top:0;padding-top:0;overflow:hidden}.is-submenu{color:#999;font-style:italic;font-weight:400;margin-right:4px}.manage-menus{margin-top:23px;padding:10px;overflow:hidden;background:#fbfbfb}.manage-menus select{float:right;margin-left:6px}.manage-menus .selected-menu{float:right;margin:5px 0 0 6px}.manage-menus .submit-btn{float:right;margin-top:1px}.menu-edit p{margin:.3em 0 .6em}.menu-edit #post-body-content h3{margin:1em 0 10px}.menu-settings{border-top:1px solid #eee;margin-top:2em}.menu-settings dl{margin:0 0 10px;overflow:hidden;padding-right:18%}.menu-settings dd{float:right;margin:0;width:100%}.menu-settings dt{float:right;clear:both;width:21.951%;padding:3px 0 0;margin-right:-21.951%}.menu-settings label{vertical-align:baseline}.menu-edit .checkbox-input{margin-top:4px}.theme-location-set{color:#999;font-size:11px}#menu-management-liquid{float:right;min-width:100%;margin-top:3px}#menu-management{position:relative;margin-left:20px;margin-top:-3px;width:100%;background:#f5f5f5}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:0 10px 10px;border-top:1px solid #fff;border-bottom:1px solid #dfdfdf;background:#fff}#nav-menu-footer,#nav-menu-header{padding:0 10px}#nav-menu-header{border-bottom:1px solid #dfdfdf;margin-bottom:0}#nav-menu-header .menu-name-label{margin-top:4px}.nav-menus-php #post-body div.error,.nav-menus-php #post-body div.updated{margin:0}.nav-menus-php #post-body-content{position:relative;float:none}#menu-management .menu-add-new abbr{font-weight:600}#select-nav-menu-container{text-align:left;padding:0 10px 3px;margin-bottom:5px}#select-nav-menu{width:100px;display:inline}#menu-name-label{margin-top:-2px}.widefat td.menu-location-menus{padding-bottom:5px}.menu-location-menus select{float:right}#locations-nav-menu-wrapper{padding:5px 0}.locations-nav-menu-select select{float:right;width:160px;margin-left:5px}.locations-row-links{float:right;margin:6px 6px 0 0}.locations-add-menu-link,.locations-edit-menu-link{margin:0 3px}.locations-edit-menu-link{padding-left:3px;border-left:1px solid #ccc}#wpbody .open-label{display:block;float:right}#wpbody .open-label span{padding-left:10px}.js .input-with-default-title{color:#aaa;font-style:italic}#menu-management .inside{padding:0 10px}.accordion-container .howto input,.postbox .howto input{width:180px;float:left}.accordion-container .outer-border{margin:0}.customlinkdiv .howto input{width:180px}.customlinkdiv p{margin-top:0}#nav-menu-theme-locations .howto select{width:100%}#nav-menu-theme-locations .button-controls{text-align:left}.add-menu-item-view-all{height:400px}#menu-container .submit{margin:0 0 10px;padding:0}.nav-menus-php .add-new-menu-action{float:right;margin:6px 6px 0 0;line-height:15px}.nav-menus-php .meta-sep,.nav-menus-php .submitcancel,.nav-menus-php .submitdelete{display:block;float:right;margin:6px 0;line-height:15px}.meta-sep{padding:0 2px}#cancel-save{text-decoration:underline;font-size:12px;margin-right:20px;margin-top:5px}.button-primary.right,.button-secondary.right,.button.right{float:left}.list-controls{float:right;margin-top:5px}.add-to-menu{float:left}.postbox .spinner{display:none;vertical-align:middle}.button-controls{clear:both;margin:10px 0}.hide-all,.show-all{cursor:pointer}.hide-all{display:none}#menu-name{width:270px}#manage-menu .inside{padding:0}#available-links dt{display:block}#add-custom-link .howto{font-size:12px}#add-custom-link label span{display:block;float:right;margin-top:5px;padding-left:5px}.menu-item-textbox{width:180px}.nav-menus-php .howto span{margin-top:6px;display:block;float:right}.quick-search{width:190px}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .postbox p.submit{margin-bottom:0}.nav-menus-php .list li{display:none;margin:0 0 5px}.nav-menus-php .list li .menu-item-title{cursor:pointer;display:block}.nav-menus-php .list li .menu-item-title input{margin-left:3px;margin-top:-3px}.menu-item-title input[type=checkbox]{display:inline-block;margin-top:-4px}#menu-container .inside{padding-bottom:10px}.menu{padding-top:1em}#menu-to-edit{margin:0;padding:.1em 0}.menu ul{width:100%}.menu li{margin-bottom:0;position:relative}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin:9px 0 0}.menu-item-bar .menu-item-handle{border:1px solid #dfdfdf;position:relative;padding:10px 15px;height:auto;width:382px;line-height:30px;overflow:hidden;word-wrap:break-word}.menu-item-bar .menu-item-handle:hover{border-color:#999}#menu-to-edit .menu-item-invalid .menu-item-handle{background:#f6c9cc;border-color:#f1acb1}.no-js .menu-item-edit-active .item-edit{display:none}.js .menu-item-handle{cursor:move}.menu li.deleting .menu-item-handle{background-image:none;background-color:#f66}.menu-item-handle .item-title{font-size:13px;font-weight:600;line-height:20px;display:block;margin-left:13em}.menu-item-handle .menu-item-title.no-title{color:#999}li.menu-item.ui-sortable-helper dl{margin-top:0}li.menu-item.ui-sortable-helper .menu-item-transport dl{margin-top:13px}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px}.menu-item-depth-0{margin-right:0}.menu-item-depth-1{margin-right:30px}.menu-item-depth-2{margin-right:60px}.menu-item-depth-3{margin-right:90px}.menu-item-depth-4{margin-right:120px}.menu-item-depth-5{margin-right:150px}.menu-item-depth-6{margin-right:180px}.menu-item-depth-7{margin-right:210px}.menu-item-depth-8{margin-right:240px}.menu-item-depth-9{margin-right:270px}.menu-item-depth-10{margin-right:300px}.menu-item-depth-11{margin-right:330px}.menu-item-depth-0 .menu-item-transport{margin-right:0}.menu-item-depth-1 .menu-item-transport{margin-right:-30px}.menu-item-depth-2 .menu-item-transport{margin-right:-60px}.menu-item-depth-3 .menu-item-transport{margin-right:-90px}.menu-item-depth-4 .menu-item-transport{margin-right:-120px}.menu-item-depth-5 .menu-item-transport{margin-right:-150px}.menu-item-depth-6 .menu-item-transport{margin-right:-180px}.menu-item-depth-7 .menu-item-transport{margin-right:-210px}.menu-item-depth-8 .menu-item-transport{margin-right:-240px}.menu-item-depth-9 .menu-item-transport{margin-right:-270px}.menu-item-depth-10 .menu-item-transport{margin-right:-300px}.menu-item-depth-11 .menu-item-transport{margin-right:-330px}body.menu-max-depth-0{min-width:950px!important}body.menu-max-depth-1{min-width:980px!important}body.menu-max-depth-2{min-width:1010px!important}body.menu-max-depth-3{min-width:1040px!important}body.menu-max-depth-4{min-width:1070px!important}body.menu-max-depth-5{min-width:1100px!important}body.menu-max-depth-6{min-width:1130px!important}body.menu-max-depth-7{min-width:1160px!important}body.menu-max-depth-8{min-width:1190px!important}body.menu-max-depth-9{min-width:1220px!important}body.menu-max-depth-10{min-width:1250px!important}body.menu-max-depth-11{min-width:1280px!important}.item-type{color:#777;font-size:12px;padding:12px 10px;line-height:18px;display:block}.item-controls{font-size:12px;position:absolute;left:20px;top:-1px}.item-controls a{text-decoration:none}.item-controls a:hover{cursor:pointer}.item-controls .item-order{padding-left:10px}.nav-menus-php .item-edit{position:absolute;left:-20px;top:0;display:block;width:30px;height:40px;margin-left:0!important;text-indent:100%;outline:0;overflow:hidden;white-space:nowrap}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:402px;padding:10px 10px 10px 0;position:relative;z-index:10;border:1px solid #e5e5e5;border-top:none;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.menu-item-settings .field-move a{display:none;margin:0 2px}.menu-item-edit-active .menu-item-settings{display:block}.menu-item-edit-inactive .menu-item-settings{display:none}.add-menu-item-pagelinks{margin:.5em auto;text-align:center}.link-to-original{display:block;margin:0 0 10px;padding:3px 5px 5px;border:1px solid #dfdfdf;color:#777;font-size:12px;font-style:italic}.link-to-original a{padding-right:4px;font-style:normal}.hidden-field{display:none}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-left:10px;float:right}.description-thin{width:190px;height:40px}.description-wide{width:390px}.menu-item-actions{padding-top:15px}#cancel-save{cursor:pointer}.nav-menus-php .major-publishing-actions{clear:both;padding:3px 0 6px}.nav-menus-php .major-publishing-actions .publishing-action{text-align:left;float:left;line-height:23px;margin:4px 0 1px}.nav-menus-php .blank-slate .menu-settings{display:none}.nav-menus-php .delete-action{float:right;margin-top:2px}.nav-menus-php .submitbox .submitcancel{border-bottom:1px solid #0074a2;padding:1px 2px;color:#0074a2;text-decoration:none}.nav-menus-php .submitbox .submitcancel:hover{background:#0074a2;color:#fff}.nav-menus-php .major-publishing-actions .form-invalid{padding-right:4px;margin-right:-4px}#menu-item-name-wrap:after,#menu-item-url-wrap:after,#menu-name-label:after,#menu-settings-column .inside:after,#nav-menus-frame:after,.nav-menus-php #post-body-content:after,.nav-menus-php .button-controls:after,.nav-menus-php .major-publishing-actions:after,.nav-menus-php .menu-item-settings:after{clear:both;content:".";display:block;height:0;visibility:hidden}#menu-item-name-wrap,#menu-item-url-wrap,#nav-menus-frame,.button-controls{display:block}@media screen and (max-width:782px){body.nav-menus-php{min-width:0!important}#nav-menus-frame{margin-right:0;float:none;width:100%}#wpbody-content #menu-settings-column{display:block;width:100%;float:none;margin-right:0}#side-sortables .add-menu-item-tabs{margin:15px 0 14px}ul.add-menu-item-tabs li.tabs{padding:13px 15px 14px}.nav-menus-php .item-controls .item-type{margin-top:2px}.nav-menus-php .customlinkdiv .howto input{width:65%}.nav-menus-php .quick-search{width:85%}#menu-management-liquid{margin-top:25px}.nav-menus-php .menu-name-label.howto span{margin-top:13px}.menu-name-label #menu-name{margin-top:4px}.nav-menus-php .major-publishing-actions .publishing-action{margin-top:6px}.nav-menus-php .delete-action{font-size:14px;line-height:50px;margin-top:12px}.description-wide,.menu-item-bar .menu-item-handle,.menu-item-settings{width:auto}.menu-item-settings{padding:10px}.menu-item-settings .description-thin,.menu-item-settings .description-wide{width:100%;height:auto}.menu-item-settings input{width:100%}.menu-settings dl{padding-right:0}.menu-settings dd{float:none;width:100%;margin-bottom:15px}.menu-settings dt{float:none;width:auto;margin-right:0;margin-bottom:15px}}@media only screen and (max-width:768px){#menu-locations-wrap .widefat{width:100%}}.widget{margin:0 auto 10px;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.widget-top{font-size:13px;font-weight:600;background:#f7f7f7}.widget-top a.widget-action,.widget-top a.widget-action:hover{-webkit-box-shadow:none;box-shadow:none;outline:0;text-decoration:none}.widget-title h4{margin:0;padding:15px;line-height:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.widgets-holder-wrap .widget-inside{border-top:none;padding:1px 15px 15px;line-height:16px}#available-widgets .widget-description,#widgets-right a.widget-control-edit,.in-widget-title{color:#666}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.widget.ui-draggable-dragging{min-width:100%}.widget.ui-sortable-helper{opacity:.8}.widget-placeholder{border:1px dashed #bbb;margin:0 auto 10px;height:45px;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#widgets-right .widget-placeholder{margin-top:0}#widgets-right .closed .widget-placeholder{height:0;border:0;margin-top:-10px}.sidebar-name{position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.sidebar-name-arrow{position:absolute;top:0;left:0;bottom:0}.js .sidebar-name{cursor:pointer}.sidebar-name h3{margin:0;padding:8px 10px;overflow:hidden;white-space:nowrap}.widgets-holder-wrap .description{padding:0 0 15px;margin:0;font-style:normal;color:#777}#widgets-right .widgets-holder-wrap .description{padding-right:7px;padding-left:7px}div.widget-liquid-left{margin:0;width:38%;float:right}div.widget-liquid-right{float:left;width:58%}div#widgets-left{padding-top:12px}div#widgets-left .closed .sidebar-name,div#widgets-left .inactive-sidebar.closed .sidebar-name{margin-bottom:10px}div#widgets-left .sidebar-name h3{padding:10px 0;margin:0 0 0 10px}div#widgets-left .sidebar-name .sidebar-name-arrow:before{left:0;top:4px;padding:4px 4px 4px 6px}#widgets-left #available-widgets,div#widgets-left .widget-holder{background:0 0;border:none}#widgets-left .widgets-holder-wrap{border:none;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-action{display:none}#available-widgets .widget{margin:0}#available-widgets .widget:nth-child(odd){clear:both}#available-widgets .widget .widget-description{display:block;padding:10px 15px;font-size:12px}#available-widgets #widget-list{position:relative}#widgets-left .inactive-sidebar{clear:both;width:100%;background:0 0;padding:0;margin:0 0 20px;border:none;-webkit-box-shadow:none;box-shadow:none}#widgets-left .inactive-sidebar.first{margin-top:40px}div#widgets-left .inactive-sidebar .widget.expanded{right:auto}.widget-title-action{float:left;position:relative}div#widgets-left .inactive-sidebar .widgets-sortables{min-height:42px;padding:0;background:0 0;margin:0;position:relative}div#widgets-right:after{content:".";display:block;height:0;clear:both;visibility:hidden}div#widgets-right .sidebars-column-1,div#widgets-right .sidebars-column-2{max-width:450px}div#widgets-right .widgets-holder-wrap{margin:10px 0 0}div#widgets-right .sidebar-description{min-height:20px;margin-top:-5px}div#widgets-right .sidebar-name h3{padding:15px 7px}div#widgets-right .sidebar-name .sidebar-name-arrow:before{left:0;top:4px}div#widgets-right .widget-top{padding:0}div#widgets-right .widgets-sortables{padding:0 8px;margin-bottom:9px;position:relative;min-height:123px}div#widgets-right .closed .widgets-sortables{min-height:0;margin-bottom:0}.sidebar-name .spinner{margin:-5px 5px;float:none}#widgets-right .widgets-holder-wrap.widget-hover{border-color:#777;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}.widgets_access #widgets-left .widget .widget-top{cursor:auto}.widgets_access #wpwrap .widget-control-edit,.widgets_access #wpwrap .widgets-holder-wrap.closed .sidebar-description,.widgets_access #wpwrap .widgets-holder-wrap.closed .widget{display:block}.widgets_access #widgets-left .widget .widget-top:hover,.widgets_access #widgets-right .widget .widget-top:hover{border-color:#ddd}#available-widgets .widget-control-edit .edit,#widgets-left .inactive-sidebar .widget-control-edit .add,#widgets-right .widget-control-edit .add{display:none}.widget-control-edit{display:block;color:#666;background:#EEE;padding:0 15px;line-height:43px;border-right:1px solid #DDD}#widgets-left .widget-control-edit:hover,#widgets-right .widget-control-edit:hover{color:#fff;background:#444;border-right:0;outline:#444 solid 1px}.widgets-holder-wrap .sidebar-description,.widgets-holder-wrap .sidebar-name{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.editwidget{margin:0 auto}.editwidget .widget-inside{display:block;padding:0 15px}.editwidget .widget-control-actions{margin-top:20px}.js .closed br.clear,.js .widgets-holder-wrap.closed .sidebar-description,.js .widgets-holder-wrap.closed .widget,.widget-description,.widget-inside{display:none}.widget-inside{background:#fff}#removing-widget{display:none;font-weight:400;padding-right:15px;font-size:12px;line-height:1;color:#000}.js #removing-widget{color:#2ea2cc}#access-off,.no-js .widget-holder .description,.widget-control-noform,.widgets_access #access-on,.widgets_access .sidebar-name-arrow,.widgets_access .widget-action,.widgets_access .widget-holder .description{display:none}.widgets_access #widget-list,.widgets_access .widget-holder{padding-top:10px}.widgets_access #access-off{display:inline}.widgets_access .sidebar-name,.widgets_access .widget .widget-top{cursor:default}.widget-liquid-left #widgets-left.chooser #available-widgets .widget,.widget-liquid-left #widgets-left.chooser .inactive-sidebar{-webkit-transition:opacity .1s linear;transition:opacity .1s linear;opacity:.2;pointer-events:none}.widget-liquid-left #widgets-left.chooser #available-widgets .widget-in-question{opacity:1;pointer-events:auto}#available-widgets .widget-top:hover,#widgets-left .widget-in-question .widget-top,#widgets-left .widget-top:hover,.widgets-chooser ul,div#widgets-right .widget-top:hover{border-color:#999;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}.widgets-chooser ul.widgets-chooser-sidebars{margin:0;list-style-type:none;max-height:300px;overflow:auto}.widgets-chooser{display:none}.widgets-chooser ul{border:1px solid #ccc}.widgets-chooser li{padding:10px 35px 10px 15px;border-bottom:1px solid #ccc;background:#fff;margin:0;cursor:pointer;outline:0;position:relative;-webkit-transition:background .2s ease-in-out;transition:background .2s ease-in-out}.widgets-chooser li:focus,.widgets-chooser li:hover{background:rgba(255,255,255,.7)}.widgets-chooser li:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#999;position:absolute;top:7px;right:5px}.widgets-chooser li:last-child{border:none}.widgets-chooser li.widgets-chooser-selected{background:#2ea2cc;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#fff;position:absolute;top:7px;right:5px}.widgets-chooser .widgets-chooser-actions{padding:10px 0 12px;text-align:center}.widgets-chooser button{margin-left:5px}#available-widgets .widget .widget-top{cursor:pointer}@media screen and (max-width:480px){div.widget-liquid-left{width:100%;float:none;border-left:none;padding-left:0}#widgets-left #available-widgets .widget-top,#widgets-left .inactive-sidebar .widgets-sortables,#widgets-left .sidebar-name{margin-left:0}div.widget-liquid-right{width:100%;float:none}div.widget{margin:0 auto 10px!important;max-width:480px}}@media screen and (max-width:320px){div.widget{max-width:320px}}@media only screen and (min-width:1250px){#widgets-left #available-widgets .widget{width:49%;float:right}.widget.ui-draggable-dragging{min-width:49%}#widgets-left #available-widgets .widget:nth-child(even){float:left}#widgets-right .sidebars-column-1,#widgets-right .sidebars-column-2{float:right;width:49%}#widgets-right .sidebars-column-1{margin-left:2%}#widgets-right.single-sidebar .sidebars-column-1,#widgets-right.single-sidebar .sidebars-column-2{float:none;width:100%;margin:0}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"楷体",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de .inline-edit-row fieldset label span.title{width:7em}.locale-de-de .inline-edit-row fieldset label span.input-text-wrap{margin-right:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-left:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}
\ No newline at end of file
diff --git a/wp-admin/css/wp-admin.min.css b/wp-admin/css/wp-admin.min.css
index 15ded2f92..694691b79 100644
--- a/wp-admin/css/wp-admin.min.css
+++ b/wp-admin/css/wp-admin.min.css
@@ -1 +1 @@
-#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%}#wpcontent,#wpfooter{margin-left:180px}.folded #wpcontent,.folded #wpfooter{margin-left:56px}#wpbody-content{padding-bottom:65px;float:left;width:100%;overflow:visible!important}.inner-sidebar{float:right;clear:right;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-right:auto;width:286px;display:block}.columns-2 .inner-sidebar #side-sortables,.inner-sidebar #side-sortables{min-height:300px;width:280px;padding:0}.has-right-sidebar .inner-sidebar{display:block}.has-right-sidebar #post-body{float:left;clear:left;width:100%;margin-right:-2000px}.has-right-sidebar #post-body-content{margin-right:300px;float:none;width:auto}#col-container,#col-left,#col-right{overflow:hidden;padding:0;margin:0}#col-left{width:35%}#col-right{float:right;clear:right;width:65%}.col-wrap{padding:0 7px}.alignleft{float:left}.alignright{float:right}.textleft{text-align:left}.textright{text-align:right}.clear{clear:both}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.screen-reader-shortcut{position:absolute;top:-1000em}.screen-reader-shortcut:focus{left:6px;top:-25px;height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:0}.hidden,.js .closed .inside,.js .hide-if-js,.js .wp-core-ui .hide-if-js,.js.wp-core-ui .hide-if-js,.no-js .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js,.no-js.wp-core-ui .hide-if-no-js{display:none}#menu-management .menu-edit,#menu-settings-column .accordion-container,.feature-filter,.imgedit-group,.manage-menus,.menu-item-handle,.popular-tags,.stuffbox,.widget-inside,.widget-top,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.feature-filter,.imgedit-group,.popular-tags,.stuffbox,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{background:#fff}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em;min-width:600px}body.iframe{min-width:0;padding-top:1px}iframe,img{border:0}td{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}a{color:#0074a2;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}a,div{outline:0}a:active,a:hover{color:#2ea2cc}a:focus{color:#124964}a:active,a:focus{outline:thin dotted}#adminmenu a:active,#adminmenu a:focus,.screen-reader-text:focus{outline:0}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}p{font-size:13px;line-height:1.5;margin:1em 0}blockquote{margin:1em}dd,li{margin-bottom:6px}h1,h2,h3,h4,h5,h6{display:block;font-weight:600}h1{font-size:2em;margin:.67em 0}h2{color:#222;font-size:1.5em;margin:.83em 0;font-weight:400}h3{color:#222;font-size:1.3em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}ol,ul{padding:0}ul{list-style:none}ol{list-style-type:decimal;margin-left:2em}ul.ul-disc{list-style:disc outside}ul.ul-square{list-style:square outside}ol.ol-decimal{list-style:decimal outside}ol.ol-decimal,ul.ul-disc,ul.ul-square{margin-left:1.8em}ol.ol-decimal>li,ul.ul-disc>li,ul.ul-square>li{margin:0 0 .5em}.ltr{direction:ltr}.code,code{font-family:Consolas,Monaco,monospace;direction:ltr}code,kbd{padding:3px 5px 2px;margin:0 1px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:13px}.subsubsub{list-style:none;margin:8px 0 0;padding:0;font-size:13px;float:left;color:#666}.subsubsub a{line-height:2;padding:.2em;text-decoration:none}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:400}.subsubsub a.current{font-weight:600;border:0}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat *{word-wrap:break-word}.widefat a{text-decoration:none}.widefat td,.widefat th{padding:8px 10px}.widefat thead th{border-bottom:1px solid #e1e1e1}.widefat tfoot th{border-top:1px solid #e1e1e1;border-bottom:0}.widefat .no-items td{border-bottom-width:0}.widefat td{vertical-align:top}.widefat td,.widefat td ol,.widefat td p,.widefat td ul{font-size:13px;line-height:1.5em}.widefat th{text-align:left;line-height:1.3em;font-size:14px}.widefat th input{margin:0 0 0 8px;padding:0;vertical-align:text-top}.widefat .check-column{width:2.2em;padding:6px 0 25px;vertical-align:top}.widefat th input[type=checkbox]{margin-top:-1px}.widefat.media .check-column{padding-top:8px}.widefat tbody th.check-column,.widefat tfoot th.check-column,.widefat thead th.check-column{padding:11px 0 0 3px}.widefat thead th.check-column{padding-top:10px}.update-php div.error,.update-php div.updated{margin-left:0}.no-js .widefat tfoot .check-column input,.no-js .widefat thead .check-column input{display:none}.column-comments,.column-links,.column-posts,.widefat .num{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:10px 20px 0 2px}div.error,div.updated{margin:5px 15px 2px}div.error p,div.updated p{margin:.5em 0;padding:2px}.media-upload-form div.error,.wrap div.error,.wrap div.updated{margin:5px 0 15px}div.updated{border-left:4px solid #7ad03a;padding:1px 12px;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}div.error{border-left:4px solid #dd3d36;background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);padding:1px 12px}.attention{color:#2ea2cc}.subtitle,.wrap h2{font-weight:400;margin:0}.wrap h2{font-size:23px;font-weight:400;padding:9px 15px 4px 0;line-height:29px}.subtitle{color:#777;font-size:14px;padding-left:25px}.wrap .add-new-h2,.wrap .add-new-h2:active{margin-left:4px;padding:4px 8px;position:relative;top:-3px;text-decoration:none;border:0;-webkit-border-radius:2px;border-radius:2px;background:#e0e0e0;text-shadow:none;font-weight:600;font-size:13px}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.wrap h2.long-header{padding-right:0}.wp-dialog{background-color:#fff}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}.alt,.alternate{background-color:#f9f9f9}.bar{background-color:#e8e8e8;border-right-color:#99d}.media-upload-form label.form-help,td.help{color:#9a9a9a}.highlight{background-color:#e4f2fd;color:#000}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.wp-ui-highlight{color:#fff;background-color:#1e8cbe}.wp-ui-text-highlight{color:#1e8cbe}.wp-ui-notification{color:#fff;background-color:#d54e21}.wp-ui-text-notification{color:#d54e21}.wp-ui-text-icon{color:#999}#nav-menu-footer,#nav-menu-header,#your-profile #rich_editing,.checkbox,.control-section .accordion-section-title,.menu-item-handle,.postbox h3,.side-info,.sidebar-name,.stuffbox h3,.widefat tfoot th,.widefat thead th,.widget .widget-top,h3.dashboard-widget-title,h3.dashboard-widget-title small,h3.dashboard-widget-title span{line-height:1.4em}.menu-item-handle,.widget .widget-top{background:#fafafa;color:#222}#namediv h3,#submitdiv h3,.postbox h3{border-bottom:1px solid #eee}.quicktags,.search{background-color:#ccc;color:#000;font-size:12px}.icon32{display:none}#bulk-titles div a:before,#welcome-panel.welcome-panel .welcome-panel-close::before,.tagchecklist span a:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:400 16px/1 dashicons;speak:none;height:20px;margin:2px 0;text-align:center;width:20px;-webkit-font-smoothing:antialiased!important}#bulk-titles div a:hover:before,#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before{color:#c00}.key-labels label{line-height:24px}b,strong{font-weight:600}.pre{white-space:pre-wrap;word-wrap:break-word}.howto{color:#666;font-style:italic;display:block}p.install-help{margin:8px 0;font-style:italic}.no-break{white-space:nowrap}hr{border:0;border-top:1px solid #ddd;border-bottom:1px solid #fafafa}#all-plugins-table .plugins a.delete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete,#search-plugins-table .plugins a.delete,.plugins a.delete,.row-actions span.delete a,.row-actions span.spam a,.row-actions span.trash a,.submitbox .submitdelete{color:#a00}#all-plugins-table .plugins a.delete:hover,#media-items a.delete-permanently:hover,#media-items a.delete:hover,#nav-menu-footer .menu-delete:hover,#search-plugins-table .plugins a.delete:hover,.file-error,.plugins a.delete:hover,.row-actions .delete a:hover,.row-actions .spam a:hover,.row-actions .trash a:hover,.submitbox .submitdelete:hover,.widget-control-remove:hover,abbr.required{color:red;text-decoration:none;border:0}#major-publishing-actions{padding:10px;clear:both;border-top:1px solid #ddd;background:#f5f5f5}#delete-action{line-height:28px;vertical-align:middle;text-align:left;float:left}#publishing-action{text-align:right;float:right;line-height:23px}#publishing-action .spinner{float:left}#misc-publishing-actions{padding:6px 0 0}.misc-pub-section{padding:6px 10px 8px}#minor-publishing-actions{padding:10px 10px 0;text-align:right}#save-post{float:left}.preview{float:right}#sticky-span{margin-left:18px}.side-info{margin:0;padding:4px;font-size:11px}.side-info h5{padding-bottom:7px;font-size:14px;margin:12px 2px 5px;border-bottom:1px solid #dadada}.side-info ul{margin:0;padding-left:18px;list-style:square;color:#666}.approve,.unapproved .unapprove{display:none}.spam .approve,.trash .approve,.unapproved .approve{display:inline}td.action-links,th.action-links{text-align:right}#update-nag,.update-nag{display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:left;margin:25px 20px 0 2px;background-color:#fff;border-left:4px solid #ffba00;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.update-message{color:#000}.update-php .spinner{float:none;margin:-4px 0}#ajax-loading,.ajax-feedback,.ajax-loading,.imgedit-wait-spin,.list-ajax-loading{visibility:hidden}#ajax-response.alignleft{margin-left:2em}#adminmenu a,#catlist a,#sidemenu a,#taglist a{text-decoration:none}#contextual-help-wrap,#screen-options-wrap{margin:0;padding:8px 20px 12px;position:relative}#contextual-help-wrap{overflow:auto;margin-left:0!important}#screen-meta .screen-reader-text{visibility:hidden}#screen-meta-links{margin:0 20px 0 0}#screen-meta-links a{padding:3px 6px 3px 16px}#screen-meta-links a:focus{outline:0}#screen-meta{display:none;margin:0 20px -1px 0;position:relative;background-color:#fff;border:1px solid #ddd;border-top:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-link-wrap,#screen-options-link-wrap{float:right;height:28px;margin:0 0 0 6px;border:1px solid #ddd;border-top:0;background:#fff;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#screen-meta-links .screen-meta-toggle{position:relative;top:0}#screen-meta-links a{color:#777}#screen-meta-links a:active,#screen-meta-links a:focus,#screen-meta-links a:hover{color:#333}#screen-meta-links a:focus{border-color:#aaa;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#screen-meta-links a.show-settings{display:block;font-size:13px;height:22px;line-height:22px;text-decoration:none;z-index:1}#screen-meta-links a:after{right:0;content:'\f140';font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 5px 0 0;bottom:2px;position:relative;vertical-align:bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#bbb}#screen-meta-links a.screen-meta-active:after{content:'\f142'}#screen-meta-links a.show-settings:hover{text-decoration:none}.toggle-arrow{background-repeat:no-repeat;background-position:top left;background-color:transparent;height:22px;line-height:22px;display:block}.toggle-arrow-active{background-position:bottom left}#contextual-help-wrap h5,#screen-options-wrap h5{margin:8px 0;font-size:13px}.metabox-prefs label{display:inline-block;padding-right:15px;line-height:30px}.metabox-prefs label input[type=checkbox]{margin-top:-4px;margin-right:6px}.metabox-prefs label input{margin:0 5px 0 2px}.metabox-prefs .columns-prefs label input{margin:0 2px}.metabox-prefs label a{display:none}#contextual-help-wrap{padding:0}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;left:150px;right:170px;border:1px solid #e1e1e1;border-top:0;border-bottom:0;background:#f6fbfd}#contextual-help-wrap.no-sidebar #contextual-help-back{right:0;border-right-width:0;-webkit-border-bottom-right-radius:2px;border-bottom-right-radius:2px}.contextual-help-tabs{float:left;width:150px;margin:0}.contextual-help-tabs ul{margin:1em 0}.contextual-help-tabs li{margin-bottom:0;list-style-type:none;border-style:solid;border-width:0 0 0 2px;border-color:transparent}.contextual-help-tabs a{display:block;padding:5px 5px 5px 12px;line-height:18px;text-decoration:none;border:1px solid transparent;border-right:0;border-left:0}.contextual-help-tabs a:hover{color:#333}.contextual-help-tabs .active{padding:0;margin:0 -1px 0 0;border-left:2px solid #2ea2cc;background:#f6fbfd;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02);box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02)}.contextual-help-tabs .active a{border-color:#e1e1e1;color:#333}.contextual-help-tabs-wrap{padding:0 20px;overflow:auto}.help-tab-content{display:none;margin:0 22px 12px 0;line-height:1.6em}.help-tab-content.active{display:block}.help-tab-content ul li{list-style-type:disc;margin-left:18px}.contextual-help-sidebar{width:150px;float:right;padding:0 8px 0 12px;overflow:auto}html.wp-toolbar{padding-top:32px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.narrow{width:70%;margin-bottom:40px}.narrow p{line-height:150%}.widefat td,.widefat th{overflow:hidden;color:#555}.widefat th{font-weight:400}.widefat tfoot tr th,.widefat thead tr th{color:#333}.widefat td p{margin:2px 0 .8em}.widefat ol,.widefat p,.widefat ul{color:#333}.widefat .column-comment p{margin:.6em 0}.postbox-container{float:left}.postbox-container .meta-box-sortables{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody-content .metabox-holder{padding-top:10px}.metabox-holder .postbox-container .empty-container{border:3px dashed #bbb;height:250px}.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container,.metabox-holder.columns-1 .postbox-container .empty-container{border:0 none;height:0;min-height:0}#post-body-content{width:100%;min-width:463px;float:left}#post-body.columns-2 #postbox-container-1{float:right;margin-right:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}@media only screen and (max-width:799px){#wpbody-content .metabox-holder .postbox-container .empty-container{border:0 none;height:0;min-height:0}}.js .postbox .hndle{cursor:move}.hndle a{font-size:11px;font-weight:400}.postbox .handlediv{float:right;width:27px;height:30px}.js .postbox .handlediv{cursor:pointer}.sortable-placeholder{border:1px dashed #bbb;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox h3,.stuffbox h3{margin-top:1px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .postbox h3,.js .widget .widget-top{cursor:move}.postbox .inside,.stuffbox .inside{padding:0 12px 12px;line-height:1.4em;font-size:13px}.postbox .inside{margin:11px 0;position:relative}.postbox .inside>p:last-child,.rss-widget ul li:last-child{margin-bottom:1px!important}.postbox.closed h3{border:0;-webkit-box-shadow:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 5px}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#dashboard_right_now .versions .b,#ed_reply_toolbar #ed_reply_strong,#pass-strength-result.short,#pass-strength-result.strong,#post-status-display,#post-visibility-display,.feature-filter .feature-name,.item-controls .item-order a,.media-item .percent,.plugins .name{font-weight:600}#wpfooter{position:absolute;bottom:0;left:0;right:0;padding:10px 0;margin-right:20px;color:#777}#wpfooter p{font-size:13px;margin:0;line-height:20px}#footer-thankyou{font-style:italic}#wpfooter a{text-decoration:none}#wpfooter a:hover{text-decoration:underline}.nav-tab{border:1px solid #ccc;border-bottom:0;background:#e4e4e4;color:#555;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:-4px 4px -1px 0}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active,.nav-tab-active:hover{border-bottom:1px solid #f1f1f1;background:#f1f1f1;color:#000}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom:1px solid #ccc;padding-bottom:0;padding-left:10px}h2 .nav-tab{padding:6px 10px;font-weight:700;font-size:15px;line-height:24px}.spinner{background:url(../images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;float:right;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:2px 5px 0}#template div{margin-right:190px}.metabox-holder h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#templateside ul li a{text-decoration:none}#sidemenu{margin:-30px 15px 0 315px;list-style:none;position:relative;float:right;padding-left:10px;font-size:12px}#sidemenu a{padding:0 7px;display:block;float:left;line-height:28px;border-top:1px solid #f9f9f9;border-bottom:1px solid #dfdfdf;background-color:#f9f9f9;-webkit-transition:none;transition:none}#sidemenu li{display:inline;line-height:200%;list-style:none;text-align:center;white-space:nowrap;margin:0;padding:0}#sidemenu a.current{font-weight:400;padding-left:6px;padding-right:6px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;border:1px solid #dfdfdf;border-bottom-color:#f1f1f1;background-color:#f1f1f1;color:#000}.plugin-install #description,.plugin-install-network #description{width:60%}table .column-rating,table .column-visible,table .vers{text-align:left}.error-message{color:red;font-weight:600}body.iframe{height:98%}.lp-show-latest p{display:none}.lp-show-latest .lp-error p,.lp-show-latest p:last-child{display:block}td.media-icon{text-align:center;width:80px;padding-top:8px;padding-bottom:8px}td.media-icon img{max-width:80px;max-height:60px}#howto{font-size:11px;margin:0 5px;display:block}.importers td{padding-right:14px}.importers{font-size:16px;width:auto}#post-body #post-body-content #namediv h3{margin-top:0}#namediv h3 label{vertical-align:baseline}#namediv table{width:100%}#namediv td.first{width:10px;white-space:nowrap}#namediv input{width:98%}#namediv p{margin:10px 0}#submitdiv h3{margin-bottom:0!important}.zerosize{height:0;width:0;margin:0;border:0;padding:0;overflow:hidden;position:absolute}br.clear{height:2px;line-height:2px}.checkbox{border:0;margin:0;padding:0}fieldset{border:0;padding:0;margin:0}.post-categories{display:inline;margin:0;padding:0}.post-categories li{display:inline}div.star-holder{position:relative;height:17px;width:100px;background:url(../images/stars.png?ver=20121108) repeat-x bottom left}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) repeat-x top left;height:17px;float:left}.star-rating{white-space:nowrap}.star-rating .star{display:inline-block;width:20px;height:20px;-webkit-font-smoothing:antialiased;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;text-align:center;color:#0074a2}.star-rating .star-full:before{content:'\f155'}.star-rating .star-half:before{content:'\f459'}.rtl .star-rating .star-half{-webkit-transform:rotateY(180deg);-ms-transform:rotateY(180deg);transform:rotateY(180deg)}.star-rating .star-empty:before{content:'\f154'}div.action-links{font-weight:400;margin:6px 0 0}#plugin-information{background:#fcfcfc;position:fixed;top:0;right:0;bottom:0;left:0;height:auto;padding:0}#plugin-information-title{padding:0 76px 0 20px;font-size:22px;font-weight:600;line-height:56px;top:0;right:0;left:0;height:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-tabs{padding:0 16px;position:absolute;top:56px;right:0;left:0;height:36px;z-index:1}#plugin-information-tabs a{position:relative;float:left;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;-webkit-transition:none;transition:none}#plugin-information-tabs a.current{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:0;color:#333}#plugin-information-tabs a:active,#plugin-information-tabs a:focus{outline:0}#plugin-information-content{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd;position:absolute;top:90px;right:0;bottom:58px;left:0}#section-holder{margin:0;padding:10px 26px;position:absolute;top:0;right:250px;bottom:0;left:0;overflow:auto}#section-holder .updated{margin:16px 0}#plugin-information .fyi{background:#f3f3f3;border-left:1px solid #ddd;color:#666;padding:16px;position:absolute;top:0;right:0;bottom:0;width:217px;overflow:auto}#plugin-information .fyi strong{color:#464646}#plugin-information .fyi h3{font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-right:0}#plugin-information .fyi ul{padding:0;margin:0;list-style:none}#plugin-information .fyi li{margin:0 0 10px}#plugin-information-footer{padding:15px 16px;position:absolute;right:0;bottom:0;left:0;height:28px}#plugin-information .section ol,#plugin-information .section ul{list-style-type:disc;margin-left:24px}#plugin-information .section,#plugin-information .section p{font-size:14px;line-height:1.7}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;margin-top:16px;max-width:100%;width:auto;height:auto;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px}#plugin-information pre{padding:7px;overflow:auto;border:1px solid #ccc}.plugin-version-author-uri{font-size:13px}@media screen and (max-width:782px){#plugin-information-content{overflow:auto;bottom:58px}#plugin-information .fyi{border:1px solid #ddd;position:static;width:auto;margin:26px 26px 16px}#section-holder{position:static}#plugin-information .fyi h3,#plugin-information .fyi small{display:none}#plugin-information-footer{padding:12px 16px 0;height:46px}}body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:#fcfcfc url( ../images/spinner.gif ) no-repeat center}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:#fcfcfc url( ../images/spinner-2x.gif ) no-repeat center;-webkit-background-size:20px 20px;background-size:20px 20px}}body.import-php #TB_title,body.index-php #TB_title,body.plugin-install-php #TB_title,body.plugins-php #TB_title,body.update-core-php #TB_title{float:left;height:1px}body.import-php #TB_ajaxWindowTitle,body.index-php #TB_ajaxWindowTitle,body.plugin-install-php #TB_ajaxWindowTitle,body.plugins-php #TB_ajaxWindowTitle,body.update-core-php #TB_ajaxWindowTitle{display:none}body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{line-height:48px;width:48px;height:48px}body.import-php .tb-close-icon:before,body.index-php .tb-close-icon:before,body.plugin-install-php .tb-close-icon:before,body.plugins-php .tb-close-icon:before,body.update-core-php .tb-close-icon:before{line-height:48px}img{border:0}#wphead{border-bottom:1px solid #dfdfdf}#wphead h1 a{color:#464646}.js .meta-box-sortables .postbox:hover .handlediv{margin-right:0!important}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{right:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js #widgets-left .sidebar-name .sidebar-name-arrow{display:none}.js #widgets-left .sidebar-name:hover .sidebar-name-arrow,.js #widgets-left .widgets-holder-wrap.closed .sidebar-name .sidebar-name-arrow{display:block}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{content:'\f142'}.js .meta-box-sortables .postbox.closed .handlediv:before,.js .widgets-holder-wrap.closed .sidebar-name-arrow:before{content:'\f140'}.error a{text-decoration:underline}.updated a{text-decoration:none;padding-bottom:2px}#photo-add-url-div input[type=text]{width:300px}.alignleft h3{margin:0}#template textarea{font-family:Consolas,Monaco,monospace;font-size:13px;width:97%;background:#f9f9f9;outline:0}#docs-list,#template textarea{direction:ltr}#template p{width:97%}#templateside{float:right;width:190px;word-wrap:break-word}#postcustomstuff p.submit,#templateside h3{margin:0}#templateside h4{margin:1em 0 0}#templateside ol,#templateside ul{margin:.5em 0;padding:0}#templateside li{margin:4px 0}#templateside a,.theme-editor-php .highlight{display:block;padding:3px 3px 3px 12px;text-decoration:none}.theme-editor-php .highlight{margin:-3px 3px -3px -12px}#templateside .highlight{border:0;font-weight:700}.nonessential{color:#666;font-size:11px;font-style:italic;padding-left:12px}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:baseline;font-weight:600}.fileedit-sub{padding:10px 0 8px;line-height:180%}.accordion-section-title:after,.control-section .accordion-section-title:after,.nav-menus-php .item-edit:before,.widget-top a.widget-action:after{right:0;content:'\f140';border:0;background:0 0;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.accordion-section-title:after,.handlediv,.item-edit,.sidebar-name-arrow,.widget-action{color:#aaa}.accordion-section-title:hover:after,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.widget-action:hover{color:#777}.widget-top a.widget-action:after{padding:12px 12px 0}.nav-menus-php .item-edit:before{line-height:2.1}.accordion-section-title:after,.control-section .accordion-section-title:after{float:right;right:20px;top:-2px}#customize-info.open .accordion-section-title:after,.control-section.open .accordion-section-title:after,.nav-menus-php .menu-item-edit-active .item-edit:before{content:'\f142'}.ui-draggable,.ui-sortable{-ms-touch-action:none;touch-action:none}.menu.ui-sortable,.meta-box-sortables.ui-sortable,.widgets-holder-wrap .ui-draggable,.widgets-holder-wrap .ui-sortable{-ms-touch-action:auto;touch-action:auto}.menu.ui-sortable .menu-item-handle,.meta-box-sortables.ui-sortable .hndle{-ms-touch-action:none;touch-action:none}.accordion-section{border-bottom:1px solid #dfdfdf;margin:0}.accordion-section.open .accordion-section-content,.no-js .accordion-section .accordion-section-content{display:block}.accordion-section.open:hover{border-bottom-color:#dfdfdf}.accordion-section-content{display:none;padding:10px 20px 15px;overflow:hidden;background:#fff}.accordion-section-title{margin:0;padding:12px 15px 15px;position:relative;border-left:1px solid #dfdfdf;border-right:1px solid #dfdfdf;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .accordion-section-title{cursor:pointer}.js .accordion-section-title:after{position:absolute;top:12px;right:10px;z-index:1}.accordion-section-title:focus{outline:0}.accordion-section-title:focus:after,.accordion-section-title:hover:after{border-color:#aaa transparent}.cannot-expand .accordion-section-title{cursor:auto}.cannot-expand .accordion-section-title:after{display:none}.control-section .accordion-section-title{border-left:0;border-right:0;padding:10px 10px 11px 14px;line-height:21px;background:#fff}.control-section .accordion-section-title:after{top:11px}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{color:#222;background:#f5f5f5}.control-section.open .accordion-section-title{border-bottom:1px solid #dfdfdf}@media only screen and (min-width:769px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:860px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (min-width:980px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:768px){#col-left,#col-right{width:100%}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){div.star-holder,div.star-holder .star-rating{background:url(../images/stars-2x.png?ver=20121108) repeat-x bottom left;-webkit-background-size:21px 37px;background-size:21px 37px}.spinner{background-image:url(../images/spinner-2x.gif)}#bulk-titles div a,#bulk-titles div a:hover,#screen-meta-links a.show-settings,.curtime #timestamp,.meta-box-sortables .postbox:hover .handlediv,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.tagchecklist span a,.tagchecklist span a:hover,.widget-top a.widget-action,.widget-top a.widget-action:hover{background:none!important}}@-ms-viewport{width:device-width}@media screen and (max-width:782px){html.wp-toolbar{padding-top:46px}body{min-width:240px;overflow-x:hidden}body *{-webkit-tap-highlight-color:rgba(0,0,0,0)!important}#wpwrap{background:#f0f0f0}#wpcontent{position:relative;margin-left:0;padding-left:10px}#wpbody-content{padding-bottom:100px}.wrap{margin-right:12px;margin-left:0}.col-wrap{padding:0}#collapse-menu,#screen-meta,#screen-meta-links,.post-format-select{display:none!important}.wrap .add-new-h2,.wrap .add-new-h2:active{padding:10px 15px;font-size:14px}.wp-color-result{height:auto;padding-left:45px}.wp-color-result:after{font-size:14px;height:auto;padding:6px 14px}.media-upload-form div.error,.wrap div.error,.wrap div.updated{margin:20px 0 10px;padding:5px 10px;font-size:14px;line-height:175%}.wrap .icon32+h2{margin-top:-2px}.wp-responsive-open #wpbody{right:-190px}.postbox{font-size:14px}.metabox-holder h3{padding:12px}.postbox .handlediv{margin-top:3px}.subsubsub{font-size:16px;text-align:center;margin-bottom:15px}#templateside{float:none;width:auto}#templateside li{margin:0}#templateside li a{display:block;padding:5px}#templateside .highlight{padding:5px;margin-left:-5px;margin-top:-5px}#template div{float:none;margin:0;width:auto}#template textarea{width:100%}.fileedit-sub .alignright{margin-top:15px}#comments-form .checkforspam,#wpfooter{display:none}}@media screen and (max-width:600px){#wpwrap.wp-responsive-open{overflow-x:hidden}html.wp-toolbar{padding-top:0}#wpbody{padding-top:46px}div#post-body.metabox-holder.columns-1{overflow-x:hidden}}input,input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #bbb;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#888}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#2ea2cc}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-right:4px;line-height:10px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{float:left;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px 0 0 -4px;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}input.readonly,textarea.readonly{background-color:#ddd}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;padding:3px 5px;line-height:15px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],select,textarea{outline:0}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#333;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}select[disabled]{color:#7f7f7f}input[type=checkbox]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,textarea.disabled,textarea:disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border:0}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:left;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:0;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:0;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all{margin-top:1px}.tablenav .actions select{float:left;margin-right:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-left:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;left:-1px;padding:0 5px 0 0;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:left;margin:13px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:right;margin:0}.network-admin.themes-php p.search-box{clear:left}#search-plugins input[name="s"],.search-box input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}input[type=text].ui-autocomplete-loading{background:transparent url(../images/loading.gif) no-repeat right center;visibility:visible}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete-input.open{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:1px solid #aaa;background-color:#efefef}.ui-autocomplete li{margin-bottom:0;white-space:nowrap;text-align:left}.ui-autocomplete li a{display:block;height:100%;padding:4px 10px;color:#444}.ui-autocomplete li a.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#222;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:left;padding:20px 10px 20px 0;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-right:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:0}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.pressthis{margin:20px 0}.pressthis a,.pressthis a:active,.pressthis a:focus,.pressthis a:hover{display:inline-block;position:relative;cursor:move;color:#333;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis a:active{outline:0}.pressthis a:hover:after{-webkit-transform:skew(20deg) rotate(9deg);-ms-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis a span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis a span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis a:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:0 0;-webkit-transform:skew(20deg) rotate(6deg);-ms-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}#local-time,#utc-time{padding-left:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .spinner{float:none;margin:-3px 3px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-right:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-left:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}}@media only screen and (max-width:768px){.form-field input,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media screen and (max-width:600px){.color-option{width:49%}}#adminmenu,#adminmenu .wp-submenu,#adminmenuback,#adminmenuwrap{width:160px;background-color:#222}#adminmenuback{position:absolute;top:0;bottom:0;z-index:-1}#adminmenu{clear:left;margin:12px 0 0;padding:0;list-style:none}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:36px}.icon16{height:18px;width:18px;padding:6px;margin:-6px 0 0 -8px;float:left}.icon16:before{color:#999;font:400 20px/1 dashicons;speak:none;padding:6px 0;height:34px;width:20px;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.icon16.icon-dashboard:before{content:'\f226'}.icon16.icon-post:before{content:'\f109'}.icon16.icon-media:before{content:'\f104'}.icon16.icon-links:before{content:'\f103'}.icon16.icon-page:before{content:'\f105'}.icon16.icon-comments:before{content:'\f101';margin-top:1px}.icon16.icon-appearance:before{content:'\f100'}.icon16.icon-plugins:before{content:'\f106'}.icon16.icon-users:before{content:'\f110'}.icon16.icon-tools:before{content:'\f107'}.icon16.icon-settings:before{content:'\f108'}.icon16.icon-site:before{content:'\f112'}.icon16.icon-generic:before{content:'\f111'}.icon16.icon-appearance,.icon16.icon-comments,.icon16.icon-dashboard,.icon16.icon-generic,.icon16.icon-links,.icon16.icon-media,.icon16.icon-page,.icon16.icon-plugins,.icon16.icon-post,.icon16.icon-settings,.icon16.icon-site,.icon16.icon-tools,.icon16.icon-users,.menu-icon-appearance div.wp-menu-image,.menu-icon-comments div.wp-menu-image,.menu-icon-dashboard div.wp-menu-image,.menu-icon-generic div.wp-menu-image,.menu-icon-links div.wp-menu-image,.menu-icon-media div.wp-menu-image,.menu-icon-page div.wp-menu-image,.menu-icon-plugins div.wp-menu-image,.menu-icon-post div.wp-menu-image,.menu-icon-settings div.wp-menu-image,.menu-icon-site div.wp-menu-image,.menu-icon-tools div.wp-menu-image,.menu-icon-users div.wp-menu-image{background-image:none!important}#adminmenuwrap{position:relative;float:left}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#adminmenu li{margin:0;padding:0;cursor:pointer}#adminmenu a{display:block;line-height:18px;padding:2px 5px;color:#eee}#adminmenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover{background:0 0}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a:hover,#adminmenu li.menu-top>a:focus{color:#2ea2cc}#adminmenu li.menu-top{border:0;min-height:34px;position:relative}#adminmenu .wp-submenu{list-style:none;position:absolute;top:-1000em;left:160px;overflow:visible;word-wrap:break-word}#adminmenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{padding:7px 0 8px;z-index:9999;background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu a.menu-top:focus+.wp-submenu,.js #adminmenu .opensub .wp-submenu,.js #adminmenu .sub-open,.no-js li.wp-has-submenu:hover .wp-submenu{top:-1px}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu{position:relative;z-index:3;top:auto;left:auto;right:auto;bottom:auto;border:0 none;margin-top:0;-webkit-box-shadow:none;box-shadow:none;background-color:#333}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{position:relative;background-color:#111}.folded #adminmenu li.menu-top:hover,.folded #adminmenu li.opensub>a.menu-top,.folded #adminmenu li>a.menu-top:focus{z-index:10000}#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow,#adminmenu .wp-menu-arrow div,#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,.folded #adminmenu li.wp-has-current-submenu{background:#0074a2;color:#fff}.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.folded #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open,.folded #adminmenu a.menu-top:focus+.wp-submenu,.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu{top:0;left:36px}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em}#adminmenu .wp-not-current-submenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{min-width:160px;width:auto}#adminmenu .wp-submenu a{font-size:13px;line-height:1.2;margin:0;padding:6px 0}#adminmenu .opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-not-current-submenu li>a,.folded #adminmenu .wp-has-current-submenu li>a{padding-right:16px;padding-left:14px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu .wp-has-current-submenu ul>li>a,.folded #adminmenu li.menu-top .wp-submenu>li>a{padding:6px 12px}#adminmenu .wp-submenu-head,#adminmenu a.menu-top{font-size:14px;font-weight:400;line-height:18px;padding:0}#adminmenu .wp-submenu-head,.folded #adminmenu .wp-menu-name{display:none}.folded #adminmenu .wp-submenu-head{display:block}#adminmenu .wp-submenu li{padding:0;margin:0;overflow:hidden}#adminmenu .wp-menu-image img{padding:9px 0 0;opacity:.6;filter:alpha(opacity=60)}#adminmenu div.wp-menu-name{padding:8px 0}#adminmenu div.wp-menu-image{float:left;width:36px;height:34px;margin:0;text-align:center}#adminmenu div.wp-menu-image.svg{background-repeat:no-repeat;background-position:center;-webkit-background-size:20px auto;background-size:20px auto}div.wp-menu-image:before{color:#999;padding:7px 0;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu div.wp-menu-image:before{color:#999}#adminmenu .current div.wp-menu-image:before,#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}.folded #adminmenu div.wp-menu-image{width:35px;height:30px;position:absolute;z-index:25}.folded #adminmenu a.menu-top{height:34px}.no-font-face #adminmenu .wp-menu-image{display:none}.no-font-face #adminmenu div.wp-menu-name{padding:8px 12px}.no-font-face.auto-fold #adminmenu .wp-menu-name{margin-left:0}.sticky-menu #adminmenuwrap{position:fixed;z-index:9999}.wp-menu-arrow{display:none!important}ul#adminmenu a.wp-has-current-submenu{position:relative}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{right:0;border:solid 8px transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#f1f1f1;top:50%;margin-top:-8px}.folded ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.folded ul#adminmenu a.wp-has-current-submenu:after,.folded ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{right:0;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-width:8px;top:10px;z-index:10000}.folded ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:18px}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#333}#adminmenu li.menu-top:hover .wp-menu-image img,#adminmenu li.wp-has-current-submenu .wp-menu-image img{opacity:1;filter:alpha(opacity=100)}#adminmenu li.wp-menu-separator{height:5px;padding:0;margin:0 0 6px;cursor:inherit}#adminmenu div.separator{height:2px;padding:0}#adminmenu .wp-submenu .wp-submenu-head{color:#fff;font-weight:400;font-size:14px;padding:8px 4px 8px 11px;margin:-7px 0 4px}#adminmenu li.current,.folded #adminmenu li.wp-menu-open{border:0 none}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu li a span.update-plugins{display:inline-block;background-color:#d54e21;color:#fff;font-size:9px;line-height:17px;font-weight:600;margin:1px 0 0 2px;vertical-align:top;-webkit-border-radius:10px;border-radius:10px;z-index:26}#adminmenu li .awaiting-mod span,#adminmenu li span.update-plugins span,#sidemenu li a span.update-plugins span{display:block;padding:0 6px}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod{background-color:#2ea2cc;color:#fff}#adminmenu li span.count-0,#sidemenu li a .count-0{display:none}#collapse-menu{font-size:13px;line-height:34px;margin-top:10px;color:#aaa;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}.folded #collapse-menu span{display:none}#collapse-button,#collapse-button div{width:15px;height:15px}#collapse-button{float:left;height:15px;margin:10px 8px 10px 11px;width:15px;-webkit-border-radius:10px;border-radius:10px}#wpwrap #collapse-button div{padding:0}#collapse-button div:after{content:'\f148';display:block;line-height:15px;left:-3px;top:-3px;color:#aaa;font:400 20px/1 dashicons!important;speak:none;margin:0 auto;padding:0!important;position:relative;text-align:center;width:20px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.folded #collapse-button div:after,.rtl #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.folded #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}li#wp-admin-bar-menu-toggle{display:none}@media only screen and (max-width:900px){.auto-fold #wpcontent,.auto-fold #wpfooter{margin-left:56px}.auto-fold #adminmenu,.auto-fold #adminmenu li.menu-top,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{width:36px}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.auto-fold #adminmenu .wp-submenu.sub-open,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{top:0;left:36px}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu,.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em;margin-right:-1px;padding:7px 0 8px;z-index:9999}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{min-width:150px;width:auto}.auto-fold #adminmenu .wp-has-current-submenu li>a{padding-right:16px;padding-left:14px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding-left:12px}.auto-fold #adminmenu .wp-menu-name{display:none}.auto-fold #adminmenu .wp-submenu-head{display:block}.auto-fold #adminmenu div.wp-menu-image{height:30px;width:34px;position:absolute;z-index:25}.auto-fold #adminmenu a.menu-top{height:34px}.auto-fold #adminmenu li.wp-menu-open{border:0 none}.auto-fold #adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0}.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:16px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}.auto-fold #adminmenu li.menu-top:hover,.auto-fold #adminmenu li.opensub>a.menu-top,.auto-fold #adminmenu li>a.menu-top:focus{z-index:10000}.auto-fold #collapse-menu span{display:none}.auto-fold #collapse-button div{background:0 0}.auto-fold #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.auto-fold #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}}@media screen and (max-width:782px){.auto-fold #wpcontent{position:relative;margin-left:0;padding-left:10px}.sticky-menu #adminmenuwrap{position:relative;z-index:auto;top:0}.auto-fold #adminmenu,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{position:absolute;width:190px;z-index:100}.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{display:none}.auto-fold .wp-responsive-open #adminmenuback,.auto-fold .wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu li.menu-top{width:100%}.auto-fold #adminmenu li a{font-size:16px;padding:5px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding:10px 10px 10px 20px}.auto-fold #adminmenu .wp-menu-name{display:block;margin-left:35px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li.current>a.current:after{border-width:8px;margin-top:-8px}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{display:none}#adminmenu .wp-submenu{position:relative;display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold #adminmenu .wp-menu-open .wp-submenu{position:relative;display:block;top:0;left:-1px;-webkit-box-shadow:none;box-shadow:none}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .selected .wp-submenu:after,.auto-fold #adminmenu .wp-menu-open .wp-submenu:after{display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:block}.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{position:relative;left:-1px;right:0;top:0}#adminmenu .wp-submenu .wp-submenu-head{display:none}#wp-responsive-toggle{position:fixed;top:5px;left:4px;padding-right:10px;z-index:99999;border:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpadminbar #wp-admin-bar-menu-toggle a{display:block;padding:0;overflow:hidden;outline:0;text-decoration:none;border:1px solid transparent;background:0 0;height:44px;margin-left:-1px}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#333}li#wp-admin-bar-menu-toggle{display:block}#wpadminbar #wp-admin-bar-menu-toggle a:hover{border:1px solid transparent}#wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before{content:'\f228';display:inline-block;float:left;font:400 40px/45px Dashicons;vertical-align:middle;outline:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:44px;width:50px;padding:0;border:0;text-align:center;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}@media screen and (max-width:600px){#adminmenuback,#adminmenuwrap{display:none}.wp-responsive-open #adminmenuback,.wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu{top:46px}}#wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody-content #dashboard-widgets.columns-2 .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets.columns-2 #postbox-container-2,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-4{float:right;width:50.5%}#wpbody-content #dashboard-widgets.columns-3 .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-3 #postbox-container-4{float:right}#dashboard-widgets .postbox-container,#wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}#dashboard-widgets-wrap .columns-3 #postbox-container-4 .empty-container{border:0!important}.ie8 #wpbody-content #dashboard-widgets .postbox-container{width:49.5%}.ie8 #wpbody-content #dashboard-widgets #postbox-container-2,.ie8 #wpbody-content #dashboard-widgets #postbox-container-3,.ie8 #wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}.ie8 #dashboard-widgets #postbox-container-3 .empty-container,.ie8 #dashboard-widgets #postbox-container-4 .empty-container{border:0 none;height:0;min-height:0}#dashboard-widgets-wrap{overflow:hidden;margin:0 -8px}#dashboard-widgets .postbox .inside{margin-bottom:0}#dashboard-widgets .meta-box-sortables{margin:0 8px;min-height:100px}h3.dashboard-widget-title,h3.dashboard-widget-title small,h3.dashboard-widget-title span{color:#333}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}#the-comment-list td.comment p.comment-author{margin-top:0;margin-left:0}#the-comment-list p.comment-author img{float:left;margin-right:8px}#the-comment-list p.comment-author strong a{border:0}#the-comment-list td{vertical-align:top}#the-comment-list td.comment{word-wrap:break-word}#the-comment-list td.comment img{max-width:100%}.welcome-panel{position:relative;overflow:auto;margin:16px 0;padding:23px 10px 0;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:13px;line-height:2.1em}.welcome-panel h3{margin:0;font-size:21px;font-weight:400;line-height:1.2}.welcome-panel h4{margin:1.33em 0 0;font-size:16px}.welcome-panel li{font-size:14px}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel .about-description{font-size:16px;margin:0}.welcome-panel .welcome-panel-close{position:absolute;top:5px;right:10px;padding:20px 15px 0 3px;font-size:13px;text-decoration:none;line-height:1}#welcome-panel.welcome-panel .welcome-panel-close::before{position:absolute;left:-18px;margin-top:-2px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.wp-core-ui .welcome-panel .button.button-hero{margin:15px 0 3px}.welcome-panel-content{margin-left:13px;max-width:1500px}.welcome-panel .welcome-panel-column-container{clear:both;overflow:hidden;position:relative}.welcome-panel .welcome-panel-column{width:32%;min-width:200px;float:left}.ie8 .welcome-panel .welcome-panel-column{min-width:230px}.welcome-panel .welcome-panel-column:first-child{width:36%}.welcome-panel-column p.hide-if-no-customize{margin-top:10px}.welcome-panel-column p{margin-top:7px;color:#464646}.welcome-panel .welcome-icon{display:block;padding:0 0 8px;background:transparent!important}.welcome-panel .welcome-icon:before{color:#888;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 10px 0 0;top:-1px;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;vertical-align:top}.welcome-panel .welcome-edit-page:before,.welcome-panel .welcome-write-blog:before{content:'\f119';top:-3px}.welcome-panel .welcome-add-page:before{content:'\f132'}.welcome-panel .welcome-view-site:before{content:'\f115';top:-2px}.welcome-panel .welcome-widgets-menus:before{content:'\f116';top:-2px}.welcome-panel .welcome-comments:before{content:'\f117';top:-1px}.welcome-panel .welcome-learn-more:before{content:'\f118';top:-1px}.welcome-panel .welcome-widgets-menus{line-height:16px}.welcome-panel .welcome-panel-column ul{margin:.8em 1em 1em 0}.welcome-panel .welcome-panel-column li{line-height:16px;list-style-type:none}#dashboard_primary .inside{margin:0;padding:0}#dashboard_primary .dashboard-widget-control-form,#dashboard_primary .widget-loading{padding:12px 12px 0}body #dashboard-widgets .postbox form .submit{margin:0}.dashboard-widget-control-form{overflow:hidden}.dashboard-widget-control-form p{margin-top:0}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}.rssSummary{color:#777;margin-top:4px}#dashboard_primary .rss-widget{border-bottom:1px solid #eee;font-size:13px;padding:8px 12px 10px}#dashboard_primary .rss-widget:last-child{border-bottom:0;padding-bottom:8px}#dashboard_primary .rss-widget a{font-weight:400}#dashboard_primary .rss-widget span,#dashboard_primary .rss-widget span.rss-date{color:#777}#dashboard_primary .rss-widget span.rss-date{margin-left:12px}#dashboard_primary .rss-widget ul li{margin-bottom:8px}#dashboard_right_now ul{margin:0;overflow:hidden}#dashboard_right_now li{width:50%;float:left;margin-bottom:10px}#dashboard_right_now .inside{overflow:hidden;padding:0}#dashboard_right_now .main{overflow:hidden;padding:0 12px 11px}#dashboard_right_now .main p{margin:0}#dashboard_right_now #wp-version-message .button{clear:right;float:right;position:relative;top:-5px}.mu-storage{overflow:hidden}#dashboard-widgets h4.mu-storage{margin-bottom:10px}#dashboard_right_now li a:before,#dashboard_right_now li span:before{color:#888}#dashboard_right_now .sub{color:#777;background:#f5f5f5;border-top:1px solid #eee;padding:10px 12px 6px}#dashboard_right_now .sub h4{color:#555}#dashboard_right_now .sub p{margin:0 0 1em}#dashboard_right_now .warning a:before,#dashboard_right_now .warning span:before{color:#d54e21}#dashboard_right_now li a:before,#dashboard_right_now li span:before{content:'\f159';font:400 20px/1 dashicons;speak:none;display:block;float:left;margin:0 5px 0 0;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_right_now .page-count a:before,#dashboard_right_now .page-count span:before{content:'\f105'}#dashboard_right_now .post-count a:before,#dashboard_right_now .post-count span:before{content:'\f109'}#dashboard_right_now .comment-count a:before{content:'\f101'}#dashboard_right_now .comment-mod-count a:before{content:'\f125'}#dashboard_right_now .storage-count a:before{content:'\f104'}#dashboard_right_now .storage-count.warning a:before{content:'\f153'}#dashboard_quick_press .inside{margin:0;padding:0}#dashboard_quick_press div.updated{margin-bottom:10px;border:1px solid #eee;border-width:1px 1px 1px 0}#dashboard_quick_press form{overflow:hidden;margin:12px}#dashboard_quick_press .drafts,#dashboard_quick_press .easy-blogging{padding:10px 0 0}input#save-post{float:left}form.initial-form.quickpress-open label.prompt{font-style:normal}form.initial-form.quickpress-open input#title{height:auto}#dashboard_quick_press input,#dashboard_quick_press textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0}#dashboard_quick_press textarea{resize:vertical}#description-wrap{margin-top:12px}#title-wrap #title-prompt-text,.textarea-wrap #content-prompt-text{color:#777}.input-text-wrap,.textarea-wrap{position:relative}.input-text-wrap .prompt,.textarea-wrap .prompt{position:absolute}.textarea-wrap #content-prompt-text{font-size:1.1em;padding:7px 8px}.textarea-wrap textarea#content{margin:0 0 8px;padding:6px 7px}#quick-press textarea#content{min-height:90px;max-height:1300px;resize:none}.js #dashboard_quick_press .drafts{border-top:1px solid #eee}#dashboard_quick_press .drafts abbr{border:0}#dashboard_quick_press .drafts h4{margin:0 12px 8px;font-weight:400}#dashboard_quick_press .drafts .view-all{float:right;margin:0 12px 0 0}#dashboard_primary a.rsswidget{font-weight:400}#dashboard_quick_press .drafts ul{margin:0 12px}#dashboard_quick_press .drafts li{margin-bottom:1em}#dashboard_quick_press .drafts li time{color:#777}#dashboard_quick_press .drafts p{margin:0;word-wrap:break-word}#dashboard_quick_press .draft-title{overflow:hidden}#dashboard_quick_press .draft-title a,#dashboard_quick_press .draft-title time{float:left;margin:0 5px 0 0}#dashboard-widgets #dashboard_activity h4{margin:0 0 8px 12px;font-weight:400}#dashboard-widgets #dashboard_activity h4.comment-meta{margin:0}#dashboard_activity h4.comment-meta{margin-bottom:4px}#dashboard_activity ul{padding:0 12px}#dashboard_activity .comment-meta span.approve:before{content:'\f227';font:20px/.5 dashicons;margin-left:12px;vertical-align:middle;position:relative;top:-1px;margin-right:2px}#dashboard_activity .inside{padding:0;margin:0}#dashboard_activity .no-activity{overflow:hidden;padding:0 12px 12px;text-align:center}#dashboard_activity .no-activity p{color:#999;font-size:16px}#dashboard_activity .no-activity .smiley{margin-top:0}#dashboard_activity .no-activity .smiley:before{content:'\f328';font:400 120px/1 dashicons;speak:none;display:block;margin:0 5px 0 0;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_activity .subsubsub{float:none;border-top:1px solid #eee;margin-top:0;padding:8px 12px 4px}#future-posts ul,#published-posts ul{clear:both;margin-bottom:0}#future-posts li,#published-posts li{overflow:hidden;margin-bottom:8px}#future-posts ul span,#published-posts ul span{color:#777;float:left;margin-right:8px;min-width:150px}.activity-block{border-bottom:1px solid #eee;overflow:hidden;padding:8px 0 4px}.activity-block:last-child{border-bottom:0}.activity-block .subsubsub li{color:#ddd}#activity-widget #the-comment-list div.undo,#activity-widget #the-comment-list tr.undo{background:0 0;padding:6px 0}#activity-widget #the-comment-list .alt,#activity-widget #the-comment-list .alternate{background:0 0}#activity-widget #the-comment-list .comment-item{background:#fafafa;padding:12px;position:relative}#activity-widget #the-comment-list img{position:absolute;left:13px;top:13px}#activity-widget #the-comment-list .dashboard-comment-wrap{padding-left:63px}#activity-widget #the-comment-list .dashboard-comment-wrap blockquote{margin:1em 0}#activity-widget #the-comment-list .comment-item h4{font-size:13px;color:#999}#activity-widget #the-comment-list .comment-item p.row-actions{margin:4px 0 0}#activity-widget #the-comment-list .comment-item:first-child{border-top:1px solid #eee}#activity-widget #the-comment-list .unapproved{background-color:#fef7f1}#activity-widget #the-comment-list .unapproved:before{content:"";display:block;position:absolute;left:0;top:0;bottom:0;background:#d54e21;width:4px}#activity-widget #the-comment-list .spam-undo-inside .avatar,#activity-widget #the-comment-list .trash-undo-inside .avatar{margin-right:20px;position:relative;top:0}#dashboard-widgets #dashboard_browser_nag.postbox .inside{margin:10px}.edit-box{display:none}h3:hover .edit-box{display:inline}#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:100%}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:0}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0}#dashboard-widgets a{text-decoration:none}#dashboard-widgets h3 a{text-decoration:underline}#dashboard-widgets h3 .postbox-title-action{position:absolute;right:10px;padding:0;top:5px}.js #dashboard-widgets h3 .postbox-title-action{right:33px}#dashboard-widgets h4{color:#222;font-weight:400;font-size:14px;margin:0 0 .2em;padding:0}#dashboard_plugins h5{font-size:14px}#latest-comments #the-comment-list{position:relative}#activity-widget #the-comment-list .comment{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}#activity-widget #latest-comments #the-comment-list .comment-item{padding:1em 12px}#latest-comments #the-comment-list .pingback{padding-left:12px!important}#latest-comments #the-comment-list .comment-item:first-child{border-top:0}#latest-comments #the-comment-list .comment-item h4{line-height:1.5em;margin-top:0;color:#666}#latest-comments #the-comment-list .comment-item h4 cite{font-style:normal;font-weight:400}#latest-comments #the-comment-list .comment-item blockquote,#latest-comments #the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline}#latest-comments #the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:13px}#title-wrap label{cursor:text}#title-wrap #title{padding:2px 6px;font-size:1.3em;line-height:100%;outline:0}#title-wrap #title-prompt-text{font-size:1.1em;padding:5px 8px}.rss-widget ul{margin:0;padding:0;list-style:none}a.rsswidget{font-size:14px;font-weight:600;line-height:1.7em}.rss-widget ul li{line-height:1.5em;margin-bottom:12px}.rss-widget span.rss-date{color:#999;font-size:13px;margin-left:3px}.rss-widget cite{display:block;text-align:right;margin:0 0 1em;padding:0}.rss-widget cite:before{content:'\2014'}.dashboard-comment-wrap{overflow:hidden;word-wrap:break-word}#dashboard_browser_nag a.update-browser-link{font-size:1.2em;font-weight:600}#dashboard_browser_nag a{text-decoration:underline}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-right:125px}#dashboard_browser_nag .browser-icon{margin-top:-35px}#dashboard_browser_nag.postbox.browser-insecure{background-color:#ac1b1b;border-color:#ac1b1b}#dashboard_browser_nag.postbox{background-color:#e29808;background-image:none;border-color:#edc048;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag.postbox.browser-insecure h3{border-bottom-color:#cd5a5a;color:#fff}#dashboard_browser_nag.postbox h3{border-bottom-color:#f6e2ac;background:transparent none;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag h3.hndle{border:0;font-weight:600;font-size:20px;padding-top:10px}.postbox#dashboard_browser_nag p a.dismiss{font-size:14px}.postbox#dashboard_browser_nag a,.postbox#dashboard_browser_nag p,.postbox#dashboard_browser_nag p.browser-update-nag{font-size:16px}@media only screen and (max-width:799px){#wpbody-content #dashboard-widgets .postbox-container{width:100%}}@media only screen and (min-width:800px) and (max-width:1499px){#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0 none;height:0;min-height:0}#wpbody #wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody #wpbody-content .metabox-holder.columns-1 .postbox-container .empty-container{border:0 none;height:0;min-height:0}.index-php .columns-prefs,.index-php .screen-layout{display:block}.columns-prefs .columns-prefs-3,.columns-prefs .columns-prefs-4{display:none}}@media only screen and (min-width:1500px) and (max-width:1800px){#wpbody-content #dashboard-widgets .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right}#dashboard-widgets #postbox-container-4 .empty-container{border:0 none;height:0;min-height:0}}@media screen and (max-width:870px){.welcome-panel .welcome-panel-column,.welcome-panel .welcome-panel-column:first-child{display:block;float:none;width:100%}.welcome-panel .welcome-panel-column li{display:inline-block;margin-right:13px}.welcome-panel .welcome-panel-column ul{margin:.4em 0 0}}@media screen and (max-width:782px){#dashboard_recent_comments #the-comment-list .comment-item .avatar{height:30px;width:30px;margin:4px 10px 5px 0}}@media screen and (max-width:600px){.welcome-panel .welcome-panel-close{overflow:hidden;text-indent:100%;white-space:nowrap;width:20px;height:20px;right:0;padding:5px}#welcome-panel.welcome-panel .welcome-panel-close::before{font-size:20px;margin:0}}.post-com-count-wrapper{min-width:22px}.post-com-count{background:0 0;height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;background-position:center -80px;background-repeat:no-repeat;color:#fff}.post-com-count:after{content:"";display:block;width:0;height:0;margin-left:8px;border-top:5px solid #bbb;border-right:5px solid transparent}.post-com-count span{font-size:11px;font-weight:600;height:1.4em;line-height:1.4em;min-width:.7em;padding:0 6px;display:inline-block;-webkit-border-radius:5px;border-radius:5px;background-color:#bbb;color:#fff}.post-com-count:hover{background-position:center -3px}.post-com-count:hover span{background-color:#2ea2cc}.post-com-count:hover:after{border-top:5px solid #2ea2cc}strong .post-com-count{background-position:center -55px}strong .post-com-count span{background-color:#0074a2}strong .post-com-count:after{border-top:5px solid #0074a2}.column-response .post-com-count{float:left;margin-right:5px;text-align:center}.response-links{float:left}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom:1px solid #ccc}.commentlist li li{border-bottom:0;padding:0}.commentlist p{padding:0;margin:0 0 .8em}#submitted-on,.submitted-on{color:#777}#replyrow td{padding:2px}#replysubmit{margin:0;padding:0 5px 3px;text-align:center}#replysubmit .spinner{padding:2px 0 0;vertical-align:top;float:right}#replysubmit .button{margin-right:5px}#replysubmit .error{color:red;line-height:21px;text-align:center}#replyrow h5{margin:.2em 0 0;padding:0 5px;line-height:1.4em;font-size:1em}#edithead .inside{float:left;padding:3px 0 2px 5px;margin:0;text-align:center}#edithead .inside input{width:180px}#edithead label{padding:2px 0}#replycontainer{padding:5px}#replycontent{height:120px;-webkit-box-shadow:none;box-shadow:none}#replyerror{border-color:#ddd;background-color:#f9f9f9}.commentlist .avatar{vertical-align:text-top}#the-comment-list .attachment-80x60{padding:4px 8px}#the-comment-list div.undo,#the-comment-list tr.undo{background-color:#f4f4f4}#the-comment-list .unapproved td,#the-comment-list .unapproved th{background-color:#fef7f1}#the-comment-list .unapproved th.check-column{border-left:4px solid #d54e21}#the-comment-list .unapproved th.check-column input{margin-left:4px}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list td,#the-comment-list th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#the-comment-list tr:last-child td,#the-comment-list tr:last-child th{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved td,#the-comment-list tr.unapproved+tr.approved th{border-top:1px solid rgba(0,0,0,.03)}.vim-current,.vim-current td,.vim-current th{background-color:#e4f2fd!important}th .comment-grey-bubble{height:16px;width:16px}th .comment-grey-bubble:before{content:'\f101';font:400 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:4px;left:-4px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}table.fixed{table-layout:fixed}.fixed .column-rating,.fixed .column-visible{width:8%}.fixed .column-author,.fixed .column-date,.fixed .column-format,.fixed .column-links,.fixed .column-parent,.fixed .column-posts{width:10%}.fixed .column-comment .comment-author{display:none}.fixed .column-categories,.fixed .column-rel,.fixed .column-response,.fixed .column-role,.fixed .column-tags{width:15%}.fixed .column-slug{width:25%}.fixed .column-locations{width:35%}.fixed .column-comments{width:4em;padding:8px 0;text-align:left}.fixed .column-comments .vers{padding-left:3px}.fixed .column-comments a{float:left}.fixed .column-icon{width:80px}.wp-list-table a{-webkit-transition:none;transition:none}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:0!important;-webkit-box-shadow:none;box-shadow:none}#comments-form .fixed .column-author{width:20%}#commentsdiv.postbox .inside{margin:0;padding:0}#commentsdiv .inside .row-actions{line-height:18px}#commentsdiv .inside .column-author{width:25%}#commentsdiv .column-comment p{margin:.6em 0;padding:0}#commentsdiv #replyrow td{padding:0}#commentsdiv p{padding:8px 10px;margin:0}#commentsdiv .comments-box{border:0 none}#commentsdiv .comments-box thead th{background:0 0;padding:0 7px 4px;font-style:italic}#commentsdiv .comments-box tr:last-child td{border-bottom:0 none}#commentsdiv .spinner{padding-left:5px}.sorting-indicator{display:none;width:10px;height:4px;margin-top:8px;margin-left:7px}.sorting-indicator:before{background:0 0;content:'\f142';font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0;top:-4px;left:-8px;line-height:10px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}.column-comments .sorting-indicator:before{top:0;left:-10px}th.desc:hover span.sorting-indicator:before,th.sorted.asc .sorting-indicator:before{content:'\f142'}th.asc:hover span.sorting-indicator:before,th.sorted.desc .sorting-indicator:before{content:'\f140'}tr.wp-locked .locked-indicator{margin-left:6px;height:20px;width:16px}tr.wp-locked .locked-indicator:before{color:#888;content:'\f160';display:inline-block;float:left;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-left:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}tr.wp-locked .check-column input[type=checkbox],tr.wp-locked .check-column label,tr.wp-locked .row-actions .inline,tr.wp-locked .row-actions .trash{display:none}tr .locked-info{height:0;opacity:0}tr.wp-locked .locked-info{margin-top:8px;height:auto;opacity:1}.locked-text{vertical-align:top}tr.locked-info,tr.wp-locked .locked-info{-webkit-transition:height 1s,opacity .5s;transition:height 1s,opacity .5s}.fixed .column-comments .sorting-indicator{margin-top:3px}#menu-locations-wrap .widefat{width:60%}.widefat th.sortable,.widefat th.sorted{padding:0}th.sortable a,th.sorted a{display:block;overflow:hidden;padding:7px 7px 8px 10px}th.manage-column a,th.sortable a:active,th.sortable a:focus,th.sortable a:hover{color:#333}th.sortable a:focus{background:#e1e1e1}.fixed .column-comments.sortable a,.fixed .column-comments.sorted a{padding:8px 0}th.sortable a span,th.sorted a span{float:left;cursor:pointer}th.desc:hover span.sorting-indicator,th.sorted.asc .sorting-indicator{display:block;background-position:0 0}th.asc:hover span.sorting-indicator,th.sorted.desc .sorting-indicator{display:block;background-position:-7px 0}.tablenav-pages a{font-weight:600;margin-right:1px;padding:0 2px}.tablenav-pages .current-page{padding-top:0;text-align:center}.tablenav-pages .next-page{margin-left:2px}.tablenav a.button-secondary{display:block;margin:3px 8px 0 0}.tablenav{clear:both;height:30px;margin:6px 0 4px;vertical-align:middle}.tablenav.themes{max-width:98%}.tablenav .tablenav-pages{float:right;display:block;cursor:default;height:30px;color:#555;line-height:30px;font-size:12px}.tablenav .no-pages,.tablenav .one-page .pagination-links{display:none}.tablenav .tablenav-pages a,.tablenav-pages span.current{text-decoration:none;padding:3px 6px}.tablenav .tablenav-pages a{padding:0 10px 3px;background:#eee;background:rgba(0,0,0,.05);font-size:16px;font-weight:400}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:active,.tablenav .tablenav-pages a.disabled:focus,.tablenav .tablenav-pages a.disabled:hover{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .displaying-num{margin-right:2px;color:#777;font-size:12px;font-style:italic}.tablenav .actions{overflow:hidden;padding:2px 8px 0 0}.tablenav .delete{margin-right:20px}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}.view-switch{float:right;margin:5px 16px 0 8px}.view-switch img{display:none}.view-switch a{text-decoration:none}.view-switch>a{display:inline-block;width:18px;height:18px}.view-switch>a:before{color:#bbb;content:'\f163';display:inline-block;float:left;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-left:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}.view-switch>a+a:before{margin-left:5px;content:'\f164'}.filter{float:left;margin:-5px 0 0 10px}.filter .subsubsub{margin-left:-10px;margin-top:13px}.screen-per-page{width:4em}#posts-filter fieldset{float:left;margin:0 1.5ex 1em 0;padding:0}#posts-filter fieldset legend{padding:0 0 .2em 1px}p.pagenav{margin:0;display:inline}.pagenav span{font-weight:600;margin:0 6px}.row-title{font-size:14px!important;font-weight:600}.column-comment .comment-author{margin-bottom:.6em}.column-author img,.column-comment .comment-author img,.column-username img{float:left;margin-right:10px;margin-top:1px}.row-actions{color:#ddd;font-size:13px;visibility:hidden;padding:2px 0 0}.mobile .row-actions,.row-actions.visible,div.comment-item:hover .row-actions,tr:hover .row-actions{visibility:visible}.row-actions-visible{padding:2px 0 0}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:left;margin:0;padding:0;width:100%}#wpbody-content .inline-edit-row fieldset .inline-edit-col,tr.inline-edit-row td{padding:0 .5em}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 0 0 1px;border-style:none none none solid}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:40%}#wpbody-content .quick-edit-row-post .inline-edit-col-right{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:20%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:50%}#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .quick-edit-row-page .inline-edit-col-right{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:30%}#wpbody-content .bulk-edit-row-page .inline-edit-col-right{width:69%}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:right;width:69%}#wpbody-content .inline-edit-row-page .inline-edit-col-right{margin-top:27px}.inline-edit-row fieldset .inline-edit-group{clear:both}.inline-edit-row fieldset .inline-edit-group:after{content:".";display:block;height:0;clear:both;visibility:hidden}.inline-edit-row p.submit{clear:both;padding:.5em;margin:.5em 0 0}.inline-edit-row span.error{line-height:22px;margin:0 15px;padding:3px 5px}.inline-edit-row h4{margin:.2em 0;padding:0;line-height:23px}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{margin:0;padding:0}.inline-edit-row fieldset label,.inline-edit-row fieldset span.inline-edit-categories-label{display:block;margin:.2em 0}.inline-edit-row fieldset label.inline-edit-tags{margin-top:0}.inline-edit-row fieldset label.inline-edit-tags span.title{margin:.2em 0;width:auto}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em}.inline-edit-row fieldset label span.input-text-wrap{display:block;margin-left:5em}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{width:auto;padding-right:.5em}.inline-edit-row .input-text-wrap input[type=text]{width:100%}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:text-bottom}.inline-edit-row fieldset label textarea{width:100%;height:4em}#wpbody-content .bulk-edit-row fieldset .inline-edit-group label{max-width:50%}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-right:.5em}.inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input{width:6em}.inline-edit-save .spinner{padding:4px 10px 0;vertical-align:top;float:right}.inline-edit-row h4{text-transform:uppercase}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{font-style:italic;line-height:1.8em}.inline-edit-row fieldset .inline-edit-date{float:left}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{font-size:12px;width:2.1em}.inline-edit-row fieldset input[name=aa]{font-size:12px;width:3.5em}.inline-edit-row fieldset label input.inline-edit-password-input{width:8em}ul.cat-checklist{height:12em;border:solid 1px #ddd;overflow-y:scroll;padding:0 5px;margin:0;background-color:#fff}#bulk-titles{display:block;height:12em;border:1px solid #ddd;overflow-y:scroll;padding:0 5px;margin:0 0 5px}.inline-edit-row fieldset ul.cat-checklist input,.inline-edit-row fieldset ul.cat-checklist li{margin:0;position:relative}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-style:normal;font-size:11px}.inline-edit-row fieldset label input.inline-edit-menu-order-input{width:3em}.inline-edit-row fieldset label input.inline-edit-slug-input{width:75%}.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{max-width:80%}.ie8 .inline-edit-row #post_parent,.ie8 .inline-edit-row select[name=page_template]{width:250px}.quick-edit-row-post fieldset label.inline-edit-status{float:left}#bulk-titles{line-height:140%}#bulk-titles div{margin:.2em .3em}#bulk-titles div a{cursor:pointer;display:block;float:left;height:18px;margin:0 3px 0 -2px;overflow:hidden;position:relative;width:20px}#bulk-titles div a:before{position:relative;top:-3px}.plugins tbody,.plugins tbody th.check-column{padding:8px 0 0 2px}.plugins tbody th.check-column input[type=checkbox]{margin-top:4px}#update-plugins-table tbody td p{margin-top:0}#update-plugins-table tbody td p strong{font-size:14px}.plugins .inactive th.check-column,.plugins tfoot th.check-column,.plugins thead th.check-column{padding-left:6px}#update-plugins-table tfoot th.check-column,#update-plugins-table thead th.check-column{padding-top:11px}.plugins,.plugins td,.plugins th{color:#000}.plugins tr{background:#fff}.plugins p{margin:0 4px;padding:0}.plugins .desc p{margin:0 0 8px}.plugins td.desc{line-height:1.5em}.plugins .desc ol,.plugins .desc ul{margin:0 0 0 2em}.plugins .desc ul{list-style-type:disc}.plugins .row-actions{font-size:13px}.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th{padding:10px 9px}.plugins .active td,.plugins .active th{background-color:#f7fcfe}.plugins .update td,.plugins .update th{border-bottom:0}.plugin-update-tr td{border-top:0}.plugin-install #the-list td,.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th,.upgrade .plugins td,.upgrade .plugins th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active.plugin-update-tr+tr.inactive th{border-top:1px solid rgba(0,0,0,.03);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1;box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1}.plugins .update td,.plugins .update th,.plugins tr.active+tr.inactive.update td,.plugins tr.active+tr.inactive.update th,.upgrade .plugins tr:last-of-type td,.upgrade .plugins tr:last-of-type th{-webkit-box-shadow:none;box-shadow:none}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update{background-color:#fef7f1}.plugins .active th.check-column{border-left:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-left:4px solid #d54e21}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-right:12px;white-space:nowrap}.plugins .inactive .plugin-title strong{font-weight:400}.plugins .row-actions,.plugins .second{padding:0 0 5px}.plugins .update .row-actions,.plugins .update .second{padding-bottom:0}.plugins-php .widefat tfoot td,.plugins-php .widefat tfoot th{border-top-style:solid;border-top-width:1px}.plugin-update-tr .update-message{font-size:13px;font-weight:400;padding:6px 12px;margin:0 10px 8px 31px;background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}.plugin-update-tr .update-message:before{color:#d54e21;content:'\f463';display:inline-block;font:400 20px/1 dashicons;speak:none;margin:0 8px 0 -2px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.plugins .plugin-update{padding:0;border:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}tr.active+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-install-php h4{margin:2.5em 0 8px}.wp-list-table .site-deleted{background:#ff8573}.wp-list-table .site-spammed{background:#faafaa}.wp-list-table .site-archived{background:#ffebe8}.wp-list-table .site-mature{background:#fecac2}@media screen and (max-width:782px){.tablenav{height:auto}.tablenav.top{margin:0}.tablenav.bottom{position:relative;margin-top:15px}.tablenav br{display:none}.tablenav br.clear{display:block}.tablenav.top .actions,.tablenav.top .displaying-num,.view-switch{display:none}.tablenav.bottom .displaying-num{position:absolute;right:0;top:10px;font-size:14px}.tablenav-pages{width:100%;text-align:center;margin:0 0 25px}.tablenav.bottom .tablenav-pages{margin-top:25px}.tablenav.top .tablenav-pages.one-page{display:none}.tablenav.bottom .tablenav-pages.one-page{margin:15px 0 0;height:0}.tablenav-pages .pagination-links .paging-input{font-size:18px}.tablenav-pages .pagination-links a{padding:8px 20px 11px;font-size:18px;background:rgba(0,0,0,.05)}.tablenav-pages .pagination-links .current-page{padding:10px;font-size:14px}.form-wrap>p{display:none}.comment-count{font-size:14px}.column-categories,.column-tags,.fixed .column-author,.fixed .column-date,.media .column-parent,.sites .column-registered,.sites .column-users,.tags .column-description,.users .column-email,.users .column-name{display:none}.fixed .column-comment .comment-author{display:block}.column-title{width:85%}.fixed .column-comments,.widefat .check-column{width:35px}.widefat tfoot .check-column,.widefat thead .check-column{padding:10px 0}.widefat *{word-wrap:normal}#wpbody-content .bulk-edit-row .inline-edit-col-bottom,#wpbody-content .bulk-edit-row .inline-edit-col-left,#wpbody-content .bulk-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .inline-edit-row-post .inline-edit-col-center,#wpbody-content .quick-edit-row-page .inline-edit-col-left,#wpbody-content .quick-edit-row-page .inline-edit-col-right,#wpbody-content .quick-edit-row-post .inline-edit-col-left,#wpbody-content .quick-edit-row-post .inline-edit-col-right{float:none;width:100%}#wpbody-content .bulk-edit-row fieldset .inline-edit-col label,#wpbody-content .bulk-edit-row fieldset .inline-edit-group label,#wpbody-content .quick-edit-row fieldset .inline-edit-col label,#wpbody-content .quick-edit-row fieldset .inline-edit-group label{max-width:none;float:none;margin-bottom:5px}#wpbody .bulk-edit-row fieldset select{display:block;width:100%;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-size:16px}.inline-edit-row fieldset label span.title{float:none}.inline-edit-row fieldset label.inline-edit-tags{padding:0 .5em}.inline-edit-row fieldset .inline-edit-col label.inline-edit-tags{padding:0}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{width:3em}.inline-edit-row fieldset input[name=aa]{width:4.5em}#bulk-titles div{margin:.8em .3em}#bulk-titles div a{height:22px}.tags .column-posts{width:50px}.tags .column-slug{width:30%}.comments .column-response,.users .column-role{width:35%}.sites .column-blogname{width:55%}#wpbody-content #update-themes-table .plugin-title{width:auto}.link-manager-php #posts-filter{margin-top:25px}.link-manager-php .tablenav.bottom{overflow:hidden}.wp-list-table.plugins{position:relative;margin-top:35px;margin-bottom:50px}#wpbody-content .wp-list-table.plugins tfoot .column-description,.wp-list-table.plugins th#description,.wp-list-table.plugins thead .column-description{display:none}#wpbody-content .wp-list-table.plugins,#wpbody-content .wp-list-table.plugins .column-description,#wpbody-content .wp-list-table.plugins .manage-column.column-name,#wpbody-content .wp-list-table.plugins .plugin-title,#wpbody-content .wp-list-table.plugins .plugin-update,#wpbody-content .wp-list-table.plugins .theme-title,#wpbody-content .wp-list-table.plugins tbody,#wpbody-content .wp-list-table.plugins thead,#wpbody-content .wp-list-table.plugins tr{display:block;width:auto}.wp-list-table.plugins tfoot,.wp-list-table.plugins thead{position:absolute;top:-35px;left:0;right:0;width:auto;height:35px}.wp-list-table.plugins tfoot{bottom:-35px;top:auto}.active,.inactive{padding-top:0}.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-top:13px;padding-bottom:4px}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title,.wp-list-table.plugins tbody th{-webkit-box-shadow:none;box-shadow:none}.plugins tbody{padding:1px 0 0}.plugins tr.active+tr.inactive td.column-description{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column{border-top:0}.wp-list-table.plugins .column-description{padding-top:0}.wp-list-table.plugins .column-description,.wp-list-table.plugins .manage-column.column-name,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-right:12px;padding-left:46px}.wp-list-table.plugins tr{position:relative}.wp-list-table.plugins th.check-column,.wp-list-table.plugins tr.update th.check-column{position:absolute;height:auto;top:0;bottom:0;left:0;padding-left:2px;padding-top:18px}.wp-list-table.plugins tfoot th.check-column,.wp-list-table.plugins thead th.check-column{padding-left:3px;padding-top:11px;background:0 0}.widefat tbody th.check-column input[type=checkbox]{margin-top:-3px;margin-left:8px}.wp-list-table.plugins .active .check-column input,.wp-list-table.plugins .update .check-column input{margin-left:5px}.wp-list-table.plugins tfoot .check-column input,.wp-list-table.plugins thead .check-column input{margin-top:-6px}.wp-list-table.plugins .active th.check-column{background:0 0}.wp-list-table.plugins .plugin-title strong,.wp-list-table.plugins .theme-title strong{font-size:1.4em;line-height:1.6em}table.plugin-install .column-description,table.plugin-install .column-name,table.plugin-install .column-rating,table.plugin-install .column-version{display:block;width:auto}table.plugin-install th.column-description,table.plugin-install th.column-name,table.plugin-install th.column-rating,table.plugin-install th.column-version{display:none}table.plugin-install td.column-name strong{font-size:1.4em;line-height:1.6em}table.plugin-install #the-list td{-webkit-box-shadow:none;box-shadow:none}table.plugin-install #the-list tr{display:block;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}}#poststuff{padding-top:10px;min-width:763px}#poststuff #post-body{padding:0}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-right:300px}#show-comments{overflow:hidden}#save-action .spinner,#show-comments .spinner,#show-comments a{float:left}#lost-connection-notice .spinner{display:block;float:left;margin:0 5px 0 0}#titlediv{position:relative;margin-bottom:10px}#titlediv label{cursor:text}#titlediv div.inside{margin:0}#poststuff #titlewrap{border:0;padding:0}#titlediv #title{padding:3px 8px;font-size:1.7em;line-height:100%;height:1.7em;width:100%;outline:0;margin:0;background-color:#fff}#titlediv #title-prompt-text{color:#777;position:absolute;font-size:1.7em;padding:11px 10px}#wp-fullscreen-save .fs-saved{color:#999;float:right;margin-top:4px}#poststuff .inside-submitbox,#side-sortables .inside-submitbox{margin:0 3px;font-size:11px}input#link_description,input#link_url{width:98%}#pending{background:0 none;border:0 none;padding:0;font-size:11px;margin-top:-1px}#edit-slug-box{line-height:24px;min-height:25px;margin-top:5px;padding:0 10px;color:#666}#edit-slug-box .cancel{margin-right:10px;font-size:11px}#editable-post-name-full{display:none}#editable-post-name{background-color:#fffbcc}#editable-post-name input{font-size:13px;height:22px;margin:0;width:16em}.postarea h3 label{float:left}.submitbox .submit{text-align:left;padding:12px 10px 10px;font-size:11px;background-color:#464646;color:#ccc}.submitbox .submitdelete{text-decoration:none;padding:1px 2px}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.submitbox .submit a:hover{text-decoration:underline}.submitbox .submit input{margin-bottom:8px;margin-right:4px;padding:6px}.inside-submitbox #post_status{margin:2px 0 2px -2px}#post-status-select{margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{position:relative;min-width:255px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:transparent none;border:0 none;float:right;padding:0 12px;margin:0}.category-add input[type=text],.category-add select{width:100%;max-width:260px;vertical-align:baseline}#side-sortables .category-add input[type=text],#side-sortables .category-add select{margin:0 0 1em}#side-sortables .add-menu-item-tabs li,.wp-tab-bar li,ul.category-tabs li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}#side-sortables .add-menu-item-tabs a,.category-tabs a,.wp-tab-bar a{text-decoration:none}#post-body ul.add-menu-item-tabs li.tabs a,#post-body ul.category-tabs li.tabs a,#side-sortables .add-menu-item-tabs .tabs a,#side-sortables .category-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}.category-tabs{margin:8px 0 5px}#category-adder h4{margin:10px 0}#side-sortables .add-menu-item-tabs,.wp-tab-bar{margin-bottom:3px}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:0 7px 5px}#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover,#side-sortables .submitbox .submit input{border:0 none}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0}ul.add-menu-item-tabs,ul.category-tabs,ul.wp-tab-bar{margin-top:12px}ul.add-menu-item-tabs li,ul.category-tabs li{border:solid 1px transparent;position:relative}.wp-tab-active,ul.add-menu-item-tabs li.tabs,ul.category-tabs li.tabs{border:1px solid #dfdfdf;border-bottom-color:#fdfdfd;background-color:#fdfdfd}ul.add-menu-item-tabs li,ul.category-tabs li,ul.wp-tab-bar li{padding:3px 5px 5px}#postimagediv .inside img{max-width:100%;height:auto}form#tags-filter{position:relative}td.plugin-title strong,td.post-title strong{display:block;margin-bottom:.2em;font-size:14px}td.plugin-title p,td.post-title p{margin:6px 0}.ui-tabs-hide,.wp-hidden-children .wp-hidden-child{display:none}#post-body .tagsdiv #newtag{margin-right:5px;width:16em}#side-sortables input#post_password{width:94%}#side-sortables .tagsdiv #newtag{width:68%}#post-status-info{width:100%;border-spacing:0;border:1px solid #e5e5e5;border-top:0;background-color:#f7f7f7;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}#post-status-info td{font-size:12px}.autosave-info{padding:2px;text-align:right}#editorcontent #post-status-info{border:0}#content-resize-handle{background:transparent url(../images/resize.gif) no-repeat scroll right bottom;width:12px;cursor:row-resize}.rtl #content-resize-handle{background:transparent url(../images/resize-rtl.gif) no-repeat scroll left bottom}#wp-word-count{display:block;padding:2px 10px}#timestampdiv select{height:21px;line-height:14px;padding:0;vertical-align:top;font-size:12px}#aa,#hh,#jj,#mn{padding:1px;font-size:12px}#hh,#jj,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{padding:2px 0 1px;display:inline!important;height:auto!important}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before,span.wp-media-buttons-icon:before{color:#888}#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before{font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 2px 0 0;top:0;left:-1px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}#post-body #visibility:before{content:'\f177'}.curtime #timestamp:before{content:'\f145';top:-1px}#post-body .misc-pub-revisions:before{content:'\f321'}#timestampdiv{padding-top:5px;line-height:23px}#timestampdiv p{margin:8px 0 6px}#timestampdiv input{border-width:1px;border-style:solid}.notification-dialog{position:fixed;top:30%;left:50%;width:450px;margin-left:-225px;background:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);line-height:1.5;z-index:1000005}.notification-dialog-background{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000000}#post-lock-dialog .post-locked-message,#post-lock-dialog .post-taken-over{margin:25px}#post-lock-dialog .post-locked-message a.button{margin-right:10px}#post-lock-dialog .post-locked-avatar{float:left;margin:0 20px 20px 0}#post-lock-dialog .wp-tab-first{outline:0}#post-lock-dialog .locked-saving img{float:left;margin-right:3px}#post-lock-dialog.saved .locked-saved,#post-lock-dialog.saving .locked-saving{display:inline}#excerpt,.attachmentlinks{margin:0;height:4em;width:98%}.tagchecklist{margin-left:14px;font-size:12px;overflow:auto}.tagchecklist br{display:none}.tagchecklist strong{margin-left:-8px;position:absolute}.tagchecklist span{margin-right:25px;display:block;float:left;font-size:13px;line-height:1.8em;white-space:nowrap;cursor:default}.tagchecklist span a{margin:1px 0 0 -17px;cursor:pointer;width:20px;height:20px;display:block;float:left;text-indent:0;overflow:hidden;position:absolute}#poststuff h2{margin-top:20px;font-size:1.5em;margin-bottom:15px;padding:0 0 3px;clear:left}#poststuff h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#poststuff .inside{margin:6px 0 0}#poststuff .inside #page_template,#poststuff .inside #parent_id{max-width:100%}#poststuff .inside label.deleted,#poststuff .inside label.spam{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}.ie8 #poststuff .inside #page_template,.ie8 #poststuff .inside #parent_id{width:250px}#post-visibility-select{line-height:1.5em;margin-top:3px}#poststuff #submitdiv .inside{margin:0;padding:0}.edit-form-section{margin-bottom:20px}#postcustomstuff thead th{padding:5px 8px 8px;background-color:#f1f1f1}#postcustom #postcustomstuff .submit{border:0 none;float:none;padding:0 8px 8px}#side-sortables #postcustom #postcustomstuff .submit{margin:0;padding:0}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px}#side-sortables #postcustom #postcustomstuff td.left input,#side-sortables #postcustom #postcustomstuff td.left select,#side-sortables #postcustomstuff #newmetaleft a{margin:3px 3px 0}#postcustomstuff table{margin:0;width:100%;border:1px solid #dfdfdf;border-spacing:0;background-color:#f9f9f9}#postcustomstuff tr{vertical-align:top}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:96%;margin:8px}#side-sortables #postcustomstuff table input,#side-sortables #postcustomstuff table select,#side-sortables #postcustomstuff table textarea{margin:3px}#postcustomstuff td.left,#postcustomstuff th.left{width:38%}#postcustomstuff .submit input{margin:0;width:auto}#postcustomstuff #newmetaleft a{display:inline-block;margin:0 8px 8px;text-decoration:none}.no-js #postcustomstuff #enternew{display:none}#post-body-content .compat-attachment-fields{margin-bottom:20px}.compat-attachment-fields th{padding-top:5px;padding-right:10px}#select-featured-image{padding:4px 0;overflow:hidden}#select-featured-image img{max-width:100%;height:auto;margin-bottom:10px}#select-featured-image a{float:left;clear:both}#select-featured-image .remove{display:none;margin-top:10px}.js #select-featured-image.has-featured-image .remove{display:inline-block}.no-js #select-featured-image .choose{display:none}.post-state-format{overflow:hidden;display:inline-block;vertical-align:middle;height:20px;width:20px;margin-right:5px;margin-top:-4px}.post-state-format:before{display:block;height:20px;width:20px;font:400 20px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon:before,.post-state-format:before{color:#ddd;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}a.post-format-icon:hover:before,a.post-state-format:hover:before{color:#2ea2cc}#post-formats-select{line-height:2em}#post-formats-select .post-format-icon:before{top:5px}input.post-format{margin-top:1px}label.post-format-icon{margin-left:0;padding:2px 0}.post-format-icon:before{position:relative;display:inline-block;margin-right:7px;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon.post-format-standard:before,.post-state-format.post-format-standard:before,a.post-state-format.format-standard:before{content:'\f109'}.post-format-icon.post-format-image:before,.post-state-format.post-format-image:before,a.post-state-format.format-image:before{content:'\f128'}.post-format-icon.post-format-gallery:before,.post-state-format.post-format-gallery:before,a.post-state-format.format-gallery:before{content:'\f161'}.post-format-icon.post-format-audio:before,.post-state-format.post-format-audio:before,a.post-state-format.format-audio:before{content:'\f127'}.post-format-icon.post-format-video:before,.post-state-format.post-format-video:before,a.post-state-format.format-video:before{content:'\f126'}.post-format-icon.post-format-chat:before,.post-state-format.post-format-chat:before,a.post-state-format.format-chat:before{content:'\f125'}.post-format-icon.post-format-status:before,.post-state-format.post-format-status:before,a.post-state-format.format-status:before{content:'\f130'}.post-format-icon.post-format-aside:before,.post-state-format.post-format-aside:before,a.post-state-format.format-aside:before{content:'\f123'}.post-format-icon.post-format-quote:before,.post-state-format.post-format-quote:before,a.post-state-format.format-quote:before{content:'\f122'}.post-format-icon.post-format-link:before,.post-state-format.post-format-link:before,a.post-state-format.format-link:before{content:'\f103'}.category-adder{margin-left:120px;padding:4px 0}.category-adder h4{margin:0 0 8px}#side-sortables .category-adder{margin:0}.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,.wp-tab-panel{min-height:42px;max-height:200px;overflow:auto;padding:0 .9em;border:solid 1px #dfdfdf;background-color:#fdfdfd}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.inline-editor ul.cat-checklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,ul.export-filters{margin-left:18px}ul.categorychecklist li{margin:0;padding:0;line-height:22px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap label{display:block;padding:2px;font-size:12px}.form-field input,.form-field textarea{border-style:solid;border-width:1px;width:95%}.form-wrap p,p.description{margin:2px 0 5px;color:#666}.form-wrap p,p.description,p.help,span.description{font-size:13px;font-style:italic}.form-wrap .form-field{margin:0 0 10px;padding:8px 0}.form-wrap .form-field #parent{max-width:100%}.col-wrap h3{margin:12px 0;font-size:1.1em}.col-wrap p.submit{margin-top:-10px}.tagsdiv{margin-top:-8px}#poststuff .taghint{color:#aaa;margin:15px 0 -24px 12px}#poststuff .tagsdiv .howto{margin:0 0 6px}.ajaxtag .newtag{position:relative}.tagsdiv .newtag{width:180px}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px}#post-body-content .tagsdiv .the-tags{margin:0 5px}.taghint{color:#aaa;margin:-17px 0 0 7px;visibility:hidden}input.newtag~div.taghint{visibility:visible}input.newtag:focus~div.taghint{visibility:hidden}p.popular-tags{border:0;line-height:2em;max-width:1000px;padding:8px 12px 12px;text-align:justify}p.popular-tags a{padding:0 3px}.tagcloud{width:97%;margin:0 0 40px;text-align:justify}.tagcloud h3{margin:2px 0 12px}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border:1px solid gray;background-color:#fff}.wp-customizer .ac_results{z-index:500000}.ac_results li{padding:2px 5px;white-space:nowrap;color:#101010;text-align:left}.ac_over{background-color:#f0f0b8;cursor:pointer}.ac_match{text-decoration:underline}.comment-php .wp-editor-area{height:200px}.comment-ays{margin-bottom:0;border-bottom-style:solid;border-bottom-width:1px}.comment-ays .alt{background-color:transparent}.spam-undo-inside,.trash-undo-inside{margin:1px 8px 1px 0;line-height:16px}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-right:8px;vertical-align:middle}.stuffbox .editcomment{clear:none}#comment-status-radio p{margin:3px 0 5px}#comment-status-radio input{margin:2px 3px 5px 0;vertical-align:middle}#comment-status-radio label{padding:5px 0}table.links-table{width:100%;border-spacing:0}.links-table th{font-weight:400;text-align:left;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table td,.links-table th{padding:5px 0}.links-table td label{margin-right:8px}.links-table td input[type=text],.links-table td textarea{width:100%}.links-table #link_rel{max-width:280px}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-2x.gif) no-repeat scroll right bottom;-webkit-background-size:11px 11px;background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-rtl-2x.gif) no-repeat scroll right bottom}}@media only screen and (max-width:850px){#poststuff{min-width:0}#wpbody-content #poststuff #post-body{margin:0}#wpbody-content #post-body.columns-2 #postbox-container-1{margin-right:0;width:100%}#poststuff #postbox-container-1 #side-sortables:empty,#poststuff #postbox-container-1 .empty-container{border:0 none;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0}.columns-prefs,.screen-layout{display:none}}@media screen and (max-width:782px){#post-body-content{min-width:0}#titlediv #title-prompt-text{padding:10px}#poststuff h3{padding:12px}.post-format-options{padding-right:0}.post-format-options a{margin-right:5px;margin-bottom:5px;min-width:52px}.post-format-options .post-format-title{font-size:11px}.post-format-options a div{height:28px;width:28px}.post-format-options a div:before{font-size:26px!important}#post-visibility-select{line-height:280%}.wp-core-ui .save-post-visibility,.wp-core-ui .save-timestamp{vertical-align:middle;margin-right:15px}.timestamp-wrap select#mm{display:block;width:100%;margin-bottom:10px}.timestamp-wrap #aa,.timestamp-wrap #hh,.timestamp-wrap #jj,.timestamp-wrap #mn{padding:12px 3px;font-size:14px;margin-bottom:5px;width:auto;text-align:center}ul.category-tabs{margin:30px 0 15px}ul.category-tabs li.tabs{padding:15px}ul.categorychecklist li{margin-bottom:15px}ul.categorychecklist ul{margin-top:15px}.category-add input[type=text],.category-add select{max-width:none;margin-bottom:15px}.tagsdiv .newtag{width:100%;height:auto;margin-bottom:15px}.tagchecklist{margin:25px 10px}.tagchecklist span{font-size:16px;line-height:120%}#commentstatusdiv p{line-height:2.8}.mceToolbar *{white-space:normal!important}.mceToolbar td,.mceToolbar tr{float:left!important}.wp_themeSkin a.mceButton{width:30px;height:30px}.wp_themeSkin .mceButton .mceIcon{margin-top:5px;margin-left:5px}.wp_themeSkin .mceSplitButton{margin-top:1px}.wp_themeSkin .mceSplitButton td a.mceAction{padding-top:6px;padding-bottom:6px;padding-left:6px;padding-right:3px}.wp_themeSkin .mceSplitButton td a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover td a.mceOpen{padding-top:6px;padding-bottom:6px;background-position:1px 6px}.wp_themeSkin table.mceListBox{margin:5px}div.quicktags-toolbar input{padding:10px 20px}#wp-content-editor-tools{overflow:hidden;padding:20px 15px 1px 0;top:1px}a.wp-switch-editor{font-size:16px;line-height:1em;margin:3px 0 0 7px;padding:12px 15px}#wp-content-media-buttons a{font-size:16px;line-height:37px;height:39px;padding:0 20px 0 15px}.wp-media-buttons span.jetpack-contact-form-icon,.wp-media-buttons span.wp-media-buttons-icon{width:22px!important;margin-top:-3px!important;margin-left:-5px!important}.wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before,.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font-size:20px!important}#content_wp_fullscreen{display:none}.misc-pub-section{padding:20px 10px}.misc-pub-section>a{float:right;font-size:16px}#delete-action,#publishing-action{line-height:47px}.comment-ays{border-bottom:0}.links-table #link_rel{max-width:none}.links-table td,.links-table th{padding:10px 0}}@media only screen and (max-width:500px){#wp-content-media-buttons a{font-size:14px;padding:0 10px}}.revisions-control-frame,.revisions-diff-frame{position:relative}.revisions-controls{padding-top:40px;height:100px;z-index:1}.revisions-controls input[type=checkbox]{position:relative;top:-1px;vertical-align:text-bottom}.revisions.pinned .revisions-controls{position:fixed;top:0;height:82px;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-tickmarks{position:relative;margin:0 auto;height:.7em;top:7px;max-width:70%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#fff}.revisions-tickmarks>div{position:absolute;height:100%;border-left:1px solid #aaa;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.revisions-tickmarks>div:first-child{border-width:0}.comparing-two-revisions .revisions-controls{height:140px}.comparing-two-revisions.pinned .revisions-controls{height:124px}.revisions .diff-error{position:absolute;text-align:center;margin:0 auto;width:100%;display:none}.revisions.diff-error .diff-error{display:block}.revisions .loading-indicator{position:fixed;vertical-align:middle;opacity:0;width:100%;top:50%;margin-left:-90px;-webkit-transition:opacity .5s;transition:opacity .5s;filter:alpha(opacity=0)}body.folded .revisions .loading-indicator{margin-left:-32px}.revisions .loading-indicator span.spinner{display:block;margin:0 auto;float:none}.revisions.loading .loading-indicator{opacity:1;filter:alpha(opacity=100)}.revisions .diff{-webkit-transition:opacity .5s;transition:opacity .5s}.revisions.loading .diff{opacity:.5;filter:alpha(opacity=50)}.revisions.diff-error .diff{visibility:hidden}.revisions-meta{margin-top:20px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions.pinned .revisions-meta{-webkit-box-shadow:none;box-shadow:none}.revision-toggle-compare-mode{position:absolute;top:0;right:0}.comparing-two-revisions .revisions-next,.comparing-two-revisions .revisions-previous,.revisions-meta .diff-meta-to strong{display:none}.revisions-controls .author-card .date{color:#777}.revisions-controls .author-card.autosave{color:#d54e21}.revisions-controls .author-card .author-name{font-weight:700}.comparing-two-revisions .diff-meta-to strong{display:block}.revisions.pinned .revisions-buttons{padding:0 11px}.revisions-next,.revisions-previous{position:relative;z-index:1}.revisions-previous{float:left}.revisions-next{float:right}.revisions-controls .wp-slider{max-width:70%;margin:0 auto;top:-3px}.revisions-diff{padding:15px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-diff h3:first-child{margin-top:0}#revisions-meta-restored img,.post-revisions li img{vertical-align:middle}table.diff tbody tr td:nth-child(2){width:4%}table.diff{table-layout:fixed;width:100%;white-space:pre-wrap}table.diff col.content{width:auto}table.diff col.content.diffsplit{width:48%}table.diff col.diffsplit.middle{width:auto}table.diff col.ltype{width:30px}table.diff tr{background-color:transparent}table.diff td,table.diff th{font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.618;padding:.5em;vertical-align:top;word-wrap:break-word}table.diff td h1,table.diff td h2,table.diff td h3,table.diff td h4,table.diff td h5,table.diff td h6{margin:0}table.diff .diff-addedline ins,table.diff .diff-deletedline del{text-decoration:none}table.diff .diff-deletedline{background-color:#ffe9e9}table.diff .diff-deletedline del{background-color:#faa}table.diff .diff-addedline{background-color:#e9ffe9}table.diff .diff-addedline ins{background-color:#afa}.diff-meta{padding:5px;clear:both;min-height:32px}.diff-title strong{line-height:32px;min-width:60px;text-align:right;float:left;margin-right:5px}.revisions-controls .author-card .author-info{font-size:12px;line-height:16px}.revisions-controls .author-card .author-info,.revisions-controls .author-card .avatar{float:left;margin-left:6px;margin-right:6px}.revisions-controls .author-card .byline{display:block;font-size:12px}.revisions-controls .author-card .avatar{vertical-align:middle}.diff-meta input.restore-revision{float:right;margin-left:6px;margin-right:6px;margin-top:4px}.diff-meta-from{display:none}.comparing-two-revisions .diff-meta-from{display:block}.revisions-tooltip{position:absolute;bottom:105px;margin-right:0;margin-left:-69px;z-index:0;max-width:350px;min-width:130px;padding:8px 4px;opacity:0}.revisions-tooltip.flipped{margin-left:0;margin-right:-70px}.revisions.pinned .revisions-tooltip{display:none!important}.comparing-two-revisions .revisions-tooltip{bottom:145px}.revisions-tooltip-arrow{width:70px;height:15px;overflow:hidden;position:absolute;left:0;margin-left:35px;bottom:-15px}.revisions-tooltip.flipped .revisions-tooltip-arrow{margin-left:0;margin-right:35px;left:auto;right:0}.revisions-tooltip-arrow>span{content:"";position:absolute;left:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.revisions-tooltip.flipped .revisions-tooltip-arrow>span{left:auto;right:20px}.ie8 .revisions-tooltip-arrow>span{left:15px;top:-25px;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)"}.ie8 .revisions-tooltip.flipped .revisions-tooltip-arrow>span{right:25px}.revisions-tooltip,.revisions-tooltip-arrow>span{border:1px solid #d7d7d7;background-color:#fff}.revisions-tooltip{display:none}.arrow{width:70px;height:16px;overflow:hidden;position:absolute;left:0;margin-left:-35px;bottom:90px;z-index:10000}.arrow::after{z-index:9999;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.arrow.top{top:-16px;bottom:auto}.arrow.left{left:20%}.arrow:after{content:"";position:absolute;left:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.revisions-tooltip,.revisions-tooltip-arrow:after{border-width:1px;border-style:solid}div.revisions-controls>.wp-slider>.ui-slider-handle{margin-left:-10px}.rtl div.revisions-controls>.wp-slider>.ui-slider-handle{margin-right:-10px}.wp-slider.ui-slider{position:relative;border:1px solid #d7d7d7;text-align:left;cursor:pointer}.wp-slider .ui-slider-handle{-webkit-border-radius:50%;border-radius:50%;height:18px;margin-top:-3px;outline:0;position:absolute;width:18px;z-index:2}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#2ea2cc;border:1px solid #0074a2;-webkit-box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15)}.wp-slider .ui-slider-handle:before{background:0 0;position:absolute;top:0;left:0;color:#fff;content:"\f229";font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{font-size:20px!important;margin:-1px 0 0 -1px}.wp-slider .ui-slider-handle.from-handle:before{content:'\f139'}.rtl .wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{content:'\f141'}.rtl .wp-slider .ui-slider-handle.to-handle:before{content:'\f139';right:-1px}.wp-slider .ui-slider-range{position:absolute;font-size:.7em;display:block;border:0;background-color:transparent;background-image:none}.wp-slider.ui-slider-horizontal{height:.7em}.wp-slider.ui-slider-horizontal .ui-slider-handle{top:-.25em;margin-left:-.6em}.wp-slider.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.wp-slider.ui-slider-horizontal .ui-slider-range-min{left:0}.wp-slider.ui-slider-horizontal .ui-slider-range-max{right:0}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.revision-tick.completed-false{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){#diff-next-revision,#diff-previous-revision{margin-top:-1em}table.diff{-ms-word-break:break-all;word-break:break-all;word-wrap:break-word}}.media-item .describe{border-collapse:collapse;width:100%;border-top:1px solid #dfdfdf;clear:both;cursor:default}.media-item.media-blank .describe{border:0}.media-item .describe th{vertical-align:top;text-align:left;padding:5px 10px 10px;width:140px}.media-item .describe .align th{padding-top:0}.media-item .media-item-info tr{background-color:transparent}.media-item .describe td{padding:0 8px 8px 0;vertical-align:top}.media-item thead.media-item-info td{padding:4px 10px 0}.media-item .media-item-info .A1B1{padding:0 0 0 10px}.media-item td.savesend{padding-bottom:15px}.media-item .thumbnail{max-height:128px;max-width:128px}#wpbody-content #async-upload-wrap a{display:none}.media-upload-form{margin-top:20px}.media-upload-form td label{margin-right:6px;margin-left:2px}.media-upload-form .align .field label{display:inline;padding:0 0 0 23px;margin:0 1em 0 3px;font-weight:600}.media-upload-form tr.image-size label{margin:0 0 0 5px;font-weight:600}.media-upload-form th.label label{font-weight:600;margin:.5em;font-size:13px}.media-upload-form th.label label span{padding:0 5px}.media-item .describe input[type=text],.media-item .describe textarea{width:460px}.media-item .describe p.help{margin:0;padding:0 0 0 5px}.describe-toggle-off,.describe-toggle-on,.media-item .edit-attachment{display:block;line-height:36px;float:right}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on{display:none}.media-item.open .describe-toggle-off{display:block}#media-items .media-item{border-bottom:1px solid #dfdfdf;min-height:36px;position:relative;width:100%}#media-items{width:623px}.media-new-php #media-items{margin:1em 0}#media-items:empty{border:0 none}.media-item .filename{line-height:36px;overflow:hidden}.media-item .pinkynail{float:left;margin:2px 10px 0 0;max-width:40px;max-height:32px}.media-item .startclosed,.media-item .startopen{display:none}.media-item .original{position:relative;height:34px}.media-item .progress{float:right;height:22px;margin:7px 0 0;width:200px;line-height:2em;padding:0;overflow:hidden;margin-bottom:2px;-webkit-border-radius:22px;border-radius:22px;background:#ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.media-item .bar{z-index:9;width:0;height:100%;margin-top:-22px;-webkit-border-radius:22px;border-radius:22px;background-color:#0074a2;-webkit-box-shadow:inset 0 0 2px rgba(0,0,0,.3);box-shadow:inset 0 0 2px rgba(0,0,0,.3)}.media-item .progress .percent{z-index:10;position:relative;width:200px;padding:0;color:#fff;text-align:center;line-height:22px;font-weight:400;text-shadow:0 1px 2px rgba(0,0,0,.2)}.upload-php .fixed .column-parent{width:15%}.js .html-uploader #plupload-upload-ui{display:none}.js .html-uploader #html-upload-ui{display:block}.media-upload-form .media-item.error{margin:0;padding:0}.media-item .error-div,.media-upload-form .media-item.error p{line-height:16px;margin:5px 10px;padding:0}.media-item .error-div a.dismiss{display:block;float:right;margin:5px 4px 0 15px}.find-box{background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:600px;overflow:hidden;margin-left:-300px;position:fixed;top:30px;bottom:30px;left:50%;z-index:100105}.find-box-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px;position:absolute;top:0;left:0;right:0}.find-box-inside{overflow:auto;padding:16px;background-color:#fff;position:absolute;top:37px;bottom:45px;overflow-y:scroll;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.find-box-search{padding-bottom:16px}.find-box-search .spinner{float:none;left:125px;position:absolute;top:18px}#find-posts-input,#find-posts-search{float:left}#find-posts-input{width:140px;height:28px;margin:0 4px 0 0}.widefat .found-radio{padding-right:0;width:16px}#find-posts-close{width:36px;height:36px;position:absolute;top:0;right:0;cursor:pointer;text-align:center;color:#666}#find-posts-close:hover{color:#2ea2cc}#find-posts-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f158'}.find-box-buttons{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;left:0;right:0}@media screen and (max-width:782px){.find-box-inside{bottom:57px}}@media screen and (max-width:660px){.find-box{top:0;bottom:0;left:0;right:0;margin:0;width:100%}}.ui-find-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em 0}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border:1px solid #ddd;line-height:1.8em;word-spacing:3px;-webkit-border-radius:6px;border-radius:6px}.drag-drop #drag-drop-area{border:4px dashed #bbb;height:200px}.drag-drop .drag-drop-inside{margin:70px auto 0;width:250px}.drag-drop-inside p{color:#aaa;font-size:14px;margin:5px 0;display:none}.drag-drop .drag-drop-inside p{text-align:center}.drag-drop-inside p.drag-drop-info{font-size:20px}.drag-drop .drag-drop-inside p,.drag-drop-inside p.drag-drop-buttons{display:block}.drag-drop.drag-over #drag-drop-area{border-color:#83b4d8}#plupload-upload-ui{position:relative}.wp_attachment_details label[for=content]{font-size:13px;line-height:1.5;margin:1em 0}.wp_attachment_details #attachment_caption{height:4em}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}.imgedit-settings p{margin:8px 0 0}.describe .imgedit-wrap .imgedit-settings{padding:0 5px}.wp_attachment_holder div.updated{margin-top:0}.wp_attachment_holder .imgedit-wrap>div{height:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-panel-content{padding-right:16px;width:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-settings{float:right;width:250px}.imgedit-settings input{margin-top:0;vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:#fff url(../images/spinner.gif) no-repeat center;-webkit-background-size:20px 20px;background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.no-float{float:none}.imgedit-settings .disabled,.media-disabled{color:grey}.A1B1,.wp_attachment_image{overflow:hidden}.A1B1 .button,.wp_attachment_image .button{float:left}.no-js .wp_attachment_image .button{display:none}.A1B1 .spinner,.wp_attachment_image .spinner{float:left;padding:0 0 4px;vertical-align:bottom}.imgedit-menu{margin:0 0 12px;min-width:300px}.imgedit-menu div{float:left;width:32px;border:1px solid #d5d5d5;background:#f1f1f1;margin:0 8px 0 0;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;line-height:28px;color:#777;cursor:pointer}.imgedit-menu div:before{font:400 20px/1 dashicons;speak:none;vertical-align:middle}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;color:#333}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;color:#777;filter:alpha(opacity=50);opacity:.5;cursor:default}.imgedit-crop:before{content:'\f165'}.imgedit-rleft:before{content:'\f166'}.imgedit-rright:before{content:'\f167'}.imgedit-flipv:before{content:'\f168'}.imgedit-fliph:before{content:'\f169'}.imgedit-undo:before{content:'\f171'}.imgedit-redo:before{content:'\f172'}.imgedit-crop-wrap{position:relative}.imgedit-crop{margin:0 8px 0 0}.imgedit-rleft{margin:0 3px}.imgedit-rright{margin:0 8px 0 3px}.imgedit-flipv{margin:0 3px}.imgedit-fliph{margin:0 8px 0 3px}.imgedit-undo{margin:0 3px}.imgedit-redo{margin:0 8px 0 3px}.imgedit-applyto img{margin:0 8px 0 0}.imgedit-group-top{margin:5px 0}#poststuff .imgedit-group-top h3{padding:0}.imgedit-group-top h3 a{text-decoration:none}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block}.imgedit-help{display:none;font-style:italic}a.imgedit-help-toggle{text-decoration:none}.form-table td.imgedit-response{padding:0}.imgedit-submit{margin:8px 0}.imgedit-submit-btn{margin-left:20px}.imgedit-wrap .nowrap{white-space:nowrap}span.imgedit-scale-warn{color:red;font-size:20px;font-style:normal;visibility:hidden;vertical-align:middle}.imgedit-group{margin-bottom:8px;padding:2px 10px}audio,video{display:inline-block;max-width:100%}.mejs-container{width:100%}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.imgedit-wait{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){.wp_attachment_details label[for=content]{font-size:14px;line-height:1.5em}}.theme-browser .themes{clear:both;padding:0 0 100px}.themes-php .wrap h2{float:left;margin-bottom:15px}.network-admin.themes-php .wrap h2{margin-bottom:0}.themes-php .wrap h2 .button{margin-left:20px}.theme-navigation .theme-count,.themes-php .wrap .theme-count{color:#fff;-webkit-border-radius:30px;border-radius:30px;background:#777;font-size:14px;padding:4px 10px;font-weight:600;margin-left:5px;margin-right:20px;position:relative;top:-3px}.theme-navigation a{text-decoration:none}.themes-php div.error,.themes-php div.updated{margin:0 0 20px;clear:both}.themes-php div.updated a{text-decoration:underline}.theme-browser .theme{cursor:pointer;float:left;margin:0 4% 4% 0;position:relative;width:30.6%;border:1px solid #dedede;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ie8 .theme-browser .theme{width:30%;margin:0 3% 4% 0}.theme-browser .theme:nth-child(3n){margin-right:0}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:pointer}.theme-browser .theme .theme-name{font-size:15px;font-weight:600;height:18px;margin:0;padding:15px;-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:#fff;background:rgba(255,255,255,.65)}.theme-browser .theme .theme-actions{-ms-filter:"alpha(Opacity=0)";opacity:0;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out;position:absolute;bottom:0;right:0;height:38px;padding:9px 10px 0;background:rgba(244,244,244,.7);border-left:1px solid rgba(0,0,0,.05)}.theme-browser .theme.focus .theme-actions,.theme-browser .theme:focus .theme-actions,.theme-browser .theme:hover .theme-actions{-ms-filter:"alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-actions .button-primary{margin-right:3px}.theme-browser .theme .theme-actions .button-secondary{float:none;margin-left:3px}.theme-browser .theme .theme-screenshot{display:block;overflow:hidden;position:relative;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme .theme-screenshot:after{content:'';display:block;padding-top:66.66666%}.theme-browser .theme .theme-screenshot img{height:auto;position:absolute;left:0;top:0;width:100%;-webkit-transform:translateZ(0);-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme:focus .theme-screenshot,.theme-browser .theme:hover .theme-screenshot{background:#fff}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:.4}.theme-browser .theme .more-details{-ms-filter:"alpha(Opacity=0)";opacity:0;position:absolute;top:35%;right:25%;left:25%;background:#222;background:rgba(0,0,0,.7);color:#fff;font-size:15px;text-shadow:0 1px 0 rgba(0,0,0,.6);-webkit-font-smoothing:antialiased;font-weight:600;padding:15px 12px;text-align:center;-webkit-border-radius:3px;border-radius:3px;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out}.theme-browser .theme:focus{outline:1px dotted #222}.theme-browser .theme:focus .more-details{opacity:1}.theme-browser .theme.active:focus .theme-actions{display:block}.theme-browser.rendered .theme:focus .more-details,.theme-browser.rendered .theme:hover .more-details{-ms-filter:"alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-installed,.theme-browser .theme .theme-update{background:#d54e21;background:rgba(213,78,33,.95);color:#fff;display:block;font-size:13px;font-weight:400;height:48px;line-height:48px;padding:0 10px;position:absolute;top:0;right:0;left:0;border-bottom:1px solid rgba(0,0,0,.25);overflow:hidden}.theme-browser .theme .theme-installed:before,.theme-browser .theme .theme-update:before{content:'\f463';display:inline-block;font:400 20px/1 dashicons;margin:0 6px 0 0;opacity:.8;position:relative;top:5px;speak:none;-webkit-font-smoothing:antialiased}.theme-browser .theme.active .theme-name{background:#2f2f2f;color:#fff;padding-right:110px;font-weight:300;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.5)}.theme-browser .theme.active .theme-name span{font-weight:600}.theme-browser .theme.active .theme-actions{background:rgba(49,49,49,.7);border-left:0;opacity:1}.theme-browser .theme.active .theme-actions .button-primary{margin-right:0}.theme-browser .theme .theme-author{background:#222;color:#eee;display:none;font-size:14px;margin:0 10px;padding:5px 10px;position:absolute;bottom:56px}.theme-browser .theme.display-author .theme-author{display:block}.theme-browser .theme.display-author .theme-author a{color:inherit;text-decoration:none}.theme-browser .theme.add-new-theme{border:0;-webkit-box-shadow:none;box-shadow:none}.theme-browser .theme.add-new-theme a{color:#999;text-decoration:none;display:block;position:relative;z-index:1}.theme-browser .theme.add-new-theme:after{display:block;content:'';-ms-filter:"alpha(Opacity=100)";opacity:1;background:0 0;background:rgba(0,0,0,0);position:absolute;top:0;left:0;right:0;bottom:0;padding:10% 0 0;text-shadow:none;border:5px dashed #d5d2ca;border:5px dashed rgba(0,0,0,.1);-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.theme-browser .theme.add-new-theme span:after{background:#e5e5e5;background:rgba(153,153,153,.1);-webkit-border-radius:50%;border-radius:50%;display:inline-block;content:'\f132';-webkit-font-smoothing:antialiased;font:400 74px/115px dashicons;width:100px;height:100px;vertical-align:middle;text-align:center;color:#999;position:absolute;top:30%;left:50%;margin-left:-50px;text-indent:-4px;padding:0;text-shadow:none;z-index:4}.rtl .theme-browser .theme.add-new-theme span:after{text-indent:4px}.theme-browser .theme.add-new-theme:focus .theme-screenshot,.theme-browser .theme.add-new-theme:hover .theme-screenshot{background:0 0}.theme-browser .theme.add-new-theme:focus span:after,.theme-browser .theme.add-new-theme:hover span:after{background:#fff;color:#0074a2}.theme-browser .theme.add-new-theme:focus:after,.theme-browser .theme.add-new-theme:hover:after{border-color:transparent;color:#fff;background:#0074a2;content:''}.theme-browser .theme.add-new-theme .theme-name{background:0 0;text-align:center;-webkit-box-shadow:none;box-shadow:none;font-weight:400;position:relative;top:0;margin-top:-10%;margin-bottom:10%}.theme-browser .theme.add-new-theme:focus .theme-name,.theme-browser .theme.add-new-theme:hover .theme-name{color:#fff;z-index:2}.themes-php .theme-search{position:relative;top:-2px;left:20px;font-size:16px;font-weight:300;line-height:1.5;width:280px}.theme-overlay .theme-backdrop{position:absolute;left:-20px;right:0;top:0;bottom:0;background:#f1f1f1;background:rgba(238,238,238,.9);z-index:10}body.theme-overlay-open{overflow:hidden}.theme-overlay .theme-header{position:absolute;top:0;left:0;right:0;height:48px;border-bottom:1px solid #ddd}.theme-overlay .theme-header .close{cursor:pointer;height:48px;width:50px;text-align:center;float:right;border:0;border-left:1px solid #ddd;background-color:transparent}.theme-overlay .theme-header .close:focus:before,.theme-overlay .theme-header .close:hover:before{color:#fff}.theme-overlay .theme-header .close:before{font:400 30px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.theme-overlay .theme-header .left,.theme-overlay .theme-header .right{cursor:pointer;color:#777;background-color:transparent;height:48px;width:54px;float:left;text-align:center;border:0;border-right:1px solid #ddd}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:focus,.theme-overlay .theme-header .right:hover{background:#0074a2;color:#fff}.theme-overlay .theme-header .left.disabled,.theme-overlay .theme-header .left.disabled:hover,.theme-overlay .theme-header .right.disabled,.theme-overlay .theme-header .right.disabled:hover{color:#ccc;background:inherit;cursor:inherit}.theme-overlay .theme-header .left:before,.theme-overlay .theme-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.theme-overlay .theme-header .left:before{content:'\f340'}.theme-overlay .theme-header .right:before{content:'\f344'}.rtl .theme-overlay .theme-header .left:before{content:'\f345'}.rtl .theme-overlay .theme-header .right:before{content:'\f341'}.theme-overlay .theme-wrap{clear:both;position:fixed;top:9%;left:190px;right:30px;bottom:3%;background:#fff;-webkit-box-shadow:0 1px 20px 5px rgba(0,0,0,.1);box-shadow:0 1px 20px 5px rgba(0,0,0,.1);z-index:20;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.theme-overlay .theme-wrap:after{content:".";display:block;height:0;clear:both;visibility:hidden}body.folded .theme-overlay .theme-wrap{left:70px}.theme-overlay .theme-about{position:absolute;top:49px;bottom:57px;left:0;right:0;overflow:auto;padding:2% 4%}.theme-overlay .theme-about:after{content:".";display:block;height:0;clear:both;visibility:hidden}.theme-overlay .theme-actions{position:absolute;text-align:center;bottom:0;left:0;right:0;padding:10px 25px 5px;background:#f3f3f3;z-index:30;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-top:1px solid #eee}.ie8 .theme-overlay .theme-actions{border:1px solid #eee}.theme-overlay .theme-actions a{margin-right:5px;margin-bottom:5px}.theme-overlay .theme-actions .delete-theme{color:#a00;position:absolute;right:10px;bottom:5px;text-decoration:none;border-color:transparent;-webkit-box-shadow:none;box-shadow:none;background:0 0}.theme-overlay .theme-actions .delete-theme:focus,.theme-overlay .theme-actions .delete-theme:hover{background:#d54e21;color:#fff;border-color:#d54e21}.theme-overlay .theme-actions .active-theme,.theme-overlay.active .theme-actions .inactive-theme{display:none}.theme-overlay .theme-actions .inactive-theme,.theme-overlay.active .theme-actions .active-theme{display:block}.theme-overlay .theme-screenshots{float:left;margin:0 30px 0 0;width:55%;max-width:880px;text-align:center}.theme-overlay .screenshot{border:1px solid #fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.theme-overlay .screenshot:after{content:'';display:block;padding-top:75%}.theme-overlay .screenshot img{height:auto;position:absolute;left:0;top:0;width:100%}.theme-overlay.small-screenshot .theme-screenshots{position:absolute;width:302px}.theme-overlay.small-screenshot .theme-info{margin-left:350px;width:auto}.theme-overlay .screenshot.thumb{background:#ccc;border:1px solid #eee;float:none;display:inline-block;margin:10px 5px 0;width:140px;height:80px;cursor:pointer}.theme-overlay .screenshot.thumb:after{content:'';display:block;padding-top:100%}.theme-overlay .screenshot.thumb img{cursor:pointer;position:absolute;left:0;top:0;width:100%;height:auto}.theme-overlay .screenshot.selected{background:0 0;border:2px solid #2ea2cc}.theme-overlay .screenshot.selected img{opacity:.8}.theme-browser .theme .theme-screenshot.blank,.theme-overlay .screenshot.blank{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=)}.theme-overlay .theme-info{width:40%;float:left}.theme-overlay .current-label{background:#333;color:#fff;font-size:11px;display:inline-block;padding:2px 8px;-webkit-border-radius:2px;border-radius:2px;margin:0 0 -10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.theme-overlay .theme-name{color:#222;font-size:32px;font-weight:100;margin:10px 0 0;line-height:1.3}.theme-overlay .theme-version{color:#999;font-size:13px;font-weight:400;float:none;display:inline-block;margin-left:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.theme-overlay .theme-author{color:#686868;font-size:16px;font-weight:400;margin:15px 0 25px}.theme-overlay .theme-author a{text-decoration:none}.theme-overlay .theme-description{color:#555;font-size:15px;font-weight:400;line-height:1.5;margin:30px 0 0}.theme-overlay .theme-tags{border-top:3px solid #eee;color:#888;font-size:13px;font-weight:400;margin:30px 0 0;padding-top:20px}.theme-overlay .theme-tags span{color:#444;font-weight:700;margin-right:5px}.theme-overlay .theme-update-message{background:#fef7f1;border:1px solid #eee;border-left:4px solid #d54e21;-webkit-border-radius:3px;border-radius:3px;padding:5px 20px 10px}.theme-overlay .theme-update{color:#222;font-size:18px;display:inline-block;line-height:40px;margin:0}.theme-overlay .parent-theme{background:#f7fcfe;border:1px solid #eee;border-left:4px solid #2ea2cc;font-size:14px;font-weight:400;margin-top:30px;padding:10px 10px 10px 20px}.theme-overlay .parent-theme strong{font-weight:700}.single-theme .theme,.single-theme .theme-overlay .theme-backdrop,.single-theme .theme-overlay .theme-header{display:none}.single-theme .theme-overlay .theme-wrap{clear:both;min-height:330px;position:relative;left:auto;right:auto;top:auto;bottom:auto}.single-theme .theme-overlay .theme-about{padding:30px 30px 70px;position:static}.single-theme .theme-overlay .theme-actions{position:absolute}@media only screen and (min-width:2000px){#wpwrap .theme-browser .theme{width:17.6%;margin:0 3% 3% 0}#wpwrap .theme-browser .theme:nth-child(3n),#wpwrap .theme-browser .theme:nth-child(4n){margin-right:3%}#wpwrap .theme-browser .theme:nth-child(5n){margin-right:0}}@media only screen and (min-width:1680px){.theme-overlay .theme-wrap{width:1450px;margin:0 auto}}@media only screen and (min-width:1640px){.theme-browser .theme{width:22.7%;margin:0 3% 3% 0}.theme-browser .theme .theme-screenshot:after{padding-top:75%}.theme-browser .theme:nth-child(3n){margin-right:3%}.theme-browser .theme:nth-child(4n){margin-right:0}}@media only screen and (max-width:1120px){.theme-browser .theme{width:47.5%;margin-right:0}.theme-browser .theme:nth-child(even){margin-right:0}.theme-browser .theme:nth-child(odd){margin-right:5%}}@media only screen and (max-width:900px){.theme-overlay .theme-wrap{left:65px}}@media only screen and (max-width:780px){.theme-overlay .theme-wrap,body.folded .theme-overlay .theme-wrap{top:0;right:0;bottom:0;left:0;padding:70px 20px 20px;border:0;z-index:500;position:fixed}.theme-browser .theme.active .theme-name span{display:none}.theme-overlay .theme-screenshots{width:40%}.theme-overlay .theme-info{width:50%}.single-theme .theme-wrap{padding:10px}.theme-browser .theme .theme-actions{padding:5px 10px 4px}.theme-overlay.small-screenshot .theme-screenshots{position:static;float:none;max-width:302px}.theme-overlay.small-screenshot .theme-info{margin-left:0;width:auto}.theme:focus .more-details,.theme:hover .more-details,.theme:not(.active):focus .theme-actions,.theme:not(.active):hover .theme-actions{display:none}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:1}}@media only screen and (max-width:480px){.theme-browser .theme{width:100%;margin-right:0}.theme-browser .theme:nth-child(2n),.theme-browser .theme:nth-child(3n){margin-right:0}}@media only screen and (max-width:650px){.theme-overlay .theme-description,.theme-overlay .theme-update{margin-left:0}.theme-overlay .theme-actions .delete-theme{position:relative;right:auto;bottom:auto}.theme-overlay .theme-actions .inactive-theme{display:inline}.theme-overlay .theme-screenshots{width:100%;float:none}.theme-overlay .theme-info{width:100%}.theme-overlay .theme-author{margin:5px 0 15px}.theme-overlay .current-label{margin-top:10px;font-size:13px}.themes-php .wrap h2{width:100%}.themes-php .theme-search{float:none;clear:both;left:0;top:0;right:0;margin:10px 0;width:100%}.theme-browser .theme.add-new-theme span:after{font:400 60px/90px dashicons;width:80px;height:80px;top:30%;left:50%;text-indent:0;margin-left:-40px}.single-theme .theme-wrap{margin:0 -12px 0 -10px;padding:10px}.single-theme .theme-overlay .theme-about{padding:10px;overflow:visible}.single-theme .current-label{display:none}.single-theme .theme-overlay .theme-actions{position:static}}.broken-themes{clear:both}.broken-themes table{text-align:left;width:50%;border-spacing:3px;padding:3px}.theme-browser .theme .theme-installed{background:#0074a2}.theme-browser .theme .theme-installed:before{content:'\f147'}.theme-browser .theme.is-installed .theme-actions .button-primary{display:none!important}.theme-navigation{background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#555;display:inline-block;font-size:13px;margin:20px 0 30px;padding:0 20px;position:relative;width:100%}.theme-install-php a.browse-themes,.theme-install-php a.upload{cursor:pointer}.theme-install-php a.browse-themes,.theme-install-php.show-upload-theme a.upload{display:none}.theme-install-php.show-upload-theme a.browse-themes{display:inline}.upload-theme{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:none;margin:0;padding:0;width:100%;overflow:hidden;position:relative;top:10px}body.show-upload-theme .upload-theme{display:block}.upload-theme .wp-upload-form{background:#fafafa;border:1px solid #e5e5e5;padding:30px;margin:30px auto;max-width:380px}.upload-theme .install-help{color:#999;font-size:18px;font-style:normal;margin:0;padding:40px 0 0;text-align:center}body.show-upload-theme .upload-theme+.theme-navigation,body.show-upload-theme .upload-theme+.theme-navigation+.theme-browser{display:none}.theme-navigation .theme-count{margin-left:0;position:absolute;top:12px}.theme-count+.theme-section{margin-left:60px}.theme-filter,.theme-section{border-bottom:4px solid #fff;color:#666;cursor:pointer;display:inline-block;margin:0 10px;padding:15px 0}.theme-filter.current,.theme-section.current{border-bottom:4px solid #666;color:#222}.theme-top-filters{display:inline-block}.theme-navigation .more-filters{color:#666;cursor:pointer;display:inline-block;margin:0 10px;padding:4px 6px}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{background:#777;-webkit-border-radius:2px;border-radius:2px;border:0;color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{background:#2ea2cc}.theme-install-php .theme-search{position:absolute;right:10px;top:9px;font-size:16px;font-weight:300;line-height:1.5;width:280px}.more-filters:before{color:#777;margin:0 5px 0 0;content:"\f111";display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;text-align:center}.more-filters.current:before{color:#fff}.more-filters-container{display:none;padding:20px;border-top:1px solid #eee;margin:0 -20px;background:#fafafa}body.more-filters-opened .more-filters-container{display:block;overflow:hidden}body.more-filters-opened .theme-section.current{border-bottom:0}body.more-filters-opened .theme-browser,body.more-filters-opened.filters-applied.loading-themes .theme-browser{display:none}body.more-filters-opened.filters-applied .theme-browser{display:block}.more-filters-container .filters-group{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;width:19%;background:#fff;margin:0 1% 0 0;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);padding:10px}.more-filters-container .wide-filters-group{width:38%}.more-filters-container .feature-name{margin:0;position:relative}.more-filters-container ol{list-style-type:none;margin:20px 0 0;font-size:12px}.more-filters-container li{display:inline-block;vertical-align:top;list-style-type:none;margin:5px 0;padding-right:25px;width:160px}.theme-navigation .more-filters-container .apply-filters{margin:0 0 20px}.theme-navigation .more-filters-container .clear-filters{display:none;margin:0 0 20px 10px}.more-filters-container .apply-filters span{display:inline-block;font-size:12px;text-indent:10px;opacity:.8}.more-filters-container .filtering-by{display:none;margin:0}.more-filters-container .filtering-by>span{font-weight:600}.more-filters-container .filtering-by .tags{display:inline}.more-filters-container .filtering-by .tag{background:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);font-size:11px;margin:0 5px;padding:4px 8px}.more-filters-container .filtering-by a{margin-left:10px}body.filters-applied .more-filters-container .filters-group,body.filters-applied .more-filters-container a.button,body.filters-applied .more-filters-container br{display:none!important}body.filters-applied .more-filters-container .filtering-by{display:block}body.filters-applied .more-filters-container{padding:20px}p.no-themes{color:#999;font-size:18px;font-style:normal;margin:0;padding:0;text-align:center;display:none}body.no-results p.no-themes{display:block}.theme-install-php .add-new-theme,body.show-upload-theme p.no-themes{display:none!important}@media only screen and (max-width:1120px){.theme-install-php .theme-search{margin:20px 0;position:static;width:100%}.more-filters-container{border-bottom:1px solid #eee}.upload-theme .wp-upload-form{margin:20px 0;max-width:100%}.upload-theme .install-help{font-size:15px;padding:20px 0 0;text-align:left}.more-filters-container .filters-group{margin-bottom:0;margin-top:5px;width:100%}.more-filters-container .filters-group li{margin:10px 0}}@media only screen and (max-width:782px){.more-filters-container .filters-group,.more-filters-container .filters-group li{width:100%}}.rating{margin:30px 0}.rating span:before{color:#e6b800;content:"\f154";display:inline-block;-webkit-font-smoothing:antialiased;font:400 20px/1 dashicons;vertical-align:top}.rating-10 span.one:before,.rating-30 span.two:before,.rating-50 span.three:before,.rating-70 span.four:before,.rating-90 span.five:before{content:"\f459"}.rating-100 span.five:before,.rating-100 span.four:before,.rating-100 span.one:before,.rating-100 span.three:before,.rating-100 span.two:before,.rating-20 span.one:before,.rating-30 span.one:before,.rating-40 span.one:before,.rating-40 span.two:before,.rating-50 span.one:before,.rating-50 span.two:before,.rating-60 span.one:before,.rating-60 span.three:before,.rating-60 span.two:before,.rating-70 span.one:before,.rating-70 span.three:before,.rating-70 span.two:before,.rating-80 span.four:before,.rating-80 span.one:before,.rating-80 span.three:before,.rating-80 span.two:before,.rating-90 span.four:before,.rating-90 span.one:before,.rating-90 span.three:before,.rating-90 span.two:before{content:"\f155"}.rating .ratings{display:inline;margin-left:10px;line-height:20px;color:#999}.error .theme-browser,.loading-themes .theme-browser{display:none}.loading-themes .spinner{display:block;margin:40px auto 0;float:none}.appearance_page_custom-header #headimg{border:1px solid #DFDFDF;overflow:hidden;width:100%}.appearance_page_custom-header #upload-form p label{font-size:12px}.appearance_page_custom-header .available-headers .default-header{float:left;margin:0 20px 20px 0}.appearance_page_custom-header .random-header{clear:both;margin:0 20px 20px 0;vertical-align:middle}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-right:10px}.appearance_page_custom-header .available-headers label img{vertical-align:middle}div#custom-background-image{min-height:100px;border:1px solid #dfdfdf}div#custom-background-image img{max-width:400px;max-height:300px}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:0 0;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;left:0;right:0;height:100%;min-width:0}.wp-full-overlay-sidebar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:fixed;width:300px;height:100%;top:0;bottom:0;left:0;padding:0;margin:0;z-index:10;overflow:auto;background:#eee;border-right:0}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{overflow:visible}.wp-full-overlay.collapsed,.wp-full-overlay.expanded .wp-full-overlay-sidebar{margin-left:0!important}.wp-full-overlay.expanded{margin-left:300px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{margin-left:-300px}.wp-full-overlay-sidebar:after{content:'';display:block;position:absolute;top:0;bottom:0;right:0;width:3px;z-index:1000}.wp-full-overlay-main{position:absolute;left:0;right:0;top:0;bottom:0;height:100%}.wp-full-overlay-sidebar .wp-full-overlay-header{position:absolute;left:0;right:0;height:45px;padding:0 15px;line-height:45px;z-index:10;margin:0;border-top:0;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-header a.back{margin-top:9px}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:0;border-top:0;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;left:0;right:0;overflow:auto}.wp-full-overlay .close-full-overlay{text-decoration:none}.wp-full-overlay a.collapse-sidebar{position:absolute;bottom:12px;left:0;z-index:50;display:block;width:19px;height:19px;margin-left:15px;padding:0;-webkit-border-radius:50%;border-radius:50%;color:#777;text-decoration:none}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay.collapsed .collapse-sidebar{position:absolute;left:100%}.wp-full-overlay .collapse-sidebar-arrow{position:static;margin-top:0;margin-left:0;display:block;width:auto;height:auto;background:0 0}.wp-full-overlay .collapse-sidebar-arrow:before{-webkit-border-radius:50%;border-radius:50%;float:left;content:"\f148";background:#eee;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.rtl .wp-full-overlay .collapse-sidebar-arrow:before,.wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:none;-ms-transform:none;transform:none}.wp-full-overlay.collapsed .collapse-sidebar-arrow{background-position:-1px -109px}.wp-full-overlay .collapse-sidebar-label{position:absolute;left:100%;line-height:20px;margin-left:10px}.wp-full-overlay.collapsed .collapse-sidebar-label{display:none}.wp-full-overlay .theme-navigation{padding:10px 20px;position:absolute;bottom:10px;text-align:left}.wp-full-overlay .theme-navigation .next-theme{float:right}.wp-full-overlay.no-navigation .theme-navigation{display:none}.wp-full-overlay,.wp-full-overlay .collapse-sidebar,.wp-full-overlay-main,.wp-full-overlay-sidebar{-webkit-transition-property:left,right,top,bottom,width,margin;transition-property:left,right,top,bottom,width,margin;-webkit-transition-duration:.2s;transition-duration:.2s}.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#customize-container{display:none;background:#fff;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;left:0;right:0;height:100%}.customize-active #customize-container{display:block}.customize-loading #customize-container iframe{opacity:0}.customize-loading #customize-container{background:#fff url(../images/spinner.gif) no-repeat fixed center center;-webkit-background-size:20px 20px;background-size:20px 20px}#customize-container iframe,.theme-install-overlay iframe{height:100%;width:100%;z-index:20;-webkit-transition:opacity .3s;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#customize-controls{margin-top:0}.theme-install-overlay{display:none}.theme-install-overlay.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 60px}.single-theme .install-theme-info{padding-top:15px}.theme-install-overlay .install-theme-info{display:block}.install-theme-info .theme-install{float:right;margin-top:18px}.install-theme-info .theme-name{font-size:16px;line-height:24px;margin-bottom:0;margin-top:0}.install-theme-info .theme-screenshot{margin-top:15px;width:258px;border:1px solid #ccc}.install-theme-info .theme-details{overflow:hidden}.theme-details .theme-version{margin:15px 0;float:left}.theme-details .star-rating{margin:7px 0;float:right}.theme-details .theme-description{float:left;color:#777;line-height:20px;max-width:100%}.theme-install-overlay .wp-full-overlay-header{margin-top:9px}.theme-install-overlay .wp-full-overlay-header .theme-install{float:right;line-height:26px}.theme-install-overlay .wp-full-overlay-sidebar{background:#EEE;border-right:1px solid #DDD}.theme-install-overlay .wp-full-overlay-main{background:#fff url(../images/spinner.gif) no-repeat center center;-webkit-background-size:20px 20px;background-size:20px 20px}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-full-overlay .collapse-sidebar-arrow{background-image:url(../images/arrows-2x.png);-webkit-background-size:15px 123px;background-size:15px 123px}.customize-loading #customize-container,.theme-install-overlay .wp-full-overlay-main{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){.available-theme .action-links .delete-theme{float:none;margin:0;padding:0;clear:both}.available-theme .action-links .delete-theme a{padding:0}}.press-this #message{border-left:4px solid #7ad03a;padding:1px 12px;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.press-this #side-sortables .category-tabs li{display:inline;line-height:1.35em}body.press-this ul.category-tabs li.tabs a{color:#333}.press-this #content-resize-handle{bottom:2px}body.press-this{color:#333;margin:0;padding:0;min-width:708px;min-height:400px}.press-this #titlediv #title{font-size:1.4em}.press-this #site-heading:before{top:3px;position:relative;display:inline-block;font:400 18px/1 dashicons;speak:none;color:#727272;content:'\f120';-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.press-this #wphead{height:32px;margin-left:0;margin-right:0;margin-bottom:5px}.press-this #header-logo{float:left;margin:7px 7px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.press-this #wphead h1{font-weight:400;font-size:16px;line-height:32px;margin:0;float:left}.press-this #wphead h1 a{text-decoration:none}.press-this #wphead h1 a:hover{text-decoration:underline}.press-this #message{margin:10px 0}.press-this .posting{margin-right:250px}.press-this-sidebar{float:right;width:240px;padding-top:10px}.press-this #title{margin-left:0;margin-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.press-this .tagchecklist{margin-top:8px}.press-this #titlediv{margin:0}.press-this #wp-content-wrap #wp-content-editor-tools{padding:0;top:3px;overflow:hidden}.press-this .wp-media-buttons{cursor:default;padding:8px 8px 6px}.press-this #wp-content-wrap #wp-content-media-buttons a{padding:0;line-height:normal;height:auto;font-size:16px}.press-this #wp-content-wrap .mce-toolbar .mce-btn-group .mce-btn{margin:0 1px}.press-this #wp-content-wrap .mce-toolbar .mce-btn button{padding:2px 3px}.press-this #wp-content-wrap .quicktags-toolbar,.press-this #wp-content-wrap div.mce-toolbar-grp{padding-right:3px}.press-this .howto{margin-top:2px;margin-bottom:3px;font-size:12px;font-style:italic;display:block}.press-this #wp-content-editor-container{clear:none}.press-this #poststuff .inside{margin-top:18px}.press-this .category-tabs{margin-bottom:3px}.press-this #poststuff{margin:0 8px;padding:0}.press-this #photo-add-url-div input[type=text]{width:220px}#poststuff #editor-toolbar{height:30px}.posting{margin-right:212px;position:relative}.press-this .inner-sidebar{width:200px}.press-this .inner-sidebar .sleeve{padding-top:5px}.press-this #submitdiv p{margin:0;padding:6px}.press-this #submitdiv #publishing-actions{border-bottom:1px solid #dfdfdf}.press-this #publish{float:right}.press-this #poststuff h2,.press-this #poststuff h3{font-size:14px;line-height:1}.press-this #categorydiv h3,.press-this #tagsdiv-post_tag h3{cursor:pointer}.press-this #submitdiv h3{cursor:default}h3.tb{font-weight:600;font-size:12px;margin-left:5px}.press-this .postbox,.press-this .stuffbox{margin-bottom:10px;min-width:0}.press-this #submitdiv:hover .handlediv{background:0 0}.tbtitle{font-size:1.7em;outline:0;padding:3px 4px;border:1px solid #dfdfdf}.press-this .actions{float:right;margin:-19px 0 0}.press-this #extra-fields .actions{margin:-32px -7px 0 0}.press-this .actions li{float:left;list-style:none;margin-right:10px}#extra-fields .button{margin-right:5px}#photo_saving{margin:0 8px 8px;vertical-align:middle}#img_container_container{overflow:auto}#extra-fields{margin-top:10px;position:relative}#extra-fields h2{margin:12px}#waiting{margin-top:10px;overflow:hidden}#waiting span{float:right;margin:0 0 0 5px}#waiting .spinner{display:block}#extra-fields .postbox{margin-bottom:5px}#extra-fields .titlewrap{padding:0;overflow:auto;height:120px}#img_container a{float:left;overflow:hidden}#img_container a,#img_container img{width:68px;height:68px}#img_container img{border:0;background-color:#f4f4f4;cursor:pointer}#img_container a,#img_container a:link,#img_container a:visited{border:1px solid #ccc;display:block;position:relative}#img_container a:active,#img_container a:hover{border-color:#000;z-index:1000;border-width:1px}#embed-code{width:100%;height:98px}.press-this .categorydiv div.tabs-panel{height:100px}.press-this .tagsdiv .newtag{width:120px}.press-this #content{margin:5px 0;padding:0 5px;border:0 none;height:340px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:19px;background:0 0}.press-this #publishing-actions .spinner{display:inline;vertical-align:middle}@media screen and (max-width:782px){.press-this ul.category-tabs li.tabs{padding:3px 5px 5px}.press-this a.wp-switch-editor{font:13px/19px "Open Sans",sans-serif;margin:5px 0 0 5px;padding:3px 8px 4px}.press-this #wp-content-media-buttons a{padding:0;line-height:normal;height:auto}.press-this #wp-content-editor-tools{padding:0;top:3px}.press-this .category-tabs{margin-top:0}.press-this .tagsdiv .newtag{width:120px;padding:3px 5px;margin-bottom:0}.press-this .tagchecklist{padding:0;margin-bottom:0}.press-this .wp_themeSkin a.mceButton{width:20px;height:20px}.press-this .wp_themeSkin .mceButton .mceIcon{margin:0}.press-this #poststuff h3,.press-this .metabox-holder h3{padding:7px 12px}.press-this input[type=checkbox],.press-this input[type=radio]{height:16px;width:16px}.press-this input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px 0 0 -4px}.press-this input[type=radio]:checked:before{font:400 21px/1 dashicons;width:6px;height:6px;margin:4px}.press-this ul.categorychecklist li,.press-this ul.categorychecklist ul{margin-top:0;margin-bottom:0}.press-this div.quicktags-toolbar input{padding:2px 4px}.press-this input,.press-this textarea{font-size:14px}.press-this .tagchecklist span{font-size:13px;line-height:1.8em}}.about-wrap{position:relative;margin:25px 40px 0 20px;max-width:1050px;font-size:15px}.about-wrap div.error,.about-wrap div.updated{display:none!important}.about-wrap hr{border:0;height:0;margin:0;border-top:1px solid rgba(0,0,0,.1)}.about-wrap img{margin:0;max-width:100%;vertical-align:middle}.about-wrap p{line-height:1.6em;font-size:14px}.about-wrap h1{margin:.2em 200px 0 0;color:#333;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap h4{color:#222}.about-wrap .about-text,.about-wrap li.wp-person a.web,.about-wrap p.about-description{font-weight:400;line-height:1.6em;font-size:19px}.about-description{margin-top:1.4em}.about-text{margin:1em 200px 1em 0;min-height:60px;color:#777;font-size:24px}.about-wrap .changelog h2.about-headline-callout{margin:1.1em 0 .2em;font-size:2.4em;font-weight:300;line-height:1.3;text-align:center}.about-wrap h3{margin:1em 0 .6em;font-size:1.5em;line-height:1.5em}.customize h3{margin-top:1.75em;text-align:center}.about-wrap .feature-section h4{margin:1.4em 0 .6em;font-size:1.2em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap code,.about-wrap ol li p{font-size:14px}.about-wrap .button.button-large{padding:8px 20px 10px!important;height:46px!important;font-size:14px;line-height:28px!important}.about-wrap .about-overview-img{margin:0}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #dfdfdf}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.wp-badge{background:#0074a2 url(../images/w-logo-white.png?ver=20131202) no-repeat;background:#0074a2,url(../images/wordpress-logo-white.svg?ver=20131110) no-repeat;background-position:center 24px;-webkit-background-size:85px 85px;background-size:85px 85px;color:#78c8e6;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:150px;text-rendering:optimizeLegibility;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap .wp-badge{position:absolute;top:0;right:0}.about-wrap h2.nav-tab-wrapper{padding-left:6px}.about-wrap h2 .nav-tab{padding:4px 15px 6px;margin:0 3px -1px 0;font-size:18px;vertical-align:top;border-width:1px}.about-overview{margin-top:40px;text-align:center}.about-overview .wp-video{margin:0 auto}.changelog .wp-playlist .wp-playlist-current-item img{height:64px;width:auto;max-width:100%}.about-wrap .feature-section{margin-top:40px;padding-bottom:20px}.about-wrap .feature-section.two-col>div{position:relative;width:47.5%;margin-right:4.999999999%;float:left}.about-wrap .feature-section.three-col>div{position:relative;width:29.95%;margin-right:4.999999999%;float:left}.about-wrap .feature-section.col .last-feature{margin-right:0}.about-wrap .under-the-hood .feature-section{margin-top:0}.about-wrap .changelog .feature-section{overflow:hidden}.about-wrap .feature-section.two-col div p{margin-right:3%}.about-wrap .feature-section div p img{float:right;margin-left:10px;max-width:20%}.about-wrap .changelog li{list-style-type:disc;margin-left:3em}.about-wrap .return-to-dashboard{margin:30px 0 0 -5px;font-size:14px;font-weight:700}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap h4.wp-people-group{margin-top:2.6em;font-size:16px}.about-wrap ul.wp-people-group{overflow:hidden;padding:0 5px;margin:0 -15px 0 -5px}.about-wrap ul.compact{margin-bottom:0}.about-wrap li.wp-person{float:left;margin-right:10px}.about-wrap li.wp-person img.gravatar{float:left;margin:0 10px 10px 0;padding:2px;width:60px;height:60px}.about-wrap ul.compact li.wp-person img.gravatar{width:30px;height:30px}.about-wrap li.wp-person{height:70px;width:280px;padding-bottom:15px}.about-wrap ul.compact li.wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap li.wp-person a.web{display:block;margin:6px 0 2px;font-size:16px;text-decoration:none}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:700}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}@media screen and (max-width:782px){.about-wrap .feature-section.one-col>div,.about-wrap .feature-section.three-col>div,.about-wrap .feature-section.two-col>div{width:100%;margin:0 0 40px;padding:0 0 40px;float:none;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .feature-section.col>div.last-feature,.about-wrap .under-the-hood .feature-section>div{margin:0;padding:0;border-bottom:0}}@media only screen and (max-width:500px){.about-wrap{margin-right:20px;margin-left:10px}.about-text,.about-wrap h1{margin-right:0}.about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap .feature-section.three-col div{width:100%;float:none}.about-wrap .three-col.about-updates .col-1{padding:0;float:none}.about-wrap .three-col.about-updates .col-2{margin:0 0 20px;width:100%;float:none}}.no-js #message{display:block}ul.add-menu-item-tabs li{padding:3px 5px 3px 8px}.accordion-section ul.add-menu-item-tabs,.accordion-section ul.category-tabs,.accordion-section ul.wp-tab-bar{margin:0}.accordion-section .categorychecklist{margin:13px 0}#nav-menu-meta .accordion-section-content{padding:18px 13px}#nav-menu-meta .button-controls{margin-bottom:0}#nav-menus-frame{margin-left:300px;margin-top:23px}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-left:-300px;clear:both;float:left;padding-top:0}#menu-settings-column .inside{clear:both;margin:10px 0 0}.metabox-holder-disabled .accordion-section-content,.metabox-holder-disabled .accordion-section-title,.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50)}.metabox-holder-disabled .button-controls .select-all{display:none}#wpbody{position:relative}.blank-slate .menu-name{height:2em}.blank-slate .menu-settings{border:0;margin-top:0;padding-top:0;overflow:hidden}.is-submenu{color:#999;font-style:italic;font-weight:400;margin-left:4px}.manage-menus{margin-top:23px;padding:10px;overflow:hidden;background:#fbfbfb}.manage-menus select{float:left;margin-right:6px}.manage-menus .selected-menu{float:left;margin:5px 6px 0 0}.manage-menus .submit-btn{float:left;margin-top:1px}.menu-edit p{margin:.3em 0 .6em}.menu-edit #post-body-content h3{margin:1em 0 10px}.menu-settings{border-top:1px solid #eee;margin-top:2em}.menu-settings dl{margin:0 0 10px;overflow:hidden;padding-left:18%}.menu-settings dd{float:left;margin:0;width:100%}.menu-settings dt{float:left;clear:both;width:21.951%;padding:3px 0 0;margin-left:-21.951%}.menu-settings label{vertical-align:baseline}.menu-edit .checkbox-input{margin-top:4px}.theme-location-set{color:#999;font-size:11px}#menu-management-liquid{float:left;min-width:100%;margin-top:3px}#menu-management{position:relative;margin-right:20px;margin-top:-3px;width:100%;background:#f5f5f5}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:0 10px 10px;border-top:1px solid #fff;border-bottom:1px solid #dfdfdf;background:#fff}#nav-menu-footer,#nav-menu-header{padding:0 10px}#nav-menu-header{border-bottom:1px solid #dfdfdf;margin-bottom:0}#nav-menu-header .menu-name-label{margin-top:4px}.nav-menus-php #post-body div.error,.nav-menus-php #post-body div.updated{margin:0}.nav-menus-php #post-body-content{position:relative;float:none}#menu-management .menu-add-new abbr{font-weight:600}#select-nav-menu-container{text-align:right;padding:0 10px 3px;margin-bottom:5px}#select-nav-menu{width:100px;display:inline}#menu-name-label{margin-top:-2px}.widefat td.menu-location-menus{padding-bottom:5px}.menu-location-menus select{float:left}#locations-nav-menu-wrapper{padding:5px 0}.locations-nav-menu-select select{float:left;width:160px;margin-right:5px}.locations-row-links{float:left;margin:6px 0 0 6px}.locations-add-menu-link,.locations-edit-menu-link{margin:0 3px}.locations-edit-menu-link{padding-right:3px;border-right:1px solid #ccc}#wpbody .open-label{display:block;float:left}#wpbody .open-label span{padding-right:10px}.js .input-with-default-title{color:#aaa;font-style:italic}#menu-management .inside{padding:0 10px}.accordion-container .howto input,.postbox .howto input{width:180px;float:right}.accordion-container .outer-border{margin:0}.customlinkdiv .howto input{width:180px}.customlinkdiv p{margin-top:0}#nav-menu-theme-locations .howto select{width:100%}#nav-menu-theme-locations .button-controls{text-align:right}.add-menu-item-view-all{height:400px}#menu-container .submit{margin:0 0 10px;padding:0}.nav-menus-php .add-new-menu-action{float:left;margin:6px 0 0 6px;line-height:15px}.nav-menus-php .meta-sep,.nav-menus-php .submitcancel,.nav-menus-php .submitdelete{display:block;float:left;margin:6px 0;line-height:15px}.meta-sep{padding:0 2px}#cancel-save{text-decoration:underline;font-size:12px;margin-left:20px;margin-top:5px}.button-primary.right,.button-secondary.right,.button.right{float:right}.list-controls{float:left;margin-top:5px}.add-to-menu{float:right}.postbox .spinner{display:none;vertical-align:middle}.button-controls{clear:both;margin:10px 0}.hide-all,.show-all{cursor:pointer}.hide-all{display:none}#menu-name{width:270px}#manage-menu .inside{padding:0}#available-links dt{display:block}#add-custom-link .howto{font-size:12px}#add-custom-link label span{display:block;float:left;margin-top:5px;padding-right:5px}.menu-item-textbox{width:180px}.nav-menus-php .howto span{margin-top:6px;display:block;float:left}.quick-search{width:190px}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .postbox p.submit{margin-bottom:0}.nav-menus-php .list li{display:none;margin:0;margin-bottom:5px}.nav-menus-php .list li .menu-item-title{cursor:pointer;display:block}.nav-menus-php .list li .menu-item-title input{margin-right:3px;margin-top:-3px}.menu-item-title input[type=checkbox]{display:inline-block;margin-top:-4px}#menu-container .inside{padding-bottom:10px}.menu{padding-top:1em}#menu-to-edit{margin:0;padding:.1em 0}.menu ul{width:100%}.menu li{margin-bottom:0;position:relative}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin:9px 0 0}.menu-item-bar .menu-item-handle{border:1px solid #dfdfdf;position:relative;padding:10px 15px;height:auto;width:382px;line-height:30px;overflow:hidden;word-wrap:break-word}.menu-item-bar .menu-item-handle:hover{border-color:#999}#menu-to-edit .menu-item-invalid .menu-item-handle{background:#f6c9cc;border-color:#f1acb1}.no-js .menu-item-edit-active .item-edit{display:none}.js .menu-item-handle{cursor:move}.menu li.deleting .menu-item-handle{background-image:none;background-color:#f66}.menu-item-handle .item-title{font-size:13px;font-weight:600;line-height:20px;display:block;margin-right:13em}li.menu-item.ui-sortable-helper dl{margin-top:0}li.menu-item.ui-sortable-helper .menu-item-transport dl{margin-top:13px}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px}.menu-item-depth-0{margin-left:0}.menu-item-depth-1{margin-left:30px}.menu-item-depth-2{margin-left:60px}.menu-item-depth-3{margin-left:90px}.menu-item-depth-4{margin-left:120px}.menu-item-depth-5{margin-left:150px}.menu-item-depth-6{margin-left:180px}.menu-item-depth-7{margin-left:210px}.menu-item-depth-8{margin-left:240px}.menu-item-depth-9{margin-left:270px}.menu-item-depth-10{margin-left:300px}.menu-item-depth-11{margin-left:330px}.menu-item-depth-0 .menu-item-transport{margin-left:0}.menu-item-depth-1 .menu-item-transport{margin-left:-30px}.menu-item-depth-2 .menu-item-transport{margin-left:-60px}.menu-item-depth-3 .menu-item-transport{margin-left:-90px}.menu-item-depth-4 .menu-item-transport{margin-left:-120px}.menu-item-depth-5 .menu-item-transport{margin-left:-150px}.menu-item-depth-6 .menu-item-transport{margin-left:-180px}.menu-item-depth-7 .menu-item-transport{margin-left:-210px}.menu-item-depth-8 .menu-item-transport{margin-left:-240px}.menu-item-depth-9 .menu-item-transport{margin-left:-270px}.menu-item-depth-10 .menu-item-transport{margin-left:-300px}.menu-item-depth-11 .menu-item-transport{margin-left:-330px}body.menu-max-depth-0{min-width:950px!important}body.menu-max-depth-1{min-width:980px!important}body.menu-max-depth-2{min-width:1010px!important}body.menu-max-depth-3{min-width:1040px!important}body.menu-max-depth-4{min-width:1070px!important}body.menu-max-depth-5{min-width:1100px!important}body.menu-max-depth-6{min-width:1130px!important}body.menu-max-depth-7{min-width:1160px!important}body.menu-max-depth-8{min-width:1190px!important}body.menu-max-depth-9{min-width:1220px!important}body.menu-max-depth-10{min-width:1250px!important}body.menu-max-depth-11{min-width:1280px!important}.item-type{color:#777;font-size:12px;padding:12px 10px;line-height:18px;display:block}.item-controls{font-size:12px;position:absolute;right:20px;top:-1px}.item-controls a{text-decoration:none}.item-controls a:hover{cursor:pointer}.item-controls .item-order{padding-right:10px}.nav-menus-php .item-edit{position:absolute;right:-20px;top:0;display:block;width:30px;height:40px;margin-right:0!important;text-indent:100%;outline:0;overflow:hidden;white-space:nowrap}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:402px;padding:10px 0 10px 10px;position:relative;z-index:10;border:1px solid #e5e5e5;border-top:0;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.menu-item-settings .field-move a{display:none;margin:0 2px}.menu-item-edit-active .menu-item-settings{display:block}.menu-item-edit-inactive .menu-item-settings{display:none}.add-menu-item-pagelinks{margin:.5em auto;text-align:center}.link-to-original{display:block;margin:0 0 10px;padding:3px 5px 5px;border:1px solid #dfdfdf;color:#777;font-size:12px;font-style:italic}.link-to-original a{padding-left:4px;font-style:normal}.hidden-field{display:none}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-right:10px;float:left}.description-thin{width:190px;height:40px}.description-wide{width:390px}.menu-item-actions{padding-top:15px}#cancel-save{cursor:pointer}.nav-menus-php .major-publishing-actions{clear:both;padding:3px 0 6px}.nav-menus-php .major-publishing-actions .publishing-action{text-align:right;float:right;line-height:23px;margin:4px 0 1px}.nav-menus-php .blank-slate .menu-settings{display:none}.nav-menus-php .delete-action{float:left;margin-top:2px}.nav-menus-php .submitbox .submitcancel{border-bottom:1px solid #0074a2;padding:1px 2px;color:#0074a2;text-decoration:none}.nav-menus-php .submitbox .submitcancel:hover{background:#0074a2;color:#fff}.nav-menus-php .major-publishing-actions .form-invalid{padding-left:4px;margin-left:-4px}#menu-item-name-wrap:after,#menu-item-url-wrap:after,#menu-name-label:after,#menu-settings-column .inside:after,#nav-menus-frame:after,.nav-menus-php #post-body-content:after,.nav-menus-php .button-controls:after,.nav-menus-php .major-publishing-actions:after,.nav-menus-php .menu-item-settings:after{clear:both;content:".";display:block;height:0;visibility:hidden}#menu-item-name-wrap,#menu-item-url-wrap,#nav-menus-frame,.button-controls{display:block}@media screen and (max-width:782px){body.nav-menus-php{min-width:0!important}#nav-menus-frame{margin-left:0;float:none;width:100%}#wpbody-content #menu-settings-column{display:block;width:100%;float:none;margin-left:0}#side-sortables .add-menu-item-tabs{margin:15px 0 14px}ul.add-menu-item-tabs li.tabs{padding:13px 15px 14px}.nav-menus-php .item-controls .item-type{margin-top:2px}.nav-menus-php .customlinkdiv .howto input{width:65%}.nav-menus-php .quick-search{width:85%}#menu-management-liquid{margin-top:25px}.nav-menus-php .menu-name-label.howto span{margin-top:13px}.menu-name-label #menu-name{margin-top:4px}.nav-menus-php .major-publishing-actions .publishing-action{margin-top:6px}.nav-menus-php .delete-action{font-size:14px;line-height:50px;margin-top:12px}.description-wide,.menu-item-bar .menu-item-handle,.menu-item-settings{width:auto}.menu-item-settings{padding:10px}.menu-item-settings .description-thin,.menu-item-settings .description-wide{width:100%;height:auto}.menu-item-settings input{width:100%}.menu-settings dl{padding-left:0}.menu-settings dd{float:none;width:100%;margin-bottom:15px}.menu-settings dt{float:none;width:auto;margin-left:0;margin-bottom:15px}}@media only screen and (max-width:768px){#menu-locations-wrap .widefat{width:100%}}.widget{margin:0 auto 10px;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.widget-top{font-size:13px;font-weight:600;background:#f7f7f7}.widget-top a.widget-action,.widget-top a.widget-action:hover{text-decoration:none}.widget-title h4{margin:0;padding:15px;line-height:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.widgets-holder-wrap .widget-inside{border-top:0;padding:1px 15px 15px;line-height:16px}#available-widgets .widget-description,#widgets-right a.widget-control-edit,.in-widget-title{color:#666}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.widget.ui-draggable-dragging{min-width:100%}.widget.ui-sortable-helper{opacity:.8}.widget-placeholder{border:1px dashed #bbb;margin:0 auto 10px;height:45px;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#widgets-right .widget-placeholder{margin-top:0}#widgets-right .closed .widget-placeholder{height:0;border:0;margin-top:-10px}.sidebar-name{position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.sidebar-name-arrow{position:absolute;top:0;right:0;bottom:0}.js .sidebar-name{cursor:pointer}.sidebar-name h3{margin:0;padding:8px 10px;overflow:hidden;white-space:nowrap}.widgets-holder-wrap .description{padding:0 0 15px;margin:0;font-style:normal;color:#777}#widgets-right .widgets-holder-wrap .description{padding-left:7px;padding-right:7px}div.widget-liquid-left{margin:0;width:38%;float:left}div.widget-liquid-right{float:right;width:58%}div#widgets-left{padding-top:12px}div#widgets-left .closed .sidebar-name,div#widgets-left .inactive-sidebar.closed .sidebar-name{margin-bottom:10px}div#widgets-left .sidebar-name h3{padding:10px 0;margin:0 10px 0 0}div#widgets-left .sidebar-name .sidebar-name-arrow:before{right:0;top:4px;padding:4px 6px 4px 4px}#widgets-left #available-widgets,div#widgets-left .widget-holder{background:0 0;border:0}#widgets-left .widgets-holder-wrap{border:0;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-action{display:none}#available-widgets .widget{margin:0}#available-widgets .widget:nth-child(odd){clear:both}#available-widgets .widget .widget-description{display:block;padding:10px 15px;font-size:12px}#available-widgets #widget-list{position:relative}#widgets-left .inactive-sidebar{clear:both;width:100%;background:0 0;padding:0;margin:0 0 20px;border:0;-webkit-box-shadow:none;box-shadow:none}#widgets-left .inactive-sidebar.first{margin-top:40px}div#widgets-left .inactive-sidebar .widget.expanded{left:auto}.widget-title-action{float:right;position:relative}div#widgets-left .inactive-sidebar .widgets-sortables{min-height:42px;padding:0;background:0 0;margin:0;position:relative}div#widgets-right:after{content:".";display:block;height:0;clear:both;visibility:hidden}div#widgets-right .sidebars-column-1,div#widgets-right .sidebars-column-2{max-width:450px}div#widgets-right .widgets-holder-wrap{margin:10px 0 0}div#widgets-right .sidebar-description{min-height:20px;margin-top:-5px}div#widgets-right .sidebar-name h3{padding:15px 7px}div#widgets-right .sidebar-name .sidebar-name-arrow:before{right:0;top:4px}div#widgets-right .widget-top{padding:0}div#widgets-right .widgets-sortables{padding:0 8px;margin-bottom:9px;position:relative;min-height:123px}div#widgets-right .closed .widgets-sortables{min-height:0;margin-bottom:0}.sidebar-name .spinner{margin:-5px 5px;float:none}#widgets-right .widgets-holder-wrap.widget-hover{border-color:#777;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}.widgets_access #widgets-left .widget .widget-top{cursor:auto}.widgets_access #wpwrap .widget-control-edit,.widgets_access #wpwrap .widgets-holder-wrap.closed .sidebar-description,.widgets_access #wpwrap .widgets-holder-wrap.closed .widget{display:block}.widgets_access #widgets-left .widget .widget-top:hover,.widgets_access #widgets-right .widget .widget-top:hover{border-color:#ddd}#available-widgets .widget-control-edit .edit,#widgets-left .inactive-sidebar .widget-control-edit .add,#widgets-right .widget-control-edit .add{display:none}.widget-control-edit{display:block;color:#666;background:#EEE;padding:0 15px;line-height:43px;border-left:1px solid #DDD}#widgets-left .widget-control-edit:hover,#widgets-right .widget-control-edit:hover{color:#fff;background:#444;border-left:0;outline:1px solid #444}.widgets-holder-wrap .sidebar-description,.widgets-holder-wrap .sidebar-name{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.editwidget{margin:0 auto}.editwidget .widget-inside{display:block;padding:0 15px}.editwidget .widget-control-actions{margin-top:20px}.js .closed br.clear,.js .widgets-holder-wrap.closed .sidebar-description,.js .widgets-holder-wrap.closed .widget,.widget-description,.widget-inside{display:none}.widget-inside{background:#fff}#removing-widget{display:none;font-weight:400;padding-left:15px;font-size:12px;line-height:1;color:#000}.js #removing-widget{color:#2ea2cc}#access-off,.no-js .widget-holder .description,.widget-control-noform,.widgets_access #access-on,.widgets_access .sidebar-name-arrow,.widgets_access .widget-action,.widgets_access .widget-holder .description{display:none}.widgets_access #widget-list,.widgets_access .widget-holder{padding-top:10px}.widgets_access #access-off{display:inline}.widgets_access .sidebar-name,.widgets_access .widget .widget-top{cursor:default}.widget-liquid-left #widgets-left.chooser #available-widgets .widget,.widget-liquid-left #widgets-left.chooser .inactive-sidebar{-webkit-transition:opacity .1s linear;transition:opacity .1s linear;opacity:.2;pointer-events:none}.widget-liquid-left #widgets-left.chooser #available-widgets .widget-in-question{opacity:1;pointer-events:auto}#available-widgets .widget-top:hover,#widgets-left .widget-in-question .widget-top,#widgets-left .widget-top:hover,.widgets-chooser ul,div#widgets-right .widget-top:hover{border-color:#999;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}.widgets-chooser ul.widgets-chooser-sidebars{margin:0;list-style-type:none;max-height:300px;overflow:auto}.widgets-chooser{display:none}.widgets-chooser ul{border:1px solid #ccc}.widgets-chooser li{padding:10px 15px 10px 35px;border-bottom:1px solid #ccc;background:#fff;margin:0;cursor:pointer;outline:0;position:relative;-webkit-transition:background .2s ease-in-out;transition:background .2s ease-in-out}.widgets-chooser li:focus,.widgets-chooser li:hover{background:rgba(255,255,255,.7)}.widgets-chooser li:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#999;position:absolute;top:7px;left:5px}.widgets-chooser li:last-child{border:0}.widgets-chooser li.widgets-chooser-selected{background:#2ea2cc;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#fff;position:absolute;top:7px;left:5px}.widgets-chooser .widgets-chooser-actions{padding:10px 0 12px;text-align:center}.widgets-chooser button{margin-right:5px}#available-widgets .widget .widget-top{cursor:pointer}@media screen and (max-width:480px){div.widget-liquid-left{width:100%;float:none;border-right:0;padding-right:0}#widgets-left #available-widgets .widget-top,#widgets-left .inactive-sidebar .widgets-sortables,#widgets-left .sidebar-name{margin-right:0}div.widget-liquid-right{width:100%;float:none}div.widget{margin:0 auto 10px!important;max-width:480px}}@media screen and (max-width:320px){div.widget{max-width:320px}}@media only screen and (min-width:1250px){#widgets-left #available-widgets .widget{width:49%;float:left}.widget.ui-draggable-dragging{min-width:49%}#widgets-left #available-widgets .widget:nth-child(even){float:right}#widgets-right .sidebars-column-1,#widgets-right .sidebars-column-2{float:left;width:49%}#widgets-right .sidebars-column-1{margin-right:2%}#widgets-right.single-sidebar .sidebars-column-1,#widgets-right.single-sidebar .sidebars-column-2{float:none;width:100%;margin:0}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"楷体",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de .inline-edit-row fieldset label span.title{width:7em}.locale-de-de .inline-edit-row fieldset label span.input-text-wrap{margin-left:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-right:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}
\ No newline at end of file
+#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%;padding-left:20px}#wpcontent,#wpfooter{margin-left:160px}.folded #wpcontent,.folded #wpfooter{margin-left:36px}#wpbody-content{padding-bottom:65px;float:left;width:100%;overflow:visible!important}.inner-sidebar{float:right;clear:right;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-right:auto;width:286px;display:block}.columns-2 .inner-sidebar #side-sortables,.inner-sidebar #side-sortables{min-height:300px;width:280px;padding:0}.has-right-sidebar .inner-sidebar{display:block}.has-right-sidebar #post-body{float:left;clear:left;width:100%;margin-right:-2000px}.has-right-sidebar #post-body-content{margin-right:300px;float:none;width:auto}#col-container,#col-left,#col-right{overflow:hidden;padding:0;margin:0}#col-left{width:35%}#col-right{float:right;clear:right;width:65%}.col-wrap{padding:0 7px}.alignleft{float:left}.alignright{float:right}.textleft{text-align:left}.textright{text-align:right}.clear{clear:both}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.screen-reader-shortcut{position:absolute;top:-1000em}.screen-reader-shortcut:focus{left:6px;top:-25px;height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:0}.hidden,.js .closed .inside,.js .hide-if-js,.js .wp-core-ui .hide-if-js,.js.wp-core-ui .hide-if-js,.no-js .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js,.no-js.wp-core-ui .hide-if-no-js{display:none}#menu-management .menu-edit,#menu-settings-column .accordion-container,.feature-filter,.imgedit-group,.manage-menus,.menu-item-handle,.popular-tags,.stuffbox,.widget-inside,.widget-top,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.feature-filter,.imgedit-group,.popular-tags,.stuffbox,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{background:#fff}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em;min-width:600px}body.iframe{min-width:0;padding-top:1px}body.modal-open{overflow:hidden}iframe,img{border:0}td{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}a{color:#0074a2;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}a,div{outline:0}a:active,a:hover{color:#2ea2cc}a:focus{color:#124964;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 a:focus{outline:#5b9dd9 solid 1px}#adminmenu a:focus,.screen-reader-text:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}p{font-size:13px;line-height:1.5;margin:1em 0}blockquote{margin:1em}dd,li{margin-bottom:6px}h1,h2,h3,h4,h5,h6{display:block;font-weight:600}h1{font-size:2em;margin:.67em 0}h2{color:#222;font-size:1.5em;margin:.83em 0;font-weight:400}h3{color:#222;font-size:1.3em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}ol,ul{padding:0}ul{list-style:none}ol{list-style-type:decimal;margin-left:2em}ul.ul-disc{list-style:disc}ul.ul-square{list-style:square}ol.ol-decimal{list-style:decimal}ol.ol-decimal,ul.ul-disc,ul.ul-square{margin-left:1.8em}ol.ol-decimal>li,ul.ul-disc>li,ul.ul-square>li{margin:0 0 .5em}.ltr{direction:ltr}.code,code{font-family:Consolas,Monaco,monospace;direction:ltr}code,kbd{padding:3px 5px 2px;margin:0 1px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:13px}.subsubsub{list-style:none;margin:8px 0 0;padding:0;font-size:13px;float:left;color:#666}.subsubsub a{line-height:2;padding:.2em;text-decoration:none}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:400}.subsubsub a.current{font-weight:600;border:none}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat *{word-wrap:break-word}.widefat a{text-decoration:none}.widefat td,.widefat th{padding:8px 10px}.widefat thead th{border-bottom:1px solid #e1e1e1}.widefat tfoot th{border-top:1px solid #e1e1e1;border-bottom:none}.widefat .no-items td{border-bottom-width:0}.widefat td{vertical-align:top}.widefat td,.widefat td ol,.widefat td p,.widefat td ul{font-size:13px;line-height:1.5em}.widefat th{text-align:left;line-height:1.3em;font-size:14px}.widefat th input{margin:0 0 0 8px;padding:0;vertical-align:text-top}.widefat .check-column{width:2.2em;padding:6px 0 25px;vertical-align:top}.widefat th input[type=checkbox]{margin-top:-1px}.widefat.media .check-column{padding-top:8px}.widefat tbody th.check-column,.widefat tfoot th.check-column,.widefat thead th.check-column{padding:11px 0 0 3px}.widefat thead th.check-column{padding-top:10px}.update-php div.error,.update-php div.updated{margin-left:0}.no-js .widefat tfoot .check-column input,.no-js .widefat thead .check-column input{display:none}.column-comments,.column-links,.column-posts,.widefat .num{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:10px 20px 0 2px}div.error,div.updated{margin:5px 15px 2px}div.error p,div.updated p{margin:.5em 0;padding:2px}.media-upload-form div.error,.wrap div.error,.wrap div.updated{margin:5px 0 15px}div.updated{border-left:4px solid #7ad03a;padding:1px 12px;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}div.error{border-left:4px solid #dd3d36;background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);padding:1px 12px}.attention{color:#2ea2cc}.subtitle,.wrap h2{font-weight:400;margin:0}.wrap h2{font-size:23px;font-weight:400;padding:9px 15px 4px 0;line-height:29px}.subtitle{color:#777;font-size:14px;padding-left:25px}.wrap .add-new-h2,.wrap .add-new-h2:active{margin-left:4px;padding:4px 8px;position:relative;top:-3px;text-decoration:none;border:none;-webkit-border-radius:2px;border-radius:2px;background:#e0e0e0;text-shadow:none;font-weight:600;font-size:13px}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.wrap h2.long-header{padding-right:0}.wp-dialog{background-color:#fff}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}.alt,.alternate{background-color:#f9f9f9}.bar{background-color:#e8e8e8;border-right-color:#99d}.media-upload-form label.form-help,td.help{color:#9a9a9a}.highlight{background-color:#e4f2fd;color:#000}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.wp-ui-highlight{color:#fff;background-color:#1e8cbe}.wp-ui-text-highlight{color:#1e8cbe}.wp-ui-notification{color:#fff;background-color:#d54e21}.wp-ui-text-notification{color:#d54e21}.wp-ui-text-icon{color:#999}#nav-menu-footer,#nav-menu-header,#your-profile #rich_editing,.checkbox,.control-section .accordion-section-title,.menu-item-handle,.postbox .hndle,.side-info,.sidebar-name,.stuffbox .hndle,.widefat tfoot th,.widefat thead th,.widget .widget-top{line-height:1.4em}.menu-item-handle,.widget .widget-top{background:#fafafa;color:#222}.postbox .hndle,.stuffbox .hndle{border-bottom:1px solid #eee}.quicktags,.search{background-color:#ccc;color:#000;font-size:12px}.icon32{display:none}#bulk-titles div a:before,#welcome-panel.welcome-panel .welcome-panel-close:before,.tagchecklist span a:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:400 16px/1 dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased!important}#welcome-panel.welcome-panel .welcome-panel-close:before{margin:0}#bulk-titles div a:before,.tagchecklist span a:before{margin:2px 0}#bulk-titles div a:hover:before,#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before{color:#c00}.key-labels label{line-height:24px}b,strong{font-weight:600}.pre{white-space:pre-wrap;word-wrap:break-word}.howto{color:#666;font-style:italic;display:block}p.install-help{margin:8px 0;font-style:italic}.no-break{white-space:nowrap}hr{border:0;border-top:1px solid #ddd;border-bottom:1px solid #fafafa}#all-plugins-table .plugins a.delete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete,#search-plugins-table .plugins a.delete,.plugins a.delete,.row-actions span.delete a,.row-actions span.spam a,.row-actions span.trash a,.submitbox .submitdelete{color:#a00}#all-plugins-table .plugins a.delete:hover,#media-items a.delete-permanently:hover,#media-items a.delete:hover,#nav-menu-footer .menu-delete:hover,#search-plugins-table .plugins a.delete:hover,.file-error,.plugins a.delete:hover,.row-actions .delete a:hover,.row-actions .spam a:hover,.row-actions .trash a:hover,.submitbox .submitdelete:hover,.widget-control-remove:hover,abbr.required{color:red;text-decoration:none;border:none}#major-publishing-actions{padding:10px;clear:both;border-top:1px solid #ddd;background:#f5f5f5}#delete-action{line-height:28px;vertical-align:middle;text-align:left;float:left}#publishing-action{text-align:right;float:right;line-height:23px}#publishing-action .spinner{float:left}#misc-publishing-actions{padding:6px 0 0}.misc-pub-section{padding:6px 10px 8px}#minor-publishing-actions{padding:10px 10px 0;text-align:right}#save-post{float:left}.preview{float:right}#sticky-span{margin-left:18px}.side-info{margin:0;padding:4px;font-size:11px}.side-info h5{padding-bottom:7px;font-size:14px;margin:12px 2px 5px;border-bottom:1px solid #dadada}.side-info ul{margin:0;padding-left:18px;list-style:square;color:#666}.approve,.unapproved .unapprove{display:none}.spam .approve,.trash .approve,.unapproved .approve{display:inline}td.action-links,th.action-links{text-align:right}.wp-filter{display:inline-block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:12px 0 25px;padding:0 20px;width:100%;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);border:1px solid #e5e5e5;background:#fff;color:#555;font-size:13px}.wp-filter a{text-decoration:none}.filter-count{display:inline-block;vertical-align:middle;min-width:4em}.filter-count .count,.title-count{display:inline-block;position:relative;top:-1px;padding:4px 10px;-webkit-border-radius:30px;border-radius:30px;background:#777;color:#fff;font-size:14px;font-weight:600}.title-count{display:inline;top:-3px;margin-left:5px;margin-right:20px}.filter-links,.filter-links li{display:inline-block;margin:0}.filter-links li>a{display:inline-block;margin:0 10px;padding:15px 0;border-bottom:4px solid #fff;color:#666;cursor:pointer}.filter-links .current{-webkit-box-shadow:none;box-shadow:none;border-bottom:4px solid #666;color:#222}.filter-links li>a:focus,.filter-links li>a:hover,.show-filters .filter-links a.current:focus,.show-filters .filter-links a.current:hover{color:#2ea2cc}.wp-filter .search-form{float:right;margin-top:9px}.wp-filter .search-form input[type=search]{margin:0;padding:3px 5px;width:280px;font-size:16px;font-weight:300;line-height:1.5}.wp-filter .search-form select{height:33px;vertical-align:top}.wp-filter .drawer-toggle{display:inline-block;margin:0 10px;padding:4px 6px;color:#666;cursor:pointer}.wp-filter .drawer-toggle:before{display:inline-block;vertical-align:top;content:"\f111";margin:0 5px 0 0;width:16px;height:16px;color:#777;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;font-family:dashicons;font-size:16px;line-height:1;text-align:center;text-decoration:inherit;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased}.wp-filter .drawer-toggle:hover,.wp-filter .drawer-toggle:hover:before{color:#2ea2cc}.wp-filter .drawer-toggle.current:before{color:#fff}.filter-drawer{display:none;margin:0 -20px;padding:20px;border-top:1px solid #eee;background:#fafafa}.show-filters .filter-drawer{display:block;overflow:hidden}.show-filters .wp-filter .drawer-toggle:focus,.show-filters .wp-filter .drawer-toggle:hover{background:#2ea2cc}.show-filters .filter-links a.current{border-bottom:none}.show-filters .wp-filter .drawer-toggle{-webkit-border-radius:2px;border-radius:2px;border:none;background:#777;color:#fff}.show-filters .wp-filter .drawer-toggle:before{color:#fff}.filter-group{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin:0 1% 0 0;padding:10px;width:19%;background:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.filter-group.wide{width:38%}.filter-group h4{position:relative;margin:0}.filter-drawer ol{margin:20px 0 0;list-style-type:none;font-size:12px}.filter-drawer li{display:inline-block;vertical-align:top;margin:5px 0;padding-right:25px;width:160px;list-style-type:none}.filter-drawer .buttons{margin-bottom:20px}.filter-drawer .buttons .button span{display:inline-block;opacity:.8;font-size:12px;text-indent:10px}.wp-filter .button.clear-filters{display:none;margin:0 0 20px 10px}.filtered-by{display:none;margin:0}.filtered-by>span{font-weight:600}.filtered-by a{margin-left:10px}.filtered-by .tags{display:inline}.filtered-by .tag{margin:0 5px;padding:4px 8px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:11px}.filters-applied .filter-drawer .buttons,.filters-applied .filter-drawer br,.filters-applied .filter-group{display:none!important}.filters-applied .filtered-by{display:block}.filters-applied .filter-drawer{padding:20px}.error .content-filterable,.loading-content .content-filterable,.show-filters .content-filterable,.show-filters.filters-applied.loading-content .content-filterable{display:none}.show-filters.filters-applied .content-filterable{display:block}.loading-content .spinner{display:block;margin:40px auto 0;float:none}@media only screen and (max-width:1120px){.wp-filter .search-form{float:none;margin:20px 0}.filter-drawer{border-bottom:1px solid #eee}.filter-group{margin-bottom:0;margin-top:5px;width:100%}.filter-group li{margin:10px 0}}@media only screen and (max-width:782px){.filter-group,.filter-group li{width:100%}}#update-nag,.update-nag{display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:left;margin:25px 20px 0 2px;background-color:#fff;border-left:4px solid #ffba00;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.update-message{color:#000}.update-php .spinner{float:none;margin:-4px 0}#ajax-loading,.ajax-feedback,.ajax-loading,.imgedit-wait-spin,.list-ajax-loading{visibility:hidden}#ajax-response.alignleft{margin-left:2em}#adminmenu a,#catlist a,#sidemenu a,#taglist a{text-decoration:none}#contextual-help-wrap,#screen-options-wrap{margin:0;padding:8px 20px 12px;position:relative}#contextual-help-wrap{overflow:auto;margin-left:0!important}#screen-meta .screen-reader-text{visibility:hidden}#screen-meta-links{margin:0 20px 0 0}#screen-meta-links a{padding:3px 6px 3px 16px}#screen-meta-links a:focus{outline:0}#screen-meta{display:none;margin:0 20px -1px 0;position:relative;background-color:#fff;border:1px solid #ddd;border-top:none;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-link-wrap,#screen-options-link-wrap{float:right;height:28px;margin:0 0 0 6px;border:1px solid #ddd;border-top:none;background:#fff;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#screen-meta-links .screen-meta-toggle{position:relative;top:0}#screen-meta-links a{color:#777}#screen-meta-links a:active,#screen-meta-links a:focus,#screen-meta-links a:hover{color:#333}#screen-meta-links a.show-settings{display:block;font-size:13px;height:22px;line-height:22px;text-decoration:none;z-index:1}#screen-meta-links a:after{right:0;content:'\f140';font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 5px 0 0;bottom:2px;position:relative;vertical-align:bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#bbb}#screen-meta-links a.screen-meta-active:after{content:'\f142'}#screen-meta-links a.show-settings:hover{text-decoration:none}.toggle-arrow{background-repeat:no-repeat;background-position:top left;background-color:transparent;height:22px;line-height:22px;display:block}.toggle-arrow-active{background-position:bottom left}#contextual-help-wrap h5,#screen-options-wrap h5{margin:8px 0;font-size:13px}.metabox-prefs label{display:inline-block;padding-right:15px;line-height:30px}.metabox-prefs label input[type=checkbox]{margin-top:-4px;margin-right:6px}.metabox-prefs label input{margin:0 5px 0 2px}.metabox-prefs .columns-prefs label input{margin:0 2px}.metabox-prefs label a{display:none}#contextual-help-wrap{padding:0}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;left:150px;right:170px;border:1px solid #e1e1e1;border-top:none;border-bottom:none;background:#f6fbfd}#contextual-help-wrap.no-sidebar #contextual-help-back{right:0;border-right-width:0;-webkit-border-bottom-right-radius:2px;border-bottom-right-radius:2px}.contextual-help-tabs{float:left;width:150px;margin:0}.contextual-help-tabs ul{margin:1em 0}.contextual-help-tabs li{margin-bottom:0;list-style-type:none;border-style:solid;border-width:0 0 0 2px;border-color:transparent}.contextual-help-tabs a{display:block;padding:5px 5px 5px 12px;line-height:18px;text-decoration:none;border:1px solid transparent;border-right:none;border-left:none}.contextual-help-tabs a:hover{color:#333}.contextual-help-tabs .active{padding:0;margin:0 -1px 0 0;border-left:2px solid #2ea2cc;background:#f6fbfd;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02);box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02)}.contextual-help-tabs .active a{border-color:#e1e1e1;color:#333}.contextual-help-tabs-wrap{padding:0 20px;overflow:auto}.help-tab-content{display:none;margin:0 22px 12px 0;line-height:1.6em}.help-tab-content.active{display:block}.help-tab-content ul li{list-style-type:disc;margin-left:18px}.contextual-help-sidebar{width:150px;float:right;padding:0 8px 0 12px;overflow:auto}html.wp-toolbar{padding-top:32px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.narrow{width:70%;margin-bottom:40px}.narrow p{line-height:150%}.widefat td,.widefat th{overflow:hidden;color:#555}.widefat th{font-weight:400}.widefat tfoot tr th,.widefat thead tr th{color:#333}.widefat td p{margin:2px 0 .8em}.widefat ol,.widefat p,.widefat ul{color:#333}.widefat .column-comment p{margin:.6em 0}.postbox-container{float:left}.postbox-container .meta-box-sortables{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody-content .metabox-holder{padding-top:10px}.metabox-holder .postbox-container .empty-container{border:3px dashed #bbb;height:250px}.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container,.metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}#post-body-content{width:100%;min-width:463px;float:left}#post-body.columns-2 #postbox-container-1{float:right;margin-right:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}@media only screen and (max-width:799px){#wpbody-content .metabox-holder .postbox-container .empty-container{border:0;height:0;min-height:0}}.js .postbox .hndle,.js .widget .widget-top{cursor:move}.hndle a{font-size:11px;font-weight:400}.postbox .handlediv{float:right;width:27px;height:30px}.js .postbox .handlediv{cursor:pointer}.sortable-placeholder{border:1px dashed #bbb;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox .hndle,.stuffbox .hndle{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.postbox .inside,.stuffbox .inside{padding:0 12px 12px;line-height:1.4em;font-size:13px}.postbox .inside{margin:11px 0;position:relative}.postbox .inside>p:last-child,.rss-widget ul li:last-child{margin-bottom:1px!important}.postbox.closed h3{border:none;-webkit-box-shadow:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 5px}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#dashboard_right_now .versions .b,#ed_reply_toolbar #ed_reply_strong,#pass-strength-result.short,#pass-strength-result.strong,#post-status-display,#post-visibility-display,.feature-filter .feature-name,.item-controls .item-order a,.media-item .percent,.plugins .name{font-weight:600}#wpfooter{position:absolute;bottom:0;left:0;right:0;padding:10px 20px;color:#777}#wpfooter p{font-size:13px;margin:0;line-height:20px}#footer-thankyou{font-style:italic}#wpfooter a{text-decoration:none}#wpfooter a:hover{text-decoration:underline}.nav-tab{border:1px solid #ccc;border-bottom:none;background:#e4e4e4;color:#555;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:-4px 4px -1px 0}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active,.nav-tab-active:hover{border-bottom:1px solid #f1f1f1;background:#f1f1f1;color:#000}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom:1px solid #ccc;padding-bottom:0;padding-left:10px}h2 .nav-tab{padding:6px 10px;font-weight:700;font-size:15px;line-height:24px}.spinner{background:url(../images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;float:right;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:2px 5px 0}#template div{margin-right:190px}.metabox-holder h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#templateside ul li a{text-decoration:none}#sidemenu{margin:-30px 15px 0 315px;list-style:none;position:relative;float:right;padding-left:10px;font-size:12px}#sidemenu a{padding:0 7px;display:block;float:left;line-height:28px;border-top:1px solid #f9f9f9;border-bottom:1px solid #dfdfdf;background-color:#f9f9f9;-webkit-transition:none;transition:none}#sidemenu li{display:inline;line-height:200%;list-style:none;text-align:center;white-space:nowrap;margin:0;padding:0}#sidemenu a.current{font-weight:400;padding-left:6px;padding-right:6px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;border:1px solid #dfdfdf;border-bottom-color:#f1f1f1;background-color:#f1f1f1;color:#000}.plugin-install #description,.plugin-install-network #description{width:60%}table .column-rating,table .column-visible,table .vers{text-align:left}.error-message{color:red;font-weight:600}body.iframe{height:98%}.lp-show-latest p{display:none}.lp-show-latest .lp-error p,.lp-show-latest p:last-child{display:block}td.media-icon{text-align:center;width:80px;padding-top:8px;padding-bottom:8px}td.media-icon img{max-width:80px;max-height:60px}td.image-icon img{border:1px solid rgba(0,0,0,.07)}#howto{font-size:11px;margin:0 5px;display:block}.importers td{padding-right:14px}.importers{font-size:16px;width:auto}#post-body #post-body-content #namediv h3{margin-top:0}#namediv h3 label{vertical-align:baseline}#namediv table{width:100%}#namediv td.first{width:10px;white-space:nowrap}#namediv input{width:98%}#namediv p{margin:10px 0}#submitdiv h3{margin-bottom:0!important}.zerosize{height:0;width:0;margin:0;border:0;padding:0;overflow:hidden;position:absolute}br.clear{height:2px;line-height:2px}.checkbox{border:none;margin:0;padding:0}fieldset{border:0;padding:0;margin:0}.post-categories{display:inline;margin:0;padding:0}.post-categories li{display:inline}div.star-holder{position:relative;height:17px;width:100px;background:url(../images/stars.png?ver=20121108) repeat-x bottom left}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) repeat-x top left;height:17px;float:left}.star-rating{white-space:nowrap}.star-rating .star{display:inline-block;width:20px;height:20px;-webkit-font-smoothing:antialiased;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;text-align:center;color:#0074a2}.star-rating .star-full:before{content:'\f155'}.star-rating .star-half:before{content:'\f459'}.rtl .star-rating .star-half{-webkit-transform:rotateY(180deg);-ms-transform:rotateY(180deg);transform:rotateY(180deg)}.star-rating .star-empty:before{content:'\f154'}div.action-links{font-weight:400}#plugin-information{background:#fff;position:fixed;top:0;right:0;bottom:0;left:0;height:100%;padding:0}#plugin-information-scrollable{overflow:auto;height:100%}#plugin-information-title{padding:0 20px;background:#f5f5f5;font-size:22px;font-weight:600;line-height:56px;position:relative;top:0;right:0;left:0;height:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner{margin-right:0;height:250px;bottom:250px;-webkit-background-size:100% auto;background-size:100% auto}#plugin-information-title h2{font-size:1em;font-weight:700;padding:0;margin:0;max-width:680px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner h2{font-family:"Helvetica Neue",sans-serif;display:inline-block;font-size:30px;line-height:50px;padding:0 15px;margin:174px 0 0 10px;color:#fff;background:rgba(30,30,30,.9);text-shadow:0 1px 3px rgba(0,0,0,.4);-webkit-box-shadow:0 0 30px rgba(255,255,255,.1);box-shadow:0 0 30px rgba(255,255,255,.1);-webkit-border-radius:8px;border-radius:8px}#plugin-information-title div.vignette{display:none}#plugin-information-title.with-banner div.vignette{display:block;float:right;top:0;height:250px;width:830px;margin:0 -20px;background:0 0;-webkit-box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1)}#plugin-information-tabs{padding:0 16px;position:relative;right:0;left:0;height:36px;z-index:1;border-bottom:1px solid #ddd;background:#f3f3f3}#plugin-information-tabs a{position:relative;float:left;padding:9px 10px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;-webkit-transition:none;transition:none}#plugin-information-tabs a.current{margin:0 -1px;background:#fff;border:1px solid #ddd;border-bottom-color:#fff;padding-top:8px;color:#333}#plugin-information-tabs.with-banner a.current{border-top:none;padding-top:9px}#plugin-information-tabs a:active,#plugin-information-tabs a:focus{outline:0}#plugin-information-content{overflow:hidden;background:#fff;position:relative;top:0;right:0;left:0;min-height:100%;min-height:-webkit-calc(100% - 152px);min-height:calc(100% - 152px)}#plugin-information-content.with-banner{min-height:-webkit-calc(100% - 346px);min-height:calc(100% - 346px)}#section-holder{position:relative;top:0;right:250px;bottom:0;left:0;margin-right:250px;padding:10px 26px 99999px;margin-bottom:-99930px}#section-holder .updated{margin:16px 0}#plugin-information .fyi{display:block;float:right;position:relative;top:0;right:0;padding:16px 16px 99999px;margin-bottom:-99930px;width:217px;border-left:1px solid #ddd;background:#f3f3f3;color:#666}#plugin-information .fyi strong{color:#464646}#plugin-information .fyi h3{font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-right:0}#plugin-information .fyi ul{padding:0;margin:0;list-style:none}#plugin-information .fyi li{margin:0 0 10px}#plugin-information .counter-container{margin:3px 0}#plugin-information .counter-label{float:left;margin-right:5px;min-width:55px}#plugin-information .counter-back{height:17px;width:92px;background-color:#ececec;float:left}#plugin-information .counter-bar{height:17px;background-color:#fddb5a;float:left}#plugin-information .counter-count{margin-left:5px}#plugin-information .fyi ul.contributors{margin-top:10px}#plugin-information .fyi ul.contributors li{display:inline-block;margin-right:8px;vertical-align:middle}#plugin-information .fyi ul.contributors li img{vertical-align:middle;margin-right:4px}#plugin-information-footer{padding:15px 16px;position:absolute;right:0;bottom:0;left:0;height:28px;border-top:1px solid #ddd;background:#f3f3f3}#plugin-information .section{direction:ltr}#plugin-information .section ol,#plugin-information .section ul{list-style-type:disc;margin-left:24px}#plugin-information .section,#plugin-information .section p{font-size:14px;line-height:1.7}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;margin-top:16px;max-width:100%;width:auto;height:auto;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px}#plugin-information pre{padding:7px;overflow:auto;border:1px solid #ccc}#plugin-information .review{overflow:hidden;width:100%;margin-bottom:20px;border-bottom:1px solid #e6e6e6}#plugin-information .review-title-section{overflow:hidden}#plugin-information .review-title-section h4{display:inline-block;float:left;margin:0 6px 0 0}#plugin-information .reviewer-info p{clear:both;margin:0;padding-top:2px}#plugin-information .reviewer-info .avatar{float:left;margin:4px 6px 0 0}#plugin-information .reviewer-info .star-rating{float:left}#plugin-information .review-meta{float:left;margin-left:.75em}#plugin-information .review-body{float:left;width:100%}.plugin-version-author-uri{font-size:13px}@media screen and (max-width:771px){#plugin-information-title.with-banner{height:100px;bottom:100px}#plugin-information-title.with-banner h2{margin-top:30px;font-size:20px;line-height:40px;max-width:85%}#plugin-information-title.with-banner div.vignette{height:100px;bottom:100px;width:800%}#plugin-information-tabs{overflow:hidden;padding:0;height:auto}#plugin-information-tabs a.current{margin-bottom:0;border-bottom:none}#plugin-information .fyi{float:none;border:1px solid #ddd;position:static;width:auto;margin:26px 26px 0;padding-bottom:0}#section-holder{position:static;margin:0;padding-bottom:70px}#plugin-information .fyi h3,#plugin-information .fyi small{display:none}#plugin-information-footer{padding:12px 16px 0;height:46px}}body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:#fcfcfc url(../images/spinner.gif) no-repeat center}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:#fcfcfc url(../images/spinner-2x.gif) no-repeat center;-webkit-background-size:20px 20px;background-size:20px 20px}}body.import-php #TB_title,body.index-php #TB_title,body.plugin-install-php #TB_title,body.plugins-php #TB_title,body.update-core-php #TB_title{float:left;height:1px}body.import-php #TB_ajaxWindowTitle,body.index-php #TB_ajaxWindowTitle,body.plugin-install-php #TB_ajaxWindowTitle,body.plugins-php #TB_ajaxWindowTitle,body.update-core-php #TB_ajaxWindowTitle{display:none}body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{left:auto;right:-30px;color:#eee;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}body.import-php #TB_closeWindowButton:focus,body.import-php #TB_closeWindowButton:focus .tb-close-icon,body.import-php .tb-close-icon:focus,body.import-php .tb-close-icon:hover,body.index-php #TB_closeWindowButton:focus,body.index-php #TB_closeWindowButton:focus .tb-close-icon,body.index-php .tb-close-icon:focus,body.index-php .tb-close-icon:hover,body.plugin-install-php #TB_closeWindowButton:focus,body.plugin-install-php #TB_closeWindowButton:focus .tb-close-icon,body.plugin-install-php .tb-close-icon:focus,body.plugin-install-php .tb-close-icon:hover,body.plugins-php #TB_closeWindowButton:focus,body.plugins-php #TB_closeWindowButton:focus .tb-close-icon,body.plugins-php .tb-close-icon:focus,body.plugins-php .tb-close-icon:hover,body.update-core-php #TB_closeWindowButton:focus,body.update-core-php #TB_closeWindowButton:focus .tb-close-icon,body.update-core-php .tb-close-icon:focus,body.update-core-php .tb-close-icon:hover{color:#2ea2cc;outline:0;-webkit-box-shadow:none;box-shadow:none}body.import-php .tb-close-icon:before,body.index-php .tb-close-icon:before,body.plugin-install-php .tb-close-icon:before,body.plugins-php .tb-close-icon:before,body.update-core-php .tb-close-icon:before{content:"\f335";font-size:32px}@media screen and (max-width:830px){body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{right:0;top:-30px}}img{border:none}#wphead{border-bottom:1px solid #dfdfdf}#wphead h1 a{color:#464646}.js .meta-box-sortables .postbox:hover .handlediv{margin-right:0!important}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{right:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js #widgets-left .sidebar-name .sidebar-name-arrow{display:none}.js #widgets-left .sidebar-name:hover .sidebar-name-arrow,.js #widgets-left .widgets-holder-wrap.closed .sidebar-name .sidebar-name-arrow{display:block}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{content:'\f142'}.js .meta-box-sortables .postbox.closed .handlediv:before,.js .widgets-holder-wrap.closed .sidebar-name-arrow:before{content:'\f140'}.error a{text-decoration:underline}.updated a{text-decoration:none;padding-bottom:2px}#photo-add-url-div input[type=text]{width:300px}.alignleft h3{margin:0}#template textarea{font-family:Consolas,Monaco,monospace;font-size:13px;width:97%;background:#f9f9f9;outline:0}#docs-list,#template textarea{direction:ltr}#template p{width:97%}#templateside{float:right;width:190px;word-wrap:break-word}#postcustomstuff p.submit,#templateside h3{margin:0}#templateside h4{margin:1em 0 0}#templateside ol,#templateside ul{margin:.5em 0;padding:0}#templateside li{margin:4px 0}#templateside a,.theme-editor-php .highlight{display:block;padding:3px 3px 3px 12px;text-decoration:none}.theme-editor-php .highlight{margin:-3px 3px -3px -12px}#templateside .highlight{border:none;font-weight:700}.nonessential{color:#666;font-size:11px;font-style:italic;padding-left:12px}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:baseline;font-weight:600}.fileedit-sub{padding:10px 0 8px;line-height:180%}.accordion-section-title:after,.control-section .accordion-section-title:after,.nav-menus-php .item-edit:before,.widget-top a.widget-action:after{right:0;content:'\f140';border:none;background:0 0;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.accordion-section-title:after,.handlediv,.item-edit,.sidebar-name-arrow,.widget-action{color:#aaa}.accordion-section-title:hover:after,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.widget-action:hover{color:#777}.widget-top a.widget-action:after{padding:12px 12px 0}.nav-menus-php .item-edit:before{line-height:2.1}.accordion-section-title:after,.control-section .accordion-section-title:after{float:right;right:20px;top:-2px}#customize-info.open .accordion-section-title:after,.control-section.open .accordion-section-title:after,.nav-menus-php .menu-item-edit-active .item-edit:before,.widget.open .widget-top a.widget-action:after{content:'\f142'}.ui-draggable,.ui-sortable{-ms-touch-action:none;touch-action:none}.menu.ui-sortable,.meta-box-sortables.ui-sortable,.widgets-holder-wrap .ui-draggable,.widgets-holder-wrap .ui-sortable{-ms-touch-action:auto;touch-action:auto}.menu.ui-sortable .menu-item-handle,.meta-box-sortables.ui-sortable .hndle{-ms-touch-action:none;touch-action:none}.accordion-section{border-bottom:1px solid #dfdfdf;margin:0}.accordion-section.open .accordion-section-content,.no-js .accordion-section .accordion-section-content{display:block}.accordion-section.open:hover{border-bottom-color:#dfdfdf}.accordion-section-content{display:none;padding:10px 20px 15px;overflow:hidden;background:#fff}.accordion-section-title{margin:0;padding:12px 15px 15px;position:relative;border-left:1px solid #dfdfdf;border-right:1px solid #dfdfdf;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .accordion-section-title{cursor:pointer}.js .accordion-section-title:after{position:absolute;top:12px;right:10px;z-index:1}.accordion-section-title:focus{outline:0}.accordion-section-title:focus:after,.accordion-section-title:hover:after{border-color:#aaa transparent}.cannot-expand .accordion-section-title{cursor:auto}.cannot-expand .accordion-section-title:after{display:none}.control-section .accordion-section-title{border-left:none;border-right:none;padding:10px 10px 11px 14px;line-height:21px;background:#fff}.control-section .accordion-section-title:after{top:11px}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{color:#222;background:#f5f5f5}.control-section.open .accordion-section-title{border-bottom:1px solid #dfdfdf}@media only screen and (min-width:769px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:860px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (min-width:980px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:768px){#col-left,#col-right{width:100%}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){div.star-holder,div.star-holder .star-rating{background:url(../images/stars-2x.png?ver=20121108) repeat-x bottom left;-webkit-background-size:21px 37px;background-size:21px 37px}.spinner{background-image:url(../images/spinner-2x.gif)}#bulk-titles div a,#bulk-titles div a:hover,#screen-meta-links a.show-settings,.curtime #timestamp,.meta-box-sortables .postbox:hover .handlediv,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.tagchecklist span a,.tagchecklist span a:hover,.widget-top a.widget-action,.widget-top a.widget-action:hover{background:none!important}}@-ms-viewport{width:device-width}@media screen and (max-width:782px){html.wp-toolbar{padding-top:46px}body{min-width:240px;overflow-x:hidden}body *{-webkit-tap-highlight-color:transparent!important}#wpcontent{position:relative;margin-left:0;padding-left:10px}#wpbody-content{padding-bottom:100px}.wrap{margin-right:12px;margin-left:0}.col-wrap{padding:0}#collapse-menu,#screen-meta,#screen-meta-links,.post-format-select{display:none!important}.wrap .add-new-h2,.wrap .add-new-h2:active{padding:10px 15px;font-size:14px}.wp-color-result{height:auto;padding-left:45px}.wp-color-result:after{font-size:14px;height:auto;padding:6px 14px}.media-upload-form div.error,.wrap div.error,.wrap div.updated{margin:20px 0 10px;padding:5px 10px;font-size:14px;line-height:175%}.wrap .icon32+h2{margin-top:-2px}.wp-responsive-open #wpbody{right:-190px}code{word-wrap:break-word}.postbox{font-size:14px}.metabox-holder h3{padding:12px}.postbox .handlediv{margin-top:3px}.subsubsub{font-size:16px;text-align:center;margin-bottom:15px}#templateside{float:none;width:auto}#templateside li{margin:0}#templateside li a{display:block;padding:5px}#templateside .highlight{padding:5px;margin-left:-5px;margin-top:-5px}#template div{float:none;margin:0;width:auto}#template textarea{width:100%}.fileedit-sub .alignright{margin-top:15px}#comments-form .checkforspam,#wpfooter{display:none}}@media screen and (max-width:600px){#wpwrap.wp-responsive-open{overflow-x:hidden}html.wp-toolbar{padding-top:0}#wpbody{padding-top:46px}div#post-body.metabox-holder.columns-1{overflow-x:hidden}}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#333;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #bbb;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#888}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#2ea2cc}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-right:4px;line-height:10px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{float:left;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px 0 0 -4px;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:left;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:left;margin-right:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-left:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;left:-1px;padding:0 5px 0 0;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:left;margin:13px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:right;margin:0}.network-admin.themes-php p.search-box{clear:left}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}input[type=text].ui-autocomplete-loading{background:url(../images/loading.gif) no-repeat right center;visibility:visible}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete-input.open{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:1px solid #aaa;background-color:#efefef}.ui-autocomplete li{margin-bottom:0;white-space:nowrap;text-align:left}.ui-autocomplete li a{display:block;height:100%;padding:4px 10px;color:#444}.ui-autocomplete li a.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#222;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:left;padding:20px 10px 20px 0;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-right:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.pressthis{margin:20px 0}.pressthis a,.pressthis a:active,.pressthis a:focus,.pressthis a:hover{display:inline-block;position:relative;cursor:move;color:#333;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis a:active{outline:0}.pressthis a:hover:after{-webkit-transform:skew(20deg) rotate(9deg);-ms-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis a span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis a span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis a:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:0 0;-webkit-transform:skew(20deg) rotate(6deg);-ms-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}#local-time,#utc-time{padding-left:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .spinner{float:none;margin:-3px 3px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-right:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-left:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}}@media only screen and (max-width:768px){.form-field input,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media screen and (max-width:600px){.color-option{width:49%}}#adminmenu,#adminmenu .wp-submenu,#adminmenuback,#adminmenuwrap{width:160px;background-color:#222}#adminmenuback{position:absolute;top:0;bottom:0;z-index:-1}#adminmenu{clear:left;margin:12px 0 0;padding:0;list-style:none}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:36px}.icon16{height:18px;width:18px;padding:6px;margin:-6px 0 0 -8px;float:left}.icon16:before{color:#999;font:400 20px/1 dashicons;speak:none;padding:6px 0;height:34px;width:20px;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.icon16.icon-dashboard:before{content:'\f226'}.icon16.icon-post:before{content:'\f109'}.icon16.icon-media:before{content:'\f104'}.icon16.icon-links:before{content:'\f103'}.icon16.icon-page:before{content:'\f105'}.icon16.icon-comments:before{content:'\f101';margin-top:1px}.icon16.icon-appearance:before{content:'\f100'}.icon16.icon-plugins:before{content:'\f106'}.icon16.icon-users:before{content:'\f110'}.icon16.icon-tools:before{content:'\f107'}.icon16.icon-settings:before{content:'\f108'}.icon16.icon-site:before{content:'\f112'}.icon16.icon-generic:before{content:'\f111'}.icon16.icon-appearance,.icon16.icon-comments,.icon16.icon-dashboard,.icon16.icon-generic,.icon16.icon-links,.icon16.icon-media,.icon16.icon-page,.icon16.icon-plugins,.icon16.icon-post,.icon16.icon-settings,.icon16.icon-site,.icon16.icon-tools,.icon16.icon-users,.menu-icon-appearance div.wp-menu-image,.menu-icon-comments div.wp-menu-image,.menu-icon-dashboard div.wp-menu-image,.menu-icon-generic div.wp-menu-image,.menu-icon-links div.wp-menu-image,.menu-icon-media div.wp-menu-image,.menu-icon-page div.wp-menu-image,.menu-icon-plugins div.wp-menu-image,.menu-icon-post div.wp-menu-image,.menu-icon-settings div.wp-menu-image,.menu-icon-site div.wp-menu-image,.menu-icon-tools div.wp-menu-image,.menu-icon-users div.wp-menu-image{background-image:none!important}#adminmenuwrap{position:relative;float:left}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#adminmenu li{margin:0;padding:0;cursor:pointer}#adminmenu a{display:block;line-height:18px;padding:2px 5px;color:#eee}#adminmenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover{background:0 0}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a:hover,#adminmenu li.menu-top>a:focus{color:#2ea2cc}#adminmenu li.menu-top{border:none;min-height:34px;position:relative}#adminmenu .wp-submenu{list-style:none;position:absolute;top:-1000em;left:160px;overflow:visible;word-wrap:break-word}#adminmenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{padding:7px 0 8px;z-index:9999;background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu a.menu-top:focus+.wp-submenu,.js #adminmenu .opensub .wp-submenu,.js #adminmenu .sub-open,.no-js li.wp-has-submenu:hover .wp-submenu{top:-1px}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu{position:relative;z-index:3;top:auto;left:auto;right:auto;bottom:auto;border:0;margin-top:0;-webkit-box-shadow:none;box-shadow:none;background-color:#333}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{position:relative;background-color:#111}.folded #adminmenu li.menu-top:hover,.folded #adminmenu li.opensub>a.menu-top,.folded #adminmenu li>a.menu-top:focus{z-index:10000}#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow,#adminmenu .wp-menu-arrow div,#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,.folded #adminmenu li.wp-has-current-submenu{background:#0074a2;color:#fff}.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.folded #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open,.folded #adminmenu a.menu-top:focus+.wp-submenu,.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu{top:0;left:36px}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em}#adminmenu .wp-not-current-submenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{min-width:160px;width:auto}#adminmenu .wp-submenu a{font-size:13px;line-height:1.2;margin:0;padding:6px 0}#adminmenu .opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-not-current-submenu li>a,.folded #adminmenu .wp-has-current-submenu li>a{padding-right:16px;padding-left:14px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu .wp-has-current-submenu ul>li>a,.folded #adminmenu li.menu-top .wp-submenu>li>a{padding:6px 12px}#adminmenu .wp-submenu-head,#adminmenu a.menu-top{font-size:14px;font-weight:400;line-height:18px;padding:0}#adminmenu .wp-submenu-head,.folded #adminmenu .wp-menu-name{display:none}.folded #adminmenu .wp-submenu-head{display:block}#adminmenu .wp-submenu li{padding:0;margin:0;overflow:hidden}#adminmenu .wp-menu-image img{padding:9px 0 0;opacity:.6;filter:alpha(opacity=60)}#adminmenu div.wp-menu-name{padding:8px 0}#adminmenu div.wp-menu-image{float:left;width:36px;height:34px;margin:0;text-align:center}#adminmenu div.wp-menu-image.svg{background-repeat:no-repeat;background-position:center;-webkit-background-size:20px auto;background-size:20px auto}div.wp-menu-image:before{color:#999;padding:7px 0;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu div.wp-menu-image:before{color:#999}#adminmenu .current div.wp-menu-image:before,#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}.folded #adminmenu div.wp-menu-image{width:35px;height:30px;position:absolute;z-index:25}.folded #adminmenu a.menu-top{height:34px}.no-font-face #adminmenu .wp-menu-image{display:none}.no-font-face #adminmenu div.wp-menu-name{padding:8px 12px}.no-font-face.auto-fold #adminmenu .wp-menu-name{margin-left:0}.sticky-menu #adminmenuwrap{position:fixed;z-index:9999}.wp-menu-arrow{display:none!important}ul#adminmenu a.wp-has-current-submenu{position:relative}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{right:0;border:8px solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#f1f1f1;top:50%;margin-top:-8px}.folded ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.folded ul#adminmenu a.wp-has-current-submenu:after,.folded ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{right:0;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-width:8px;top:10px;z-index:10000}.folded ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:18px}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#333}#adminmenu li.menu-top:hover .wp-menu-image img,#adminmenu li.wp-has-current-submenu .wp-menu-image img{opacity:1;filter:alpha(opacity=100)}#adminmenu li.wp-menu-separator{height:5px;padding:0;margin:0 0 6px;cursor:inherit}#adminmenu div.separator{height:2px;padding:0}#adminmenu .wp-submenu .wp-submenu-head{color:#fff;font-weight:400;font-size:14px;padding:8px 4px 8px 11px;margin:-7px 0 4px}#adminmenu li.current,.folded #adminmenu li.wp-menu-open{border:0}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu li a span.update-plugins{display:inline-block;background-color:#d54e21;color:#fff;font-size:9px;line-height:17px;font-weight:600;margin:1px 0 0 2px;vertical-align:top;-webkit-border-radius:10px;border-radius:10px;z-index:26}#adminmenu li .awaiting-mod span,#adminmenu li span.update-plugins span,#sidemenu li a span.update-plugins span{display:block;padding:0 6px}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod{background-color:#2ea2cc;color:#fff}#adminmenu li span.count-0,#sidemenu li a .count-0{display:none}#collapse-menu{font-size:13px;line-height:34px;margin-top:10px;color:#aaa;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}.folded #collapse-menu span{display:none}#collapse-button,#collapse-button div{width:15px;height:15px}#collapse-button{float:left;height:15px;margin:10px 8px 10px 11px;width:15px;-webkit-border-radius:10px;border-radius:10px}#wpwrap #collapse-button div{padding:0}#collapse-button div:after{content:'\f148';display:block;line-height:15px;left:-3px;top:-3px;color:#aaa;font:400 20px/1 dashicons!important;speak:none;margin:0 auto;padding:0!important;position:relative;text-align:center;width:20px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.folded #collapse-button div:after,.rtl #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.folded #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}li#wp-admin-bar-menu-toggle{display:none}@media only screen and (max-width:960px){.auto-fold #wpcontent,.auto-fold #wpfooter{margin-left:36px}.auto-fold #adminmenu,.auto-fold #adminmenu li.menu-top,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{width:36px}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.auto-fold #adminmenu .wp-submenu.sub-open,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{top:0;left:36px}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu,.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em;margin-right:-1px;padding:7px 0 8px;z-index:9999}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{min-width:150px;width:auto}.auto-fold #adminmenu .wp-has-current-submenu li>a{padding-right:16px;padding-left:14px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding-left:12px}.auto-fold #adminmenu .wp-menu-name{display:none}.auto-fold #adminmenu .wp-submenu-head{display:block}.auto-fold #adminmenu div.wp-menu-image{height:30px;width:34px;position:absolute;z-index:25}.auto-fold #adminmenu a.menu-top{height:34px}.auto-fold #adminmenu li.wp-menu-open{border:0}.auto-fold #adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0}.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:16px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}.auto-fold #adminmenu li.menu-top:hover,.auto-fold #adminmenu li.opensub>a.menu-top,.auto-fold #adminmenu li>a.menu-top:focus{z-index:10000}.auto-fold #collapse-menu span{display:none}.auto-fold #collapse-button div{background:0 0}.auto-fold #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.auto-fold #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}}@media screen and (max-width:782px){.auto-fold #wpcontent{position:relative;margin-left:0;padding-left:10px}.sticky-menu #adminmenuwrap{position:relative;z-index:auto;top:0}.auto-fold #adminmenu,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{position:absolute;width:190px;z-index:100}.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{display:none}.auto-fold .wp-responsive-open #adminmenuback,.auto-fold .wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu li.menu-top{width:100%}.auto-fold #adminmenu li a{font-size:16px;padding:5px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding:10px 10px 10px 20px}.auto-fold #adminmenu .wp-menu-name{display:block;margin-left:35px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li.current>a.current:after{border-width:8px;margin-top:-8px}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{display:none}#adminmenu .wp-submenu{position:relative;display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold #adminmenu .wp-menu-open .wp-submenu{position:relative;display:block;top:0;left:-1px;-webkit-box-shadow:none;box-shadow:none}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .selected .wp-submenu:after,.auto-fold #adminmenu .wp-menu-open .wp-submenu:after{display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:block}.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{position:relative;left:-1px;right:0;top:0}#adminmenu .wp-submenu .wp-submenu-head{display:none}#wp-responsive-toggle{position:fixed;top:5px;left:4px;padding-right:10px;z-index:99999;border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpadminbar #wp-admin-bar-menu-toggle a{display:block;padding:0;overflow:hidden;outline:0;text-decoration:none;border:1px solid transparent;background:0 0;height:44px;margin-left:-1px}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#333}li#wp-admin-bar-menu-toggle{display:block}#wpadminbar #wp-admin-bar-menu-toggle a:hover{border:1px solid transparent}#wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before{content:'\f228';display:inline-block;float:left;font:400 40px/45px Dashicons;vertical-align:middle;outline:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:44px;width:50px;padding:0;border:none;text-align:center;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}@media screen and (max-width:600px){#adminmenuback,#adminmenuwrap{display:none}.wp-responsive-open #adminmenuback,.wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu{top:46px}}#wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody-content #dashboard-widgets.columns-2 .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets.columns-2 #postbox-container-2,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-4{float:right;width:50.5%}#wpbody-content #dashboard-widgets.columns-3 .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-3 #postbox-container-4{float:right}#dashboard-widgets .postbox-container,#wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}#dashboard-widgets-wrap .columns-3 #postbox-container-4 .empty-container{border:none!important}.ie8 #wpbody-content #dashboard-widgets .postbox-container{width:49.5%}.ie8 #wpbody-content #dashboard-widgets #postbox-container-2,.ie8 #wpbody-content #dashboard-widgets #postbox-container-3,.ie8 #wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}.ie8 #dashboard-widgets #postbox-container-3 .empty-container,.ie8 #dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}#dashboard-widgets-wrap{overflow:hidden;margin:0 -8px}#dashboard-widgets .postbox .inside{margin-bottom:0}#dashboard-widgets .meta-box-sortables{margin:0 8px;min-height:100px}#the-comment-list td.comment p.comment-author{margin-top:0;margin-left:0}#the-comment-list p.comment-author img{float:left;margin-right:8px}#the-comment-list p.comment-author strong a{border:none}#the-comment-list td{vertical-align:top}#the-comment-list td.comment{word-wrap:break-word}#the-comment-list td.comment img{max-width:100%}.welcome-panel{position:relative;overflow:auto;margin:16px 0;padding:23px 10px 0;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:13px;line-height:2.1em}.welcome-panel h3{margin:0;font-size:21px;font-weight:400;line-height:1.2}.welcome-panel h4{margin:1.33em 0 0;font-size:16px}.welcome-panel li{font-size:14px}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel .about-description{font-size:16px;margin:0}.welcome-panel .welcome-panel-close{position:absolute;top:5px;right:10px;padding:20px 15px 0 3px;font-size:13px;text-decoration:none;line-height:1}#welcome-panel.welcome-panel .welcome-panel-close:before{position:absolute;left:-18px;margin-top:-2px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.wp-core-ui .welcome-panel .button.button-hero{margin:15px 0 3px}.welcome-panel-content{margin-left:13px;max-width:1500px}.welcome-panel .welcome-panel-column-container{clear:both;overflow:hidden;position:relative}.welcome-panel .welcome-panel-column{width:32%;min-width:200px;float:left}.ie8 .welcome-panel .welcome-panel-column{min-width:230px}.welcome-panel .welcome-panel-column:first-child{width:36%}.welcome-panel-column p.hide-if-no-customize{margin-top:10px}.welcome-panel-column p{margin-top:7px;color:#464646}.welcome-panel .welcome-icon{display:block;padding:0 0 8px;background:0 0!important}.welcome-panel .welcome-icon:before{color:#888;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 10px 0 0;top:-1px;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;vertical-align:top}.welcome-panel .welcome-edit-page:before,.welcome-panel .welcome-write-blog:before{content:'\f119';top:-3px}.welcome-panel .welcome-add-page:before{content:'\f132'}.welcome-panel .welcome-view-site:before{content:'\f115';top:-2px}.welcome-panel .welcome-widgets-menus:before{content:'\f116';top:-2px}.welcome-panel .welcome-comments:before{content:'\f117';top:-1px}.welcome-panel .welcome-learn-more:before{content:'\f118';top:-1px}.welcome-panel .welcome-widgets-menus{line-height:16px}.welcome-panel .welcome-panel-column ul{margin:.8em 1em 1em 0}.welcome-panel .welcome-panel-column li{line-height:16px;list-style-type:none}#dashboard_primary .inside{margin:0;padding:0}#dashboard_primary .dashboard-widget-control-form,#dashboard_primary .widget-loading{padding:12px 12px 0}body #dashboard-widgets .postbox form .submit{margin:0}.dashboard-widget-control-form{overflow:hidden}.dashboard-widget-control-form p{margin-top:0}.rssSummary{color:#777;margin-top:4px}#dashboard_primary .rss-widget{border-bottom:1px solid #eee;font-size:13px;padding:8px 12px 10px}#dashboard_primary .rss-widget:last-child{border-bottom:none;padding-bottom:8px}#dashboard_primary .rss-widget a{font-weight:400}#dashboard_primary .rss-widget span,#dashboard_primary .rss-widget span.rss-date{color:#777}#dashboard_primary .rss-widget span.rss-date{margin-left:12px}#dashboard_primary .rss-widget ul li{margin-bottom:8px}#dashboard_right_now ul{margin:0;overflow:hidden}#dashboard_right_now li{width:50%;float:left;margin-bottom:10px}#dashboard_right_now .inside{overflow:hidden;padding:0}#dashboard_right_now .main{overflow:hidden;padding:0 12px 11px}#dashboard_right_now .main p{margin:0}#dashboard_right_now #wp-version-message .button{clear:right;float:right;position:relative;top:-5px}.mu-storage{overflow:hidden}#dashboard-widgets h4.mu-storage{margin-bottom:10px}#dashboard_right_now li a:before,#dashboard_right_now li span:before{color:#888}#dashboard_right_now .sub{color:#777;background:#f5f5f5;border-top:1px solid #eee;padding:10px 12px 6px}#dashboard_right_now .sub h4{color:#555}#dashboard_right_now .sub p{margin:0 0 1em}#dashboard_right_now .warning a:before,#dashboard_right_now .warning span:before{color:#d54e21}#dashboard_right_now li a:before,#dashboard_right_now li span:before{content:'\f159';font:400 20px/1 dashicons;speak:none;display:block;float:left;margin:0 5px 0 0;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_right_now .page-count a:before,#dashboard_right_now .page-count span:before{content:'\f105'}#dashboard_right_now .post-count a:before,#dashboard_right_now .post-count span:before{content:'\f109'}#dashboard_right_now .comment-count a:before{content:'\f101'}#dashboard_right_now .comment-mod-count a:before{content:'\f125'}#dashboard_right_now .storage-count a:before{content:'\f104'}#dashboard_right_now .storage-count.warning a:before{content:'\f153'}#dashboard_quick_press .inside{margin:0;padding:0}#dashboard_quick_press div.updated{margin-bottom:10px;border:1px solid #eee;border-width:1px 1px 1px 0}#dashboard_quick_press form{overflow:hidden;margin:12px}#dashboard_quick_press .drafts,#dashboard_quick_press .easy-blogging{padding:10px 0 0}input#save-post{float:left}form.initial-form.quickpress-open label.prompt{font-style:normal}form.initial-form.quickpress-open input#title{height:auto}#dashboard_quick_press input,#dashboard_quick_press textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0}#dashboard_quick_press textarea{resize:vertical}#description-wrap{margin-top:12px}#title-wrap #title-prompt-text,.textarea-wrap #content-prompt-text{color:#777}.input-text-wrap,.textarea-wrap{position:relative}.input-text-wrap .prompt,.textarea-wrap .prompt{position:absolute}.textarea-wrap #content-prompt-text{font-size:1.1em;padding:7px 8px}.textarea-wrap textarea#content{margin:0 0 8px;padding:6px 7px}#quick-press textarea#content{min-height:90px;max-height:1300px;resize:none}.js #dashboard_quick_press .drafts{border-top:1px solid #eee}#dashboard_quick_press .drafts abbr{border:none}#dashboard_quick_press .drafts h4{margin:0 12px 8px;font-weight:400}#dashboard_quick_press .drafts .view-all{float:right;margin:0 12px 0 0}#dashboard_primary a.rsswidget{font-weight:400}#dashboard_quick_press .drafts ul{margin:0 12px}#dashboard_quick_press .drafts li{margin-bottom:1em}#dashboard_quick_press .drafts li time{color:#777}#dashboard_quick_press .drafts p{margin:0;word-wrap:break-word}#dashboard_quick_press .draft-title{overflow:hidden}#dashboard_quick_press .draft-title a,#dashboard_quick_press .draft-title time{float:left;margin:0 5px 0 0}#dashboard-widgets #dashboard_activity h4{margin:0 0 8px 12px;font-weight:400}#dashboard-widgets #dashboard_activity h4.comment-meta{margin:0}#dashboard_activity h4.comment-meta{margin-bottom:4px}#dashboard_activity ul{padding:0 12px}#dashboard_activity .comment-meta span.approve:before{content:'\f227';font:20px/.5 dashicons;margin-left:12px;vertical-align:middle;position:relative;top:-1px;margin-right:2px}#dashboard_activity .inside{padding:0;margin:0}#dashboard_activity .no-activity{overflow:hidden;padding:0 12px 12px;text-align:center}#dashboard_activity .no-activity p{color:#999;font-size:16px}#dashboard_activity .no-activity .smiley{margin-top:0}#dashboard_activity .no-activity .smiley:before{content:'\f328';font:400 120px/1 dashicons;speak:none;display:block;margin:0 5px 0 0;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_activity .subsubsub{float:none;border-top:1px solid #eee;margin-top:0;padding:8px 12px 4px}#future-posts ul,#published-posts ul{clear:both;margin-bottom:0}#future-posts li,#published-posts li{overflow:hidden;margin-bottom:8px}#future-posts ul span,#published-posts ul span{color:#777;float:left;margin-right:8px;min-width:150px}.activity-block{border-bottom:1px solid #eee;overflow:hidden;padding:8px 0 4px}.activity-block:last-child{border-bottom:none}.activity-block .subsubsub li{color:#ddd}#activity-widget #the-comment-list div.undo,#activity-widget #the-comment-list tr.undo{background:0 0;padding:6px 0;margin-left:12px}#activity-widget #the-comment-list .alt,#activity-widget #the-comment-list .alternate{background:0 0}#activity-widget #the-comment-list .comment-item{background:#fafafa;padding:12px;position:relative}#activity-widget #the-comment-list img{position:absolute;top:13px}#activity-widget #the-comment-list .dashboard-comment-wrap{padding-left:63px}#activity-widget #the-comment-list .dashboard-comment-wrap blockquote{margin:1em 0}#activity-widget #the-comment-list .comment-item h4{font-size:13px;color:#999}#activity-widget #the-comment-list .comment-item p.row-actions{margin:4px 0 0}#activity-widget #the-comment-list .comment-item:first-child{border-top:1px solid #eee}#activity-widget #the-comment-list .unapproved{background-color:#fef7f1}#activity-widget #the-comment-list .unapproved:before{content:"";display:block;position:absolute;left:0;top:0;bottom:0;background:#d54e21;width:4px}#activity-widget #the-comment-list .spam-undo-inside .avatar,#activity-widget #the-comment-list .trash-undo-inside .avatar{position:relative;top:0}#dashboard-widgets #dashboard_browser_nag.postbox .inside{margin:10px}.edit-box{display:none}h3:hover .edit-box{display:inline}#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:100%}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:none}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0}#dashboard-widgets a{text-decoration:none}#dashboard-widgets h3 a{text-decoration:underline}#dashboard-widgets h3 .postbox-title-action{position:absolute;right:10px;padding:0;top:5px}.js #dashboard-widgets h3 .postbox-title-action{right:33px}#dashboard-widgets h4{color:#222;font-weight:400;font-size:14px;margin:0 0 .2em;padding:0}#dashboard_plugins h5{font-size:14px}#latest-comments #the-comment-list{position:relative}#activity-widget #the-comment-list .comment,#activity-widget #the-comment-list .pingback{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}#activity-widget #latest-comments #the-comment-list .comment-item{padding:1em 12px}#latest-comments #the-comment-list .pingback{padding-left:12px!important}#latest-comments #the-comment-list .comment-item:first-child{border-top:none}#latest-comments #the-comment-list .comment-item h4{line-height:1.5em;margin-top:0;color:#666}#latest-comments #the-comment-list .comment-item h4 cite{font-style:normal;font-weight:400}#latest-comments #the-comment-list .comment-item blockquote,#latest-comments #the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline}#latest-comments #the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:13px}#description-wrap label,#title-wrap label{cursor:text}#title-wrap #title{padding:2px 6px;font-size:1.3em;outline:0}#title-wrap #title-prompt-text{font-size:1.1em;padding:5px 8px}.rss-widget ul{margin:0;padding:0;list-style:none}a.rsswidget{font-size:14px;font-weight:600;line-height:1.7em}.rss-widget ul li{line-height:1.5em;margin-bottom:12px}.rss-widget span.rss-date{color:#999;font-size:13px;margin-left:3px}.rss-widget cite{display:block;text-align:right;margin:0 0 1em;padding:0}.rss-widget cite:before{content:'\2014'}.dashboard-comment-wrap{overflow:hidden;word-wrap:break-word}#dashboard_browser_nag a.update-browser-link{font-size:1.2em;font-weight:600}#dashboard_browser_nag a{text-decoration:underline}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-right:125px}#dashboard_browser_nag .browser-icon{margin-top:-35px}#dashboard_browser_nag.postbox.browser-insecure{background-color:#ac1b1b;border-color:#ac1b1b}#dashboard_browser_nag.postbox{background-color:#e29808;background-image:none;border-color:#edc048;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag.postbox.browser-insecure h3{border-bottom-color:#cd5a5a;color:#fff}#dashboard_browser_nag.postbox h3{border-bottom-color:#f6e2ac;background:0 0;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag h3.hndle{border:none;font-weight:600;font-size:20px;padding-top:10px}.postbox#dashboard_browser_nag p a.dismiss{font-size:14px}.postbox#dashboard_browser_nag a,.postbox#dashboard_browser_nag p,.postbox#dashboard_browser_nag p.browser-update-nag{font-size:16px}@media only screen and (max-width:799px){#wpbody-content #dashboard-widgets .postbox-container{width:100%}}@media only screen and (min-width:800px) and (max-width:1499px){#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}#wpbody #wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody #wpbody-content .metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}.index-php .columns-prefs,.index-php .screen-layout{display:block}.columns-prefs .columns-prefs-3,.columns-prefs .columns-prefs-4{display:none}}@media only screen and (min-width:1500px) and (max-width:1800px){#wpbody-content #dashboard-widgets .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right}#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}}@media screen and (max-width:870px){.welcome-panel .welcome-panel-column,.welcome-panel .welcome-panel-column:first-child{display:block;float:none;width:100%}.welcome-panel .welcome-panel-column li{display:inline-block;margin-right:13px}.welcome-panel .welcome-panel-column ul{margin:.4em 0 0}}@media screen and (max-width:782px){#dashboard_recent_comments #the-comment-list .comment-item .avatar{height:30px;width:30px;margin:4px 10px 5px 0}}@media screen and (max-width:600px){.welcome-panel .welcome-panel-close{overflow:hidden;text-indent:100%;white-space:nowrap;width:20px;height:20px;right:0;padding:5px}#welcome-panel.welcome-panel .welcome-panel-close:before{font-size:20px;margin:0}}.post-com-count-wrapper{min-width:22px}.post-com-count{background:no-repeat center -80px;height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;color:#fff}.post-com-count:after{content:"";display:block;width:0;height:0;margin-left:8px;border-top:5px solid #bbb;border-right:5px solid transparent}.post-com-count span{font-size:11px;font-weight:600;height:1.4em;line-height:1.4em;min-width:.7em;padding:0 6px;display:inline-block;-webkit-border-radius:5px;border-radius:5px;background-color:#bbb;color:#fff}.post-com-count:hover{background-position:center -3px}.post-com-count:hover span{background-color:#2ea2cc}.post-com-count:hover:after{border-top:5px solid #2ea2cc}strong .post-com-count{background-position:center -55px}strong .post-com-count span{background-color:#0074a2}strong .post-com-count:after{border-top:5px solid #0074a2}.column-response .post-com-count{float:left;margin-right:5px;text-align:center}.response-links{float:left}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom:1px solid #ccc}.commentlist li li{border-bottom:0;padding:0}.commentlist p{padding:0;margin:0 0 .8em}#submitted-on,.submitted-on{color:#777}#replyrow td{padding:2px}#replysubmit{margin:0;padding:0 5px 3px;text-align:center}#replysubmit .spinner{padding:2px 0 0;vertical-align:top;float:right}#replysubmit .button{margin-right:5px}#replysubmit .error{color:red;line-height:21px;text-align:center}#replyrow h5{margin:.2em 0 0;padding:0 5px;line-height:1.4em;font-size:1em}#edithead .inside{float:left;padding:3px 0 2px 5px;margin:0;text-align:center}#edithead .inside input{width:180px}#edithead label{padding:2px 0}#replycontainer{padding:5px}#replycontent{height:120px;-webkit-box-shadow:none;box-shadow:none}#replyerror{border-color:#ddd;background-color:#f9f9f9}.commentlist .avatar{vertical-align:text-top}#the-comment-list .attachment-80x60{padding:4px 8px}#the-comment-list div.undo,#the-comment-list tr.undo{background-color:#f4f4f4}#the-comment-list .unapproved td,#the-comment-list .unapproved th{background-color:#fef7f1}#the-comment-list .unapproved th.check-column{border-left:4px solid #d54e21}#the-comment-list .unapproved th.check-column input{margin-left:4px}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list td,#the-comment-list th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#the-comment-list tr:last-child td,#the-comment-list tr:last-child th{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved td,#the-comment-list tr.unapproved+tr.approved th{border-top:1px solid rgba(0,0,0,.03)}.vim-current,.vim-current td,.vim-current th{background-color:#e4f2fd!important}th .comment-grey-bubble{height:16px;width:16px}th .comment-grey-bubble:before{content:'\f101';font:400 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:4px;left:-4px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}table.fixed{table-layout:fixed}.fixed .column-rating,.fixed .column-visible{width:8%}.fixed .column-author,.fixed .column-date,.fixed .column-format,.fixed .column-links,.fixed .column-parent,.fixed .column-posts{width:10%}.fixed .column-posts{width:74px}.fixed .column-comment .comment-author{display:none}.fixed .column-categories,.fixed .column-rel,.fixed .column-response,.fixed .column-role,.fixed .column-tags{width:15%}.fixed .column-slug{width:25%}.fixed .column-locations{width:35%}.fixed .column-comments{width:4em;padding:8px 0;text-align:left}.fixed .column-comments .vers{padding-left:3px}.fixed .column-comments a{float:left}.fixed .column-icon{width:80px}.wp-list-table a{-webkit-transition:none;transition:none}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:none!important;-webkit-box-shadow:none;box-shadow:none}#comments-form .fixed .column-author{width:20%}#commentsdiv.postbox .inside{margin:0;padding:0}#commentsdiv .inside .row-actions{line-height:18px}#commentsdiv .inside .column-author{width:25%}#commentsdiv .column-comment p{margin:.6em 0;padding:0}#commentsdiv #replyrow td{padding:0}#commentsdiv p{padding:8px 10px;margin:0}#commentsdiv .comments-box{border:0}#commentsdiv .comments-box thead th{background:0 0;padding:0 7px 4px;font-style:italic}#commentsdiv .comments-box tr:last-child td{border-bottom:0 none}#commentsdiv .spinner{padding-left:5px}.sorting-indicator{display:none;width:10px;height:4px;margin-top:8px;margin-left:7px}.sorting-indicator:before{background:0 0;content:'\f142';font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0;top:-4px;left:-8px;line-height:10px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}.column-comments .sorting-indicator:before{top:0;left:-10px}th.desc:hover span.sorting-indicator:before,th.sorted.asc .sorting-indicator:before{content:'\f142'}th.asc:hover span.sorting-indicator:before,th.sorted.desc .sorting-indicator:before{content:'\f140'}tr.wp-locked .locked-indicator{margin-left:6px;height:20px;width:16px}tr.wp-locked .locked-indicator:before{color:#888;content:'\f160';display:inline-block;float:left;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-left:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}tr.wp-locked .check-column input[type=checkbox],tr.wp-locked .check-column label,tr.wp-locked .row-actions .inline,tr.wp-locked .row-actions .trash{display:none}tr .locked-info{height:0;opacity:0}tr.wp-locked .locked-info{margin-top:8px;height:auto;opacity:1}.locked-text{vertical-align:top}tr.locked-info,tr.wp-locked .locked-info{-webkit-transition:height 1s,opacity .5s;transition:height 1s,opacity .5s}.fixed .column-comments .sorting-indicator{margin-top:3px}#menu-locations-wrap .widefat{width:60%}.widefat th.sortable,.widefat th.sorted{padding:0}th.sortable a,th.sorted a{display:block;overflow:hidden;padding:7px 7px 8px 10px}th.manage-column a,th.sortable a:active,th.sortable a:focus,th.sortable a:hover{color:#333}th.sortable a:focus{background:#e1e1e1}.fixed .column-comments.sortable a,.fixed .column-comments.sorted a{padding:8px 0}th.sortable a span,th.sorted a span{float:left;cursor:pointer}th.desc:hover span.sorting-indicator,th.sorted.asc .sorting-indicator{display:block;background-position:0 0}th.asc:hover span.sorting-indicator,th.sorted.desc .sorting-indicator{display:block;background-position:-7px 0}.tablenav-pages a{font-weight:600;margin-right:1px;padding:0 2px}.tablenav-pages .current-page{padding-top:0;text-align:center}.tablenav-pages .next-page{margin-left:2px}.tablenav a.button-secondary{display:block;margin:3px 8px 0 0}.tablenav{clear:both;height:30px;margin:6px 0 4px;vertical-align:middle}.tablenav.themes{max-width:98%}.tablenav .tablenav-pages{float:right;display:block;cursor:default;height:30px;color:#555;line-height:30px;font-size:12px}.tablenav .no-pages,.tablenav .one-page .pagination-links{display:none}.tablenav .tablenav-pages a,.tablenav-pages span.current{text-decoration:none;padding:3px 6px}.tablenav .tablenav-pages a{padding:0 10px 3px;background:#eee;background:rgba(0,0,0,.05);font-size:16px;font-weight:400}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:active,.tablenav .tablenav-pages a.disabled:focus,.tablenav .tablenav-pages a.disabled:hover{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .displaying-num{margin-right:2px;color:#777;font-size:12px;font-style:italic}.tablenav .actions{overflow:hidden;padding:2px 8px 0 0}.wp-filter .actions{display:inline-block;vertical-align:middle}.tablenav .delete{margin-right:20px}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}.tablenav .view-switch{float:right;margin:5px 16px 0 8px}.wp-filter .view-switch{display:inline-block;vertical-align:middle;padding:14px 0;margin:0 20px 0 0}.view-switch a{text-decoration:none}.view-switch>a{display:inline-block;width:18px;height:18px}.view-switch>a:before{color:#bbb;display:inline-block;float:left;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-left:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.view-switch>.view-list:before{content:'\f163'}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}.view-switch>a+a{margin-left:5px}.view-switch>.view-excerpt:before{content:'\f164'}.view-switch>.view-grid:before{content:'\f509'}.filter{float:left;margin:-5px 0 0 10px}.filter .subsubsub{margin-left:-10px;margin-top:13px}.screen-per-page{width:4em}#posts-filter .wp-filter{margin-bottom:0}#posts-filter fieldset{float:left;margin:0 1.5ex 1em 0;padding:0}#posts-filter fieldset legend{padding:0 0 .2em 1px}p.pagenav{margin:0;display:inline}.pagenav span{font-weight:600;margin:0 6px}.row-title{font-size:14px!important;font-weight:600}.column-comment .comment-author{margin-bottom:.6em}.column-author img,.column-comment .comment-author img,.column-username img{float:left;margin-right:10px;margin-top:1px}.row-actions{color:#ddd;font-size:13px;visibility:hidden;padding:2px 0 0}.mobile .row-actions,.row-actions.visible,div.comment-item:hover .row-actions,tr:hover .row-actions{visibility:visible}.row-actions-visible{padding:2px 0 0}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:left;margin:0;padding:0;width:100%}#wpbody-content .inline-edit-row fieldset .inline-edit-col,tr.inline-edit-row td{padding:0 .5em}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 0 0 1px;border-style:none none none solid}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:40%}#wpbody-content .quick-edit-row-post .inline-edit-col-right{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:20%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:50%}#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .quick-edit-row-page .inline-edit-col-right{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:30%}#wpbody-content .bulk-edit-row-page .inline-edit-col-right{width:69%}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:right;width:69%}#wpbody-content .inline-edit-row-page .inline-edit-col-right{margin-top:27px}.inline-edit-row fieldset .inline-edit-group{clear:both}.inline-edit-row fieldset .inline-edit-group:after{content:".";display:block;height:0;clear:both;visibility:hidden}.inline-edit-row p.submit{clear:both;padding:.5em;margin:.5em 0 0}.inline-edit-row span.error{line-height:22px;margin:0 15px;padding:3px 5px}.inline-edit-row h4{margin:.2em 0;padding:0;line-height:23px}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{margin:0;padding:0}.inline-edit-row fieldset label,.inline-edit-row fieldset span.inline-edit-categories-label{display:block;margin:.2em 0}.inline-edit-row fieldset label.inline-edit-tags{margin-top:0}.inline-edit-row fieldset label.inline-edit-tags span.title{margin:.2em 0;width:auto}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em}.inline-edit-row fieldset label span.input-text-wrap{display:block;margin-left:5em}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{width:auto;padding-right:.5em}.inline-edit-row .input-text-wrap input[type=text]{width:100%}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:text-bottom}.inline-edit-row fieldset label textarea{width:100%;height:4em}#wpbody-content .bulk-edit-row fieldset .inline-edit-group label{max-width:50%}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-right:.5em}.inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input{width:6em}.inline-edit-save .spinner{padding:4px 10px 0;vertical-align:top;float:right}.inline-edit-row h4{text-transform:uppercase}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{font-style:italic;line-height:1.8em}.inline-edit-row fieldset .inline-edit-date{float:left}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{font-size:12px;width:2.1em}.inline-edit-row fieldset input[name=aa]{font-size:12px;width:3.5em}.inline-edit-row fieldset label input.inline-edit-password-input{width:8em}ul.cat-checklist{height:12em;border:1px solid #ddd;overflow-y:scroll;padding:0 5px;margin:0;background-color:#fff}#bulk-titles{display:block;height:12em;border:1px solid #ddd;overflow-y:scroll;padding:0 5px;margin:0 0 5px}.inline-edit-row fieldset ul.cat-checklist input,.inline-edit-row fieldset ul.cat-checklist li{margin:0;position:relative}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-style:normal;font-size:11px}.inline-edit-row fieldset label input.inline-edit-menu-order-input{width:3em}.inline-edit-row fieldset label input.inline-edit-slug-input{width:75%}.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{max-width:80%}.ie8 .inline-edit-row #post_parent,.ie8 .inline-edit-row select[name=page_template]{width:250px}.quick-edit-row-post fieldset label.inline-edit-status{float:left}#bulk-titles{line-height:140%}#bulk-titles div{margin:.2em .3em}#bulk-titles div a{cursor:pointer;display:block;float:left;height:18px;margin:0 3px 0 -2px;overflow:hidden;position:relative;width:20px}#bulk-titles div a:before{position:relative;top:-3px}.plugins tbody,.plugins tbody th.check-column{padding:8px 0 0 2px}.plugins tbody th.check-column input[type=checkbox]{margin-top:4px}#update-plugins-table tbody td p{margin-top:0}#update-plugins-table tbody td p strong{font-size:14px}.plugins .inactive th.check-column,.plugins tfoot th.check-column,.plugins thead th.check-column{padding-left:6px}#update-plugins-table tfoot th.check-column,#update-plugins-table thead th.check-column{padding-top:11px}.plugins,.plugins td,.plugins th{color:#000}.plugins tr{background:#fff}.plugins p{margin:0 4px;padding:0}.plugins .desc p{margin:0 0 8px}.plugins td.desc{line-height:1.5em}.plugins .desc ol,.plugins .desc ul{margin:0 0 0 2em}.plugins .desc ul{list-style-type:disc}.plugins .row-actions{font-size:13px}.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th{padding:10px 9px}.plugins .active td,.plugins .active th{background-color:#f7fcfe}.plugins .update td,.plugins .update th{border-bottom:0}.plugin-update-tr td{border-top:0}.plugin-install #the-list td,.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th,.upgrade .plugins td,.upgrade .plugins th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active.plugin-update-tr+tr.inactive th{border-top:1px solid rgba(0,0,0,.03);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1;box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1}.plugins .update td,.plugins .update th,.plugins tr.active+tr.inactive.update td,.plugins tr.active+tr.inactive.update th,.upgrade .plugins tr:last-of-type td,.upgrade .plugins tr:last-of-type th{-webkit-box-shadow:none;box-shadow:none}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update{background-color:#fef7f1}.plugins .active th.check-column{border-left:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-left:4px solid #d54e21}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-right:12px;white-space:nowrap}.plugins .inactive .plugin-title strong{font-weight:400}.plugins .row-actions,.plugins .second{padding:0 0 5px}.plugins .update .row-actions,.plugins .update .second{padding-bottom:0}.plugins-php .widefat tfoot td,.plugins-php .widefat tfoot th{border-top-style:solid;border-top-width:1px}.plugin-update-tr .update-message{font-size:13px;font-weight:400;padding:6px 12px;margin:0 10px 8px 31px;background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}.plugin-update-tr .update-message:before{color:#d54e21;content:'\f463';display:inline-block;font:400 20px/1 dashicons;speak:none;margin:0 8px 0 -2px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.plugins .plugin-update{padding:0;border:none;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}tr.active+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-install-php h3{clear:both}.plugin-install-php h4{margin:2.5em 0 8px}.plugin-install-php .wp-filter{margin-bottom:0}.plugin-group{overflow:hidden;margin-top:1.5em}.plugin-group h3{margin-top:0}.plugin-card{float:left;margin:0 8px 16px;width:48.5%;width:-webkit-calc(50% - 8px);width:calc(50% - 8px);background-color:#fff;border:1px solid #dedede;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.plugin-card:nth-child(odd){clear:both;margin-left:0}.plugin-card:nth-child(even){margin-right:0}@media screen and (min-width:1600px){.plugin-card{width:30%;width:-webkit-calc(33.1% - 8px);width:calc(33.1% - 8px)}.plugin-card:nth-child(odd){clear:none;margin-left:8px}.plugin-card:nth-child(even){margin-right:8px}.plugin-card:nth-child(3n+1){clear:both;margin-left:0}.plugin-card:nth-child(3n){margin-right:0}}@media screen and (max-width:782px){.plugin-card{margin-left:0;margin-right:0;width:100%}}.plugin-card-top{position:relative;padding:20px 20px 10px;min-height:135px}.plugin-action-buttons,div.action-links{margin:0}.plugin-card h4{margin:0 0 12px;font-size:18px;line-height:1.3}.plugin-card .desc,.plugin-card .name{margin-left:148px;margin-right:120px}.plugin-card .action-links{position:absolute;top:20px;right:20px;width:120px}.plugin-action-buttons{clear:right;float:right;margin-left:2em;margin-bottom:1em;text-align:right}.plugin-action-buttons li{margin-bottom:10px}.plugin-card-bottom{clear:both;padding:12px 20px;background-color:#fafafa;border-top:1px solid #dedede;overflow:hidden}.plugin-card-bottom .star-rating{display:inline}.plugin-card .column-rating{line-height:23px}.plugin-card .column-rating,.plugin-card .column-updated{margin-bottom:4px}.plugin-card .column-downloaded,.plugin-card .column-rating{float:left;clear:left;max-width:180px}.plugin-card .column-compatibility,.plugin-card .column-updated{text-align:right;float:right;clear:right;width:65%;width:-webkit-calc(100% - 180px);width:calc(100% - 180px)}.plugin-card .column-compatibility span:before{font:400 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:4px;left:-2px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}.plugin-card .compatibility-incompatible:before{content:'\f158'}.plugin-card .compatibility-compatible:before{content:'\f147'}.plugin-card .compatibility-untested strong{font-weight:400}.plugin-icon{position:absolute;top:20px;left:20px;width:128px;height:128px;margin:0 20px 20px 0}.plugin-icon img{width:128px;height:128px}.no-plugin-results{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.wp-list-table .site-deleted{background:#ff8573}.wp-list-table .site-spammed{background:#faafaa}.wp-list-table .site-archived{background:#ffebe8}.wp-list-table .site-mature{background:#fecac2}@media screen and (max-width:1100px) and (min-width:782px),(max-width:480px){.plugin-card .action-links{position:static;margin-left:148px;width:auto}.plugin-action-buttons{float:none;margin:1em 0 0;text-align:left}.plugin-action-buttons li{display:inline-block;vertical-align:middle}.plugin-action-buttons li .button{margin-right:20px}.plugin-card .desc,.plugin-card .name{margin-right:0}.plugin-card .desc p:first-of-type{margin-top:0}}@media screen and (max-width:782px){.tablenav{height:auto}.tablenav.top{margin:20px 0 5px}.tablenav.bottom{position:relative;margin-top:15px}.tablenav br{display:none}.tablenav br.clear{display:block}.tablenav .view-switch,.tablenav.top .actions,.tablenav.top .displaying-num{display:none}.tablenav.bottom .displaying-num{position:absolute;right:0;top:10px;font-size:14px}.tablenav-pages{width:100%;text-align:center;margin:0 0 25px}.tablenav.bottom .tablenav-pages{margin-top:25px}.tablenav.top .tablenav-pages.one-page{display:none}.tablenav.bottom .tablenav-pages.one-page{margin:15px 0 0;height:0}.tablenav-pages .pagination-links .paging-input{font-size:18px}.tablenav-pages .pagination-links a{padding:8px 20px 11px;font-size:18px;background:rgba(0,0,0,.05)}.tablenav-pages .pagination-links .current-page{padding:10px;font-size:14px}.form-wrap>p{display:none}.comment-count{font-size:14px}.column-categories,.column-tags,.fixed .column-author,.fixed .column-date,.media .column-parent,.sites .column-registered,.sites .column-users,.tags .column-description,.users .column-email,.users .column-name{display:none}.fixed .column-comment .comment-author{display:block}.column-title{width:85%}.fixed .column-comments,.widefat .check-column{width:35px}.widefat tfoot .check-column,.widefat thead .check-column{padding:10px 0}.widefat *{word-wrap:normal}#wpbody-content .bulk-edit-row .inline-edit-col-bottom,#wpbody-content .bulk-edit-row .inline-edit-col-left,#wpbody-content .bulk-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .inline-edit-row-post .inline-edit-col-center,#wpbody-content .quick-edit-row-page .inline-edit-col-left,#wpbody-content .quick-edit-row-page .inline-edit-col-right,#wpbody-content .quick-edit-row-post .inline-edit-col-left,#wpbody-content .quick-edit-row-post .inline-edit-col-right{float:none;width:100%}#wpbody-content .bulk-edit-row fieldset .inline-edit-col label,#wpbody-content .bulk-edit-row fieldset .inline-edit-group label,#wpbody-content .quick-edit-row fieldset .inline-edit-col label,#wpbody-content .quick-edit-row fieldset .inline-edit-group label{max-width:none;float:none;margin-bottom:5px}#wpbody .bulk-edit-row fieldset select{display:block;width:100%;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-size:16px}.inline-edit-row fieldset label span.title{float:none}.inline-edit-row fieldset label.inline-edit-tags{padding:0 .5em}.inline-edit-row fieldset .inline-edit-col label.inline-edit-tags{padding:0}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{width:3em}.inline-edit-row fieldset input[name=aa]{width:4.5em}#bulk-titles div{margin:.8em .3em}#bulk-titles div a{height:22px}.tags .column-posts{width:74px}.tags .column-slug{width:30%}.comments .column-response,.users .column-role{width:35%}.sites .column-blogname{width:55%}#wpbody-content #update-themes-table .plugin-title{width:auto}.link-manager-php #posts-filter{margin-top:25px}.link-manager-php .tablenav.bottom{overflow:hidden}.wp-list-table.plugins{position:relative;margin-top:35px;margin-bottom:50px}#wpbody-content .wp-list-table.plugins tfoot .column-description,.wp-list-table.plugins th#description,.wp-list-table.plugins thead .column-description{display:none}#wpbody-content .wp-list-table.plugins,#wpbody-content .wp-list-table.plugins .column-description,#wpbody-content .wp-list-table.plugins .manage-column.column-name,#wpbody-content .wp-list-table.plugins .plugin-title,#wpbody-content .wp-list-table.plugins .plugin-update,#wpbody-content .wp-list-table.plugins .theme-title,#wpbody-content .wp-list-table.plugins tbody,#wpbody-content .wp-list-table.plugins thead,#wpbody-content .wp-list-table.plugins tr{display:block;width:auto}.wp-list-table.plugins tfoot,.wp-list-table.plugins thead{position:absolute;top:-35px;left:0;right:0;width:auto;height:35px}.wp-list-table.plugins tfoot{bottom:-35px;top:auto}.active,.inactive{padding-top:0}.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-top:13px;padding-bottom:4px}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title,.wp-list-table.plugins tbody th{-webkit-box-shadow:none;box-shadow:none}.plugins tbody{padding:1px 0 0}.plugins tr.active+tr.inactive td.column-description{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column{border-top:none}.wp-list-table.plugins .column-description{padding-top:0}.wp-list-table.plugins .column-description,.wp-list-table.plugins .manage-column.column-name,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-right:12px;padding-left:46px}.wp-list-table.plugins tr{position:relative}.wp-list-table.plugins th.check-column,.wp-list-table.plugins tr.update th.check-column{position:absolute;height:auto;top:0;bottom:0;left:0;padding-left:2px;padding-top:18px}.wp-list-table.plugins tfoot th.check-column,.wp-list-table.plugins thead th.check-column{padding-left:3px;padding-top:11px;background:0 0}.widefat tbody th.check-column input[type=checkbox]{margin-top:-3px;margin-left:8px}.wp-list-table.plugins .active .check-column input,.wp-list-table.plugins .update .check-column input{margin-left:5px}.wp-list-table.plugins tfoot .check-column input,.wp-list-table.plugins thead .check-column input{margin-top:-6px}.wp-list-table.plugins .active th.check-column{background:0 0}.wp-list-table.plugins .plugin-title strong,.wp-list-table.plugins .theme-title strong{font-size:1.4em;line-height:1.6em}table.plugin-install .column-description,table.plugin-install .column-name,table.plugin-install .column-rating,table.plugin-install .column-version{display:block;width:auto}table.plugin-install th.column-description,table.plugin-install th.column-name,table.plugin-install th.column-rating,table.plugin-install th.column-version{display:none}table.plugin-install td.column-name strong{font-size:1.4em;line-height:1.6em}table.plugin-install #the-list td{-webkit-box-shadow:none;box-shadow:none}table.plugin-install #the-list tr{display:block;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}}#poststuff{padding-top:10px;min-width:763px}#poststuff #post-body{padding:0}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-right:300px}#show-comments{overflow:hidden}#save-action .spinner,#show-comments .spinner,#show-comments a{float:left}#lost-connection-notice .spinner{display:block;float:left;margin:0 5px 0 0}#titlediv{position:relative}#titlediv label{cursor:text}#titlediv div.inside{margin:0}#poststuff #titlewrap{border:0;padding:0}#titlediv #title{padding:3px 8px;font-size:1.7em;line-height:100%;height:1.7em;width:100%;outline:0;margin:0;background-color:#fff}#titlediv #title-prompt-text{color:#777;position:absolute;font-size:1.7em;padding:11px 10px}#wp-fullscreen-save .fs-saved{color:#999;float:right;margin-top:4px}#poststuff .inside-submitbox,#side-sortables .inside-submitbox{margin:0 3px;font-size:11px}input#link_description,input#link_url{width:98%}#pending{background:0 none;border:0;padding:0;font-size:11px;margin-top:-1px}#edit-slug-box{line-height:24px;min-height:25px;margin-top:5px;padding:0 10px;color:#666}#edit-slug-box .cancel{margin-right:10px;font-size:11px}#editable-post-name-full{display:none}#editable-post-name{background-color:#fffbcc}#editable-post-name input{font-size:13px;height:22px;margin:0;width:16em}.postarea h3 label{float:left}.submitbox .submit{text-align:left;padding:12px 10px 10px;font-size:11px;background-color:#464646;color:#ccc}.submitbox .submitdelete{text-decoration:none;padding:1px 2px}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.submitbox .submit a:hover{text-decoration:underline}.submitbox .submit input{margin-bottom:8px;margin-right:4px;padding:6px}.inside-submitbox #post_status{margin:2px 0 2px -2px}#post-status-select{margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{position:relative;min-width:255px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:0 0;border:0;float:right;padding:0 12px;margin:0}.category-add input[type=text],.category-add select{width:100%;max-width:260px;vertical-align:baseline}#side-sortables .category-add input[type=text],#side-sortables .category-add select{margin:0 0 1em}#side-sortables .add-menu-item-tabs li,.wp-tab-bar li,ul.category-tabs li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}#side-sortables .add-menu-item-tabs a,.category-tabs a,.wp-tab-bar a{text-decoration:none}#post-body ul.add-menu-item-tabs li.tabs a,#post-body ul.category-tabs li.tabs a,#side-sortables .add-menu-item-tabs .tabs a,#side-sortables .category-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}.category-tabs{margin:8px 0 5px}#category-adder h4{margin:10px 0}#side-sortables .add-menu-item-tabs,.wp-tab-bar{margin-bottom:3px}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:0 7px 5px}#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover,#side-sortables .submitbox .submit input{border:0}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0}ul.add-menu-item-tabs,ul.category-tabs,ul.wp-tab-bar{margin-top:12px}ul.add-menu-item-tabs li,ul.category-tabs li{border:1px solid transparent;position:relative}.wp-tab-active,ul.add-menu-item-tabs li.tabs,ul.category-tabs li.tabs{border:1px solid #dfdfdf;border-bottom-color:#fdfdfd;background-color:#fdfdfd}ul.add-menu-item-tabs li,ul.category-tabs li,ul.wp-tab-bar li{padding:3px 5px 5px}#postimagediv .inside img{max-width:100%;height:auto}form#tags-filter{position:relative}td.plugin-title strong,td.post-title strong{display:block;margin-bottom:.2em;font-size:14px}td.plugin-title p,td.post-title p{margin:6px 0}.ui-tabs-hide,.wp-hidden-children .wp-hidden-child{display:none}#post-body .tagsdiv #newtag{margin-right:5px;width:16em}#side-sortables input#post_password{width:94%}#side-sortables .tagsdiv #newtag{width:68%}#post-status-info{width:100%;border-spacing:0;border:1px solid #e5e5e5;border-top:none;background-color:#f7f7f7;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);z-index:999}#post-status-info td{font-size:12px}.autosave-info{padding:2px 10px;text-align:right}#editorcontent #post-status-info{border:none}#content-resize-handle{background:url(../images/resize.gif) no-repeat scroll right bottom;width:12px;cursor:row-resize}.rtl #content-resize-handle{background:url(../images/resize-rtl.gif) no-repeat scroll left bottom}.wp-editor-expand #content-resize-handle{display:none}#postdivrich #content{resize:none}#wp-word-count{display:block;padding:2px 10px}#wp-content-editor-container{position:relative}#content-textarea-clone{z-index:-1;position:absolute;top:0;visibility:hidden;overflow:hidden;max-width:100%;border:1px solid transparent}.wp-fullscreen-wrap #content-textarea-clone{display:none}.wp-fullscreen-wrap{padding-top:0!important}.wp-fullscreen-wrap .wp-editor-area{margin-top:0!important}.wp-fullscreen-wrap .mce-edit-area{padding-top:0!important}.wp-editor-expand #wp-content-editor-tools{z-index:1000;border-bottom:1px solid #e5e5e5}.wp-editor-expand #wp-content-editor-container{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px;border-bottom:0 none}.wp-editor-expand div.mce-statusbar{z-index:1}.wp-editor-expand #post-status-info{border-top:1px solid #e5e5e5}.wp-editor-expand div.mce-toolbar-grp{z-index:999}#wp-content-editor-tools{background-color:#f1f1f1;padding-top:20px}#poststuff #post-body.columns-2 #side-sortables{width:280px}#timestampdiv select{height:21px;line-height:14px;padding:0;vertical-align:top;font-size:12px}#aa,#hh,#jj,#mn{padding:1px;font-size:12px}#hh,#jj,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{padding:2px 0 1px;display:inline!important;height:auto!important}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before,span.wp-media-buttons-icon:before{color:#888}#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before{font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 2px 0 0;top:0;left:-1px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}#post-body #visibility:before{content:'\f177'}.curtime #timestamp:before{content:'\f145';top:-1px}#post-body .misc-pub-revisions:before{content:'\f321'}#timestampdiv{padding-top:5px;line-height:23px}#timestampdiv p{margin:8px 0 6px}#timestampdiv input{border-width:1px;border-style:solid}.notification-dialog{position:fixed;top:30%;left:50%;width:450px;margin-left:-225px;background:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);line-height:1.5;z-index:1000005}.notification-dialog-background{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000000}#post-lock-dialog .post-locked-message,#post-lock-dialog .post-taken-over{margin:25px}#post-lock-dialog .post-locked-message a.button{margin-right:10px}#post-lock-dialog .post-locked-avatar{float:left;margin:0 20px 20px 0}#post-lock-dialog .wp-tab-first{outline:0}#post-lock-dialog .locked-saving img{float:left;margin-right:3px}#post-lock-dialog.saved .locked-saved,#post-lock-dialog.saving .locked-saving{display:inline}#excerpt,.attachmentlinks{margin:0;height:4em;width:98%}.tagchecklist{margin-left:14px;font-size:12px;overflow:auto}.tagchecklist br{display:none}.tagchecklist strong{margin-left:-8px;position:absolute}.tagchecklist span{margin-right:25px;display:block;float:left;font-size:13px;line-height:1.8em;white-space:nowrap;cursor:default}.tagchecklist span a{margin:1px 0 0 -17px;cursor:pointer;width:20px;height:20px;display:block;float:left;text-indent:0;overflow:hidden;position:absolute}#poststuff h2{margin-top:20px;font-size:1.5em;margin-bottom:15px;padding:0 0 3px;clear:left}#poststuff h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#poststuff .inside{margin:6px 0 0}#poststuff .inside #page_template,#poststuff .inside #parent_id{max-width:100%}#poststuff .inside label.deleted,#poststuff .inside label.spam{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}.ie8 #poststuff .inside #page_template,.ie8 #poststuff .inside #parent_id{width:250px}#post-visibility-select{line-height:1.5em;margin-top:3px}#poststuff #submitdiv .inside{margin:0;padding:0}#post-body-content,.edit-form-section{margin-bottom:20px}#postcustomstuff thead th{padding:5px 8px 8px;background-color:#f1f1f1}#postcustom #postcustomstuff .submit{border:0;float:none;padding:0 8px 8px}#side-sortables #postcustom #postcustomstuff .submit{margin:0;padding:0}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px}#side-sortables #postcustom #postcustomstuff td.left input,#side-sortables #postcustom #postcustomstuff td.left select,#side-sortables #postcustomstuff #newmetaleft a{margin:3px 3px 0}#postcustomstuff table{margin:0;width:100%;border:1px solid #dfdfdf;border-spacing:0;background-color:#f9f9f9}#postcustomstuff tr{vertical-align:top}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:96%;margin:8px}#side-sortables #postcustomstuff table input,#side-sortables #postcustomstuff table select,#side-sortables #postcustomstuff table textarea{margin:3px}#postcustomstuff td.left,#postcustomstuff th.left{width:38%}#postcustomstuff .submit input{margin:0;width:auto}#postcustomstuff #newmetaleft a{display:inline-block;margin:0 8px 8px;text-decoration:none}.no-js #postcustomstuff #enternew{display:none}#post-body-content .compat-attachment-fields{margin-bottom:20px}.compat-attachment-fields th{padding-top:5px;padding-right:10px}#select-featured-image{padding:4px 0;overflow:hidden}#select-featured-image img{max-width:100%;height:auto;margin-bottom:10px}#select-featured-image a{float:left;clear:both}#select-featured-image .remove{display:none;margin-top:10px}.js #select-featured-image.has-featured-image .remove{display:inline-block}.no-js #select-featured-image .choose{display:none}.post-state-format{overflow:hidden;display:inline-block;vertical-align:middle;height:20px;width:20px;margin-right:5px;margin-top:-4px}.post-state-format:before{display:block;height:20px;width:20px;font:400 20px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon:before,.post-state-format:before{color:#ddd;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}a.post-format-icon:hover:before,a.post-state-format:hover:before{color:#2ea2cc}#post-formats-select{line-height:2em}#post-formats-select .post-format-icon:before{top:5px}input.post-format{margin-top:1px}label.post-format-icon{margin-left:0;padding:2px 0}.post-format-icon:before{position:relative;display:inline-block;margin-right:7px;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon.post-format-standard:before,.post-state-format.post-format-standard:before,a.post-state-format.format-standard:before{content:'\f109'}.post-format-icon.post-format-image:before,.post-state-format.post-format-image:before,a.post-state-format.format-image:before{content:'\f128'}.post-format-icon.post-format-gallery:before,.post-state-format.post-format-gallery:before,a.post-state-format.format-gallery:before{content:'\f161'}.post-format-icon.post-format-audio:before,.post-state-format.post-format-audio:before,a.post-state-format.format-audio:before{content:'\f127'}.post-format-icon.post-format-video:before,.post-state-format.post-format-video:before,a.post-state-format.format-video:before{content:'\f126'}.post-format-icon.post-format-chat:before,.post-state-format.post-format-chat:before,a.post-state-format.format-chat:before{content:'\f125'}.post-format-icon.post-format-status:before,.post-state-format.post-format-status:before,a.post-state-format.format-status:before{content:'\f130'}.post-format-icon.post-format-aside:before,.post-state-format.post-format-aside:before,a.post-state-format.format-aside:before{content:'\f123'}.post-format-icon.post-format-quote:before,.post-state-format.post-format-quote:before,a.post-state-format.format-quote:before{content:'\f122'}.post-format-icon.post-format-link:before,.post-state-format.post-format-link:before,a.post-state-format.format-link:before{content:'\f103'}.category-adder{margin-left:120px;padding:4px 0}.category-adder h4{margin:0 0 8px}#side-sortables .category-adder{margin:0}.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,.wp-tab-panel{min-height:42px;max-height:200px;overflow:auto;padding:0 .9em;border:1px solid #dfdfdf;background-color:#fdfdfd}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.inline-editor ul.cat-checklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,ul.export-filters{margin-left:18px}ul.categorychecklist li{margin:0;padding:0;line-height:22px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap label{display:block;padding:2px;font-size:12px}.form-field input[type=email],.form-field input[type=number],.form-field input[type=password],.form-field input[type=search],.form-field input[type=tel],.form-field input[type=text],.form-field input[type=url],.form-field textarea{border-style:solid;border-width:1px;width:95%}.form-wrap p,p.description{margin:2px 0 5px;color:#666}.form-wrap p,p.description,p.help,span.description{font-size:13px;font-style:italic}.form-wrap .form-field{margin:0 0 10px;padding:8px 0}.form-wrap .form-field #parent{max-width:100%}.col-wrap h3{margin:12px 0;font-size:1.1em}.col-wrap p.submit{margin-top:-10px}.tagsdiv{margin-top:-8px}#poststuff .taghint{color:#aaa;margin:15px 0 -24px 12px}#poststuff .tagsdiv .howto{margin:0 0 6px}.ajaxtag .newtag{position:relative}.tagsdiv .newtag{width:180px}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px}#post-body-content .tagsdiv .the-tags{margin:0 5px}.taghint{color:#aaa;margin:-17px 0 0 7px;visibility:hidden}input.newtag~div.taghint{visibility:visible}input.newtag:focus~div.taghint{visibility:hidden}p.popular-tags{border:none;line-height:2em;padding:8px 12px 12px;text-align:justify}p.popular-tags a{padding:0 3px}.tagcloud{width:97%;margin:0 0 40px;text-align:justify}.tagcloud h3{margin:2px 0 12px}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border:1px solid gray;background-color:#fff}.wp-customizer .ac_results{z-index:500000}.ac_results li{padding:2px 5px;white-space:nowrap;color:#101010;text-align:left}.ac_over{background-color:#f0f0b8;cursor:pointer}.ac_match{text-decoration:underline}.comment-php .wp-editor-area{height:200px}.comment-ays{margin-bottom:0;border-bottom-style:solid;border-bottom-width:1px}.comment-ays .alt{background-color:transparent}.spam-undo-inside,.trash-undo-inside{margin:1px 8px 1px 0;line-height:16px}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-right:8px;vertical-align:middle}.stuffbox .editcomment{clear:none}#comment-status-radio p{margin:3px 0 5px}#comment-status-radio input{margin:2px 3px 5px 0;vertical-align:middle}#comment-status-radio label{padding:5px 0}table.links-table{width:100%;border-spacing:0}.links-table th{font-weight:400;text-align:left;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table td,.links-table th{padding:5px 0}.links-table td label{margin-right:8px}.links-table td input[type=text],.links-table td textarea{width:100%}.links-table #link_rel{max-width:280px}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-2x.gif) no-repeat scroll right bottom;-webkit-background-size:11px 11px;background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-rtl-2x.gif) no-repeat scroll right bottom}}@media only screen and (max-width:850px){#poststuff{min-width:0}#wpbody-content #poststuff #post-body{margin:0}#wpbody-content #post-body.columns-2 #postbox-container-1{margin-right:0;width:100%}#poststuff #postbox-container-1 #side-sortables:empty,#poststuff #postbox-container-1 .empty-container{border:0;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0;width:auto}.columns-prefs,.screen-layout{display:none}}@media screen and (max-width:782px){#post-body-content{min-width:0}#titlediv #title-prompt-text{padding:10px}#poststuff h3{padding:12px}.post-format-options{padding-right:0}.post-format-options a{margin-right:5px;margin-bottom:5px;min-width:52px}.post-format-options .post-format-title{font-size:11px}.post-format-options a div{height:28px;width:28px}.post-format-options a div:before{font-size:26px!important}#post-visibility-select{line-height:280%}.wp-core-ui .save-post-visibility,.wp-core-ui .save-timestamp{vertical-align:middle;margin-right:15px}.timestamp-wrap select#mm{display:block;width:100%;margin-bottom:10px}.timestamp-wrap #aa,.timestamp-wrap #hh,.timestamp-wrap #jj,.timestamp-wrap #mn{padding:12px 3px;font-size:14px;margin-bottom:5px;width:auto;text-align:center}ul.category-tabs{margin:30px 0 15px}ul.category-tabs li.tabs{padding:15px}ul.categorychecklist li{margin-bottom:15px}ul.categorychecklist ul{margin-top:15px}.category-add input[type=text],.category-add select{max-width:none;margin-bottom:15px}.tagsdiv .newtag{width:100%;height:auto;margin-bottom:15px}.tagchecklist{margin:25px 10px}.tagchecklist span{font-size:16px;line-height:120%}#commentstatusdiv p{line-height:2.8}.mceToolbar *{white-space:normal!important}.mceToolbar td,.mceToolbar tr{float:left!important}.wp_themeSkin a.mceButton{width:30px;height:30px}.wp_themeSkin .mceButton .mceIcon{margin-top:5px;margin-left:5px}.wp_themeSkin .mceSplitButton{margin-top:1px}.wp_themeSkin .mceSplitButton td a.mceAction{padding:6px 3px 6px 6px}.wp_themeSkin .mceSplitButton td a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover td a.mceOpen{padding-top:6px;padding-bottom:6px;background-position:1px 6px}.wp_themeSkin table.mceListBox{margin:5px}div.quicktags-toolbar input{padding:10px 20px}a.wp-switch-editor{font-size:16px;line-height:1em;margin:3px 0 0 7px;padding:12px 15px}#wp-content-media-buttons a{font-size:16px;line-height:37px;height:39px;padding:0 20px 0 15px}.wp-media-buttons span.jetpack-contact-form-icon,.wp-media-buttons span.wp-media-buttons-icon{width:22px!important;margin-top:-3px!important;margin-left:-5px!important}.wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before,.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font-size:20px!important}#content_wp_fullscreen{display:none}.misc-pub-section{padding:20px 10px}.misc-pub-section>a{float:right;font-size:16px}#delete-action,#publishing-action{line-height:47px}.comment-ays{border-bottom:none}.links-table #link_rel{max-width:none}.links-table td,.links-table th{padding:10px 0}}@media only screen and (max-width:500px){#wp-content-media-buttons a{font-size:14px;padding:0 10px}}.revisions-control-frame,.revisions-diff-frame{position:relative}.revisions-controls{padding-top:40px;height:100px;z-index:1}.revisions-controls input[type=checkbox]{position:relative;top:-1px;vertical-align:text-bottom}.revisions.pinned .revisions-controls{position:fixed;top:0;height:82px;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-tickmarks{position:relative;margin:0 auto;height:.7em;top:7px;max-width:70%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#fff}.revisions-tickmarks>div{position:absolute;height:100%;border-left:1px solid #aaa;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.revisions-tickmarks>div:first-child{border-width:0}.comparing-two-revisions .revisions-controls{height:140px}.comparing-two-revisions.pinned .revisions-controls{height:124px}.revisions .diff-error{position:absolute;text-align:center;margin:0 auto;width:100%;display:none}.revisions.diff-error .diff-error{display:block}.revisions .loading-indicator{position:absolute;vertical-align:middle;opacity:0;width:100%;width:-webkit-calc(100% - 30px);width:calc(100% - 30px);top:50%;top:-webkit-calc(50% - 10px);top:calc(50% - 10px);-webkit-transition:opacity .5s;transition:opacity .5s;filter:alpha(opacity=0)}body.folded .revisions .loading-indicator{margin-left:-32px}.revisions .loading-indicator span.spinner{display:block;margin:0 auto;float:none}.revisions.loading .loading-indicator{opacity:1;filter:alpha(opacity=100)}.revisions .diff{-webkit-transition:opacity .5s;transition:opacity .5s}.revisions.loading .diff{opacity:.5;filter:alpha(opacity=50)}.revisions.diff-error .diff{visibility:hidden}.revisions-meta{margin-top:20px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions.pinned .revisions-meta{-webkit-box-shadow:none;box-shadow:none}.revision-toggle-compare-mode{position:absolute;top:0;right:0}.comparing-two-revisions .revisions-next,.comparing-two-revisions .revisions-previous,.revisions-meta .diff-meta-to strong{display:none}.revisions-controls .author-card .date{color:#777}.revisions-controls .author-card.autosave{color:#d54e21}.revisions-controls .author-card .author-name{font-weight:700}.comparing-two-revisions .diff-meta-to strong{display:block}.revisions.pinned .revisions-buttons{padding:0 11px}.revisions-next,.revisions-previous{position:relative;z-index:1}.revisions-previous{float:left}.revisions-next{float:right}.revisions-controls .wp-slider{max-width:70%;margin:0 auto;top:-3px}.revisions-diff{padding:15px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-diff h3:first-child{margin-top:0}#revisions-meta-restored img,.post-revisions li img{vertical-align:middle}table.diff tbody tr td:nth-child(2){width:4%}table.diff{table-layout:fixed;width:100%;white-space:pre-wrap}table.diff col.content{width:auto}table.diff col.content.diffsplit{width:48%}table.diff col.diffsplit.middle{width:auto}table.diff col.ltype{width:30px}table.diff tr{background-color:transparent}table.diff td,table.diff th{font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.618;padding:.5em;vertical-align:top;word-wrap:break-word}table.diff td h1,table.diff td h2,table.diff td h3,table.diff td h4,table.diff td h5,table.diff td h6{margin:0}table.diff .diff-addedline ins,table.diff .diff-deletedline del{text-decoration:none}table.diff .diff-deletedline{background-color:#ffe9e9}table.diff .diff-deletedline del{background-color:#faa}table.diff .diff-addedline{background-color:#e9ffe9}table.diff .diff-addedline ins{background-color:#afa}.diff-meta{padding:5px;clear:both;min-height:32px}.diff-title strong{line-height:32px;min-width:60px;text-align:right;float:left;margin-right:5px}.revisions-controls .author-card .author-info{font-size:12px;line-height:16px}.revisions-controls .author-card .author-info,.revisions-controls .author-card .avatar{float:left;margin-left:6px;margin-right:6px}.revisions-controls .author-card .byline{display:block;font-size:12px}.revisions-controls .author-card .avatar{vertical-align:middle}.diff-meta input.restore-revision{float:right;margin-left:6px;margin-right:6px;margin-top:4px}.diff-meta-from{display:none}.comparing-two-revisions .diff-meta-from{display:block}.revisions-tooltip{position:absolute;bottom:105px;margin-right:0;margin-left:-69px;z-index:0;max-width:350px;min-width:130px;padding:8px 4px;opacity:0}.revisions-tooltip.flipped{margin-left:0;margin-right:-70px}.revisions.pinned .revisions-tooltip{display:none!important}.comparing-two-revisions .revisions-tooltip{bottom:145px}.revisions-tooltip-arrow{width:70px;height:15px;overflow:hidden;position:absolute;left:0;margin-left:35px;bottom:-15px}.revisions-tooltip.flipped .revisions-tooltip-arrow{margin-left:0;margin-right:35px;left:auto;right:0}.revisions-tooltip-arrow>span{content:"";position:absolute;left:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.revisions-tooltip.flipped .revisions-tooltip-arrow>span{left:auto;right:20px}.ie8 .revisions-tooltip-arrow>span{left:15px;top:-25px;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)"}.ie8 .revisions-tooltip.flipped .revisions-tooltip-arrow>span{right:25px}.revisions-tooltip,.revisions-tooltip-arrow>span{border:1px solid #d7d7d7;background-color:#fff}.revisions-tooltip{display:none}.arrow{width:70px;height:16px;overflow:hidden;position:absolute;left:0;margin-left:-35px;bottom:90px;z-index:10000}.arrow:after{z-index:9999;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.arrow.top{top:-16px;bottom:auto}.arrow.left{left:20%}.arrow:after{content:"";position:absolute;left:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.revisions-tooltip,.revisions-tooltip-arrow:after{border-width:1px;border-style:solid}div.revisions-controls>.wp-slider>.ui-slider-handle{margin-left:-10px}.rtl div.revisions-controls>.wp-slider>.ui-slider-handle{margin-right:-10px}.wp-slider.ui-slider{position:relative;border:1px solid #d7d7d7;text-align:left;cursor:pointer}.wp-slider .ui-slider-handle{-webkit-border-radius:50%;border-radius:50%;height:18px;margin-top:-3px;outline:0;position:absolute;width:18px;z-index:2}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#2ea2cc;border:1px solid #0074a2;-webkit-box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15)}.wp-slider .ui-slider-handle:before{background:0 0;position:absolute;top:0;left:0;color:#fff;content:"\f229";font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{font-size:20px!important;margin:-1px 0 0 -1px}.wp-slider .ui-slider-handle.from-handle:before{content:'\f139'}.rtl .wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{content:'\f141'}.rtl .wp-slider .ui-slider-handle.to-handle:before{content:'\f139';right:-1px}.wp-slider .ui-slider-range{position:absolute;font-size:.7em;display:block;border:0;background-color:transparent;background-image:none}.wp-slider.ui-slider-horizontal{height:.7em}.wp-slider.ui-slider-horizontal .ui-slider-handle{top:-.25em;margin-left:-.6em}.wp-slider.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.wp-slider.ui-slider-horizontal .ui-slider-range-min{left:0}.wp-slider.ui-slider-horizontal .ui-slider-range-max{right:0}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.revision-tick.completed-false{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){#diff-next-revision,#diff-previous-revision{margin-top:-1em}table.diff{-ms-word-break:break-all;word-break:break-all;word-wrap:break-word}}.media-item .describe{border-collapse:collapse;width:100%;border-top:1px solid #dfdfdf;clear:both;cursor:default}.media-item.media-blank .describe{border:0}.media-item .describe th{vertical-align:top;text-align:left;padding:5px 10px 10px;width:140px}.media-item .describe .align th{padding-top:0}.media-item .media-item-info tr{background-color:transparent}.media-item .describe td{padding:0 8px 8px 0;vertical-align:top}.media-item thead.media-item-info td{padding:4px 10px 0}.media-item .media-item-info .A1B1{padding:0 0 0 10px}.media-item td.savesend{padding-bottom:15px}.media-item .thumbnail{max-height:128px;max-width:128px}#wpbody-content #async-upload-wrap a{display:none}.media-upload-form{margin-top:20px}.media-upload-form td label{margin-right:6px;margin-left:2px}.media-upload-form .align .field label{display:inline;padding:0 0 0 23px;margin:0 1em 0 3px;font-weight:600}.media-upload-form tr.image-size label{margin:0 0 0 5px;font-weight:600}.media-upload-form th.label label{font-weight:600;margin:.5em;font-size:13px}.media-upload-form th.label label span{padding:0 5px}.media-item .describe input[type=text],.media-item .describe textarea{width:460px}.media-item .describe p.help{margin:0;padding:0 0 0 5px}.describe-toggle-off,.describe-toggle-on,.media-item .edit-attachment{display:block;line-height:36px;float:right;margin-right:10px}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on{display:none}.media-item.open .describe-toggle-off{display:block}.media-upload-form .media-item{min-height:36px;margin-bottom:1px;position:relative;width:100%;background:#fff}.media-upload-form .media-item,.media-upload-form .media-item .error{-webkit-box-shadow:0 1px 0 #dfdfdf;box-shadow:0 1px 0 #dfdfdf}#media-items:empty{border:0}.media-item .filename{line-height:36px;overflow:hidden;margin-left:6px}.media-item .pinkynail{float:left;margin:2px 10px 0 3px;max-width:40px;max-height:32px}.media-item .startclosed,.media-item .startopen{display:none}.media-item .original{position:relative;height:34px}.media-item .progress{float:right;height:22px;margin:7px 6px;width:200px;line-height:2em;padding:0;overflow:hidden;-webkit-border-radius:22px;border-radius:22px;background:#ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.media-item .bar{z-index:9;width:0;height:100%;margin-top:-22px;-webkit-border-radius:22px;border-radius:22px;background-color:#0074a2;-webkit-box-shadow:inset 0 0 2px rgba(0,0,0,.3);box-shadow:inset 0 0 2px rgba(0,0,0,.3)}.media-item .progress .percent{z-index:10;position:relative;width:200px;padding:0;color:#fff;text-align:center;line-height:22px;font-weight:400;text-shadow:0 1px 2px rgba(0,0,0,.2)}.upload-php .fixed .column-parent{width:15%}.js .html-uploader #plupload-upload-ui{display:none}.js .html-uploader #html-upload-ui{display:block}.media-upload-form .media-item .error,.media-upload-form .media-item.error{width:auto;margin:0 0 1px}.media-upload-form .media-item .error{padding:10px 0 10px 14px}.media-item .error-div a.dismiss{display:block;float:right;margin:0 10px 0 15px}.find-box{background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:600px;overflow:hidden;margin-left:-300px;position:fixed;top:30px;bottom:30px;left:50%;z-index:100105}.find-box-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px;position:absolute;top:0;left:0;right:0}.find-box-inside{overflow:auto;padding:16px;background-color:#fff;position:absolute;top:37px;bottom:45px;overflow-y:scroll;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.find-box-search{padding-bottom:16px}.find-box-search .spinner{float:none;left:110px;position:absolute;top:2px}#find-posts-response,.find-box-search{position:relative}#find-posts-input,#find-posts-search{float:left}#find-posts-input{width:140px;height:28px;margin:0 4px 0 0}.widefat .found-radio{padding-right:0;width:16px}#find-posts-close{width:36px;height:36px;position:absolute;top:0;right:0;cursor:pointer;text-align:center;color:#666}#find-posts-close:hover{color:#2ea2cc}#find-posts-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f158'}.find-box-buttons{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;left:0;right:0}@media screen and (max-width:782px){.find-box-inside{bottom:57px}}@media screen and (max-width:660px){.find-box{top:0;bottom:0;left:0;right:0;margin:0;width:100%}}.ui-find-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border:1px solid #ddd;line-height:1.8em;word-spacing:3px;-webkit-border-radius:6px;border-radius:6px}.drag-drop #drag-drop-area{border:4px dashed #bbb;height:200px}.drag-drop .drag-drop-inside{margin:70px auto 0;width:250px}.drag-drop-inside p{color:#aaa;font-size:14px;margin:5px 0;display:none}.drag-drop .drag-drop-inside p{text-align:center}.drag-drop-inside p.drag-drop-info{font-size:20px}.drag-drop .drag-drop-inside p,.drag-drop-inside p.drag-drop-buttons{display:block}.drag-drop.drag-over #drag-drop-area{border-color:#83b4d8}#plupload-upload-ui{position:relative}.media-frame.mode-grid,.media-frame.mode-grid .attachments-browser .attachments,.media-frame.mode-grid .media-frame-content,.media-frame.mode-grid .uploader-inline-content{position:static}.media-frame.mode-grid .media-frame-menu,.media-frame.mode-grid .media-frame-router,.media-frame.mode-grid .media-frame-title{display:none}.media-frame.mode-grid .media-frame-content{background-color:transparent;border:none}.upload-php .mode-grid .media-sidebar{position:relative;width:auto;margin-bottom:16px;padding:0 16px;border:1px solid #c00;background-color:#feebe8}.upload-php .mode-grid .hide-sidebar .media-sidebar{display:none}.upload-php .mode-grid .media-sidebar .media-uploader-status{border-bottom:none;padding-bottom:0;max-width:100%}.upload-php .mode-grid .media-sidebar .upload-error{margin:20px 0;padding:0;border:none;background:0 0}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors{font-size:0;top:-12px;right:-10px}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:before{content:"\f158";font:400 20px/1 dashicons;color:#666}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:focus:before,.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:hover:before{color:#2ea2cc}.upload-php .mode-grid .media-sidebar .media-uploader-status.errors h3{display:none}.media-frame.mode-grid .uploader-inline{position:relative;top:auto;right:auto;left:auto;bottom:auto;padding-top:0;margin-top:0;border:4px dashed #bbb}.media-frame.mode-select .attachments-browser.fixed .attachments{position:relative;top:94px;padding-bottom:94px}.media-frame.mode-grid .attachment.details:focus,.media-frame.mode-grid .attachment:focus,.media-frame.mode-grid .selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;outline:0}.media-frame.mode-grid .selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc}.media-frame.mode-grid .attachment.details{-webkit-box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe}.media-frame.mode-grid.mode-select .attachment .thumbnail{opacity:.65}.media-frame.mode-select .attachment.selected .thumbnail{opacity:1}.media-frame.mode-grid .media-toolbar{margin-bottom:15px;height:auto}.media-frame.mode-grid .media-toolbar select{margin:0 10px 0 0;font-size:14px}.media-frame.mode-grid .media-toolbar-secondary>.media-button{margin-top:10px;margin-bottom:10px}.media-frame.mode-grid .attachments-browser .bulk-select{display:inline-block;margin:0 10px 0 0}.media-frame.mode-grid .search{margin-top:0}.media-frame.mode-grid .spinner{margin-top:15px}.attachments-browser .media-toolbar-secondary>.select-mode-toggle-button{margin-right:10px}.media-frame.mode-select .attachments-browser.fixed .media-toolbar{position:fixed;top:32px;left:auto;right:20px;margin-top:0}.media-frame.mode-grid .attachments-browser{padding:0}.media-frame.mode-grid .attachments-browser .attachments{padding:2px}.media-frame.mode-grid .attachments-browser .no-media{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.edit-attachment-frame{display:block;height:100%;width:100%}.edit-attachment-frame .edit-media-header{overflow:hidden}.upload-php .media-modal-close .media-modal-icon:before{content:'\f335';font-size:22px}.upload-php .media-modal-close .media-modal-icon{margin:14px;width:22px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{cursor:pointer;color:#777;background-color:transparent;height:50px;width:50px;padding:0;position:absolute;text-align:center;border:0;border-left:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.upload-php .media-modal-close{top:0;right:0}.edit-attachment-frame .edit-media-header .left{right:102px}.edit-attachment-frame .edit-media-header .right{right:51px}.edit-attachment-frame .media-frame-title{left:0;right:150px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.edit-attachment-frame .edit-media-header .left:focus,.edit-attachment-frame .edit-media-header .left:hover,.edit-attachment-frame .edit-media-header .right:focus,.edit-attachment-frame .edit-media-header .right:hover,.upload-php .media-modal-close:focus,.upload-php .media-modal-close:hover{background:#ddd;border-color:#ccc;color:#000;outline:0}.upload-php .media-modal-close:focus .media-modal-icon:before,.upload-php .media-modal-close:hover .media-modal-icon:before{color:#000}.edit-attachment-frame .edit-media-header .left:before,.rtl .edit-attachment-frame .edit-media-header .right:before{content:'\f341'}.edit-attachment-frame .edit-media-header .right:before,.rtl .edit-attachment-frame .edit-media-header .left:before{content:'\f345'}.edit-attachment-frame .edit-media-header .left.disabled,.edit-attachment-frame .edit-media-header .left.disabled:hover,.edit-attachment-frame .edit-media-header .right.disabled,.edit-attachment-frame .edit-media-header .right.disabled:hover{color:#ccc;background:inherit;cursor:default;pointer-events:none}.edit-attachment-frame .media-frame-content,.edit-attachment-frame .media-frame-router{left:0}.edit-attachment-frame .media-frame-content{border-bottom:none;bottom:0;top:50px}.edit-attachment-frame .attachment-details{position:absolute;overflow:auto;top:0;bottom:0;right:0;left:0;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1)}.edit-attachment-frame .attachment-media-view{float:left;width:65%;height:100%}.edit-attachment-frame .attachment-media-view .thumbnail{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:16px;height:100%}.edit-attachment-frame .attachment-media-view .details-image{display:block;margin-bottom:16px;max-width:100%;max-height:90%;max-height:-webkit-calc(100% - 42px);max-height:calc(100% - 42px)}.edit-attachment-frame .wp-media-wrapper{margin-bottom:12px}.edit-attachment-frame input,.edit-attachment-frame textarea{padding:6px 8px;line-height:16px}.edit-attachment-frame .attachment-info{overflow:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:0;padding:12px 16px 0;width:35%;height:100%;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);border-bottom:0;border-left:1px solid #ddd;background:#f3f3f3}.edit-attachment-frame .attachment-info .details,.edit-attachment-frame .attachment-info .settings{position:relative;overflow:hidden;float:none;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #ddd}.edit-attachment-frame .attachment-info .filename{font-weight:400;color:#666}.edit-attachment-frame .attachment-info .thumbnail{margin-bottom:12px}.attachment-info .actions{margin-bottom:16px}.attachment-info .actions a{display:inline;text-decoration:none}.wp_attachment_details label[for=content]{font-size:13px;line-height:1.5;margin:1em 0}.wp_attachment_details #attachment_caption{height:4em}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}.imgedit-settings p{margin:8px 0 0}.describe .imgedit-wrap .imgedit-settings{padding:0 5px}.wp_attachment_holder div.updated{margin-top:0}.wp_attachment_holder .imgedit-wrap>div{height:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-panel-content{padding-right:16px;width:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-settings{float:right;width:250px}.imgedit-settings input{margin-top:0;vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:#fff url(../images/spinner.gif) no-repeat center;-webkit-background-size:20px 20px;background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.no-float{float:none}.imgedit-settings .disabled,.media-disabled{color:grey}.A1B1,.wp_attachment_image{overflow:hidden}.A1B1 .button,.wp_attachment_image .button{float:left}.no-js .wp_attachment_image .button{display:none}.A1B1 .spinner,.wp_attachment_image .spinner{float:left;padding:0 0 4px;vertical-align:bottom}.imgedit-menu{margin:0 0 12px;min-width:300px}.imgedit-menu div{float:left;width:32px;border:1px solid #d5d5d5;background:#f1f1f1;margin:0 8px 0 0;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;line-height:28px;color:#777;cursor:pointer}.imgedit-menu div:before{font:400 20px/1 dashicons;speak:none;vertical-align:middle}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;color:#333}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;color:#777;filter:alpha(opacity=50);opacity:.5;cursor:default}.imgedit-crop:before{content:'\f165'}.imgedit-rleft:before{content:'\f166'}.imgedit-rright:before{content:'\f167'}.imgedit-flipv:before{content:'\f168'}.imgedit-fliph:before{content:'\f169'}.imgedit-undo:before{content:'\f171'}.imgedit-redo:before{content:'\f172'}.imgedit-crop-wrap{position:relative}.imgedit-crop{margin:0 8px 0 0}.imgedit-rleft{margin:0 3px}.imgedit-rright{margin:0 8px 0 3px}.imgedit-flipv{margin:0 3px}.imgedit-fliph{margin:0 8px 0 3px}.imgedit-undo{margin:0 3px}.imgedit-redo{margin:0 8px 0 3px}.imgedit-applyto img{margin:0 8px 0 0}.imgedit-group-top{margin:5px 0}#poststuff .imgedit-group-top h3{padding:0}.imgedit-group-top h3 a{text-decoration:none}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block}.imgedit-help{display:none;font-style:italic}a.imgedit-help-toggle{text-decoration:none}.form-table td.imgedit-response{padding:0}.imgedit-submit{margin:8px 0}.imgedit-submit-btn{margin-left:20px}.imgedit-wrap .nowrap{white-space:nowrap}span.imgedit-scale-warn{color:red;font-size:20px;font-style:normal;visibility:hidden;vertical-align:middle}.imgedit-group{margin-bottom:8px;padding:2px 10px}audio,video{display:inline-block;max-width:100%}.mejs-container{width:100%;max-width:100%}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.imgedit-wait{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){.wp_attachment_details label[for=content]{font-size:14px;line-height:1.5em}.media-upload-form .media-item .error,.media-upload-form .media-item.error{font-size:13px;line-height:1.5}.media-upload-form .media-item.error{padding:1px 10px}.media-upload-form .media-item .error{padding:10px 0 10px 12px}}@media only screen and (max-width:1120px){.media-frame.mode-grid .attachments-browser .media-toolbar-secondary{float:none}}@media only screen and (max-width:782px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:46px;right:10px}}@media only screen and (max-width:600px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:0}}@media only screen and (max-width:480px){.edit-attachment-frame .media-frame-title{right:110px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{width:40px;height:40px}.upload-php .media-modal-close .media-modal-icon{margin:9px 10px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{line-height:40px!important}.edit-attachment-frame .edit-media-header .left{right:82px}.edit-attachment-frame .edit-media-header .right{right:41px}.edit-attachment-frame .media-frame-content{top:40px}.edit-attachment-frame .attachment-media-view{float:none;height:auto;width:100%}.edit-attachment-frame .attachment-info{height:auto;width:100%}}@media only screen and (max-width:640px),screen and (max-height:400px){.upload-php .mode-grid .media-sidebar{max-width:100%}}.theme-browser .themes{clear:both;padding:0 0 100px}.themes-php .wrap h2{float:left;margin-bottom:15px}.network-admin.themes-php .wrap h2{margin-bottom:0}.themes-php .wrap h2 .button{margin-left:20px}.themes-php .wp-filter-search{position:relative;top:-2px;left:20px;margin:0;width:280px;font-size:16px;font-weight:300;line-height:1.5}.themes-php div.error,.themes-php div.updated{margin:0 0 20px;clear:both}.themes-php div.updated a{text-decoration:underline}.theme-browser .theme{cursor:pointer;float:left;margin:0 4% 4% 0;position:relative;width:30.6%;border:1px solid #dedede;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ie8 .theme-browser .theme{width:30%;margin:0 3% 4% 0}.theme-browser .theme:nth-child(3n){margin-right:0}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:pointer}.theme-browser .theme .theme-name{font-size:15px;font-weight:600;height:18px;margin:0;padding:15px;-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:#fff;background:rgba(255,255,255,.65)}.theme-browser .theme .theme-actions{-ms-filter:"alpha(Opacity=0)";opacity:0;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out;position:absolute;bottom:0;right:0;height:38px;padding:9px 10px 0;background:rgba(244,244,244,.7);border-left:1px solid rgba(0,0,0,.05)}.theme-browser .theme.focus .theme-actions,.theme-browser .theme:focus .theme-actions,.theme-browser .theme:hover .theme-actions{-ms-filter:"alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-actions .button-primary{margin-right:3px}.theme-browser .theme .theme-actions .button-secondary{float:none;margin-left:3px}.theme-browser .theme .theme-screenshot{display:block;overflow:hidden;position:relative;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme .theme-screenshot:after{content:'';display:block;padding-top:66.66666%}.theme-browser .theme .theme-screenshot img{height:auto;position:absolute;left:0;top:0;width:100%;-webkit-transform:translateZ(0);-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme:focus .theme-screenshot,.theme-browser .theme:hover .theme-screenshot{background:#fff}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:.4}.theme-browser .theme .more-details{-ms-filter:"alpha(Opacity=0)";opacity:0;position:absolute;top:35%;right:25%;left:25%;background:#222;background:rgba(0,0,0,.7);color:#fff;font-size:15px;text-shadow:0 1px 0 rgba(0,0,0,.6);-webkit-font-smoothing:antialiased;font-weight:600;padding:15px 12px;text-align:center;-webkit-border-radius:3px;border-radius:3px;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out}.theme-browser .theme:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.theme-browser .theme:focus .more-details{opacity:1}.theme-browser .theme.active:focus .theme-actions{display:block}.theme-browser.rendered .theme:focus .more-details,.theme-browser.rendered .theme:hover .more-details{-ms-filter:"alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-installed,.theme-browser .theme .theme-update{background:#d54e21;background:rgba(213,78,33,.95);color:#fff;display:block;font-size:13px;font-weight:400;height:48px;line-height:48px;padding:0 10px;position:absolute;top:0;right:0;left:0;border-bottom:1px solid rgba(0,0,0,.25);overflow:hidden}.theme-browser .theme .theme-installed:before,.theme-browser .theme .theme-update:before{content:'\f463';display:inline-block;font:400 20px/1 dashicons;margin:0 6px 0 0;opacity:.8;position:relative;top:5px;speak:none;-webkit-font-smoothing:antialiased}.theme-browser .theme.active .theme-name{background:#2f2f2f;color:#fff;padding-right:110px;font-weight:300;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.5)}.theme-browser .theme.active .theme-name span{font-weight:600}.theme-browser .theme.active .theme-actions{background:rgba(49,49,49,.7);border-left:none;opacity:1}.theme-browser .theme.active .theme-actions .button-primary{margin-right:0}.theme-browser .theme .theme-author{background:#222;color:#eee;display:none;font-size:14px;margin:0 10px;padding:5px 10px;position:absolute;bottom:56px}.theme-browser .theme.display-author .theme-author{display:block}.theme-browser .theme.display-author .theme-author a{color:inherit;text-decoration:none}.theme-browser .theme.add-new-theme{border:none;-webkit-box-shadow:none;box-shadow:none}.theme-browser .theme.add-new-theme a{color:#999;text-decoration:none;display:block;position:relative;z-index:1}.theme-browser .theme.add-new-theme:after{display:block;content:'';-ms-filter:"alpha(Opacity=100)";opacity:1;background:0 0;position:absolute;top:0;left:0;right:0;bottom:0;padding:10% 0 0;text-shadow:none;border:5px dashed #d5d2ca;border:5px dashed rgba(0,0,0,.1);-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.theme-browser .theme.add-new-theme span:after{background:#e5e5e5;background:rgba(153,153,153,.1);-webkit-border-radius:50%;border-radius:50%;display:inline-block;content:'\f132';-webkit-font-smoothing:antialiased;font:400 74px/115px dashicons;width:100px;height:100px;vertical-align:middle;text-align:center;color:#999;position:absolute;top:30%;left:50%;margin-left:-50px;text-indent:-4px;padding:0;text-shadow:none;z-index:4}.rtl .theme-browser .theme.add-new-theme span:after{text-indent:4px}.theme-browser .theme.add-new-theme:focus .theme-screenshot,.theme-browser .theme.add-new-theme:hover .theme-screenshot{background:0 0}.theme-browser .theme.add-new-theme:focus span:after,.theme-browser .theme.add-new-theme:hover span:after{background:#fff;color:#0074a2}.theme-browser .theme.add-new-theme:focus:after,.theme-browser .theme.add-new-theme:hover:after{border-color:transparent;color:#fff;background:#0074a2;content:''}.theme-browser .theme.add-new-theme .theme-name{background:0 0;text-align:center;-webkit-box-shadow:none;box-shadow:none;font-weight:400;position:relative;top:0;margin-top:-10%;margin-bottom:10%}.theme-browser .theme.add-new-theme:focus .theme-name,.theme-browser .theme.add-new-theme:hover .theme-name{color:#fff;z-index:2}.theme-overlay .theme-backdrop{position:absolute;left:-20px;right:0;top:0;bottom:0;background:#f1f1f1;background:rgba(238,238,238,.9);z-index:10}.theme-overlay .theme-header{position:absolute;top:0;left:0;right:0;height:48px;border-bottom:1px solid #ddd}.theme-overlay .theme-header .close{cursor:pointer;height:48px;width:50px;text-align:center;float:right;border:0;border-left:1px solid #ddd;background-color:transparent;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:before{font:400 22px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.theme-overlay .theme-header .left,.theme-overlay .theme-header .right{cursor:pointer;color:#777;background-color:transparent;height:48px;width:54px;float:left;text-align:center;border:0;border-right:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:focus,.theme-overlay .theme-header .right:hover{background:#ddd;border-color:#ccc;color:#000}.theme-overlay .theme-header .close:focus:before,.theme-overlay .theme-header .close:hover:before{color:#000}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .right:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}.theme-overlay .theme-header .left.disabled,.theme-overlay .theme-header .left.disabled:hover,.theme-overlay .theme-header .right.disabled,.theme-overlay .theme-header .right.disabled:hover{color:#ccc;background:inherit;cursor:inherit}.theme-overlay .theme-header .left:before,.theme-overlay .theme-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.rtl .theme-overlay .theme-header .right:before,.theme-overlay .theme-header .left:before{content:'\f341'}.rtl .theme-overlay .theme-header .left:before,.theme-overlay .theme-header .right:before{content:'\f345'}.theme-overlay .theme-wrap{clear:both;position:fixed;top:9%;left:190px;right:30px;bottom:3%;background:#fff;-webkit-box-shadow:0 1px 20px 5px rgba(0,0,0,.1);box-shadow:0 1px 20px 5px rgba(0,0,0,.1);z-index:20;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.theme-overlay .theme-wrap:after{content:".";display:block;height:0;clear:both;visibility:hidden}body.folded .theme-overlay .theme-wrap{left:70px}.theme-overlay .theme-about{position:absolute;top:49px;bottom:57px;left:0;right:0;overflow:auto;padding:2% 4%}.theme-overlay .theme-about:after{content:".";display:block;height:0;clear:both;visibility:hidden}.theme-overlay .theme-actions{position:absolute;text-align:center;bottom:0;left:0;right:0;padding:10px 25px 5px;background:#f3f3f3;z-index:30;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-top:1px solid #eee}.ie8 .theme-overlay .theme-actions{border:1px solid #eee}.theme-overlay .theme-actions a{margin-right:5px;margin-bottom:5px}.theme-overlay .theme-actions .delete-theme{color:#a00;position:absolute;right:10px;bottom:5px;text-decoration:none;border-color:transparent;-webkit-box-shadow:none;box-shadow:none;background:0 0}.theme-overlay .theme-actions .delete-theme:focus,.theme-overlay .theme-actions .delete-theme:hover{background:#d54e21;color:#fff;border-color:#d54e21}.theme-overlay .theme-actions .active-theme,.theme-overlay.active .theme-actions .inactive-theme{display:none}.theme-overlay .theme-actions .inactive-theme,.theme-overlay.active .theme-actions .active-theme{display:block}.theme-overlay .theme-screenshots{float:left;margin:0 30px 0 0;width:55%;max-width:880px;text-align:center}.theme-overlay .screenshot{border:1px solid #fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.theme-overlay .screenshot:after{content:'';display:block;padding-top:75%}.theme-overlay .screenshot img{height:auto;position:absolute;left:0;top:0;width:100%}.theme-overlay.small-screenshot .theme-screenshots{position:absolute;width:302px}.theme-overlay.small-screenshot .theme-info{margin-left:350px;width:auto}.theme-overlay .screenshot.thumb{background:#ccc;border:1px solid #eee;float:none;display:inline-block;margin:10px 5px 0;width:140px;height:80px;cursor:pointer}.theme-overlay .screenshot.thumb:after{content:'';display:block;padding-top:100%}.theme-overlay .screenshot.thumb img{cursor:pointer;position:absolute;left:0;top:0;width:100%;height:auto}.theme-overlay .screenshot.selected{background:0 0;border:2px solid #2ea2cc}.theme-overlay .screenshot.selected img{opacity:.8}.theme-browser .theme .theme-screenshot.blank,.theme-overlay .screenshot.blank{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=)}.theme-overlay .theme-info{width:40%;float:left}.theme-overlay .current-label{background:#333;color:#fff;font-size:11px;display:inline-block;padding:2px 8px;-webkit-border-radius:2px;border-radius:2px;margin:0 0 -10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.theme-overlay .theme-name{color:#222;font-size:32px;font-weight:100;margin:10px 0 0;line-height:1.3}.theme-overlay .theme-version{color:#999;font-size:13px;font-weight:400;float:none;display:inline-block;margin-left:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.theme-overlay .theme-author{color:#686868;font-size:16px;font-weight:400;margin:15px 0 25px}.theme-overlay .theme-author a{text-decoration:none}.theme-overlay .theme-description{color:#555;font-size:15px;font-weight:400;line-height:1.5;margin:30px 0 0}.theme-overlay .theme-tags{border-top:3px solid #eee;color:#888;font-size:13px;font-weight:400;margin:30px 0 0;padding-top:20px}.theme-overlay .theme-tags span{color:#444;font-weight:700;margin-right:5px}.theme-overlay .theme-update-message{background:#fef7f1;border:1px solid #eee;border-left:4px solid #d54e21;-webkit-border-radius:3px;border-radius:3px;padding:5px 20px 10px}.theme-overlay .theme-update{color:#222;font-size:18px;display:inline-block;line-height:40px;margin:0}.theme-overlay .parent-theme{background:#f7fcfe;border:1px solid #eee;border-left:4px solid #2ea2cc;font-size:14px;font-weight:400;margin-top:30px;padding:10px 10px 10px 20px}.theme-overlay .parent-theme strong{font-weight:700}.single-theme .theme,.single-theme .theme-overlay .theme-backdrop,.single-theme .theme-overlay .theme-header{display:none}.single-theme .theme-overlay .theme-wrap{clear:both;min-height:330px;position:relative;left:auto;right:auto;top:auto;bottom:auto}.single-theme .theme-overlay .theme-about{padding:30px 30px 70px;position:static}.single-theme .theme-overlay .theme-actions{position:absolute}@media only screen and (min-width:2000px){#wpwrap .theme-browser .theme{width:17.6%;margin:0 3% 3% 0}#wpwrap .theme-browser .theme:nth-child(3n),#wpwrap .theme-browser .theme:nth-child(4n){margin-right:3%}#wpwrap .theme-browser .theme:nth-child(5n){margin-right:0}}@media only screen and (min-width:1680px){.theme-overlay .theme-wrap{width:1450px;margin:0 auto}}@media only screen and (min-width:1640px){.theme-browser .theme{width:22.7%;margin:0 3% 3% 0}.theme-browser .theme .theme-screenshot:after{padding-top:75%}.theme-browser .theme:nth-child(3n){margin-right:3%}.theme-browser .theme:nth-child(4n){margin-right:0}}@media only screen and (max-width:1120px){.theme-browser .theme{width:47.5%;margin-right:0}.theme-browser .theme:nth-child(even){margin-right:0}.theme-browser .theme:nth-child(odd){margin-right:5%}}@media only screen and (max-width:900px){.theme-overlay .theme-wrap{left:65px}}@media only screen and (max-width:780px){.theme-overlay .theme-wrap,body.folded .theme-overlay .theme-wrap{top:0;right:0;bottom:0;left:0;padding:70px 20px 20px;border:none;z-index:500;position:fixed}.theme-browser .theme.active .theme-name span{display:none}.theme-overlay .theme-screenshots{width:40%}.theme-overlay .theme-info{width:50%}.single-theme .theme-wrap{padding:10px}.theme-browser .theme .theme-actions{padding:5px 10px 4px}.theme-overlay.small-screenshot .theme-screenshots{position:static;float:none;max-width:302px}.theme-overlay.small-screenshot .theme-info{margin-left:0;width:auto}.theme:focus .more-details,.theme:hover .more-details,.theme:not(.active):focus .theme-actions,.theme:not(.active):hover .theme-actions{display:none}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:1}}@media only screen and (max-width:480px){.theme-browser .theme{width:100%;margin-right:0}.theme-browser .theme:nth-child(2n),.theme-browser .theme:nth-child(3n){margin-right:0}}@media only screen and (max-width:650px){.theme-overlay .theme-description,.theme-overlay .theme-update{margin-left:0}.theme-overlay .theme-actions .delete-theme{position:relative;right:auto;bottom:auto}.theme-overlay .theme-actions .inactive-theme{display:inline}.theme-overlay .theme-screenshots{width:100%;float:none}.theme-overlay .theme-info{width:100%}.theme-overlay .theme-author{margin:5px 0 15px}.theme-overlay .current-label{margin-top:10px;font-size:13px}.themes-php .wrap h2{width:100%}.themes-php .wp-filter-search{float:none;clear:both;left:0;top:0;right:0;margin:10px 0;width:100%}.theme-browser .theme.add-new-theme span:after{font:400 60px/90px dashicons;width:80px;height:80px;top:30%;left:50%;text-indent:0;margin-left:-40px}.single-theme .theme-wrap{margin:0 -12px 0 -10px;padding:10px}.single-theme .theme-overlay .theme-about{padding:10px;overflow:visible}.single-theme .current-label{display:none}.single-theme .theme-overlay .theme-actions{position:static}}.broken-themes{clear:both}.broken-themes table{text-align:left;width:50%;border-spacing:3px;padding:3px}.theme-browser .theme .theme-installed{background:#0074a2}.theme-browser .theme .theme-installed:before{content:'\f147'}.theme-browser .theme.is-installed .theme-actions .button-primary{display:none!important}.theme-install-php a.browse-themes,.theme-install-php a.upload{cursor:pointer}.theme-install-php a.browse-themes,.theme-install-php.show-upload-theme a.upload{display:none}.theme-install-php.show-upload-theme a.browse-themes{display:inline}.upload-plugin,.upload-theme{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:none;margin:0;padding:0;width:100%;overflow:hidden;position:relative;top:10px}.upload-plugin,body.show-upload-theme .upload-theme{display:block}.upload-plugin .wp-upload-form,.upload-theme .wp-upload-form{background:#fafafa;border:1px solid #e5e5e5;padding:30px;margin:30px auto;max-width:380px}.upload-plugin .install-help,.upload-theme .install-help{color:#999;font-size:18px;font-style:normal;margin:0;padding:40px 0 0;text-align:center}body.show-upload-theme .upload-theme+.wp-filter,body.show-upload-theme .upload-theme+.wp-filter+.theme-browser{display:none}p.no-themes{color:#999;font-size:18px;font-style:normal;margin:0;padding:0;text-align:center;display:none}body.no-results p.no-themes{display:block}.theme-install-php .add-new-theme,body.show-upload-theme p.no-themes{display:none!important}@media only screen and (max-width:1120px){.upload-theme .wp-upload-form{margin:20px 0;max-width:100%}.upload-theme .install-help{font-size:15px;padding:20px 0 0;text-align:left}}.rating{margin:30px 0}.rating span:before{color:#e6b800;content:"\f154";display:inline-block;-webkit-font-smoothing:antialiased;font:400 20px/1 dashicons;vertical-align:top}.rating-10 span.one:before,.rating-30 span.two:before,.rating-50 span.three:before,.rating-70 span.four:before,.rating-90 span.five:before{content:"\f459"}.rating-100 span.five:before,.rating-100 span.four:before,.rating-100 span.one:before,.rating-100 span.three:before,.rating-100 span.two:before,.rating-20 span.one:before,.rating-30 span.one:before,.rating-40 span.one:before,.rating-40 span.two:before,.rating-50 span.one:before,.rating-50 span.two:before,.rating-60 span.one:before,.rating-60 span.three:before,.rating-60 span.two:before,.rating-70 span.one:before,.rating-70 span.three:before,.rating-70 span.two:before,.rating-80 span.four:before,.rating-80 span.one:before,.rating-80 span.three:before,.rating-80 span.two:before,.rating-90 span.four:before,.rating-90 span.one:before,.rating-90 span.three:before,.rating-90 span.two:before{content:"\f155"}.rating .ratings{display:inline;margin-left:10px;line-height:20px;color:#999}.appearance_page_custom-header #headimg{border:1px solid #DFDFDF;overflow:hidden;width:100%}.appearance_page_custom-header #upload-form p label{font-size:12px}.appearance_page_custom-header .available-headers .default-header{float:left;margin:0 20px 20px 0}.appearance_page_custom-header .random-header{clear:both;margin:0 20px 20px 0;vertical-align:middle}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-right:10px}.appearance_page_custom-header .available-headers label img{vertical-align:middle}div#custom-background-image{min-height:100px;border:1px solid #dfdfdf}div#custom-background-image img{max-width:400px;max-height:300px}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:0 0;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;left:0;right:0;height:100%;min-width:0}.wp-full-overlay-sidebar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:fixed;width:300px;height:100%;top:0;bottom:0;left:0;padding:0;margin:0;z-index:10;overflow:auto;background:#eee;border-right:none}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{overflow:visible}.wp-full-overlay.collapsed,.wp-full-overlay.expanded .wp-full-overlay-sidebar{margin-left:0!important}.wp-full-overlay.expanded{margin-left:300px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{margin-left:-300px}.wp-full-overlay-sidebar:after{content:'';display:block;position:absolute;top:0;bottom:0;right:0;width:3px;z-index:1000}.wp-full-overlay-main{position:absolute;left:0;right:0;top:0;bottom:0;height:100%}.wp-full-overlay-sidebar .wp-full-overlay-header{position:absolute;left:0;right:0;height:45px;padding:0 15px;line-height:45px;z-index:10;margin:0;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-header a.back{margin-top:9px}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:none;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;left:0;right:0;overflow:auto}.theme-install-overlay .wp-full-overlay-sidebar .wp-full-overlay-header{padding:0}.theme-install-overlay .close-full-overlay,.theme-install-overlay .next-theme,.theme-install-overlay .previous-theme{display:block;position:relative;float:left;width:45px;height:45px;padding-right:2px;background:#eee;border-right:1px solid #ddd;color:#444;cursor:pointer;text-decoration:none;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-install-overlay .close-full-overlay:focus,.theme-install-overlay .close-full-overlay:hover,.theme-install-overlay .next-theme:focus,.theme-install-overlay .next-theme:hover,.theme-install-overlay .previous-theme:focus,.theme-install-overlay .previous-theme:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.theme-install-overlay .close-full-overlay:before{font:400 22px/1 dashicons;content:"\f335";position:relative;top:7px;left:13px}.theme-install-overlay .previous-theme:before{font:400 20px/1 dashicons;content:"\f341";position:relative;top:6px;left:14px}.theme-install-overlay .next-theme:before{font:400 20px/1 dashicons;content:"\f345";position:relative;top:6px;left:13px}.theme-install-overlay .next-theme.disabled,.theme-install-overlay .next-theme.disabled:focus,.theme-install-overlay .next-theme.disabled:hover,.theme-install-overlay .previous-theme.disabled,.theme-install-overlay .previous-theme.disabled:focus,.theme-install-overlay .previous-theme.disabled:hover{color:#bbb;background:#eee;cursor:default;pointer-events:none}.rtl .theme-install-overlay .previous-theme:before{content:"\f345"}.rtl .theme-install-overlay .next-theme:before{content:"\f341"}.wp-full-overlay a.collapse-sidebar{position:absolute;bottom:12px;left:0;z-index:50;display:block;width:19px;height:19px;margin-left:15px;padding:0;-webkit-border-radius:50%;border-radius:50%;color:#777;text-decoration:none}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay.collapsed .collapse-sidebar{position:absolute;left:100%}.wp-full-overlay .collapse-sidebar-arrow{position:static;margin-top:0;margin-left:0;display:block;width:auto;height:auto;background:0 0}.wp-full-overlay .collapse-sidebar-arrow:before{-webkit-border-radius:50%;border-radius:50%;float:left;content:"\f148";background:#eee;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.rtl .wp-full-overlay .collapse-sidebar-arrow:before,.wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:none;-ms-transform:none;transform:none}.wp-full-overlay.collapsed .collapse-sidebar-arrow{background-position:-1px -109px}.wp-full-overlay .collapse-sidebar-label{position:absolute;left:100%;line-height:20px;margin-left:10px}.wp-full-overlay.collapsed .collapse-sidebar-label{display:none}.wp-full-overlay,.wp-full-overlay .collapse-sidebar,.wp-full-overlay-main,.wp-full-overlay-sidebar{-webkit-transition-property:left,right,top,bottom,width,margin;transition-property:left,right,top,bottom,width,margin;-webkit-transition-duration:.2s;transition-duration:.2s}.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#customize-container{display:none;background:#fff;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;left:0;right:0;height:100%}.customize-active #customize-container{display:block}.customize-loading #customize-container iframe{opacity:0}.customize-loading #customize-container{background:#fff url(../images/spinner.gif) no-repeat fixed center center;-webkit-background-size:20px 20px;background-size:20px 20px}#customize-container iframe,.theme-install-overlay iframe{height:100%;width:100%;z-index:20;-webkit-transition:opacity .3s;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#customize-controls{margin-top:0}.theme-install-overlay{display:none}.theme-install-overlay.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 60px}.single-theme .install-theme-info{padding-top:15px}.theme-install-overlay .install-theme-info{display:block}.install-theme-info .theme-install{float:right;margin-top:18px}.install-theme-info .theme-name{font-size:16px;line-height:24px;margin-bottom:0;margin-top:0}.install-theme-info .theme-screenshot{margin-top:15px;width:258px;border:1px solid #ccc}.install-theme-info .theme-details{overflow:hidden}.theme-details .theme-version{margin:15px 0;float:left}.theme-details .star-rating{margin:7px 0;float:right}.theme-details .theme-description{float:left;color:#777;line-height:20px;max-width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{float:right;margin:8px 10px 0 0;line-height:26px}.theme-install-overlay .wp-full-overlay-sidebar{background:#eee;border-right:1px solid #ddd}.theme-install-overlay .wp-full-overlay-sidebar-content{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.theme-install-overlay .wp-full-overlay-main{background:#fff url(../images/spinner.gif) no-repeat center center;-webkit-background-size:20px 20px;background-size:20px 20px}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-full-overlay .collapse-sidebar-arrow{background-image:url(../images/arrows-2x.png);-webkit-background-size:15px 123px;background-size:15px 123px}.customize-loading #customize-container,.theme-install-overlay .wp-full-overlay-main{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){.available-theme .action-links .delete-theme{float:none;margin:0;padding:0;clear:both}.available-theme .action-links .delete-theme a{padding:0}}.press-this #message{border-left:4px solid #7ad03a;padding:1px 12px;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.press-this #side-sortables .category-tabs li{display:inline;line-height:1.35em}body.press-this ul.category-tabs li.tabs a{color:#333}.press-this #content-resize-handle{bottom:2px}body.press-this{color:#333;margin:0;padding:0;min-width:708px;min-height:400px}.press-this #titlediv #title{font-size:1.4em}.press-this #site-heading:before{top:3px;position:relative;display:inline-block;font:400 18px/1 dashicons;speak:none;color:#727272;content:'\f120';-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.press-this #wphead{height:32px;margin-left:0;margin-right:0;margin-bottom:5px}.press-this #header-logo{float:left;margin:7px 7px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.press-this #wphead h1{font-weight:400;font-size:16px;line-height:32px;margin:0;float:left}.press-this #wphead h1 a{text-decoration:none}.press-this #wphead h1 a:hover{text-decoration:underline}.press-this #message{margin:10px 0}.press-this .posting{margin-right:250px}.press-this-sidebar{float:right;width:240px;padding-top:10px}.press-this #title{margin-left:0;margin-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.press-this .tagchecklist{margin-top:8px}.press-this #titlediv{margin:0}.press-this #wp-content-wrap #wp-content-editor-tools{padding:0;top:3px;overflow:hidden}.press-this .wp-media-buttons{cursor:default;padding:8px 8px 6px}.press-this #wp-content-wrap #wp-content-media-buttons a{padding:0;line-height:normal;height:auto;font-size:16px}.press-this #wp-content-wrap .mce-toolbar .mce-btn-group .mce-btn{margin:0 1px}.press-this #wp-content-wrap .mce-toolbar .mce-btn button{padding:2px 3px}.press-this #wp-content-wrap .quicktags-toolbar,.press-this #wp-content-wrap div.mce-toolbar-grp{padding-right:3px}.press-this .howto{margin-top:2px;margin-bottom:3px;font-size:12px;font-style:italic;display:block}.press-this #wp-content-editor-container{clear:none}.press-this #poststuff .inside{margin-top:18px}.press-this .category-tabs{margin-bottom:3px}.press-this #poststuff{margin:0 8px;padding:0}.press-this #photo-add-url-div input[type=text]{width:220px}#poststuff #editor-toolbar{height:30px}.posting{margin-right:212px;position:relative}.press-this .inner-sidebar{width:200px}.press-this .inner-sidebar .sleeve{padding-top:5px}.press-this #submitdiv p{margin:0;padding:6px}.press-this #submitdiv #publishing-actions{border-bottom:1px solid #dfdfdf}.press-this #publish{float:right}.press-this #poststuff h2,.press-this #poststuff h3{font-size:14px;line-height:1}.press-this #categorydiv h3,.press-this #tagsdiv-post_tag h3{cursor:pointer}.press-this #submitdiv h3{cursor:default}h3.tb{font-weight:600;font-size:12px;margin-left:5px}.press-this .postbox,.press-this .stuffbox{margin-bottom:10px;min-width:0}.press-this #submitdiv:hover .handlediv{background:0 0}.tbtitle{font-size:1.7em;outline:0;padding:3px 4px;border:1px solid #dfdfdf}.press-this .actions{float:right;margin:-19px 0 0}.press-this #extra-fields .actions{margin:-32px -7px 0 0}.press-this .actions li{float:left;list-style:none;margin-right:10px}#extra-fields .button{margin-right:5px}#photo_saving{margin:0 8px 8px;vertical-align:middle}#img_container_container{overflow:auto}#extra-fields{margin-top:10px;position:relative}#extra-fields h2{margin:12px}#waiting{margin-top:10px;overflow:hidden}#waiting span{float:right;margin:0 0 0 5px}#waiting .spinner{display:block}#extra-fields .postbox{margin-bottom:5px}#extra-fields .titlewrap{padding:0;overflow:auto;height:120px}#img_container a{float:left;overflow:hidden}#img_container a,#img_container img{width:68px;height:68px}#img_container img{border:none;background-color:#f4f4f4;cursor:pointer}#img_container a,#img_container a:link,#img_container a:visited{border:1px solid #ccc;display:block;position:relative}#img_container a:active,#img_container a:hover{border-color:#000;z-index:1000;border-width:1px}#embed-code{width:100%;height:98px}.press-this .categorydiv div.tabs-panel{height:100px}.press-this .tagsdiv .newtag{width:120px}.press-this #content{margin:5px 0;padding:0 5px;border:0;height:340px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:19px;background:0 0}.press-this #publishing-actions .spinner{display:inline;vertical-align:middle}@media screen and (max-width:782px){.press-this ul.category-tabs li.tabs{padding:3px 5px 5px}.press-this a.wp-switch-editor{font:13px/19px "Open Sans",sans-serif;margin:5px 0 0 5px;padding:3px 8px 4px}.press-this #wp-content-media-buttons a{padding:0;line-height:normal;height:auto}.press-this #wp-content-editor-tools{padding:0;top:3px}.press-this .category-tabs{margin-top:0}.press-this .tagsdiv .newtag{width:120px;padding:3px 5px;margin-bottom:0}.press-this .tagchecklist{padding:0;margin-bottom:0}.press-this .wp_themeSkin a.mceButton{width:20px;height:20px}.press-this .wp_themeSkin .mceButton .mceIcon{margin:0}.press-this #poststuff h3,.press-this .metabox-holder h3{padding:7px 12px}.press-this input[type=checkbox],.press-this input[type=radio]{height:16px;width:16px}.press-this input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px 0 0 -4px}.press-this input[type=radio]:checked:before{font:400 21px/1 dashicons;width:6px;height:6px;margin:4px}.press-this ul.categorychecklist li,.press-this ul.categorychecklist ul{margin-top:0;margin-bottom:0}.press-this div.quicktags-toolbar input{padding:2px 4px}.press-this input,.press-this textarea{font-size:14px}.press-this .tagchecklist span{font-size:13px;line-height:1.8em}}.about-wrap{position:relative;margin:25px 40px 0 20px;max-width:1050px;font-size:15px}.about-wrap div.error,.about-wrap div.updated{display:none!important}.about-wrap hr{border:0;height:0;margin:0;border-top:1px solid rgba(0,0,0,.1)}.about-wrap img{margin:0;max-width:100%;height:auto;vertical-align:middle}.about-wrap p{line-height:1.6em;font-size:14px}.about-wrap h1{margin:.2em 200px 0 0;color:#333;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap h4{color:#222}.about-wrap .about-text,.about-wrap li.wp-person a.web,.about-wrap p.about-description{font-weight:400;line-height:1.6em;font-size:19px}.about-description{margin-top:1.4em}.about-text{margin:1em 200px 1em 0;min-height:60px;color:#777;font-size:24px}.about-wrap .changelog h2.about-headline-callout{margin:1.1em 0 .2em;font-size:2.4em;font-weight:300;line-height:1.3;text-align:center}.about-wrap h3{margin:1em 0 .6em;font-size:1.5em;line-height:1.5em}.about-wrap h3.higher{margin-top:.5em}.customize h3{margin-top:1.75em;text-align:center}.about-wrap .feature-section h4{margin:1.4em 0 .6em;font-size:1.2em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap code,.about-wrap ol li p{font-size:14px}.about-wrap .button.button-large{padding:8px 20px 10px!important;height:46px!important;font-size:14px;line-height:28px!important}.about-wrap .about-overview-img{margin:0}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #dfdfdf}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.wp-badge{background:#0074a2 url(../images/w-logo-white.png?ver=20131202) no-repeat center 24px;background:#0074a2 center 24px,url(../images/wordpress-logo-white.svg?ver=20131110) no-repeat center 24px;-webkit-background-size:85px 85px;background-size:85px 85px;color:#78c8e6;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:150px;text-rendering:optimizeLegibility;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap .wp-badge{position:absolute;top:0;right:0}.about-wrap h2.nav-tab-wrapper{padding-left:6px}.about-wrap h2 .nav-tab{padding:4px 15px 6px;margin:0 3px -1px 0;font-size:18px;vertical-align:top;border-width:1px}.about-overview{margin-top:40px;margin-bottom:40px;text-align:center}.about-overview p{margin:1em auto 50px;max-width:770px;font-size:18px;line-height:1.5;text-align:center}.about-wrap .feature-section{margin-top:40px;padding-bottom:20px}.about-wrap .feature-section.two-col>div{position:relative;width:47.6%;margin-right:4.799999999%;float:left}.about-wrap .feature-section.three-col>div{position:relative;width:29.95%;margin-right:4.999999999%;float:left}.about-wrap .feature-section.col .last-feature{margin-right:0}.about-wrap .under-the-hood .feature-section{margin-top:0}.about-wrap .changelog .feature-section{overflow:hidden}.about-wrap .feature-section.two-col div p{margin-right:3%}.about-wrap .feature-section div p img{float:right;margin-left:10px;max-width:20%}.about-video{position:relative;width:100%;height:0}.about-video-embed{padding-bottom:70.4%}.about-video-focus{padding-bottom:56.2%}.about-video .mejs-container,.about-video .wp-video,.about-video video{position:absolute;top:0;left:0;width:100%!important;height:100%!important}.about-wrap .changelog li{list-style-type:disc;margin-left:3em}.about-wrap .return-to-dashboard{margin:30px 0 0 -5px;font-size:14px;font-weight:700}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap h4.wp-people-group{margin-top:2.6em;font-size:16px}.about-wrap ul.wp-people-group{overflow:hidden;padding:0 5px;margin:0 -15px 0 -5px}.about-wrap ul.compact{margin-bottom:0}.about-wrap li.wp-person{float:left;margin-right:10px}.about-wrap li.wp-person img.gravatar{float:left;margin:0 10px 10px 0;padding:2px;width:60px;height:60px}.about-wrap ul.compact li.wp-person img.gravatar{width:30px;height:30px}.about-wrap li.wp-person{height:70px;width:280px;padding-bottom:15px}.about-wrap ul.compact li.wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap li.wp-person a.web{display:block;margin:6px 0 2px;font-size:16px;text-decoration:none}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:700}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}@media screen and (max-width:782px){.about-wrap .feature-section.one-col>div,.about-wrap .feature-section.three-col>div,.about-wrap .feature-section.two-col>div{width:100%;margin:0 0 40px;padding:0 0 40px;float:none;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .feature-section.col>div.last-feature,.about-wrap .under-the-hood .feature-section>div{margin:0;padding:0;border-bottom:none}}@media screen and (max-width:710px){.about-overview{position:relative;padding-bottom:56.25%;width:100%;height:0}.about-overview embed{position:absolute;top:0;left:0;width:100%;height:100%}}@media only screen and (max-width:500px){.about-wrap{margin-right:20px;margin-left:10px}.about-text,.about-wrap h1{margin-right:0}.about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap h2.nav-tab-wrapper{padding-left:0;border-bottom:0}.about-wrap h2 .nav-tab{margin-top:10px;margin-right:10px;border-bottom:1px solid #ccc}.about-wrap .feature-section.three-col div{width:100%;float:none}.about-wrap .three-col.about-updates .col-1{padding:0;float:none}.about-wrap .three-col.about-updates .col-2{margin:0 0 20px;width:100%;float:none}}.no-js #message{display:block}ul.add-menu-item-tabs li{padding:3px 5px 3px 8px}.accordion-section ul.add-menu-item-tabs,.accordion-section ul.category-tabs,.accordion-section ul.wp-tab-bar{margin:0}.accordion-section .categorychecklist{margin:13px 0}#nav-menu-meta .accordion-section-content{padding:18px 13px}#nav-menu-meta .button-controls{margin-bottom:0}#nav-menus-frame{margin-left:300px;margin-top:23px}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-left:-300px;clear:both;float:left;padding-top:0}#menu-settings-column .inside{clear:both;margin:10px 0 0}.metabox-holder-disabled .accordion-section-content,.metabox-holder-disabled .accordion-section-title,.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50)}.metabox-holder-disabled .button-controls .select-all{display:none}#wpbody{position:relative}.blank-slate .menu-name{height:2em}.blank-slate .menu-settings{border:none;margin-top:0;padding-top:0;overflow:hidden}.is-submenu{color:#999;font-style:italic;font-weight:400;margin-left:4px}.manage-menus{margin-top:23px;padding:10px;overflow:hidden;background:#fbfbfb}.manage-menus select{float:left;margin-right:6px}.manage-menus .selected-menu{float:left;margin:5px 6px 0 0}.manage-menus .submit-btn{float:left;margin-top:1px}.menu-edit p{margin:.3em 0 .6em}.menu-edit #post-body-content h3{margin:1em 0 10px}.menu-settings{border-top:1px solid #eee;margin-top:2em}.menu-settings dl{margin:0 0 10px;overflow:hidden;padding-left:18%}.menu-settings dd{float:left;margin:0;width:100%}.menu-settings dt{float:left;clear:both;width:21.951%;padding:3px 0 0;margin-left:-21.951%}.menu-settings label{vertical-align:baseline}.menu-edit .checkbox-input{margin-top:4px}.theme-location-set{color:#999;font-size:11px}#menu-management-liquid{float:left;min-width:100%;margin-top:3px}#menu-management{position:relative;margin-right:20px;margin-top:-3px;width:100%;background:#f5f5f5}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:0 10px 10px;border-top:1px solid #fff;border-bottom:1px solid #dfdfdf;background:#fff}#nav-menu-footer,#nav-menu-header{padding:0 10px}#nav-menu-header{border-bottom:1px solid #dfdfdf;margin-bottom:0}#nav-menu-header .menu-name-label{margin-top:4px}.nav-menus-php #post-body div.error,.nav-menus-php #post-body div.updated{margin:0}.nav-menus-php #post-body-content{position:relative;float:none}#menu-management .menu-add-new abbr{font-weight:600}#select-nav-menu-container{text-align:right;padding:0 10px 3px;margin-bottom:5px}#select-nav-menu{width:100px;display:inline}#menu-name-label{margin-top:-2px}.widefat td.menu-location-menus{padding-bottom:5px}.menu-location-menus select{float:left}#locations-nav-menu-wrapper{padding:5px 0}.locations-nav-menu-select select{float:left;width:160px;margin-right:5px}.locations-row-links{float:left;margin:6px 0 0 6px}.locations-add-menu-link,.locations-edit-menu-link{margin:0 3px}.locations-edit-menu-link{padding-right:3px;border-right:1px solid #ccc}#wpbody .open-label{display:block;float:left}#wpbody .open-label span{padding-right:10px}.js .input-with-default-title{color:#aaa;font-style:italic}#menu-management .inside{padding:0 10px}.accordion-container .howto input,.postbox .howto input{width:180px;float:right}.accordion-container .outer-border{margin:0}.customlinkdiv .howto input{width:180px}.customlinkdiv p{margin-top:0}#nav-menu-theme-locations .howto select{width:100%}#nav-menu-theme-locations .button-controls{text-align:right}.add-menu-item-view-all{height:400px}#menu-container .submit{margin:0 0 10px;padding:0}.nav-menus-php .add-new-menu-action{float:left;margin:6px 0 0 6px;line-height:15px}.nav-menus-php .meta-sep,.nav-menus-php .submitcancel,.nav-menus-php .submitdelete{display:block;float:left;margin:6px 0;line-height:15px}.meta-sep{padding:0 2px}#cancel-save{text-decoration:underline;font-size:12px;margin-left:20px;margin-top:5px}.button-primary.right,.button-secondary.right,.button.right{float:right}.list-controls{float:left;margin-top:5px}.add-to-menu{float:right}.postbox .spinner{display:none;vertical-align:middle}.button-controls{clear:both;margin:10px 0}.hide-all,.show-all{cursor:pointer}.hide-all{display:none}#menu-name{width:270px}#manage-menu .inside{padding:0}#available-links dt{display:block}#add-custom-link .howto{font-size:12px}#add-custom-link label span{display:block;float:left;margin-top:5px;padding-right:5px}.menu-item-textbox{width:180px}.nav-menus-php .howto span{margin-top:6px;display:block;float:left}.quick-search{width:190px}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .postbox p.submit{margin-bottom:0}.nav-menus-php .list li{display:none;margin:0 0 5px}.nav-menus-php .list li .menu-item-title{cursor:pointer;display:block}.nav-menus-php .list li .menu-item-title input{margin-right:3px;margin-top:-3px}.menu-item-title input[type=checkbox]{display:inline-block;margin-top:-4px}#menu-container .inside{padding-bottom:10px}.menu{padding-top:1em}#menu-to-edit{margin:0;padding:.1em 0}.menu ul{width:100%}.menu li{margin-bottom:0;position:relative}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin:9px 0 0}.menu-item-bar .menu-item-handle{border:1px solid #dfdfdf;position:relative;padding:10px 15px;height:auto;width:382px;line-height:30px;overflow:hidden;word-wrap:break-word}.menu-item-bar .menu-item-handle:hover{border-color:#999}#menu-to-edit .menu-item-invalid .menu-item-handle{background:#f6c9cc;border-color:#f1acb1}.no-js .menu-item-edit-active .item-edit{display:none}.js .menu-item-handle{cursor:move}.menu li.deleting .menu-item-handle{background-image:none;background-color:#f66}.menu-item-handle .item-title{font-size:13px;font-weight:600;line-height:20px;display:block;margin-right:13em}.menu-item-handle .menu-item-title.no-title{color:#999}li.menu-item.ui-sortable-helper dl{margin-top:0}li.menu-item.ui-sortable-helper .menu-item-transport dl{margin-top:13px}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px}.menu-item-depth-0{margin-left:0}.menu-item-depth-1{margin-left:30px}.menu-item-depth-2{margin-left:60px}.menu-item-depth-3{margin-left:90px}.menu-item-depth-4{margin-left:120px}.menu-item-depth-5{margin-left:150px}.menu-item-depth-6{margin-left:180px}.menu-item-depth-7{margin-left:210px}.menu-item-depth-8{margin-left:240px}.menu-item-depth-9{margin-left:270px}.menu-item-depth-10{margin-left:300px}.menu-item-depth-11{margin-left:330px}.menu-item-depth-0 .menu-item-transport{margin-left:0}.menu-item-depth-1 .menu-item-transport{margin-left:-30px}.menu-item-depth-2 .menu-item-transport{margin-left:-60px}.menu-item-depth-3 .menu-item-transport{margin-left:-90px}.menu-item-depth-4 .menu-item-transport{margin-left:-120px}.menu-item-depth-5 .menu-item-transport{margin-left:-150px}.menu-item-depth-6 .menu-item-transport{margin-left:-180px}.menu-item-depth-7 .menu-item-transport{margin-left:-210px}.menu-item-depth-8 .menu-item-transport{margin-left:-240px}.menu-item-depth-9 .menu-item-transport{margin-left:-270px}.menu-item-depth-10 .menu-item-transport{margin-left:-300px}.menu-item-depth-11 .menu-item-transport{margin-left:-330px}body.menu-max-depth-0{min-width:950px!important}body.menu-max-depth-1{min-width:980px!important}body.menu-max-depth-2{min-width:1010px!important}body.menu-max-depth-3{min-width:1040px!important}body.menu-max-depth-4{min-width:1070px!important}body.menu-max-depth-5{min-width:1100px!important}body.menu-max-depth-6{min-width:1130px!important}body.menu-max-depth-7{min-width:1160px!important}body.menu-max-depth-8{min-width:1190px!important}body.menu-max-depth-9{min-width:1220px!important}body.menu-max-depth-10{min-width:1250px!important}body.menu-max-depth-11{min-width:1280px!important}.item-type{color:#777;font-size:12px;padding:12px 10px;line-height:18px;display:block}.item-controls{font-size:12px;position:absolute;right:20px;top:-1px}.item-controls a{text-decoration:none}.item-controls a:hover{cursor:pointer}.item-controls .item-order{padding-right:10px}.nav-menus-php .item-edit{position:absolute;right:-20px;top:0;display:block;width:30px;height:40px;margin-right:0!important;text-indent:100%;outline:0;overflow:hidden;white-space:nowrap}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:402px;padding:10px 0 10px 10px;position:relative;z-index:10;border:1px solid #e5e5e5;border-top:none;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.menu-item-settings .field-move a{display:none;margin:0 2px}.menu-item-edit-active .menu-item-settings{display:block}.menu-item-edit-inactive .menu-item-settings{display:none}.add-menu-item-pagelinks{margin:.5em auto;text-align:center}.link-to-original{display:block;margin:0 0 10px;padding:3px 5px 5px;border:1px solid #dfdfdf;color:#777;font-size:12px;font-style:italic}.link-to-original a{padding-left:4px;font-style:normal}.hidden-field{display:none}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-right:10px;float:left}.description-thin{width:190px;height:40px}.description-wide{width:390px}.menu-item-actions{padding-top:15px}#cancel-save{cursor:pointer}.nav-menus-php .major-publishing-actions{clear:both;padding:3px 0 6px}.nav-menus-php .major-publishing-actions .publishing-action{text-align:right;float:right;line-height:23px;margin:4px 0 1px}.nav-menus-php .blank-slate .menu-settings{display:none}.nav-menus-php .delete-action{float:left;margin-top:2px}.nav-menus-php .submitbox .submitcancel{border-bottom:1px solid #0074a2;padding:1px 2px;color:#0074a2;text-decoration:none}.nav-menus-php .submitbox .submitcancel:hover{background:#0074a2;color:#fff}.nav-menus-php .major-publishing-actions .form-invalid{padding-left:4px;margin-left:-4px}#menu-item-name-wrap:after,#menu-item-url-wrap:after,#menu-name-label:after,#menu-settings-column .inside:after,#nav-menus-frame:after,.nav-menus-php #post-body-content:after,.nav-menus-php .button-controls:after,.nav-menus-php .major-publishing-actions:after,.nav-menus-php .menu-item-settings:after{clear:both;content:".";display:block;height:0;visibility:hidden}#menu-item-name-wrap,#menu-item-url-wrap,#nav-menus-frame,.button-controls{display:block}@media screen and (max-width:782px){body.nav-menus-php{min-width:0!important}#nav-menus-frame{margin-left:0;float:none;width:100%}#wpbody-content #menu-settings-column{display:block;width:100%;float:none;margin-left:0}#side-sortables .add-menu-item-tabs{margin:15px 0 14px}ul.add-menu-item-tabs li.tabs{padding:13px 15px 14px}.nav-menus-php .item-controls .item-type{margin-top:2px}.nav-menus-php .customlinkdiv .howto input{width:65%}.nav-menus-php .quick-search{width:85%}#menu-management-liquid{margin-top:25px}.nav-menus-php .menu-name-label.howto span{margin-top:13px}.menu-name-label #menu-name{margin-top:4px}.nav-menus-php .major-publishing-actions .publishing-action{margin-top:6px}.nav-menus-php .delete-action{font-size:14px;line-height:50px;margin-top:12px}.description-wide,.menu-item-bar .menu-item-handle,.menu-item-settings{width:auto}.menu-item-settings{padding:10px}.menu-item-settings .description-thin,.menu-item-settings .description-wide{width:100%;height:auto}.menu-item-settings input{width:100%}.menu-settings dl{padding-left:0}.menu-settings dd{float:none;width:100%;margin-bottom:15px}.menu-settings dt{float:none;width:auto;margin-left:0;margin-bottom:15px}}@media only screen and (max-width:768px){#menu-locations-wrap .widefat{width:100%}}.widget{margin:0 auto 10px;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.widget-top{font-size:13px;font-weight:600;background:#f7f7f7}.widget-top a.widget-action,.widget-top a.widget-action:hover{-webkit-box-shadow:none;box-shadow:none;outline:0;text-decoration:none}.widget-title h4{margin:0;padding:15px;line-height:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.widgets-holder-wrap .widget-inside{border-top:none;padding:1px 15px 15px;line-height:16px}#available-widgets .widget-description,#widgets-right a.widget-control-edit,.in-widget-title{color:#666}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.widget.ui-draggable-dragging{min-width:100%}.widget.ui-sortable-helper{opacity:.8}.widget-placeholder{border:1px dashed #bbb;margin:0 auto 10px;height:45px;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#widgets-right .widget-placeholder{margin-top:0}#widgets-right .closed .widget-placeholder{height:0;border:0;margin-top:-10px}.sidebar-name{position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.sidebar-name-arrow{position:absolute;top:0;right:0;bottom:0}.js .sidebar-name{cursor:pointer}.sidebar-name h3{margin:0;padding:8px 10px;overflow:hidden;white-space:nowrap}.widgets-holder-wrap .description{padding:0 0 15px;margin:0;font-style:normal;color:#777}#widgets-right .widgets-holder-wrap .description{padding-left:7px;padding-right:7px}div.widget-liquid-left{margin:0;width:38%;float:left}div.widget-liquid-right{float:right;width:58%}div#widgets-left{padding-top:12px}div#widgets-left .closed .sidebar-name,div#widgets-left .inactive-sidebar.closed .sidebar-name{margin-bottom:10px}div#widgets-left .sidebar-name h3{padding:10px 0;margin:0 10px 0 0}div#widgets-left .sidebar-name .sidebar-name-arrow:before{right:0;top:4px;padding:4px 6px 4px 4px}#widgets-left #available-widgets,div#widgets-left .widget-holder{background:0 0;border:none}#widgets-left .widgets-holder-wrap{border:none;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-action{display:none}#available-widgets .widget{margin:0}#available-widgets .widget:nth-child(odd){clear:both}#available-widgets .widget .widget-description{display:block;padding:10px 15px;font-size:12px}#available-widgets #widget-list{position:relative}#widgets-left .inactive-sidebar{clear:both;width:100%;background:0 0;padding:0;margin:0 0 20px;border:none;-webkit-box-shadow:none;box-shadow:none}#widgets-left .inactive-sidebar.first{margin-top:40px}div#widgets-left .inactive-sidebar .widget.expanded{left:auto}.widget-title-action{float:right;position:relative}div#widgets-left .inactive-sidebar .widgets-sortables{min-height:42px;padding:0;background:0 0;margin:0;position:relative}div#widgets-right:after{content:".";display:block;height:0;clear:both;visibility:hidden}div#widgets-right .sidebars-column-1,div#widgets-right .sidebars-column-2{max-width:450px}div#widgets-right .widgets-holder-wrap{margin:10px 0 0}div#widgets-right .sidebar-description{min-height:20px;margin-top:-5px}div#widgets-right .sidebar-name h3{padding:15px 7px}div#widgets-right .sidebar-name .sidebar-name-arrow:before{right:0;top:4px}div#widgets-right .widget-top{padding:0}div#widgets-right .widgets-sortables{padding:0 8px;margin-bottom:9px;position:relative;min-height:123px}div#widgets-right .closed .widgets-sortables{min-height:0;margin-bottom:0}.sidebar-name .spinner{margin:-5px 5px;float:none}#widgets-right .widgets-holder-wrap.widget-hover{border-color:#777;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}.widgets_access #widgets-left .widget .widget-top{cursor:auto}.widgets_access #wpwrap .widget-control-edit,.widgets_access #wpwrap .widgets-holder-wrap.closed .sidebar-description,.widgets_access #wpwrap .widgets-holder-wrap.closed .widget{display:block}.widgets_access #widgets-left .widget .widget-top:hover,.widgets_access #widgets-right .widget .widget-top:hover{border-color:#ddd}#available-widgets .widget-control-edit .edit,#widgets-left .inactive-sidebar .widget-control-edit .add,#widgets-right .widget-control-edit .add{display:none}.widget-control-edit{display:block;color:#666;background:#EEE;padding:0 15px;line-height:43px;border-left:1px solid #DDD}#widgets-left .widget-control-edit:hover,#widgets-right .widget-control-edit:hover{color:#fff;background:#444;border-left:0;outline:#444 solid 1px}.widgets-holder-wrap .sidebar-description,.widgets-holder-wrap .sidebar-name{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.editwidget{margin:0 auto}.editwidget .widget-inside{display:block;padding:0 15px}.editwidget .widget-control-actions{margin-top:20px}.js .closed br.clear,.js .widgets-holder-wrap.closed .sidebar-description,.js .widgets-holder-wrap.closed .widget,.widget-description,.widget-inside{display:none}.widget-inside{background:#fff}#removing-widget{display:none;font-weight:400;padding-left:15px;font-size:12px;line-height:1;color:#000}.js #removing-widget{color:#2ea2cc}#access-off,.no-js .widget-holder .description,.widget-control-noform,.widgets_access #access-on,.widgets_access .sidebar-name-arrow,.widgets_access .widget-action,.widgets_access .widget-holder .description{display:none}.widgets_access #widget-list,.widgets_access .widget-holder{padding-top:10px}.widgets_access #access-off{display:inline}.widgets_access .sidebar-name,.widgets_access .widget .widget-top{cursor:default}.widget-liquid-left #widgets-left.chooser #available-widgets .widget,.widget-liquid-left #widgets-left.chooser .inactive-sidebar{-webkit-transition:opacity .1s linear;transition:opacity .1s linear;opacity:.2;pointer-events:none}.widget-liquid-left #widgets-left.chooser #available-widgets .widget-in-question{opacity:1;pointer-events:auto}#available-widgets .widget-top:hover,#widgets-left .widget-in-question .widget-top,#widgets-left .widget-top:hover,.widgets-chooser ul,div#widgets-right .widget-top:hover{border-color:#999;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}.widgets-chooser ul.widgets-chooser-sidebars{margin:0;list-style-type:none;max-height:300px;overflow:auto}.widgets-chooser{display:none}.widgets-chooser ul{border:1px solid #ccc}.widgets-chooser li{padding:10px 15px 10px 35px;border-bottom:1px solid #ccc;background:#fff;margin:0;cursor:pointer;outline:0;position:relative;-webkit-transition:background .2s ease-in-out;transition:background .2s ease-in-out}.widgets-chooser li:focus,.widgets-chooser li:hover{background:rgba(255,255,255,.7)}.widgets-chooser li:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#999;position:absolute;top:7px;left:5px}.widgets-chooser li:last-child{border:none}.widgets-chooser li.widgets-chooser-selected{background:#2ea2cc;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#fff;position:absolute;top:7px;left:5px}.widgets-chooser .widgets-chooser-actions{padding:10px 0 12px;text-align:center}.widgets-chooser button{margin-right:5px}#available-widgets .widget .widget-top{cursor:pointer}@media screen and (max-width:480px){div.widget-liquid-left{width:100%;float:none;border-right:none;padding-right:0}#widgets-left #available-widgets .widget-top,#widgets-left .inactive-sidebar .widgets-sortables,#widgets-left .sidebar-name{margin-right:0}div.widget-liquid-right{width:100%;float:none}div.widget{margin:0 auto 10px!important;max-width:480px}}@media screen and (max-width:320px){div.widget{max-width:320px}}@media only screen and (min-width:1250px){#widgets-left #available-widgets .widget{width:49%;float:left}.widget.ui-draggable-dragging{min-width:49%}#widgets-left #available-widgets .widget:nth-child(even){float:right}#widgets-right .sidebars-column-1,#widgets-right .sidebars-column-2{float:left;width:49%}#widgets-right .sidebars-column-1{margin-right:2%}#widgets-right.single-sidebar .sidebars-column-1,#widgets-right.single-sidebar .sidebars-column-2{float:none;width:100%;margin:0}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"楷体",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de .inline-edit-row fieldset label span.title{width:7em}.locale-de-de .inline-edit-row fieldset label span.input-text-wrap{margin-left:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-right:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}
\ No newline at end of file
diff --git a/wp-admin/custom-background.php b/wp-admin/custom-background.php
index e53cd7d24..a23efda03 100644
--- a/wp-admin/custom-background.php
+++ b/wp-admin/custom-background.php
@@ -22,7 +22,7 @@ class Custom_Background {
 	 * @since 3.0.0
 	 * @access private
 	 */
-	var $admin_header_callback;
+	private $admin_header_callback;
 
 	/**
 	 * Callback for header div.
@@ -31,7 +31,7 @@ class Custom_Background {
 	 * @since 3.0.0
 	 * @access private
 	 */
-	var $admin_image_div_callback;
+	private $admin_image_div_callback;
 
 	/**
 	 * Holds the page menu hook.
@@ -40,7 +40,7 @@ class Custom_Background {
 	 * @since 3.0.0
 	 * @access private
 	 */
-	var $page = '';
+	private $page = '';
 
 	/**
 	 * Constructor - Register administration header callback.
@@ -50,7 +50,7 @@ class Custom_Background {
 	 * @param callback $admin_image_div_callback Optional custom image div output callback.
 	 * @return Custom_Background
 	 */
-	function __construct($admin_header_callback = '', $admin_image_div_callback = '') {
+	public function __construct($admin_header_callback = '', $admin_image_div_callback = '') {
 		$this->admin_header_callback = $admin_header_callback;
 		$this->admin_image_div_callback = $admin_image_div_callback;
 
@@ -58,12 +58,64 @@ class Custom_Background {
 		add_action( 'wp_ajax_set-background-image', array( $this, 'wp_set_background_image' ) );
 	}
 
+	/**
+	 * Make private properties readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property name.
+	 * @return mixed Property.
+	 */
+	public function __get( $name ) {
+		return $this->$name;
+	}
+
+	/**
+	 * Make private properties settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name  Property to set.
+	 * @param mixed  $value Property value.
+	 * @return mixed Newly-set property.
+	 */
+	public function __set( $name, $value ) {
+		return $this->$name = $value;
+	}
+
+	/**
+	 * Make private properties checkable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to check if set.
+	 * @return bool Whether the property is set.
+	 */
+	public function __isset( $name ) {
+		return isset( $this->$name );
+	}
+
+	/**
+	 * Make private properties un-settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to unset.
+	 */
+	public function __unset( $name ) {
+		unset( $this->$name );
+	}
+
 	/**
 	 * Set up the hooks for the Custom Background admin page.
 	 *
 	 * @since 3.0.0
 	 */
-	function init() {
+	public function init() {
 		if ( ! current_user_can('edit_theme_options') )
 			return;
 
@@ -82,7 +134,7 @@ class Custom_Background {
 	 *
 	 * @since 3.0.0
 	 */
-	function admin_load() {
+	public function admin_load() {
 		get_current_screen()->add_help_tab( array(
 			'id'      => 'overview',
 			'title'   => __('Overview'),
@@ -109,7 +161,7 @@ class Custom_Background {
 	 *
 	 * @since 3.0.0
 	 */
-	function take_action() {
+	public function take_action() {
 
 		if ( empty($_POST) )
 			return;
@@ -176,7 +228,7 @@ class Custom_Background {
 	 *
 	 * @since 3.0.0
 	 */
-	function admin_page() {
+	public function admin_page() {
 ?>
 <div class="wrap" id="custom-background">
 <h2><?php _e( 'Custom Background' ); ?></h2>
@@ -204,7 +256,8 @@ class Custom_Background {
 
 		if ( get_background_image() ) {
 			$background_image_thumb = esc_url( set_url_scheme( get_theme_mod( 'background_image_thumb', str_replace( '%', '%%', get_background_image() ) ) ) );
-			// background-image URL must be single quote, see below
+
+			// Background-image URL must be single quote, see below.
 			$background_styles .= ' background-image: url(\'' . $background_image_thumb . '\');'
 				. ' background-repeat: ' . get_theme_mod( 'background_repeat', get_theme_support( 'custom-background', 'default-repeat' ) ) . ';'
 				. ' background-position: top ' . get_theme_mod( 'background_position_x', get_theme_support( 'custom-background', 'default-position-x' ) );
@@ -343,7 +396,7 @@ if ( current_theme_supports( 'custom-background', 'default-color' ) )
 	 *
 	 * @since 3.0.0
 	 */
-	function handle_upload() {
+	public function handle_upload() {
 
 		if ( empty($_FILES) )
 			return;
@@ -397,7 +450,7 @@ if ( current_theme_supports( 'custom-background', 'default-color' ) )
 	 *
 	 * @since 3.4.0
 	 */
-	function attachment_fields_to_edit( $form_fields ) {
+	public function attachment_fields_to_edit( $form_fields ) {
 		return $form_fields;
 	}
 
@@ -406,7 +459,7 @@ if ( current_theme_supports( 'custom-background', 'default-color' ) )
 	 *
 	 * @since 3.4.0
 	 */
-	function filter_upload_tabs( $tabs ) {
+	public function filter_upload_tabs( $tabs ) {
 		return $tabs;
 	}
 
diff --git a/wp-admin/custom-header.php b/wp-admin/custom-header.php
index 1c9971f5a..76f6f746d 100644
--- a/wp-admin/custom-header.php
+++ b/wp-admin/custom-header.php
@@ -22,7 +22,7 @@ class Custom_Image_Header {
 	 * @since 2.1.0
 	 * @access private
 	 */
-	var $admin_header_callback;
+	private $admin_header_callback;
 
 	/**
 	 * Callback for header div.
@@ -31,7 +31,7 @@ class Custom_Image_Header {
 	 * @since 3.0.0
 	 * @access private
 	 */
-	var $admin_image_div_callback;
+	private $admin_image_div_callback;
 
 	/**
 	 * Holds default headers.
@@ -40,7 +40,7 @@ class Custom_Image_Header {
 	 * @since 3.0.0
 	 * @access private
 	 */
-	var $default_headers = array();
+	private $default_headers = array();
 
 	/**
 	 * Holds custom headers uploaded by the user.
@@ -49,7 +49,7 @@ class Custom_Image_Header {
 	 * @since 3.2.0
 	 * @access private
 	 */
-	var $uploaded_headers = array();
+	private $uploaded_headers = array();
 
 	/**
 	 * Holds the page menu hook.
@@ -58,7 +58,7 @@ class Custom_Image_Header {
 	 * @since 3.0.0
 	 * @access private
 	 */
-	var $page = '';
+	private $page = '';
 
 	/**
 	 * Constructor - Register administration header callback.
@@ -68,7 +68,7 @@ class Custom_Image_Header {
 	 * @param callback $admin_image_div_callback Optional custom image div output callback.
 	 * @return Custom_Image_Header
 	 */
-	function __construct($admin_header_callback, $admin_image_div_callback = '') {
+	public function __construct($admin_header_callback, $admin_image_div_callback = '') {
 		$this->admin_header_callback = $admin_header_callback;
 		$this->admin_image_div_callback = $admin_image_div_callback;
 
@@ -80,12 +80,64 @@ class Custom_Image_Header {
 		add_action( 'wp_ajax_custom-header-remove', array( $this, 'ajax_header_remove'      ) );
 	}
 
+	/**
+	 * Make private properties readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to get.
+	 * @return mixed Property.
+	 */
+	public function __get( $name ) {
+		return $this->$name;
+	}
+
+	/**
+	 * Make private properties settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name  Property to set.
+	 * @param mixed  $value Property value.
+	 * @return mixed Newly-set property.
+	 */
+	public function __set( $name, $value ) {
+		return $this->$name = $value;
+	}
+
+	/**
+	 * Make private properties checkable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to check if set.
+	 * @return bool Whether the property is set.
+	 */
+	public function __isset( $name ) {
+		return isset( $this->$name );
+	}
+
+	/**
+	 * Make private properties un-settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to unset.
+	 */
+	public function __unset( $name ) {
+		unset( $this->$name );
+	}
+
 	/**
 	 * Set up the hooks for the Custom Header admin page.
 	 *
 	 * @since 2.1.0
 	 */
-	function init() {
+	public function init() {
 		if ( ! current_user_can('edit_theme_options') )
 			return;
 
@@ -106,7 +158,7 @@ class Custom_Image_Header {
 	 *
 	 * @since 3.0.0
 	 */
-	function help() {
+	public function help() {
 		get_current_screen()->add_help_tab( array(
 			'id'      => 'overview',
 			'title'   => __('Overview'),
@@ -148,7 +200,7 @@ class Custom_Image_Header {
 	 *
 	 * @return int Current step
 	 */
-	function step() {
+	public function step() {
 		if ( ! isset( $_GET['step'] ) )
 			return 1;
 
@@ -167,7 +219,7 @@ class Custom_Image_Header {
 	 *
 	 * @since 2.1.0
 	 */
-	function js_includes() {
+	public function js_includes() {
 		$step = $this->step();
 
 		if ( ( 1 == $step || 3 == $step ) ) {
@@ -185,7 +237,7 @@ class Custom_Image_Header {
 	 *
 	 * @since 2.7.0
 	 */
-	function css_includes() {
+	public function css_includes() {
 		$step = $this->step();
 
 		if ( ( 1 == $step || 3 == $step ) && current_theme_supports( 'custom-header', 'header-text' ) )
@@ -199,7 +251,7 @@ class Custom_Image_Header {
 	 *
 	 * @since 2.6.0
 	 */
-	function take_action() {
+	public function take_action() {
 		if ( ! current_user_can('edit_theme_options') )
 			return;
 
@@ -245,7 +297,7 @@ class Custom_Image_Header {
 	 *
 	 * @since 3.0.0
 	 */
-	function process_default_headers() {
+	public function process_default_headers() {
 		global $_wp_default_headers;
 
 		if ( !empty($this->headers) )
@@ -275,7 +327,7 @@ class Custom_Image_Header {
 	 *
 	 * @since 3.0.0
 	 */
-	function show_header_selector( $type = 'default' ) {
+	public function show_header_selector( $type = 'default' ) {
 		if ( 'default' == $type ) {
 			$headers = $this->default_headers;
 		} else {
@@ -312,7 +364,7 @@ class Custom_Image_Header {
 	 *
 	 * @since 2.1.0
 	 */
-	function js() {
+	public function js() {
 		$step = $this->step();
 		if ( ( 1 == $step || 3 == $step ) && current_theme_supports( 'custom-header', 'header-text' ) )
 			$this->js_1();
@@ -325,11 +377,20 @@ class Custom_Image_Header {
 	 *
 	 * @since 2.6.0
 	 */
-	function js_1() { ?>
+	public function js_1() {
+		$default_color = '';
+		if ( current_theme_supports( 'custom-header', 'default-text-color' ) ) {
+			$default_color = get_theme_support( 'custom-header', 'default-text-color' );
+			if ( $default_color && false === strpos( $default_color, '#' ) ) {
+				$default_color = '#' . $default_color;
+			}
+		}
+		?>
+
 <script type="text/javascript">
 /* <![CDATA[ */
 (function($){
-	var default_color = '#<?php echo get_theme_support( 'custom-header', 'default-text-color' ); ?>',
+	var default_color = '<?php echo $default_color; ?>',
 		header_text_fields;
 
 	function pickColor(color) {
@@ -380,7 +441,7 @@ class Custom_Image_Header {
 	 *
 	 * @since 2.6.0
 	 */
-	function js_2() { ?>
+	public function js_2() { ?>
 <script type="text/javascript">
 /* <![CDATA[ */
 	function onEndCrop( coords ) {
@@ -454,7 +515,7 @@ class Custom_Image_Header {
 	 *
 	 * @since 2.1.0
 	 */
-	function step_1() {
+	public function step_1() {
 		$this->process_default_headers();
 ?>
 
@@ -624,17 +685,27 @@ class Custom_Image_Header {
 <th scope="row"><?php _e( 'Text Color' ); ?></th>
 <td>
 	<p>
-<?php
-$header_textcolor = display_header_text() ? get_header_textcolor() : get_theme_support( 'custom-header', 'default-text-color' );
-$default_color = '';
-if ( current_theme_supports( 'custom-header', 'default-text-color' ) ) {
-	$default_color = '#' . get_theme_support( 'custom-header', 'default-text-color' );
-	$default_color_attr = ' data-default-color="' . esc_attr( $default_color ) . '"';
-	echo '<input type="text" name="text-color" id="text-color" value="#' . esc_attr( $header_textcolor ) . '"' . $default_color_attr . ' />';
-	if ( $default_color )
-		echo ' <span class="description hide-if-js">' . sprintf( _x( 'Default: %s', 'color' ), $default_color ) . '</span>';
-}
-?>
+	<?php
+	$default_color = '';
+	if ( current_theme_supports( 'custom-header', 'default-text-color' ) ) {
+		$default_color = get_theme_support( 'custom-header', 'default-text-color' );
+		if ( $default_color && false === strpos( $default_color, '#' ) ) {
+			$default_color = '#' . $default_color;
+		}
+	}
+
+	$default_color_attr = $default_color ? ' data-default-color="' . esc_attr( $default_color ) . '"' : '';
+
+	$header_textcolor = display_header_text() ? get_header_textcolor() : get_theme_support( 'custom-header', 'default-text-color' );
+	if ( $header_textcolor && false === strpos( $header_textcolor, '#' ) ) {
+		$header_textcolor = '#' . $header_textcolor;
+	}
+
+	echo '<input type="text" name="text-color" id="text-color" value="' . esc_attr( $header_textcolor ) . '"' . $default_color_attr . ' />';
+	if ( $default_color ) {
+		echo ' <span class="description hide-if-js">' . sprintf( _x( 'Default: %s', 'color' ), esc_html( $default_color ) ) . '</span>';
+	}
+	?>
 	</p>
 </td>
 </tr>
@@ -662,7 +733,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 	 *
 	 * @since 2.1.0
 	 */
-	function step_2() {
+	public function step_2() {
 		check_admin_referer('custom-header-upload', '_wpnonce-custom-header-upload');
 		if ( ! current_theme_supports( 'custom-header', 'uploads' ) )
 			wp_die( __( 'Cheatin&#8217; uh?' ) );
@@ -670,10 +741,14 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 		if ( empty( $_POST ) && isset( $_GET['file'] ) ) {
 			$attachment_id = absint( $_GET['file'] );
 			$file = get_attached_file( $attachment_id, true );
-			$url = wp_get_attachment_image_src( $attachment_id, 'full');
+			$url = wp_get_attachment_image_src( $attachment_id, 'full' );
 			$url = $url[0];
 		} elseif ( isset( $_POST ) ) {
-			extract($this->step_2_manage_upload());
+			$data = $this->step_2_manage_upload();
+			$attachment_id = $data['attachment_id'];
+			$file = $data['file'];
+			$url = $data['url'];
+			$type = $data['type'];
 		}
 
 		if ( file_exists( $file ) ) {
@@ -772,7 +847,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 	 *
 	 * @since 3.4.0
 	 */
-	function step_2_manage_upload() {
+	public function step_2_manage_upload() {
 		$overrides = array('test_form' => false);
 
 		$uploaded_file = $_FILES['import'];
@@ -809,7 +884,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 	 *
 	 * @since 2.1.0
 	 */
-	function step_3() {
+	public function step_3() {
 		check_admin_referer( 'custom-header-crop-image' );
 
 		if ( ! current_theme_supports( 'custom-header', 'uploads' ) )
@@ -859,7 +934,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 		$url = $object['guid'];
 		$this->set_header_image( compact( 'url', 'attachment_id', 'width', 'height' ) );
 
-		// cleanup
+		// Cleanup.
 		$medium = str_replace( basename( $original ), 'midsize-' . basename( $original ), $original );
 		if ( file_exists( $medium ) ) {
 			/**
@@ -885,7 +960,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 	 *
 	 * @since 2.1.0
 	 */
-	function finished() {
+	public function finished() {
 		$this->updated = true;
 		$this->step_1();
 	}
@@ -895,7 +970,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 	 *
 	 * @since 2.1.0
 	 */
-	function admin_page() {
+	public function admin_page() {
 		if ( ! current_user_can('edit_theme_options') )
 			wp_die(__('You do not have permission to customize headers.'));
 		$step = $this->step();
@@ -912,7 +987,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 	 *
 	 * @since 3.4.0
 	 */
-	function attachment_fields_to_edit( $form_fields ) {
+	public function attachment_fields_to_edit( $form_fields ) {
 		return $form_fields;
 	}
 
@@ -921,7 +996,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 	 *
 	 * @since 3.4.0
 	 */
-	function filter_upload_tabs( $tabs ) {
+	public function filter_upload_tabs( $tabs ) {
 		return $tabs;
 	}
 
@@ -1096,7 +1171,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 	}
 
 	/**
-	 * Insert an attachment & its metadata.
+	 * Insert an attachment and its metadata.
 	 *
 	 * @param array $object Attachment object.
 	 * @param string $cropped Cropped image URL.
@@ -1107,8 +1182,13 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 		$attachment_id = wp_insert_attachment( $object, $cropped );
 		$metadata = wp_generate_attachment_metadata( $attachment_id, $cropped );
 		/**
-		 * Allows us to insert custom meta data for an attachment.
+		 * Filter the header image attachment metadata.
+		 *
+		 * @since 3.9.0
 		 *
+		 * @see wp_generate_attachment_metadata()
+		 *
+		 * @param array $metadata Attachment metadata.
 		 */
 		$metadata = apply_filters( 'wp_header_image_attachment_metadata', $metadata );
 		wp_update_attachment_metadata( $attachment_id, $metadata );
@@ -1119,7 +1199,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 	 * Gets attachment uploaded by Media Manager, crops it, then saves it as a
 	 * new object. Returns JSON-encoded object details.
 	 */
-	function ajax_header_crop() {
+	public function ajax_header_crop() {
 		check_ajax_referer( 'image_editor-' . $_POST['id'], 'nonce' );
 
 		if ( ! current_user_can( 'edit_theme_options' ) ) {
@@ -1153,6 +1233,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 			wp_send_json_error( array( 'message' => __( 'Image could not be processed. Please go back and try again.' ) ) );
 		}
 
+		/** This filter is documented in wp-admin/custom-header.php */
 		$cropped = apply_filters( 'wp_create_file_in_uploads', $cropped, $attachment_id ); // For replication
 
 		$object = $this->create_attachment_object( $cropped, $attachment_id );
@@ -1175,7 +1256,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 	 * Triggered when the user tries adds a new header image from the
 	 * Media Manager, even if s/he doesn't save that change.
 	 */
-	function ajax_header_add() {
+	public function ajax_header_add() {
 		check_ajax_referer( 'header-add', 'nonce' );
 
 		if ( ! current_user_can( 'edit_theme_options' ) ) {
@@ -1201,7 +1282,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 	 * Triggered when the user clicks the overlay "X" button next to each image
 	 * choice in the Customizer's Header tool.
 	 */
-	function ajax_header_remove() {
+	public function ajax_header_remove() {
 		check_ajax_referer( 'header-remove', 'nonce' );
 
 		if ( ! current_user_can( 'edit_theme_options' ) ) {
@@ -1220,7 +1301,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 		wp_send_json_success();
 	}
 
-	function customize_set_last_used( $wp_customize ) {
+	public function customize_set_last_used( $wp_customize ) {
 		$data = $wp_customize->get_setting( 'header_image_data' )->post_value();
 
 		if ( ! isset( $data['attachment_id'] ) ) {
diff --git a/wp-admin/customize.php b/wp-admin/customize.php
index b1485d1f4..3cfa0c787 100644
--- a/wp-admin/customize.php
+++ b/wp-admin/customize.php
@@ -12,16 +12,26 @@ define( 'IFRAME_REQUEST', true );
 /** Load WordPress Administration Bootstrap */
 require_once( dirname( __FILE__ ) . '/admin.php' );
 
-if ( ! current_user_can( 'edit_theme_options' ) )
+if ( ! current_user_can( 'customize' ) ) {
 	wp_die( __( 'Cheatin&#8217; uh?' ) );
+}
 
 wp_reset_vars( array( 'url', 'return' ) );
-$url = urldecode( $url );
+$url = wp_unslash( $url );
 $url = wp_validate_redirect( $url, home_url( '/' ) );
-if ( $return )
-	$return = wp_validate_redirect( urldecode( $return ) );
-if ( ! $return )
-	$return = $url;
+if ( $return ) {
+	$return = wp_unslash( $return );
+	$return = wp_validate_redirect( $return );
+}
+if ( ! $return ) {
+	if ( $url ) {
+		$return = $url;
+	} elseif ( current_user_can( 'edit_theme_options' ) || current_user_can( 'switch_themes' ) ) {
+		$return = admin_url( 'themes.php' );
+	} else {
+		$return = admin_url();
+	}
+}
 
 global $wp_scripts, $wp_customize;
 
@@ -63,7 +73,7 @@ $body_class = 'wp-core-ui wp-customizer js';
 if ( wp_is_mobile() ) :
 	$body_class .= ' mobile';
 
-	?><meta name="viewport" id="viewport-meta" content="width=device-width, initial-scale=0.8, minimum-scale=0.5, maximum-scale=1.2"><?php
+	?><meta name="viewport" id="viewport-meta" content="width=device-width, initial-scale=0.8, minimum-scale=0.5, maximum-scale=1.2" /><?php
 endif;
 
 $is_ios = wp_is_mobile() && preg_match( '/iPad|iPod|iPhone/', $_SERVER['HTTP_USER_AGENT'] );
@@ -108,14 +118,15 @@ do_action( 'customize_controls_print_scripts' );
 				submit_button( $save_text, 'primary save', 'save', false );
 			?>
 			<span class="spinner"></span>
-			<a class="back button" href="<?php echo esc_url( $return ? $return : admin_url( 'themes.php' ) ); ?>">
-				<?php _e( 'Cancel' ); ?>
+			<a class="customize-controls-close" href="<?php echo esc_url( $return ); ?>">
+				<span class="screen-reader-text"><?php _e( 'Cancel' ); ?></span>
 			</a>
+			<span class="control-panel-back" tabindex="-1"><span class="screen-reader-text"><?php _e( 'Back' ); ?></span></span>
 		</div>
 
 		<?php
 			$screenshot = $wp_customize->theme()->get_screenshot();
-			$cannot_expand = ! ( $screenshot || $wp_customize->theme()->get('Description') );
+			$cannot_expand = ! ( $wp_customize->is_theme_active() || $screenshot || $wp_customize->theme()->get('Description') );
 		?>
 
 		<div id="widgets-right"><!-- For Widget Customizer, many widgets try to look for instances under div#widgets-right, so we have to add that ID to a container div in the customizer for compat -->
@@ -123,27 +134,37 @@ do_action( 'customize_controls_print_scripts' );
 			<div id="customize-info" class="accordion-section <?php if ( $cannot_expand ) echo ' cannot-expand'; ?>">
 				<div class="accordion-section-title" aria-label="<?php esc_attr_e( 'Theme Customizer Options' ); ?>" tabindex="0">
 					<span class="preview-notice"><?php
-						/* translators: %s is the theme name in the Customize/Live Preview pane */
-						echo sprintf( __( 'You are previewing %s' ), '<strong class="theme-name">' . $wp_customize->theme()->display('Name') . '</strong>' );
+						if ( ! $wp_customize->is_theme_active() ) {
+							/* translators: %s is the theme name in the Customize/Live Preview pane */
+							echo sprintf( __( 'You are previewing %s' ), '<strong class="theme-name">' . $wp_customize->theme()->display('Name') . '</strong>' );
+						} else {
+							/* translators: %s is the site/panel title in the Customize pane */
+							echo sprintf( __( 'You are customizing %s' ), '<strong class="theme-name site-title">' . get_bloginfo( 'name' ) . '</strong>' );
+						}
 					?></span>
 				</div>
 				<?php if ( ! $cannot_expand ) : ?>
 				<div class="accordion-section-content">
-					<?php if ( $screenshot ) : ?>
-						<img class="theme-screenshot" src="<?php echo esc_url( $screenshot ); ?>" />
-					<?php endif; ?>
-
-					<?php if ( $wp_customize->theme()->get('Description') ): ?>
-						<div class="theme-description"><?php echo $wp_customize->theme()->display('Description'); ?></div>
-					<?php endif; ?>
+					<?php if ( ! $wp_customize->is_theme_active() ) :
+						if ( $screenshot ) : ?>
+							<img class="theme-screenshot" src="<?php echo esc_url( $screenshot ); ?>" />
+						<?php endif; ?>
+
+						<?php if ( $wp_customize->theme()->get('Description') ): ?>
+							<div class="theme-description"><?php echo $wp_customize->theme()->display('Description'); ?></div>
+						<?php endif;
+					else:
+						echo __( 'The Customizer allows you to preview changes to your site before publishing them. You can also navigate to different pages on your site to preview them.' );
+					endif; ?>
 				</div>
 				<?php endif; ?>
 			</div>
 
 			<div id="customize-theme-controls"><ul>
 				<?php
-				foreach ( $wp_customize->sections() as $section )
-					$section->maybe_render();
+				foreach ( $wp_customize->containers() as $container ) {
+					$container->maybe_render();
+				}
 				?>
 			</ul></div>
 		</div>
@@ -166,12 +187,14 @@ do_action( 'customize_controls_print_scripts' );
 	 */
 	do_action( 'customize_controls_print_footer_scripts' );
 
-	// If the frontend and the admin are served from the same domain, load the
-	// preview over ssl if the customizer is being loaded over ssl. This avoids
-	// insecure content warnings. This is not attempted if the admin and frontend
-	// are on different domains to avoid the case where the frontend doesn't have
-	// ssl certs. Domain mapping plugins can allow other urls in these conditions
-	// using the customize_allowed_urls filter.
+	/*
+	 * If the frontend and the admin are served from the same domain, load the
+	 * preview over ssl if the customizer is being loaded over ssl. This avoids
+	 * insecure content warnings. This is not attempted if the admin and frontend
+	 * are on different domains to avoid the case where the frontend doesn't have
+	 * ssl certs. Domain mapping plugins can allow other urls in these conditions
+	 * using the customize_allowed_urls filter.
+	 */
 
 	$allowed_urls = array( home_url('/') );
 	$admin_origin = parse_url( admin_url() );
diff --git a/wp-admin/edit-form-advanced.php b/wp-admin/edit-form-advanced.php
index 8dc481508..ebda7a3f6 100644
--- a/wp-admin/edit-form-advanced.php
+++ b/wp-admin/edit-form-advanced.php
@@ -11,6 +11,22 @@ if ( !defined('ABSPATH') )
 	die('-1');
 
 wp_enqueue_script('post');
+$_wp_editor_expand = false;
+
+/**
+ * Filter whether to enable the 'expand' functionality in the post editor.
+ *
+ * @since 4.0.0
+ *
+ * @param bool $expand Whether to enable the 'expand' functionality. Default true.
+ */
+if ( post_type_supports( $post_type, 'editor' ) && ! wp_is_mobile() &&
+	 ! ( $is_IE && preg_match( '/MSIE [5678]/', $_SERVER['HTTP_USER_AGENT'] ) ) &&
+	 apply_filters( 'wp_editor_expand', true ) ) {
+
+	wp_enqueue_script('editor-expand');
+	$_wp_editor_expand = ( get_user_setting( 'editor_expand', 'on' ) === 'on' );
+}
 
 if ( wp_is_mobile() )
 	wp_enqueue_script( 'jquery-touch-punch' );
@@ -176,7 +192,7 @@ foreach ( get_object_taxonomies( $post ) as $tax_name ) {
 if ( post_type_supports($post_type, 'page-attributes') )
 	add_meta_box('pageparentdiv', 'page' == $post_type ? __('Page Attributes') : __('Attributes'), 'page_attributes_meta_box', null, 'side', 'core');
 
-if ( $thumbnail_support )
+if ( $thumbnail_support && current_user_can( 'upload_files' ) )
 	add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', null, 'side', 'low');
 
 if ( post_type_supports($post_type, 'excerpt') )
@@ -483,15 +499,16 @@ do_action( 'edit_form_after_title', $post );
 
 if ( post_type_supports($post_type, 'editor') ) {
 ?>
-<div id="postdivrich" class="postarea edit-form-section">
+<div id="postdivrich" class="postarea<?php if ( $_wp_editor_expand ) { echo ' wp-editor-expand'; } ?>">
 
 <?php wp_editor( $post->post_content, 'content', array(
 	'dfw' => true,
 	'drag_drop_upload' => true,
 	'tabfocus_elements' => 'insert-media-button,save-post',
-	'editor_height' => 360,
+	'editor_height' => 300,
 	'tinymce' => array(
 		'resize' => false,
+		'wp_autoresize_on' => $_wp_editor_expand,
 		'add_unload_trigger' => false,
 	),
 ) ); ?>
diff --git a/wp-admin/edit-form-comment.php b/wp-admin/edit-form-comment.php
index 3d0ebf510..b2950f77b 100644
--- a/wp-admin/edit-form-comment.php
+++ b/wp-admin/edit-form-comment.php
@@ -71,7 +71,7 @@ if ( !defined('ABSPATH') )
 
 <div id="postbox-container-1" class="postbox-container">
 <div id="submitdiv" class="stuffbox" >
-<h3><span class='hndle'><?php _e('Status') ?></span></h3>
+<h3><span class="hndle"><?php _e('Status') ?></span></h3>
 <div class="inside">
 <div class="submitbox" id="submitcomment">
 <div id="minor-publishing">
diff --git a/wp-admin/edit-link-form.php b/wp-admin/edit-link-form.php
index 007146c81..610240a0c 100644
--- a/wp-admin/edit-link-form.php
+++ b/wp-admin/edit-link-form.php
@@ -13,12 +13,12 @@ if ( !defined('ABSPATH') )
 if ( ! empty($link_id) ) {
 	$heading = sprintf( __( '<a href="%s">Links</a> / Edit Link' ), 'link-manager.php' );
 	$submit_text = __('Update Link');
-	$form = '<form name="editlink" id="editlink" method="post" action="link.php">';
+	$form_name = 'editlink';
 	$nonce_action = 'update-bookmark_' . $link_id;
 } else {
 	$heading = sprintf( __( '<a href="%s">Links</a> / Add New Link' ), 'link-manager.php' );
 	$submit_text = __('Add Link');
-	$form = '<form name="addlink" id="addlink" method="post" action="link.php">';
+	$form_name = 'addlink';
 	$nonce_action = 'add-bookmark';
 }
 
@@ -76,11 +76,11 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 <div id="message" class="updated"><p><?php _e('Link added.'); ?></p></div>
 <?php endif; ?>
 
+<form name="<?php echo esc_attr( $form_name ); ?>" id="<?php echo esc_attr( $form_name ); ?>" method="post" action="link.php">
 <?php
-if ( !empty($form) )
-	echo $form;
-if ( !empty($link_added) )
+if ( ! empty( $link_added ) ) {
 	echo $link_added;
+}
 
 wp_nonce_field( $nonce_action );
 wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
@@ -118,11 +118,7 @@ wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false ); ?>
 <div id="postbox-container-1" class="postbox-container">
 <?php
 
-/**
- * Fires before the Save meta box in the sidebar.
- *
- * @since 2.5.0
- */
+/** This action is documented in wp-admin/includes/meta-boxes.php */
 do_action( 'submitlink_box' );
 $side_meta_boxes = do_meta_boxes( 'link', 'side', $link );
 
diff --git a/wp-admin/edit-tags.php b/wp-admin/edit-tags.php
index 717954c0c..953f6f430 100644
--- a/wp-admin/edit-tags.php
+++ b/wp-admin/edit-tags.php
@@ -63,7 +63,6 @@ case 'add-tag':
 		$location = add_query_arg( 'message', 4, $location );
 	wp_redirect( $location );
 	exit;
-break;
 
 case 'delete':
 	$location = 'edit-tags.php?taxonomy=' . $taxonomy;
@@ -91,8 +90,6 @@ case 'delete':
 	wp_redirect( $location );
 	exit;
 
-break;
-
 case 'bulk-delete':
 	check_admin_referer( 'bulk-tags' );
 
@@ -116,8 +113,6 @@ case 'bulk-delete':
 	wp_redirect( $location );
 	exit;
 
-break;
-
 case 'edit':
 	$title = $tax->labels->edit_item;
 
@@ -160,7 +155,6 @@ case 'editedtag':
 
 	wp_redirect( $location );
 	exit;
-break;
 
 default:
 if ( ! empty($_REQUEST['_wp_http_referer']) ) {
@@ -336,8 +330,12 @@ endif; ?>
 
 <?php if ( 'category' == $taxonomy ) : ?>
 <div class="form-wrap">
-<?php /** This filter is documented in wp-includes/category-template.php */ ?>
-<p><?php printf(__('<strong>Note:</strong><br />Deleting a category does not delete the posts in that category. Instead, posts that were only assigned to the deleted category are set to the category <strong>%s</strong>.'), apply_filters('the_category', get_cat_name(get_option('default_category')))) ?></p>
+<p>
+	<?php
+	/** This filter is documented in wp-includes/category-template.php */
+	printf( __( '<strong>Note:</strong><br />Deleting a category does not delete the posts in that category. Instead, posts that were only assigned to the deleted category are set to the category <strong>%s</strong>.' ), apply_filters( 'the_category', get_cat_name( get_option( 'default_category') ) ) );
+	?>
+</p>
 <?php if ( current_user_can( 'import' ) ) : ?>
 <p><?php printf(__('Categories can be selectively converted to tags using the <a href="%s">category to tag converter</a>.'), 'import.php') ?></p>
 <?php endif; ?>
diff --git a/wp-admin/edit.php b/wp-admin/edit.php
index a062b0911..241b8fbd3 100644
--- a/wp-admin/edit.php
+++ b/wp-admin/edit.php
@@ -12,6 +12,12 @@ require_once( dirname( __FILE__ ) . '/admin.php' );
 if ( ! $typenow )
 	wp_die( __( 'Invalid post type' ) );
 
+if ( 'attachment' === $typenow ) {
+	if ( wp_redirect( admin_url( 'upload.php' ) ) ) {
+		exit;
+	}
+}
+
 $post_type = $typenow;
 $post_type_object = get_post_type_object( $post_type );
 
diff --git a/wp-admin/freedoms.php b/wp-admin/freedoms.php
index 2bc7a8df8..101c7969d 100644
--- a/wp-admin/freedoms.php
+++ b/wp-admin/freedoms.php
@@ -19,7 +19,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 
 <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
 
-<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s has lots of refinements we think you&#8217;ll love.' ), $display_version ); ?></div>
+<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s brings you a smoother writing and management experience.' ), $display_version ); ?></div>
 
 <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
 
diff --git a/wp-admin/includes/admin.php b/wp-admin/includes/admin.php
index 439fcdb81..f1fc8cb00 100644
--- a/wp-admin/includes/admin.php
+++ b/wp-admin/includes/admin.php
@@ -7,9 +7,11 @@
  */
 
 if ( ! defined('WP_ADMIN') ) {
-	// This file is being included from a file other than wp-admin/admin.php, so
-	// some setup was skipped. Make sure the admin message catalog is loaded since
-	// load_default_textdomain() will not have done so in this context.
+	/*
+	 * This file is being included from a file other than wp-admin/admin.php, so
+	 * some setup was skipped. Make sure the admin message catalog is loaded since
+	 * load_default_textdomain() will not have done so in this context.
+	 */
 	load_textdomain( 'default', WP_LANG_DIR . '/admin-' . get_locale() . '.mo' );
 }
 
diff --git a/wp-admin/includes/ajax-actions.php b/wp-admin/includes/ajax-actions.php
index ed78e3c01..ff2db70f9 100644
--- a/wp-admin/includes/ajax-actions.php
+++ b/wp-admin/includes/ajax-actions.php
@@ -6,19 +6,22 @@
  * @subpackage Administration
  */
 
-/*
- * No-privilege Ajax handlers.
- */
+//
+// No-privilege Ajax handlers.
+//
 
 /**
- * Heartbeat API (experimental)
+ * Ajax handler for the Heartbeat API in
+ * the no-privilege context.
  *
  * Runs when the user is not logged in.
+ *
+ * @since 3.6.0
  */
 function wp_ajax_nopriv_heartbeat() {
 	$response = array();
 
-	// screen_id is the same as $current_screen->id and the JS global 'pagenow'
+	// screen_id is the same as $current_screen->id and the JS global 'pagenow'.
 	if ( ! empty($_POST['screen_id']) )
 		$screen_id = sanitize_key($_POST['screen_id']);
 	else
@@ -61,14 +64,20 @@ function wp_ajax_nopriv_heartbeat() {
 	 */
 	do_action( 'heartbeat_nopriv_tick', $response, $screen_id );
 
-	// send the current time according to the server
+	// Send the current time according to the server.
 	$response['server_time'] = time();
 
 	wp_send_json($response);
 }
 
-/*
- * GET-based Ajax handlers.
+//
+// GET-based Ajax handlers.
+//
+
+/**
+ * Ajax handler for fetching a list table.
+ *
+ * @since 3.1.0
  */
 function wp_ajax_fetch_list() {
 	global $wp_list_table;
@@ -87,9 +96,13 @@ function wp_ajax_fetch_list() {
 
 	wp_die( 0 );
 }
-function wp_ajax_ajax_tag_search() {
-	global $wpdb;
 
+/**
+ * Ajax handler for tag search.
+ *
+ * @since 3.1.0
+ */
+function wp_ajax_ajax_tag_search() {
 	if ( isset( $_GET['tax'] ) ) {
 		$taxonomy = sanitize_key( $_GET['tax'] );
 		$tax = get_taxonomy( $taxonomy );
@@ -111,8 +124,25 @@ function wp_ajax_ajax_tag_search() {
 		$s = $s[count( $s ) - 1];
 	}
 	$s = trim( $s );
-	if ( strlen( $s ) < 2 )
-		wp_die(); // require 2 chars for matching
+
+	/**
+	 * Filter the minimum number of characters required to fire a tag search via AJAX.
+	 *
+	 * @since 4.0.0
+	 *
+	 * @param int    $characters The minimum number of characters required. Default 2.
+	 * @param object $tax        The taxonomy object.
+	 * @param string $s          The search term.
+	 */
+	$term_search_min_chars = (int) apply_filters( 'term_search_min_chars', 2, $tax, $s );
+
+	/*
+	 * Require $term_search_min_chars chars for matching (default: 2)
+	 * ensure it's a non-negative, non-zero integer.
+	 */
+	if ( ( $term_search_min_chars == 0 ) || ( strlen( $s ) < $term_search_min_chars ) ){
+		wp_die();
+	}
 
 	$results = get_terms( $taxonomy, array( 'name__like' => $s, 'fields' => 'names', 'hide_empty' => false ) );
 
@@ -120,6 +150,11 @@ function wp_ajax_ajax_tag_search() {
 	wp_die();
 }
 
+/**
+ * Ajax handler for compression testing.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_wp_compression_test() {
 	if ( !current_user_can( 'manage_options' ) )
 		wp_die( -1 );
@@ -165,6 +200,11 @@ function wp_ajax_wp_compression_test() {
 	wp_die( 0 );
 }
 
+/**
+ * Ajax handler for image editor previews.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_imgedit_preview() {
 	$post_id = intval($_GET['postid']);
 	if ( empty($post_id) || !current_user_can('edit_post', $post_id) )
@@ -179,13 +219,21 @@ function wp_ajax_imgedit_preview() {
 	wp_die();
 }
 
+/**
+ * Ajax handler for oEmbed caching.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_oembed_cache() {
-	global $wp_embed;
-
-	$return = ( $wp_embed->cache_oembed( $_GET['post'] ) ) ? '1' : '0';
-	wp_die( $return );
+	$GLOBALS['wp_embed']->cache_oembed( $_GET['post'] );
+	wp_die( 0 );
 }
 
+/**
+ * Ajax handler for user autocomplete.
+ *
+ * @since 3.4.0
+ */
 function wp_ajax_autocomplete_user() {
 	if ( ! is_multisite() || ! current_user_can( 'promote_users' ) || wp_is_large_network( 'users' ) )
 		wp_die( -1 );
@@ -241,6 +289,11 @@ function wp_ajax_autocomplete_user() {
 	wp_die( json_encode( $return ) );
 }
 
+/**
+ * Ajax handler for dashboard widgets.
+ *
+ * @since 3.4.0
+ */
 function wp_ajax_dashboard_widgets() {
 	require_once ABSPATH . 'wp-admin/includes/dashboard.php';
 
@@ -257,13 +310,18 @@ function wp_ajax_dashboard_widgets() {
 	wp_die();
 }
 
+/**
+ * Ajax handler for Customizer preview logged-in status.
+ *
+ * @since 3.4.0
+ */
 function wp_ajax_logged_in() {
 	wp_die( 1 );
 }
 
-/*
- * Ajax helper.
- */
+//
+// Ajax helpers.
+//
 
 /**
  * Sends back current comment total and new page links if they need to be updated.
@@ -304,16 +362,19 @@ function _wp_ajax_delete_comment_response( $comment_id, $delta = -1 ) {
 
 		$comment_count = wp_count_comments($post_id);
 
-		if ( isset( $comment_count->$status ) ) // We're looking for a known type of comment count
+		// We're looking for a known type of comment count.
+		if ( isset( $comment_count->$status ) )
 			$total = $comment_count->$status;
-			// else use the decremented value from above
+			// Else use the decremented value from above.
 	}
 
-	$time = time(); // The time since the last comment count
+	// The time since the last comment count.
+	$time = time();
 
 	$x = new WP_Ajax_Response( array(
 		'what' => 'comment',
-		'id' => $comment_id, // here for completeness - not used
+		// Here for completeness - not used.
+		'id' => $comment_id,
 		'supplemental' => array(
 			'total_items_i18n' => sprintf( _n( '1 item', '%s items', $total ), number_format_i18n( $total ) ),
 			'total_pages' => ceil( $total / $per_page ),
@@ -325,10 +386,15 @@ function _wp_ajax_delete_comment_response( $comment_id, $delta = -1 ) {
 	$x->send();
 }
 
-/*
- * POST-based Ajax handlers.
- */
+//
+// POST-based Ajax handlers.
+//
 
+/**
+ * Ajax handler for adding a hierarchical term.
+ *
+ * @since 3.1.0
+ */
 function _wp_ajax_add_hierarchical_term() {
 	$action = $_POST['action'];
 	$taxonomy = get_taxonomy(substr($action, 4));
@@ -408,6 +474,11 @@ function _wp_ajax_add_hierarchical_term() {
 	$x->send();
 }
 
+/**
+ * Ajax handler for deleting a comment.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_delete_comment() {
 	$id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0;
 
@@ -451,6 +522,11 @@ function wp_ajax_delete_comment() {
 	wp_die( 0 );
 }
 
+/**
+ * Ajax handler for deleting a tag.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_delete_tag() {
 	$tag_id = (int) $_POST['tag_ID'];
 	check_ajax_referer( "delete-tag_$tag_id" );
@@ -471,6 +547,11 @@ function wp_ajax_delete_tag() {
 		wp_die( 0 );
 }
 
+/**
+ * Ajax handler for deleting a link.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_delete_link() {
 	$id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0;
 
@@ -488,6 +569,11 @@ function wp_ajax_delete_link() {
 		wp_die( 0 );
 }
 
+/**
+ * Ajax handler for deleting meta.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_delete_meta() {
 	$id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0;
 
@@ -502,6 +588,13 @@ function wp_ajax_delete_meta() {
 	wp_die( 0 );
 }
 
+/**
+ * Ajax handler for deleting a post.
+ *
+ * @since 3.1.0
+ *
+ * @param string $action Action to perform.
+ */
 function wp_ajax_delete_post( $action ) {
 	if ( empty( $action ) )
 		$action = 'delete-post';
@@ -520,6 +613,13 @@ function wp_ajax_delete_post( $action ) {
 		wp_die( 0 );
 }
 
+/**
+ * Ajax handler for sending a post to the trash.
+ *
+ * @since 3.1.0
+ *
+ * @param string $action Action to perform.
+ */
 function wp_ajax_trash_post( $action ) {
 	if ( empty( $action ) )
 		$action = 'trash-post';
@@ -543,6 +643,13 @@ function wp_ajax_trash_post( $action ) {
 	wp_die( 0 );
 }
 
+/**
+ * Ajax handler to restore a post from the trash.
+ *
+ * @since 3.1.0
+ *
+ * @param string $action Action to perform.
+ */
 function wp_ajax_untrash_post( $action ) {
 	if ( empty( $action ) )
 		$action = 'untrash-post';
@@ -567,6 +674,11 @@ function wp_ajax_delete_page( $action ) {
 		wp_die( 0 );
 }
 
+/**
+ * Ajax handler to dim a comment.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_dim_comment() {
 	$id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0;
 
@@ -604,6 +716,13 @@ function wp_ajax_dim_comment() {
 	wp_die( 0 );
 }
 
+/**
+ * Ajax handler for deleting a link category.
+ *
+ * @since 3.1.0
+ *
+ * @param string $action Action to perform.
+ */
 function wp_ajax_add_link_category( $action ) {
 	if ( empty( $action ) )
 		$action = 'add-link-category';
@@ -634,11 +753,15 @@ function wp_ajax_add_link_category( $action ) {
 	$x->send();
 }
 
+/**
+ * Ajax handler to add a tag.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_add_tag() {
 	global $wp_list_table;
 
 	check_ajax_referer( 'add-tag', '_wpnonce_add-tag' );
-	$post_type = !empty($_POST['post_type']) ? $_POST['post_type'] : 'post';
 	$taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag';
 	$tax = get_taxonomy($taxonomy);
 
@@ -687,6 +810,11 @@ function wp_ajax_add_tag() {
 	$x->send();
 }
 
+/**
+ * Ajax handler for getting a tagcloud.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_get_tagcloud() {
 	if ( isset( $_POST['tax'] ) ) {
 		$taxonomy = sanitize_key( $_POST['tax'] );
@@ -723,6 +851,13 @@ function wp_ajax_get_tagcloud() {
 	wp_die();
 }
 
+/**
+ * Ajax handler for getting comments.
+ *
+ * @since 3.1.0
+ *
+ * @param string $action Action to perform.
+ */
 function wp_ajax_get_comments( $action ) {
 	global $wp_list_table, $post_id;
 	if ( empty( $action ) )
@@ -767,8 +902,15 @@ function wp_ajax_get_comments( $action ) {
 	$x->send();
 }
 
+/**
+ * Ajax handler for replying to a comment.
+ *
+ * @since 3.1.0
+ *
+ * @param string $action Action to perform.
+ */
 function wp_ajax_replyto_comment( $action ) {
-	global $wp_list_table, $wpdb;
+	global $wp_list_table;
 	if ( empty( $action ) )
 		$action = 'replyto-comment';
 
@@ -816,7 +958,7 @@ function wp_ajax_replyto_comment( $action ) {
 	$comment_auto_approved = false;
 	$commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'comment_parent', 'user_ID');
 
-	// automatically approve parent comment
+	// Automatically approve parent comment.
 	if ( !empty($_POST['approve_parent']) ) {
 		$parent = get_comment( $comment_parent );
 
@@ -861,6 +1003,11 @@ function wp_ajax_replyto_comment( $action ) {
 	$x->send();
 }
 
+/**
+ * Ajax handler for editing a comment.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_edit_comment() {
 	global $wp_list_table;
 
@@ -878,8 +1025,6 @@ function wp_ajax_edit_comment() {
 	edit_comment();
 
 	$position = ( isset($_POST['position']) && (int) $_POST['position']) ? (int) $_POST['position'] : '-1';
-	$comments_status = isset($_POST['comments_listing']) ? $_POST['comments_listing'] : '';
-
 	$checkbox = ( isset($_POST['checkbox']) && true == $_POST['checkbox'] ) ? 1 : 0;
 	$wp_list_table = _get_list_table( $checkbox ? 'WP_Comments_List_Table' : 'WP_Post_Comments_List_Table', array( 'screen' => 'edit-comments' ) );
 
@@ -903,6 +1048,11 @@ function wp_ajax_edit_comment() {
 	$x->send();
 }
 
+/**
+ * Ajax handler for adding a menu item.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_add_menu_item() {
 	check_ajax_referer( 'add-menu_item', 'menu-settings-column-nonce' );
 
@@ -956,14 +1106,7 @@ function wp_ajax_add_menu_item() {
 		}
 	}
 
-	/**
-	 * Filter the Walker class used when adding nav menu items.
-	 *
-	 * @since 3.4.0
-	 *
-	 * @param string $class   The walker class to use. Default 'Walker_Nav_Menu_Edit'.
-	 * @param int    $menu_id The menu id, derived from $_POST['menu'].
-	 */
+	/** This filter is documented in wp-admin/includes/nav-menu.php */
 	$walker_class_name = apply_filters( 'wp_edit_nav_menu_walker', 'Walker_Nav_Menu_Edit', $_POST['menu'] );
 
 	if ( ! class_exists( $walker_class_name ) )
@@ -982,6 +1125,11 @@ function wp_ajax_add_menu_item() {
 	wp_die();
 }
 
+/**
+ * Ajax handler for adding meta.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_add_meta() {
 	check_ajax_referer( 'add-meta', '_ajax_nonce-add-meta' );
 	$c = 0;
@@ -1065,6 +1213,13 @@ function wp_ajax_add_meta() {
 	$x->send();
 }
 
+/**
+ * Ajax handler for adding a user.
+ *
+ * @since 3.1.0
+ *
+ * @param string $action Action to perform.
+ */
 function wp_ajax_add_user( $action ) {
 	global $wp_list_table;
 	if ( empty( $action ) )
@@ -1100,6 +1255,11 @@ function wp_ajax_add_user( $action ) {
 	$x->send();
 }
 
+/**
+ * Ajax handler for closed post boxes.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_closed_postboxes() {
 	check_ajax_referer( 'closedpostboxes', 'closedpostboxesnonce' );
 	$closed = isset( $_POST['closed'] ) ? explode( ',', $_POST['closed']) : array();
@@ -1127,10 +1287,14 @@ function wp_ajax_closed_postboxes() {
 	wp_die( 1 );
 }
 
+/**
+ * Ajax handler for hidden columns.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_hidden_columns() {
 	check_ajax_referer( 'screen-options-nonce', 'screenoptionnonce' );
-	$hidden = isset( $_POST['hidden'] ) ? $_POST['hidden'] : '';
-	$hidden = explode( ',', $_POST['hidden'] );
+	$hidden = explode( ',', isset( $_POST['hidden'] ) ? $_POST['hidden'] : '' );
 	$page = isset( $_POST['page'] ) ? $_POST['page'] : '';
 
 	if ( $page != sanitize_key( $page ) )
@@ -1145,6 +1309,11 @@ function wp_ajax_hidden_columns() {
 	wp_die( 1 );
 }
 
+/**
+ * Ajax handler for updating whether to display the welcome panel.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_update_welcome_panel() {
 	check_ajax_referer( 'welcome-panel-nonce', 'welcomepanelnonce' );
 
@@ -1156,6 +1325,11 @@ function wp_ajax_update_welcome_panel() {
 	wp_die( 1 );
 }
 
+/**
+ * Ajax handler for retrieving menu meta boxes.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_menu_get_metabox() {
 	if ( ! current_user_can( 'edit_theme_options' ) )
 		wp_die( -1 );
@@ -1174,14 +1348,8 @@ function wp_ajax_menu_get_metabox() {
 
 	if ( ! empty( $_POST['item-object'] ) && isset( $items[$_POST['item-object']] ) ) {
 		$menus_meta_box_object = $items[ $_POST['item-object'] ];
-		/**
-		 * Filter a nav menu meta box object.
-		 *
-		 * @since 3.0.0
-		 *
-		 * @param object $menus_meta_box_object A nav menu meta box object, such as Page,
-		 *                                      Post, Category, Tag, etc.
-		 */
+
+		/** This filter is documented in wp-admin/includes/nav-menu.php */
 		$item = apply_filters( 'nav_menu_meta_box_object', $menus_meta_box_object );
 		ob_start();
 		call_user_func_array($callback, array(
@@ -1205,6 +1373,11 @@ function wp_ajax_menu_get_metabox() {
 	wp_die();
 }
 
+/**
+ * Ajax handler for internal linking.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_wp_link_ajax() {
 	check_ajax_referer( 'internal-linking', '_ajax_linking_nonce' );
 
@@ -1226,6 +1399,11 @@ function wp_ajax_wp_link_ajax() {
 	wp_die();
 }
 
+/**
+ * Ajax handler for menu locations save.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_menu_locations_save() {
 	if ( ! current_user_can( 'edit_theme_options' ) )
 		wp_die( -1 );
@@ -1236,6 +1414,11 @@ function wp_ajax_menu_locations_save() {
 	wp_die( 1 );
 }
 
+/**
+ * Ajax handler for saving the meta box order.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_meta_box_order() {
 	check_ajax_referer( 'meta-box-order' );
 	$order = isset( $_POST['order'] ) ? (array) $_POST['order'] : false;
@@ -1261,6 +1444,11 @@ function wp_ajax_meta_box_order() {
 	wp_die( 1 );
 }
 
+/**
+ * Ajax handler for menu quick searching.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_menu_quick_search() {
 	if ( ! current_user_can( 'edit_theme_options' ) )
 		wp_die( -1 );
@@ -1272,12 +1460,22 @@ function wp_ajax_menu_quick_search() {
 	wp_die();
 }
 
+/**
+ * Ajax handler to retrieve a permalink.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_get_permalink() {
 	check_ajax_referer( 'getpermalink', 'getpermalinknonce' );
 	$post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0;
 	wp_die( add_query_arg( array( 'preview' => 'true' ), get_permalink( $post_id ) ) );
 }
 
+/**
+ * Ajax handler to retrieve a sample permalink.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_sample_permalink() {
 	check_ajax_referer( 'samplepermalink', 'samplepermalinknonce' );
 	$post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0;
@@ -1286,6 +1484,11 @@ function wp_ajax_sample_permalink() {
 	wp_die( get_sample_permalink_html( $post_id, $title, $slug ) );
 }
 
+/**
+ * Ajax handler for quick edit saving for a post.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_inline_save() {
 	global $wp_list_table;
 
@@ -1312,18 +1515,20 @@ function wp_ajax_inline_save() {
 	$data = &$_POST;
 
 	$post = get_post( $post_ID, ARRAY_A );
-	$post = wp_slash($post); //since it is from db
+
+	// Since it's coming from the database.
+	$post = wp_slash($post);
 
 	$data['content'] = $post['post_content'];
 	$data['excerpt'] = $post['post_excerpt'];
 
-	// rename
+	// Rename.
 	$data['user_ID'] = get_current_user_id();
 
 	if ( isset($data['post_parent']) )
 		$data['parent_id'] = $data['post_parent'];
 
-	// status
+	// Status.
 	if ( isset($data['keep_private']) && 'private' == $data['keep_private'] )
 		$data['post_status'] = 'private';
 	else
@@ -1340,13 +1545,11 @@ function wp_ajax_inline_save() {
 		$data['post_name'] = wp_unique_post_slug( $data['post_name'], $post['ID'], $post['post_status'], $post['post_type'], $post['post_parent'] );
 	}
 
-	// update the post
+	// Update the post.
 	edit_post();
 
 	$wp_list_table = _get_list_table( 'WP_Posts_List_Table', array( 'screen' => $_POST['screen'] ) );
 
-	$mode = $_POST['post_view'];
-
 	$level = 0;
 	$request_post = array( get_post( $_POST['post_ID'] ) );
 	$parent = $request_post[0]->post_parent;
@@ -1362,6 +1565,11 @@ function wp_ajax_inline_save() {
 	wp_die();
 }
 
+/**
+ * Ajax handler for quick edit saving for a term.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_inline_save_tax() {
 	global $wp_list_table;
 
@@ -1407,16 +1615,18 @@ function wp_ajax_inline_save_tax() {
 	wp_die();
 }
 
+/**
+ * Ajax handler for finding posts.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_find_posts() {
-	global $wpdb;
-
 	check_ajax_referer( 'find-posts' );
 
 	$post_types = get_post_types( array( 'public' => true ), 'objects' );
 	unset( $post_types['attachment'] );
 
 	$s = wp_unslash( $_POST['ps'] );
-	$searchand = $search = '';
 	$args = array(
 		'post_type' => array_keys( $post_types ),
 		'post_status' => 'any',
@@ -1427,8 +1637,9 @@ function wp_ajax_find_posts() {
 
 	$posts = get_posts( $args );
 
-	if ( ! $posts )
-		wp_die( __('No items found.') );
+	if ( ! $posts ) {
+		wp_send_json_error( __( 'No items found.' ) );
+	}
 
 	$html = '<table class="widefat"><thead><tr><th class="found-radio"><br /></th><th>'.__('Title').'</th><th class="no-break">'.__('Type').'</th><th class="no-break">'.__('Date').'</th><th class="no-break">'.__('Status').'</th></tr></thead><tbody>';
 	$alt = '';
@@ -1468,6 +1679,11 @@ function wp_ajax_find_posts() {
 	wp_send_json_success( $html );
 }
 
+/**
+ * Ajax handler for saving the widgets order.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_widgets_order() {
 	check_ajax_referer( 'save-sidebar-widgets', 'savewidgets' );
 
@@ -1476,7 +1692,7 @@ function wp_ajax_widgets_order() {
 
 	unset( $_POST['savewidgets'], $_POST['action'] );
 
-	// save widgets order for all sidebars
+	// Save widgets order for all sidebars.
 	if ( is_array($_POST['sidebars']) ) {
 		$sidebars = array();
 		foreach ( $_POST['sidebars'] as $key => $val ) {
@@ -1499,6 +1715,11 @@ function wp_ajax_widgets_order() {
 	wp_die( -1 );
 }
 
+/**
+ * Ajax handler for saving a widget.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_save_widget() {
 	global $wp_registered_widgets, $wp_registered_widget_controls, $wp_registered_widget_updates;
 
@@ -1536,7 +1757,7 @@ function wp_ajax_save_widget() {
 	$sidebars = wp_get_sidebars_widgets();
 	$sidebar = isset($sidebars[$sidebar_id]) ? $sidebars[$sidebar_id] : array();
 
-	// delete
+	// Delete.
 	if ( isset($_POST['delete_widget']) && $_POST['delete_widget'] ) {
 
 		if ( !isset($wp_registered_widgets[$widget_id]) )
@@ -1583,11 +1804,21 @@ function wp_ajax_save_widget() {
 	wp_die();
 }
 
+/**
+ * Ajax handler for saving a widget.
+ *
+ * @since 3.9.0
+ */
 function wp_ajax_update_widget() {
 	global $wp_customize;
 	$wp_customize->widgets->wp_ajax_update_widget();
 }
 
+/**
+ * Ajax handler for uploading attachments
+ *
+ * @since 3.3.0
+ */
 function wp_ajax_upload_attachment() {
 	check_ajax_referer( 'media-form' );
 
@@ -1653,6 +1884,11 @@ function wp_ajax_upload_attachment() {
 	wp_die();
 }
 
+/**
+ * Ajax handler for image editing.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_image_editor() {
 	$attachment_id = intval($_POST['postid']);
 	if ( empty($attachment_id) || !current_user_can('edit_post', $attachment_id) )
@@ -1680,6 +1916,11 @@ function wp_ajax_image_editor() {
 	wp_die();
 }
 
+/**
+ * Ajax handler for setting the featured image.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_set_post_thumbnail() {
 	$json = ! empty( $_REQUEST['json'] ); // New-style request
 
@@ -1711,27 +1952,88 @@ function wp_ajax_set_post_thumbnail() {
 	wp_die( 0 );
 }
 
+/**
+ * AJAX handler for setting the featured image for an attachment.
+ *
+ * @since 4.0.0
+ *
+ * @see set_post_thumbnail()
+ */
+function wp_ajax_set_attachment_thumbnail() {
+	if ( empty( $_POST['urls'] ) || ! is_array( $_POST['urls'] ) ) {
+		wp_send_json_error();
+	}
+
+	$thumbnail_id = (int) $_POST['thumbnail_id'];
+	if ( empty( $thumbnail_id ) ) {
+		wp_send_json_error();
+	}
+
+	$post_ids = array();
+	// For each URL, try to find its corresponding post ID.
+	foreach ( $_POST['urls'] as $url ) {
+		$post_id = attachment_url_to_postid( $url );
+		if ( ! empty( $post_id ) ) {
+			$post_ids[] = $post_id;
+		}
+	}
+
+	if ( empty( $post_ids ) ) {
+		wp_send_json_error();
+	}
+
+	$success = 0;
+	// For each found attachment, set its thumbnail.
+	foreach ( $post_ids as $post_id ) {
+		if ( ! current_user_can( 'edit_post', $post_id ) ) {
+			continue;
+		}
+
+		if ( set_post_thumbnail( $post_id, $thumbnail_id ) ) {
+			$success++;
+		}
+	}
+
+	if ( 0 === $success ) {
+		wp_send_json_error();
+	} else {
+		wp_send_json_success();
+	}
+
+	wp_send_json_error();
+}
+
+/**
+ * Ajax handler for date formatting.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_date_format() {
 	wp_die( date_i18n( sanitize_option( 'date_format', wp_unslash( $_POST['date'] ) ) ) );
 }
 
+/**
+ * Ajax handler for time formatting.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_time_format() {
 	wp_die( date_i18n( sanitize_option( 'time_format', wp_unslash( $_POST['date'] ) ) ) );
 }
 
+/**
+ * Ajax handler for saving posts from the fullscreen editor.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_wp_fullscreen_save_post() {
 	$post_id = isset( $_POST['post_ID'] ) ? (int) $_POST['post_ID'] : 0;
 
-	$post = $post_type = null;
+	$post = null;
 
 	if ( $post_id )
 		$post = get_post( $post_id );
 
-	if ( $post )
-		$post_type = $post->post_type;
-	elseif ( isset( $_POST['post_type'] ) && post_type_exists( $_POST['post_type'] ) )
-		$post_type = $_POST['post_type'];
-
 	check_ajax_referer('update-post_' . $post_id, '_wpnonce');
 
 	$post_id = edit_post();
@@ -1758,6 +2060,11 @@ function wp_ajax_wp_fullscreen_save_post() {
 	wp_send_json_success( array( 'last_edited' => $last_edited ) );
 }
 
+/**
+ * Ajax handler for removing a post lock.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_wp_remove_post_lock() {
 	if ( empty( $_POST['post_ID'] ) || empty( $_POST['active_post_lock'] ) )
 		wp_die( 0 );
@@ -1787,6 +2094,11 @@ function wp_ajax_wp_remove_post_lock() {
 	wp_die( 1 );
 }
 
+/**
+ * Ajax handler for dismissing a WordPress pointer.
+ *
+ * @since 3.1.0
+ */
 function wp_ajax_dismiss_wp_pointer() {
 	$pointer = $_POST['pointer'];
 	if ( $pointer != sanitize_key( $pointer ) )
@@ -1807,7 +2119,7 @@ function wp_ajax_dismiss_wp_pointer() {
 }
 
 /**
- * Get an attachment.
+ * Ajax handler for getting an attachment.
  *
  * @since 3.5.0
  */
@@ -1834,7 +2146,7 @@ function wp_ajax_get_attachment() {
 }
 
 /**
- * Query for attachments.
+ * Ajax handler for querying for attachments.
  *
  * @since 3.5.0
  */
@@ -1845,11 +2157,18 @@ function wp_ajax_query_attachments() {
 	$query = isset( $_REQUEST['query'] ) ? (array) $_REQUEST['query'] : array();
 	$query = array_intersect_key( $query, array_flip( array(
 		's', 'order', 'orderby', 'posts_per_page', 'paged', 'post_mime_type',
-		'post_parent', 'post__in', 'post__not_in',
+		'post_parent', 'post__in', 'post__not_in', 'year', 'monthnum'
 	) ) );
 
 	$query['post_type'] = 'attachment';
-	$query['post_status'] = 'inherit';
+	if ( MEDIA_TRASH
+		&& ! empty( $_REQUEST['query']['post_status'] )
+		&& 'trash' === $_REQUEST['query']['post_status'] ) {
+		$query['post_status'] = 'trash';
+	} else {
+		$query['post_status'] = 'inherit';
+	}
+
 	if ( current_user_can( get_post_type_object( 'attachment' )->cap->read_private_posts ) )
 		$query['post_status'] .= ',private';
 
@@ -1873,7 +2192,7 @@ function wp_ajax_query_attachments() {
 }
 
 /**
- * Save attachment attributes.
+ * Ajax handler for saving attachment attributes.
  *
  * @since 3.5.0
  */
@@ -1904,6 +2223,9 @@ function wp_ajax_save_attachment() {
 	if ( isset( $changes['description'] ) )
 		$post['post_content'] = $changes['description'];
 
+	if ( MEDIA_TRASH && isset( $changes['status'] ) )
+		$post['post_status'] = $changes['status'];
+
 	if ( isset( $changes['alt'] ) ) {
 		$alt = wp_unslash( $changes['alt'] );
 		if ( $alt != get_post_meta( $id, '_wp_attachment_image_alt', true ) ) {
@@ -1912,12 +2234,36 @@ function wp_ajax_save_attachment() {
 		}
 	}
 
-	wp_update_post( $post );
+	if ( 0 === strpos( $post['post_mime_type'], 'audio/' ) ) {
+		$changed = false;
+		$id3data = wp_get_attachment_metadata( $post['ID'] );
+		if ( ! is_array( $id3data ) ) {
+			$changed = true;
+			$id3data = array();
+		}
+		foreach ( wp_get_attachment_id3_keys( (object) $post, 'edit' ) as $key => $label ) {
+			if ( isset( $changes[ $key ] ) ) {
+				$changed = true;
+				$id3data[ $key ] = sanitize_text_field( wp_unslash( $changes[ $key ] ) );
+			}
+		}
+
+		if ( $changed ) {
+			wp_update_attachment_metadata( $id, $id3data );
+		}
+	}
+
+	if ( MEDIA_TRASH && isset( $changes['status'] ) && 'trash' === $changes['status'] ) {
+		wp_delete_post( $id );
+	} else {
+		wp_update_post( $post );
+	}
+
 	wp_send_json_success();
 }
 
 /**
- * Save backwards compatible attachment attributes.
+ * Ajax handler for saving backwards compatible attachment attributes.
  *
  * @since 3.5.0
  */
@@ -1963,6 +2309,11 @@ function wp_ajax_save_attachment_compat() {
 	wp_send_json_success( $attachment );
 }
 
+/**
+ * Ajax handler for saving the attachment order.
+ *
+ * @since 3.5.0
+ */
 function wp_ajax_save_attachment_order() {
 	if ( ! isset( $_REQUEST['post_id'] ) )
 		wp_send_json_error();
@@ -1980,8 +2331,6 @@ function wp_ajax_save_attachment_order() {
 	if ( ! current_user_can( 'edit_post', $post_id ) )
 		wp_send_json_error();
 
-	$post = get_post( $post_id, ARRAY_A );
-
 	foreach ( $attachments as $attachment_id => $menu_order ) {
 		if ( ! current_user_can( 'edit_post', $attachment_id ) )
 			continue;
@@ -1997,9 +2346,11 @@ function wp_ajax_save_attachment_order() {
 }
 
 /**
+ * Ajax handler for sending an attachment to the editor.
+ *
  * Generates the HTML to send an attachment to the editor.
- * Backwards compatible with the media_send_to_editor filter and the chain
- * of filters that follow.
+ * Backwards compatible with the media_send_to_editor filter
+ * and the chain of filters that follow.
  *
  * @since 3.5.0
  */
@@ -2024,7 +2375,7 @@ function wp_ajax_send_attachment_to_editor() {
 	}
 
 	$rel = $url = '';
-	$html = $title = isset( $attachment['post_title'] ) ? $attachment['post_title'] : '';
+	$html = isset( $attachment['post_title'] ) ? $attachment['post_title'] : '';
 	if ( ! empty( $attachment['url'] ) ) {
 		$url = $attachment['url'];
 		if ( strpos( $url, 'attachment_id') || get_attachment_link( $id ) == $url )
@@ -2052,6 +2403,8 @@ function wp_ajax_send_attachment_to_editor() {
 }
 
 /**
+ * Ajax handler for sending a link to the editor.
+ *
  * Generates the HTML to send a non-image embed link to the editor.
  *
  * Backwards compatible with the following filters:
@@ -2062,6 +2415,8 @@ function wp_ajax_send_attachment_to_editor() {
  * @since 3.5.0
  */
 function wp_ajax_send_link_to_editor() {
+	global $post, $wp_embed;
+
 	check_ajax_referer( 'media-send-to-editor', 'nonce' );
 
 	if ( ! $src = wp_unslash( $_POST['src'] ) )
@@ -2076,9 +2431,22 @@ function wp_ajax_send_link_to_editor() {
 	if ( ! $title = trim( wp_unslash( $_POST['title'] ) ) )
 		$title = wp_basename( $src );
 
-	$html = '';
-	if ( $title )
+	$post = get_post( isset( $_POST['post_id'] ) ? $_POST['post_id'] : 0 );
+
+	// Ping WordPress for an embed.
+	$check_embed = $wp_embed->run_shortcode( '[embed]'. $src .'[/embed]' );
+
+	// Fallback that WordPress creates when no oEmbed was found.
+	$fallback = $wp_embed->maybe_make_link( $src );
+
+	if ( $check_embed !== $fallback ) {
+		// TinyMCE view for [embed] will parse this
+		$html = '[embed]' . $src . '[/embed]';
+	} elseif ( $title ) {
 		$html = '<a href="' . esc_url( $src ) . '">' . $title . '</a>';
+	} else {
+		$html = '';
+	}
 
 	// Figure out what filter to run:
 	$type = 'file';
@@ -2093,9 +2461,11 @@ function wp_ajax_send_link_to_editor() {
 }
 
 /**
- * Heartbeat API (experimental)
+ * Ajax handler for the Heartbeat API.
  *
  * Runs when the user is logged in.
+ *
+ * @since 3.6.0
  */
 function wp_ajax_heartbeat() {
 	if ( empty( $_POST['_nonce'] ) )
@@ -2109,7 +2479,7 @@ function wp_ajax_heartbeat() {
 		wp_send_json($response);
 	}
 
-	// screen_id is the same as $current_screen->id and the JS global 'pagenow'
+	// screen_id is the same as $current_screen->id and the JS global 'pagenow'.
 	if ( ! empty($_POST['screen_id']) )
 		$screen_id = sanitize_key($_POST['screen_id']);
 	else
@@ -2158,6 +2528,11 @@ function wp_ajax_heartbeat() {
 	wp_send_json($response);
 }
 
+/**
+ * Ajax handler for getting revision diffs.
+ *
+ * @since 3.6.0
+ */
 function wp_ajax_get_revision_diffs() {
 	require ABSPATH . 'wp-admin/includes/revision.php';
 
@@ -2186,9 +2561,10 @@ function wp_ajax_get_revision_diffs() {
 }
 
 /**
- * Auto-save the selected color scheme for a user's own profile.
+ * Ajax handler for auto-saving the selected color scheme for
+ * a user's own profile.
  *
- * @since  3.8.0
+ * @since 3.8.0
  */
 function wp_ajax_save_user_color_scheme() {
 	global $_wp_admin_css_colors;
@@ -2206,7 +2582,7 @@ function wp_ajax_save_user_color_scheme() {
 }
 
 /**
- * Get themes from themes_api().
+ * Ajax handler for getting themes from themes_api().
  *
  * @since 3.9.0
  */
@@ -2245,7 +2621,141 @@ function wp_ajax_query_themes() {
 		$theme->version     = wp_kses( $theme->version, $themes_allowedtags );
 		$theme->description = wp_kses( $theme->description, $themes_allowedtags );
 		$theme->num_ratings = sprintf( _n( '(based on %s rating)', '(based on %s ratings)', $theme->num_ratings ), number_format_i18n( $theme->num_ratings ) );
+		$theme->preview_url = set_url_scheme( $theme->preview_url );
 	}
 
 	wp_send_json_success( $api );
 }
+
+/**
+ * Apply [embed] AJAX handlers to a string.
+ *
+ * @since 4.0.0
+ *
+ * @global WP_Post  $post     Global $post.
+ * @global WP_Embed $wp_embed Embed API instance.
+ */
+function wp_ajax_parse_embed() {
+	global $post, $wp_embed;
+
+	if ( ! $post = get_post( (int) $_POST['post_ID'] ) ) {
+		wp_send_json_error();
+	}
+
+	if ( empty( $_POST['shortcode'] ) || ! current_user_can( 'edit_post', $post->ID ) ) {
+		wp_send_json_error();
+	}
+
+	$shortcode = wp_unslash( $_POST['shortcode'] );
+	$url = str_replace( '[embed]', '', str_replace( '[/embed]', '', $shortcode ) );
+	$parsed = false;
+	setup_postdata( $post );
+
+	$wp_embed->return_false_on_fail = true;
+
+	if ( is_ssl() && preg_match( '%^\\[embed[^\\]]*\\]http://%i', $shortcode ) ) {
+		// Admin is ssl and the user pasted non-ssl URL.
+		// Check if the provider supports ssl embeds and use that for the preview.
+		$ssl_shortcode = preg_replace( '%^(\\[embed[^\\]]*\\])http://%i', '$1https://', $shortcode );
+		$parsed = $wp_embed->run_shortcode( $ssl_shortcode );
+
+		if ( ! $parsed ) {
+			$no_ssl_support = true;
+		}
+	}
+
+	if ( ! $parsed ) {
+		$parsed = $wp_embed->run_shortcode( $shortcode );
+	}
+
+	if ( ! $parsed ) {
+		wp_send_json_error( array(
+			'type' => 'not-embeddable',
+			'message' => sprintf( __( '%s failed to embed.' ), '<code>' . esc_html( $url ) . '</code>' ),
+		) );
+	}
+
+	if ( has_shortcode( $parsed, 'audio' ) || has_shortcode( $parsed, 'video' ) ) {
+		$styles = '';
+		$mce_styles = wpview_media_sandbox_styles();
+		foreach ( $mce_styles as $style ) {
+			$styles .= sprintf( '<link rel="stylesheet" href="%s"/>', $style );
+		}
+
+		$html = do_shortcode( $parsed );
+
+		global $wp_scripts;
+		if ( ! empty( $wp_scripts ) ) {
+			$wp_scripts->done = array();
+		}
+		ob_start();
+		wp_print_scripts( 'wp-mediaelement' );
+		$scripts = ob_get_clean();
+
+		$parsed = $styles . $html . $scripts;
+	}
+
+
+	if ( ! empty( $no_ssl_support ) || ( is_ssl() && ( preg_match( '%<(iframe|script|embed) [^>]*src="http://%', $parsed ) ||
+		preg_match( '%<link [^>]*href="http://%', $parsed ) ) ) ) {
+		// Admin is ssl and the embed is not. Iframes, scripts, and other "active content" will be blocked.
+		wp_send_json_error( array(
+			'type' => 'not-ssl',
+			'message' => sprintf( __( 'Preview not available. %s cannot be embedded securely.' ), '<code>' . esc_html( $url ) . '</code>' ),
+		) );
+	}
+
+	wp_send_json_success( array(
+		'body' => $parsed
+	) );
+}
+
+function wp_ajax_parse_media_shortcode() {
+	global $post, $wp_scripts;
+
+	if ( ! $post = get_post( (int) $_POST['post_ID'] ) ) {
+		wp_send_json_error();
+	}
+
+	if ( empty( $_POST['shortcode'] ) || ! current_user_can( 'edit_post', $post->ID ) ) {
+		wp_send_json_error();
+	}
+
+	setup_postdata( $post );
+	$shortcode = do_shortcode( wp_unslash( $_POST['shortcode'] ) );
+
+	if ( empty( $shortcode ) ) {
+		wp_send_json_error( array(
+			'type' => 'no-items',
+			'message' => __( 'No items found.' ),
+		) );
+	}
+
+	$head = '';
+	$styles = wpview_media_sandbox_styles();
+
+	foreach ( $styles as $style ) {
+		$head .= '<link type="text/css" rel="stylesheet" href="' . $style . '">';
+	}
+
+	if ( ! empty( $wp_scripts ) ) {
+		$wp_scripts->done = array();
+	}
+
+	ob_start();
+
+	echo $shortcode;
+
+	if ( 'playlist' === $_REQUEST['type'] ) {
+		wp_underscore_playlist_templates();
+
+		wp_print_scripts( 'wp-playlist' );
+	} else {
+		wp_print_scripts( 'wp-mediaelement' );
+	}
+
+	wp_send_json_success( array(
+		'head' => $head,
+		'body' => ob_get_clean()
+	) );
+}
diff --git a/wp-admin/includes/bookmark.php b/wp-admin/includes/bookmark.php
index 337859641..43ccd418c 100644
--- a/wp-admin/includes/bookmark.php
+++ b/wp-admin/includes/bookmark.php
@@ -146,15 +146,17 @@ function wp_insert_link( $linkdata, $wp_error = false ) {
 
 	$defaults = array( 'link_id' => 0, 'link_name' => '', 'link_url' => '', 'link_rating' => 0 );
 
-	$linkdata = wp_parse_args( $linkdata, $defaults );
-	$linkdata = sanitize_bookmark( $linkdata, 'db' );
+	$args = wp_parse_args( $linkdata, $defaults );
+	$r = wp_unslash( sanitize_bookmark( $args, 'db' ) );
 
-	extract( wp_unslash( $linkdata ), EXTR_SKIP );
+	$link_id   = $r['link_id'];
+	$link_name = $r['link_name'];
+	$link_url  = $r['link_url'];
 
 	$update = false;
-
-	if ( !empty( $link_id ) )
+	if ( ! empty( $link_id ) ) {
 		$update = true;
+	}
 
 	if ( trim( $link_name ) == '' ) {
 		if ( trim( $link_url ) != '' ) {
@@ -164,54 +166,41 @@ function wp_insert_link( $linkdata, $wp_error = false ) {
 		}
 	}
 
-	if ( trim( $link_url ) == '' )
+	if ( trim( $link_url ) == '' ) {
 		return 0;
+	}
 
-	if ( empty( $link_rating ) )
-		$link_rating = 0;
-
-	if ( empty( $link_image ) )
-		$link_image = '';
-
-	if ( empty( $link_target ) )
-		$link_target = '';
-
-	if ( empty( $link_visible ) )
-		$link_visible = 'Y';
-
-	if ( empty( $link_owner ) )
-		$link_owner = get_current_user_id();
-
-	if ( empty( $link_notes ) )
-		$link_notes = '';
-
-	if ( empty( $link_description ) )
-		$link_description = '';
-
-	if ( empty( $link_rss ) )
-		$link_rss = '';
-
-	if ( empty( $link_rel ) )
-		$link_rel = '';
+	$link_rating      = ( ! empty( $r['link_rating'] ) ) ? $r['link_rating'] : 0;
+	$link_image       = ( ! empty( $r['link_image'] ) ) ? $r['link_image'] : '';
+	$link_target      = ( ! empty( $r['link_target'] ) ) ? $r['link_target'] : '';
+	$link_visible     = ( ! empty( $r['link_visible'] ) ) ? $r['link_visible'] : 'Y';
+	$link_owner       = ( ! empty( $r['link_owner'] ) ) ? $r['link_owner'] : get_current_user_id();
+	$link_notes       = ( ! empty( $r['link_notes'] ) ) ? $r['link_notes'] : '';
+	$link_description = ( ! empty( $r['link_description'] ) ) ? $r['link_description'] : '';
+	$link_rss         = ( ! empty( $r['link_rss'] ) ) ? $r['link_rss'] : '';
+	$link_rel         = ( ! empty( $r['link_rel'] ) ) ? $r['link_rel'] : '';
+	$link_category    = ( ! empty( $r['link_category'] ) ) ? $r['link_category'] : array();
 
 	// Make sure we set a valid category
-	if ( ! isset( $link_category ) || 0 == count( $link_category ) || !is_array( $link_category ) ) {
+	if ( ! is_array( $link_category ) || 0 == count( $link_category ) ) {
 		$link_category = array( get_option( 'default_link_category' ) );
 	}
 
 	if ( $update ) {
-		if ( false === $wpdb->update( $wpdb->links, compact('link_url', 'link_name', 'link_image', 'link_target', 'link_description', 'link_visible', 'link_rating', 'link_rel', 'link_notes', 'link_rss'), compact('link_id') ) ) {
-			if ( $wp_error )
+		if ( false === $wpdb->update( $wpdb->links, compact( 'link_url', 'link_name', 'link_image', 'link_target', 'link_description', 'link_visible', 'link_rating', 'link_rel', 'link_notes', 'link_rss' ), compact( 'link_id' ) ) ) {
+			if ( $wp_error ) {
 				return new WP_Error( 'db_update_error', __( 'Could not update link in the database' ), $wpdb->last_error );
-			else
+			} else {
 				return 0;
+			}
 		}
 	} else {
-		if ( false === $wpdb->insert( $wpdb->links, compact('link_url', 'link_name', 'link_image', 'link_target', 'link_description', 'link_visible', 'link_owner', 'link_rating', 'link_rel', 'link_notes', 'link_rss') ) ) {
-			if ( $wp_error )
+		if ( false === $wpdb->insert( $wpdb->links, compact( 'link_url', 'link_name', 'link_image', 'link_target', 'link_description', 'link_visible', 'link_owner', 'link_rating', 'link_rel', 'link_notes', 'link_rss' ) ) ) {
+			if ( $wp_error ) {
 				return new WP_Error( 'db_insert_error', __( 'Could not insert link into the database' ), $wpdb->last_error );
-			else
+			} else {
 				return 0;
+			}
 		}
 		$link_id = (int) $wpdb->insert_id;
 	}
diff --git a/wp-admin/includes/class-wp-comments-list-table.php b/wp-admin/includes/class-wp-comments-list-table.php
index c489efee7..5803b1dca 100644
--- a/wp-admin/includes/class-wp-comments-list-table.php
+++ b/wp-admin/includes/class-wp-comments-list-table.php
@@ -17,11 +17,21 @@
  */
 class WP_Comments_List_Table extends WP_List_Table {
 
-	var $checkbox = true;
-
-	var $pending_count = array();
-
-	function __construct( $args = array() ) {
+	public $checkbox = true;
+
+	public $pending_count = array();
+
+	/**
+	 * Constructor.
+	 *
+	 * @since 3.1.0
+	 * @access public
+	 *
+	 * @see WP_List_Table::__construct() for more information on default arguments.
+	 *
+	 * @param array $args An associative array of arguments.
+	 */
+	public function __construct( $args = array() ) {
 		global $post_id;
 
 		$post_id = isset( $_REQUEST['p'] ) ? absint( $_REQUEST['p'] ) : 0;
@@ -37,11 +47,11 @@ class WP_Comments_List_Table extends WP_List_Table {
 		) );
 	}
 
-	function ajax_user_can() {
+	public function ajax_user_can() {
 		return current_user_can('edit_posts');
 	}
 
-	function prepare_items() {
+	public function prepare_items() {
 		global $post_id, $comment_status, $search, $comment_type;
 
 		$comment_status = isset( $_REQUEST['comment_status'] ) ? $_REQUEST['comment_status'] : 'all';
@@ -125,7 +135,7 @@ class WP_Comments_List_Table extends WP_List_Table {
 		) );
 	}
 
-	function get_per_page( $comment_status = 'all' ) {
+	public function get_per_page( $comment_status = 'all' ) {
 		$comments_per_page = $this->get_items_per_page( 'edit_comments_per_page' );
 		/**
 		 * Filter the number of comments listed per page in the comments list table.
@@ -139,7 +149,7 @@ class WP_Comments_List_Table extends WP_List_Table {
 		return $comments_per_page;
 	}
 
-	function no_items() {
+	public function no_items() {
 		global $comment_status;
 
 		if ( 'moderated' == $comment_status )
@@ -148,7 +158,7 @@ class WP_Comments_List_Table extends WP_List_Table {
 			_e( 'No comments found.' );
 	}
 
-	function get_views() {
+	protected function get_views() {
 		global $post_id, $comment_status, $comment_type;
 
 		$status_links = array();
@@ -201,7 +211,7 @@ class WP_Comments_List_Table extends WP_List_Table {
 		return $status_links;
 	}
 
-	function get_bulk_actions() {
+	protected function get_bulk_actions() {
 		global $comment_status;
 
 		$actions = array();
@@ -209,7 +219,7 @@ class WP_Comments_List_Table extends WP_List_Table {
 			$actions['unapprove'] = __( 'Unapprove' );
 		if ( in_array( $comment_status, array( 'all', 'moderated' ) ) )
 			$actions['approve'] = __( 'Approve' );
-		if ( in_array( $comment_status, array( 'all', 'moderated', 'approved' ) ) )
+		if ( in_array( $comment_status, array( 'all', 'moderated', 'approved', 'trash' ) ) )
 			$actions['spam'] = _x( 'Mark as Spam', 'comment' );
 
 		if ( 'trash' == $comment_status )
@@ -225,7 +235,7 @@ class WP_Comments_List_Table extends WP_List_Table {
 		return $actions;
 	}
 
-	function extra_tablenav( $which ) {
+	protected function extra_tablenav( $which ) {
 		global $comment_status, $comment_type;
 ?>
 		<div class="alignleft actions">
@@ -248,7 +258,7 @@ class WP_Comments_List_Table extends WP_List_Table {
 				) );
 
 				foreach ( $comment_types as $type => $label )
-					echo "\t<option value='" . esc_attr( $type ) . "'" . selected( $comment_type, $type, false ) . ">$label</option>\n";
+					echo "\t" . '<option value="' . esc_attr( $type ) . '"' . selected( $comment_type, $type, false ) . ">$label</option>\n";
 			?>
 			</select>
 <?php
@@ -258,7 +268,7 @@ class WP_Comments_List_Table extends WP_List_Table {
 			 * @since 3.5.0
 			 */
 			do_action( 'restrict_manage_comments' );
-			submit_button( __( 'Filter' ), 'button', false, false, array( 'id' => 'post-query-submit' ) );
+			submit_button( __( 'Filter' ), 'button', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
 		}
 
 		if ( ( 'spam' == $comment_status || 'trash' == $comment_status ) && current_user_can( 'moderate_comments' ) ) {
@@ -277,14 +287,14 @@ class WP_Comments_List_Table extends WP_List_Table {
 		echo '</div>';
 	}
 
-	function current_action() {
+	public function current_action() {
 		if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) )
 			return 'delete_all';
 
 		return parent::current_action();
 	}
 
-	function get_columns() {
+	public function get_columns() {
 		global $post_id;
 
 		$columns = array();
@@ -301,16 +311,14 @@ class WP_Comments_List_Table extends WP_List_Table {
 		return $columns;
 	}
 
-	function get_sortable_columns() {
+	protected function get_sortable_columns() {
 		return array(
 			'author'   => 'comment_author',
 			'response' => 'comment_post_ID'
 		);
 	}
 
-	function display() {
-		extract( $this->_args );
-
+	public function display() {
 		wp_nonce_field( "fetch-list-" . get_class( $this ), '_ajax_fetch_list_nonce' );
 
 		$this->display_tablenav( 'top' );
@@ -342,7 +350,7 @@ class WP_Comments_List_Table extends WP_List_Table {
 		$this->display_tablenav( 'bottom' );
 	}
 
-	function single_row( $a_comment ) {
+	public function single_row( $a_comment ) {
 		global $post, $comment;
 
 		$comment = $a_comment;
@@ -358,7 +366,7 @@ class WP_Comments_List_Table extends WP_List_Table {
 		echo "</tr>\n";
 	}
 
-	function column_cb( $comment ) {
+	public function column_cb( $comment ) {
 		if ( $this->user_can ) { ?>
 		<label class="screen-reader-text" for="cb-select-<?php echo $comment->comment_ID; ?>"><?php _e( 'Select comment' ); ?></label>
 		<input id="cb-select-<?php echo $comment->comment_ID; ?>" type="checkbox" name="delete_comments[]" value="<?php echo $comment->comment_ID; ?>" />
@@ -366,7 +374,7 @@ class WP_Comments_List_Table extends WP_List_Table {
 		}
 	}
 
-	function column_comment( $comment ) {
+	public function column_comment( $comment ) {
 		global $comment_status;
 		$post = get_post();
 
@@ -426,7 +434,7 @@ class WP_Comments_List_Table extends WP_List_Table {
 		}
 
 		if ( $user_can ) {
-			// preorder it: Approve | Reply | Quick Edit | Edit | Spam | Trash
+			// Preorder it: Approve | Reply | Quick Edit | Edit | Spam | Trash.
 			$actions = array(
 				'approve' => '', 'unapprove' => '',
 				'reply' => '',
@@ -436,7 +444,8 @@ class WP_Comments_List_Table extends WP_List_Table {
 				'trash' => '', 'untrash' => '', 'delete' => ''
 			);
 
-			if ( $comment_status && 'all' != $comment_status ) { // not looking at all comments
+			// Not looking at all comments.
+			if ( $comment_status && 'all' != $comment_status ) {
 				if ( 'approved' == $the_comment_status )
 					$actions['unapprove'] = "<a href='$unapprove_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment&amp;new=unapproved' class='vim-u vim-destructive' title='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';
 				else if ( 'unapproved' == $the_comment_status )
@@ -446,11 +455,13 @@ class WP_Comments_List_Table extends WP_List_Table {
 				$actions['unapprove'] = "<a href='$unapprove_url' data-wp-lists='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=unapproved' class='vim-u' title='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';
 			}
 
-			if ( 'spam' != $the_comment_status && 'trash' != $the_comment_status ) {
+			if ( 'spam' != $the_comment_status ) {
 				$actions['spam'] = "<a href='$spam_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID::spam=1' class='vim-s vim-destructive' title='" . esc_attr__( 'Mark this comment as spam' ) . "'>" . /* translators: mark as spam link */ _x( 'Spam', 'verb' ) . '</a>';
 			} elseif ( 'spam' == $the_comment_status ) {
 				$actions['unspam'] = "<a href='$unspam_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:66cc66:unspam=1' class='vim-z vim-destructive'>" . _x( 'Not Spam', 'comment' ) . '</a>';
-			} elseif ( 'trash' == $the_comment_status ) {
+			}
+
+			if ( 'trash' == $the_comment_status ) {
 				$actions['untrash'] = "<a href='$untrash_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:66cc66:untrash=1' class='vim-z vim-destructive'>" . __( 'Restore' ) . '</a>';
 			}
 
@@ -462,8 +473,12 @@ class WP_Comments_List_Table extends WP_List_Table {
 
 			if ( 'spam' != $the_comment_status && 'trash' != $the_comment_status ) {
 				$actions['edit'] = "<a href='comment.php?action=editcomment&amp;c={$comment->comment_ID}' title='" . esc_attr__( 'Edit comment' ) . "'>". __( 'Edit' ) . '</a>';
-				$actions['quickedit'] = '<a onclick="window.commentReply && commentReply.open( \''.$comment->comment_ID.'\',\''.$post->ID.'\',\'edit\' );return false;" class="vim-q" title="'.esc_attr__( 'Quick Edit' ).'" href="#">' . __( 'Quick&nbsp;Edit' ) . '</a>';
-				$actions['reply'] = '<a onclick="window.commentReply && commentReply.open( \''.$comment->comment_ID.'\',\''.$post->ID.'\' );return false;" class="vim-r" title="'.esc_attr__( 'Reply to this comment' ).'" href="#">' . __( 'Reply' ) . '</a>';
+
+				$format = '<a data-comment-id="%d" data-post-id="%d" data-action="%s" class="%s" title="%s" href="#">%s</a>';
+
+				$actions['quickedit'] = sprintf( $format, $comment->comment_ID, $post->ID, 'edit', 'vim-q comment-inline', esc_attr__( 'Quick Edit' ), __( 'Quick Edit' ) );
+
+				$actions['reply'] = sprintf( $format, $comment->comment_ID, $post->ID, 'replyto', 'vim-r comment-inline', esc_attr__( 'Reply to this comment' ), __( 'Reply' ) );
 			}
 
 			/** This filter is documented in wp-admin/includes/dashboard.php */
@@ -491,7 +506,7 @@ class WP_Comments_List_Table extends WP_List_Table {
 		}
 	}
 
-	function column_author( $comment ) {
+	public function column_author( $comment ) {
 		global $comment_status;
 
 		$author_url = get_comment_author_url();
@@ -521,11 +536,11 @@ class WP_Comments_List_Table extends WP_List_Table {
 		}
 	}
 
-	function column_date( $comment ) {
+	public function column_date() {
 		return get_comment_date( __( 'Y/m/d \a\t g:ia' ) );
 	}
 
-	function column_response( $comment ) {
+	public function column_response() {
 		$post = get_post();
 
 		if ( isset( $this->pending_count[$post->ID] ) ) {
@@ -553,7 +568,7 @@ class WP_Comments_List_Table extends WP_List_Table {
 			echo $thumb;
 	}
 
-	function column_default( $comment, $column_name ) {
+	public function column_default( $comment, $column_name ) {
 		/**
 		 * Fires when the default column output is displayed for a single row.
 		 *
@@ -578,7 +593,7 @@ class WP_Comments_List_Table extends WP_List_Table {
  */
 class WP_Post_Comments_List_Table extends WP_Comments_List_Table {
 
-	function get_column_info() {
+	protected function get_column_info() {
 		$this->_column_headers = array(
 			array(
 			'author'   => __( 'Author' ),
@@ -591,26 +606,31 @@ class WP_Post_Comments_List_Table extends WP_Comments_List_Table {
 		return $this->_column_headers;
 	}
 
-	function get_table_classes() {
+	protected function get_table_classes() {
 		$classes = parent::get_table_classes();
 		$classes[] = 'comments-box';
 		return $classes;
 	}
 
-	function display( $output_empty = false ) {
-		extract( $this->_args );
+	public function display( $output_empty = false ) {
+		$singular = $this->_args['singular'];
 
 		wp_nonce_field( "fetch-list-" . get_class( $this ), '_ajax_fetch_list_nonce' );
 ?>
 <table class="<?php echo implode( ' ', $this->get_table_classes() ); ?>" style="display:none;">
-	<tbody id="the-comment-list"<?php if ( $singular ) echo " data-wp-lists='list:$singular'"; ?>>
-		<?php if ( ! $output_empty ) $this->display_rows_or_placeholder(); ?>
+	<tbody id="the-comment-list"<?php
+		if ( $singular ) {
+			echo " data-wp-lists='list:$singular'";
+		} ?>>
+		<?php if ( ! $output_empty ) {
+			$this->display_rows_or_placeholder();
+		} ?>
 	</tbody>
 </table>
 <?php
 	}
 
-	function get_per_page( $comment_status = false ) {
+	public function get_per_page( $comment_status = false ) {
 		return 10;
 	}
 }
diff --git a/wp-admin/includes/class-wp-filesystem-base.php b/wp-admin/includes/class-wp-filesystem-base.php
index c471b54fd..4630f710e 100644
--- a/wp-admin/includes/class-wp-filesystem-base.php
+++ b/wp-admin/includes/class-wp-filesystem-base.php
@@ -19,7 +19,7 @@ class WP_Filesystem_Base {
 	 * @since 2.5.0
 	 * @var bool
 	 */
-	var $verbose = false;
+	public $verbose = false;
 
 	/**
 	 * Cached list of local filepaths to mapped remote filepaths.
@@ -28,7 +28,7 @@ class WP_Filesystem_Base {
 	 * @since 2.7.0
 	 * @var array
 	 */
-	var $cache = array();
+	private $cache = array();
 
 	/**
 	 * The Access method of the current connection, Set automatically.
@@ -37,12 +37,59 @@ class WP_Filesystem_Base {
 	 * @since 2.5.0
 	 * @var string
 	 */
-	var $method = '';
+	public $method = '';
 
 	/**
-	 * Constructor (empty).
+	 * Make private properties readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to get.
+	 * @return mixed Property.
+	 */
+	public function __get( $name ) {
+		return $this->$name;
+	}
+
+	/**
+	 * Make private properties settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name  Property to set.
+	 * @param mixed  $value Property value.
+	 * @return mixed Newly-set property.
 	 */
-	function __construct() {}
+	public function __set( $name, $value ) {
+		return $this->$name = $value;
+	}
+
+	/**
+	 * Make private properties checkable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to check if set.
+	 * @return bool Whether the property is set.
+	 */
+	public function __isset( $name ) {
+		return isset( $this->$name );
+	}
+
+	/**
+	 * Make private properties un-settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to unset.
+	 */
+	public function __unset( $name ) {
+		unset( $this->$name );
+	}
 
 	/**
 	 * Return the path on the remote filesystem of ABSPATH.
@@ -52,10 +99,10 @@ class WP_Filesystem_Base {
 	 *
 	 * @return string The location of the remote path.
 	 */
-	function abspath() {
+	public function abspath() {
 		$folder = $this->find_folder(ABSPATH);
 		// Perhaps the FTP folder is rooted at the WordPress install, Check for wp-includes folder in root, Could have some false positives, but rare.
-		if ( ! $folder && $this->is_dir('/wp-includes') )
+		if ( ! $folder && $this->is_dir( '/' . WPINC ) )
 			$folder = '/';
 		return $folder;
 	}
@@ -68,7 +115,7 @@ class WP_Filesystem_Base {
 	 *
 	 * @return string The location of the remote path.
 	 */
-	function wp_content_dir() {
+	public function wp_content_dir() {
 		return $this->find_folder(WP_CONTENT_DIR);
 	}
 
@@ -80,7 +127,7 @@ class WP_Filesystem_Base {
 	 *
 	 * @return string The location of the remote path.
 	 */
-	function wp_plugins_dir() {
+	public function wp_plugins_dir() {
 		return $this->find_folder(WP_PLUGIN_DIR);
 	}
 
@@ -93,7 +140,7 @@ class WP_Filesystem_Base {
 	 * @param string $theme The Theme stylesheet or template for the directory.
 	 * @return string The location of the remote path.
 	 */
-	function wp_themes_dir( $theme = false ) {
+	public function wp_themes_dir( $theme = false ) {
 		$theme_root = get_theme_root( $theme );
 
 		// Account for relative theme roots
@@ -111,7 +158,7 @@ class WP_Filesystem_Base {
 	 *
 	 * @return string The location of the remote path.
 	 */
-	function wp_lang_dir() {
+	public function wp_lang_dir() {
 		return $this->find_folder(WP_LANG_DIR);
 	}
 
@@ -132,7 +179,7 @@ class WP_Filesystem_Base {
 	 *                     Default false.
 	 * @return string The location of the remote path.
 	 */
-	function find_base_dir( $base = '.', $echo = false ) {
+	public function find_base_dir( $base = '.', $echo = false ) {
 		_deprecated_function(__FUNCTION__, '2.7', 'WP_Filesystem::abspath() or WP_Filesystem::wp_*_dir()' );
 		$this->verbose = $echo;
 		return $this->abspath();
@@ -154,7 +201,7 @@ class WP_Filesystem_Base {
 	 * @param bool   $echo True to display debug information.
 	 * @return string The location of the remote path.
 	 */
-	function get_base_dir( $base = '.', $echo = false ) {
+	public function get_base_dir( $base = '.', $echo = false ) {
 		_deprecated_function(__FUNCTION__, '2.7', 'WP_Filesystem::abspath() or WP_Filesystem::wp_*_dir()' );
 		$this->verbose = $echo;
 		return $this->abspath();
@@ -172,7 +219,7 @@ class WP_Filesystem_Base {
 	 * @param string $folder the folder to locate.
 	 * @return string The location of the remote path.
 	 */
-	function find_folder( $folder ) {
+	public function find_folder( $folder ) {
 
 		if ( isset( $this->cache[ $folder ] ) )
 			return $this->cache[ $folder ];
@@ -241,7 +288,7 @@ class WP_Filesystem_Base {
 	 * @param bool   $loop   If the function has recursed, Internal use only.
 	 * @return string The location of the remote path.
 	 */
-	function search_for_folder( $folder, $base = '.', $loop = false ) {
+	public function search_for_folder( $folder, $base = '.', $loop = false ) {
 		if ( empty( $base ) || '.' == $base )
 			$base = trailingslashit($this->cwd());
 
@@ -261,16 +308,21 @@ class WP_Filesystem_Base {
 			if ( $index == $last_index )
 				continue; // We want this to be caught by the next code block.
 
-			// Working from /home/ to /user/ to /wordpress/ see if that file exists within the current folder,
-			// If it's found, change into it and follow through looking for it.
-			// If it cant find WordPress down that route, it'll continue onto the next folder level, and see if that matches, and so on.
-			// If it reaches the end, and still cant find it, it'll return false for the entire function.
+			/*
+			 * Working from /home/ to /user/ to /wordpress/ see if that file exists within
+			 * the current folder, If it's found, change into it and follow through looking
+			 * for it. If it cant find WordPress down that route, it'll continue onto the next
+			 * folder level, and see if that matches, and so on. If it reaches the end, and still
+			 * cant find it, it'll return false for the entire function.
+			 */
 			if ( isset($files[ $key ]) ){
+
 				// Lets try that folder:
 				$newdir = trailingslashit(path_join($base, $key));
 				if ( $this->verbose )
 					printf( "\n" . __('Changing to %s') . "<br/>\n", $newdir );
-				// only search for the remaining path tokens in the directory, not the full path again
+
+				// Only search for the remaining path tokens in the directory, not the full path again.
 				$newfolder = implode( '/', array_slice( $folder_parts, $index + 1 ) );
 				if ( $ret = $this->search_for_folder( $newfolder, $newdir, $loop) )
 					return $ret;
@@ -308,7 +360,7 @@ class WP_Filesystem_Base {
 	 * @param string $file String filename.
 	 * @return string The *nix-style representation of permissions.
 	 */
-	function gethchmod( $file ){
+	public function gethchmod( $file ){
 		$perms = $this->getchmod($file);
 		if (($perms & 0xC000) == 0xC000) // Socket
 			$info = 's';
@@ -364,7 +416,7 @@ class WP_Filesystem_Base {
 	 * @param string $mode string The *nix-style file permission.
 	 * @return int octal representation
 	 */
-	function getnumchmodfromh( $mode ) {
+	public function getnumchmodfromh( $mode ) {
 		$realmode = '';
 		$legal =  array('', 'w', 'r', 'x', '-');
 		$attarray = preg_split('//', $mode);
@@ -393,7 +445,7 @@ class WP_Filesystem_Base {
 	 * @param string $text String to test against.
 	 * @return bool true if string is binary, false otherwise.
 	 */
-	function is_binary( $text ) {
+	public function is_binary( $text ) {
 		return (bool) preg_match( '|[^\x20-\x7E]|', $text ); // chr(32)..chr(127)
 	}
 
@@ -409,7 +461,7 @@ class WP_Filesystem_Base {
 	 * @param bool   $recursive Optional. If set True changes file owner recursivly. Defaults to False.
 	 * @return bool Returns true on success or false on failure.
 	 */
-	function chown( $file, $owner, $recursive = false ) {
+	public function chown( $file, $owner, $recursive = false ) {
 		return false;
 	}
 
@@ -420,7 +472,7 @@ class WP_Filesystem_Base {
 	 *
 	 * @return bool True on success or false on failure (always true for WP_Filesystem_Direct).
 	 */
-	function connect() {
+	public function connect() {
 		return true;
 	}
 
@@ -432,7 +484,7 @@ class WP_Filesystem_Base {
 	 * @param string $file Name of the file to read.
 	 * @return string|bool Returns the read data or false on failure.
 	 */
-	function get_contents( $file ) {
+	public function get_contents( $file ) {
 		return false;
 	}
 
@@ -444,7 +496,7 @@ class WP_Filesystem_Base {
 	 * @param string $file Path to the file.
 	 * @return array|bool the file contents in an array or false on failure.
 	 */
-	function get_contents_array( $file ) {
+	public function get_contents_array( $file ) {
 		return false;
 	}
 
@@ -458,7 +510,7 @@ class WP_Filesystem_Base {
 	 * @param int    $mode     Optional. The file permissions as octal number, usually 0644.
 	 * @return bool False on failure.
 	 */
-	function put_contents( $file, $contents, $mode = false ) {
+	public function put_contents( $file, $contents, $mode = false ) {
 		return false;
 	}
 
@@ -469,7 +521,7 @@ class WP_Filesystem_Base {
 	 *
 	 * @return string|bool The current working directory on success, or false on failure.
 	 */
-	function cwd() {
+	public function cwd() {
 		return false;
 	}
 
@@ -481,7 +533,7 @@ class WP_Filesystem_Base {
 	 * @param string $dir The new current directory.
 	 * @return bool Returns true on success or false on failure.
 	 */
-	function chdir( $dir ) {
+	public function chdir( $dir ) {
 		return false;
 	}
 
@@ -495,7 +547,7 @@ class WP_Filesystem_Base {
 	 * @param bool   $recursive Optional. If set True changes file group recursively. Defaults to False.
 	 * @return bool Returns true on success or false on failure.
 	 */
-	function chgrp( $file, $group, $recursive = false ) {
+	public function chgrp( $file, $group, $recursive = false ) {
 		return false;
 	}
 
@@ -509,7 +561,7 @@ class WP_Filesystem_Base {
 	 * @param bool   $recursive Optional. If set True changes file group recursively. Defaults to False.
 	 * @return bool Returns true on success or false on failure.
 	 */
-	function chmod( $file, $mode = false, $recursive = false ) {
+	public function chmod( $file, $mode = false, $recursive = false ) {
 		return false;
 	}
 
@@ -521,7 +573,7 @@ class WP_Filesystem_Base {
 	 * @param string $file Path to the file.
 	 * @return string|bool Username of the user or false on error.
 	 */
-	function owner( $file ) {
+	public function owner( $file ) {
 		return false;
 	}
 
@@ -533,7 +585,7 @@ class WP_Filesystem_Base {
 	 * @param string $file Path to the file.
 	 * @return string|bool The group or false on error.
 	 */
-	function group( $file ) {
+	public function group( $file ) {
 		return false;
 	}
 
@@ -550,7 +602,7 @@ class WP_Filesystem_Base {
 	 *                            Default false.
 	 * @return bool True if file copied successfully, False otherwise.
 	 */
-	function copy( $source, $destination, $overwrite = false, $mode = false ) {
+	public function copy( $source, $destination, $overwrite = false, $mode = false ) {
 		return false;
 	}
 
@@ -565,7 +617,7 @@ class WP_Filesystem_Base {
 	 *                            Default false.
 	 * @return bool True if file copied successfully, False otherwise.
 	 */
-	function move( $source, $destination, $overwrite = false ) {
+	public function move( $source, $destination, $overwrite = false ) {
 		return false;
 	}
 
@@ -581,7 +633,7 @@ class WP_Filesystem_Base {
 	 *                          Default false.
 	 * @return bool True if the file or directory was deleted, false on failure.
 	 */
-	function delete( $file, $recursive = false, $type = false ) {
+	public function delete( $file, $recursive = false, $type = false ) {
 		return false;
 	}
 
@@ -593,7 +645,7 @@ class WP_Filesystem_Base {
 	 * @param string $file Path to file/directory.
 	 * @return bool Whether $file exists or not.
 	 */
-	function exists( $file ) {
+	public function exists( $file ) {
 		return false;
 	}
 
@@ -605,7 +657,7 @@ class WP_Filesystem_Base {
 	 * @param string $file File path.
 	 * @return bool Whether $file is a file.
 	 */
-	function is_file( $file ) {
+	public function is_file( $file ) {
 		return false;
 	}
 
@@ -617,7 +669,7 @@ class WP_Filesystem_Base {
 	 * @param string $path Directory path.
 	 * @return bool Whether $path is a directory.
 	 */
-	function is_dir( $path ) {
+	public function is_dir( $path ) {
 		return false;
 	}
 
@@ -629,7 +681,7 @@ class WP_Filesystem_Base {
 	 * @param string $file Path to file.
 	 * @return bool Whether $file is readable.
 	 */
-	function is_readable( $file ) {
+	public function is_readable( $file ) {
 		return false;
 	}
 
@@ -641,7 +693,7 @@ class WP_Filesystem_Base {
 	 * @param string $path Path to file/directory.
 	 * @return bool Whether $file is writable.
 	 */
-	function is_writable( $file ) {
+	public function is_writable( $file ) {
 		return false;
 	}
 
@@ -653,7 +705,7 @@ class WP_Filesystem_Base {
 	 * @param string $file Path to file.
 	 * @return int Unix timestamp representing last access time.
 	 */
-	function atime( $file ) {
+	public function atime( $file ) {
 		return false;
 	}
 
@@ -665,7 +717,7 @@ class WP_Filesystem_Base {
 	 * @param string $file Path to file.
 	 * @return int Unix timestamp representing modification time.
 	 */
-	function mtime( $file ) {
+	public function mtime( $file ) {
 		return false;
 	}
 
@@ -677,7 +729,7 @@ class WP_Filesystem_Base {
 	 * @param string $file Path to file.
 	 * @return int Size of the file in bytes.
 	 */
-	function size( $file ) {
+	public function size( $file ) {
 		return false;
 	}
 
@@ -695,7 +747,7 @@ class WP_Filesystem_Base {
 	 *                      Default 0.
 	 * @return bool Whether operation was successful or not.
 	 */
-	function touch( $file, $time = 0, $atime = 0 ) {
+	public function touch( $file, $time = 0, $atime = 0 ) {
 		return false;
 	}
 
@@ -713,7 +765,7 @@ class WP_Filesystem_Base {
 	 *                      Default false.
 	 * @return bool False if directory cannot be created, true otherwise.
 	 */
-	function mkdir( $path, $chmod = false, $chown = false, $chgrp = false ) {
+	public function mkdir( $path, $chmod = false, $chown = false, $chgrp = false ) {
 		return false;
 	}
 
@@ -727,7 +779,7 @@ class WP_Filesystem_Base {
 	 *                          Default false.
 	 * @return bool Whether directory is deleted successfully or not.
 	 */
-	function rmdir( $path, $recursive = false ) {
+	public function rmdir( $path, $recursive = false ) {
 		return false;
 	}
 
@@ -756,7 +808,7 @@ class WP_Filesystem_Base {
 	 *     @type mixed  'files'       If a directory and $recursive is true, contains another array of files.
 	 * }
 	 */
-	function dirlist( $path, $include_hidden = true, $recursive = false ) {
+	public function dirlist( $path, $include_hidden = true, $recursive = false ) {
 		return false;
 	}
 
diff --git a/wp-admin/includes/class-wp-filesystem-direct.php b/wp-admin/includes/class-wp-filesystem-direct.php
index 2d4e56640..a426bd273 100644
--- a/wp-admin/includes/class-wp-filesystem-direct.php
+++ b/wp-admin/includes/class-wp-filesystem-direct.php
@@ -21,7 +21,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 	 *
 	 * @param mixed $arg ignored argument
 	 */
-	function __construct($arg) {
+	public function __construct($arg) {
 		$this->method = 'direct';
 		$this->errors = new WP_Error();
 	}
@@ -32,7 +32,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 	 * @param string $file Name of the file to read.
 	 * @return string|bool The function returns the read data or false on failure.
 	 */
-	function get_contents($file) {
+	public function get_contents($file) {
 		return @file_get_contents($file);
 	}
 
@@ -42,7 +42,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 	 * @param string $file Path to the file.
 	 * @return array|bool the file contents in an array or false on failure.
 	 */
-	function get_contents_array($file) {
+	public function get_contents_array($file) {
 		return @file($file);
 	}
 
@@ -54,7 +54,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 	 * @param int $mode (optional) The file permissions as octal number, usually 0644.
 	 * @return bool False upon failure.
 	 */
-	function put_contents( $file, $contents, $mode = false ) {
+	public function put_contents( $file, $contents, $mode = false ) {
 		$fp = @fopen( $file, 'wb' );
 		if ( ! $fp )
 			return false;
@@ -82,7 +82,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 	 *
 	 * @return string|bool the current working directory on success, or false on failure.
 	 */
-	function cwd() {
+	public function cwd() {
 		return @getcwd();
 	}
 
@@ -92,7 +92,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 	 * @param string $dir The new current directory.
 	 * @return bool Returns true on success or false on failure.
 	 */
-	function chdir($dir) {
+	public function chdir($dir) {
 		return @chdir($dir);
 	}
 
@@ -104,7 +104,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 	 * @param bool $recursive (optional) If set True changes file group recursively. Defaults to False.
 	 * @return bool Returns true on success or false on failure.
 	 */
-	function chgrp($file, $group, $recursive = false) {
+	public function chgrp($file, $group, $recursive = false) {
 		if ( ! $this->exists($file) )
 			return false;
 		if ( ! $recursive )
@@ -128,7 +128,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 	 * @param bool $recursive (optional) If set True changes file group recursively. Defaults to False.
 	 * @return bool Returns true on success or false on failure.
 	 */
-	function chmod($file, $mode = false, $recursive = false) {
+	public function chmod($file, $mode = false, $recursive = false) {
 		if ( ! $mode ) {
 			if ( $this->is_file($file) )
 				$mode = FS_CHMOD_FILE;
@@ -157,7 +157,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 	 * @param bool $recursive (optional) If set True changes file owner recursively. Defaults to False.
 	 * @return bool Returns true on success or false on failure.
 	 */
-	function chown($file, $owner, $recursive = false) {
+	public function chown($file, $owner, $recursive = false) {
 		if ( ! $this->exists($file) )
 			return false;
 		if ( ! $recursive )
@@ -178,7 +178,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 	 * @param string $file Path to the file.
 	 * @return string|bool Username of the user or false on error.
 	 */
-	function owner($file) {
+	public function owner($file) {
 		$owneruid = @fileowner($file);
 		if ( ! $owneruid )
 			return false;
@@ -196,11 +196,11 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 	 * @param string $file Path to the file.
 	 * @return string Mode of the file (last 3 digits).
 	 */
-	function getchmod($file) {
+	public function getchmod($file) {
 		return substr( decoct( @fileperms( $file ) ), -3 );
 	}
 
-	function group($file) {
+	public function group($file) {
 		$gid = @filegroup($file);
 		if ( ! $gid )
 			return false;
@@ -210,7 +210,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 		return $grouparray['name'];
 	}
 
-	function copy($source, $destination, $overwrite = false, $mode = false) {
+	public function copy($source, $destination, $overwrite = false, $mode = false) {
 		if ( ! $overwrite && $this->exists($destination) )
 			return false;
 
@@ -220,11 +220,11 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 		return $rtval;
 	}
 
-	function move($source, $destination, $overwrite = false) {
+	public function move($source, $destination, $overwrite = false) {
 		if ( ! $overwrite && $this->exists($destination) )
 			return false;
 
-		// try using rename first. if that fails (for example, source is read only) try copy
+		// Try using rename first. if that fails (for example, source is read only) try copy.
 		if ( @rename($source, $destination) )
 			return true;
 
@@ -236,7 +236,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 		}
 	}
 
-	function delete($file, $recursive = false, $type = false) {
+	public function delete($file, $recursive = false, $type = false) {
 		if ( empty( $file ) ) // Some filesystems report this as /, which can cause non-expected recursive deletion of all files in the filesystem.
 			return false;
 		$file = str_replace( '\\', '/', $file ); // for win32, occasional problems deleting files otherwise
@@ -264,39 +264,39 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 		return $retval;
 	}
 
-	function exists($file) {
+	public function exists($file) {
 		return @file_exists($file);
 	}
 
-	function is_file($file) {
+	public function is_file($file) {
 		return @is_file($file);
 	}
 
-	function is_dir($path) {
+	public function is_dir($path) {
 		return @is_dir($path);
 	}
 
-	function is_readable($file) {
+	public function is_readable($file) {
 		return @is_readable($file);
 	}
 
-	function is_writable($file) {
+	public function is_writable($file) {
 		return @is_writable($file);
 	}
 
-	function atime($file) {
+	public function atime($file) {
 		return @fileatime($file);
 	}
 
-	function mtime($file) {
+	public function mtime($file) {
 		return @filemtime($file);
 	}
 
-	function size($file) {
+	public function size($file) {
 		return @filesize($file);
 	}
 
-	function touch($file, $time = 0, $atime = 0) {
+	public function touch($file, $time = 0, $atime = 0) {
 		if ($time == 0)
 			$time = time();
 		if ($atime == 0)
@@ -304,8 +304,8 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 		return @touch($file, $time, $atime);
 	}
 
-	function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
-		// safe mode fails with a trailing slash under certain PHP versions.
+	public function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
+		// Safe mode fails with a trailing slash under certain PHP versions.
 		$path = untrailingslashit($path);
 		if ( empty($path) )
 			return false;
@@ -323,11 +323,11 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 		return true;
 	}
 
-	function rmdir($path, $recursive = false) {
+	public function rmdir($path, $recursive = false) {
 		return $this->delete($path, $recursive);
 	}
 
-	function dirlist($path, $include_hidden = true, $recursive = false) {
+	public function dirlist($path, $include_hidden = true, $recursive = false) {
 		if ( $this->is_file($path) ) {
 			$limit_file = basename($path);
 			$path = dirname($path);
diff --git a/wp-admin/includes/class-wp-filesystem-ftpext.php b/wp-admin/includes/class-wp-filesystem-ftpext.php
index 434a1f98e..87233d0c9 100644
--- a/wp-admin/includes/class-wp-filesystem-ftpext.php
+++ b/wp-admin/includes/class-wp-filesystem-ftpext.php
@@ -15,11 +15,11 @@
  * @uses WP_Filesystem_Base Extends class
  */
 class WP_Filesystem_FTPext extends WP_Filesystem_Base {
-	var $link;
-	var $errors = null;
-	var $options = array();
+	public $link;
+	public $errors = null;
+	public $options = array();
 
-	function __construct($opt='') {
+	public function __construct($opt='') {
 		$this->method = 'ftpext';
 		$this->errors = new WP_Error();
 
@@ -63,7 +63,7 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
 			$this->options['ssl'] = true;
 	}
 
-	function connect() {
+	public function connect() {
 		if ( isset($this->options['ssl']) && $this->options['ssl'] && function_exists('ftp_ssl_connect') )
 			$this->link = @ftp_ssl_connect($this->options['hostname'], $this->options['port'], FS_CONNECT_TIMEOUT);
 		else
@@ -87,7 +87,7 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
 		return true;
 	}
 
-	function get_contents( $file ) {
+	public function get_contents( $file ) {
 		$tempfile = wp_tempnam($file);
 		$temp = fopen($tempfile, 'w+');
 
@@ -108,11 +108,11 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
 		return $contents;
 	}
 
-	function get_contents_array($file) {
+	public function get_contents_array($file) {
 		return explode("\n", $this->get_contents($file));
 	}
 
-	function put_contents($file, $contents, $mode = false ) {
+	public function put_contents($file, $contents, $mode = false ) {
 		$tempfile = wp_tempnam($file);
 		$temp = fopen( $tempfile, 'wb+' );
 		if ( ! $temp )
@@ -143,22 +143,22 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
 		return $ret;
 	}
 
-	function cwd() {
+	public function cwd() {
 		$cwd = @ftp_pwd($this->link);
 		if ( $cwd )
 			$cwd = trailingslashit($cwd);
 		return $cwd;
 	}
 
-	function chdir($dir) {
+	public function chdir($dir) {
 		return @ftp_chdir($this->link, $dir);
 	}
 
-	function chgrp($file, $group, $recursive = false ) {
+	public function chgrp($file, $group, $recursive = false ) {
 		return false;
 	}
 
-	function chmod($file, $mode = false, $recursive = false) {
+	public function chmod($file, $mode = false, $recursive = false) {
 		if ( ! $mode ) {
 			if ( $this->is_file($file) )
 				$mode = FS_CHMOD_FILE;
@@ -181,22 +181,22 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
 		return (bool)@ftp_chmod($this->link, $mode, $file);
 	}
 
-	function owner($file) {
+	public function owner($file) {
 		$dir = $this->dirlist($file);
 		return $dir[$file]['owner'];
 	}
 
-	function getchmod($file) {
+	public function getchmod($file) {
 		$dir = $this->dirlist($file);
 		return $dir[$file]['permsn'];
 	}
 
-	function group($file) {
+	public function group($file) {
 		$dir = $this->dirlist($file);
 		return $dir[$file]['group'];
 	}
 
-	function copy($source, $destination, $overwrite = false, $mode = false) {
+	public function copy($source, $destination, $overwrite = false, $mode = false) {
 		if ( ! $overwrite && $this->exists($destination) )
 			return false;
 		$content = $this->get_contents($source);
@@ -205,11 +205,11 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
 		return $this->put_contents($destination, $content, $mode);
 	}
 
-	function move($source, $destination, $overwrite = false) {
+	public function move($source, $destination, $overwrite = false) {
 		return ftp_rename($this->link, $source, $destination);
 	}
 
-	function delete($file, $recursive = false, $type = false) {
+	public function delete($file, $recursive = false, $type = false) {
 		if ( empty($file) )
 			return false;
 		if ( 'f' == $type || $this->is_file($file) )
@@ -224,16 +224,16 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
 		return @ftp_rmdir($this->link, $file);
 	}
 
-	function exists($file) {
+	public function exists($file) {
 		$list = @ftp_nlist($this->link, $file);
 		return !empty($list); //empty list = no file, so invert.
 	}
 
-	function is_file($file) {
+	public function is_file($file) {
 		return $this->exists($file) && !$this->is_dir($file);
 	}
 
-	function is_dir($path) {
+	public function is_dir($path) {
 		$cwd = $this->cwd();
 		$result = @ftp_chdir($this->link, trailingslashit($path) );
 		if ( $result && $path == $this->cwd() || $this->cwd() != $cwd ) {
@@ -243,31 +243,31 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
 		return false;
 	}
 
-	function is_readable($file) {
+	public function is_readable($file) {
 		return true;
 	}
 
-	function is_writable($file) {
+	public function is_writable($file) {
 		return true;
 	}
 
-	function atime($file) {
+	public function atime($file) {
 		return false;
 	}
 
-	function mtime($file) {
+	public function mtime($file) {
 		return ftp_mdtm($this->link, $file);
 	}
 
-	function size($file) {
+	public function size($file) {
 		return ftp_size($this->link, $file);
 	}
 
-	function touch($file, $time = 0, $atime = 0) {
+	public function touch($file, $time = 0, $atime = 0) {
 		return false;
 	}
 
-	function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
+	public function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
 		$path = untrailingslashit($path);
 		if ( empty($path) )
 			return false;
@@ -282,11 +282,11 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
 		return true;
 	}
 
-	function rmdir($path, $recursive = false) {
+	public function rmdir($path, $recursive = false) {
 		return $this->delete($path, $recursive);
 	}
 
-	function parselisting($line) {
+	public function parselisting($line) {
 		static $is_windows;
 		if ( is_null($is_windows) )
 			$is_windows = stripos( ftp_systype($this->link), 'win') !== false;
@@ -359,7 +359,7 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
 		return $b;
 	}
 
-	function dirlist($path = '.', $include_hidden = true, $recursive = false) {
+	public function dirlist($path = '.', $include_hidden = true, $recursive = false) {
 		if ( $this->is_file($path) ) {
 			$limit_file = basename($path);
 			$path = dirname($path) . '/';
@@ -408,7 +408,7 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
 		return $ret;
 	}
 
-	function __destruct() {
+	public function __destruct() {
 		if ( $this->link )
 			ftp_close($this->link);
 	}
diff --git a/wp-admin/includes/class-wp-filesystem-ftpsockets.php b/wp-admin/includes/class-wp-filesystem-ftpsockets.php
index af4c53100..2952ae5ba 100644
--- a/wp-admin/includes/class-wp-filesystem-ftpsockets.php
+++ b/wp-admin/includes/class-wp-filesystem-ftpsockets.php
@@ -15,17 +15,18 @@
  * @uses WP_Filesystem_Base Extends class
  */
 class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
-	var $ftp = false;
-	var $errors = null;
-	var $options = array();
+	public $ftp = false;
+	public $errors = null;
+	public $options = array();
 
-	function __construct($opt = '') {
+	public function __construct($opt = '') {
 		$this->method = 'ftpsockets';
 		$this->errors = new WP_Error();
 
 		// Check if possible to use ftp functions.
-		if ( ! @include_once ABSPATH . 'wp-admin/includes/class-ftp.php' )
-				return false;
+		if ( ! @include_once( ABSPATH . 'wp-admin/includes/class-ftp.php' ) ) {
+			return false;
+		}
 		$this->ftp = new ftp();
 
 		if ( empty($opt['port']) )
@@ -53,7 +54,7 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
 			$this->options['password'] = $opt['password'];
 	}
 
-	function connect() {
+	public function connect() {
 		if ( ! $this->ftp )
 			return false;
 
@@ -80,7 +81,7 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
 		return true;
 	}
 
-	function get_contents( $file ) {
+	public function get_contents( $file ) {
 		if ( ! $this->exists($file) )
 			return false;
 
@@ -113,11 +114,11 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
 		return $contents;
 	}
 
-	function get_contents_array($file) {
+	public function get_contents_array($file) {
 		return explode("\n", $this->get_contents($file) );
 	}
 
-	function put_contents($file, $contents, $mode = false ) {
+	public function put_contents($file, $contents, $mode = false ) {
 		$temp = wp_tempnam( $file );
 		if ( ! $temphandle = @fopen($temp, 'w+') ) {
 			unlink($temp);
@@ -151,22 +152,22 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
 		return $ret;
 	}
 
-	function cwd() {
+	public function cwd() {
 		$cwd = $this->ftp->pwd();
 		if ( $cwd )
 			$cwd = trailingslashit($cwd);
 		return $cwd;
 	}
 
-	function chdir($file) {
+	public function chdir($file) {
 		return $this->ftp->chdir($file);
 	}
 
-	function chgrp($file, $group, $recursive = false ) {
+	public function chgrp($file, $group, $recursive = false ) {
 		return false;
 	}
 
-	function chmod($file, $mode = false, $recursive = false ) {
+	public function chmod($file, $mode = false, $recursive = false ) {
 		if ( ! $mode ) {
 			if ( $this->is_file($file) )
 				$mode = FS_CHMOD_FILE;
@@ -187,22 +188,22 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
 		return $this->ftp->chmod($file, $mode);
 	}
 
-	function owner($file) {
+	public function owner($file) {
 		$dir = $this->dirlist($file);
 		return $dir[$file]['owner'];
 	}
 
-	function getchmod($file) {
+	public function getchmod($file) {
 		$dir = $this->dirlist($file);
 		return $dir[$file]['permsn'];
 	}
 
-	function group($file) {
+	public function group($file) {
 		$dir = $this->dirlist($file);
 		return $dir[$file]['group'];
 	}
 
-	function copy($source, $destination, $overwrite = false, $mode = false) {
+	public function copy($source, $destination, $overwrite = false, $mode = false) {
 		if ( ! $overwrite && $this->exists($destination) )
 			return false;
 
@@ -213,11 +214,11 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
 		return $this->put_contents($destination, $content, $mode);
 	}
 
-	function move($source, $destination, $overwrite = false ) {
+	public function move($source, $destination, $overwrite = false ) {
 		return $this->ftp->rename($source, $destination);
 	}
 
-	function delete($file, $recursive = false, $type = false) {
+	public function delete($file, $recursive = false, $type = false) {
 		if ( empty($file) )
 			return false;
 		if ( 'f' == $type || $this->is_file($file) )
@@ -228,13 +229,13 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
 		return $this->ftp->mdel($file);
 	}
 
-	function exists( $file ) {
+	public function exists( $file ) {
 		$list = $this->ftp->nlist( $file );
 		return !empty( $list ); //empty list = no file, so invert.
-		// return $this->ftp->is_exists($file); has issues with ABOR+426 responses on the ncFTPd server
+		// Return $this->ftp->is_exists($file); has issues with ABOR+426 responses on the ncFTPd server.
 	}
 
-	function is_file($file) {
+	public function is_file($file) {
 		if ( $this->is_dir($file) )
 			return false;
 		if ( $this->exists($file) )
@@ -242,7 +243,7 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
 		return false;
 	}
 
-	function is_dir($path) {
+	public function is_dir($path) {
 		$cwd = $this->cwd();
 		if ( $this->chdir($path) ) {
 			$this->chdir($cwd);
@@ -251,31 +252,31 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
 		return false;
 	}
 
-	function is_readable($file) {
+	public function is_readable($file) {
 		return true;
 	}
 
-	function is_writable($file) {
+	public function is_writable($file) {
 		return true;
 	}
 
-	function atime($file) {
+	public function atime($file) {
 		return false;
 	}
 
-	function mtime($file) {
+	public function mtime($file) {
 		return $this->ftp->mdtm($file);
 	}
 
-	function size($file) {
+	public function size($file) {
 		return $this->ftp->filesize($file);
 	}
 
-	function touch($file, $time = 0, $atime = 0 ) {
+	public function touch($file, $time = 0, $atime = 0 ) {
 		return false;
 	}
 
-	function mkdir($path, $chmod = false, $chown = false, $chgrp = false ) {
+	public function mkdir($path, $chmod = false, $chown = false, $chgrp = false ) {
 		$path = untrailingslashit($path);
 		if ( empty($path) )
 			return false;
@@ -292,11 +293,11 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
 		return true;
 	}
 
-	function rmdir($path, $recursive = false ) {
+	public function rmdir($path, $recursive = false ) {
 		$this->delete($path, $recursive);
 	}
 
-	function dirlist($path = '.', $include_hidden = true, $recursive = false ) {
+	public function dirlist($path = '.', $include_hidden = true, $recursive = false ) {
 		if ( $this->is_file($path) ) {
 			$limit_file = basename($path);
 			$path = dirname($path) . '/';
@@ -345,7 +346,7 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
 		return $ret;
 	}
 
-	function __destruct() {
+	public function __destruct() {
 		$this->ftp->quit();
 	}
 }
diff --git a/wp-admin/includes/class-wp-filesystem-ssh2.php b/wp-admin/includes/class-wp-filesystem-ssh2.php
index 30a96b1da..4618f2888 100644
--- a/wp-admin/includes/class-wp-filesystem-ssh2.php
+++ b/wp-admin/includes/class-wp-filesystem-ssh2.php
@@ -35,13 +35,13 @@
  */
 class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 
-	var $link = false;
-	var $sftp_link = false;
-	var $keys = false;
-	var $errors = array();
-	var $options = array();
+	public $link = false;
+	public $sftp_link = false;
+	public $keys = false;
+	public $errors = array();
+	public $options = array();
 
-	function __construct($opt='') {
+	public function __construct($opt='') {
 		$this->method = 'ssh2';
 		$this->errors = new WP_Error();
 
@@ -85,7 +85,8 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 			$this->options['username'] = $opt['username'];
 
 		if ( empty ($opt['password']) ) {
-			if ( !$this->keys )	//password can be blank if we are using keys
+			// Password can be blank if we are using keys.
+			if ( !$this->keys )
 				$this->errors->add('empty_password', __('SSH2 password is required'));
 		} else {
 			$this->options['password'] = $opt['password'];
@@ -93,7 +94,7 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 
 	}
 
-	function connect() {
+	public function connect() {
 		if ( ! $this->keys ) {
 			$this->link = @ssh2_connect($this->options['hostname'], $this->options['port']);
 		} else {
@@ -122,7 +123,7 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 		return true;
 	}
 
-	function run_command( $command, $returnbool = false) {
+	public function run_command( $command, $returnbool = false) {
 
 		if ( ! $this->link )
 			return false;
@@ -143,17 +144,17 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 		return false;
 	}
 
-	function get_contents( $file ) {
+	public function get_contents( $file ) {
 		$file = ltrim($file, '/');
 		return file_get_contents('ssh2.sftp://' . $this->sftp_link . '/' . $file);
 	}
 
-	function get_contents_array($file) {
+	public function get_contents_array($file) {
 		$file = ltrim($file, '/');
 		return file('ssh2.sftp://' . $this->sftp_link . '/' . $file);
 	}
 
-	function put_contents($file, $contents, $mode = false ) {
+	public function put_contents($file, $contents, $mode = false ) {
 		$ret = file_put_contents( 'ssh2.sftp://' . $this->sftp_link . '/' . ltrim( $file, '/' ), $contents );
 
 		if ( $ret !== strlen( $contents ) )
@@ -164,18 +165,18 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 		return true;
 	}
 
-	function cwd() {
+	public function cwd() {
 		$cwd = $this->run_command('pwd');
 		if ( $cwd )
 			$cwd = trailingslashit($cwd);
 		return $cwd;
 	}
 
-	function chdir($dir) {
+	public function chdir($dir) {
 		return $this->run_command('cd ' . $dir, true);
 	}
 
-	function chgrp($file, $group, $recursive = false ) {
+	public function chgrp($file, $group, $recursive = false ) {
 		if ( ! $this->exists($file) )
 			return false;
 		if ( ! $recursive || ! $this->is_dir($file) )
@@ -183,7 +184,7 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 		return $this->run_command(sprintf('chgrp -R %s %s', escapeshellarg($group), escapeshellarg($file)), true);
 	}
 
-	function chmod($file, $mode = false, $recursive = false) {
+	public function chmod($file, $mode = false, $recursive = false) {
 		if ( ! $this->exists($file) )
 			return false;
 
@@ -211,7 +212,7 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 	 * @param bool $recursive Optional. If set True changes file owner recursivly. Defaults to False.
 	 * @return bool Returns true on success or false on failure.
 	 */
-	function chown( $file, $owner, $recursive = false ) {
+	public function chown( $file, $owner, $recursive = false ) {
 		if ( ! $this->exists($file) )
 			return false;
 		if ( ! $recursive || ! $this->is_dir($file) )
@@ -219,7 +220,7 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 		return $this->run_command(sprintf('chown -R %s %s', escapeshellarg($owner), escapeshellarg($file)), true);
 	}
 
-	function owner($file) {
+	public function owner($file) {
 		$owneruid = @fileowner('ssh2.sftp://' . $this->sftp_link . '/' . ltrim($file, '/'));
 		if ( ! $owneruid )
 			return false;
@@ -229,11 +230,11 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 		return $ownerarray['name'];
 	}
 
-	function getchmod($file) {
+	public function getchmod($file) {
 		return substr( decoct( @fileperms( 'ssh2.sftp://' . $this->sftp_link . '/' . ltrim( $file, '/' ) ) ), -3 );
 	}
 
-	function group($file) {
+	public function group($file) {
 		$gid = @filegroup('ssh2.sftp://' . $this->sftp_link . '/' . ltrim($file, '/'));
 		if ( ! $gid )
 			return false;
@@ -243,7 +244,7 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 		return $grouparray['name'];
 	}
 
-	function copy($source, $destination, $overwrite = false, $mode = false) {
+	public function copy($source, $destination, $overwrite = false, $mode = false) {
 		if ( ! $overwrite && $this->exists($destination) )
 			return false;
 		$content = $this->get_contents($source);
@@ -252,11 +253,11 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 		return $this->put_contents($destination, $content, $mode);
 	}
 
-	function move($source, $destination, $overwrite = false) {
+	public function move($source, $destination, $overwrite = false) {
 		return @ssh2_sftp_rename($this->link, $source, $destination);
 	}
 
-	function delete($file, $recursive = false, $type = false) {
+	public function delete($file, $recursive = false, $type = false) {
 		if ( 'f' == $type || $this->is_file($file) )
 			return ssh2_sftp_unlink($this->sftp_link, $file);
 		if ( ! $recursive )
@@ -270,51 +271,51 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 		return ssh2_sftp_rmdir($this->sftp_link, $file);
 	}
 
-	function exists($file) {
+	public function exists($file) {
 		$file = ltrim($file, '/');
 		return file_exists('ssh2.sftp://' . $this->sftp_link . '/' . $file);
 	}
 
-	function is_file($file) {
+	public function is_file($file) {
 		$file = ltrim($file, '/');
 		return is_file('ssh2.sftp://' . $this->sftp_link . '/' . $file);
 	}
 
-	function is_dir($path) {
+	public function is_dir($path) {
 		$path = ltrim($path, '/');
 		return is_dir('ssh2.sftp://' . $this->sftp_link . '/' . $path);
 	}
 
-	function is_readable($file) {
+	public function is_readable($file) {
 		$file = ltrim($file, '/');
 		return is_readable('ssh2.sftp://' . $this->sftp_link . '/' . $file);
 	}
 
-	function is_writable($file) {
+	public function is_writable($file) {
 		$file = ltrim($file, '/');
 		return is_writable('ssh2.sftp://' . $this->sftp_link . '/' . $file);
 	}
 
-	function atime($file) {
+	public function atime($file) {
 		$file = ltrim($file, '/');
 		return fileatime('ssh2.sftp://' . $this->sftp_link . '/' . $file);
 	}
 
-	function mtime($file) {
+	public function mtime($file) {
 		$file = ltrim($file, '/');
 		return filemtime('ssh2.sftp://' . $this->sftp_link . '/' . $file);
 	}
 
-	function size($file) {
+	public function size($file) {
 		$file = ltrim($file, '/');
 		return filesize('ssh2.sftp://' . $this->sftp_link . '/' . $file);
 	}
 
-	function touch($file, $time = 0, $atime = 0) {
+	public function touch($file, $time = 0, $atime = 0) {
 		//Not implemented.
 	}
 
-	function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
+	public function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
 		$path = untrailingslashit($path);
 		if ( empty($path) )
 			return false;
@@ -330,11 +331,11 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 		return true;
 	}
 
-	function rmdir($path, $recursive = false) {
+	public function rmdir($path, $recursive = false) {
 		return $this->delete($path, $recursive);
 	}
 
-	function dirlist($path, $include_hidden = true, $recursive = false) {
+	public function dirlist($path, $include_hidden = true, $recursive = false) {
 		if ( $this->is_file($path) ) {
 			$limit_file = basename($path);
 			$path = dirname($path);
diff --git a/wp-admin/includes/class-wp-importer.php b/wp-admin/includes/class-wp-importer.php
index 57ff7f4b9..b54573f67 100644
--- a/wp-admin/includes/class-wp-importer.php
+++ b/wp-admin/includes/class-wp-importer.php
@@ -8,7 +8,7 @@ class WP_Importer {
 	 *
 	 * @return void
 	 */
-	function __construct() {}
+	public function __construct() {}
 
 	/**
 	 * Returns array with imported permalinks from WordPress database
@@ -16,7 +16,7 @@ class WP_Importer {
 	 * @param string $bid
 	 * @return array
 	 */
-	function get_imported_posts( $importer_name, $bid ) {
+	public function get_imported_posts( $importer_name, $bid ) {
 		global $wpdb;
 
 		$hashtable = array();
@@ -41,7 +41,7 @@ class WP_Importer {
 			}
 		} while ( count( $results ) == $limit );
 
-		// unset to save memory
+		// Unset to save memory.
 		unset( $results, $r );
 
 		return $hashtable;
@@ -53,7 +53,7 @@ class WP_Importer {
 	 * @param string $bid
 	 * @return int
 	 */
-	function count_imported_posts( $importer_name, $bid ) {
+	public function count_imported_posts( $importer_name, $bid ) {
 		global $wpdb;
 
 		$count = 0;
@@ -67,7 +67,7 @@ class WP_Importer {
 		if ( !empty( $result ) )
 			$count = intval( $result[0]->cnt );
 
-		// unset to save memory
+		// Unset to save memory.
 		unset( $results );
 
 		return $count;
@@ -79,7 +79,7 @@ class WP_Importer {
 	 * @param string $bid
 	 * @return array
 	 */
-	function get_imported_comments( $bid ) {
+	public function get_imported_comments( $bid ) {
 		global $wpdb;
 
 		$hashtable = array();
@@ -109,13 +109,13 @@ class WP_Importer {
 			}
 		} while ( count( $results ) == $limit );
 
-		// unset to save memory
+		// Unset to save memory.
 		unset( $results, $r );
 
 		return $hashtable;
 	}
 
-	function set_blog( $blog_id ) {
+	public function set_blog( $blog_id ) {
 		if ( is_numeric( $blog_id ) ) {
 			$blog_id = (int) $blog_id;
 		} else {
@@ -142,7 +142,7 @@ class WP_Importer {
 		return $blog_id;
 	}
 
-	function set_user( $user_id ) {
+	public function set_user( $user_id ) {
 		if ( is_numeric( $user_id ) ) {
 			$user_id = (int) $user_id;
 		} else {
@@ -164,7 +164,7 @@ class WP_Importer {
 	 * @param string $b
 	 * @return int
 	 */
-	function cmpr_strlen( $a, $b ) {
+	public function cmpr_strlen( $a, $b ) {
 		return strlen( $b ) - strlen( $a );
 	}
 
@@ -177,7 +177,7 @@ class WP_Importer {
 	 * @param bool $head
 	 * @return array
 	 */
-	function get_page( $url, $username = '', $password = '', $head = false ) {
+	public function get_page( $url, $username = '', $password = '', $head = false ) {
 		// Increase the timeout
 		add_filter( 'http_request_timeout', array( $this, 'bump_request_timeout' ) );
 
@@ -199,7 +199,7 @@ class WP_Importer {
 	 * @param int $val
 	 * @return int
 	 */
-	function bump_request_timeout( $val ) {
+	public function bump_request_timeout( $val ) {
 		return 60;
 	}
 
@@ -208,7 +208,7 @@ class WP_Importer {
 	 *
 	 * @return bool
 	 */
-	function is_user_over_quota() {
+	public function is_user_over_quota() {
 		if ( function_exists( 'upload_is_user_over_quota' ) ) {
 			if ( upload_is_user_over_quota( 1 ) ) {
 				echo "Sorry, you have used your upload quota.\n";
@@ -225,7 +225,7 @@ class WP_Importer {
 	 * @param string $string
 	 * @return string
 	 */
-	function min_whitespace( $string ) {
+	public function min_whitespace( $string ) {
 		return preg_replace( '|[\r\n\t ]+|', ' ', $string );
 	}
 
@@ -234,7 +234,7 @@ class WP_Importer {
 	 *
 	 * @return void
 	 */
-	function stop_the_insanity() {
+	public function stop_the_insanity() {
 		global $wpdb, $wp_actions;
 		// Or define( 'WP_IMPORTING', true );
 		$wpdb->queries = array();
diff --git a/wp-admin/includes/class-wp-links-list-table.php b/wp-admin/includes/class-wp-links-list-table.php
index 98281b036..7f2760d42 100644
--- a/wp-admin/includes/class-wp-links-list-table.php
+++ b/wp-admin/includes/class-wp-links-list-table.php
@@ -9,18 +9,28 @@
  */
 class WP_Links_List_Table extends WP_List_Table {
 
-	function __construct( $args = array() ) {
+	/**
+	 * Constructor.
+	 *
+	 * @since 3.1.0
+	 * @access public
+	 *
+	 * @see WP_List_Table::__construct() for more information on default arguments.
+	 *
+	 * @param array $args An associative array of arguments.
+	 */
+	public function __construct( $args = array() ) {
 		parent::__construct( array(
 			'plural' => 'bookmarks',
 			'screen' => isset( $args['screen'] ) ? $args['screen'] : null,
 		) );
 	}
 
-	function ajax_user_can() {
+	public function ajax_user_can() {
 		return current_user_can( 'manage_links' );
 	}
 
-	function prepare_items() {
+	public function prepare_items() {
 		global $cat_id, $s, $orderby, $order;
 
 		wp_reset_vars( array( 'action', 'cat_id', 'link_id', 'orderby', 'order', 's' ) );
@@ -39,18 +49,18 @@ class WP_Links_List_Table extends WP_List_Table {
 		$this->items = get_bookmarks( $args );
 	}
 
-	function no_items() {
+	public function no_items() {
 		_e( 'No links found.' );
 	}
 
-	function get_bulk_actions() {
+	protected function get_bulk_actions() {
 		$actions = array();
 		$actions['delete'] = __( 'Delete' );
 
 		return $actions;
 	}
 
-	function extra_tablenav( $which ) {
+	protected function extra_tablenav( $which ) {
 		global $cat_id;
 
 		if ( 'top' != $which )
@@ -69,13 +79,13 @@ class WP_Links_List_Table extends WP_List_Table {
 				'orderby' => 'name',
 			);
 			wp_dropdown_categories( $dropdown_options );
-			submit_button( __( 'Filter' ), 'button', false, false, array( 'id' => 'post-query-submit' ) );
+			submit_button( __( 'Filter' ), 'button', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
 ?>
 		</div>
 <?php
 	}
 
-	function get_columns() {
+	public function get_columns() {
 		return array(
 			'cb'         => '<input type="checkbox" />',
 			'name'       => _x( 'Name', 'link name' ),
@@ -87,7 +97,7 @@ class WP_Links_List_Table extends WP_List_Table {
 		);
 	}
 
-	function get_sortable_columns() {
+	protected function get_sortable_columns() {
 		return array(
 			'name'    => 'name',
 			'url'     => 'url',
@@ -96,7 +106,7 @@ class WP_Links_List_Table extends WP_List_Table {
 		);
 	}
 
-	function display_rows() {
+	public function display_rows() {
 		global $cat_id;
 
 		$alt = 0;
diff --git a/wp-admin/includes/class-wp-list-table.php b/wp-admin/includes/class-wp-list-table.php
index 3aa066d8a..8d2bc51e0 100644
--- a/wp-admin/includes/class-wp-list-table.php
+++ b/wp-admin/includes/class-wp-list-table.php
@@ -2,10 +2,11 @@
 /**
  * Base class for displaying a list of items in an ajaxified HTML table.
  *
- * @package WordPress
- * @subpackage List_Table
  * @since 3.1.0
  * @access private
+ *
+ * @package WordPress
+ * @subpackage List_Table
  */
 class WP_List_Table {
 
@@ -14,9 +15,9 @@ class WP_List_Table {
 	 *
 	 * @since 3.1.0
 	 * @var array
-	 * @access protected
+	 * @access public
 	 */
-	var $items;
+	public $items;
 
 	/**
 	 * Various information about the current table
@@ -25,7 +26,7 @@ class WP_List_Table {
 	 * @var array
 	 * @access private
 	 */
-	var $_args;
+	private $_args;
 
 	/**
 	 * Various information needed for displaying the pagination
@@ -34,7 +35,7 @@ class WP_List_Table {
 	 * @var array
 	 * @access private
 	 */
-	var $_pagination_args = array();
+	private $_pagination_args = array();
 
 	/**
 	 * The current screen
@@ -43,7 +44,7 @@ class WP_List_Table {
 	 * @var object
 	 * @access protected
 	 */
-	var $screen;
+	protected $screen;
 
 	/**
 	 * Cached bulk actions
@@ -52,7 +53,7 @@ class WP_List_Table {
 	 * @var array
 	 * @access private
 	 */
-	var $_actions;
+	private $_actions;
 
 	/**
 	 * Cached pagination output
@@ -61,15 +62,35 @@ class WP_List_Table {
 	 * @var string
 	 * @access private
 	 */
-	var $_pagination;
+	private $_pagination;
 
 	/**
-	 * Constructor. The child class should call this constructor from its own constructor
+	 * Constructor.
 	 *
-	 * @param array $args An associative array with information about the current table
-	 * @access protected
+	 * The child class should call this constructor from its own constructor to override
+	 * the default $args.
+	 *
+	 * @since 3.1.0
+	 * @access public
+	 *
+	 * @param array|string $args {
+	 *     Array or string of arguments.
+	 *
+	 *     @type string $plural   Plural value used for labels and the objects being listed.
+	 *                            This affects things such as CSS class-names and nonces used
+	 *                            in the list table, e.g. 'posts'. Default empty.
+	 *     @type string $singular Singular label for an object being listed, e.g. 'post'.
+	 *                            Default empty
+	 *     @type bool   $ajax     Whether the list table supports AJAX. This includes loading
+	 *                            and sorting data, for example. If true, the class will call
+	 *                            the {@see _js_vars()} method in the footer to provide variables
+	 *                            to any scripts handling AJAX events. Default false.
+	 *     @type string $screen   String containing the hook name used to determine the current
+	 *                            screen. If left null, the current screen will be automatically set.
+	 *                            Default null.
+	 * }
 	 */
-	function __construct( $args = array() ) {
+	public function __construct( $args = array() ) {
 		$args = wp_parse_args( $args, array(
 			'plural' => '',
 			'singular' => '',
@@ -95,6 +116,72 @@ class WP_List_Table {
 		}
 	}
 
+	/**
+	 * Make private properties readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to get.
+	 * @return mixed Property.
+	 */
+	public function __get( $name ) {
+		return $this->$name;
+	}
+
+	/**
+	 * Make private properties settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name  Property to set.
+	 * @param mixed  $value Property value.
+	 * @return mixed Newly-set property.
+	 */
+	public function __set( $name, $value ) {
+		return $this->$name = $value;
+	}
+
+	/**
+	 * Make private properties checkable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to check if set.
+	 * @return bool Whether the property is set.
+	 */
+	public function __isset( $name ) {
+		return isset( $this->$name );
+	}
+
+	/**
+	 * Make private properties un-settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to unset.
+	 */
+	public function __unset( $name ) {
+		unset( $this->$name );
+	}
+
+	/**
+	 * Make private/protected methods readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param callable $name      Method to call.
+	 * @param array    $arguments Arguments to pass when calling.
+	 * @return mixed|bool Return value of the callback, false otherwise.
+	 */
+	public function __call( $name, $arguments ) {
+		return call_user_func_array( array( $this, $name ), $arguments );
+	}
+
 	/**
 	 * Checks the current user's permissions
 	 * @uses wp_die()
@@ -103,7 +190,7 @@ class WP_List_Table {
 	 * @access public
 	 * @abstract
 	 */
-	function ajax_user_can() {
+	public function ajax_user_can() {
 		die( 'function WP_List_Table::ajax_user_can() must be over-ridden in a sub-class.' );
 	}
 
@@ -115,7 +202,7 @@ class WP_List_Table {
 	 * @access public
 	 * @abstract
 	 */
-	function prepare_items() {
+	public function prepare_items() {
 		die( 'function WP_List_Table::prepare_items() must be over-ridden in a sub-class.' );
 	}
 
@@ -125,7 +212,7 @@ class WP_List_Table {
 	 * @param array $args An associative array with information about the pagination
 	 * @access protected
 	 */
-	function set_pagination_args( $args ) {
+	protected function set_pagination_args( $args ) {
 		$args = wp_parse_args( $args, array(
 			'total_items' => 0,
 			'total_pages' => 0,
@@ -135,7 +222,7 @@ class WP_List_Table {
 		if ( !$args['total_pages'] && $args['per_page'] > 0 )
 			$args['total_pages'] = ceil( $args['total_items'] / $args['per_page'] );
 
-		// redirect if page number is invalid and headers are not already sent
+		// Redirect if page number is invalid and headers are not already sent.
 		if ( ! headers_sent() && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) && $args['total_pages'] > 0 && $this->get_pagenum() > $args['total_pages'] ) {
 			wp_redirect( add_query_arg( 'paged', $args['total_pages'] ) );
 			exit;
@@ -153,7 +240,7 @@ class WP_List_Table {
 	 * @param string $key
 	 * @return array
 	 */
-	function get_pagination_arg( $key ) {
+	public function get_pagination_arg( $key ) {
 		if ( 'page' == $key )
 			return $this->get_pagenum();
 
@@ -169,7 +256,7 @@ class WP_List_Table {
 	 *
 	 * @return bool
 	 */
-	function has_items() {
+	public function has_items() {
 		return !empty( $this->items );
 	}
 
@@ -179,7 +266,7 @@ class WP_List_Table {
 	 * @since 3.1.0
 	 * @access public
 	 */
-	function no_items() {
+	public function no_items() {
 		_e( 'No items found.' );
 	}
 
@@ -192,7 +279,7 @@ class WP_List_Table {
 	 * @param string $text The search button text
 	 * @param string $input_id The search input id
 	 */
-	function search_box( $text, $input_id ) {
+	public function search_box( $text, $input_id ) {
 		if ( empty( $_REQUEST['s'] ) && !$this->has_items() )
 			return;
 
@@ -224,7 +311,7 @@ class WP_List_Table {
 	 *
 	 * @return array
 	 */
-	function get_views() {
+	protected function get_views() {
 		return array();
 	}
 
@@ -234,7 +321,7 @@ class WP_List_Table {
 	 * @since 3.1.0
 	 * @access public
 	 */
-	function views() {
+	public function views() {
 		$views = $this->get_views();
 		/**
 		 * Filter the list of available list table views.
@@ -268,7 +355,7 @@ class WP_List_Table {
 	 *
 	 * @return array
 	 */
-	function get_bulk_actions() {
+	protected function get_bulk_actions() {
 		return array();
 	}
 
@@ -276,9 +363,12 @@ class WP_List_Table {
 	 * Display the bulk actions dropdown.
 	 *
 	 * @since 3.1.0
-	 * @access public
+	 * @access protected
+	 *
+	 * @param string $which The location of the bulk actions: 'top' or 'bottom'.
+	 *                      This is designated as optional for backwards-compatibility.
 	 */
-	function bulk_actions() {
+	protected function bulk_actions( $which = '' ) {
 		if ( is_null( $this->_actions ) ) {
 			$no_new_actions = $this->_actions = $this->get_bulk_actions();
 			/**
@@ -303,7 +393,8 @@ class WP_List_Table {
 		if ( empty( $this->_actions ) )
 			return;
 
-		echo "<select name='action$two'>\n";
+		echo "<label for='bulk-action-selector-" . esc_attr( $which ) . "' class='screen-reader-text'>" . __( 'Select bulk action' ) . "</label>";
+		echo "<select name='action$two' id='bulk-action-selector-" . esc_attr( $which ) . "'>\n";
 		echo "<option value='-1' selected='selected'>" . __( 'Bulk Actions' ) . "</option>\n";
 
 		foreach ( $this->_actions as $name => $title ) {
@@ -326,7 +417,10 @@ class WP_List_Table {
 	 *
 	 * @return string|bool The action name or False if no action was selected
 	 */
-	function current_action() {
+	public function current_action() {
+		if ( isset( $_REQUEST['filter_action'] ) && ! empty( $_REQUEST['filter_action'] ) )
+			return false;
+
 		if ( isset( $_REQUEST['action'] ) && -1 != $_REQUEST['action'] )
 			return $_REQUEST['action'];
 
@@ -346,7 +440,7 @@ class WP_List_Table {
 	 * @param bool $always_visible Whether the actions should be always visible
 	 * @return string
 	 */
-	function row_actions( $actions, $always_visible = false ) {
+	protected function row_actions( $actions, $always_visible = false ) {
 		$action_count = count( $actions );
 		$i = 0;
 
@@ -370,7 +464,7 @@ class WP_List_Table {
 	 * @since 3.1.0
 	 * @access protected
 	 */
-	function months_dropdown( $post_type ) {
+	protected function months_dropdown( $post_type ) {
 		global $wpdb, $wp_locale;
 
 		$months = $wpdb->get_results( $wpdb->prepare( "
@@ -397,8 +491,9 @@ class WP_List_Table {
 
 		$m = isset( $_GET['m'] ) ? (int) $_GET['m'] : 0;
 ?>
-		<select name='m'>
-			<option<?php selected( $m, 0 ); ?> value='0'><?php _e( 'All dates' ); ?></option>
+		<label for="filter-by-date" class="screen-reader-text"><?php _e( 'Filter by date' ); ?></label>
+		<select name="m" id="filter-by-date">
+			<option<?php selected( $m, 0 ); ?> value="0"><?php _e( 'All dates' ); ?></option>
 <?php
 		foreach ( $months as $arc_row ) {
 			if ( 0 == $arc_row->year )
@@ -425,7 +520,7 @@ class WP_List_Table {
 	 * @since 3.1.0
 	 * @access protected
 	 */
-	function view_switcher( $current_mode ) {
+	protected function view_switcher( $current_mode ) {
 		$modes = array(
 			'list'    => __( 'List View' ),
 			'excerpt' => __( 'Excerpt View' )
@@ -436,8 +531,15 @@ class WP_List_Table {
 		<div class="view-switch">
 <?php
 			foreach ( $modes as $mode => $title ) {
-				$class = ( $current_mode == $mode ) ? 'class="current"' : '';
-				echo "<a href='" . esc_url( add_query_arg( 'mode', $mode, $_SERVER['REQUEST_URI'] ) ) . "' $class><img id='view-switch-$mode' src='" . esc_url( includes_url( 'images/blank.gif' ) ) . "' width='20' height='20' title='$title' alt='$title' /></a>\n";
+				$classes = array( 'view-' . $mode );
+				if ( $current_mode == $mode )
+					$classes[] = 'current';
+				printf(
+					"<a href='%s' class='%s' id='view-switch-$mode'><span class='screen-reader-text'>%s</span></a>\n",
+					esc_url( add_query_arg( 'mode', $mode ) ),
+					implode( ' ', $classes ),
+					$title
+				);
 			}
 		?>
 		</div>
@@ -450,10 +552,10 @@ class WP_List_Table {
 	 * @since 3.1.0
 	 * @access protected
 	 *
-	 * @param int $post_id
-	 * @param int $pending_comments
+	 * @param int $post_id          The post ID.
+	 * @param int $pending_comments Number of pending comments.
 	 */
-	function comments_bubble( $post_id, $pending_comments ) {
+	protected function comments_bubble( $post_id, $pending_comments ) {
 		$pending_phrase = sprintf( __( '%s pending' ), number_format( $pending_comments ) );
 
 		if ( $pending_comments )
@@ -469,11 +571,11 @@ class WP_List_Table {
 	 * Get the current page number
 	 *
 	 * @since 3.1.0
-	 * @access protected
+	 * @access public
 	 *
 	 * @return int
 	 */
-	function get_pagenum() {
+	public function get_pagenum() {
 		$pagenum = isset( $_REQUEST['paged'] ) ? absint( $_REQUEST['paged'] ) : 0;
 
 		if( isset( $this->_pagination_args['total_pages'] ) && $pagenum > $this->_pagination_args['total_pages'] )
@@ -490,7 +592,7 @@ class WP_List_Table {
 	 *
 	 * @return int
 	 */
-	function get_items_per_page( $option, $default = 20 ) {
+	protected function get_items_per_page( $option, $default = 20 ) {
 		$per_page = (int) get_user_option( $option );
 		if ( empty( $per_page ) || $per_page < 1 )
 			$per_page = $default;
@@ -516,11 +618,17 @@ class WP_List_Table {
 	 * @since 3.1.0
 	 * @access protected
 	 */
-	function pagination( $which ) {
-		if ( empty( $this->_pagination_args ) )
+	protected function pagination( $which ) {
+		if ( empty( $this->_pagination_args ) ) {
 			return;
+		}
 
-		extract( $this->_pagination_args, EXTR_SKIP );
+		$total_items = $this->_pagination_args['total_items'];
+		$total_pages = $this->_pagination_args['total_pages'];
+		$infinite_scroll = false;
+		if ( isset( $this->_pagination_args['infinite_scroll'] ) ) {
+			$infinite_scroll = $this->_pagination_args['infinite_scroll'];
+		}
 
 		$output = '<span class="displaying-num">' . sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . '</span>';
 
@@ -533,11 +641,12 @@ class WP_List_Table {
 		$page_links = array();
 
 		$disable_first = $disable_last = '';
-		if ( $current == 1 )
+		if ( $current == 1 ) {
 			$disable_first = ' disabled';
-		if ( $current == $total_pages )
+		}
+		if ( $current == $total_pages ) {
 			$disable_last = ' disabled';
-
+		}
 		$page_links[] = sprintf( "<a class='%s' title='%s' href='%s'>%s</a>",
 			'first-page' . $disable_first,
 			esc_attr__( 'Go to the first page' ),
@@ -552,15 +661,16 @@ class WP_List_Table {
 			'&lsaquo;'
 		);
 
-		if ( 'bottom' == $which )
+		if ( 'bottom' == $which ) {
 			$html_current_page = $current;
-		else
-			$html_current_page = sprintf( "<input class='current-page' title='%s' type='text' name='paged' value='%s' size='%d' />",
+		} else {
+			$html_current_page = sprintf( "%s<input class='current-page' id='current-page-selector' title='%s' type='text' name='paged' value='%s' size='%d' />",
+				'<label for="current-page-selector" class="screen-reader-text">' . __( 'Select Page' ) . '</label>',
 				esc_attr__( 'Current page' ),
 				$current,
 				strlen( $total_pages )
 			);
-
+		}
 		$html_total_pages = sprintf( "<span class='total-pages'>%s</span>", number_format_i18n( $total_pages ) );
 		$page_links[] = '<span class="paging-input">' . sprintf( _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . '</span>';
 
@@ -579,15 +689,16 @@ class WP_List_Table {
 		);
 
 		$pagination_links_class = 'pagination-links';
-		if ( ! empty( $infinite_scroll ) )
+		if ( ! empty( $infinite_scroll ) ) {
 			$pagination_links_class = ' hide-if-js';
+		}
 		$output .= "\n<span class='$pagination_links_class'>" . join( "\n", $page_links ) . '</span>';
 
-		if ( $total_pages )
+		if ( $total_pages ) {
 			$page_class = $total_pages < 2 ? ' one-page' : '';
-		else
+		} else {
 			$page_class = ' no-pages';
-
+		}
 		$this->_pagination = "<div class='tablenav-pages{$page_class}'>$output</div>";
 
 		echo $this->_pagination;
@@ -598,12 +709,12 @@ class WP_List_Table {
 	 * 'internal-name' => 'Title'
 	 *
 	 * @since 3.1.0
-	 * @access protected
+	 * @access public
 	 * @abstract
 	 *
 	 * @return array
 	 */
-	function get_columns() {
+	public function get_columns() {
 		die( 'function WP_List_Table::get_columns() must be over-ridden in a sub-class.' );
 	}
 
@@ -620,7 +731,7 @@ class WP_List_Table {
 	 *
 	 * @return array
 	 */
-	function get_sortable_columns() {
+	protected function get_sortable_columns() {
 		return array();
 	}
 
@@ -632,7 +743,7 @@ class WP_List_Table {
 	 *
 	 * @return array
 	 */
-	function get_column_info() {
+	protected function get_column_info() {
 		if ( isset( $this->_column_headers ) )
 			return $this->_column_headers;
 
@@ -677,7 +788,7 @@ class WP_List_Table {
 	 *
 	 * @return int
 	 */
-	function get_column_count() {
+	public function get_column_count() {
 		list ( $columns, $hidden ) = $this->get_column_info();
 		$hidden = array_intersect( array_keys( $columns ), array_filter( $hidden ) );
 		return count( $columns ) - count( $hidden );
@@ -687,11 +798,11 @@ class WP_List_Table {
 	 * Print column headers, accounting for hidden and sortable columns.
 	 *
 	 * @since 3.1.0
-	 * @access protected
+	 * @access public
 	 *
 	 * @param bool $with_id Whether to set the id attribute or not
 	 */
-	function print_column_headers( $with_id = true ) {
+	public function print_column_headers( $with_id = true ) {
 		list( $columns, $hidden, $sortable ) = $this->get_column_info();
 
 		$current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
@@ -759,8 +870,8 @@ class WP_List_Table {
 	 * @since 3.1.0
 	 * @access public
 	 */
-	function display() {
-		extract( $this->_args );
+	public function display() {
+		$singular = $this->_args['singular'];
 
 		$this->display_tablenav( 'top' );
 
@@ -778,7 +889,10 @@ class WP_List_Table {
 	</tr>
 	</tfoot>
 
-	<tbody id="the-list"<?php if ( $singular ) echo " data-wp-lists='list:$singular'"; ?>>
+	<tbody id="the-list"<?php
+		if ( $singular ) {
+			echo " data-wp-lists='list:$singular'";
+		} ?>>
 		<?php $this->display_rows_or_placeholder(); ?>
 	</tbody>
 </table>
@@ -794,7 +908,7 @@ class WP_List_Table {
 	 *
 	 * @return array
 	 */
-	function get_table_classes() {
+	protected function get_table_classes() {
 		return array( 'widefat', 'fixed', $this->_args['plural'] );
 	}
 
@@ -804,14 +918,14 @@ class WP_List_Table {
 	 * @since 3.1.0
 	 * @access protected
 	 */
-	function display_tablenav( $which ) {
+	protected function display_tablenav( $which ) {
 		if ( 'top' == $which )
 			wp_nonce_field( 'bulk-' . $this->_args['plural'] );
 ?>
 	<div class="tablenav <?php echo esc_attr( $which ); ?>">
 
 		<div class="alignleft actions bulkactions">
-			<?php $this->bulk_actions(); ?>
+			<?php $this->bulk_actions( $which ); ?>
 		</div>
 <?php
 		$this->extra_tablenav( $which );
@@ -829,19 +943,18 @@ class WP_List_Table {
 	 * @since 3.1.0
 	 * @access protected
 	 */
-	function extra_tablenav( $which ) {}
+	protected function extra_tablenav( $which ) {}
 
 	/**
 	 * Generate the <tbody> part of the table
 	 *
 	 * @since 3.1.0
-	 * @access protected
+	 * @access public
 	 */
-	function display_rows_or_placeholder() {
+	public function display_rows_or_placeholder() {
 		if ( $this->has_items() ) {
 			$this->display_rows();
 		} else {
-			list( $columns, $hidden ) = $this->get_column_info();
 			echo '<tr class="no-items"><td class="colspanchange" colspan="' . $this->get_column_count() . '">';
 			$this->no_items();
 			echo '</td></tr>';
@@ -852,9 +965,9 @@ class WP_List_Table {
 	 * Generate the table rows
 	 *
 	 * @since 3.1.0
-	 * @access protected
+	 * @access public
 	 */
-	function display_rows() {
+	public function display_rows() {
 		foreach ( $this->items as $item )
 			$this->single_row( $item );
 	}
@@ -863,11 +976,11 @@ class WP_List_Table {
 	 * Generates content for a single row of the table
 	 *
 	 * @since 3.1.0
-	 * @access protected
+	 * @access public
 	 *
 	 * @param object $item The current item
 	 */
-	function single_row( $item ) {
+	public function single_row( $item ) {
 		static $row_class = '';
 		$row_class = ( $row_class == '' ? ' class="alternate"' : '' );
 
@@ -884,7 +997,7 @@ class WP_List_Table {
 	 *
 	 * @param object $item The current item
 	 */
-	function single_row_columns( $item ) {
+	protected function single_row_columns( $item ) {
 		list( $columns, $hidden ) = $this->get_column_info();
 
 		foreach ( $columns as $column_name => $column_display_name ) {
@@ -920,28 +1033,29 @@ class WP_List_Table {
 	 * @since 3.1.0
 	 * @access public
 	 */
-	function ajax_response() {
+	public function ajax_response() {
 		$this->prepare_items();
 
-		extract( $this->_args );
-		extract( $this->_pagination_args, EXTR_SKIP );
-
 		ob_start();
-		if ( ! empty( $_REQUEST['no_placeholder'] ) )
+		if ( ! empty( $_REQUEST['no_placeholder'] ) ) {
 			$this->display_rows();
-		else
+		} else {
 			$this->display_rows_or_placeholder();
+		}
 
 		$rows = ob_get_clean();
 
 		$response = array( 'rows' => $rows );
 
-		if ( isset( $total_items ) )
-			$response['total_items_i18n'] = sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) );
-
-		if ( isset( $total_pages ) ) {
-			$response['total_pages'] = $total_pages;
-			$response['total_pages_i18n'] = number_format_i18n( $total_pages );
+		if ( isset( $this->_pagination_args['total_items'] ) ) {
+			$response['total_items_i18n'] = sprintf(
+				_n( '1 item', '%s items', $this->_pagination_args['total_items'] ),
+				number_format_i18n( $this->_pagination_args['total_items'] )
+			);
+		}
+		if ( isset( $this->_pagination_args['total_pages'] ) ) {
+			$response['total_pages'] = $this->_pagination_args['total_pages'];
+			$response['total_pages_i18n'] = number_format_i18n( $this->_pagination_args['total_pages'] );
 		}
 
 		die( json_encode( $response ) );
@@ -950,9 +1064,9 @@ class WP_List_Table {
 	/**
 	 * Send required variables to JavaScript land
 	 *
-	 * @access private
+	 * @access public
 	 */
-	function _js_vars() {
+	public function _js_vars() {
 		$args = array(
 			'class'  => get_class( $this ),
 			'screen' => array(
diff --git a/wp-admin/includes/class-wp-media-list-table.php b/wp-admin/includes/class-wp-media-list-table.php
index 48e436398..237c99d15 100644
--- a/wp-admin/includes/class-wp-media-list-table.php
+++ b/wp-admin/includes/class-wp-media-list-table.php
@@ -9,8 +9,18 @@
  */
 class WP_Media_List_Table extends WP_List_Table {
 
-	function __construct( $args = array() ) {
-		$this->detached = isset( $_REQUEST['detached'] ) || isset( $_REQUEST['find_detached'] );
+	/**
+	 * Constructor.
+	 *
+	 * @since 3.1.0
+	 * @access public
+	 *
+	 * @see WP_List_Table::__construct() for more information on default arguments.
+	 *
+	 * @param array $args An associative array of arguments.
+	 */
+	public function __construct( $args = array() ) {
+		$this->detached = ( isset( $_REQUEST['attachment-filter'] ) && 'detached' === $_REQUEST['attachment-filter'] );
 
 		parent::__construct( array(
 			'plural' => 'media',
@@ -18,21 +28,18 @@ class WP_Media_List_Table extends WP_List_Table {
 		) );
 	}
 
-	function ajax_user_can() {
+	public function ajax_user_can() {
 		return current_user_can('upload_files');
 	}
 
-	function prepare_items() {
-		global $lost, $wpdb, $wp_query, $post_mime_types, $avail_post_mime_types;
+	public function prepare_items() {
+		global $wp_query, $post_mime_types, $avail_post_mime_types, $mode;
 
-		$q = $_REQUEST;
+		list( $post_mime_types, $avail_post_mime_types ) = wp_edit_attachments_query( $_REQUEST );
 
-		if ( !empty( $lost ) )
-			$q['post__in'] = implode( ',', $lost );
+ 		$this->is_trash = isset( $_REQUEST['attachment-filter'] ) && 'trash' == $_REQUEST['attachment-filter'];
 
-		list( $post_mime_types, $avail_post_mime_types ) = wp_edit_attachments_query( $q );
-
- 		$this->is_trash = isset( $_REQUEST['status'] ) && 'trash' == $_REQUEST['status'];
+ 		$mode = empty( $_REQUEST['mode'] ) ? 'list' : $_REQUEST['mode'];
 
 		$this->set_pagination_args( array(
 			'total_items' => $wp_query->found_posts,
@@ -41,7 +48,7 @@ class WP_Media_List_Table extends WP_List_Table {
 		) );
 	}
 
-	function get_views() {
+	protected function get_views() {
 		global $wpdb, $post_mime_types, $avail_post_mime_types;
 
 		$type_links = array();
@@ -53,28 +60,27 @@ class WP_Media_List_Table extends WP_List_Table {
 			foreach ( $reals as $real )
 				$num_posts[$type] = ( isset( $num_posts[$type] ) ) ? $num_posts[$type] + $_num_posts[$real] : $_num_posts[$real];
 
-		$class = ( empty($_GET['post_mime_type']) && !$this->detached && !isset($_GET['status']) ) ? ' class="current"' : '';
-		$type_links['all'] = "<a href='upload.php'$class>" . sprintf( _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $_total_posts, 'uploaded files' ), number_format_i18n( $_total_posts ) ) . '</a>';
+		$selected = empty( $_GET['attachment-filter'] ) ? ' selected="selected"' : '';
+		$type_links['all'] = "<option value=''$selected>" . sprintf( _nx( 'All (%s)', 'All (%s)', $_total_posts, 'uploaded files' ), number_format_i18n( $_total_posts ) ) . '</option>';
 		foreach ( $post_mime_types as $mime_type => $label ) {
-			$class = '';
-
 			if ( !wp_match_mime_types($mime_type, $avail_post_mime_types) )
 				continue;
 
-			if ( !empty($_GET['post_mime_type']) && wp_match_mime_types($mime_type, $_GET['post_mime_type']) )
-				$class = ' class="current"';
+			$selected = '';
+			if ( !empty( $_GET['attachment-filter'] ) && strpos( $_GET['attachment-filter'], 'post_mime_type:' ) === 0 && wp_match_mime_types( $mime_type, str_replace( 'post_mime_type:', '', $_GET['attachment-filter'] ) ) )
+				$selected = ' selected="selected"';
 			if ( !empty( $num_posts[$mime_type] ) )
-				$type_links[$mime_type] = "<a href='upload.php?post_mime_type=$mime_type'$class>" . sprintf( translate_nooped_plural( $label[2], $num_posts[$mime_type] ), number_format_i18n( $num_posts[$mime_type] )) . '</a>';
+				$type_links[$mime_type] = '<option value="post_mime_type:' . urlencode( $mime_type ) . '"' . $selected . '>' . sprintf( translate_nooped_plural( $label[2], $num_posts[$mime_type] ), number_format_i18n( $num_posts[$mime_type] )) . '</option>';
 		}
-		$type_links['detached'] = '<a href="upload.php?detached=1"' . ( $this->detached ? ' class="current"' : '' ) . '>' . sprintf( _nx( 'Unattached <span class="count">(%s)</span>', 'Unattached <span class="count">(%s)</span>', $total_orphans, 'detached files' ), number_format_i18n( $total_orphans ) ) . '</a>';
+		$type_links['detached'] = '<option value="detached"' . ( $this->detached ? ' selected="selected"' : '' ) . '>' . sprintf( _nx( 'Unattached (%s)', 'Unattached (%s)', $total_orphans, 'detached files' ), number_format_i18n( $total_orphans ) ) . '</option>';
 
 		if ( !empty($_num_posts['trash']) )
-			$type_links['trash'] = '<a href="upload.php?status=trash"' . ( (isset($_GET['status']) && $_GET['status'] == 'trash' ) ? ' class="current"' : '') . '>' . sprintf( _nx( 'Trash <span class="count">(%s)</span>', 'Trash <span class="count">(%s)</span>', $_num_posts['trash'], 'uploaded files' ), number_format_i18n( $_num_posts['trash'] ) ) . '</a>';
+			$type_links['trash'] = '<option value="trash"' . ( (isset($_GET['attachment-filter']) && $_GET['attachment-filter'] == 'trash' ) ? ' selected="selected"' : '') . '>' . sprintf( _nx( 'Trash (%s)', 'Trash (%s)', $_num_posts['trash'], 'uploaded files' ), number_format_i18n( $_num_posts['trash'] ) ) . '</option>';
 
 		return $type_links;
 	}
 
-	function get_bulk_actions() {
+	protected function get_bulk_actions() {
 		$actions = array();
 		$actions['delete'] = __( 'Delete Permanently' );
 		if ( $this->detached )
@@ -83,31 +89,31 @@ class WP_Media_List_Table extends WP_List_Table {
 		return $actions;
 	}
 
-	function extra_tablenav( $which ) {
+	protected function extra_tablenav( $which ) {
+		if ( 'bar' !== $which ) {
+			return;
+		}
 ?>
-		<div class="alignleft actions">
+		<div class="actions">
 <?php
-		if ( 'top' == $which && !is_singular() && !$this->detached && !$this->is_trash ) {
-			$this->months_dropdown( 'attachment' );
+		if ( ! is_singular() ) {
+			if ( ! $this->is_trash ) {
+				$this->months_dropdown( 'attachment' );
+			}
 
 			/** This action is documented in wp-admin/includes/class-wp-posts-list-table.php */
 			do_action( 'restrict_manage_posts' );
-			submit_button( __( 'Filter' ), 'button', false, false, array( 'id' => 'post-query-submit' ) );
+			submit_button( __( 'Filter' ), 'button', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
 		}
 
-		if ( $this->detached ) {
-			submit_button( __( 'Scan for lost attachments' ), 'secondary', 'find_detached', false );
-		} elseif ( $this->is_trash && current_user_can( 'edit_others_posts' ) ) {
+		if ( $this->is_trash && current_user_can( 'edit_others_posts' ) ) {
 			submit_button( __( 'Empty Trash' ), 'apply', 'delete_all', false );
 		} ?>
 		</div>
 <?php
 	}
 
-	function current_action() {
-		if ( isset( $_REQUEST['find_detached'] ) )
-			return 'find_detached';
-
+	public function current_action() {
 		if ( isset( $_REQUEST['found_post_id'] ) && isset( $_REQUEST['media'] ) )
 			return 'attach';
 
@@ -117,15 +123,97 @@ class WP_Media_List_Table extends WP_List_Table {
 		return parent::current_action();
 	}
 
-	function has_items() {
+	public function has_items() {
 		return have_posts();
 	}
 
-	function no_items() {
+	public function no_items() {
 		_e( 'No media attachments found.' );
 	}
 
-	function get_columns() {
+	protected function pagination( $which ) {
+		global $mode;
+
+		parent::pagination( $which );
+	}
+
+	/**
+	 * Display a view switcher
+	 *
+	 * @since 3.1.0
+	 * @access protected
+	 */
+	protected function view_switcher( $current_mode ) {
+		$modes = array(
+			'list'    => __( 'List View' ),
+			'grid' => __( 'Grid View' )
+		);
+
+?>
+		<input type="hidden" name="mode" value="<?php echo esc_attr( $current_mode ); ?>" />
+		<div class="view-switch">
+<?php
+			foreach ( $modes as $mode => $title ) {
+				$classes = array( 'view-' . $mode );
+				if ( $current_mode == $mode )
+					$classes[] = 'current';
+				printf(
+					"<a href='%s' class='%s' id='view-switch-$mode'><span class='screen-reader-text'>%s</span></a>\n",
+					esc_url( add_query_arg( 'mode', $mode ) ),
+					implode( ' ', $classes ),
+					$title
+				);
+			}
+		?>
+		</div>
+<?php
+	}
+
+	/**
+	 * Override parent views so we can use the filter bar display.
+	 */
+	public function views() {
+		global $mode;
+
+		$views = $this->get_views();
+?>
+<div class="wp-filter">
+	<?php $this->view_switcher( $mode ); ?>
+
+	<select class="attachment-filters" name="attachment-filter">
+		<?php
+		if ( ! empty( $views ) ) {
+			foreach ( $views as $class => $view ) {
+				echo "\t$view\n";
+			}
+		}
+		?>
+	</select>
+
+<?php
+	$this->extra_tablenav( 'bar' );
+
+	/** This filter is documented in wp-admin/inclues/class-wp-list-table.php */
+	$views = apply_filters( "views_{$this->screen->id}", array() );
+
+	// Back compat for pre-4.0 view links.
+	if ( ! empty( $views ) ) {
+		echo '<ul class="filter-links">';
+		foreach ( $views as $class => $view ) {
+			echo "<li class='$class'>$view</li>";
+		}
+		echo '</ul>';
+	}
+?>
+
+	<div class="search-form">
+		<label for="media-search-input" class="screen-reader-text"><?php esc_html_e( 'Search Media' ); ?></label>
+		<input type="search" placeholder="<?php esc_attr_e( 'Search' ) ?>" id="media-search-input" class="search" name="s" value="<?php _admin_search_query(); ?>"></div>
+	</div>
+	<?php
+	}
+
+	public function get_columns() {
 		$posts_columns = array();
 		$posts_columns['cb'] = '<input type="checkbox" />';
 		$posts_columns['icon'] = '';
@@ -133,8 +221,6 @@ class WP_Media_List_Table extends WP_List_Table {
 		$posts_columns['title'] = _x( 'File', 'column name' );
 		$posts_columns['author'] = __( 'Author' );
 
-		$taxonomies = array();
-
 		$taxonomies = get_taxonomies_for_attachments( 'objects' );
 		$taxonomies = wp_filter_object_list( $taxonomies, array( 'show_admin_column' => true ), 'and', 'name' );
 
@@ -182,7 +268,7 @@ class WP_Media_List_Table extends WP_List_Table {
 		return $posts_columns;
 	}
 
-	function get_sortable_columns() {
+	protected function get_sortable_columns() {
 		return array(
 			'title'    => 'title',
 			'author'   => 'author',
@@ -192,7 +278,7 @@ class WP_Media_List_Table extends WP_List_Table {
 		);
 	}
 
-	function display_rows() {
+	public function display_rows() {
 		global $post;
 
 		add_filter( 'the_title','esc_html' );
@@ -209,7 +295,7 @@ class WP_Media_List_Table extends WP_List_Table {
 			$post_owner = ( get_current_user_id() == $post->post_author ) ? 'self' : 'other';
 			$att_title = _draft_or_post_title();
 ?>
-	<tr id='post-<?php echo $post->ID; ?>' class='<?php echo trim( $alt . ' author-' . $post_owner . ' status-' . $post->post_status ); ?>'>
+	<tr id="post-<?php echo $post->ID; ?>" class="<?php echo trim( $alt . ' author-' . $post_owner . ' status-' . $post->post_status ); ?>">
 <?php
 
 list( $columns, $hidden ) = $this->get_column_info();
@@ -236,7 +322,8 @@ foreach ( $columns as $column_name => $column_display_name ) {
 		break;
 
 	case 'icon':
-		$attributes = 'class="column-icon media-icon"' . $style;
+		list( $mime ) = explode( '/', $post->post_mime_type );
+		$attributes = 'class="column-icon media-icon ' . $mime . '-icon"' . $style;
 ?>
 		<td <?php echo $attributes ?>><?php
 			if ( $thumb = wp_get_attachment_image( $post->ID, array( 80, 60 ), true ) ) {
@@ -329,7 +416,7 @@ foreach ( $columns as $column_name => $column_display_name ) {
 			$parent_type = get_post_type_object( $parent->post_type );
 ?>
 			<td <?php echo $attributes ?>><strong>
-				<?php if ( current_user_can( 'edit_post', $post->post_parent ) && $parent_type && $parent_type->show_ui ) { ?>
+				<?php if ( $parent_type && $parent_type->show_ui && current_user_can( 'edit_post', $post->post_parent ) ) { ?>
 					<a href="<?php echo get_edit_post_link( $post->post_parent ); ?>">
 						<?php echo $title ?></a><?php
 				} else {
@@ -377,7 +464,6 @@ foreach ( $columns as $column_name => $column_display_name ) {
 			$taxonomy = false;
 
 		if ( $taxonomy ) {
-			$taxonomy_object = get_taxonomy( $taxonomy );
 			echo '<td ' . $attributes . '>';
 			if ( $terms = get_the_terms( $post->ID, $taxonomy ) ) {
 				$out = array();
@@ -424,7 +510,7 @@ foreach ( $columns as $column_name => $column_display_name ) {
 <?php endwhile;
 	}
 
-	function _get_row_actions( $post, $att_title ) {
+	private function _get_row_actions( $post, $att_title ) {
 		$actions = array();
 
 		if ( $this->detached ) {
diff --git a/wp-admin/includes/class-wp-ms-sites-list-table.php b/wp-admin/includes/class-wp-ms-sites-list-table.php
index fcabfd777..05c55bc77 100644
--- a/wp-admin/includes/class-wp-ms-sites-list-table.php
+++ b/wp-admin/includes/class-wp-ms-sites-list-table.php
@@ -9,18 +9,28 @@
  */
 class WP_MS_Sites_List_Table extends WP_List_Table {
 
-	function __construct( $args = array() ) {
+	/**
+	 * Constructor.
+	 *
+	 * @since 3.1.0
+	 * @access public
+	 *
+	 * @see WP_List_Table::__construct() for more information on default arguments.
+	 *
+	 * @param array $args An associative array of arguments.
+	 */
+	public function __construct( $args = array() ) {
 		parent::__construct( array(
 			'plural' => 'sites',
 			'screen' => isset( $args['screen'] ) ? $args['screen'] : null,
 		) );
 	}
 
-	function ajax_user_can() {
+	public function ajax_user_can() {
 		return current_user_can( 'manage_sites' );
 	}
 
-	function prepare_items() {
+	public function prepare_items() {
 		global $s, $mode, $wpdb;
 
 		$current_site = get_current_site();
@@ -38,10 +48,10 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
 			$s = trim($s, '*');
 		}
 
-		$like_s = esc_sql( like_escape( $s ) );
-
-		// If the network is large and a search is not being performed, show only the latest blogs with no paging in order
-		// to avoid expensive count queries.
+		/*
+		 * If the network is large and a search is not being performed, show only
+		 * the latest blogs with no paging in order to avoid expensive count queries.
+		 */
 		if ( !$s && wp_is_large_network() ) {
 			if ( !isset($_REQUEST['orderby']) )
 				$_GET['orderby'] = $_REQUEST['orderby'] = '';
@@ -58,7 +68,8 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
 					preg_match( '/^[0-9]{1,3}\.[0-9]{1,3}\.?$/', $s ) ||
 					preg_match( '/^[0-9]{1,3}\.$/', $s ) ) {
 			// IPv4 address
-			$reg_blog_ids = $wpdb->get_col( "SELECT blog_id FROM {$wpdb->registration_log} WHERE {$wpdb->registration_log}.IP LIKE ( '{$like_s}$wild' )" );
+			$sql = $wpdb->prepare( "SELECT blog_id FROM {$wpdb->registration_log} WHERE {$wpdb->registration_log}.IP LIKE %s", $wpdb->esc_like( $s ) . $wild );
+			$reg_blog_ids = $wpdb->get_col( $sql );
 
 			if ( !$reg_blog_ids )
 				$reg_blog_ids = array( 0 );
@@ -69,17 +80,18 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
 				AND {$wpdb->blogs}.blog_id IN (" . implode( ', ', $reg_blog_ids ) . ")";
 		} else {
 			if ( is_numeric($s) && empty( $wild ) ) {
-				$query .= " AND ( {$wpdb->blogs}.blog_id = '{$like_s}' )";
+				$query .= $wpdb->prepare( " AND ( {$wpdb->blogs}.blog_id = %s )", $s );
 			} elseif ( is_subdomain_install() ) {
-				$blog_s = str_replace( '.' . $current_site->domain, '', $like_s );
-				$blog_s .= $wild . '.' . $current_site->domain;
-				$query .= " AND ( {$wpdb->blogs}.domain LIKE '$blog_s' ) ";
+				$blog_s = str_replace( '.' . $current_site->domain, '', $s );
+				$blog_s = $wpdb->esc_like( $blog_s ) . $wild . $wpdb->esc_like( '.' . $current_site->domain );
+				$query .= $wpdb->prepare( " AND ( {$wpdb->blogs}.domain LIKE %s ) ", $blog_s );
 			} else {
-				if ( $like_s != trim('/', $current_site->path) )
-					$blog_s = $current_site->path . $like_s . $wild . '/';
-				else
-					$blog_s = $like_s;
-				$query .= " AND  ( {$wpdb->blogs}.path LIKE '$blog_s' )";
+				if ( $s != trim('/', $current_site->path) ) {
+					$blog_s = $wpdb->esc_like( $current_site->path . $s ) . $wild . $wpdb->esc_like( '/' );
+				} else {
+					$blog_s = $wpdb->esc_like( $s );
+				}
+				$query .= $wpdb->prepare( " AND  ( {$wpdb->blogs}.path LIKE %s )", $blog_s );
 			}
 		}
 
@@ -120,11 +132,11 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
 		) );
 	}
 
-	function no_items() {
+	public function no_items() {
 		_e( 'No sites found.' );
 	}
 
-	function get_bulk_actions() {
+	protected function get_bulk_actions() {
 		$actions = array();
 		if ( current_user_can( 'delete_sites' ) )
 			$actions['delete'] = __( 'Delete' );
@@ -134,7 +146,7 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
 		return $actions;
 	}
 
-	function pagination( $which ) {
+	protected function pagination( $which ) {
 		global $mode;
 
 		parent::pagination( $which );
@@ -143,7 +155,7 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
 			$this->view_switcher( $mode );
 	}
 
-	function get_columns() {
+	public function get_columns() {
 		$blogname_columns = ( is_subdomain_install() ) ? __( 'Domain' ) : __( 'Path' );
 		$sites_columns = array(
 			'cb'          => '<input type="checkbox" />',
@@ -169,7 +181,7 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
 		return $sites_columns;
 	}
 
-	function get_sortable_columns() {
+	protected function get_sortable_columns() {
 		return array(
 			'blogname'    => 'blogname',
 			'lastupdated' => 'lastupdated',
@@ -177,7 +189,7 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
 		);
 	}
 
-	function display_rows() {
+	public function display_rows() {
 		global $mode;
 
 		$status_list = array(
@@ -187,6 +199,12 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
 			'mature'   => array( 'site-mature', __( 'Mature' ) )
 		);
 
+		if ( 'list' == $mode ) {
+			$date = 'Y/m/d';
+		} else {
+			$date = 'Y/m/d \<\b\r \/\> g:i:s a';
+		}
+
 		$class = '';
 		foreach ( $this->items as $blog ) {
 			$class = ( 'alternate' == $class ) ? '' : 'alternate';
@@ -307,10 +325,6 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
 
 					case 'lastupdated':
 						echo "<td class='$column_name column-$column_name'$style>";
-							if ( 'list' == $mode )
-								$date = 'Y/m/d';
-							else
-								$date = 'Y/m/d \<\b\r \/\> g:i:s a';
 							echo ( $blog['last_updated'] == '0000-00-00 00:00:00' ) ? __( 'Never' ) : mysql2date( $date, $blog['last_updated'] ); ?>
 						</td>
 					<?php
diff --git a/wp-admin/includes/class-wp-ms-themes-list-table.php b/wp-admin/includes/class-wp-ms-themes-list-table.php
index 59183c311..c4afa238f 100644
--- a/wp-admin/includes/class-wp-ms-themes-list-table.php
+++ b/wp-admin/includes/class-wp-ms-themes-list-table.php
@@ -9,10 +9,20 @@
  */
 class WP_MS_Themes_List_Table extends WP_List_Table {
 
-	var $site_id;
-	var $is_site_themes;
-
-	function __construct( $args = array() ) {
+	public $site_id;
+	public $is_site_themes;
+
+	/**
+	 * Constructor.
+	 *
+	 * @since 3.1.0
+	 * @access public
+	 *
+	 * @see WP_List_Table::__construct() for more information on default arguments.
+	 *
+	 * @param array $args An associative array of arguments.
+	 */
+	public function __construct( $args = array() ) {
 		global $status, $page;
 
 		parent::__construct( array(
@@ -32,18 +42,19 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
 			$this->site_id = isset( $_REQUEST['id'] ) ? intval( $_REQUEST['id'] ) : 0;
 	}
 
-	function get_table_classes() {
-		return array( 'widefat', 'plugins' );	// todo: remove and add CSS for .themes
+	protected function get_table_classes() {
+		// todo: remove and add CSS for .themes
+		return array( 'widefat', 'plugins' );
 	}
 
-	function ajax_user_can() {
+	public function ajax_user_can() {
 		if ( $this->is_site_themes )
 			return current_user_can( 'manage_sites' );
 		else
 			return current_user_can( 'manage_network_themes' );
 	}
 
-	function prepare_items() {
+	public function prepare_items() {
 		global $status, $totals, $page, $orderby, $order, $s;
 
 		wp_reset_vars( array( 'orderby', 'order', 's' ) );
@@ -131,7 +142,7 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
 		) );
 	}
 
-	function _search_callback( $theme ) {
+	public function _search_callback( $theme ) {
 		static $term;
 		if ( is_null( $term ) )
 			$term = wp_unslash( $_REQUEST['s'] );
@@ -152,7 +163,7 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
 	}
 
 	// Not used by any core columns.
-	function _order_callback( $theme_a, $theme_b ) {
+	public function _order_callback( $theme_a, $theme_b ) {
 		global $orderby, $order;
 
 		$a = $theme_a[ $orderby ];
@@ -167,14 +178,14 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
 			return ( $a < $b ) ? -1 : 1;
 	}
 
-	function no_items() {
+	public function no_items() {
 		if ( ! $this->has_items )
 			_e( 'No themes found.' );
 		else
 			_e( 'You do not appear to have any themes available at this time.' );
 	}
 
-	function get_columns() {
+	public function get_columns() {
 		global $status;
 
 		return array(
@@ -184,13 +195,13 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
 		);
 	}
 
-	function get_sortable_columns() {
+	protected function get_sortable_columns() {
 		return array(
 			'name'         => 'name',
 		);
 	}
 
-	function get_views() {
+	protected function get_views() {
 		global $totals, $status;
 
 		$status_links = array();
@@ -233,7 +244,7 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
 		return $status_links;
 	}
 
-	function get_bulk_actions() {
+	protected function get_bulk_actions() {
 		global $status;
 
 		$actions = array();
@@ -250,12 +261,12 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
 		return $actions;
 	}
 
-	function display_rows() {
+	public function display_rows() {
 		foreach ( $this->items as $theme )
 			$this->single_row( $theme );
 	}
 
-	function single_row( $theme ) {
+	public function single_row( $theme ) {
 		global $status, $page, $s, $totals;
 
 		$context = $status;
@@ -268,7 +279,7 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
 			$allowed = $theme->is_allowed( 'network' );
 		}
 
-		// preorder
+		// Pre-order.
 		$actions = array(
 			'enable' => '',
 			'disable' => '',
diff --git a/wp-admin/includes/class-wp-ms-users-list-table.php b/wp-admin/includes/class-wp-ms-users-list-table.php
index df0640686..78f8f327d 100644
--- a/wp-admin/includes/class-wp-ms-users-list-table.php
+++ b/wp-admin/includes/class-wp-ms-users-list-table.php
@@ -9,11 +9,11 @@
  */
 class WP_MS_Users_List_Table extends WP_List_Table {
 
-	function ajax_user_can() {
+	public function ajax_user_can() {
 		return current_user_can( 'manage_network_users' );
 	}
 
-	function prepare_items() {
+	public function prepare_items() {
 		global $usersearch, $role, $wpdb, $mode;
 
 		$usersearch = isset( $_REQUEST['s'] ) ? wp_unslash( trim( $_REQUEST['s'] ) ) : '';
@@ -40,8 +40,11 @@ class WP_MS_Users_List_Table extends WP_List_Table {
 			$args['include'] = $wpdb->get_col( "SELECT ID FROM $wpdb->users WHERE user_login IN ('$logins')" );
 		}
 
-		// If the network is large and a search is not being performed, show only the latest users with no paging in order
-		// to avoid expensive count queries.
+		/*
+		 * If the network is large and a search is not being performed,
+		 * show only the latest users with no paging in order to avoid
+		 * expensive count queries.
+		 */
 		if ( !$usersearch && wp_is_large_network( 'users' ) ) {
 			if ( !isset($_REQUEST['orderby']) )
 				$_GET['orderby'] = $_REQUEST['orderby'] = 'id';
@@ -69,7 +72,7 @@ class WP_MS_Users_List_Table extends WP_List_Table {
 		) );
 	}
 
-	function get_bulk_actions() {
+	protected function get_bulk_actions() {
 		$actions = array();
 		if ( current_user_can( 'delete_users' ) )
 			$actions['delete'] = __( 'Delete' );
@@ -79,18 +82,17 @@ class WP_MS_Users_List_Table extends WP_List_Table {
 		return $actions;
 	}
 
-	function no_items() {
+	public function no_items() {
 		_e( 'No users found.' );
 	}
 
-	function get_views() {
-		global $wp_roles, $role;
+	protected function get_views() {
+		global $role;
 
 		$total_users = get_user_count();
 		$super_admins = get_super_admins();
 		$total_admins = count( $super_admins );
 
-		$current_role = false;
 		$class = $role != 'super' ? ' class="current"' : '';
 		$role_links = array();
 		$role_links['all'] = "<a href='" . network_admin_url('users.php') . "'$class>" . sprintf( _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $total_users, 'users' ), number_format_i18n( $total_users ) ) . '</a>';
@@ -100,7 +102,7 @@ class WP_MS_Users_List_Table extends WP_List_Table {
 		return $role_links;
 	}
 
-	function pagination( $which ) {
+	protected function pagination( $which ) {
 		global $mode;
 
 		parent::pagination ( $which );
@@ -109,7 +111,7 @@ class WP_MS_Users_List_Table extends WP_List_Table {
 			$this->view_switcher( $mode );
 	}
 
-	function get_columns() {
+	public function get_columns() {
 		$users_columns = array(
 			'cb'         => '<input type="checkbox" />',
 			'username'   => __( 'Username' ),
@@ -131,7 +133,7 @@ class WP_MS_Users_List_Table extends WP_List_Table {
 		return $users_columns;
 	}
 
-	function get_sortable_columns() {
+	protected function get_sortable_columns() {
 		return array(
 			'username'   => 'login',
 			'name'       => 'name',
@@ -140,7 +142,7 @@ class WP_MS_Users_List_Table extends WP_List_Table {
 		);
 	}
 
-	function display_rows() {
+	public function display_rows() {
 		global $mode;
 
 		$alt = '';
diff --git a/wp-admin/includes/class-wp-plugin-install-list-table.php b/wp-admin/includes/class-wp-plugin-install-list-table.php
index 868c08caa..1252227ed 100644
--- a/wp-admin/includes/class-wp-plugin-install-list-table.php
+++ b/wp-admin/includes/class-wp-plugin-install-list-table.php
@@ -9,11 +9,44 @@
  */
 class WP_Plugin_Install_List_Table extends WP_List_Table {
 
-	function ajax_user_can() {
+	var $order = 'ASC';
+	var $orderby = null;
+	var $groups = array();
+
+	public function ajax_user_can() {
 		return current_user_can('install_plugins');
 	}
 
-	function prepare_items() {
+	/**
+	 * Return a list of slugs of installed plugins, if known.
+	 *
+	 * Uses the transient data from the updates API to determine the slugs of
+	 * known installed plugins. This might be better elsewhere, perhaps even
+	 * within get_plugins().
+	 *
+	 * @since 4.0.0
+	 * @access protected
+	 */
+	protected function get_installed_plugin_slugs() {
+		$slugs = array();
+
+		$plugin_info = get_site_transient( 'update_plugins' );
+		if ( isset( $plugin_info->no_update ) ) {
+			foreach ( $plugin_info->no_update as $plugin ) {
+				$slugs[] = $plugin->slug;
+			}
+		}
+
+		if ( isset( $plugin_info->response ) ) {
+			foreach ( $plugin_info->response as $plugin ) {
+				$slugs[] = $plugin->slug;
+			}
+		}
+
+		return $slugs;
+	}
+
+	public function prepare_items() {
 		include( ABSPATH . 'wp-admin/includes/plugin-install.php' );
 
 		global $tabs, $tab, $paged, $type, $term;
@@ -26,16 +59,22 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
 
 		// These are the tabs which are shown on the page
 		$tabs = array();
-		$tabs['dashboard'] = __( 'Search' );
+
 		if ( 'search' == $tab )
 			$tabs['search']	= __( 'Search Results' );
-		$tabs['upload']    = __( 'Upload' );
 		$tabs['featured']  = _x( 'Featured', 'Plugin Installer' );
 		$tabs['popular']   = _x( 'Popular', 'Plugin Installer' );
-		$tabs['new']       = _x( 'Newest', 'Plugin Installer' );
 		$tabs['favorites'] = _x( 'Favorites', 'Plugin Installer' );
+		if ( $tab === 'beta' || false !== strpos( $GLOBALS['wp_version'], '-' ) ) {
+			$tabs['beta']      = _x( 'Beta Testing', 'Plugin Installer' );
+		}
+		if ( current_user_can( 'upload_plugins' ) ) {
+			// No longer a real tab. Here for filter compatibility.
+			// Gets skipped in get_views().
+			$tabs['upload'] = __( 'Upload Plugin' );
+		}
 
-		$nonmenu_tabs = array( 'plugin-information' ); //Valid actions to perform which do not have a Menu item.
+		$nonmenu_tabs = array( 'plugin-information' ); // Valid actions to perform which do not have a Menu item.
 
 		/**
 		 * Filter the tabs shown on the Plugin Install screen.
@@ -60,7 +99,14 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
 		if ( empty( $tab ) || ( !isset( $tabs[ $tab ] ) && !in_array( $tab, (array) $nonmenu_tabs ) ) )
 			$tab = key( $tabs );
 
-		$args = array( 'page' => $paged, 'per_page' => $per_page );
+		$args = array(
+			'page' => $paged,
+			'per_page' => $per_page,
+			'fields' => array( 'last_updated' => true, 'downloaded' => true, 'icons' => true ),
+			// Send the locale and installed plugin slugs to the API so it can provide context-sensitive results.
+			'locale' => get_locale(),
+			'installed_plugins' => $this->get_installed_plugin_slugs(),
+		);
 
 		switch ( $tab ) {
 			case 'search':
@@ -79,12 +125,15 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
 						break;
 				}
 
-				add_action( 'install_plugins_table_header', 'install_search_form', 10, 0 );
 				break;
 
 			case 'featured':
+				$args['fields']['group'] = true;
+				$this->orderby = 'group';
+				// No break!
 			case 'popular':
 			case 'new':
+			case 'beta':
 				$args['browse'] = $tab;
 				break;
 
@@ -122,35 +171,108 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
 
 		$api = plugins_api( 'query_plugins', $args );
 
-		if ( is_wp_error( $api ) )
-			wp_die( $api->get_error_message() . '</p> <p class="hide-if-no-js"><a href="#" onclick="document.location.reload(); return false;">' . __( 'Try again' ) . '</a>' );
+		if ( is_wp_error( $api ) ) {
+			$this->error = $api;
+			return;
+		}
 
 		$this->items = $api->plugins;
 
+		if ( $this->orderby ) {
+			uasort( $this->items, array( $this, 'order_callback' ) );
+		}
+
 		$this->set_pagination_args( array(
 			'total_items' => $api->info['results'],
 			'per_page' => $args['per_page'],
 		) );
+
+		if ( isset( $api->info['groups'] ) ) {
+			$this->groups = $api->info['groups'];
+		}
 	}
 
-	function no_items() {
-		_e( 'No plugins match your request.' );
+	public function no_items() {
+		if ( isset( $this->error ) ) {
+			$message = $this->error->get_error_message() . '<p class="hide-if-no-js"><a href="#" class="button" onclick="document.location.reload(); return false;">' . __( 'Try again' ) . '</a></p>';
+		} else {
+			$message = __( 'No plugins match your request.' );
+		}
+		echo '<div class="no-plugin-results">' . $message . '</div>';
 	}
 
-	function get_views() {
+	protected function get_views() {
 		global $tabs, $tab;
 
 		$display_tabs = array();
 		foreach ( (array) $tabs as $action => $text ) {
-			$class = ( $action == $tab ) ? ' class="current"' : '';
+			$class = ( $action == $tab ) ? ' current' : '';
 			$href = self_admin_url('plugin-install.php?tab=' . $action);
-			$display_tabs['plugin-install-'.$action] = "<a href='$href'$class>$text</a>";
+			$display_tabs['plugin-install-'.$action] = "<a href='$href' class='$class'>$text</a>";
 		}
+		// No longer a real tab.
+		unset( $display_tabs['plugin-install-upload'] );
 
 		return $display_tabs;
 	}
 
-	function display_tablenav( $which ) {
+	/**
+	 * Override parent views so we can use the filter bar display.
+	 */
+	public function views() {
+		$views = $this->get_views();
+
+		/** This filter is documented in wp-admin/inclues/class-wp-list-table.php */
+		$views = apply_filters( "views_{$this->screen->id}", $views );
+
+?>
+<div class="wp-filter">
+	<ul class="filter-links">
+		<?php
+		if ( ! empty( $views ) ) {
+			foreach ( $views as $class => $view ) {
+				$views[ $class ] = "\t<li class='$class'>$view";
+			}
+			echo implode( " </li>\n", $views ) . "</li>\n";
+		}
+		?>
+	</ul>
+
+	<?php install_search_form( isset( $views['plugin-install-search'] ) ); ?>
+</div>
+<?php
+	}
+
+	/**
+	 * Override the parent display() so we can provide a different container.
+	 */
+	public function display() {
+		$singular = $this->_args['singular'];
+
+		$data_attr = '';
+
+		if ( $singular ) {
+			$data_attr = " data-wp-lists='list:$singular'";
+		}
+
+		$this->display_tablenav( 'top' );
+
+?>
+<div class="wp-list-table <?php echo implode( ' ', $this->get_table_classes() ); ?>">
+
+	<div id="the-list"<?php echo $data_attr; ?>>
+		<?php $this->display_rows_or_placeholder(); ?>
+	</div>
+</div>
+<?php
+		$this->display_tablenav( 'bottom' );
+	}
+
+	protected function display_tablenav( $which ) {
+		if ( $GLOBALS['tab'] === 'featured' ) {
+			return;
+		}
+
 		if ( 'top' ==  $which ) { ?>
 			<div class="tablenav top">
 				<div class="alignleft actions">
@@ -174,22 +296,35 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
 		}
 	}
 
-	function get_table_classes() {
-		extract( $this->_args );
+	protected function get_table_classes() {
+		return array( 'widefat', $this->_args['plural'] );
+	}
 
-		return array( 'widefat', $plural );
+	public function get_columns() {
+		return array();
 	}
 
-	function get_columns() {
-		return array(
-			'name'        => _x( 'Name', 'plugin name' ),
-			'version'     => __( 'Version' ),
-			'rating'      => __( 'Rating' ),
-			'description' => __( 'Description' ),
-		);
+	private function order_callback( $plugin_a, $plugin_b ) {
+		$orderby = $this->orderby;
+		if ( ! isset( $plugin_a->$orderby, $plugin_b->$orderby ) ) {
+			return 0;
+		}
+
+		$a = $plugin_a->$orderby;
+		$b = $plugin_b->$orderby;
+
+		if ( $a == $b ) {
+			return 0;
+		}
+
+		if ( 'DESC' == $this->order ) {
+			return ( $a < $b ) ? 1 : -1;
+		} else {
+			return ( $a < $b ) ? -1 : 1;
+		}
 	}
 
-	function display_rows() {
+	public function display_rows() {
 		$plugins_allowedtags = array(
 			'a' => array( 'href' => array(),'title' => array(), 'target' => array() ),
 			'abbr' => array( 'title' => array() ),'acronym' => array( 'title' => array() ),
@@ -197,63 +332,97 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
 			'ul' => array(), 'ol' => array(), 'li' => array(), 'p' => array(), 'br' => array()
 		);
 
-		list( $columns, $hidden ) = $this->get_column_info();
+		$plugins_group_titles = array(
+			'Performance' => _x( 'Performance', 'Plugin installer group title' ),
+			'Social'      => _x( 'Social',      'Plugin installer group title' ),
+			'Tools'       => _x( 'Tools',       'Plugin installer group title' ),
+		);
 
-		$style = array();
-		foreach ( $columns as $column_name => $column_display_name ) {
-			$style[ $column_name ] = in_array( $column_name, $hidden ) ? 'style="display:none;"' : '';
-		}
+		$group = null;
 
 		foreach ( (array) $this->items as $plugin ) {
-			if ( is_object( $plugin ) )
+			if ( is_object( $plugin ) ) {
 				$plugin = (array) $plugin;
+			}
+
+			// Display the group heading if there is one
+			if ( isset( $plugin['group'] ) && $plugin['group'] != $group ) {
+				if ( isset( $this->groups[ $plugin['group'] ] ) ) {
+					$group_name = $this->groups[ $plugin['group'] ];
+					if ( isset( $plugins_group_titles[ $group_name ] ) ) {
+						$group_name = $plugins_group_titles[ $group_name ];
+					}
+				} else {
+					$group_name = $plugin['group'];
+				}
+
+				// Starting a new group, close off the divs of the last one
+				if ( ! empty( $group ) ) {
+					echo '</div></div>';
+				}
+
+				echo '<div class="plugin-group"><h3>' . esc_html( $group_name ) . '</h3>';
+				// needs an extra wrapping div for nth-child selectors to work
+				echo '<div class="plugin-items">';
 
+				$group = $plugin['group'];
+			}
 			$title = wp_kses( $plugin['name'], $plugins_allowedtags );
-			//Limit description to 400char, and remove any HTML.
-			$description = strip_tags( $plugin['description'] );
-			if ( strlen( $description ) > 400 )
-				$description = mb_substr( $description, 0, 400 ) . '&#8230;';
-			//remove any trailing entities
-			$description = preg_replace( '/&[^;\s]{0,6}$/', '', $description );
-			//strip leading/trailing & multiple consecutive lines
-			$description = trim( $description );
-			$description = preg_replace( "|(\r?\n)+|", "\n", $description );
-			//\n => <br>
-			$description = nl2br( $description );
+
+			// Remove any HTML from the description.
+			$description = strip_tags( $plugin['short_description'] );
 			$version = wp_kses( $plugin['version'], $plugins_allowedtags );
 
 			$name = strip_tags( $title . ' ' . $version );
 
-			$author = $plugin['author'];
-			if ( ! empty( $plugin['author'] ) )
-				$author = ' <cite>' . sprintf( __( 'By %s' ), $author ) . '.</cite>';
-
-			$author = wp_kses( $author, $plugins_allowedtags );
+			$author = wp_kses( $plugin['author'], $plugins_allowedtags );
+			if ( ! empty( $author ) ) {
+				$author = ' <cite>' . sprintf( __( 'By %s' ), $author ) . '</cite>';
+			}
 
 			$action_links = array();
-			$action_links[] = '<a href="' . self_admin_url( 'plugin-install.php?tab=plugin-information&amp;plugin=' . $plugin['slug'] .
-								'&amp;TB_iframe=true&amp;width=600&amp;height=550' ) . '" class="thickbox" title="' .
-								esc_attr( sprintf( __( 'More information about %s' ), $name ) ) . '">' . __( 'Details' ) . '</a>';
 
 			if ( current_user_can( 'install_plugins' ) || current_user_can( 'update_plugins' ) ) {
 				$status = install_plugin_install_status( $plugin );
 
 				switch ( $status['status'] ) {
 					case 'install':
-						if ( $status['url'] )
-							$action_links[] = '<a class="install-now" href="' . $status['url'] . '" title="' . esc_attr( sprintf( __( 'Install %s' ), $name ) ) . '">' . __( 'Install Now' ) . '</a>';
+						if ( $status['url'] ) {
+							/* translators: 1: Plugin name and version. */
+							$action_links[] = '<a class="install-now button" href="' . $status['url'] . '" aria-label="' . esc_attr( sprintf( __( 'Install %s now' ), $name ) ) . '">' . __( 'Install Now' ) . '</a>';
+						}
+
 						break;
 					case 'update_available':
-						if ( $status['url'] )
-							$action_links[] = '<a href="' . $status['url'] . '" title="' . esc_attr( sprintf( __( 'Update to version %s' ), $status['version'] ) ) . '">' . __( 'Update Now' ) . '</a>';
+						if ( $status['url'] ) {
+							/* translators: 1: Plugin name and version */
+							$action_links[] = '<a class="button" href="' . $status['url'] . '" aria-label="' . esc_attr( sprintf( __( 'Update %s now' ), $name ) ) . '">' . __( 'Update Now' ) . '</a>';
+						}
+
 						break;
 					case 'latest_installed':
 					case 'newer_installed':
-						$action_links[] = '<span title="' . esc_attr__( 'This plugin is already installed and is up to date' ) . ' ">' . _x( 'Installed', 'plugin' ) . '</span>';
+						$action_links[] = '<span class="button button-disabled" title="' . esc_attr__( 'This plugin is already installed and is up to date' ) . ' ">' . _x( 'Installed', 'plugin' ) . '</span>';
 						break;
 				}
 			}
 
+			$details_link   = self_admin_url( 'plugin-install.php?tab=plugin-information&amp;plugin=' . $plugin['slug'] .
+								'&amp;TB_iframe=true&amp;width=600&amp;height=550' );
+
+			/* translators: 1: Plugin name and version. */
+			$action_links[] = '<a href="' . esc_url( $details_link ) . '" class="thickbox" aria-label="' . esc_attr( sprintf( __( 'More information about %s' ), $name ) ) . '" data-title="' . esc_attr( $name ) . '">' . __( 'More Details' ) . '</a>';
+
+			if ( !empty( $plugin['icons']['svg'] ) ) {
+				$plugin_icon_url = $plugin['icons']['svg'];
+			} elseif ( !empty( $plugin['icons']['2x'] ) ) {
+				$plugin_icon_url = $plugin['icons']['2x'];
+			} elseif ( !empty( $plugin['icons']['1x'] ) ) {
+				$plugin_icon_url = $plugin['icons']['1x'];
+			} else {
+				$plugin_icon_url = $plugin['icons']['default'];
+			}
+
 			/**
 			 * Filter the install action links for a plugin.
 			 *
@@ -264,17 +433,56 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
 			 */
 			$action_links = apply_filters( 'plugin_install_action_links', $action_links, $plugin );
 		?>
-		<tr>
-			<td class="name column-name"<?php echo $style['name']; ?>><strong><?php echo $title; ?></strong>
-				<div class="action-links"><?php if ( !empty( $action_links ) ) echo implode( ' | ', $action_links ); ?></div>
-			</td>
-			<td class="vers column-version"<?php echo $style['version']; ?>><?php echo $version; ?></td>
-			<td class="vers column-rating"<?php echo $style['rating']; ?>>
-				<?php wp_star_rating( array( 'rating' => $plugin['rating'], 'type' => 'percent', 'number' => $plugin['num_ratings'] ) ); ?>
-			</td>
-			<td class="desc column-description"<?php echo $style['description']; ?>><?php echo $description, $author; ?></td>
-		</tr>
+		<div class="plugin-card">
+			<div class="plugin-card-top">
+				<a href="<?php echo esc_url( $details_link ); ?>" class="thickbox plugin-icon"><img src="<?php echo esc_attr( $plugin_icon_url ) ?>" /></a>
+				<div class="name column-name">
+					<h4><a href="<?php echo esc_url( $details_link ); ?>" class="thickbox"><?php echo $title; ?></a></h4>
+				</div>
+				<div class="action-links">
+					<?php
+						if ( $action_links ) {
+							echo '<ul class="plugin-action-buttons"><li>' . implode( '</li><li>', $action_links ) . '</li></ul>';
+						}
+					?>
+				</div>
+				<div class="desc column-description">
+					<p><?php echo $description; ?></p>
+					<p class="authors"><?php echo $author; ?></p>
+				</div>
+			</div>
+			<div class="plugin-card-bottom">
+				<div class="vers column-rating">
+					<?php wp_star_rating( array( 'rating' => $plugin['rating'], 'type' => 'percent', 'number' => $plugin['num_ratings'] ) ); ?>
+					<span class="num-ratings">(<?php echo number_format_i18n( $plugin['num_ratings'] ); ?>)</span>
+				</div>
+				<div class="column-updated">
+					<strong><?php _e( 'Last Updated:' ); ?></strong> <span title="<?php echo esc_attr( $plugin['last_updated'] ); ?>">
+						<?php printf( __( '%s ago' ), human_time_diff( strtotime( $plugin['last_updated'] ) ) ); ?>
+					</span>
+				</div>
+				<div class="column-downloaded">
+					<?php echo sprintf( _n( '%s download', '%s downloads', $plugin['downloaded'] ), number_format_i18n( $plugin['downloaded'] ) ); ?>
+				</div>
+				<div class="column-compatibility">
+					<?php
+					if ( ! empty( $plugin['tested'] ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $plugin['tested'] ) ), $plugin['tested'], '>' ) ) {
+						echo '<span class="compatibility-untested">' . __( '<strong>Untested</strong> with your version of WordPress' ) . '</span>';
+					} elseif ( ! empty( $plugin['requires'] ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $plugin['requires'] ) ), $plugin['requires'], '<' ) ) {
+						echo '<span class="compatibility-incompatible">' . __( '<strong>Incompatible</strong> with your version of WordPress' ) . '</span>';
+					} else {
+						echo '<span class="compatibility-compatible">' . __( '<strong>Compatible</strong> with your version of WordPress' ) . '</span>';
+					}
+					?>
+				</div>
+			</div>
+		</div>
 		<?php
 		}
+
+		// Close off the group divs of the last one
+		if ( ! empty( $group ) ) {
+			echo '</div></div>';
+		}
 	}
 }
diff --git a/wp-admin/includes/class-wp-plugins-list-table.php b/wp-admin/includes/class-wp-plugins-list-table.php
index 653583371..9fa1261e2 100644
--- a/wp-admin/includes/class-wp-plugins-list-table.php
+++ b/wp-admin/includes/class-wp-plugins-list-table.php
@@ -9,7 +9,17 @@
  */
 class WP_Plugins_List_Table extends WP_List_Table {
 
-	function __construct( $args = array() ) {
+	/**
+	 * Constructor.
+	 *
+	 * @since 3.1.0
+	 * @access public
+	 *
+	 * @see WP_List_Table::__construct() for more information on default arguments.
+	 *
+	 * @param array $args An associative array of arguments.
+	 */
+	public function __construct( $args = array() ) {
 		global $status, $page;
 
 		parent::__construct( array(
@@ -27,15 +37,15 @@ class WP_Plugins_List_Table extends WP_List_Table {
 		$page = $this->get_pagenum();
 	}
 
-	function get_table_classes() {
+	protected function get_table_classes() {
 		return array( 'widefat', $this->_args['plural'] );
 	}
 
-	function ajax_user_can() {
+	public function ajax_user_can() {
 		return current_user_can('activate_plugins');
 	}
 
-	function prepare_items() {
+	public function prepare_items() {
 		global $status, $plugins, $totals, $page, $orderby, $order, $s;
 
 		wp_reset_vars( array( 'orderby', 'order', 's' ) );
@@ -109,7 +119,16 @@ class WP_Plugins_List_Table extends WP_List_Table {
 			update_option( 'recently_activated', $recently_activated );
 		}
 
+		$plugin_info = get_site_transient( 'update_plugins' );
+
 		foreach ( (array) $plugins['all'] as $plugin_file => $plugin_data ) {
+			// Extra info if known. array_merge() ensures $plugin_data has precedence if keys collide.
+			if ( isset( $plugin_info->response[ $plugin_file ] ) ) {
+				$plugins['all'][ $plugin_file ] = $plugin_data = array_merge( (array) $plugin_info->response[ $plugin_file ], $plugin_data );
+			} elseif ( isset( $plugin_info->no_update[ $plugin_file ] ) ) {
+				$plugins['all'][ $plugin_file ] = $plugin_data = array_merge( (array) $plugin_info->no_update[ $plugin_file ], $plugin_data );
+			}
+
 			// Filter into individual sections
 			if ( is_multisite() && ! $screen->in_admin( 'network' ) && is_network_only_plugin( $plugin_file ) && ! is_plugin_active( $plugin_file ) ) {
 				// On the non-network screen, filter out network-only plugins as long as they're not individually activated
@@ -172,7 +191,7 @@ class WP_Plugins_List_Table extends WP_List_Table {
 		) );
 	}
 
-	function _search_callback( $plugin ) {
+	public function _search_callback( $plugin ) {
 		static $term;
 		if ( is_null( $term ) )
 			$term = wp_unslash( $_REQUEST['s'] );
@@ -186,7 +205,7 @@ class WP_Plugins_List_Table extends WP_List_Table {
 		return false;
 	}
 
-	function _order_callback( $plugin_a, $plugin_b ) {
+	public function _order_callback( $plugin_a, $plugin_b ) {
 		global $orderby, $order;
 
 		$a = $plugin_a[$orderby];
@@ -201,7 +220,7 @@ class WP_Plugins_List_Table extends WP_List_Table {
 			return ( $a < $b ) ? -1 : 1;
 	}
 
-	function no_items() {
+	public function no_items() {
 		global $plugins;
 
 		if ( !empty( $plugins['all'] ) )
@@ -210,7 +229,7 @@ class WP_Plugins_List_Table extends WP_List_Table {
 			_e( 'You do not appear to have any plugins available at this time.' );
 	}
 
-	function get_columns() {
+	public function get_columns() {
 		global $status;
 
 		return array(
@@ -220,11 +239,11 @@ class WP_Plugins_List_Table extends WP_List_Table {
 		);
 	}
 
-	function get_sortable_columns() {
+	protected function get_sortable_columns() {
 		return array();
 	}
 
-	function get_views() {
+	protected function get_views() {
 		global $totals, $status;
 
 		$status_links = array();
@@ -268,7 +287,7 @@ class WP_Plugins_List_Table extends WP_List_Table {
 		return $status_links;
 	}
 
-	function get_bulk_actions() {
+	protected function get_bulk_actions() {
 		global $status;
 
 		$actions = array();
@@ -289,16 +308,16 @@ class WP_Plugins_List_Table extends WP_List_Table {
 		return $actions;
 	}
 
-	function bulk_actions() {
+	public function bulk_actions( $which = '' ) {
 		global $status;
 
 		if ( in_array( $status, array( 'mustuse', 'dropins' ) ) )
 			return;
 
-		parent::bulk_actions();
+		parent::bulk_actions( $which );
 	}
 
-	function extra_tablenav( $which ) {
+	protected function extra_tablenav( $which ) {
 		global $status;
 
 		if ( ! in_array($status, array('recently_activated', 'mustuse', 'dropins') ) )
@@ -316,14 +335,14 @@ class WP_Plugins_List_Table extends WP_List_Table {
 		echo '</div>';
 	}
 
-	function current_action() {
+	public function current_action() {
 		if ( isset($_POST['clear-recent-list']) )
 			return 'clear-recent-list';
 
 		return parent::current_action();
 	}
 
-	function display_rows() {
+	public function display_rows() {
 		global $status;
 
 		if ( is_multisite() && ! $this->screen->in_admin( 'network' ) && in_array( $status, array( 'mustuse', 'dropins' ) ) )
@@ -333,17 +352,18 @@ class WP_Plugins_List_Table extends WP_List_Table {
 			$this->single_row( array( $plugin_file, $plugin_data ) );
 	}
 
-	function single_row( $item ) {
+	public function single_row( $item ) {
 		global $status, $page, $s, $totals;
 
 		list( $plugin_file, $plugin_data ) = $item;
 		$context = $status;
 		$screen = $this->screen;
 
-		// preorder
+		// Pre-order.
 		$actions = array(
 			'deactivate' => '',
 			'activate' => '',
+			'details' => '',
 			'edit' => '',
 			'delete' => '',
 		);
@@ -392,6 +412,7 @@ class WP_Plugins_List_Table extends WP_List_Table {
 					if ( ! is_multisite() && current_user_can('delete_plugins') )
 						$actions['delete'] = '<a href="' . wp_nonce_url('plugins.php?action=delete-selected&amp;checked[]=' . $plugin_file . '&amp;plugin_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'bulk-plugins') . '" title="' . esc_attr__('Delete this plugin') . '" class="delete">' . __('Delete') . '</a>';
 				} // end if $is_active
+
 			 } // end if $screen->in_admin( 'network' )
 
 			if ( ( ! is_multisite() || $screen->in_admin( 'network' ) ) && current_user_can('edit_plugins') && is_writable(WP_PLUGIN_DIR . '/' . $plugin_file) )
@@ -494,11 +515,25 @@ class WP_Plugins_List_Table extends WP_List_Table {
 					if ( !empty( $plugin_data['Author'] ) ) {
 						$author = $plugin_data['Author'];
 						if ( !empty( $plugin_data['AuthorURI'] ) )
-							$author = '<a href="' . $plugin_data['AuthorURI'] . '" title="' . esc_attr__( 'Visit author homepage' ) . '">' . $plugin_data['Author'] . '</a>';
+							$author = '<a href="' . $plugin_data['AuthorURI'] . '">' . $plugin_data['Author'] . '</a>';
 						$plugin_meta[] = sprintf( __( 'By %s' ), $author );
 					}
-					if ( ! empty( $plugin_data['PluginURI'] ) )
-						$plugin_meta[] = '<a href="' . $plugin_data['PluginURI'] . '" title="' . esc_attr__( 'Visit plugin site' ) . '">' . __( 'Visit plugin site' ) . '</a>';
+
+					// Details link using API info, if available
+					if ( isset( $plugin_data['slug'] ) && current_user_can( 'install_plugins' ) ) {
+						$plugin_meta[] = sprintf( '<a href="%s" class="thickbox" aria-label="%s" data-title="%s">%s</a>',
+							esc_url( network_admin_url( 'plugin-install.php?tab=plugin-information&plugin=' . $plugin_data['slug'] .
+								'&TB_iframe=true&width=600&height=550' ) ),
+							esc_attr( sprintf( __( 'More information about %s' ), $plugin_name ) ),
+							esc_attr( $plugin_name ),
+							__( 'View details' )
+						);
+					} elseif ( ! empty( $plugin_data['PluginURI'] ) ) {
+						$plugin_meta[] = sprintf( '<a href="%s">%s</a>',
+							esc_url( $plugin_data['PluginURI'] ),
+							__( 'Visit plugin site' )
+						);
+					}
 
 					/**
 					 * Filter the array of row meta for each plugin in the Plugins list table.
diff --git a/wp-admin/includes/class-wp-posts-list-table.php b/wp-admin/includes/class-wp-posts-list-table.php
index 1e763f2ff..5914aea92 100644
--- a/wp-admin/includes/class-wp-posts-list-table.php
+++ b/wp-admin/includes/class-wp-posts-list-table.php
@@ -16,7 +16,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 	 * @var bool
 	 * @access protected
 	 */
-	var $hierarchical_display;
+	protected $hierarchical_display;
 
 	/**
 	 * Holds the number of pending comments for each post
@@ -25,7 +25,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 	 * @var int
 	 * @access protected
 	 */
-	var $comment_pending_count;
+	protected $comment_pending_count;
 
 	/**
 	 * Holds the number of posts for this user
@@ -34,7 +34,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 	 * @var int
 	 * @access private
 	 */
-	var $user_posts_count;
+	private $user_posts_count;
 
 	/**
 	 * Holds the number of posts which are sticky.
@@ -43,9 +43,19 @@ class WP_Posts_List_Table extends WP_List_Table {
 	 * @var int
 	 * @access private
 	 */
-	var $sticky_posts_count = 0;
+	private $sticky_posts_count = 0;
 
-	function __construct( $args = array() ) {
+	/**
+	 * Constructor.
+	 *
+	 * @since 3.1.0
+	 * @access public
+	 *
+	 * @see WP_List_Table::__construct() for more information on default arguments.
+	 *
+	 * @param array $args An associative array of arguments.
+	 */
+	public function __construct( $args = array() ) {
 		global $post_type_object, $wpdb;
 
 		parent::__construct( array(
@@ -74,11 +84,11 @@ class WP_Posts_List_Table extends WP_List_Table {
 		}
 	}
 
-	function ajax_user_can() {
+	public function ajax_user_can() {
 		return current_user_can( get_post_type_object( $this->screen->post_type )->cap->edit_posts );
 	}
 
-	function prepare_items() {
+	public function prepare_items() {
 		global $avail_post_stati, $wp_query, $per_page, $mode;
 
 		$avail_post_stati = wp_edit_posts_query();
@@ -98,7 +108,12 @@ class WP_Posts_List_Table extends WP_List_Table {
 		else
 			$total_pages = $wp_query->max_num_pages;
 
-		$mode = empty( $_REQUEST['mode'] ) ? 'list' : $_REQUEST['mode'];
+		if ( ! empty( $_REQUEST['mode'] ) ) {
+			$mode = $_REQUEST['mode'] == 'excerpt' ? 'excerpt' : 'list';
+			set_user_setting ( 'posts_list_mode', $mode );
+		} else {
+			$mode = get_user_setting ( 'posts_list_mode', 'list' );
+		}
 
 		$this->is_trash = isset( $_REQUEST['post_status'] ) && $_REQUEST['post_status'] == 'trash';
 
@@ -109,18 +124,18 @@ class WP_Posts_List_Table extends WP_List_Table {
 		) );
 	}
 
-	function has_items() {
+	public function has_items() {
 		return have_posts();
 	}
 
-	function no_items() {
+	public function no_items() {
 		if ( isset( $_REQUEST['post_status'] ) && 'trash' == $_REQUEST['post_status'] )
 			echo get_post_type_object( $this->screen->post_type )->labels->not_found_in_trash;
 		else
 			echo get_post_type_object( $this->screen->post_type )->labels->not_found;
 	}
 
-	function get_views() {
+	protected function get_views() {
 		global $locked_post_status, $avail_post_stati;
 
 		$post_type = $this->screen->post_type;
@@ -181,7 +196,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 		return $status_links;
 	}
 
-	function get_bulk_actions() {
+	protected function get_bulk_actions() {
 		$actions = array();
 
 		if ( $this->is_trash )
@@ -197,7 +212,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 		return $actions;
 	}
 
-	function extra_tablenav( $which ) {
+	protected function extra_tablenav( $which ) {
 		global $cat;
 ?>
 		<div class="alignleft actions">
@@ -228,7 +243,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 			 */
 			do_action( 'restrict_manage_posts' );
 
-			submit_button( __( 'Filter' ), 'button', false, false, array( 'id' => 'post-query-submit' ) );
+			submit_button( __( 'Filter' ), 'button', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
 		}
 
 		if ( $this->is_trash && current_user_can( get_post_type_object( $this->screen->post_type )->cap->edit_others_posts ) ) {
@@ -239,14 +254,14 @@ class WP_Posts_List_Table extends WP_List_Table {
 <?php
 	}
 
-	function current_action() {
+	public function current_action() {
 		if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) )
 			return 'delete_all';
 
 		return parent::current_action();
 	}
 
-	function pagination( $which ) {
+	protected function pagination( $which ) {
 		global $mode;
 
 		parent::pagination( $which );
@@ -255,11 +270,11 @@ class WP_Posts_List_Table extends WP_List_Table {
 			$this->view_switcher( $mode );
 	}
 
-	function get_table_classes() {
+	protected function get_table_classes() {
 		return array( 'widefat', 'fixed', is_post_type_hierarchical( $this->screen->post_type ) ? 'pages' : 'posts' );
 	}
 
-	function get_columns() {
+	public function get_columns() {
 		$post_type = $this->screen->post_type;
 
 		$posts_columns = array();
@@ -269,10 +284,9 @@ class WP_Posts_List_Table extends WP_List_Table {
 		/* translators: manage posts column name */
 		$posts_columns['title'] = _x( 'Title', 'column name' );
 
-		if ( post_type_supports( $post_type, 'author' ) )
+		if ( post_type_supports( $post_type, 'author' ) ) {
 			$posts_columns['author'] = __( 'Author' );
-
-		$taxonomies = array();
+		}
 
 		$taxonomies = get_object_taxonomies( $post_type, 'objects' );
 		$taxonomies = wp_filter_object_list( $taxonomies, array( 'show_admin_column' => true ), 'and', 'name' );
@@ -345,7 +359,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 		return $posts_columns;
 	}
 
-	function get_sortable_columns() {
+	protected function get_sortable_columns() {
 		return array(
 			'title'    => 'title',
 			'parent'   => 'parent',
@@ -354,7 +368,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 		);
 	}
 
-	function display_rows( $posts = array(), $level = 0 ) {
+	public function display_rows( $posts = array(), $level = 0 ) {
 		global $wp_query, $per_page;
 
 		if ( empty( $posts ) )
@@ -369,7 +383,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 		}
 	}
 
-	function _display_rows( $posts, $level = 0 ) {
+	private function _display_rows( $posts, $level = 0 ) {
 		global $mode;
 
 		// Create array of post IDs.
@@ -384,7 +398,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 			$this->single_row( $post, $level );
 	}
 
-	function _display_rows_hierarchical( $pages, $pagenum = 1, $per_page = 20 ) {
+	private function _display_rows_hierarchical( $pages, $pagenum = 1, $per_page = 20 ) {
 		global $wpdb;
 
 		$level = 0;
@@ -410,7 +424,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 
 			foreach ( $pages as $page ) {
 
-				// catch and repair bad pages
+				// Catch and repair bad pages.
 				if ( $page->post_parent == $page->ID ) {
 					$page->post_parent = 0;
 					$wpdb->update( $wpdb->posts, array( 'post_parent' => 0 ), array( 'ID' => $page->ID ) );
@@ -445,7 +459,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 				$this->_page_rows( $children_pages, $count, $page->ID, $level + 1, $pagenum, $per_page );
 		}
 
-		// if it is the last pagenum and there are orphaned pages, display them with paging as well
+		// If it is the last pagenum and there are orphaned pages, display them with paging as well.
 		if ( isset( $children_pages ) && $count < $end ){
 			foreach ( $children_pages as $orphans ){
 				foreach ( $orphans as $op ) {
@@ -476,7 +490,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 	 * @param int $pagenum
 	 * @param int $per_page
 	 */
-	function _page_rows( &$children_pages, &$count, $parent, $level, $pagenum, $per_page ) {
+	private function _page_rows( &$children_pages, &$count, $parent, $level, $pagenum, $per_page ) {
 
 		if ( ! isset( $children_pages[$parent] ) )
 			return;
@@ -521,7 +535,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 		unset( $children_pages[$parent] ); //required in order to keep track of orphans
 	}
 
-	function single_row( $post, $level = 0 ) {
+	public function single_row( $post, $level = 0 ) {
 		global $mode;
 		static $alternate;
 
@@ -587,7 +601,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 				$attributes = 'class="post-title page-title column-title"' . $style;
 				if ( $this->hierarchical_display ) {
 					if ( 0 == $level && (int) $post->post_parent > 0 ) {
-						//sent level 0 by accident, by default, or because we don't know the actual level
+						// Sent level 0 by accident, by default, or because we don't know the actual level.
 						$find_main_page = (int) $post->post_parent;
 						while ( $find_main_page > 0 ) {
 							$parent = get_post( $find_main_page );
@@ -657,9 +671,10 @@ class WP_Posts_List_Table extends WP_List_Table {
 				if ( $post_type_object->public ) {
 					if ( in_array( $post->post_status, array( 'pending', 'draft', 'future' ) ) ) {
 						if ( $can_edit_post ) {
-
+							$preview_link = set_url_scheme( get_permalink( $post->ID ) );
 							/** This filter is documented in wp-admin/includes/meta-boxes.php */
-							$actions['view'] = '<a href="' . esc_url( apply_filters( 'preview_post_link', set_url_scheme( add_query_arg( 'preview', 'true', get_permalink( $post->ID ) ) ) ) ) . '" title="' . esc_attr( sprintf( __( 'Preview &#8220;%s&#8221;' ), $title ) ) . '" rel="permalink">' . __( 'Preview' ) . '</a>';
+							$preview_link = apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ), $post );
+							$actions['view'] = '<a href="' . esc_url( $preview_link ) . '" title="' . esc_attr( sprintf( __( 'Preview &#8220;%s&#8221;' ), $title ) ) . '" rel="permalink">' . __( 'Preview' ) . '</a>';
 						}
 					} elseif ( 'trash' != $post->post_status ) {
 						$actions['view'] = '<a href="' . get_permalink( $post->ID ) . '" title="' . esc_attr( sprintf( __( 'View &#8220;%s&#8221;' ), $title ) ) . '" rel="permalink">' . __( 'View' ) . '</a>';
@@ -879,7 +894,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 	 *
 	 * @since 3.1.0
 	 */
-	function inline_edit() {
+	public function inline_edit() {
 		global $mode;
 
 		$screen = $this->screen;
diff --git a/wp-admin/includes/class-wp-terms-list-table.php b/wp-admin/includes/class-wp-terms-list-table.php
index bf31468a6..743dfde45 100644
--- a/wp-admin/includes/class-wp-terms-list-table.php
+++ b/wp-admin/includes/class-wp-terms-list-table.php
@@ -9,9 +9,19 @@
  */
 class WP_Terms_List_Table extends WP_List_Table {
 
-	var $callback_args;
+	public $callback_args;
 
-	function __construct( $args = array() ) {
+	/**
+	 * Constructor.
+	 *
+	 * @since 3.1.0
+	 * @access public
+	 *
+	 * @see WP_List_Table::__construct() for more information on default arguments.
+	 *
+	 * @param array $args An associative array of arguments.
+	 */
+	public function __construct( $args = array() ) {
 		global $post_type, $taxonomy, $action, $tax;
 
 		parent::__construct( array(
@@ -38,11 +48,11 @@ class WP_Terms_List_Table extends WP_List_Table {
 
 	}
 
-	function ajax_user_can() {
+	public function ajax_user_can() {
 		return current_user_can( get_taxonomy( $this->screen->taxonomy )->cap->manage_terms );
 	}
 
-	function prepare_items() {
+	public function prepare_items() {
 		$tags_per_page = $this->get_items_per_page( 'edit_' . $this->screen->taxonomy . '_per_page' );
 
 		if ( 'post_tag' == $this->screen->taxonomy ) {
@@ -97,26 +107,26 @@ class WP_Terms_List_Table extends WP_List_Table {
 		) );
 	}
 
-	function has_items() {
+	public function has_items() {
 		// todo: populate $this->items in prepare_items()
 		return true;
 	}
 
-	function get_bulk_actions() {
+	protected function get_bulk_actions() {
 		$actions = array();
 		$actions['delete'] = __( 'Delete' );
 
 		return $actions;
 	}
 
-	function current_action() {
+	public function current_action() {
 		if ( isset( $_REQUEST['action'] ) && isset( $_REQUEST['delete_tags'] ) && ( 'delete' == $_REQUEST['action'] || 'delete' == $_REQUEST['action2'] ) )
 			return 'bulk-delete';
 
 		return parent::current_action();
 	}
 
-	function get_columns() {
+	public function get_columns() {
 		$columns = array(
 			'cb'          => '<input type="checkbox" />',
 			'name'        => _x( 'Name', 'term name' ),
@@ -127,14 +137,13 @@ class WP_Terms_List_Table extends WP_List_Table {
 		if ( 'link_category' == $this->screen->taxonomy ) {
 			$columns['links'] = __( 'Links' );
 		} else {
-			$post_type_object = get_post_type_object( $this->screen->post_type );
-			$columns['posts'] = $post_type_object ? $post_type_object->labels->name : __( 'Posts' );
+			$columns['posts'] = _x( 'Count', 'Number/count of items' );
 		}
 
 		return $columns;
 	}
 
-	function get_sortable_columns() {
+	protected function get_sortable_columns() {
 		return array(
 			'name'        => 'name',
 			'description' => 'description',
@@ -144,7 +153,7 @@ class WP_Terms_List_Table extends WP_List_Table {
 		);
 	}
 
-	function display_rows_or_placeholder() {
+	public function display_rows_or_placeholder() {
 		$taxonomy = $this->screen->taxonomy;
 
 		$args = wp_parse_args( $this->callback_args, array(
@@ -154,46 +163,46 @@ class WP_Terms_List_Table extends WP_List_Table {
 			'hide_empty' => 0
 		) );
 
-		extract( $args, EXTR_SKIP );
+		$page = $args['page'];
+
+		// Set variable because $args['number'] can be subsequently overridden.
+		$number = $args['number'];
 
 		$args['offset'] = $offset = ( $page - 1 ) * $number;
 
-		// convert it to table rows
+		// Convert it to table rows.
 		$count = 0;
 
-		$terms = array();
-
-		if ( is_taxonomy_hierarchical( $taxonomy ) && !isset( $orderby ) ) {
+		if ( is_taxonomy_hierarchical( $taxonomy ) && ! isset( $args['orderby'] ) ) {
 			// We'll need the full set of terms then.
 			$args['number'] = $args['offset'] = 0;
 		}
 		$terms = get_terms( $taxonomy, $args );
 
 		if ( empty( $terms ) ) {
-			list( $columns, $hidden ) = $this->get_column_info();
 			echo '<tr class="no-items"><td class="colspanchange" colspan="' . $this->get_column_count() . '">';
 			$this->no_items();
 			echo '</td></tr>';
 			return;
 		}
 
-		if ( is_taxonomy_hierarchical( $taxonomy ) && !isset( $orderby ) ) {
-			if ( !empty( $search ) ) // Ignore children on searches.
+		if ( is_taxonomy_hierarchical( $taxonomy ) && ! isset( $args['orderby'] ) ) {
+			if ( ! empty( $args['search'] ) ) {// Ignore children on searches.
 				$children = array();
-			else
+			} else {
 				$children = _get_term_hierarchy( $taxonomy );
-
+			}
 			// Some funky recursion to get the job done( Paging & parents mainly ) is contained within, Skip it for non-hierarchical taxonomies for performance sake
 			$this->_rows( $taxonomy, $terms, $children, $offset, $number, $count );
 		} else {
 			$terms = get_terms( $taxonomy, $args );
-			foreach ( $terms as $term )
+			foreach ( $terms as $term ) {
 				$this->single_row( $term );
-			$count = $number; // Only displaying a single page.
+			}
 		}
 	}
 
-	function _rows( $taxonomy, $terms, &$children, $start, $per_page, &$count, $parent = 0, $level = 0 ) {
+	private function _rows( $taxonomy, $terms, &$children, $start, $per_page, &$count, $parent = 0, $level = 0 ) {
 
 		$end = $start + $per_page;
 
@@ -241,7 +250,10 @@ class WP_Terms_List_Table extends WP_List_Table {
 		}
 	}
 
-	function single_row( $tag, $level = 0 ) {
+	public function single_row( $tag, $level = 0 ) {
+		global $taxonomy;
+ 		$tag = sanitize_term( $tag, $taxonomy );
+
 		static $row_class = '';
 		$row_class = ( $row_class == '' ? ' class="alternate"' : '' );
 
@@ -252,7 +264,7 @@ class WP_Terms_List_Table extends WP_List_Table {
 		echo '</tr>';
 	}
 
-	function column_cb( $tag ) {
+	public function column_cb( $tag ) {
 		$default_term = get_option( 'default_' . $this->screen->taxonomy );
 
 		if ( current_user_can( get_taxonomy( $this->screen->taxonomy )->cap->delete_terms ) && $tag->term_id != $default_term )
@@ -262,7 +274,7 @@ class WP_Terms_List_Table extends WP_List_Table {
 		return '&nbsp;';
 	}
 
-	function column_name( $tag ) {
+	public function column_name( $tag ) {
 		$taxonomy = $this->screen->taxonomy;
 		$tax = get_taxonomy( $taxonomy );
 
@@ -336,16 +348,16 @@ class WP_Terms_List_Table extends WP_List_Table {
 		return $out;
 	}
 
-	function column_description( $tag ) {
+	public function column_description( $tag ) {
 		return $tag->description;
 	}
 
-	function column_slug( $tag ) {
+	public function column_slug( $tag ) {
 		/** This filter is documented in wp-admin/edit-tag-form.php */
 		return apply_filters( 'editable_slug', $tag->slug );
 	}
 
-	function column_posts( $tag ) {
+	public function column_posts( $tag ) {
 		$count = number_format_i18n( $tag->count );
 
 		$tax = get_taxonomy( $this->screen->taxonomy );
@@ -369,14 +381,14 @@ class WP_Terms_List_Table extends WP_List_Table {
 		return "<a href='" . esc_url ( add_query_arg( $args, 'edit.php' ) ) . "'>$count</a>";
 	}
 
-	function column_links( $tag ) {
+	public function column_links( $tag ) {
 		$count = number_format_i18n( $tag->count );
 		if ( $count )
 			$count = "<a href='link-manager.php?cat_id=$tag->term_id'>$count</a>";
 		return $count;
 	}
 
-	function column_default( $tag, $column_name ) {
+	public function column_default( $tag, $column_name ) {
 		/**
 		 * Filter the displayed columns in the terms list table.
 		 *
@@ -397,7 +409,7 @@ class WP_Terms_List_Table extends WP_List_Table {
 	 *
 	 * @since 3.1.0
 	 */
-	function inline_edit() {
+	public function inline_edit() {
 		$tax = get_taxonomy( $this->screen->taxonomy );
 
 		if ( ! current_user_can( $tax->cap->edit_terms ) )
diff --git a/wp-admin/includes/class-wp-theme-install-list-table.php b/wp-admin/includes/class-wp-theme-install-list-table.php
index e991c4ec4..01ac2907e 100644
--- a/wp-admin/includes/class-wp-theme-install-list-table.php
+++ b/wp-admin/includes/class-wp-theme-install-list-table.php
@@ -9,13 +9,13 @@
  */
 class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 
-	var $features = array();
+	public $features = array();
 
-	function ajax_user_can() {
+	public function ajax_user_can() {
 		return current_user_can( 'install_themes' );
 	}
 
-	function prepare_items() {
+	public function prepare_items() {
 		include( ABSPATH . 'wp-admin/includes/theme-install.php' );
 
 		global $tabs, $tab, $paged, $type, $theme_field_defaults;
@@ -41,21 +41,14 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 		if ( 'search' == $tab )
 			$tabs['search']	= __( 'Search Results' );
 		$tabs['upload'] = __( 'Upload' );
-		$tabs['featured'] = _x( 'Featured','Theme Installer' );
-		//$tabs['popular']  = _x( 'Popular','Theme Installer' );
-		$tabs['new']      = _x( 'Newest','Theme Installer' );
-		$tabs['updated']  = _x( 'Recently Updated','Theme Installer' );
+		$tabs['featured'] = _x( 'Featured', 'themes' );
+		//$tabs['popular']  = _x( 'Popular', 'themes' );
+		$tabs['new']      = _x( 'Latest', 'themes' );
+		$tabs['updated']  = _x( 'Recently Updated', 'themes' );
 
 		$nonmenu_tabs = array( 'theme-information' ); // Valid actions to perform which do not have a Menu item.
 
-		/**
-		 * Filter the tabs shown on the Install Themes screen.
-		 *
-		 * @since 2.8.0
-		 *
-		 * @param array $tabs The tabs shown on the Install Themes screen. Defaults are
-		 *                    'dashboard', 'search', 'upload', 'featured', 'new', and 'updated'.
-		 */
+		/** This filter is documented in wp-admin/theme-install.php */
 		$tabs = apply_filters( 'install_themes_tabs', $tabs );
 
 		/**
@@ -99,7 +92,7 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 				break;
 
 			case 'featured':
-			//case 'popular':
+			// case 'popular':
 			case 'new':
 			case 'updated':
 				$args['browse'] = $tab;
@@ -140,11 +133,11 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 		) );
 	}
 
-	function no_items() {
+	public function no_items() {
 		_e( 'No themes match your request.' );
 	}
 
-	function get_views() {
+	protected function get_views() {
 		global $tabs, $tab;
 
 		$display_tabs = array();
@@ -157,7 +150,7 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 		return $display_tabs;
 	}
 
-	function display() {
+	public function display() {
 		wp_nonce_field( "fetch-list-" . get_class( $this ), '_ajax_fetch_list_nonce' );
 ?>
 		<div class="tablenav top themes">
@@ -183,7 +176,7 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 		parent::tablenav( 'bottom' );
 	}
 
-	function display_rows() {
+	public function display_rows() {
 		$themes = $this->items;
 		foreach ( $themes as $theme ) {
 				?>
@@ -214,7 +207,7 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 	 *     public 'description' => string 'A basic magazine style layout with a fully customizable layout through a backend interface. Designed by <a href="http://bavotasan.com">c.bavota</a> of <a href="http://tinkerpriestmedia.com">Tinker Priest Media</a>.'
 	 *     public 'download_link' => string 'http://wordpress.org/themes/download/magazine-basic.1.1.zip'
 	 */
-	function single_row( $theme ) {
+	public function single_row( $theme ) {
 		global $themes_allowedtags;
 
 		if ( empty( $theme ) )
@@ -244,10 +237,6 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 		$status = $this->_get_theme_status( $theme );
 
 		switch ( $status ) {
-			default:
-			case 'install':
-				$actions[] = '<a class="install-now" href="' . esc_url( wp_nonce_url( $install_url, 'install-theme_' . $theme->slug ) ) . '" title="' . esc_attr( sprintf( __( 'Install %s' ), $name ) ) . '">' . __( 'Install Now' ) . '</a>';
-				break;
 			case 'update_available':
 				$actions[] = '<a class="install-now" href="' . esc_url( wp_nonce_url( $update_url, 'upgrade-theme_' . $theme->slug ) ) . '" title="' . esc_attr( sprintf( __( 'Update to version %s' ), $theme->version ) ) . '">' . __( 'Update' ) . '</a>';
 				break;
@@ -255,6 +244,10 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 			case 'latest_installed':
 				$actions[] = '<span class="install-now" title="' . esc_attr__( 'This theme is already installed and is up to date' ) . '">' . _x( 'Installed', 'theme' ) . '</span>';
 				break;
+			case 'install':
+			default:
+				$actions[] = '<a class="install-now" href="' . esc_url( wp_nonce_url( $install_url, 'install-theme_' . $theme->slug ) ) . '" title="' . esc_attr( sprintf( __( 'Install %s' ), $name ) ) . '">' . __( 'Install Now' ) . '</a>';
+				break;
 		}
 
 		$actions[] = '<a class="install-theme-preview" href="' . esc_url( $preview_url ) . '" title="' . esc_attr( sprintf( __( 'Preview %s' ), $name ) ) . '">' . __( 'Preview' ) . '</a>';
@@ -272,7 +265,7 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 
 		?>
 		<a class="screenshot install-theme-preview" href="<?php echo esc_url( $preview_url ); ?>" title="<?php echo esc_attr( $preview_title ); ?>">
-			<img src='<?php echo esc_url( $theme->screenshot_url ); ?>' width='150' />
+			<img src="<?php echo esc_url( $theme->screenshot_url ); ?>" width="150" />
 		</a>
 
 		<h3><?php echo $name; ?></h3>
@@ -294,7 +287,7 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 	/**
 	 * Prints the wrapper for the theme installer.
 	 */
-	function theme_installer() {
+	public function theme_installer() {
 		?>
 		<div id="theme-installer" class="wp-full-overlay expanded">
 			<div class="wp-full-overlay-sidebar">
@@ -323,7 +316,7 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 	 *
 	 * @param object $theme - A WordPress.org Theme API object.
 	 */
-	function theme_installer_single( $theme ) {
+	public function theme_installer_single( $theme ) {
 		?>
 		<div id="theme-installer" class="wp-full-overlay single-theme">
 			<div class="wp-full-overlay-sidebar">
@@ -341,7 +334,7 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 	 *
 	 * @param object $theme - A WordPress.org Theme API object.
 	 */
-	function install_theme_info( $theme ) {
+	public function install_theme_info( $theme ) {
 		global $themes_allowedtags;
 
 		if ( empty( $theme ) )
@@ -350,8 +343,6 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 		$name   = wp_kses( $theme->name,   $themes_allowedtags );
 		$author = wp_kses( $theme->author, $themes_allowedtags );
 
-		$num_ratings = sprintf( _n( '(based on %s rating)', '(based on %s ratings)', $theme->num_ratings ), number_format_i18n( $theme->num_ratings ) );
-
 		$install_url = add_query_arg( array(
 			'action' => 'install-theme',
 			'theme'  => $theme->slug,
@@ -367,10 +358,6 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 		?>
 		<div class="install-theme-info"><?php
 			switch ( $status ) {
-				default:
-				case 'install':
-					echo '<a class="theme-install button-primary" href="' . esc_url( wp_nonce_url( $install_url, 'install-theme_' . $theme->slug ) ) . '">' . __( 'Install' ) . '</a>';
-					break;
 				case 'update_available':
 					echo '<a class="theme-install button-primary" href="' . esc_url( wp_nonce_url( $update_url, 'upgrade-theme_' . $theme->slug ) ) . '" title="' . esc_attr( sprintf( __( 'Update to version %s' ), $theme->version ) ) . '">' . __( 'Update' ) . '</a>';
 					break;
@@ -378,6 +365,10 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 				case 'latest_installed':
 					echo '<span class="theme-install" title="' . esc_attr__( 'This theme is already installed and is up to date' ) . '">' . _x( 'Installed', 'theme' ) . '</span>';
 					break;
+				case 'install':
+				default:
+					echo '<a class="theme-install button-primary" href="' . esc_url( wp_nonce_url( $install_url, 'install-theme_' . $theme->slug ) ) . '">' . __( 'Install' ) . '</a>';
+					break;
 			} ?>
 			<h3 class="theme-name"><?php echo $name; ?></h3>
 			<span class="theme-by"><?php printf( __( 'By %s' ), $author ); ?></span>
@@ -403,12 +394,12 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 	 * Send required variables to JavaScript land
 	 *
 	 * @since 3.4.0
-	 * @access private
+	 * @access public
 	 *
 	 * @uses $tab Global; current tab within Themes->Install screen
 	 * @uses $type Global; type of search.
 	 */
-	function _js_vars( $extra_args = array() ) {
+	public function _js_vars( $extra_args = array() ) {
 		global $tab, $type;
 		parent::_js_vars( compact( 'tab', 'type' ) );
 	}
diff --git a/wp-admin/includes/class-wp-themes-list-table.php b/wp-admin/includes/class-wp-themes-list-table.php
index be75de02a..de34581d8 100644
--- a/wp-admin/includes/class-wp-themes-list-table.php
+++ b/wp-admin/includes/class-wp-themes-list-table.php
@@ -10,21 +10,31 @@
 class WP_Themes_List_Table extends WP_List_Table {
 
 	protected $search_terms = array();
-	var $features = array();
+	public $features = array();
 
-	function __construct( $args = array() ) {
+	/**
+	 * Constructor.
+	 *
+	 * @since 3.1.0
+	 * @access public
+	 *
+	 * @see WP_List_Table::__construct() for more information on default arguments.
+	 *
+	 * @param array $args An associative array of arguments.
+	 */
+	public function __construct( $args = array() ) {
 		parent::__construct( array(
 			'ajax' => true,
 			'screen' => isset( $args['screen'] ) ? $args['screen'] : null,
 		) );
 	}
 
-	function ajax_user_can() {
+	public function ajax_user_can() {
 		// Do not check edit_theme_options here. AJAX calls for available themes require switch_themes.
 		return current_user_can( 'switch_themes' );
 	}
 
-	function prepare_items() {
+	public function prepare_items() {
 		$themes = wp_get_themes( array( 'allowed' => true ) );
 
 		if ( ! empty( $_REQUEST['s'] ) )
@@ -57,7 +67,7 @@ class WP_Themes_List_Table extends WP_List_Table {
 		) );
 	}
 
-	function no_items() {
+	public function no_items() {
 		if ( $this->search_terms || $this->features ) {
 			_e( 'No items found.' );
 			return;
@@ -73,7 +83,7 @@ class WP_Themes_List_Table extends WP_List_Table {
 
 				return;
 			}
-			// else, fallthrough. install_themes doesn't help if you can't enable it.
+			// Else, fallthrough. install_themes doesn't help if you can't enable it.
 		} else {
 			if ( current_user_can( 'install_themes' ) ) {
 				printf( __( 'You only have one theme installed right now. Live a little! You can choose from over 1,000 free themes in the WordPress.org Theme Directory at any time: just click on the <a href="%s">Install Themes</a> tab above.' ), admin_url( 'theme-install.php' ) );
@@ -85,7 +95,7 @@ class WP_Themes_List_Table extends WP_List_Table {
 		printf( __( 'Only the current theme is available to you. Contact the %s administrator for information about accessing additional themes.' ), get_site_option( 'site_name' ) );
 	}
 
-	function tablenav( $which = 'top' ) {
+	public function tablenav( $which = 'top' ) {
 		if ( $this->get_pagination_arg( 'total_pages' ) <= 1 )
 			return;
 		?>
@@ -97,7 +107,7 @@ class WP_Themes_List_Table extends WP_List_Table {
 		<?php
 	}
 
-	function display() {
+	public function display() {
 		wp_nonce_field( "fetch-list-" . get_class( $this ), '_ajax_fetch_list_nonce' );
 ?>
 		<?php $this->tablenav( 'top' ); ?>
@@ -110,11 +120,11 @@ class WP_Themes_List_Table extends WP_List_Table {
 <?php
 	}
 
-	function get_columns() {
+	public function get_columns() {
 		return array();
 	}
 
-	function display_rows_or_placeholder() {
+	public function display_rows_or_placeholder() {
 		if ( $this->has_items() ) {
 			$this->display_rows();
 		} else {
@@ -124,7 +134,7 @@ class WP_Themes_List_Table extends WP_List_Table {
 		}
 	}
 
-	function display_rows() {
+	public function display_rows() {
 		$themes = $this->items;
 
 		foreach ( $themes as $theme ):
@@ -149,9 +159,10 @@ class WP_Themes_List_Table extends WP_List_Table {
 			$actions['preview'] = '<a href="' . $preview_link . '" class="hide-if-customize" title="'
 				. esc_attr( sprintf( __( 'Preview &#8220;%s&#8221;' ), $title ) ) . '">' . __( 'Preview' ) . '</a>';
 
-			if ( current_user_can( 'edit_theme_options' ) )
+			if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) {
 				$actions['preview'] .= '<a href="' . wp_customize_url( $stylesheet ) . '" class="load-customize hide-if-no-customize">'
 					. __( 'Live Preview' ) . '</a>';
+			}
 
 			if ( ! is_multisite() && current_user_can( 'delete_themes' ) )
 				$actions['delete'] = '<a class="submitdelete deletion" href="' . wp_nonce_url( 'themes.php?action=delete&amp;stylesheet=' . urlencode( $stylesheet ), 'delete-theme_' . $stylesheet )
@@ -208,7 +219,7 @@ class WP_Themes_List_Table extends WP_List_Table {
 		endforeach;
 	}
 
-	function search_theme( $theme ) {
+	public function search_theme( $theme ) {
 		// Search the features
 		foreach ( $this->features as $word ) {
 			if ( ! in_array( $word, $theme->get('Tags') ) )
@@ -243,13 +254,13 @@ class WP_Themes_List_Table extends WP_List_Table {
 	 * Send required variables to JavaScript land
 	 *
 	 * @since 3.4.0
-	 * @access private
+	 * @access public
 	 *
 	 * @uses $this->features Array of all feature search terms.
 	 * @uses get_pagenum()
 	 * @uses _pagination_args['total_pages']
 	 */
-	 function _js_vars( $extra_args = array() ) {
+	public function _js_vars( $extra_args = array() ) {
 		$search_string = isset( $_REQUEST['s'] ) ? esc_attr( wp_unslash( $_REQUEST['s'] ) ) : '';
 
 		$args = array(
diff --git a/wp-admin/includes/class-wp-upgrader-skins.php b/wp-admin/includes/class-wp-upgrader-skins.php
index 8c4840764..8fcee68f3 100644
--- a/wp-admin/includes/class-wp-upgrader-skins.php
+++ b/wp-admin/includes/class-wp-upgrader-skins.php
@@ -16,29 +16,30 @@
  */
 class WP_Upgrader_Skin {
 
-	var $upgrader;
-	var $done_header = false;
-	var $result = false;
+	public $upgrader;
+	public $done_header = false;
+	public $done_footer = false;
+	public $result = false;
 
-	function __construct($args = array()) {
+	public function __construct($args = array()) {
 		$defaults = array( 'url' => '', 'nonce' => '', 'title' => '', 'context' => false );
 		$this->options = wp_parse_args($args, $defaults);
 	}
 
-	function set_upgrader(&$upgrader) {
+	public function set_upgrader(&$upgrader) {
 		if ( is_object($upgrader) )
 			$this->upgrader =& $upgrader;
 		$this->add_strings();
 	}
 
-	function add_strings() {
+	public function add_strings() {
 	}
 
-	function set_result($result) {
+	public function set_result($result) {
 		$this->result = $result;
 	}
 
-	function request_filesystem_credentials($error = false) {
+	public function request_filesystem_credentials($error = false) {
 		$url = $this->options['url'];
 		$context = $this->options['context'];
 		if ( !empty($this->options['nonce']) )
@@ -46,18 +47,23 @@ class WP_Upgrader_Skin {
 		return request_filesystem_credentials($url, '', $error, $context); //Possible to bring inline, Leaving as is for now.
 	}
 
-	function header() {
-		if ( $this->done_header )
+	public function header() {
+		if ( $this->done_header ) {
 			return;
+		}
 		$this->done_header = true;
 		echo '<div class="wrap">';
 		echo '<h2>' . $this->options['title'] . '</h2>';
 	}
-	function footer() {
+	public function footer() {
+		if ( $this->done_footer ) {
+			return;
+		}
+		$this->done_footer = true;
 		echo '</div>';
 	}
 
-	function error($errors) {
+	public function error($errors) {
 		if ( ! $this->done_header )
 			$this->header();
 		if ( is_string($errors) ) {
@@ -72,7 +78,7 @@ class WP_Upgrader_Skin {
 		}
 	}
 
-	function feedback($string) {
+	public function feedback($string) {
 		if ( isset( $this->upgrader->strings[$string] ) )
 			$string = $this->upgrader->strings[$string];
 
@@ -89,8 +95,8 @@ class WP_Upgrader_Skin {
 			return;
 		show_message($string);
 	}
-	function before() {}
-	function after() {}
+	public function before() {}
+	public function after() {}
 
 	/**
 	 * Output JavaScript that calls function to decrement the update counts.
@@ -104,13 +110,22 @@ class WP_Upgrader_Skin {
 		if ( ! $this->result || is_wp_error( $this->result ) || 'up_to_date' === $this->result ) {
 			return;
 		}
-		echo '<script type="text/javascript">
-				(function( wp ) {
-					if ( wp && wp.updates.decrementCount ) {
-						wp.updates.decrementCount( "' . $type . '" );
+
+		if ( defined( 'IFRAME_REQUEST' ) ) {
+			echo '<script type="text/javascript">
+					if ( window.postMessage && JSON ) {
+						window.parent.postMessage( JSON.stringify( { action: "decrementUpdateCount", upgradeType: "' . $type . '" } ), window.location.protocol + "//" + window.location.hostname );
 					}
-				})( window.wp );
-			</script>';
+				</script>';
+		} else {
+			echo '<script type="text/javascript">
+					(function( wp ) {
+						if ( wp && wp.updates.decrementCount ) {
+							wp.updates.decrementCount( "' . $type . '" );
+						}
+					})( window.wp );
+				</script>';
+		}
 	}
 }
 
@@ -122,11 +137,11 @@ class WP_Upgrader_Skin {
  * @since 2.8.0
  */
 class Plugin_Upgrader_Skin extends WP_Upgrader_Skin {
-	var $plugin = '';
-	var $plugin_active = false;
-	var $plugin_network_active = false;
+	public $plugin = '';
+	public $plugin_active = false;
+	public $plugin_network_active = false;
 
-	function __construct($args = array()) {
+	public function __construct($args = array()) {
 		$defaults = array( 'url' => '', 'plugin' => '', 'nonce' => '', 'title' => __('Update Plugin') );
 		$args = wp_parse_args($args, $defaults);
 
@@ -138,7 +153,7 @@ class Plugin_Upgrader_Skin extends WP_Upgrader_Skin {
 		parent::__construct($args);
 	}
 
-	function after() {
+	public function after() {
 		$this->plugin = $this->upgrader->plugin_info();
 		if ( !empty($this->plugin) && !is_wp_error($this->result) && $this->plugin_active ){
 			echo '<iframe style="border:0;overflow:hidden" width="100%" height="170px" src="' . wp_nonce_url('update.php?action=activate-plugin&networkwide=' . $this->plugin_network_active . '&plugin=' . urlencode( $this->plugin ), 'activate-plugin_' . $this->plugin) .'"></iframe>';
@@ -176,17 +191,17 @@ class Plugin_Upgrader_Skin extends WP_Upgrader_Skin {
  * @since 3.0.0
  */
 class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
-	var $in_loop = false;
-	var $error = false;
+	public $in_loop = false;
+	public $error = false;
 
-	function __construct($args = array()) {
+	public function __construct($args = array()) {
 		$defaults = array( 'url' => '', 'nonce' => '' );
 		$args = wp_parse_args($args, $defaults);
 
 		parent::__construct($args);
 	}
 
-	function add_strings() {
+	public function add_strings() {
 		$this->upgrader->strings['skin_upgrade_start'] = __('The update process is starting. This process may take a while on some hosts, so please be patient.');
 		$this->upgrader->strings['skin_update_failed_error'] = __('An error occurred while updating %1$s: <strong>%2$s</strong>');
 		$this->upgrader->strings['skin_update_failed'] = __('The update of %1$s failed.');
@@ -194,7 +209,7 @@ class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
 		$this->upgrader->strings['skin_upgrade_end'] = __('All updates have been completed.');
 	}
 
-	function feedback($string) {
+	public function feedback($string) {
 		if ( isset( $this->upgrader->strings[$string] ) )
 			$string = $this->upgrader->strings[$string];
 
@@ -215,18 +230,19 @@ class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
 			echo "<p>$string</p>\n";
 	}
 
-	function header() {
+	public function header() {
 		// Nothing, This will be displayed within a iframe.
 	}
 
-	function footer() {
+	public function footer() {
 		// Nothing, This will be displayed within a iframe.
 	}
-	function error($error) {
+	public function error($error) {
 		if ( is_string($error) && isset( $this->upgrader->strings[$error] ) )
 			$this->error = $this->upgrader->strings[$error];
 
 		if ( is_wp_error($error) ) {
+			$messages = array();
 			foreach ( $error->get_error_messages() as $emessage ) {
 				if ( $error->get_error_data() && is_string( $error->get_error_data() ) )
 					$messages[] = $emessage . ' ' . esc_html( strip_tags( $error->get_error_data() ) );
@@ -238,15 +254,15 @@ class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
 		echo '<script type="text/javascript">jQuery(\'.waiting-' . esc_js($this->upgrader->update_current) . '\').hide();</script>';
 	}
 
-	function bulk_header() {
+	public function bulk_header() {
 		$this->feedback('skin_upgrade_start');
 	}
 
-	function bulk_footer() {
+	public function bulk_footer() {
 		$this->feedback('skin_upgrade_end');
 	}
 
-	function before($title = '') {
+	public function before($title = '') {
 		$this->in_loop = true;
 		printf( '<h4>' . $this->upgrader->strings['skin_before_update_header'] . ' <span class="spinner waiting-' . $this->upgrader->update_current . '"></span></h4>',  $title, $this->upgrader->update_current, $this->upgrader->update_count);
 		echo '<script type="text/javascript">jQuery(\'.waiting-' . esc_js($this->upgrader->update_current) . '\').css("display", "inline-block");</script>';
@@ -254,7 +270,7 @@ class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
 		$this->flush_output();
 	}
 
-	function after($title = '') {
+	public function after($title = '') {
 		echo '</p></div>';
 		if ( $this->error || ! $this->result ) {
 			if ( $this->error )
@@ -274,57 +290,38 @@ class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
 		$this->flush_output();
 	}
 
-	function reset() {
+	public function reset() {
 		$this->in_loop = false;
 		$this->error = false;
 	}
 
-	function flush_output() {
+	public function flush_output() {
 		wp_ob_end_flush_all();
 		flush();
 	}
-
-	/**
-	 * Output JavaScript that sends message to parent window to decrement the update counts.
-	 *
-	 * @since 3.9.0
-	 *
-	 * @param string $type Type of update count to decrement. Likely values include 'plugin',
-	 *                     'theme', 'translation', etc.
-	 */
-	protected function decrement_update_count( $type ) {
-		if ( ! $this->result || is_wp_error( $this->result ) || 'up_to_date' === $this->result ) {
-			return;
-		}
-		echo '<script type="text/javascript">
-				if ( window.postMessage && JSON ) {
-					window.parent.postMessage( JSON.stringify( { action: "decrementUpdateCount", upgradeType: "' . $type . '" } ), window.location.protocol + "//" + window.location.hostname );
-				}
-			</script>';
-	}
 }
 
 class Bulk_Plugin_Upgrader_Skin extends Bulk_Upgrader_Skin {
-	var $plugin_info = array(); // Plugin_Upgrader::bulk() will fill this in.
+	public $plugin_info = array(); // Plugin_Upgrader::bulk() will fill this in.
 
-	function __construct($args = array()) {
+	public function __construct($args = array()) {
 		parent::__construct($args);
 	}
 
-	function add_strings() {
+	public function add_strings() {
 		parent::add_strings();
 		$this->upgrader->strings['skin_before_update_header'] = __('Updating Plugin %1$s (%2$d/%3$d)');
 	}
 
-	function before($title = '') {
+	public function before($title = '') {
 		parent::before($this->plugin_info['Title']);
 	}
 
-	function after($title = '') {
+	public function after($title = '') {
 		parent::after($this->plugin_info['Title']);
 		$this->decrement_update_count( 'plugin' );
 	}
-	function bulk_footer() {
+	public function bulk_footer() {
 		parent::bulk_footer();
 		$update_actions =  array(
 			'plugins_page' => '<a href="' . self_admin_url('plugins.php') . '" title="' . esc_attr__('Go to plugins page') . '" target="_parent">' . __('Return to Plugins page') . '</a>',
@@ -349,27 +346,27 @@ class Bulk_Plugin_Upgrader_Skin extends Bulk_Upgrader_Skin {
 }
 
 class Bulk_Theme_Upgrader_Skin extends Bulk_Upgrader_Skin {
-	var $theme_info = array(); // Theme_Upgrader::bulk() will fill this in.
+	public $theme_info = array(); // Theme_Upgrader::bulk() will fill this in.
 
-	function __construct($args = array()) {
+	public function __construct($args = array()) {
 		parent::__construct($args);
 	}
 
-	function add_strings() {
+	public function add_strings() {
 		parent::add_strings();
 		$this->upgrader->strings['skin_before_update_header'] = __('Updating Theme %1$s (%2$d/%3$d)');
 	}
 
-	function before($title = '') {
+	public function before($title = '') {
 		parent::before( $this->theme_info->display('Name') );
 	}
 
-	function after($title = '') {
+	public function after($title = '') {
 		parent::after( $this->theme_info->display('Name') );
 		$this->decrement_update_count( 'theme' );
 	}
 
-	function bulk_footer() {
+	public function bulk_footer() {
 		parent::bulk_footer();
 		$update_actions =  array(
 			'themes_page' => '<a href="' . self_admin_url('themes.php') . '" title="' . esc_attr__('Go to themes page') . '" target="_parent">' . __('Return to Themes page') . '</a>',
@@ -401,10 +398,10 @@ class Bulk_Theme_Upgrader_Skin extends Bulk_Upgrader_Skin {
  * @since 2.8.0
  */
 class Plugin_Installer_Skin extends WP_Upgrader_Skin {
-	var $api;
-	var $type;
+	public $api;
+	public $type;
 
-	function __construct($args = array()) {
+	public function __construct($args = array()) {
 		$defaults = array( 'type' => 'web', 'url' => '', 'plugin' => '', 'nonce' => '', 'title' => '' );
 		$args = wp_parse_args($args, $defaults);
 
@@ -414,12 +411,12 @@ class Plugin_Installer_Skin extends WP_Upgrader_Skin {
 		parent::__construct($args);
 	}
 
-	function before() {
+	public function before() {
 		if ( !empty($this->api) )
 			$this->upgrader->strings['process_success'] = sprintf( __('Successfully installed the plugin <strong>%s %s</strong>.'), $this->api->name, $this->api->version);
 	}
 
-	function after() {
+	public function after() {
 
 		$plugin_file = $this->upgrader->plugin_info();
 
@@ -476,10 +473,10 @@ class Plugin_Installer_Skin extends WP_Upgrader_Skin {
  * @since 2.8.0
  */
 class Theme_Installer_Skin extends WP_Upgrader_Skin {
-	var $api;
-	var $type;
+	public $api;
+	public $type;
 
-	function __construct($args = array()) {
+	public function __construct($args = array()) {
 		$defaults = array( 'type' => 'web', 'url' => '', 'theme' => '', 'nonce' => '', 'title' => '' );
 		$args = wp_parse_args($args, $defaults);
 
@@ -489,12 +486,12 @@ class Theme_Installer_Skin extends WP_Upgrader_Skin {
 		parent::__construct($args);
 	}
 
-	function before() {
+	public function before() {
 		if ( !empty($this->api) )
 			$this->upgrader->strings['process_success'] = sprintf( $this->upgrader->strings['process_success_specific'], $this->api->name, $this->api->version);
 	}
 
-	function after() {
+	public function after() {
 		if ( empty($this->upgrader->result['destination_name']) )
 			return;
 
@@ -521,7 +518,9 @@ class Theme_Installer_Skin extends WP_Upgrader_Skin {
 
 		$install_actions = array();
 		$install_actions['preview']  = '<a href="' . esc_url( $preview_link ) . '" class="hide-if-customize" title="' . esc_attr( sprintf( __('Preview &#8220;%s&#8221;'), $name ) ) . '">' . __('Preview') . '</a>';
-		$install_actions['preview'] .= '<a href="' . wp_customize_url( $stylesheet ) . '" class="hide-if-no-customize load-customize" title="' . esc_attr( sprintf( __('Preview &#8220;%s&#8221;'), $name ) ) . '">' . __('Live Preview') . '</a>';
+		if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) {
+			$install_actions['preview'] .= '<a href="' . wp_customize_url( $stylesheet ) . '" class="hide-if-no-customize load-customize" title="' . esc_attr( sprintf( __('Preview &#8220;%s&#8221;'), $name ) ) . '">' . __('Live Preview') . '</a>';
+		}
 		$install_actions['activate'] = '<a href="' . esc_url( $activate_link ) . '" class="activatelink" title="' . esc_attr( sprintf( __('Activate &#8220;%s&#8221;'), $name ) ) . '">' . __('Activate') . '</a>';
 
 		if ( is_network_admin() && current_user_can( 'manage_network_themes' ) )
@@ -559,9 +558,9 @@ class Theme_Installer_Skin extends WP_Upgrader_Skin {
  * @since 2.8.0
  */
 class Theme_Upgrader_Skin extends WP_Upgrader_Skin {
-	var $theme = '';
+	public $theme = '';
 
-	function __construct($args = array()) {
+	public function __construct($args = array()) {
 		$defaults = array( 'url' => '', 'theme' => '', 'nonce' => '', 'title' => __('Update Theme') );
 		$args = wp_parse_args($args, $defaults);
 
@@ -570,7 +569,7 @@ class Theme_Upgrader_Skin extends WP_Upgrader_Skin {
 		parent::__construct($args);
 	}
 
-	function after() {
+	public function after() {
 		$this->decrement_update_count( 'theme' );
 
 		$update_actions = array();
@@ -593,11 +592,14 @@ class Theme_Upgrader_Skin extends WP_Upgrader_Skin {
 			$activate_link = wp_nonce_url( $activate_link, 'switch-theme_' . $stylesheet );
 
 			if ( get_stylesheet() == $stylesheet ) {
-				if ( current_user_can( 'edit_theme_options' ) )
+				if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) {
 					$update_actions['preview']  = '<a href="' . wp_customize_url( $stylesheet ) . '" class="hide-if-no-customize load-customize" title="' . esc_attr( sprintf( __('Customize &#8220;%s&#8221;'), $name ) ) . '">' . __('Customize') . '</a>';
+				}
 			} elseif ( current_user_can( 'switch_themes' ) ) {
 				$update_actions['preview']  = '<a href="' . esc_url( $preview_link ) . '" class="hide-if-customize" title="' . esc_attr( sprintf( __('Preview &#8220;%s&#8221;'), $name ) ) . '">' . __('Preview') . '</a>';
-				$update_actions['preview'] .= '<a href="' . wp_customize_url( $stylesheet ) . '" class="hide-if-no-customize load-customize" title="' . esc_attr( sprintf( __('Preview &#8220;%s&#8221;'), $name ) ) . '">' . __('Live Preview') . '</a>';
+				if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) {
+					$update_actions['preview'] .= '<a href="' . wp_customize_url( $stylesheet ) . '" class="hide-if-no-customize load-customize" title="' . esc_attr( sprintf( __('Preview &#8220;%s&#8221;'), $name ) ) . '">' . __('Live Preview') . '</a>';
+				}
 				$update_actions['activate'] = '<a href="' . esc_url( $activate_link ) . '" class="activatelink" title="' . esc_attr( sprintf( __('Activate &#8220;%s&#8221;'), $name ) ) . '">' . __('Activate') . '</a>';
 			}
 
@@ -630,21 +632,23 @@ class Theme_Upgrader_Skin extends WP_Upgrader_Skin {
  * @since 3.7.0
  */
 class Language_Pack_Upgrader_Skin extends WP_Upgrader_Skin {
-	var $language_update = null;
-	var $done_header = false;
-	var $display_footer_actions = true;
+	public $language_update = null;
+	public $done_header = false;
+	public $done_footer = false;
+	public $display_footer_actions = true;
 
-	function __construct( $args = array() ) {
+	public function __construct( $args = array() ) {
 		$defaults = array( 'url' => '', 'nonce' => '', 'title' => __( 'Update Translations' ), 'skip_header_footer' => false );
 		$args = wp_parse_args( $args, $defaults );
 		if ( $args['skip_header_footer'] ) {
 			$this->done_header = true;
+			$this->done_footer = true;
 			$this->display_footer_actions = false;
 		}
 		parent::__construct( $args );
 	}
 
-	function before() {
+	public function before() {
 		$name = $this->upgrader->get_name_for_update( $this->language_update );
 
 		echo '<div class="update-messages lp-show-latest">';
@@ -652,17 +656,17 @@ class Language_Pack_Upgrader_Skin extends WP_Upgrader_Skin {
 		printf( '<h4>' . __( 'Updating translations for %1$s (%2$s)&#8230;' ) . '</h4>', $name, $this->language_update->language );
 	}
 
-	function error( $error ) {
+	public function error( $error ) {
 		echo '<div class="lp-error">';
 		parent::error( $error );
 		echo '</div>';
 	}
 
-	function after() {
+	public function after() {
 		echo '</div>';
 	}
 
-	function bulk_footer() {
+	public function bulk_footer() {
 		$this->decrement_update_count( 'translation' );
 		$update_actions = array();
 		$update_actions['updates_page'] = '<a href="' . self_admin_url( 'update-core.php' ) . '" title="' . esc_attr__( 'Go to WordPress Updates page' ) . '" target="_parent">' . __( 'Return to WordPress Updates' ) . '</a>';
@@ -678,8 +682,6 @@ class Language_Pack_Upgrader_Skin extends WP_Upgrader_Skin {
 
 		if ( $update_actions && $this->display_footer_actions )
 			$this->feedback( implode( ' | ', $update_actions ) );
-
-		parent::footer();
 	}
 }
 
@@ -696,7 +698,7 @@ class Language_Pack_Upgrader_Skin extends WP_Upgrader_Skin {
 class Automatic_Upgrader_Skin extends WP_Upgrader_Skin {
 	protected $messages = array();
 
-	function request_filesystem_credentials( $error = false, $context = '' ) {
+	public function request_filesystem_credentials( $error = false, $context = '' ) {
 		if ( $context )
 			$this->options['context'] = $context;
 		// TODO: fix up request_filesystem_credentials(), or split it, to allow us to request a no-output version
@@ -707,11 +709,11 @@ class Automatic_Upgrader_Skin extends WP_Upgrader_Skin {
 		return $result;
 	}
 
-	function get_upgrade_messages() {
+	public function get_upgrade_messages() {
 		return $this->messages;
 	}
 
-	function feedback( $data ) {
+	public function feedback( $data ) {
 		if ( is_wp_error( $data ) )
 			$string = $data->get_error_message();
 		else if ( is_array( $data ) )
@@ -747,19 +749,19 @@ class Automatic_Upgrader_Skin extends WP_Upgrader_Skin {
 		$this->messages[] = $string;
 	}
 
-	function header() {
+	public function header() {
 		ob_start();
 	}
 
-	function footer() {
+	public function footer() {
 		$output = ob_get_contents();
 		if ( ! empty( $output ) )
 			$this->feedback( $output );
 		ob_end_clean();
 	}
 
-	function bulk_header() {}
-	function bulk_footer() {}
-	function before() {}
-	function after() {}
+	public function bulk_header() {}
+	public function bulk_footer() {}
+	public function before() {}
+	public function after() {}
 }
diff --git a/wp-admin/includes/class-wp-upgrader.php b/wp-admin/includes/class-wp-upgrader.php
index 6db2c2772..2bef3eaa6 100644
--- a/wp-admin/includes/class-wp-upgrader.php
+++ b/wp-admin/includes/class-wp-upgrader.php
@@ -21,23 +21,23 @@ require ABSPATH . 'wp-admin/includes/class-wp-upgrader-skins.php';
  * @since 2.8.0
  */
 class WP_Upgrader {
-	var $strings = array();
-	var $skin = null;
-	var $result = array();
+	public $strings = array();
+	public $skin = null;
+	public $result = array();
 
-	function __construct($skin = null) {
+	public function __construct($skin = null) {
 		if ( null == $skin )
 			$this->skin = new WP_Upgrader_Skin();
 		else
 			$this->skin = $skin;
 	}
 
-	function init() {
+	public function init() {
 		$this->skin->set_upgrader($this);
 		$this->generic_strings();
 	}
 
-	function generic_strings() {
+	public function generic_strings() {
 		$this->strings['bad_request'] = __('Invalid Data provided.');
 		$this->strings['fs_unavailable'] = __('Could not access filesystem.');
 		$this->strings['fs_error'] = __('Filesystem error.');
@@ -59,7 +59,7 @@ class WP_Upgrader {
 		$this->strings['maintenance_end'] = __('Disabling Maintenance mode&#8230;');
 	}
 
-	function fs_connect( $directories = array() ) {
+	public function fs_connect( $directories = array() ) {
 		global $wp_filesystem;
 
 		if ( false === ($credentials = $this->skin->request_filesystem_credentials()) )
@@ -106,7 +106,7 @@ class WP_Upgrader {
 		return true;
 	} //end fs_connect();
 
-	function download_package($package) {
+	public function download_package($package) {
 
 		/**
 		 * Filter whether to return the package.
@@ -138,7 +138,7 @@ class WP_Upgrader {
 		return $download_file;
 	}
 
-	function unpack_package($package, $delete_package = true) {
+	public function unpack_package($package, $delete_package = true) {
 		global $wp_filesystem;
 
 		$this->skin->feedback('unpack_package');
@@ -177,7 +177,7 @@ class WP_Upgrader {
 		return $working_dir;
 	}
 
-	function install_package( $args = array() ) {
+	public function install_package( $args = array() ) {
 		global $wp_filesystem, $wp_theme_directories;
 
 		$defaults = array(
@@ -190,14 +190,18 @@ class WP_Upgrader {
 		);
 
 		$args = wp_parse_args($args, $defaults);
-		extract($args);
 
-		@set_time_limit( 300 );
+		// These were previously extract()'d.
+		$source = $args['source'];
+		$destination = $args['destination'];
+		$clear_destination = $args['clear_destination'];
 
-		if ( empty($source) || empty($destination) )
-			return new WP_Error('bad_request', $this->strings['bad_request']);
+		@set_time_limit( 300 );
 
-		$this->skin->feedback('installing_package');
+		if ( empty( $source ) || empty( $destination ) ) {
+			return new WP_Error( 'bad_request', $this->strings['bad_request'] );
+		}
+		$this->skin->feedback( 'installing_package' );
 
 		/**
 		 * Filter the install response before the installation has started.
@@ -211,24 +215,26 @@ class WP_Upgrader {
 		 * @param bool|WP_Error $response   Response.
 		 * @param array         $hook_extra Extra arguments passed to hooked filters.
 		 */
-		$res = apply_filters( 'upgrader_pre_install', true, $hook_extra );
-		if ( is_wp_error($res) )
+		$res = apply_filters( 'upgrader_pre_install', true, $args['hook_extra'] );
+		if ( is_wp_error( $res ) ) {
 			return $res;
+		}
 
 		//Retain the Original source and destinations
-		$remote_source = $source;
+		$remote_source = $args['source'];
 		$local_destination = $destination;
 
-		$source_files = array_keys( $wp_filesystem->dirlist($remote_source) );
-		$remote_destination = $wp_filesystem->find_folder($local_destination);
+		$source_files = array_keys( $wp_filesystem->dirlist( $remote_source ) );
+		$remote_destination = $wp_filesystem->find_folder( $local_destination );
 
 		//Locate which directory to copy to the new folder, This is based on the actual folder holding the files.
-		if ( 1 == count($source_files) && $wp_filesystem->is_dir( trailingslashit($source) . $source_files[0] . '/') ) //Only one folder? Then we want its contents.
-			$source = trailingslashit($source) . trailingslashit($source_files[0]);
-		elseif ( count($source_files) == 0 )
+		if ( 1 == count( $source_files ) && $wp_filesystem->is_dir( trailingslashit( $args['source'] ) . $source_files[0] . '/' ) ) { //Only one folder? Then we want its contents.
+			$source = trailingslashit( $args['source'] ) . trailingslashit( $source_files[0] );
+		} elseif ( count( $source_files ) == 0 ) {
 			return new WP_Error( 'incompatible_archive_empty', $this->strings['incompatible_archive'], $this->strings['no_files'] ); // There are no files?
-		else //It's only a single file, the upgrader will use the foldername of this file as the destination folder. foldername is based on zip filename.
-			$source = trailingslashit($source);
+		} else { //It's only a single file, the upgrader will use the foldername of this file as the destination folder. foldername is based on zip filename.
+			$source = trailingslashit( $args['source'] );
+		}
 
 		/**
 		 * Filter the source file location for the upgrade package.
@@ -240,30 +246,38 @@ class WP_Upgrader {
 		 * @param WP_Upgrader $this          WP_Upgrader instance.
 		 */
 		$source = apply_filters( 'upgrader_source_selection', $source, $remote_source, $this );
-		if ( is_wp_error($source) )
+		if ( is_wp_error( $source ) ) {
 			return $source;
+		}
 
-		//Has the source location changed? If so, we need a new source_files list.
-		if ( $source !== $remote_source )
-			$source_files = array_keys( $wp_filesystem->dirlist($source) );
-
-		// Protection against deleting files in any important base directories.
-		// Theme_Upgrader & Plugin_Upgrader also trigger this, as they pass the destination directory (WP_PLUGIN_DIR / wp-content/themes)
-		// intending to copy the directory into the directory, whilst they pass the source as the actual files to copy.
+		// Has the source location changed? If so, we need a new source_files list.
+		if ( $source !== $remote_source ) {
+			$source_files = array_keys( $wp_filesystem->dirlist( $source ) );
+		}
+		/*
+		 * Protection against deleting files in any important base directories.
+		 * Theme_Upgrader & Plugin_Upgrader also trigger this, as they pass the
+		 * destination directory (WP_PLUGIN_DIR / wp-content/themes) intending
+		 * to copy the directory into the directory, whilst they pass the source
+		 * as the actual files to copy.
+		 */
 		$protected_directories = array( ABSPATH, WP_CONTENT_DIR, WP_PLUGIN_DIR, WP_CONTENT_DIR . '/themes' );
-		if ( is_array( $wp_theme_directories ) )
+
+		if ( is_array( $wp_theme_directories ) ) {
 			$protected_directories = array_merge( $protected_directories, $wp_theme_directories );
+		}
 		if ( in_array( $destination, $protected_directories ) ) {
-			$remote_destination = trailingslashit($remote_destination) . trailingslashit(basename($source));
-			$destination = trailingslashit($destination) . trailingslashit(basename($source));
+			$remote_destination = trailingslashit( $remote_destination ) . trailingslashit( basename( $source ) );
+			$destination = trailingslashit( $destination ) . trailingslashit( basename( $source ) );
 		}
 
 		if ( $clear_destination ) {
 			//We're going to clear the destination if there's something there
 			$this->skin->feedback('remove_old');
 			$removed = true;
-			if ( $wp_filesystem->exists($remote_destination) )
-				$removed = $wp_filesystem->delete($remote_destination, true);
+			if ( $wp_filesystem->exists( $remote_destination ) ) {
+				$removed = $wp_filesystem->delete( $remote_destination, true );
+			}
 
 			/**
 			 * Filter whether the upgrader cleared the destination.
@@ -275,13 +289,14 @@ class WP_Upgrader {
 			 * @param string $remote_destination The remote package destination.
 			 * @param array  $hook_extra         Extra arguments passed to hooked filters.
 			 */
-			$removed = apply_filters( 'upgrader_clear_destination', $removed, $local_destination, $remote_destination, $hook_extra );
+			$removed = apply_filters( 'upgrader_clear_destination', $removed, $local_destination, $remote_destination, $args['hook_extra'] );
 
-			if ( is_wp_error($removed) )
+			if ( is_wp_error($removed) ) {
 				return $removed;
-			else if ( ! $removed )
+			} else if ( ! $removed ) {
 				return new WP_Error('remove_old_failed', $this->strings['remove_old_failed']);
-		} elseif ( $abort_if_destination_exists && $wp_filesystem->exists($remote_destination) ) {
+			}
+		} elseif ( $args['abort_if_destination_exists'] && $wp_filesystem->exists($remote_destination) ) {
 			//If we're not clearing the destination folder and something exists there already, Bail.
 			//But first check to see if there are actually any files in the folder.
 			$_files = $wp_filesystem->dirlist($remote_destination);
@@ -292,25 +307,29 @@ class WP_Upgrader {
 		}
 
 		//Create destination if needed
-		if ( !$wp_filesystem->exists($remote_destination) )
-			if ( !$wp_filesystem->mkdir($remote_destination, FS_CHMOD_DIR) )
+		if ( ! $wp_filesystem->exists( $remote_destination ) ) {
+			if ( ! $wp_filesystem->mkdir( $remote_destination, FS_CHMOD_DIR ) ) {
 				return new WP_Error( 'mkdir_failed_destination', $this->strings['mkdir_failed'], $remote_destination );
-
+			}
+		}
 		// Copy new version of item into place.
 		$result = copy_dir($source, $remote_destination);
 		if ( is_wp_error($result) ) {
-			if ( $clear_working )
-				$wp_filesystem->delete($remote_source, true);
+			if ( $args['clear_working'] ) {
+				$wp_filesystem->delete( $remote_source, true );
+			}
 			return $result;
 		}
 
 		//Clear the Working folder?
-		if ( $clear_working )
-			$wp_filesystem->delete($remote_source, true);
+		if ( $args['clear_working'] ) {
+			$wp_filesystem->delete( $remote_source, true );
+		}
 
 		$destination_name = basename( str_replace($local_destination, '', $destination) );
-		if ( '.' == $destination_name )
+		if ( '.' == $destination_name ) {
 			$destination_name = '';
+		}
 
 		$this->result = compact('local_source', 'source', 'source_name', 'source_files', 'destination', 'destination_name', 'local_destination', 'remote_destination', 'clear_destination', 'delete_source_dir');
 
@@ -323,7 +342,7 @@ class WP_Upgrader {
 		 * @param array $hook_extra Extra arguments passed to hooked filters.
 		 * @param array $result     Installation result data.
 		 */
-		$res = apply_filters( 'upgrader_post_install', true, $hook_extra, $this->result );
+		$res = apply_filters( 'upgrader_post_install', true, $args['hook_extra'], $this->result );
 
 		if ( is_wp_error($res) ) {
 			$this->result = $res;
@@ -334,7 +353,7 @@ class WP_Upgrader {
 		return $this->result;
 	}
 
-	function run($options) {
+	public function run( $options ) {
 
 		$defaults = array(
 			'package' => '', // Please always pass this.
@@ -346,18 +365,19 @@ class WP_Upgrader {
 			'hook_extra' => array() // Pass any extra $hook_extra args here, this will be passed to any hooked filters.
 		);
 
-		$options = wp_parse_args($options, $defaults);
-		extract($options);
+		$options = wp_parse_args( $options, $defaults );
 
-		if ( ! $is_multi ) // call $this->header separately if running multiple times
+		if ( ! $options['is_multi'] ) { // call $this->header separately if running multiple times
 			$this->skin->header();
+		}
 
 		// Connect to the Filesystem first.
-		$res = $this->fs_connect( array(WP_CONTENT_DIR, $destination) );
+		$res = $this->fs_connect( array( WP_CONTENT_DIR, $options['destination'] ) );
 		// Mainly for non-connected filesystem.
 		if ( ! $res ) {
-			if ( ! $is_multi )
+			if ( ! $options['is_multi'] ) {
 				$this->skin->footer();
+			}
 			return false;
 		}
 
@@ -366,41 +386,44 @@ class WP_Upgrader {
 		if ( is_wp_error($res) ) {
 			$this->skin->error($res);
 			$this->skin->after();
-			if ( ! $is_multi )
+			if ( ! $options['is_multi'] ) {
 				$this->skin->footer();
+			}
 			return $res;
 		}
 
 		//Download the package (Note, This just returns the filename of the file if the package is a local file)
-		$download = $this->download_package( $package );
+		$download = $this->download_package( $options['package'] );
 		if ( is_wp_error($download) ) {
 			$this->skin->error($download);
 			$this->skin->after();
-			if ( ! $is_multi )
+			if ( ! $options['is_multi'] ) {
 				$this->skin->footer();
+			}
 			return $download;
 		}
 
-		$delete_package = ($download != $package); // Do not delete a "local" file
+		$delete_package = ( $download != $options['package'] ); // Do not delete a "local" file
 
 		//Unzips the file into a temporary directory
 		$working_dir = $this->unpack_package( $download, $delete_package );
 		if ( is_wp_error($working_dir) ) {
 			$this->skin->error($working_dir);
 			$this->skin->after();
-			if ( ! $is_multi )
+			if ( ! $options['is_multi'] ) {
 				$this->skin->footer();
+			}
 			return $working_dir;
 		}
 
 		//With the given options, this installs it to the destination directory.
 		$result = $this->install_package( array(
 			'source' => $working_dir,
-			'destination' => $destination,
-			'clear_destination' => $clear_destination,
-			'abort_if_destination_exists' => $abort_if_destination_exists,
-			'clear_working' => $clear_working,
-			'hook_extra' => $hook_extra
+			'destination' => $options['destination'],
+			'clear_destination' => $options['clear_destination'],
+			'abort_if_destination_exists' => $options['abort_if_destination_exists'],
+			'clear_working' => $options['clear_working'],
+			'hook_extra' => $options['hook_extra']
 		) );
 
 		$this->skin->set_result($result);
@@ -414,17 +437,17 @@ class WP_Upgrader {
 
 		$this->skin->after();
 
-		if ( ! $is_multi ) {
+		if ( ! $options['is_multi'] ) {
 
 			/** This action is documented in wp-admin/includes/class-wp-upgrader.php */
-			do_action( 'upgrader_process_complete', $this, $hook_extra );
+			do_action( 'upgrader_process_complete', $this, $options['hook_extra'] );
 			$this->skin->footer();
 		}
 
 		return $result;
 	}
 
-	function maintenance_mode($enable = false) {
+	public function maintenance_mode($enable = false) {
 		global $wp_filesystem;
 		$file = $wp_filesystem->abspath() . '.maintenance';
 		if ( $enable ) {
@@ -450,10 +473,10 @@ class WP_Upgrader {
  */
 class Plugin_Upgrader extends WP_Upgrader {
 
-	var $result;
-	var $bulk = false;
+	public $result;
+	public $bulk = false;
 
-	function upgrade_strings() {
+	public function upgrade_strings() {
 		$this->strings['up_to_date'] = __('The plugin is at the latest version.');
 		$this->strings['no_package'] = __('Update package not available.');
 		$this->strings['downloading_package'] = __('Downloading update from <span class="code">%s</span>&#8230;');
@@ -464,7 +487,7 @@ class Plugin_Upgrader extends WP_Upgrader {
 		$this->strings['process_success'] = __('Plugin updated successfully.');
 	}
 
-	function install_strings() {
+	public function install_strings() {
 		$this->strings['no_package'] = __('Install package not available.');
 		$this->strings['downloading_package'] = __('Downloading install package from <span class="code">%s</span>&#8230;');
 		$this->strings['unpack_package'] = __('Unpacking the package&#8230;');
@@ -474,7 +497,7 @@ class Plugin_Upgrader extends WP_Upgrader {
 		$this->strings['process_success'] = __('Plugin installed successfully.');
 	}
 
-	function install( $package, $args = array() ) {
+	public function install( $package, $args = array() ) {
 
 		$defaults = array(
 			'clear_update_cache' => true,
@@ -508,7 +531,7 @@ class Plugin_Upgrader extends WP_Upgrader {
 		return true;
 	}
 
-	function upgrade( $plugin, $args = array() ) {
+	public function upgrade( $plugin, $args = array() ) {
 
 		$defaults = array(
 			'clear_update_cache' => true,
@@ -559,7 +582,7 @@ class Plugin_Upgrader extends WP_Upgrader {
 		return true;
 	}
 
-	function bulk_upgrade( $plugins, $args = array() ) {
+	public function bulk_upgrade( $plugins, $args = array() ) {
 
 		$defaults = array(
 			'clear_update_cache' => true,
@@ -673,7 +696,7 @@ class Plugin_Upgrader extends WP_Upgrader {
 		return $results;
 	}
 
-	function check_package($source) {
+	public function check_package($source) {
 		global $wp_filesystem;
 
 		if ( is_wp_error($source) )
@@ -699,8 +722,8 @@ class Plugin_Upgrader extends WP_Upgrader {
 		return $source;
 	}
 
-	//return plugin info.
-	function plugin_info() {
+	// Return plugin info.
+	public function plugin_info() {
 		if ( ! is_array($this->result) )
 			return false;
 		if ( empty($this->result['destination_name']) )
@@ -716,7 +739,7 @@ class Plugin_Upgrader extends WP_Upgrader {
 	}
 
 	//Hooked to pre_install
-	function deactivate_plugin_before_upgrade($return, $plugin) {
+	public function deactivate_plugin_before_upgrade($return, $plugin) {
 
 		if ( is_wp_error($return) ) //Bypass.
 			return $return;
@@ -736,7 +759,7 @@ class Plugin_Upgrader extends WP_Upgrader {
 	}
 
 	//Hooked to upgrade_clear_destination
-	function delete_old_plugin($removed, $local_destination, $remote_destination, $plugin) {
+	public function delete_old_plugin($removed, $local_destination, $remote_destination, $plugin) {
 		global $wp_filesystem;
 
 		if ( is_wp_error($removed) )
@@ -774,10 +797,10 @@ class Plugin_Upgrader extends WP_Upgrader {
  */
 class Theme_Upgrader extends WP_Upgrader {
 
-	var $result;
-	var $bulk = false;
+	public $result;
+	public $bulk = false;
 
-	function upgrade_strings() {
+	public function upgrade_strings() {
 		$this->strings['up_to_date'] = __('The theme is at the latest version.');
 		$this->strings['no_package'] = __('Update package not available.');
 		$this->strings['downloading_package'] = __('Downloading update from <span class="code">%s</span>&#8230;');
@@ -788,7 +811,7 @@ class Theme_Upgrader extends WP_Upgrader {
 		$this->strings['process_success'] = __('Theme updated successfully.');
 	}
 
-	function install_strings() {
+	public function install_strings() {
 		$this->strings['no_package'] = __('Install package not available.');
 		$this->strings['downloading_package'] = __('Downloading install package from <span class="code">%s</span>&#8230;');
 		$this->strings['unpack_package'] = __('Unpacking the package&#8230;');
@@ -808,7 +831,7 @@ class Theme_Upgrader extends WP_Upgrader {
 		$this->strings['parent_theme_not_found'] = __('<strong>The parent theme could not be found.</strong> You will need to install the parent theme, <strong>%s</strong>, before you can use this child theme.');
 	}
 
-	function check_parent_theme_filter($install_result, $hook_extra, $child_result) {
+	public function check_parent_theme_filter($install_result, $hook_extra, $child_result) {
 		// Check to see if we need to install a parent theme
 		$theme_info = $this->theme_info();
 
@@ -867,12 +890,12 @@ class Theme_Upgrader extends WP_Upgrader {
 		return $install_result;
 	}
 
-	function hide_activate_preview_actions($actions) {
+	public function hide_activate_preview_actions($actions) {
 		unset($actions['activate'], $actions['preview']);
 		return $actions;
 	}
 
-	function install( $package, $args = array() ) {
+	public function install( $package, $args = array() ) {
 
 		$defaults = array(
 			'clear_update_cache' => true,
@@ -908,7 +931,7 @@ class Theme_Upgrader extends WP_Upgrader {
 		return true;
 	}
 
-	function upgrade( $theme, $args = array() ) {
+	public function upgrade( $theme, $args = array() ) {
 
 		$defaults = array(
 			'clear_update_cache' => true,
@@ -958,7 +981,7 @@ class Theme_Upgrader extends WP_Upgrader {
 		return true;
 	}
 
-	function bulk_upgrade( $themes, $args = array() ) {
+	public function bulk_upgrade( $themes, $args = array() ) {
 
 		$defaults = array(
 			'clear_update_cache' => true,
@@ -1022,6 +1045,7 @@ class Theme_Upgrader extends WP_Upgrader {
 				'destination' => get_theme_root( $theme ),
 				'clear_destination' => true,
 				'clear_working' => true,
+				'is_multi' => true,
 				'hook_extra' => array(
 					'theme' => $theme
 				),
@@ -1059,7 +1083,7 @@ class Theme_Upgrader extends WP_Upgrader {
 		return $results;
 	}
 
-	function check_package($source) {
+	public function check_package($source) {
 		global $wp_filesystem;
 
 		if ( is_wp_error($source) )
@@ -1086,7 +1110,7 @@ class Theme_Upgrader extends WP_Upgrader {
 		return $source;
 	}
 
-	function current_before($return, $theme) {
+	public function current_before($return, $theme) {
 
 		if ( is_wp_error($return) )
 			return $return;
@@ -1102,7 +1126,7 @@ class Theme_Upgrader extends WP_Upgrader {
 		return $return;
 	}
 
-	function current_after($return, $theme) {
+	public function current_after($return, $theme) {
 		if ( is_wp_error($return) )
 			return $return;
 
@@ -1124,7 +1148,7 @@ class Theme_Upgrader extends WP_Upgrader {
 		return $return;
 	}
 
-	function delete_old_theme( $removed, $local_destination, $remote_destination, $theme ) {
+	public function delete_old_theme( $removed, $local_destination, $remote_destination, $theme ) {
 		global $wp_filesystem;
 
 		if ( is_wp_error( $removed ) )
@@ -1143,7 +1167,7 @@ class Theme_Upgrader extends WP_Upgrader {
 		return true;
 	}
 
-	function theme_info($theme = null) {
+	public function theme_info($theme = null) {
 
 		if ( empty($theme) ) {
 			if ( !empty($this->result['destination_name']) )
@@ -1167,28 +1191,59 @@ add_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async
  */
 class Language_Pack_Upgrader extends WP_Upgrader {
 
-	var $result;
-	var $bulk = true;
+	public $result;
+	public $bulk = true;
 
-	static function async_upgrade( $upgrader = false ) {
+	public static function async_upgrade( $upgrader = false ) {
 		// Avoid recursion.
-		if ( $upgrader && $upgrader instanceof Language_Pack_Upgrader )
+		if ( $upgrader && $upgrader instanceof Language_Pack_Upgrader ) {
 			return;
+		}
 
 		// Nothing to do?
 		$language_updates = wp_get_translation_updates();
-		if ( ! $language_updates )
+		if ( ! $language_updates ) {
+			return;
+		}
+
+		// Avoid messing with VCS installs, at least for now.
+		// Noted: this is not the ideal way to accomplish this.
+		$check_vcs = new WP_Automatic_Updater;
+		if ( $check_vcs->is_vcs_checkout( WP_CONTENT_DIR ) ) {
+			return;
+		}
+
+		foreach ( $language_updates as $key => $language_update ) {
+			$update = ! empty( $language_update->autoupdate );
+
+			/**
+			 * Filter whether to asynchronously update translation for core, a plugin, or a theme.
+			 *
+			 * @since 4.0.0
+			 *
+			 * @param bool   $update          Whether to update.
+			 * @param object $language_update The update offer.
+			 */
+			$update = apply_filters( 'async_update_translation', $update, $language_update );
+
+			if ( ! $update ) {
+				unset( $language_updates[ $key ] );
+			}
+		}
+
+		if ( empty( $language_updates ) ) {
 			return;
+		}
 
 		$skin = new Language_Pack_Upgrader_Skin( array(
 			'skip_header_footer' => true,
 		) );
 
 		$lp_upgrader = new Language_Pack_Upgrader( $skin );
-		$lp_upgrader->upgrade();
+		$lp_upgrader->bulk_upgrade( $language_updates );
 	}
 
-	function upgrade_strings() {
+	public function upgrade_strings() {
 		$this->strings['starting_upgrade'] = __( 'Some of your translations need updating. Sit tight for a few more seconds while we update them as well.' );
 		$this->strings['up_to_date'] = __( 'The translation is up to date.' ); // We need to silently skip this case
 		$this->strings['no_package'] = __( 'Update package not available.' );
@@ -1198,14 +1253,21 @@ class Language_Pack_Upgrader extends WP_Upgrader {
 		$this->strings['process_success'] = __( 'Translation updated successfully.' );
 	}
 
-	function upgrade( $update = false, $args = array() ) {
-		if ( $update )
+	public function upgrade( $update = false, $args = array() ) {
+		if ( $update ) {
 			$update = array( $update );
+		}
+
 		$results = $this->bulk_upgrade( $update, $args );
+
+		if ( ! is_array( $results ) ) {
+			return $results;
+		}
+
 		return $results[0];
 	}
 
-	function bulk_upgrade( $language_updates = array(), $args = array() ) {
+	public function bulk_upgrade( $language_updates = array(), $args = array() ) {
 		global $wp_filesystem;
 
 		$defaults = array(
@@ -1233,7 +1295,13 @@ class Language_Pack_Upgrader extends WP_Upgrader {
 		if ( 'upgrader_process_complete' == current_filter() )
 			$this->skin->feedback( 'starting_upgrade' );
 
-		add_filter( 'upgrader_source_selection', array( &$this, 'check_package' ), 10, 3 );
+		// Remove any existing upgrade filters from the plugin/theme upgraders #WP29425 & #WP29230
+		remove_all_filters( 'upgrader_pre_install' );
+		remove_all_filters( 'upgrader_clear_destination' );
+		remove_all_filterS( 'upgrader_post_install' );
+		remove_all_filters( 'upgrader_source_selection' );
+
+		add_filter( 'upgrader_source_selection', array( $this, 'check_package' ), 10, 2 );
 
 		$this->skin->header();
 
@@ -1249,8 +1317,10 @@ class Language_Pack_Upgrader extends WP_Upgrader {
 		$this->update_count = count( $language_updates );
 		$this->update_current = 0;
 
-		// The filesystem's mkdir() is not recursive. Make sure WP_LANG_DIR exists,
-		// as we then may need to create a /plugins or /themes directory inside of it.
+		/*
+		 * The filesystem's mkdir() is not recursive. Make sure WP_LANG_DIR exists,
+		 * as we then may need to create a /plugins or /themes directory inside of it.
+		 */
 		$remote_destination = $wp_filesystem->find_folder( WP_LANG_DIR );
 		if ( ! $wp_filesystem->exists( $remote_destination ) )
 			if ( ! $wp_filesystem->mkdir( $remote_destination, FS_CHMOD_DIR ) )
@@ -1295,7 +1365,7 @@ class Language_Pack_Upgrader extends WP_Upgrader {
 		$this->skin->footer();
 
 		// Clean up our hooks, in case something else does an upgrade on this connection.
-		remove_filter( 'upgrader_source_selection', array( &$this, 'check_package' ), 10, 2 );
+		remove_filter( 'upgrader_source_selection', array( $this, 'check_package' ) );
 
 		if ( $parsed_args['clear_update_cache'] ) {
 			wp_clean_themes_cache( true );
@@ -1306,7 +1376,7 @@ class Language_Pack_Upgrader extends WP_Upgrader {
 		return $results;
 	}
 
-	function check_package( $source, $remote_source ) {
+	public function check_package( $source, $remote_source ) {
 		global $wp_filesystem;
 
 		if ( is_wp_error( $source ) )
@@ -1331,7 +1401,7 @@ class Language_Pack_Upgrader extends WP_Upgrader {
 		return $source;
 	}
 
-	function get_name_for_update( $update ) {
+	public function get_name_for_update( $update ) {
 		switch ( $update->type ) {
 			case 'core':
 				return 'WordPress'; // Not translated
@@ -1362,7 +1432,7 @@ class Language_Pack_Upgrader extends WP_Upgrader {
  */
 class Core_Upgrader extends WP_Upgrader {
 
-	function upgrade_strings() {
+	public function upgrade_strings() {
 		$this->strings['up_to_date'] = __('WordPress is at the latest version.');
 		$this->strings['no_package'] = __('Update package not available.');
 		$this->strings['downloading_package'] = __('Downloading update from <span class="code">%s</span>&#8230;');
@@ -1373,10 +1443,10 @@ class Core_Upgrader extends WP_Upgrader {
 		$this->strings['rollback_was_required'] = __( 'Due to an error during updating, WordPress has rolled back to your previous version.' );
 	}
 
-	function upgrade( $current, $args = array() ) {
+	public function upgrade( $current, $args = array() ) {
 		global $wp_filesystem;
 
-		include ABSPATH . WPINC . '/version.php'; // $wp_version;
+		include( ABSPATH . WPINC . '/version.php' ); // $wp_version;
 
 		$start_time = time();
 
@@ -1452,9 +1522,11 @@ class Core_Upgrader extends WP_Upgrader {
 			$try_rollback = false;
 			if ( is_wp_error( $result ) ) {
 				$error_code = $result->get_error_code();
-				// Not all errors are equal. These codes are critical: copy_failed__copy_dir,
-				// mkdir_failed__copy_dir, copy_failed__copy_dir_retry, and disk_full.
-				// do_rollback allows for update_core() to trigger a rollback if needed.
+				/*
+				 * Not all errors are equal. These codes are critical: copy_failed__copy_dir,
+				 * mkdir_failed__copy_dir, copy_failed__copy_dir_retry, and disk_full.
+				 * do_rollback allows for update_core() to trigger a rollback if needed.
+				 */
 				if ( false !== strpos( $error_code, 'do_rollback' ) )
 					$try_rollback = true;
 				elseif ( false !== strpos( $error_code, '__copy_dir' ) )
@@ -1519,8 +1591,8 @@ class Core_Upgrader extends WP_Upgrader {
 	}
 
 	// Determines if this WordPress Core version should update to $offered_ver or not
-	static function should_update_to_version( $offered_ver /* x.y.z */ ) {
-		include ABSPATH . WPINC . '/version.php'; // $wp_version; // x.y.z
+	public static function should_update_to_version( $offered_ver /* x.y.z */ ) {
+		include( ABSPATH . WPINC . '/version.php' ); // $wp_version; // x.y.z
 
 		$current_branch = implode( '.', array_slice( preg_split( '/[.-]/', $wp_version  ), 0, 2 ) ); // x.y
 		$new_branch     = implode( '.', array_slice( preg_split( '/[.-]/', $offered_ver ), 0, 2 ) ); // x.y
@@ -1584,7 +1656,7 @@ class Core_Upgrader extends WP_Upgrader {
 			 */
 			if ( ! apply_filters( 'allow_dev_auto_core_updates', $upgrade_dev ) )
 				return false;
-			// else fall through to minor + major branches below
+			// Else fall through to minor + major branches below.
 		}
 
 		// 4: Minor In-branch updates (3.7.0 -> 3.7.1 -> 3.7.2 -> 3.7.4)
@@ -1617,7 +1689,7 @@ class Core_Upgrader extends WP_Upgrader {
 		return false;
 	}
 
-	function check_files() {
+	public function check_files() {
 		global $wp_version, $wp_local_package;
 
 		$checksums = get_core_checksums( $wp_version, isset( $wp_local_package ) ? $wp_local_package : 'en_US' );
@@ -1645,11 +1717,11 @@ class Core_Upgrader extends WP_Upgrader {
  * @since 2.8.0
  */
 class File_Upload_Upgrader {
-	var $package;
-	var $filename;
-	var $id = 0;
+	public $package;
+	public $filename;
+	public $id = 0;
 
-	function __construct($form, $urlholder) {
+	public function __construct($form, $urlholder) {
 
 		if ( empty($_FILES[$form]['name']) && empty($_GET[$urlholder]) )
 			wp_die(__('Please select a file'));
@@ -1675,11 +1747,11 @@ class File_Upload_Upgrader {
 				'post_status' => 'private'
 			);
 
-			// Save the data
+			// Save the data.
 			$this->id = wp_insert_attachment( $object, $file['file'] );
 
-			// schedule a cleanup for 2 hours from now in case of failed install
-			wp_schedule_single_event( time() + 7200, 'upgrader_scheduled_cleanup', array( $this->id ) );
+			// Schedule a cleanup for 2 hours from now in case of failed install.
+			wp_schedule_single_event( time() + 2 * HOUR_IN_SECONDS, 'upgrader_scheduled_cleanup', array( $this->id ) );
 
 		} elseif ( is_numeric( $_GET[$urlholder] ) ) {
 			// Numeric Package = previously uploaded file, see above.
@@ -1700,7 +1772,7 @@ class File_Upload_Upgrader {
 		}
 	}
 
-	function cleanup() {
+	public function cleanup() {
 		if ( $this->id )
 			wp_delete_attachment( $this->id );
 
@@ -1902,7 +1974,6 @@ class WP_Automatic_Updater {
 	 * @param object $item The update offer.
 	 */
 	protected function send_core_update_notification_email( $item ) {
-		$notify   = true;
 		$notified = get_site_option( 'auto_core_update_notified' );
 
 		// Don't notify if we've already notified the same email address of the same version.
@@ -2002,16 +2073,18 @@ class WP_Automatic_Updater {
 		// Boom, This sites about to get a whole new splash of paint!
 		$upgrade_result = $upgrader->upgrade( $upgrader_item, array(
 			'clear_update_cache' => false,
-			'pre_check_md5'      => false, /* always use partial builds if possible for core updates */
-			'attempt_rollback'   => true, /* only available for core updates */
+			// Always use partial builds if possible for core updates.
+			'pre_check_md5'      => false,
+			// Only available for core updates.
+			'attempt_rollback'   => true,
 		) );
 
-		// if the filesystem is unavailable, false is returned.
+		// If the filesystem is unavailable, false is returned.
 		if ( false === $upgrade_result ) {
 			$upgrade_result = new WP_Error( 'fs_unavailable', __( 'Could not access filesystem.' ) );
 		}
 
-		// Core doesn't output this, so lets append it so we don't get confused
+		// Core doesn't output this, so lets append it so we don't get confused.
 		if ( 'core' == $type ) {
 			if ( is_wp_error( $upgrade_result ) ) {
 				$skin->error( __( 'Installation Failed' ), $upgrade_result );
@@ -2061,7 +2134,7 @@ class WP_Automatic_Updater {
 				return;
 		}
 
-		// Update the lock, as by this point we've definately got a lock, just need to fire the actions
+		// Update the lock, as by this point we've definitely got a lock, just need to fire the actions
 		update_option( $lock_name, time() );
 
 		// Don't automatically run these thins, as we'll handle it ourselves
@@ -2368,7 +2441,7 @@ class WP_Automatic_Updater {
 		$critical_support = 'critical' === $type && ! empty( $core_update->support_email );
 		if ( $critical_support ) {
 			// Support offer if available.
-			$body .= "\n\n" . sprintf( __( "The WordPress team is willing to help you. Forward this email to %s and the team will work with you to make sure your site is working." ), $core_update->support_email );
+			$body .= "\n\n" . sprintf( __( "The WordPress team is willing to help you. Forward this email to %s and the team will work with you to make sure your site is working." ), $core_update->support_email );
 		} else {
 			// Add a note about the support forums.
 			$body .= "\n\n" . __( 'If you experience any issues or need support, the volunteers in the WordPress.org support forums may be able to help.' );
@@ -2515,7 +2588,7 @@ class WP_Automatic_Updater {
 
 		$site_title = wp_specialchars_decode( get_bloginfo( 'name' ), ENT_QUOTES );
 		if ( $failures ) {
-			$body[] = __( "
+			$body[] = trim( __( "
 BETA TESTING?
 =============
 
@@ -2525,16 +2598,17 @@ If you think these failures might be due to a bug in WordPress, could you report
  * Open a thread in the support forums: https://wordpress.org/support/forum/alphabeta
  * Or, if you're comfortable writing a bug report: http://core.trac.wordpress.org/
 
-Thanks! -- The WordPress Team" );
+Thanks! -- The WordPress Team" ) );
+			$body[] = '';
 
 			$subject = sprintf( __( '[%s] There were failures during background updates' ), $site_title );
 		} else {
 			$subject = sprintf( __( '[%s] Background updates have finished' ), $site_title );
 		}
 
-		$title = __( 'UPDATE LOG' );
-		$body[] = $title;
-		$body[] = str_repeat( '=', strlen( $title ) );
+		$body[] = trim( __( '
+UPDATE LOG
+==========' ) );
 		$body[] = '';
 
 		foreach ( array( 'core', 'plugin', 'theme', 'translation' ) as $type ) {
diff --git a/wp-admin/includes/class-wp-users-list-table.php b/wp-admin/includes/class-wp-users-list-table.php
index dcce6d555..15d55f4e4 100644
--- a/wp-admin/includes/class-wp-users-list-table.php
+++ b/wp-admin/includes/class-wp-users-list-table.php
@@ -17,7 +17,7 @@ class WP_Users_List_Table extends WP_List_Table {
 	 * @access public
 	 * @var int
 	 */
-	var $site_id;
+	public $site_id;
 
 	/**
 	 * Whether or not the current Users list table is for Multisite.
@@ -26,15 +26,19 @@ class WP_Users_List_Table extends WP_List_Table {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_site_users;
+	public $is_site_users;
 
 	/**
 	 * Constructor.
 	 *
 	 * @since 3.1.0
 	 * @access public
+	 *
+	 * @see WP_List_Table::__construct() for more information on default arguments.
+	 *
+	 * @param array $args An associative array of arguments.
 	 */
-	function __construct( $args = array() ) {
+	public function __construct( $args = array() ) {
 		parent::__construct( array(
 			'singular' => 'user',
 			'plural'   => 'users',
@@ -53,7 +57,7 @@ class WP_Users_List_Table extends WP_List_Table {
  	 * @since 3.1.0
 	 * @access public
 	 */
-	function ajax_user_can() {
+	public function ajax_user_can() {
 		if ( $this->is_site_users )
 			return current_user_can( 'manage_sites' );
 		else
@@ -66,7 +70,7 @@ class WP_Users_List_Table extends WP_List_Table {
 	 * @since 3.1.0
 	 * @access public
 	 */
-	function prepare_items() {
+	public function prepare_items() {
 		global $role, $usersearch;
 
 		$usersearch = isset( $_REQUEST['s'] ) ? wp_unslash( trim( $_REQUEST['s'] ) ) : '';
@@ -115,7 +119,7 @@ class WP_Users_List_Table extends WP_List_Table {
 	 * @since 3.1.0
 	 * @access public
 	 */
-	function no_items() {
+	public function no_items() {
 		_e( 'No matching users were found.' );
 	}
 
@@ -127,11 +131,11 @@ class WP_Users_List_Table extends WP_List_Table {
 	 * filtering of the user table.
 	 *
 	 * @since  3.1.0
-	 * @access public
+	 * @access protected
 	 *
 	 * @return array An array of HTML links, one for each view.
 	 */
-	function get_views() {
+	protected function get_views() {
 		global $wp_roles, $role;
 
 		if ( $this->is_site_users ) {
@@ -147,7 +151,6 @@ class WP_Users_List_Table extends WP_List_Table {
 		$avail_roles =& $users_of_blog['avail_roles'];
 		unset($users_of_blog);
 
-		$current_role = false;
 		$class = empty($role) ? ' class="current"' : '';
 		$role_links = array();
 		$role_links['all'] = "<a href='$url'$class>" . sprintf( _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $total_users, 'users' ), number_format_i18n( $total_users ) ) . '</a>';
@@ -158,7 +161,6 @@ class WP_Users_List_Table extends WP_List_Table {
 			$class = '';
 
 			if ( $this_role == $role ) {
-				$current_role = $role;
 				$class = ' class="current"';
 			}
 
@@ -175,11 +177,11 @@ class WP_Users_List_Table extends WP_List_Table {
 	 * Retrieve an associative array of bulk actions available on this table.
 	 *
 	 * @since  3.1.0
-	 * @access public
+	 * @access protected
 	 *
 	 * @return array Array of bulk actions.
 	 */
-	function get_bulk_actions() {
+	protected function get_bulk_actions() {
 		$actions = array();
 
 		if ( is_multisite() ) {
@@ -197,12 +199,12 @@ class WP_Users_List_Table extends WP_List_Table {
 	 * Output the controls to allow user roles to be changed in bulk.
 	 *
 	 * @since 3.1.0
-	 * @access public
+	 * @access protected
 	 *
 	 * @param string $which Whether this is being invoked above ("top")
 	 *                      or below the table ("bottom").
 	 */
-	function extra_tablenav( $which ) {
+	protected function extra_tablenav( $which ) {
 		if ( 'top' != $which )
 			return;
 	?>
@@ -210,7 +212,7 @@ class WP_Users_List_Table extends WP_List_Table {
 		<?php if ( current_user_can( 'promote_users' ) ) : ?>
 		<label class="screen-reader-text" for="new_role"><?php _e( 'Change role to&hellip;' ) ?></label>
 		<select name="new_role" id="new_role">
-			<option value=''><?php _e( 'Change role to&hellip;' ) ?></option>
+			<option value=""><?php _e( 'Change role to&hellip;' ) ?></option>
 			<?php wp_dropdown_roles(); ?>
 		</select>
 	<?php
@@ -238,7 +240,7 @@ class WP_Users_List_Table extends WP_List_Table {
 	 *
 	 * @return string The bulk action required.
 	 */
-	function current_action() {
+	public function current_action() {
 		if ( isset($_REQUEST['changeit']) && !empty($_REQUEST['new_role']) )
 			return 'promote';
 
@@ -254,7 +256,7 @@ class WP_Users_List_Table extends WP_List_Table {
 	 * @return array Array in which the key is the ID of the column,
 	 *               and the value is the description.
 	 */
-	function get_columns() {
+	public function get_columns() {
 		$c = array(
 			'cb'       => '<input type="checkbox" />',
 			'username' => __( 'Username' ),
@@ -274,11 +276,11 @@ class WP_Users_List_Table extends WP_List_Table {
 	 * Get a list of sortable columns for the list table.
 	 *
 	 * @since 3.1.0
-	 * @access public
+	 * @access protected
 	 *
 	 * @return array Array of sortable columns.
 	 */
-	function get_sortable_columns() {
+	protected function get_sortable_columns() {
 		$c = array(
 			'username' => 'login',
 			'name'     => 'name',
@@ -297,7 +299,7 @@ class WP_Users_List_Table extends WP_List_Table {
 	 * @since 3.1.0
 	 * @access public
 	 */
-	function display_rows() {
+	public function display_rows() {
 		// Query the post counts for this page
 		if ( ! $this->is_site_users )
 			$post_counts = count_many_users_posts( array_keys( $this->items ) );
@@ -336,7 +338,7 @@ class WP_Users_List_Table extends WP_List_Table {
 	 *                            to zero, as in, a new user has made zero posts.
 	 * @return string Output for a single row.
 	 */
-	function single_row( $user_object, $style = '', $role = '', $numposts = 0 ) {
+	public function single_row( $user_object, $style = '', $role = '', $numposts = 0 ) {
 		global $wp_roles;
 
 		if ( !( is_object( $user_object ) && is_a( $user_object, 'WP_User' ) ) )
diff --git a/wp-admin/includes/dashboard.php b/wp-admin/includes/dashboard.php
index fb50197e1..2a5e74bea 100644
--- a/wp-admin/includes/dashboard.php
+++ b/wp-admin/includes/dashboard.php
@@ -18,11 +18,6 @@ function wp_dashboard_setup() {
 	$wp_dashboard_control_callbacks = array();
 	$screen = get_current_screen();
 
-	$update = false;
-	$widget_options = get_option( 'dashboard_widget_options' );
-	if ( !$widget_options || !is_array($widget_options) )
-		$widget_options = array();
-
 	/* Register Widgets and Controls */
 
 	$response = wp_check_browser_version();
@@ -123,9 +118,6 @@ function wp_dashboard_setup() {
 		exit;
 	}
 
-	if ( $update )
-		update_option( 'dashboard_widget_options', $widget_options );
-
 	/** This action is documented in wp-admin/edit-form-advanced.php */
 	do_action( 'do_meta_boxes', $screen->id, 'normal', '' );
 
@@ -186,16 +178,16 @@ function wp_dashboard() {
 
 ?>
 <div id="dashboard-widgets" class="metabox-holder<?php echo $columns_css; ?>">
-	<div id='postbox-container-1' class='postbox-container'>
+	<div id="postbox-container-1" class="postbox-container">
 	<?php do_meta_boxes( $screen->id, 'normal', '' ); ?>
 	</div>
-	<div id='postbox-container-2' class='postbox-container'>
+	<div id="postbox-container-2" class="postbox-container">
 	<?php do_meta_boxes( $screen->id, 'side', '' ); ?>
 	</div>
-	<div id='postbox-container-3' class='postbox-container'>
+	<div id="postbox-container-3" class="postbox-container">
 	<?php do_meta_boxes( $screen->id, 'column3', '' ); ?>
 	</div>
-	<div id='postbox-container-4' class='postbox-container'>
+	<div id="postbox-container-4" class="postbox-container">
 	<?php do_meta_boxes( $screen->id, 'column4', '' ); ?>
 	</div>
 </div>
@@ -218,11 +210,6 @@ function wp_dashboard() {
  * @since 2.7.0
  */
 function wp_dashboard_right_now() {
-	$theme = wp_get_theme();
-	if ( current_user_can( 'switch_themes' ) )
-		$theme_name = sprintf( '<a href="themes.php">%1$s</a>', $theme->display('Name') );
-	else
-		$theme_name = $theme->display('Name');
 ?>
 	<div class="main">
 	<ul>
@@ -469,7 +456,7 @@ function wp_dashboard_quick_press( $error_msg = false ) {
 
 		<div class="textarea-wrap" id="description-wrap">
 			<label class="screen-reader-text prompt" for="content" id="content-prompt-text"><?php _e( 'What&#8217;s on your mind?' ); ?></label>
-			<textarea name="content" id="content" class="mceEditor" rows="3" cols="15"></textarea>
+			<textarea name="content" id="content" class="mceEditor" rows="3" cols="15" autocomplete="off"></textarea>
 		</div>
 
 		<p class="submit">
@@ -544,7 +531,7 @@ function _wp_dashboard_recent_comments_row( &$comment, $show_date = true ) {
 
 	$actions_string = '';
 	if ( current_user_can( 'edit_comment', $comment->comment_ID ) ) {
-		// preorder it: Approve | Reply | Edit | Spam | Trash
+		// Pre-order it: Approve | Reply | Edit | Spam | Trash.
 		$actions = array(
 			'approve' => '', 'unapprove' => '',
 			'reply' => '',
@@ -614,16 +601,16 @@ function _wp_dashboard_recent_comments_row( &$comment, $show_date = true ) {
 
 			<?php
 			else :
-				switch ( $comment->comment_type ) :
-				case 'pingback' :
-					$type = __( 'Pingback' );
-					break;
-				case 'trackback' :
-					$type = __( 'Trackback' );
-					break;
-				default :
-					$type = ucwords( $comment->comment_type );
-				endswitch;
+				switch ( $comment->comment_type ) {
+					case 'pingback' :
+						$type = __( 'Pingback' );
+						break;
+					case 'trackback' :
+						$type = __( 'Trackback' );
+						break;
+					default :
+						$type = ucwords( $comment->comment_type );
+				}
 				$type = esc_html( $type );
 			?>
 			<div class="dashboard-comment-wrap">
@@ -712,7 +699,6 @@ function wp_dashboard_recent_posts( $args ) {
 
 		echo '<ul>';
 
-		$i = 0;
 		$today    = date( 'Y-m-d', current_time( 'timestamp' ) );
 		$tomorrow = date( 'Y-m-d', strtotime( '+1 day', current_time( 'timestamp' ) ) );
 
@@ -761,11 +747,8 @@ function wp_dashboard_recent_posts( $args ) {
  * @return bool False if no comments were found. True otherwise.
  */
 function wp_dashboard_recent_comments( $total_items = 5 ) {
-	global $wpdb;
-
 	// Select all comment types and filter out spam later for better query performance.
 	$comments = array();
-	$start = 0;
 
 	$comments_query = array(
 		'number' => $total_items * 5,
@@ -786,8 +769,6 @@ function wp_dashboard_recent_comments( $total_items = 5 ) {
 		$comments_query['number'] = $total_items * 10;
 	}
 
-
-
 	if ( $comments ) {
 		echo '<div id="latest-comments" class="activity-block">';
 		echo '<h4>' . __( 'Comments' ) . '</h4>';
@@ -864,8 +845,8 @@ function wp_dashboard_cached_rss_widget( $widget_id, $callback, $check_urls = ar
 	}
 
 	if ( $callback && is_callable( $callback ) ) {
-		$args = array_slice( func_get_args(), 2 );
-		array_unshift( $args, $widget_id );
+		$args = array_slice( func_get_args(), 3 );
+		array_unshift( $args, $widget_id, $check_urls );
 		ob_start();
 		call_user_func_array( $callback, $args );
 		set_transient( $cache_key, ob_get_flush(), 12 * HOUR_IN_SECONDS ); // Default lifetime in cache of 12 hours (same as the feeds)
@@ -917,7 +898,8 @@ function wp_dashboard_rss_control( $widget_id, $form_inputs = array() ) {
 		$_POST['widget-rss'][$number] = wp_unslash( $_POST['widget-rss'][$number] );
 		$widget_options[$widget_id] = wp_widget_rss_process( $_POST['widget-rss'][$number] );
 		$widget_options[$widget_id]['number'] = $number;
-		// title is optional. If black, fill it if possible
+
+		// Title is optional. If black, fill it if possible.
 		if ( !$widget_options[$widget_id]['title'] && isset($_POST['widget-rss'][$number]['title']) ) {
 			$rss = fetch_feed($widget_options[$widget_id]['url']);
 			if ( is_wp_error($rss) ) {
@@ -1065,13 +1047,11 @@ function wp_dashboard_plugins_output( $rss, $args = array() ) {
 
 	echo '<ul>';
 
-	foreach ( array(
-		'popular' => __( 'Popular Plugin' )
-	) as $feed => $label ) {
-		if ( is_wp_error($$feed) || !$$feed->get_item_quantity() )
+	foreach ( array( $popular ) as $feed ) {
+		if ( is_wp_error( $feed ) || ! $feed->get_item_quantity() )
 			continue;
 
-		$items = $$feed->get_items(0, 5);
+		$items = $feed->get_items(0, 5);
 
 		// Pick a random, non-installed plugin
 		while ( true ) {
@@ -1114,14 +1094,11 @@ function wp_dashboard_plugins_output( $rss, $args = array() ) {
 
 		$title = esc_html( $item->get_title() );
 
-		$description = esc_html( strip_tags( @html_entity_decode( $item->get_description(), ENT_QUOTES, get_option( 'blog_charset' ) ) ) );
-
 		$ilink = wp_nonce_url('plugin-install.php?tab=plugin-information&plugin=' . $slug, 'install-plugin_' . $slug) . '&amp;TB_iframe=true&amp;width=600&amp;height=800';
+		echo "<li class='dashboard-news-plugin'><span>" . __( 'Popular Plugin' ) . ":</span> <a href='$link' class='dashboard-news-plugin-link'>$title</a>&nbsp;<span>(<a href='$ilink' class='thickbox' title='$title'>" . __( 'Install' ) . "</a>)</span></li>";
 
-		echo "<li class='dashboard-news-plugin'><span>$label:</span> <a href='$link' class='dashboard-news-plugin-link'>$title</a>&nbsp;<span>(<a href='$ilink' class='thickbox' title='$title'>" . __( 'Install' ) . "</a>)</span></li>";
-
-		$$feed->__destruct();
-		unset( $$feed );
+		$feed->__destruct();
+		unset( $feed );
 	}
 
 	echo '</ul>';
@@ -1303,8 +1280,10 @@ function wp_welcome_panel() {
 	<p class="about-description"><?php _e( 'We&#8217;ve assembled some links to get you started:' ); ?></p>
 	<div class="welcome-panel-column-container">
 	<div class="welcome-panel-column">
-		<h4><?php _e( 'Get Started' ); ?></h4>
-		<a class="button button-primary button-hero load-customize hide-if-no-customize" href="<?php echo wp_customize_url(); ?>"><?php _e( 'Customize Your Site' ); ?></a>
+		<?php if ( current_user_can( 'customize' ) ): ?>
+			<h4><?php _e( 'Get Started' ); ?></h4>
+			<a class="button button-primary button-hero load-customize hide-if-no-customize" href="<?php echo wp_customize_url(); ?>"><?php _e( 'Customize Your Site' ); ?></a>
+		<?php endif; ?>
 		<a class="button button-primary button-hero hide-if-customize" href="<?php echo admin_url( 'themes.php' ); ?>"><?php _e( 'Customize Your Site' ); ?></a>
 		<?php if ( current_user_can( 'install_themes' ) || ( current_user_can( 'switch_themes' ) && count( wp_get_themes( array( 'allowed' => true ) ) ) > 1 ) ) : ?>
 			<p class="hide-if-no-customize"><?php printf( __( 'or, <a href="%s">change your theme completely</a>' ), admin_url( 'themes.php' ) ); ?></p>
diff --git a/wp-admin/includes/deprecated.php b/wp-admin/includes/deprecated.php
index 36b4ca28c..f6fa0a2ad 100644
--- a/wp-admin/includes/deprecated.php
+++ b/wp-admin/includes/deprecated.php
@@ -852,42 +852,42 @@ function favorite_actions() {
 }
 
 function media_upload_image() {
-	__deprecated_function( __FUNCTION__, '3.3', 'wp_media_upload_handler()' );
+	_deprecated_function( __FUNCTION__, '3.3', 'wp_media_upload_handler()' );
 	return wp_media_upload_handler();
 }
 
 function media_upload_audio() {
-	__deprecated_function( __FUNCTION__, '3.3', 'wp_media_upload_handler()' );
+	_deprecated_function( __FUNCTION__, '3.3', 'wp_media_upload_handler()' );
 	return wp_media_upload_handler();
 }
 
 function media_upload_video() {
-	__deprecated_function( __FUNCTION__, '3.3', 'wp_media_upload_handler()' );
+	_deprecated_function( __FUNCTION__, '3.3', 'wp_media_upload_handler()' );
 	return wp_media_upload_handler();
 }
 
 function media_upload_file() {
-	__deprecated_function( __FUNCTION__, '3.3', 'wp_media_upload_handler()' );
+	_deprecated_function( __FUNCTION__, '3.3', 'wp_media_upload_handler()' );
 	return wp_media_upload_handler();
 }
 
 function type_url_form_image() {
-	__deprecated_function( __FUNCTION__, '3.3', "wp_media_insert_url_form('image')" );
+	_deprecated_function( __FUNCTION__, '3.3', "wp_media_insert_url_form('image')" );
 	return wp_media_insert_url_form( 'image' );
 }
 
 function type_url_form_audio() {
-	__deprecated_function( __FUNCTION__, '3.3', "wp_media_insert_url_form('audio')" );
+	_deprecated_function( __FUNCTION__, '3.3', "wp_media_insert_url_form('audio')" );
 	return wp_media_insert_url_form( 'audio' );
 }
 
 function type_url_form_video() {
-	__deprecated_function( __FUNCTION__, '3.3', "wp_media_insert_url_form('video')" );
+	_deprecated_function( __FUNCTION__, '3.3', "wp_media_insert_url_form('video')" );
 	return wp_media_insert_url_form( 'video' );
 }
 
 function type_url_form_file() {
-	__deprecated_function( __FUNCTION__, '3.3', "wp_media_insert_url_form('file')" );
+	_deprecated_function( __FUNCTION__, '3.3', "wp_media_insert_url_form('file')" );
 	return wp_media_insert_url_form( 'file' );
 }
 
@@ -1070,7 +1070,7 @@ function wp_update_core($current, $feedback = '') {
 	if ( !empty($feedback) )
 		add_filter('update_feedback', $feedback);
 
-	include ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
+	include( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
 	$upgrader = new Core_Upgrader();
 	return $upgrader->upgrade($current);
 
@@ -1093,7 +1093,7 @@ function wp_update_plugin($plugin, $feedback = '') {
 	if ( !empty($feedback) )
 		add_filter('update_feedback', $feedback);
 
-	include ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
+	include( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
 	$upgrader = new Plugin_Upgrader();
 	return $upgrader->upgrade($plugin);
 }
@@ -1115,7 +1115,7 @@ function wp_update_theme($theme, $feedback = '') {
 	if ( !empty($feedback) )
 		add_filter('update_feedback', $feedback);
 
-	include ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
+	include( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
 	$upgrader = new Theme_Upgrader();
 	return $upgrader->upgrade($theme);
 }
diff --git a/wp-admin/includes/export.php b/wp-admin/includes/export.php
index 162e00721..397e9e7a0 100644
--- a/wp-admin/includes/export.php
+++ b/wp-admin/includes/export.php
@@ -83,10 +83,13 @@ function export_wp( $args = array() ) {
 			$where .= $wpdb->prepare( " AND {$wpdb->posts}.post_date < %s", date( 'Y-m-d', strtotime('+1 month', strtotime($args['end_date'])) ) );
 	}
 
-	// grab a snapshot of post IDs, just in case it changes during the export
+	// Grab a snapshot of post IDs, just in case it changes during the export.
 	$post_ids = $wpdb->get_col( "SELECT ID FROM {$wpdb->posts} $join WHERE $where" );
 
-	// get the requested terms ready, empty unless posts filtered by category or all content
+	/*
+	 * Get the requested terms ready, empty unless posts filtered by category
+	 * or all content.
+	 */
 	$cats = $tags = $terms = array();
 	if ( isset( $term ) && $term ) {
 		$cat = get_term( $term['term_id'], 'category' );
@@ -99,7 +102,7 @@ function export_wp( $args = array() ) {
 		$custom_taxonomies = get_taxonomies( array( '_builtin' => false ) );
 		$custom_terms = (array) get_terms( $custom_taxonomies, array( 'get' => 'all' ) );
 
-		// put categories in order with no child going before its parent
+		// Put categories in order with no child going before its parent.
 		while ( $cat = array_shift( $categories ) ) {
 			if ( $cat->parent == 0 || isset( $cats[$cat->parent] ) )
 				$cats[$cat->term_id] = $cat;
@@ -107,7 +110,7 @@ function export_wp( $args = array() ) {
 				$categories[] = $cat;
 		}
 
-		// put terms in order with no child going before its parent
+		// Put terms in order with no child going before its parent.
 		while ( $t = array_shift( $custom_terms ) ) {
 			if ( $t->parent == 0 || isset( $terms[$t->parent] ) )
 				$terms[$t->term_id] = $t;
@@ -144,10 +147,10 @@ function export_wp( $args = array() ) {
 	 * @return string Site URL.
 	 */
 	function wxr_site_url() {
-		// ms: the base url
+		// Multisite: the base URL.
 		if ( is_multisite() )
 			return network_home_url();
-		// wp: the blog url
+		// WordPress (single site): the blog URL.
 		else
 			return get_bloginfo_rss( 'url' );
 	}
@@ -240,12 +243,21 @@ function export_wp( $args = array() ) {
 	 * Output list of authors with posts
 	 *
 	 * @since 3.1.0
+	 *
+	 * @param array $post_ids Array of post IDs to filter the query by. Optional.
 	 */
-	function wxr_authors_list() {
+	function wxr_authors_list( array $post_ids = null ) {
 		global $wpdb;
 
+		if ( !empty( $post_ids ) ) {
+			$post_ids = array_map( 'absint', $post_ids );
+			$and = 'AND ID IN ( ' . implode( ', ', $post_ids ) . ')';
+		} else {
+			$and = '';
+		}
+
 		$authors = array();
-		$results = $wpdb->get_results( "SELECT DISTINCT post_author FROM $wpdb->posts WHERE post_status != 'auto-draft'" );
+		$results = $wpdb->get_results( "SELECT DISTINCT post_author FROM $wpdb->posts WHERE post_status != 'auto-draft' $and" );
 		foreach ( (array) $results as $result )
 			$authors[] = get_userdata( $result->post_author );
 
@@ -344,7 +356,7 @@ function export_wp( $args = array() ) {
 	<wp:base_site_url><?php echo wxr_site_url(); ?></wp:base_site_url>
 	<wp:base_blog_url><?php bloginfo_rss( 'url' ); ?></wp:base_blog_url>
 
-<?php wxr_authors_list(); ?>
+<?php wxr_authors_list( $post_ids ); ?>
 
 <?php foreach ( $cats as $c ) : ?>
 	<wp:category><wp:term_id><?php echo $c->term_id ?></wp:term_id><wp:category_nicename><?php echo $c->slug; ?></wp:category_nicename><wp:category_parent><?php echo $c->parent ? $cats[$c->parent]->slug : ''; ?></wp:category_parent><?php wxr_cat_name( $c ); ?><?php wxr_category_description( $c ); ?></wp:category>
@@ -364,14 +376,16 @@ function export_wp( $args = array() ) {
 
 <?php if ( $post_ids ) {
 	global $wp_query;
-	$wp_query->in_the_loop = true; // Fake being in the loop.
 
-	// fetch 20 posts at a time rather than loading the entire table into memory
+	// Fake being in the loop.
+	$wp_query->in_the_loop = true;
+
+	// Fetch 20 posts at a time rather than loading the entire table into memory.
 	while ( $next_posts = array_splice( $post_ids, 0, 20 ) ) {
 	$where = 'WHERE ID IN (' . join( ',', $next_posts ) . ')';
 	$posts = $wpdb->get_results( "SELECT * FROM {$wpdb->posts} $where" );
 
-	// Begin Loop
+	// Begin Loop.
 	foreach ( $posts as $post ) {
 		setup_postdata( $post );
 		$is_sticky = is_sticky( $post->ID ) ? 1 : 0;
@@ -441,8 +455,9 @@ function export_wp( $args = array() ) {
 			<wp:meta_key><?php echo $meta->meta_key; ?></wp:meta_key>
 			<wp:meta_value><?php echo wxr_cdata( $meta->meta_value ); ?></wp:meta_value>
 		</wp:postmeta>
-<?php	endforeach; ?>
-<?php	$comments = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_approved <> 'spam'", $post->ID ) );
+<?php	endforeach;
+
+		$comments = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_approved <> 'spam'", $post->ID ) );
 		foreach ( $comments as $c ) : ?>
 		<wp:comment>
 			<wp:comment_id><?php echo $c->comment_ID; ?></wp:comment_id>
@@ -458,7 +473,23 @@ function export_wp( $args = array() ) {
 			<wp:comment_parent><?php echo $c->comment_parent; ?></wp:comment_parent>
 			<wp:comment_user_id><?php echo $c->user_id; ?></wp:comment_user_id>
 <?php		$c_meta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->commentmeta WHERE comment_id = %d", $c->comment_ID ) );
-			foreach ( $c_meta as $meta ) : ?>
+			foreach ( $c_meta as $meta ) :
+				/**
+				 * Filter whether to selectively skip comment meta used for WXR exports.
+				 *
+				 * Returning a truthy value to the filter will skip the current meta
+				 * object from being exported.
+				 *
+				 * @since 4.0.0
+				 *
+				 * @param bool   $skip     Whether to skip the current comment meta. Default false.
+				 * @param string $meta_key Current meta key.
+				 * @param object $meta     Current meta object.
+				 */
+				if ( apply_filters( 'wxr_export_skip_commentmeta', false, $meta->meta_key, $meta ) ) {
+					continue;
+				}
+			?>
 			<wp:commentmeta>
 				<wp:meta_key><?php echo $meta->meta_key; ?></wp:meta_key>
 				<wp:meta_value><?php echo wxr_cdata( $meta->meta_value ); ?></wp:meta_value>
diff --git a/wp-admin/includes/file.php b/wp-admin/includes/file.php
index d81dd5254..286d76ff5 100644
--- a/wp-admin/includes/file.php
+++ b/wp-admin/includes/file.php
@@ -79,8 +79,8 @@ function get_file_description( $file ) {
  * @return string Full filesystem path to the root of the WordPress installation
  */
 function get_home_path() {
-	$home = get_option( 'home' );
-	$siteurl = get_option( 'siteurl' );
+	$home    = set_url_scheme( get_option( 'home' ), 'http' );
+	$siteurl = set_url_scheme( get_option( 'siteurl' ), 'http' );
 	if ( ! empty( $home ) && 0 !== strcasecmp( $home, $siteurl ) ) {
 		$wp_path_rel_to_home = str_ireplace( $home, '', $siteurl ); /* $siteurl - $home */
 		$pos = strripos( str_replace( '\\', '/', $_SERVER['SCRIPT_FILENAME'] ), trailingslashit( $wp_path_rel_to_home ) );
@@ -179,8 +179,8 @@ function validate_file_to_edit( $file, $allowed_files = '' ) {
 		case 1 :
 			wp_die( __( 'Sorry, that file cannot be edited.' ) );
 
-		//case 2 :
-		//	wp_die( __('Sorry, can&#8217;t call files with their real path.' ));
+		// case 2 :
+		// wp_die( __('Sorry, can&#8217;t call files with their real path.' ));
 
 		case 3 :
 			wp_die( __( 'Sorry, that file cannot be edited.' ) );
@@ -191,145 +191,171 @@ function validate_file_to_edit( $file, $allowed_files = '' ) {
  * Handle PHP uploads in WordPress, sanitizing file names, checking extensions for mime type,
  * and moving the file to the appropriate directory within the uploads directory.
  *
- * @since 2.0.0
+ * @since 4.0.0
  *
- * @uses wp_handle_upload_error
- * @uses is_multisite
- * @uses wp_check_filetype_and_ext
- * @uses current_user_can
- * @uses wp_upload_dir
- * @uses wp_unique_filename
- * @uses delete_transient
- * @param array $file Reference to a single element of $_FILES. Call the function once for each uploaded file.
- * @param array $overrides Optional. An associative array of names=>values to override default variables with extract( $overrides, EXTR_OVERWRITE ).
- * @param string $time Optional. Time formatted in 'yyyy/mm'.
- * @return array On success, returns an associative array of file attributes. On failure, returns $overrides['upload_error_handler'](&$file, $message ) or array( 'error'=>$message ).
- */
-function wp_handle_upload( &$file, $overrides = false, $time = null ) {
+ * @see wp_handle_upload_error
+ *
+ * @param array  $file      Reference to a single element of $_FILES. Call the function once for
+ *                          each uploaded file.
+ * @param array  $overrides An associative array of names => values to override default variables.
+ * @param string $time      Time formatted in 'yyyy/mm'.
+ * @param string $action    Expected value for $_POST['action'].
+ * @return array On success, returns an associative array of file attributes. On failure, returns
+ *               $overrides['upload_error_handler'](&$file, $message ) or array( 'error'=>$message ).
+*/
+function _wp_handle_upload( &$file, $overrides, $time, $action ) {
 	// The default error handler.
 	if ( ! function_exists( 'wp_handle_upload_error' ) ) {
 		function wp_handle_upload_error( &$file, $message ) {
-			return array( 'error'=>$message );
+			return array( 'error' => $message );
 		}
 	}
 
 	/**
-	 * Filter data for the current file to upload.
+	 * The dynamic portion of the hook name, $action, refers to the post action.
 	 *
-	 * @since 2.9.0
+	 * @since 2.9.0 as 'wp_handle_upload_prefilter'
+	 * @since 4.0.0 Converted to a dynamic hook with $action
 	 *
 	 * @param array $file An array of data for a single file.
 	 */
-	$file = apply_filters( 'wp_handle_upload_prefilter', $file );
+	$file = apply_filters( "{$action}_prefilter", $file );
 
 	// You may define your own function and pass the name in $overrides['upload_error_handler']
 	$upload_error_handler = 'wp_handle_upload_error';
+	if ( isset( $overrides['upload_error_handler'] ) ) {
+		$upload_error_handler = $overrides['upload_error_handler'];
+	}
 
 	// You may have had one or more 'wp_handle_upload_prefilter' functions error out the file. Handle that gracefully.
-	if ( isset( $file['error'] ) && !is_numeric( $file['error'] ) && $file['error'] )
+	if ( isset( $file['error'] ) && ! is_numeric( $file['error'] ) && $file['error'] ) {
 		return $upload_error_handler( $file, $file['error'] );
+	}
+
+	// Install user overrides. Did we mention that this voids your warranty?
 
 	// You may define your own function and pass the name in $overrides['unique_filename_callback']
 	$unique_filename_callback = null;
+	if ( isset( $overrides['unique_filename_callback'] ) ) {
+		$unique_filename_callback = $overrides['unique_filename_callback'];
+	}
 
-	// $_POST['action'] must be set and its value must equal $overrides['action'] or this:
-	$action = 'wp_handle_upload';
-
-	// Courtesy of php.net, the strings that describe the error indicated in $_FILES[{form field}]['error'].
-	$upload_error_strings = array( false,
-		__( "The uploaded file exceeds the upload_max_filesize directive in php.ini." ),
-		__( "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form." ),
-		__( "The uploaded file was only partially uploaded." ),
-		__( "No file was uploaded." ),
-		'',
-		__( "Missing a temporary folder." ),
-		__( "Failed to write file to disk." ),
-		__( "File upload stopped by extension." ));
+	/*
+	 * This may not have orignially been intended to be overrideable,
+	 * but historically has been.
+	 */
+	if ( isset( $overrides['upload_error_strings'] ) ) {
+		$upload_error_strings = $overrides['upload_error_strings'];
+	} else {
+		// Courtesy of php.net, the strings that describe the error indicated in $_FILES[{form field}]['error'].
+		$upload_error_strings = array(
+			false,
+			__( 'The uploaded file exceeds the upload_max_filesize directive in php.ini.' ),
+			__( 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.' ),
+			__( 'The uploaded file was only partially uploaded.' ),
+			__( 'No file was uploaded.' ),
+			'',
+			__( 'Missing a temporary folder.' ),
+			__( 'Failed to write file to disk.' ),
+			__( 'File upload stopped by extension.' )
+		);
+	}
 
 	// All tests are on by default. Most can be turned off by $overrides[{test_name}] = false;
-	$test_form = true;
-	$test_size = true;
-	$test_upload = true;
+	$test_form = isset( $overrides['test_form'] ) ? $overrides['test_form'] : true;
+	$test_size = isset( $overrides['test_size'] ) ? $overrides['test_size'] : true;
 
-	// If you override this, you must provide $ext and $type!!!!
-	$test_type = true;
-	$mimes = false;
+	// If you override this, you must provide $ext and $type!!
+	$test_type = isset( $overrides['test_type'] ) ? $overrides['test_type'] : true;
+	$mimes = isset( $overrides['mimes'] ) ? $overrides['mimes'] : false;
 
-	// Install user overrides. Did we mention that this voids your warranty?
-	if ( is_array( $overrides ) )
-		extract( $overrides, EXTR_OVERWRITE );
+	$test_upload = isset( $overrides['test_upload'] ) ? $overrides['test_upload'] : true;
 
 	// A correct form post will pass this test.
-	if ( $test_form && (!isset( $_POST['action'] ) || ($_POST['action'] != $action ) ) )
-		return call_user_func($upload_error_handler, $file, __( 'Invalid form submission.' ));
-
+	if ( $test_form && ( ! isset( $_POST['action'] ) || ( $_POST['action'] != $action ) ) ) {
+		return call_user_func( $upload_error_handler, $file, __( 'Invalid form submission.' ) );
+	}
 	// A successful upload will pass this test. It makes no sense to override this one.
 	if ( isset( $file['error'] ) && $file['error'] > 0 ) {
 		return call_user_func( $upload_error_handler, $file, $upload_error_strings[ $file['error'] ] );
 	}
 
+	$test_file_size = 'wp_handle_upload' === $action ? $file['size'] : filesize( $file['tmp_name'] );
 	// A non-empty file will pass this test.
-	if ( $test_size && !($file['size'] > 0 ) ) {
-		if ( is_multisite() )
+	if ( $test_size && ! ( $test_file_size > 0 ) ) {
+		if ( is_multisite() ) {
 			$error_msg = __( 'File is empty. Please upload something more substantial.' );
-		else
+		} else {
 			$error_msg = __( 'File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your php.ini or by post_max_size being defined as smaller than upload_max_filesize in php.ini.' );
-		return call_user_func($upload_error_handler, $file, $error_msg);
+		}
+		return call_user_func( $upload_error_handler, $file, $error_msg );
 	}
 
 	// A properly uploaded file will pass this test. There should be no reason to override this one.
-	if ( $test_upload && ! @ is_uploaded_file( $file['tmp_name'] ) )
-		return call_user_func($upload_error_handler, $file, __( 'Specified file failed upload test.' ));
+	$test_uploaded_file = 'wp_handle_upload' === $action ? @ is_uploaded_file( $file['tmp_name'] ) : @ is_file( $file['tmp_name'] );
+	if ( $test_upload && ! $test_uploaded_file ) {
+		return call_user_func( $upload_error_handler, $file, __( 'Specified file failed upload test.' ) );
+	}
 
 	// A correct MIME type will pass this test. Override $mimes or use the upload_mimes filter.
 	if ( $test_type ) {
 		$wp_filetype = wp_check_filetype_and_ext( $file['tmp_name'], $file['name'], $mimes );
-
-		extract( $wp_filetype );
+		$ext = empty( $wp_filetype['ext'] ) ? '' : $wp_filetype['ext'];
+		$type = empty( $wp_filetype['type'] ) ? '' : $wp_filetype['type'];
+		$proper_filename = empty( $wp_filetype['proper_filename'] ) ? '' : $wp_filetype['proper_filename'];
 
 		// Check to see if wp_check_filetype_and_ext() determined the filename was incorrect
-		if ( $proper_filename )
+		if ( $proper_filename ) {
 			$file['name'] = $proper_filename;
-
-		if ( ( !$type || !$ext ) && !current_user_can( 'unfiltered_upload' ) )
-			return call_user_func($upload_error_handler, $file, __( 'Sorry, this file type is not permitted for security reasons.' ));
-
-		if ( !$ext )
-			$ext = ltrim(strrchr($file['name'], '.'), '.');
-
-		if ( !$type )
+		}
+		if ( ( ! $type || !$ext ) && ! current_user_can( 'unfiltered_upload' ) ) {
+			return call_user_func( $upload_error_handler, $file, __( 'Sorry, this file type is not permitted for security reasons.' ) );
+		}
+		if ( ! $type ) {
 			$type = $file['type'];
+		}
 	} else {
 		$type = '';
 	}
 
-	// A writable uploads dir will pass this test. Again, there's no point overriding this one.
-	if ( ! ( ( $uploads = wp_upload_dir($time) ) && false === $uploads['error'] ) )
-		return call_user_func($upload_error_handler, $file, $uploads['error'] );
+	/*
+	 * A writable uploads dir will pass this test. Again, there's no point
+	 * overriding this one.
+	 */
+	if ( ! ( ( $uploads = wp_upload_dir( $time ) ) && false === $uploads['error'] ) ) {
+		return call_user_func( $upload_error_handler, $file, $uploads['error'] );
+	}
 
 	$filename = wp_unique_filename( $uploads['path'], $file['name'], $unique_filename_callback );
 
-	// Move the file to the uploads dir
+	// Move the file to the uploads dir.
 	$new_file = $uploads['path'] . "/$filename";
-	if ( false === @ move_uploaded_file( $file['tmp_name'], $new_file ) ) {
-		if ( 0 === strpos( $uploads['basedir'], ABSPATH ) )
+	if ( 'wp_handle_upload' === $action ) {
+		$move_new_file = @ move_uploaded_file( $file['tmp_name'], $new_file );
+	} else {
+		$move_new_file = @ rename( $file['tmp_name'], $new_file );
+	}
+
+	if ( false === $move_new_file ) {
+		if ( 0 === strpos( $uploads['basedir'], ABSPATH ) ) {
 			$error_path = str_replace( ABSPATH, '', $uploads['basedir'] ) . $uploads['subdir'];
-		else
+		} else {
 			$error_path = basename( $uploads['basedir'] ) . $uploads['subdir'];
-
+		}
 		return $upload_error_handler( $file, sprintf( __('The uploaded file could not be moved to %s.' ), $error_path ) );
 	}
 
-	// Set correct file permissions
+	// Set correct file permissions.
 	$stat = stat( dirname( $new_file ));
 	$perms = $stat['mode'] & 0000666;
 	@ chmod( $new_file, $perms );
 
-	// Compute the URL
+	// Compute the URL.
 	$url = $uploads['url'] . "/$filename";
 
-	if ( is_multisite() )
+	if ( is_multisite() ) {
 		delete_transient( 'dirsize_cache' );
+	}
 
 	/**
 	 * Filter the data array for the uploaded file.
@@ -343,138 +369,69 @@ function wp_handle_upload( &$file, $overrides = false, $time = null ) {
 	 *     @type string $url  URL of the uploaded file.
 	 *     @type string $type File type.
 	 * }
-	 * @param string $context The type of upload action. Accepts 'upload' or 'sideload'.
+	 * @param string $context The type of upload action. Values include 'upload' or 'sideload'.
 	 */
-	return apply_filters( 'wp_handle_upload', array( 'file' => $new_file, 'url' => $url, 'type' => $type ), 'upload' );
-}
+	return apply_filters( 'wp_handle_upload', array(
+		'file' => $new_file,
+		'url'  => $url,
+		'type' => $type
+	), 'wp_handle_sideload' === $action ? 'sideload' : 'upload' ); }
 
 /**
- * Handle sideloads, which is the process of retrieving a media item from another server instead of
- * a traditional media upload. This process involves sanitizing the filename, checking extensions
- * for mime type, and moving the file to the appropriate directory within the uploads directory.
+ * Wrapper for _wp_handle_upload(), passes 'wp_handle_upload' action.
  *
- * @since 2.6.0
+ * @since 2.0.0
  *
- * @uses wp_handle_upload_error
- * @uses wp_check_filetype_and_ext
- * @uses current_user_can
- * @uses wp_upload_dir
- * @uses wp_unique_filename
- * @param array $file an array similar to that of a PHP $_FILES POST array
- * @param array $overrides Optional. An associative array of names=>values to override default variables with extract( $overrides, EXTR_OVERWRITE ).
- * @param string $time Optional. Time formatted in 'yyyy/mm'.
- * @return array On success, returns an associative array of file attributes. On failure, returns $overrides['upload_error_handler'](&$file, $message ) or array( 'error'=>$message ).
+ * @see _wp_handle_upload()
+ *
+ * @param array      $file      Reference to a single element of $_FILES. Call the function once for
+ *                              each uploaded file.
+ * @param array|bool $overrides Optional. An associative array of names=>values to override default
+ *                              variables. Default false.
+ * @param string     $time      Optional. Time formatted in 'yyyy/mm'. Default null.
+ * @return array On success, returns an associative array of file attributes. On failure, returns
+ *               $overrides['upload_error_handler'](&$file, $message ) or array( 'error'=>$message ).
  */
-function wp_handle_sideload( &$file, $overrides = false, $time = null ) {
-	// The default error handler.
-	if (! function_exists( 'wp_handle_upload_error' ) ) {
-		function wp_handle_upload_error( &$file, $message ) {
-			return array( 'error'=>$message );
-		}
+function wp_handle_upload( &$file, $overrides = false, $time = null ) {
+	/*
+	 *  $_POST['action'] must be set and its value must equal $overrides['action']
+	 *  or this:
+	 */
+	$action = 'wp_handle_upload';
+	if ( isset( $overrides['action'] ) ) {
+		$action = $overrides['action'];
 	}
 
-	// You may define your own function and pass the name in $overrides['upload_error_handler']
-	$upload_error_handler = 'wp_handle_upload_error';
-
-	// You may define your own function and pass the name in $overrides['unique_filename_callback']
-	$unique_filename_callback = null;
+	return _wp_handle_upload( $file, $overrides, $time, $action );
+}
 
-	// $_POST['action'] must be set and its value must equal $overrides['action'] or this:
+/**
+ * Wrapper for _wp_handle_upload(), passes 'wp_handle_sideload' action
+ *
+ * @since 2.6.0
+ *
+ * @see _wp_handle_upload()
+ *
+ * @param array      $file      An array similar to that of a PHP $_FILES POST array
+ * @param array|bool $overrides Optional. An associative array of names=>values to override default
+ *                              variables. Default false.
+ * @param string     $time      Optional. Time formatted in 'yyyy/mm'. Default null.
+ * @return array On success, returns an associative array of file attributes. On failure, returns
+ *               $overrides['upload_error_handler'](&$file, $message ) or array( 'error'=>$message ).
+ */
+function wp_handle_sideload( &$file, $overrides = false, $time = null ) {
+	/*
+	 *  $_POST['action'] must be set and its value must equal $overrides['action']
+	 *  or this:
+	 */
 	$action = 'wp_handle_sideload';
-
-	// Courtesy of php.net, the strings that describe the error indicated in $_FILES[{form field}]['error'].
-	$upload_error_strings = array( false,
-		__( "The uploaded file exceeds the <code>upload_max_filesize</code> directive in <code>php.ini</code>." ),
-		__( "The uploaded file exceeds the <em>MAX_FILE_SIZE</em> directive that was specified in the HTML form." ),
-		__( "The uploaded file was only partially uploaded." ),
-		__( "No file was uploaded." ),
-		'',
-		__( "Missing a temporary folder." ),
-		__( "Failed to write file to disk." ),
-		__( "File upload stopped by extension." ));
-
-	// All tests are on by default. Most can be turned off by $overrides[{test_name}] = false;
-	$test_form = true;
-	$test_size = true;
-
-	// If you override this, you must provide $ext and $type!!!!
-	$test_type = true;
-	$mimes = false;
-
-	// Install user overrides. Did we mention that this voids your warranty?
-	if ( is_array( $overrides ) )
-		extract( $overrides, EXTR_OVERWRITE );
-
-	// A correct form post will pass this test.
-	if ( $test_form && (!isset( $_POST['action'] ) || ($_POST['action'] != $action ) ) )
-		return $upload_error_handler( $file, __( 'Invalid form submission.' ));
-
-	// A successful upload will pass this test. It makes no sense to override this one.
-	if ( ! empty( $file['error'] ) )
-		return $upload_error_handler( $file, $upload_error_strings[$file['error']] );
-
-	// A non-empty file will pass this test.
-	if ( $test_size && !(filesize($file['tmp_name']) > 0 ) )
-		return $upload_error_handler( $file, __( 'File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your php.ini.' ));
-
-	// A properly uploaded file will pass this test. There should be no reason to override this one.
-	if (! @ is_file( $file['tmp_name'] ) )
-		return $upload_error_handler( $file, __( 'Specified file does not exist.' ));
-
-	// A correct MIME type will pass this test. Override $mimes or use the upload_mimes filter.
-	if ( $test_type ) {
-		$wp_filetype = wp_check_filetype_and_ext( $file['tmp_name'], $file['name'], $mimes );
-
-		extract( $wp_filetype );
-
-		// Check to see if wp_check_filetype_and_ext() determined the filename was incorrect
-		if ( $proper_filename )
-			$file['name'] = $proper_filename;
-
-		if ( ( !$type || !$ext ) && !current_user_can( 'unfiltered_upload' ) )
-			return $upload_error_handler( $file, __( 'Sorry, this file type is not permitted for security reasons.' ));
-
-		if ( !$ext )
-			$ext = ltrim(strrchr($file['name'], '.'), '.');
-
-		if ( !$type )
-			$type = $file['type'];
-	}
-
-	// A writable uploads dir will pass this test. Again, there's no point overriding this one.
-	if ( ! ( ( $uploads = wp_upload_dir( $time ) ) && false === $uploads['error'] ) )
-		return $upload_error_handler( $file, $uploads['error'] );
-
-	$filename = wp_unique_filename( $uploads['path'], $file['name'], $unique_filename_callback );
-
-	// Strip the query strings.
-	$filename = str_replace('?','-', $filename);
-	$filename = str_replace('&','-', $filename);
-
-	// Move the file to the uploads dir
-	$new_file = $uploads['path'] . "/$filename";
-	if ( false === @ rename( $file['tmp_name'], $new_file ) ) {
-		if ( 0 === strpos( $uploads['basedir'], ABSPATH ) )
-			$error_path = str_replace( ABSPATH, '', $uploads['basedir'] ) . $uploads['subdir'];
-		else
-			$error_path = basename( $uploads['basedir'] ) . $uploads['subdir'];
-		return $upload_error_handler( $file, sprintf( __('The uploaded file could not be moved to %s.' ), $error_path ) );
+	if ( isset( $overrides['action'] ) ) {
+		$action = $overrides['action'];
 	}
-
-	// Set correct file permissions
-	$stat = stat( dirname( $new_file ));
-	$perms = $stat['mode'] & 0000666;
-	@ chmod( $new_file, $perms );
-
-	// Compute the URL
-	$url = $uploads['url'] . "/$filename";
-
-	/** This filter is documented in wp-admin/includes/file.php */
-	$return = apply_filters( 'wp_handle_upload', array( 'file' => $new_file, 'url' => $url, 'type' => $type ), 'sideload' );
-
-	return $return;
+	return _wp_handle_upload( $file, $overrides, $time, $action );
 }
 
+
 /**
  * Downloads a url to a local temporary file using the WordPress HTTP Class.
  * Please note, That the calling function must unlink() the file.
@@ -1027,7 +984,7 @@ function request_filesystem_credentials($form_post, $type = '', $error = false,
 	$credentials['public_key'] = defined('FTP_PUBKEY') ? FTP_PUBKEY : (!empty($_POST['public_key']) ? wp_unslash( $_POST['public_key'] ) : '');
 	$credentials['private_key'] = defined('FTP_PRIKEY') ? FTP_PRIKEY : (!empty($_POST['private_key']) ? wp_unslash( $_POST['private_key'] ) : '');
 
-	//sanitize the hostname, Some people might pass in odd-data:
+	// Sanitize the hostname, Some people might pass in odd-data:
 	$credentials['hostname'] = preg_replace('|\w+://|', '', $credentials['hostname']); //Strip any schemes off
 
 	if ( strpos($credentials['hostname'], ':') ) {
@@ -1060,12 +1017,13 @@ function request_filesystem_credentials($form_post, $type = '', $error = false,
 		update_option('ftp_credentials', $stored_credentials);
 		return $credentials;
 	}
-	$hostname = '';
-	$username = '';
-	$password = '';
-	$connection_type = '';
-	if ( !empty($credentials) )
-		extract($credentials, EXTR_OVERWRITE);
+	$hostname = isset( $credentials['hostname'] ) ? $credentials['hostname'] : '';
+	$username = isset( $credentials['username'] ) ? $credentials['username'] : '';
+	$public_key = isset( $credentials['public_key'] ) ? $credentials['public_key'] : '';
+	$private_key = isset( $credentials['private_key'] ) ? $credentials['private_key'] : '';
+	$port = isset( $credentials['port'] ) ? $credentials['port'] : '';
+	$connection_type = isset( $credentials['connection_type'] ) ? $credentials['connection_type'] : '';
+
 	if ( $error ) {
 		$error_string = __('<strong>ERROR:</strong> There was an error connecting to the server, Please verify the settings are correct.');
 		if ( is_wp_error($error) )
@@ -1155,7 +1113,8 @@ jQuery(function($){
 <label for="public_key"><?php _e('Public Key:') ?></label ><br />
 <label for="private_key"><?php _e('Private Key:') ?></label>
 </div></th>
-<td><br /><input name="public_key" type="text" id="public_key" value="<?php echo esc_attr($public_key) ?>"<?php disabled( defined('FTP_PUBKEY') ); ?> size="40" /><br /><input name="private_key" type="text" id="private_key" value="<?php echo esc_attr($private_key) ?>"<?php disabled( defined('FTP_PRIKEY') ); ?> size="40" />
+<td><br /><input name="public_key" type="text" id="public_key" value="<?php echo esc_attr($public_key) ?>"<?php disabled( defined('FTP_PUBKEY') ); ?> size="40" />
+	<br /><input name="private_key" type="text" id="private_key" value="<?php echo esc_attr($private_key) ?>"<?php disabled( defined('FTP_PRIKEY') ); ?> size="40" />
 <div><?php _e('Enter the location on the server where the keys are located. If a passphrase is needed, enter that in the password field above.') ?></div></td>
 </tr>
 <?php endif; ?>
diff --git a/wp-admin/includes/image-edit.php b/wp-admin/includes/image-edit.php
index 9e0f38448..99a188e63 100644
--- a/wp-admin/includes/image-edit.php
+++ b/wp-admin/includes/image-edit.php
@@ -144,12 +144,12 @@ function wp_image_editor($post_id, $msg = false) {
 	<?php } ?>
 
 	</div>
-	
+
 	<div class="imgedit-panel-content">
 		<?php echo $note; ?>
 		<div class="imgedit-menu">
 			<div onclick="imageEdit.crop(<?php echo "$post_id, '$nonce'"; ?>, this)" class="imgedit-crop disabled" title="<?php esc_attr_e( 'Crop' ); ?>"></div><?php
-	
+
 		// On some setups GD library does not provide imagerotate() - Ticket #11536
 		if ( wp_image_editor_supports( array( 'mime_type' => get_post_mime_type( $post_id ), 'methods' => array( 'rotate' ) ) ) ) { ?>
 			<div class="imgedit-rleft"  onclick="imageEdit.rotate( 90, <?php echo "$post_id, '$nonce'"; ?>, this)" title="<?php esc_attr_e( 'Rotate counter-clockwise' ); ?>"></div>
@@ -160,33 +160,32 @@ function wp_image_editor($post_id, $msg = false) {
 		    <div class="imgedit-rleft disabled"  title="<?php echo $note_no_rotate; ?>"></div>
 		    <div class="imgedit-rright disabled" title="<?php echo $note_no_rotate; ?>"></div>
 	<?php } ?>
-	
+
 			<div onclick="imageEdit.flip(1, <?php echo "$post_id, '$nonce'"; ?>, this)" class="imgedit-flipv" title="<?php esc_attr_e( 'Flip vertically' ); ?>"></div>
 			<div onclick="imageEdit.flip(2, <?php echo "$post_id, '$nonce'"; ?>, this)" class="imgedit-fliph" title="<?php esc_attr_e( 'Flip horizontally' ); ?>"></div>
-	
+
 			<div id="image-undo-<?php echo $post_id; ?>" onclick="imageEdit.undo(<?php echo "$post_id, '$nonce'"; ?>, this)" class="imgedit-undo disabled" title="<?php esc_attr_e( 'Undo' ); ?>"></div>
 			<div id="image-redo-<?php echo $post_id; ?>" onclick="imageEdit.redo(<?php echo "$post_id, '$nonce'"; ?>, this)" class="imgedit-redo disabled" title="<?php esc_attr_e( 'Redo' ); ?>"></div>
 			<br class="clear" />
 		</div>
-	
+
 		<input type="hidden" id="imgedit-sizer-<?php echo $post_id; ?>" value="<?php echo $sizer; ?>" />
-		<input type="hidden" id="imgedit-minthumb-<?php echo $post_id; ?>" value="<?php echo ( get_option('thumbnail_size_w') . ':' . get_option('thumbnail_size_h') ); ?>" />
 		<input type="hidden" id="imgedit-history-<?php echo $post_id; ?>" value="" />
 		<input type="hidden" id="imgedit-undone-<?php echo $post_id; ?>" value="0" />
 		<input type="hidden" id="imgedit-selection-<?php echo $post_id; ?>" value="" />
 		<input type="hidden" id="imgedit-x-<?php echo $post_id; ?>" value="<?php echo isset( $meta['width'] ) ? $meta['width'] : 0; ?>" />
 		<input type="hidden" id="imgedit-y-<?php echo $post_id; ?>" value="<?php echo isset( $meta['height'] ) ? $meta['height'] : 0; ?>" />
-	
+
 		<div id="imgedit-crop-<?php echo $post_id; ?>" class="imgedit-crop-wrap">
 		<img id="image-preview-<?php echo $post_id; ?>" onload="imageEdit.imgLoaded('<?php echo $post_id; ?>')" src="<?php echo admin_url( 'admin-ajax.php', 'relative' ); ?>?action=imgedit-preview&amp;_ajax_nonce=<?php echo $nonce; ?>&amp;postid=<?php echo $post_id; ?>&amp;rand=<?php echo rand(1, 99999); ?>" />
 		</div>
-	
+
 		<div class="imgedit-submit">
 			<input type="button" onclick="imageEdit.close(<?php echo $post_id; ?>, 1)" class="button" value="<?php esc_attr_e( 'Cancel' ); ?>" />
 			<input type="button" onclick="imageEdit.save(<?php echo "$post_id, '$nonce'"; ?>)" disabled="disabled" class="button button-primary imgedit-submit-btn" value="<?php esc_attr_e( 'Save' ); ?>" />
 		</div>
 	</div>
-	
+
 	</div>
 	<div class="imgedit-wait" id="imgedit-wait-<?php echo $post_id; ?>"></div>
 	<script type="text/javascript">jQuery( function() { imageEdit.init(<?php echo $post_id; ?>); });</script>
@@ -411,7 +410,7 @@ function image_edit_apply_changes( $image, $changes ) {
 	if ( !is_array($changes) )
 		return $image;
 
-	// expand change operations
+	// Expand change operations.
 	foreach ( $changes as $key => $obj ) {
 		if ( isset($obj->r) ) {
 			$obj->type = 'rotate';
@@ -429,7 +428,7 @@ function image_edit_apply_changes( $image, $changes ) {
 		$changes[$key] = $obj;
 	}
 
-	// combine operations
+	// Combine operations.
 	if ( count($changes) > 1 ) {
 		$filtered = array($changes[0]);
 		for ( $i = 0, $j = 1; $j < count($changes); $j++ ) {
@@ -453,7 +452,7 @@ function image_edit_apply_changes( $image, $changes ) {
 		unset($filtered);
 	}
 
-	// image resource before applying the changes
+	// Image resource before applying the changes.
 	if ( $image instanceof WP_Image_Editor ) {
 
 		/**
@@ -540,7 +539,7 @@ function stream_preview_image( $post_id ) {
 	if ( $changes )
 		$img = image_edit_apply_changes( $img, $changes );
 
-	// scale the image
+	// Scale the image.
 	$size = $img->get_size();
 	$w = $size['width'];
 	$h = $size['height'];
@@ -576,7 +575,8 @@ function wp_restore_image($post_id) {
 
 		if ( $parts['basename'] != $data['file'] ) {
 			if ( defined('IMAGE_EDIT_OVERWRITE') && IMAGE_EDIT_OVERWRITE ) {
-				// delete only if it's edited image
+
+				// Delete only if it's edited image.
 				if ( preg_match('/-e[0-9]{13}\./', $parts['basename']) ) {
 
 					/** This filter is documented in wp-admin/custom-header.php */
@@ -601,7 +601,8 @@ function wp_restore_image($post_id) {
 			$data = $backup_sizes["$default_size-orig"];
 			if ( isset($meta['sizes'][$default_size]) && $meta['sizes'][$default_size]['file'] != $data['file'] ) {
 				if ( defined('IMAGE_EDIT_OVERWRITE') && IMAGE_EDIT_OVERWRITE ) {
-					// delete only if it's edited image
+
+					// Delete only if it's edited image
 					if ( preg_match('/-e[0-9]{13}-/', $meta['sizes'][$default_size]['file']) ) {
 						/** This filter is documented in wp-admin/custom-header.php */
 						$delpath = apply_filters( 'wp_delete_file', path_join($parts['dirname'], $meta['sizes'][$default_size]['file']) );
@@ -661,10 +662,10 @@ function wp_save_image( $post_id ) {
 		$sX = $size['width'];
 		$sY = $size['height'];
 
-		// check if it has roughly the same w / h ratio
+		// Check if it has roughly the same w / h ratio.
 		$diff = round($sX / $sY, 2) - round($fwidth / $fheight, 2);
 		if ( -0.1 < $diff && $diff < 0.1 ) {
-			// scale the full size image
+			// Scale the full size image.
 			if ( $img->resize( $fwidth, $fheight ) )
 				$scaled = true;
 		}
@@ -693,7 +694,7 @@ function wp_save_image( $post_id ) {
 	if ( !is_array($backup_sizes) )
 		$backup_sizes = array();
 
-	// generate new filename
+	// Generate new filename.
 	$path = get_attached_file($post_id);
 	$path_parts = pathinfo( $path );
 	$filename = $path_parts['filename'];
@@ -719,7 +720,7 @@ function wp_save_image( $post_id ) {
 		}
 	}
 
-	// save the full-size file, also needed to create sub-sizes
+	// Save the full-size file, also needed to create sub-sizes.
 	if ( !wp_save_image_file($new_path, $img, $post->post_mime_type, $post_id) ) {
 		$return->error = esc_js( __('Unable to save the image.') );
 		return $return;
@@ -804,10 +805,11 @@ function wp_save_image( $post_id ) {
 				$return->thumbnail = $thumb_url[0];
 			} else {
 				$file_url = wp_get_attachment_url($post_id);
-				if ( $thumb = $meta['sizes']['thumbnail'] )
+				if ( ! empty( $meta['sizes']['thumbnail'] ) && $thumb = $meta['sizes']['thumbnail'] ) {
 					$return->thumbnail = path_join( dirname($file_url), $thumb['file'] );
-				else
+				} else {
 					$return->thumbnail = "$file_url?w=128&h=128";
+				}
 			}
 		}
 	} else {
diff --git a/wp-admin/includes/image.php b/wp-admin/includes/image.php
index 5799d28e6..b78bac2a5 100644
--- a/wp-admin/includes/image.php
+++ b/wp-admin/includes/image.php
@@ -47,8 +47,10 @@ function wp_crop_image( $src, $src_x, $src_y, $src_w, $src_h, $dst_w, $dst_h, $s
 	if ( ! $dst_file )
 		$dst_file = str_replace( basename( $src_file ), 'cropped-' . basename( $src_file ), $src_file );
 
-	// The directory containing the original file may no longer exist when
-	// using a replication plugin.
+	/*
+	 * The directory containing the original file may no longer exist when
+	 * using a replication plugin.
+	 */
 	wp_mkdir_p( dirname( $dst_file ) );
 
 	$dst_file = dirname( $dst_file ) . '/' . wp_unique_filename( dirname( $dst_file ), basename( $dst_file ) );
@@ -79,10 +81,10 @@ function wp_generate_attachment_metadata( $attachment_id, $file ) {
 		$metadata['width'] = $imagesize[0];
 		$metadata['height'] = $imagesize[1];
 
-		// Make the file path relative to the upload dir
+		// Make the file path relative to the upload dir.
 		$metadata['file'] = _wp_relative_upload_path($file);
 
-		// make thumbnails and other intermediate sizes
+		// Make thumbnails and other intermediate sizes.
 		global $_wp_additional_image_sizes;
 
 		$sizes = array();
@@ -120,7 +122,7 @@ function wp_generate_attachment_metadata( $attachment_id, $file ) {
 			$metadata['sizes'] = array();
 		}
 
-		// fetch additional metadata from exif/iptc
+		// Fetch additional metadata from EXIF/IPTC.
 		$image_meta = wp_read_image_metadata( $file );
 		if ( $image_meta )
 			$metadata['image_meta'] = $image_meta;
@@ -134,7 +136,7 @@ function wp_generate_attachment_metadata( $attachment_id, $file ) {
 	}
 
 	if ( $support && ! empty( $metadata['image']['data'] ) ) {
-		// check for existing cover
+		// Check for existing cover.
 		$hash = md5( $metadata['image']['data'] );
 		$posts = get_posts( array(
 			'fields' => 'ids',
@@ -187,7 +189,7 @@ function wp_generate_attachment_metadata( $attachment_id, $file ) {
 		}
 	}
 
-	// remove the blob of binary data from the array
+	// Remove the blob of binary data from the array.
 	if ( isset( $metadata['image']['data'] ) )
 		unset( $metadata['image']['data'] );
 
@@ -254,10 +256,12 @@ function wp_read_image_metadata( $file ) {
 
 	list( , , $sourceImageType ) = getimagesize( $file );
 
-	// exif contains a bunch of data we'll probably never need formatted in ways
-	// that are difficult to use. We'll normalize it and just extract the fields
-	// that are likely to be useful. Fractions and numbers are converted to
-	// floats, dates to unix timestamps, and everything else to strings.
+	/*
+	 * EXIF contains a bunch of data we'll probably never need formatted in ways
+	 * that are difficult to use. We'll normalize it and just extract the fields
+	 * that are likely to be useful. Fractions and numbers are converted to
+	 * floats, dates to unix timestamps, and everything else to strings.
+	 */
 	$meta = array(
 		'aperture' => 0,
 		'credit' => '',
@@ -269,31 +273,43 @@ function wp_read_image_metadata( $file ) {
 		'iso' => 0,
 		'shutter_speed' => 0,
 		'title' => '',
+		'orientation' => 0,
 	);
 
-	// read iptc first, since it might contain data not available in exif such
-	// as caption, description etc
+	/*
+	 * Read IPTC first, since it might contain data not available in exif such
+	 * as caption, description etc.
+	 */
 	if ( is_callable( 'iptcparse' ) ) {
 		getimagesize( $file, $info );
 
 		if ( ! empty( $info['APP13'] ) ) {
 			$iptc = iptcparse( $info['APP13'] );
 
-			// headline, "A brief synopsis of the caption."
-			if ( ! empty( $iptc['2#105'][0] ) )
+			// Headline, "A brief synopsis of the caption."
+			if ( ! empty( $iptc['2#105'][0] ) ) {
 				$meta['title'] = trim( $iptc['2#105'][0] );
-			// title, "Many use the Title field to store the filename of the image, though the field may be used in many ways."
-			elseif ( ! empty( $iptc['2#005'][0] ) )
+			/*
+			 * Title, "Many use the Title field to store the filename of the image,
+			 * though the field may be used in many ways."
+			 */
+			} elseif ( ! empty( $iptc['2#005'][0] ) ) {
 				$meta['title'] = trim( $iptc['2#005'][0] );
+			}
 
 			if ( ! empty( $iptc['2#120'][0] ) ) { // description / legacy caption
 				$caption = trim( $iptc['2#120'][0] );
 				if ( empty( $meta['title'] ) ) {
+					mbstring_binary_safe_encoding();
+					$caption_length = strlen( $caption );
+					reset_mbstring_encoding();
+
 					// Assume the title is stored in 2:120 if it's short.
-					if ( strlen( $caption ) < 80 )
+					if ( $caption_length < 80 ) {
 						$meta['title'] = $caption;
-					else
+					} else {
 						$meta['caption'] = $caption;
+					}
 				} elseif ( $caption != $meta['title'] ) {
 					$meta['caption'] = $caption;
 				}
@@ -322,48 +338,67 @@ function wp_read_image_metadata( $file ) {
 	if ( is_callable( 'exif_read_data' ) && in_array( $sourceImageType, apply_filters( 'wp_read_image_metadata_types', array( IMAGETYPE_JPEG, IMAGETYPE_TIFF_II, IMAGETYPE_TIFF_MM ) ) ) ) {
 		$exif = @exif_read_data( $file );
 
-		if ( !empty( $exif['Title'] ) )
+		if ( empty( $meta['title'] ) && ! empty( $exif['Title'] ) ) {
 			$meta['title'] = trim( $exif['Title'] );
+		}
 
 		if ( ! empty( $exif['ImageDescription'] ) ) {
-			if ( empty( $meta['title'] ) && strlen( $exif['ImageDescription'] ) < 80 ) {
+			mbstring_binary_safe_encoding();
+			$description_length = strlen( $exif['ImageDescription'] );
+			reset_mbstring_encoding();
+
+			if ( empty( $meta['title'] ) && $description_length < 80 ) {
 				// Assume the title is stored in ImageDescription
 				$meta['title'] = trim( $exif['ImageDescription'] );
-				if ( ! empty( $exif['COMPUTED']['UserComment'] ) && trim( $exif['COMPUTED']['UserComment'] ) != $meta['title'] )
+				if ( empty( $meta['caption'] ) && ! empty( $exif['COMPUTED']['UserComment'] ) && trim( $exif['COMPUTED']['UserComment'] ) != $meta['title'] ) {
 					$meta['caption'] = trim( $exif['COMPUTED']['UserComment'] );
-			} elseif ( trim( $exif['ImageDescription'] ) != $meta['title'] ) {
+				}
+			} elseif ( empty( $meta['caption'] ) && trim( $exif['ImageDescription'] ) != $meta['title'] ) {
 				$meta['caption'] = trim( $exif['ImageDescription'] );
 			}
-		} elseif ( ! empty( $exif['Comments'] ) && trim( $exif['Comments'] ) != $meta['title'] ) {
+		} elseif ( empty( $meta['caption'] ) && ! empty( $exif['Comments'] ) && trim( $exif['Comments'] ) != $meta['title'] ) {
 			$meta['caption'] = trim( $exif['Comments'] );
 		}
 
-		if ( ! empty( $exif['Artist'] ) )
-			$meta['credit'] = trim( $exif['Artist'] );
-		elseif ( ! empty($exif['Author'] ) )
-			$meta['credit'] = trim( $exif['Author'] );
+		if ( empty( $meta['credit'] ) ) {
+			if ( ! empty( $exif['Artist'] ) ) {
+				$meta['credit'] = trim( $exif['Artist'] );
+			} elseif ( ! empty($exif['Author'] ) ) {
+				$meta['credit'] = trim( $exif['Author'] );
+			}
+		}
 
-		if ( ! empty( $exif['Copyright'] ) )
+		if ( empty( $meta['copyright'] ) && ! empty( $exif['Copyright'] ) ) {
 			$meta['copyright'] = trim( $exif['Copyright'] );
-		if ( ! empty($exif['FNumber'] ) )
+		}
+		if ( ! empty( $exif['FNumber'] ) ) {
 			$meta['aperture'] = round( wp_exif_frac2dec( $exif['FNumber'] ), 2 );
-		if ( ! empty($exif['Model'] ) )
+		}
+		if ( ! empty( $exif['Model'] ) ) {
 			$meta['camera'] = trim( $exif['Model'] );
-		if ( ! empty($exif['DateTimeDigitized'] ) )
-			$meta['created_timestamp'] = wp_exif_date2ts($exif['DateTimeDigitized'] );
-		if ( ! empty($exif['FocalLength'] ) )
+		}
+		if ( empty( $meta['created_timestamp'] ) && ! empty( $exif['DateTimeDigitized'] ) ) {
+			$meta['created_timestamp'] = wp_exif_date2ts( $exif['DateTimeDigitized'] );
+		}
+		if ( ! empty( $exif['FocalLength'] ) ) {
 			$meta['focal_length'] = (string) wp_exif_frac2dec( $exif['FocalLength'] );
-		if ( ! empty($exif['ISOSpeedRatings'] ) ) {
+		}
+		if ( ! empty( $exif['ISOSpeedRatings'] ) ) {
 			$meta['iso'] = is_array( $exif['ISOSpeedRatings'] ) ? reset( $exif['ISOSpeedRatings'] ) : $exif['ISOSpeedRatings'];
 			$meta['iso'] = trim( $meta['iso'] );
 		}
-		if ( ! empty($exif['ExposureTime'] ) )
+		if ( ! empty( $exif['ExposureTime'] ) ) {
 			$meta['shutter_speed'] = (string) wp_exif_frac2dec( $exif['ExposureTime'] );
+		}
+		if ( ! empty( $exif['Orientation'] ) ) {
+			$meta['orientation'] = $exif['Orientation'];
+		}
 	}
 
 	foreach ( array( 'title', 'caption', 'credit', 'copyright', 'camera', 'iso' ) as $key ) {
-		if ( $meta[ $key ] && ! seems_utf8( $meta[ $key ] ) )
+		if ( $meta[ $key ] && ! seems_utf8( $meta[ $key ] ) ) {
 			$meta[ $key ] = utf8_encode( $meta[ $key ] );
+		}
 	}
 
 	/**
@@ -401,13 +436,16 @@ function file_is_valid_image($path) {
  * @return bool True if suitable, false if not suitable.
  */
 function file_is_displayable_image($path) {
-	$info = @getimagesize($path);
-	if ( empty($info) )
+	$displayable_image_types = array( IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_BMP );
+
+	$info = @getimagesize( $path );
+	if ( empty( $info ) ) {
 		$result = false;
-	elseif ( !in_array($info[2], array(IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG)) )	// only gif, jpeg and png images can reliably be displayed
+	} elseif ( ! in_array( $info[2], $displayable_image_types ) ) {
 		$result = false;
-	else
+	} else {
 		$result = true;
+	}
 
 	/**
 	 * Filter whether the current image is displayable in the browser.
@@ -544,8 +582,10 @@ function _copy_image_file( $attachment_id ) {
 		$dst_file = str_replace( basename( $dst_file ), 'copy-' . basename( $dst_file ), $dst_file );
 		$dst_file = dirname( $dst_file ) . '/' . wp_unique_filename( dirname( $dst_file ), basename( $dst_file ) );
 
-		// The directory containing the original file may no longer exist when
-		// using a replication plugin.
+		/*
+		 * The directory containing the original file may no longer
+		 * exist when using a replication plugin.
+		 */
 		wp_mkdir_p( dirname( $dst_file ) );
 
 		if ( ! @copy( $src_file, $dst_file ) )
diff --git a/wp-admin/includes/import.php b/wp-admin/includes/import.php
index f01eb8734..ab8e8e3db 100644
--- a/wp-admin/includes/import.php
+++ b/wp-admin/includes/import.php
@@ -105,7 +105,10 @@ function wp_import_handle_upload() {
 	// Save the data
 	$id = wp_insert_attachment( $object, $file );
 
-	// schedule a cleanup for one day from now in case of failed import or missing wp_import_cleanup() call
+	/*
+	 * Schedule a cleanup for one day from now in case of failed
+	 * import or missing wp_import_cleanup() call.
+	 */
 	wp_schedule_single_event( time() + DAY_IN_SECONDS, 'importer_scheduled_cleanup', array( $id ) );
 
 	return array( 'file' => $file, 'id' => $id );
@@ -119,7 +122,7 @@ function wp_import_handle_upload() {
  * @return array Importers with metadata for each.
  */
 function wp_get_popular_importers() {
-	include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version
+	include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
 
 	$locale = get_locale();
 	$popular_importers = get_site_transient( 'popular_importers_' . $locale );
diff --git a/wp-admin/includes/list-table.php b/wp-admin/includes/list-table.php
index 2403ec859..04b552f1b 100644
--- a/wp-admin/includes/list-table.php
+++ b/wp-admin/includes/list-table.php
@@ -84,10 +84,10 @@ function print_column_headers($screen, $id = true) {
  * @since 3.1.0
  */
 class _WP_List_Table_Compat extends WP_List_Table {
-	var $_screen;
-	var $_columns;
+	public $_screen;
+	public $_columns;
 
-	function _WP_List_Table_Compat( $screen, $columns = array() ) {
+	public function __construct( $screen, $columns = array() ) {
 		if ( is_string( $screen ) )
 			$screen = convert_to_screen( $screen );
 
@@ -99,7 +99,7 @@ class _WP_List_Table_Compat extends WP_List_Table {
 		}
 	}
 
-	function get_column_info() {
+	protected function get_column_info() {
 		$columns = get_column_headers( $this->_screen );
 		$hidden = get_hidden_columns( $this->_screen );
 		$sortable = array();
@@ -107,7 +107,7 @@ class _WP_List_Table_Compat extends WP_List_Table {
 		return array( $columns, $hidden, $sortable );
 	}
 
-	function get_columns() {
+	public function get_columns() {
 		return $this->_columns;
 	}
 }
diff --git a/wp-admin/includes/media.php b/wp-admin/includes/media.php
index 06cd1c128..8a5e6cc59 100644
--- a/wp-admin/includes/media.php
+++ b/wp-admin/includes/media.php
@@ -180,7 +180,8 @@ function image_add_caption( $html, $id, $caption, $title, $align, $url, $size, $
 
 	$caption = str_replace( array("\r\n", "\r"), "\n", $caption);
 	$caption = preg_replace_callback( '/<[a-zA-Z0-9]+(?: [^<>]+>)*/', '_cleanup_image_add_caption', $caption );
-	// convert any remaining line breaks to <br>
+
+	// Convert any remaining line breaks to <br>.
 	$caption = preg_replace( '/[ \n\t]*\n[ \t]*/', '<br />', $caption );
 
 	$html = preg_replace( '/(class=["\'][^\'"]*)align(none|left|right|center)\s?/', '$1', $html );
@@ -208,7 +209,7 @@ add_filter( 'image_send_to_editor', 'image_add_caption', 20, 8 );
  * @since 3.4.0
  */
 function _cleanup_image_add_caption( $matches ) {
-	// remove any line breaks from inside the tags
+	// Remove any line breaks from inside the tags.
 	return preg_replace( '/[\r\n\t]+/', ' ', $matches[0] );
 }
 
@@ -317,7 +318,7 @@ function media_handle_upload($file_id, $post_id, $post_data = array(), $override
 		if ( ! empty( $meta['genre'] ) )
 			$content .= ' ' . sprintf( __( 'Genre: %s.' ), $meta['genre'] );
 
-	// use image exif/iptc data for title and caption defaults if possible
+	// Use image exif/iptc data for title and caption defaults if possible.
 	} elseif ( $image_meta = @wp_read_image_metadata( $file ) ) {
 		if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) )
 			$title = $image_meta['title'];
@@ -378,7 +379,7 @@ function media_handle_sideload($file_array, $post_id, $desc = null, $post_data =
 	$title = preg_replace('/\.[^.]+$/', '', basename($file));
 	$content = '';
 
-	// use image exif/iptc data for title and caption defaults if possible
+	// Use image exif/iptc data for title and caption defaults if possible.
 	if ( $image_meta = @wp_read_image_metadata($file) ) {
 		if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) )
 			$title = $image_meta['title'];
@@ -389,7 +390,7 @@ function media_handle_sideload($file_array, $post_id, $desc = null, $post_data =
 	if ( isset( $desc ) )
 		$title = $desc;
 
-	// Construct the attachment array
+	// Construct the attachment array.
 	$attachment = array_merge( array(
 		'post_mime_type' => $type,
 		'guid' => $url,
@@ -514,6 +515,9 @@ document.body.className = document.body.className.replace('no-js', 'js');
  * @param string $editor_id
  */
 function media_buttons($editor_id = 'content') {
+	static $instance = 0;
+	$instance++;
+
 	$post = get_post();
 	if ( ! $post && ! empty( $GLOBALS['post_ID'] ) )
 		$post = $GLOBALS['post_ID'];
@@ -524,8 +528,13 @@ function media_buttons($editor_id = 'content') {
 
 	$img = '<span class="wp-media-buttons-icon"></span> ';
 
-	echo '<a href="#" id="insert-media-button" class="button insert-media add_media" data-editor="' . esc_attr( $editor_id ) . '" title="' . esc_attr__( 'Add Media' ) . '">' . $img . __( 'Add Media' ) . '</a>';
-
+	$id_attribute = $instance === 1 ? ' id="insert-media-button"' : '';
+	printf( '<a href="#"%s class="button insert-media add_media" data-editor="%s" title="%s">%s</a>',
+		$id_attribute,
+		esc_attr( $editor_id ),
+		esc_attr__( 'Add Media' ),
+		$img . __( 'Add Media' )
+	);
 	/**
 	 * Filter the legacy (pre-3.5.0) media buttons.
 	 *
@@ -627,7 +636,8 @@ function media_upload_form_handler() {
 			$image_alt = wp_unslash( $attachment['image_alt'] );
 			if ( $image_alt != get_post_meta($attachment_id, '_wp_attachment_image_alt', true) ) {
 				$image_alt = wp_strip_all_tags( $image_alt, true );
-				// update_meta expects slashed
+
+				// Update_meta expects slashed.
 				update_post_meta( $attachment_id, '_wp_attachment_image_alt', wp_slash( $image_alt ) );
 			}
 		}
@@ -766,7 +776,10 @@ function wp_media_upload_handler() {
 		return media_send_to_editor($html);
 	}
 
-	if ( !empty($_POST) ) {
+	if ( isset( $_POST['save'] ) ) {
+		$errors['upload_notice'] = __('Saved.');
+		return media_upload_gallery();
+	} elseif ( ! empty( $_POST ) ) {
 		$return = media_upload_form_handler();
 
 		if ( is_string($return) )
@@ -775,11 +788,6 @@ function wp_media_upload_handler() {
 			$errors = $return;
 	}
 
-	if ( isset($_POST['save']) ) {
-		$errors['upload_notice'] = __('Saved.');
-		return media_upload_gallery();
-	}
-
 	if ( isset($_GET['tab']) && $_GET['tab'] == 'type_url' ) {
 		$type = 'image';
 		if ( isset( $_GET['type'] ) && in_array( $_GET['type'], array( 'video', 'audio', 'file' ) ) )
@@ -800,37 +808,36 @@ function wp_media_upload_handler() {
  * @param string $desc Optional. Description of the image
  * @return string|WP_Error Populated HTML img tag on success
  */
-function media_sideload_image($file, $post_id, $desc = null) {
-	if ( ! empty($file) ) {
-		// Download file to temp location
-		$tmp = download_url( $file );
-
-		// Set variables for storage
-		// fix file filename for query strings
+function media_sideload_image( $file, $post_id, $desc = null ) {
+	if ( ! empty( $file ) ) {
+		// Set variables for storage, fix file filename for query strings.
 		preg_match( '/[^\?]+\.(jpe?g|jpe|gif|png)\b/i', $file, $matches );
-		$file_array['name'] = basename($matches[0]);
-		$file_array['tmp_name'] = $tmp;
+		$file_array = array();
+		$file_array['name'] = basename( $matches[0] );
+
+		// Download file to temp location.
+		$file_array['tmp_name'] = download_url( $file );
 
-		// If error storing temporarily, unlink
-		if ( is_wp_error( $tmp ) ) {
-			@unlink($file_array['tmp_name']);
-			$file_array['tmp_name'] = '';
+		// If error storing temporarily, return the error.
+		if ( is_wp_error( $file_array['tmp_name'] ) ) {
+			return $file_array['tmp_name'];
 		}
 
-		// do the validation and storage stuff
+		// Do the validation and storage stuff.
 		$id = media_handle_sideload( $file_array, $post_id, $desc );
-		// If error storing permanently, unlink
-		if ( is_wp_error($id) ) {
-			@unlink($file_array['tmp_name']);
+
+		// If error storing permanently, unlink.
+		if ( is_wp_error( $id ) ) {
+			@unlink( $file_array['tmp_name'] );
 			return $id;
 		}
 
 		$src = wp_get_attachment_url( $id );
 	}
 
-	// Finally check to make sure the file has been saved, then return the html
-	if ( ! empty($src) ) {
-		$alt = isset($desc) ? esc_attr($desc) : '';
+	// Finally check to make sure the file has been saved, then return the HTML.
+	if ( ! empty( $src ) ) {
+		$alt = isset( $desc ) ? esc_attr( $desc ) : '';
 		$html = "<img src='$src' alt='$alt' />";
 		return $html;
 	}
@@ -941,17 +948,21 @@ function image_size_input_fields( $post, $check = '' ) {
 			$downsize = image_downsize($post->ID, $size);
 			$checked = '';
 
-			// is this size selectable?
+			// Is this size selectable?
 			$enabled = ( $downsize[3] || 'full' == $size );
 			$css_id = "image-size-{$size}-{$post->ID}";
-			// if this size is the default but that's not available, don't select it
+
+			// If this size is the default but that's not available, don't select it.
 			if ( $size == $check ) {
 				if ( $enabled )
 					$checked = " checked='checked'";
 				else
 					$check = '';
 			} elseif ( !$check && $enabled && 'thumbnail' != $size ) {
-				// if $check is not enabled, default to the first available size that's bigger than a thumbnail
+				/*
+				 * If $check is not enabled, default to the first available size
+				 * that's bigger than a thumbnail.
+				 */
 				$check = $size;
 				$checked = " checked='checked'";
 			}
@@ -959,7 +970,8 @@ function image_size_input_fields( $post, $check = '' ) {
 			$html = "<div class='image-size-item'><input type='radio' " . disabled( $enabled, false, false ) . "name='attachments[$post->ID][image-size]' id='{$css_id}' value='{$size}'$checked />";
 
 			$html .= "<label for='{$css_id}'>$label</label>";
-			// only show the dimensions if that choice is available
+
+			// Only show the dimensions if that choice is available.
 			if ( $enabled )
 				$html .= " <label for='{$css_id}' class='help'>" . sprintf( "(%d&nbsp;&times;&nbsp;%d)", $downsize[1], $downsize[2] ). "</label>";
 
@@ -1007,7 +1019,7 @@ function image_link_input_fields($post, $url_type = '') {
 }
 
 function wp_caption_input_textarea($edit_post) {
-	// post data is already escaped
+	// Post data is already escaped.
 	$name = "attachments[{$edit_post->ID}][post_excerpt]";
 
 	return '<textarea name="' . $name . '" id="' . $name . '">' . $edit_post->post_excerpt . '</textarea>';
@@ -1031,9 +1043,9 @@ function image_attachment_fields_to_edit($form_fields, $post) {
  *
  * @since 2.5.0
  *
- * @param array $form_fields
- * @param object $post {@internal $post not used}}
- * @return array
+ * @param array   $form_fields An array of attachment form fields.
+ * @param WP_Post $post        The WP_Post attachment object.
+ * @return array Filtered attachment form fields.
  */
 function media_single_attachment_fields_to_edit( $form_fields, $post ) {
 	unset($form_fields['url'], $form_fields['align'], $form_fields['image-size']);
@@ -1045,9 +1057,9 @@ function media_single_attachment_fields_to_edit( $form_fields, $post ) {
  *
  * @since 2.8.0
  *
- * @param array $form_fields
- * @param object $post {@internal $post not used}}
- * @return array
+ * @param array   $form_fields An array of attachment form fields.
+ * @param WP_Post $post        The WP_Post attachment object.
+ * @return array Filtered attachment form fields.
  */
 function media_post_single_attachment_fields_to_edit( $form_fields, $post ) {
 	unset($form_fields['image_url']);
@@ -1063,9 +1075,9 @@ function media_post_single_attachment_fields_to_edit( $form_fields, $post ) {
  *
  * @since 2.5.0
  *
- * @param object $post
- * @param array $attachment {@internal $attachment not used}}
- * @return array
+ * @param WP_Post $post       The WP_Post attachment object.
+ * @param array   $attachment An array of attachment metadata.
+ * @return array Filtered attachment post object.
  */
 function image_attachment_fields_to_save( $post, $attachment ) {
 	if ( substr( $post['post_mime_type'], 0, 5 ) == 'image' ) {
@@ -1285,7 +1297,13 @@ function get_media_item( $attachment_id, $args = null ) {
 	$post = get_post( $attachment_id );
 	$current_post_id = !empty( $_GET['post_id'] ) ? (int) $_GET['post_id'] : 0;
 
-	$default_args = array( 'errors' => null, 'send' => $current_post_id ? post_type_supports( get_post_type( $current_post_id ), 'editor' ) : true, 'delete' => true, 'toggle' => true, 'show_title' => true );
+	$default_args = array(
+		'errors' => null,
+		'send' => $current_post_id ? post_type_supports( get_post_type( $current_post_id ), 'editor' ) : true,
+		'delete' => true,
+		'toggle' => true,
+		'show_title' => true
+	);
 	$args = wp_parse_args( $args, $default_args );
 
 	/**
@@ -1297,8 +1315,7 @@ function get_media_item( $attachment_id, $args = null ) {
 	 *
 	 * @param array $args An array of arguments.
 	 */
-	$args = apply_filters( 'get_media_item_args', $args );
-	extract( $args, EXTR_SKIP );
+	$r = apply_filters( 'get_media_item_args', $args );
 
 	$toggle_on  = __( 'Show' );
 	$toggle_off = __( 'Hide' );
@@ -1306,21 +1323,15 @@ function get_media_item( $attachment_id, $args = null ) {
 	$filename = esc_html( wp_basename( $post->guid ) );
 	$title = esc_attr( $post->post_title );
 
-	if ( $_tags = get_the_tags( $attachment_id ) ) {
-		foreach ( $_tags as $tag )
-			$tags[] = $tag->name;
-		$tags = esc_attr( join( ', ', $tags ) );
-	}
-
 	$post_mime_types = get_post_mime_types();
 	$keys = array_keys( wp_match_mime_types( array_keys( $post_mime_types ), $post->post_mime_type ) );
 	$type = array_shift( $keys );
 	$type_html = "<input type='hidden' id='type-of-$attachment_id' value='" . esc_attr( $type ) . "' />";
 
-	$form_fields = get_attachment_fields_to_edit( $post, $errors );
+	$form_fields = get_attachment_fields_to_edit( $post, $r['errors'] );
 
-	if ( $toggle ) {
-		$class = empty( $errors ) ? 'startclosed' : 'startopen';
+	if ( $r['toggle'] ) {
+		$class = empty( $r['errors'] ) ? 'startclosed' : 'startopen';
 		$toggle_links = "
 	<a class='toggle describe-toggle-on' href='#'>$toggle_on</a>
 	<a class='toggle describe-toggle-off' href='#'>$toggle_off</a>";
@@ -1330,7 +1341,7 @@ function get_media_item( $attachment_id, $args = null ) {
 	}
 
 	$display_title = ( !empty( $title ) ) ? $title : $filename; // $title shouldn't ever be empty, but just in case
-	$display_title = $show_title ? "<div class='filename new'><span class='title'>" . wp_html_excerpt( $display_title, 60, '&hellip;' ) . "</span></div>" : '';
+	$display_title = $r['show_title'] ? "<div class='filename new'><span class='title'>" . wp_html_excerpt( $display_title, 60, '&hellip;' ) . "</span></div>" : '';
 
 	$gallery = ( ( isset( $_REQUEST['tab'] ) && 'gallery' == $_REQUEST['tab'] ) || ( isset( $redir_tab ) && 'gallery' == $redir_tab ) );
 	$order = '';
@@ -1404,8 +1415,11 @@ function get_media_item( $attachment_id, $args = null ) {
 		'extra_rows' => array(),
 	);
 
-	if ( $send )
-		$send = get_submit_button( __( 'Insert into Post' ), 'button', "send[$attachment_id]", false );
+	if ( $r['send'] ) {
+		$r['send'] = get_submit_button( __( 'Insert into Post' ), 'button', "send[$attachment_id]", false );
+	}
+
+	$delete = empty( $r['delete'] ) ? '' : $r['delete'];
 	if ( $delete && current_user_can( 'delete_post', $attachment_id ) ) {
 		if ( !EMPTY_TRASH_DAYS ) {
 			$delete = "<a href='" . wp_nonce_url( "post.php?action=delete&amp;post=$attachment_id", 'delete-post_' . $attachment_id ) . "' id='del[$attachment_id]' class='delete-permanently'>" . __( 'Delete Permanently' ) . '</a>';
@@ -1425,19 +1439,20 @@ function get_media_item( $attachment_id, $args = null ) {
 
 	$thumbnail = '';
 	$calling_post_id = 0;
-	if ( isset( $_GET['post_id'] ) )
+	if ( isset( $_GET['post_id'] ) ) {
 		$calling_post_id = absint( $_GET['post_id'] );
-	elseif ( isset( $_POST ) && count( $_POST ) ) // Like for async-upload where $_GET['post_id'] isn't set
+	} elseif ( isset( $_POST ) && count( $_POST ) ) {// Like for async-upload where $_GET['post_id'] isn't set
 		$calling_post_id = $post->post_parent;
+	}
 	if ( 'image' == $type && $calling_post_id && current_theme_supports( 'post-thumbnails', get_post_type( $calling_post_id ) )
 		&& post_type_supports( get_post_type( $calling_post_id ), 'thumbnail' ) && get_post_thumbnail_id( $calling_post_id ) != $attachment_id ) {
 		$ajax_nonce = wp_create_nonce( "set_post_thumbnail-$calling_post_id" );
 		$thumbnail = "<a class='wp-post-thumbnail' id='wp-post-thumbnail-" . $attachment_id . "' href='#' onclick='WPSetAsThumbnail(\"$attachment_id\", \"$ajax_nonce\");return false;'>" . esc_html__( "Use as featured image" ) . "</a>";
 	}
 
-	if ( ( $send || $thumbnail || $delete ) && !isset( $form_fields['buttons'] ) )
-		$form_fields['buttons'] = array( 'tr' => "\t\t<tr class='submit'><td></td><td class='savesend'>$send $thumbnail $delete</td></tr>\n" );
-
+	if ( ( $r['send'] || $thumbnail || $delete ) && !isset( $form_fields['buttons'] ) ) {
+		$form_fields['buttons'] = array( 'tr' => "\t\t<tr class='submit'><td></td><td class='savesend'>" . $r['send'] . " $thumbnail $delete</td></tr>\n" );
+	}
 	$hidden_fields = array();
 
 	foreach ( $form_fields as $id => $field ) {
@@ -1467,10 +1482,10 @@ function get_media_item( $attachment_id, $args = null ) {
 			$item .= $field[ $field['input'] ];
 		elseif ( $field['input'] == 'textarea' ) {
 			if ( 'post_content' == $id && user_can_richedit() ) {
-				// sanitize_post() skips the post_content when user_can_richedit
+				// Sanitize_post() skips the post_content when user_can_richedit.
 				$field['value'] = htmlspecialchars( $field['value'], ENT_QUOTES );
 			}
-			// post_excerpt is already escaped by sanitize_post() in get_attachment_fields_to_edit()
+			// Post_excerpt is already escaped by sanitize_post() in get_attachment_fields_to_edit().
 			$item .= "<textarea id='$name' name='$name' $aria_required>" . $field['value'] . '</textarea>';
 		} else {
 			$item .= "<input type='text' class='text' id='$name' name='$name' value='" . esc_attr( $field['value'] ) . "' $aria_required />";
@@ -1616,7 +1631,7 @@ function get_compat_media_markup( $attachment_id, $args = null ) {
 			$item .= $field[ $field['input'] ];
 		elseif ( $field['input'] == 'textarea' ) {
 			if ( 'post_content' == $id && user_can_richedit() ) {
-				// sanitize_post() skips the post_content when user_can_richedit
+				// sanitize_post() skips the post_content when user_can_richedit.
 				$field['value'] = htmlspecialchars( $field['value'], ENT_QUOTES );
 			}
 			$item .= "<textarea id='$id_attr' name='$name' $aria_required>" . $field['value'] . '</textarea>';
@@ -1687,7 +1702,7 @@ function media_upload_form( $errors = null ) {
 	global $type, $tab, $is_IE, $is_opera;
 
 	if ( ! _device_can_upload() ) {
-		echo '<p>' . sprintf( __('The web browser on your device cannot be used to upload files. You may be able to use the <a href="%s">native app for your device</a> instead.'), 'https://wordpress.org/mobile/' ) . '</p>';
+		echo '<p>' . sprintf( __('The web browser on your device cannot be used to upload files. You may be able to use the <a href="%s">native app for your device</a> instead.'), 'http://apps.wordpress.org/' ) . '</p>';
 		return;
 	}
 
@@ -1696,18 +1711,9 @@ function media_upload_form( $errors = null ) {
 	$_type = isset($type) ? $type : '';
 	$_tab = isset($tab) ? $tab : '';
 
-	$upload_size_unit = $max_upload_size = wp_max_upload_size();
-	$sizes = array( 'KB', 'MB', 'GB' );
-
-	for ( $u = -1; $upload_size_unit > 1024 && $u < count( $sizes ) - 1; $u++ ) {
-		$upload_size_unit /= 1024;
-	}
-
-	if ( $u < 0 ) {
-		$upload_size_unit = 0;
-		$u = 0;
-	} else {
-		$upload_size_unit = (int) $upload_size_unit;
+	$max_upload_size = wp_max_upload_size();
+	if ( ! $max_upload_size ) {
+		$max_upload_size = 0;
 	}
 ?>
 
@@ -1742,11 +1748,11 @@ if ( is_multisite() && !is_upload_space_available() ) {
 do_action( 'pre-upload-ui' );
 
 $post_params = array(
-		"post_id" => $post_id,
-		"_wpnonce" => wp_create_nonce('media-form'),
-		"type" => $_type,
-		"tab" => $_tab,
-		"short" => "1",
+	"post_id" => $post_id,
+	"_wpnonce" => wp_create_nonce('media-form'),
+	"type" => $_type,
+	"tab" => $_tab,
+	"short" => "1",
 );
 
 /**
@@ -1774,11 +1780,6 @@ $plupload_init = array(
 	'multipart_params'    => $post_params,
 );
 
-// Multi-file uploading doesn't currently work in iOS Safari,
-// single-file allows the built-in camera to be used as source for images
-if ( wp_is_mobile() )
-	$plupload_init['multi_selection'] = false;
-
 /**
  * Filter the default Plupload settings.
  *
@@ -1856,7 +1857,7 @@ do_action( 'post-html-upload-ui' );
 ?>
 </div>
 
-<span class="max-upload-size"><?php printf( __( 'Maximum upload file size: %d%s.' ), esc_html($upload_size_unit), esc_html($sizes[$u]) ); ?></span>
+<p class="max-upload-size"><?php printf( __( 'Maximum upload file size: %s.' ), esc_html( size_format( $max_upload_size ) ) ); ?></p>
 <?php
 
 	/**
@@ -2110,7 +2111,6 @@ function media_upload_gallery_form($errors) {
 ?>
 
 <script type="text/javascript">
-<!--
 jQuery(function($){
 	var preloaded = $(".media-item.preloaded");
 	if ( preloaded.length > 0 ) {
@@ -2118,7 +2118,6 @@ jQuery(function($){
 		updateMediaForm();
 	}
 });
--->
 </script>
 <div id="sort-buttons" class="hide-if-no-js">
 <span>
@@ -2303,7 +2302,7 @@ if ( empty($_GET['post_mime_type']) || $_GET['post_mime_type'] == 'all' )
 	$class = ' class="current"';
 else
 	$class = '';
-$type_links[] = "<li><a href='" . esc_url(add_query_arg(array('post_mime_type'=>'all', 'paged'=>false, 'm'=>false))) . "'$class>".__('All Types')."</a>";
+$type_links[] = '<li><a href="' . esc_url(add_query_arg(array('post_mime_type'=>'all', 'paged'=>false, 'm'=>false))) . '"' . $class . '>' . __('All Types') . '</a>';
 foreach ( $post_mime_types as $mime_type => $label ) {
 	$class = '';
 
@@ -2313,7 +2312,7 @@ foreach ( $post_mime_types as $mime_type => $label ) {
 	if ( isset($_GET['post_mime_type']) && wp_match_mime_types($mime_type, $_GET['post_mime_type']) )
 		$class = ' class="current"';
 
-	$type_links[] = "<li><a href='" . esc_url(add_query_arg(array('post_mime_type'=>$mime_type, 'paged'=>false))) . "'$class>" . sprintf( translate_nooped_plural( $label[2], $num_posts[$mime_type] ), "<span id='$mime_type-counter'>" . number_format_i18n( $num_posts[$mime_type] ) . '</span>') . '</a>';
+	$type_links[] = '<li><a href="' . esc_url(add_query_arg(array('post_mime_type'=>$mime_type, 'paged'=>false))) . '"' . $class . '>' . sprintf( translate_nooped_plural( $label[2], $num_posts[$mime_type] ), '<span id="' . $mime_type . '-counter">' . number_format_i18n( $num_posts[$mime_type] ) . '</span>') . '</a>';
 }
 /**
  * Filter the media upload mime type list items.
@@ -2607,8 +2606,6 @@ function edit_form_image_editor( $post ) {
 	if ( $attachment_id = intval( $post->ID ) )
 		$thumb_url = wp_get_attachment_image_src( $attachment_id, array( 900, 450 ), true );
 
-	$filename = esc_html( basename( $post->guid ) );
-	$title = esc_attr( $post->post_title );
 	$alt_text = get_post_meta( $post->ID, '_wp_attachment_image_alt', true );
 
 	$att_url = wp_get_attachment_url( $post->ID ); ?>
@@ -2655,6 +2652,11 @@ function edit_form_image_editor( $post ) {
 			$attr['height'] = $h;
 		}
 
+		$thumb_id = get_post_thumbnail_id( $attachment_id );
+		if ( ! empty( $thumb_id ) ) {
+			$attr['poster'] = wp_get_attachment_url( $thumb_id );
+		}
+
 		echo wp_video_shortcode( $attr );
 
 	endif; ?>
@@ -2860,7 +2862,7 @@ function wp_add_id3_tag_data( &$metadata, $data ) {
 			foreach ( $data[$version]['comments'] as $key => $list ) {
 				if ( ! empty( $list ) ) {
 					$metadata[$key] = reset( $list );
-					// fix bug in byte stream analysis
+					// Fix bug in byte stream analysis.
 					if ( 'terms_of_use' === $key && 0 === strpos( $metadata[$key], 'yright notice.' ) )
 						$metadata[$key] = 'Cop' . $metadata[$key];
 				}
diff --git a/wp-admin/includes/menu.php b/wp-admin/includes/menu.php
index 6835091a7..873f7379d 100644
--- a/wp-admin/includes/menu.php
+++ b/wp-admin/includes/menu.php
@@ -71,22 +71,19 @@ unset($menu_page, $compat);
 $_wp_submenu_nopriv = array();
 $_wp_menu_nopriv = array();
 // Loop over submenus and remove pages for which the user does not have privs.
-foreach ( array( 'submenu' ) as $sub_loop ) {
-	foreach ($$sub_loop as $parent => $sub) {
-		foreach ($sub as $index => $data) {
-			if ( ! current_user_can($data[1]) ) {
-				unset(${$sub_loop}[$parent][$index]);
-				$_wp_submenu_nopriv[$parent][$data[2]] = true;
-			}
+foreach ($submenu as $parent => $sub) {
+	foreach ($sub as $index => $data) {
+		if ( ! current_user_can($data[1]) ) {
+			unset($submenu[$parent][$index]);
+			$_wp_submenu_nopriv[$parent][$data[2]] = true;
 		}
-		unset($index, $data);
-
-		if ( empty(${$sub_loop}[$parent]) )
-			unset(${$sub_loop}[$parent]);
 	}
-	unset($sub, $parent);
+	unset($index, $data);
+
+	if ( empty($submenu[$parent]) )
+		unset($submenu[$parent]);
 }
-unset($sub_loop);
+unset($sub, $parent);
 
 /*
  * Loop over the top-level menu.
@@ -100,8 +97,10 @@ foreach ( $menu as $id => $data ) {
 	$first_sub = array_shift($subs);
 	$old_parent = $data[2];
 	$new_parent = $first_sub[2];
-	// If the first submenu is not the same as the assigned parent,
-	// make the first submenu the new parent.
+	/*
+	 * If the first submenu is not the same as the assigned parent,
+	 * make the first submenu the new parent.
+	 */
 	if ( $new_parent != $old_parent ) {
 		$_wp_real_parent_file[$old_parent] = $new_parent;
 		$menu[$id][2] = $new_parent;
diff --git a/wp-admin/includes/meta-boxes.php b/wp-admin/includes/meta-boxes.php
index 9f7f469a4..3e2c9de6b 100644
--- a/wp-admin/includes/meta-boxes.php
+++ b/wp-admin/includes/meta-boxes.php
@@ -42,14 +42,17 @@ if ( 'publish' == $post->post_status ) {
 	$preview_button = __( 'Preview Changes' );
 } else {
 	$preview_link = set_url_scheme( get_permalink( $post->ID ) );
+
 	/**
 	 * Filter the URI of a post preview in the post submit box.
 	 *
 	 * @since 2.0.5
+	 * @since 4.0.0 $post parameter was added.
 	 *
-	 * @param string $preview_link URI the user will be directed to for a post preview.
+	 * @param string  $preview_link URI the user will be directed to for a post preview.
+	 * @param WP_Post $post         Post object.
 	 */
-	$preview_link = esc_url( apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ) ) );
+	$preview_link = esc_url( apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ), $post ) );
 	$preview_button = __( 'Preview' );
 }
 ?>
@@ -276,11 +279,6 @@ if ( !in_array( $post->post_status, array('publish', 'future', 'private') ) || 0
  * @param object $post
  */
 function attachment_submit_meta_box( $post ) {
-	global $action;
-
-	$post_type = $post->post_type;
-	$post_type_object = get_post_type_object($post_type);
-	$can_publish = current_user_can($post_type_object->cap->publish_posts);
 ?>
 <div class="submitbox" id="submitpost">
 
@@ -347,7 +345,15 @@ function attachment_submit_meta_box( $post ) {
  *
  * @since 3.1.0
  *
- * @param object $post
+ * @param WP_Post $post Post object.
+ * @param array   $box {
+ *     Post formats meta box arguments.
+ *
+ *     @type string   $id       Meta box ID.
+ *     @type string   $title    Meta box title.
+ *     @type callback $callback Meta box display callback.
+ *     @type array    $args     Extra meta box arguments.
+ * }
  */
 function post_format_meta_box( $post, $box ) {
 	if ( current_theme_supports( 'post-formats' ) && post_type_supports( $post->post_type, 'post-formats' ) ) :
@@ -375,17 +381,32 @@ function post_format_meta_box( $post, $box ) {
  *
  * @since 2.6.0
  *
- * @param object $post
+ * @todo Create taxonomy-agnostic wrapper for this.
+ *
+ * @param WP_Post $post Post object.
+ * @param array   $box {
+ *     Tags meta box arguments.
+ *
+ *     @type string   $id       Meta box ID.
+ *     @type string   $title    Meta box title.
+ *     @type callback $callback Meta box display callback.
+ *     @type array    $args {
+ *         Extra meta box arguments.
+ *
+ *         @type string $taxonomy Taxonomy. Default 'post_tag'.
+ *     }
+ * }
  */
-function post_tags_meta_box($post, $box) {
-	$defaults = array('taxonomy' => 'post_tag');
-	if ( !isset($box['args']) || !is_array($box['args']) )
+function post_tags_meta_box( $post, $box ) {
+	$defaults = array( 'taxonomy' => 'post_tag' );
+	if ( ! isset( $box['args'] ) || ! is_array( $box['args'] ) ) {
 		$args = array();
-	else
+	} else {
 		$args = $box['args'];
-	extract( wp_parse_args($args, $defaults), EXTR_SKIP );
-	$tax_name = esc_attr($taxonomy);
-	$taxonomy = get_taxonomy($taxonomy);
+	}
+	$r = wp_parse_args( $args, $defaults );
+	$tax_name = esc_attr( $r['taxonomy'] );
+	$taxonomy = get_taxonomy( $r['taxonomy'] );
 	$user_can_assign_terms = current_user_can( $taxonomy->cap->assign_terms );
 	$comma = _x( ',', 'tag delimiter' );
 ?>
@@ -417,59 +438,74 @@ function post_tags_meta_box($post, $box) {
  *
  * @since 2.6.0
  *
- * @param object $post
+ * @todo Create taxonomy-agnostic wrapper for this.
+ *
+ * @param WP_Post $post Post object.
+ * @param array   $box {
+ *     Categories meta box arguments.
+ *
+ *     @type string   $id       Meta box ID.
+ *     @type string   $title    Meta box title.
+ *     @type callback $callback Meta box display callback.
+ *     @type array    $args {
+ *         Extra meta box arguments.
+ *
+ *         @type string $taxonomy Taxonomy. Default 'category'.
+ *     }
+ * }
  */
 function post_categories_meta_box( $post, $box ) {
-	$defaults = array('taxonomy' => 'category');
-	if ( !isset($box['args']) || !is_array($box['args']) )
+	$defaults = array( 'taxonomy' => 'category' );
+	if ( ! isset( $box['args'] ) || ! is_array( $box['args'] ) ) {
 		$args = array();
-	else
+	} else {
 		$args = $box['args'];
-	extract( wp_parse_args($args, $defaults), EXTR_SKIP );
-	$tax = get_taxonomy($taxonomy);
-
+	}
+	$r = wp_parse_args( $args, $defaults );
+	$tax_name = esc_attr( $r['taxonomy'] );
+	$taxonomy = get_taxonomy( $r['taxonomy'] );
 	?>
-	<div id="taxonomy-<?php echo $taxonomy; ?>" class="categorydiv">
-		<ul id="<?php echo $taxonomy; ?>-tabs" class="category-tabs">
-			<li class="tabs"><a href="#<?php echo $taxonomy; ?>-all"><?php echo $tax->labels->all_items; ?></a></li>
-			<li class="hide-if-no-js"><a href="#<?php echo $taxonomy; ?>-pop"><?php _e( 'Most Used' ); ?></a></li>
+	<div id="taxonomy-<?php echo $tax_name; ?>" class="categorydiv">
+		<ul id="<?php echo $tax_name; ?>-tabs" class="category-tabs">
+			<li class="tabs"><a href="#<?php echo $tax_name; ?>-all"><?php echo $taxonomy->labels->all_items; ?></a></li>
+			<li class="hide-if-no-js"><a href="#<?php echo $tax_name; ?>-pop"><?php _e( 'Most Used' ); ?></a></li>
 		</ul>
 
-		<div id="<?php echo $taxonomy; ?>-pop" class="tabs-panel" style="display: none;">
-			<ul id="<?php echo $taxonomy; ?>checklist-pop" class="categorychecklist form-no-clear" >
-				<?php $popular_ids = wp_popular_terms_checklist($taxonomy); ?>
+		<div id="<?php echo $tax_name; ?>-pop" class="tabs-panel" style="display: none;">
+			<ul id="<?php echo $tax_name; ?>checklist-pop" class="categorychecklist form-no-clear" >
+				<?php $popular_ids = wp_popular_terms_checklist( $tax_name ); ?>
 			</ul>
 		</div>
 
-		<div id="<?php echo $taxonomy; ?>-all" class="tabs-panel">
+		<div id="<?php echo $tax_name; ?>-all" class="tabs-panel">
 			<?php
-            $name = ( $taxonomy == 'category' ) ? 'post_category' : 'tax_input[' . $taxonomy . ']';
+            $name = ( $tax_name == 'category' ) ? 'post_category' : 'tax_input[' . $tax_name . ']';
             echo "<input type='hidden' name='{$name}[]' value='0' />"; // Allows for an empty term set to be sent. 0 is an invalid Term ID and will be ignored by empty() checks.
             ?>
-			<ul id="<?php echo $taxonomy; ?>checklist" data-wp-lists="list:<?php echo $taxonomy?>" class="categorychecklist form-no-clear">
-				<?php wp_terms_checklist($post->ID, array( 'taxonomy' => $taxonomy, 'popular_cats' => $popular_ids ) ) ?>
+			<ul id="<?php echo $tax_name; ?>checklist" data-wp-lists="list:<?php echo $tax_name; ?>" class="categorychecklist form-no-clear">
+				<?php wp_terms_checklist( $post->ID, array( 'taxonomy' => $tax_name, 'popular_cats' => $popular_ids ) ); ?>
 			</ul>
 		</div>
-	<?php if ( current_user_can($tax->cap->edit_terms) ) : ?>
-			<div id="<?php echo $taxonomy; ?>-adder" class="wp-hidden-children">
+	<?php if ( current_user_can( $taxonomy->cap->edit_terms ) ) : ?>
+			<div id="<?php echo $tax_name; ?>-adder" class="wp-hidden-children">
 				<h4>
-					<a id="<?php echo $taxonomy; ?>-add-toggle" href="#<?php echo $taxonomy; ?>-add" class="hide-if-no-js">
+					<a id="<?php echo $tax_name; ?>-add-toggle" href="#<?php echo $tax_name; ?>-add" class="hide-if-no-js">
 						<?php
 							/* translators: %s: add new taxonomy label */
-							printf( __( '+ %s' ), $tax->labels->add_new_item );
+							printf( __( '+ %s' ), $taxonomy->labels->add_new_item );
 						?>
 					</a>
 				</h4>
-				<p id="<?php echo $taxonomy; ?>-add" class="category-add wp-hidden-child">
-					<label class="screen-reader-text" for="new<?php echo $taxonomy; ?>"><?php echo $tax->labels->add_new_item; ?></label>
-					<input type="text" name="new<?php echo $taxonomy; ?>" id="new<?php echo $taxonomy; ?>" class="form-required form-input-tip" value="<?php echo esc_attr( $tax->labels->new_item_name ); ?>" aria-required="true"/>
-					<label class="screen-reader-text" for="new<?php echo $taxonomy; ?>_parent">
-						<?php echo $tax->labels->parent_item_colon; ?>
+				<p id="<?php echo $tax_name; ?>-add" class="category-add wp-hidden-child">
+					<label class="screen-reader-text" for="new<?php echo $tax_name; ?>"><?php echo $taxonomy->labels->add_new_item; ?></label>
+					<input type="text" name="new<?php echo $tax_name; ?>" id="new<?php echo $tax_name; ?>" class="form-required form-input-tip" value="<?php echo esc_attr( $taxonomy->labels->new_item_name ); ?>" aria-required="true"/>
+					<label class="screen-reader-text" for="new<?php echo $tax_name; ?>_parent">
+						<?php echo $taxonomy->labels->parent_item_colon; ?>
 					</label>
-					<?php wp_dropdown_categories( array( 'taxonomy' => $taxonomy, 'hide_empty' => 0, 'name' => 'new'.$taxonomy.'_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => '&mdash; ' . $tax->labels->parent_item . ' &mdash;' ) ); ?>
-					<input type="button" id="<?php echo $taxonomy; ?>-add-submit" data-wp-lists="add:<?php echo $taxonomy ?>checklist:<?php echo $taxonomy ?>-add" class="button category-add-submit" value="<?php echo esc_attr( $tax->labels->add_new_item ); ?>" />
-					<?php wp_nonce_field( 'add-'.$taxonomy, '_ajax_nonce-add-'.$taxonomy, false ); ?>
-					<span id="<?php echo $taxonomy; ?>-ajax-response"></span>
+					<?php wp_dropdown_categories( array( 'taxonomy' => $tax_name, 'hide_empty' => 0, 'name' => 'new' . $tax_name . '_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => '&mdash; ' . $taxonomy->labels->parent_item . ' &mdash;' ) ); ?>
+					<input type="button" id="<?php echo $tax_name; ?>-add-submit" data-wp-lists="add:<?php echo $tax_name; ?>checklist:<?php echo $tax_name; ?>-add" class="button category-add-submit" value="<?php echo esc_attr( $taxonomy->labels->add_new_item ); ?>" />
+					<?php wp_nonce_field( 'add-' . $tax_name, '_ajax_nonce-add-' . $tax_name, false ); ?>
+					<span id="<?php echo $tax_name; ?>-ajax-response"></span>
 				</p>
 			</div>
 		<?php endif; ?>
@@ -589,8 +625,6 @@ function post_comment_meta_box_thead($result) {
  * @param object $post
  */
 function post_comment_meta_box( $post ) {
-	global $wpdb;
-
 	wp_nonce_field( 'get-comments', 'add_comment_nonce', false );
 	?>
 	<p class="hide-if-no-js" id="add-new-comment"><a class="button" href="#commentstatusdiv" onclick="window.commentReply && commentReply.addcomment(<?php echo $post->ID; ?>);return false;"><?php _e('Add comment'); ?></a></p>
diff --git a/wp-admin/includes/misc.php b/wp-admin/includes/misc.php
index 3680f8e5a..f93e13881 100644
--- a/wp-admin/includes/misc.php
+++ b/wp-admin/includes/misc.php
@@ -22,9 +22,10 @@ function got_mod_rewrite() {
 	 * This filter was previously used to force URL rewriting for other servers,
 	 * like nginx. Use the got_url_rewrite filter in got_url_rewrite() instead.
 	 *
+	 * @since 2.5.0
+	 *
 	 * @see got_url_rewrite()
 	 *
-	 * @since 2.5.0
 	 * @param bool $got_rewrite Whether Apache and mod_rewrite are present.
 	 */
 	return apply_filters( 'got_rewrite', $got_rewrite );
@@ -46,6 +47,7 @@ function got_url_rewrite() {
 	 * Filter whether URL rewriting is available.
 	 *
 	 * @since 3.7.0
+	 *
 	 * @param bool $got_url_rewrite Whether URL rewriting is available.
 	 */
 	return apply_filters( 'got_url_rewrite', $got_url_rewrite );
@@ -161,8 +163,10 @@ function save_mod_rewrite_rules() {
 	$home_path = get_home_path();
 	$htaccess_file = $home_path.'.htaccess';
 
-	// If the file doesn't already exist check for write access to the directory and whether we have some rules.
-	// else check for write access to the file.
+	/*
+	 * If the file doesn't already exist check for write access to the directory
+	 * and whether we have some rules. Else check for write access to the file.
+	 */
 	if ((!file_exists($htaccess_file) && is_writable($home_path) && $wp_rewrite->using_mod_rewrite_permalinks()) || is_writable($htaccess_file)) {
 		if ( got_mod_rewrite() ) {
 			$rules = explode( "\n", $wp_rewrite->mod_rewrite_rules() );
@@ -272,17 +276,15 @@ function url_shorten( $url ) {
  * @param array $vars An array of globals to reset.
  */
 function wp_reset_vars( $vars ) {
-	for ( $i=0; $i<count( $vars ); $i += 1 ) {
-		$var = $vars[$i];
-		global $$var;
-
-		if ( empty( $_POST[$var] ) ) {
-			if ( empty( $_GET[$var] ) )
-				$$var = '';
-			else
-				$$var = $_GET[$var];
+	foreach ( $vars as $var ) {
+		if ( empty( $_POST[ $var ] ) ) {
+			if ( empty( $_GET[ $var ] ) ) {
+				$GLOBALS[ $var ] = '';
+			} else {
+				$GLOBALS[ $var ] = $_GET[ $var ];
+			}
 		} else {
-			$$var = $_POST[$var];
+			$GLOBALS[ $var ] = $_POST[ $var ];
 		}
 	}
 }
@@ -336,11 +338,11 @@ function wp_doc_link_parse( $content ) {
 	sort( $functions );
 
 	/**
-	 * Filter the list of functions/classes to be ignored from the documentation lookup.
+	 * Filter the list of functions and classes to be ignored from the documentation lookup.
 	 *
 	 * @since 2.8.0
 	 *
-	 * @param array $ignore_functions Functions/Classes to be ignored.
+	 * @param array $ignore_functions Functions and classes to be ignored.
 	 */
 	$ignore_functions = apply_filters( 'documentation_ignore_functions', $ignore_functions );
 
@@ -802,7 +804,7 @@ add_filter( 'heartbeat_settings', 'wp_heartbeat_set_suspension' );
 /**
  * Autosave with heartbeat
  *
- * @since 3.9
+ * @since 3.9.0
  */
 function heartbeat_autosave( $response, $data ) {
 	if ( ! empty( $data['wp_autosave'] ) ) {
@@ -824,3 +826,20 @@ function heartbeat_autosave( $response, $data ) {
 }
 // Run later as we have to set DOING_AUTOSAVE for back-compat
 add_filter( 'heartbeat_received', 'heartbeat_autosave', 500, 2 );
+
+/**
+ * Disables autocomplete on the 'post' form (Add/Edit Post screens) for WebKit browsers,
+ * as they disregard the autocomplete setting on the editor textarea. That can break the editor
+ * when the user navigates to it with the browser's Back button. See #28037
+ *
+ * @since 4.0
+ */
+function post_form_autocomplete_off() {
+	global $is_safari, $is_chrome;
+
+	if ( $is_safari || $is_chrome ) {
+		echo ' autocomplete="off"';
+	}
+}
+
+add_action( 'post_edit_form_tag', 'post_form_autocomplete_off' );
diff --git a/wp-admin/includes/ms-deprecated.php b/wp-admin/includes/ms-deprecated.php
index 702e3e13c..44e2a82b2 100644
--- a/wp-admin/includes/ms-deprecated.php
+++ b/wp-admin/includes/ms-deprecated.php
@@ -14,7 +14,7 @@
  */
 function wpmu_menu() {
 	_deprecated_function(__FUNCTION__, '3.0' );
-	// deprecated. See #11763
+	// Deprecated. See #11763.
 }
 
 /**
diff --git a/wp-admin/includes/ms.php b/wp-admin/includes/ms.php
index 3a4d1907b..84f61670b 100644
--- a/wp-admin/includes/ms.php
+++ b/wp-admin/includes/ms.php
@@ -211,7 +211,6 @@ function wpmu_delete_user( $id ) {
 }
 
 function update_option_new_admin_email( $old_value, $value ) {
-	$email = get_option( 'admin_email' );
 	if ( $value == get_option( 'admin_email' ) || !is_email( $value ) )
 		return;
 
@@ -670,10 +669,10 @@ function choose_primary_blog() {
 		<tr>
 			<th scope="row" colspan="2" class="th-full">
 				<?php
-				$signup_url = network_site_url( 'wp-signup.php' );
 				/** This filter is documented in wp-login.php */
+				$sign_up_url = apply_filters( 'wp_signup_location', network_site_url( 'wp-signup.php' ) );
 				?>
-				<a href="<?php echo apply_filters( 'wp_signup_location', $signup_url ); ?>"><?php _e( 'Create a New Site' ); ?></a>
+				<a href="<?php echo esc_url( $sign_up_url ); ?>"><?php _e( 'Create a New Site' ); ?></a>
 			</th>
 		</tr>
 	<?php endif; ?>
diff --git a/wp-admin/includes/nav-menu.php b/wp-admin/includes/nav-menu.php
index 05a9b2947..44f3ee084 100644
--- a/wp-admin/includes/nav-menu.php
+++ b/wp-admin/includes/nav-menu.php
@@ -19,7 +19,7 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
 	 * @param int    $depth  Depth of menu item. Used for padding.
 	 * @param array  $args   Not used.
 	 */
-	function start_lvl( &$output, $depth = 0, $args = array() ) {}
+	public function start_lvl( &$output, $depth = 0, $args = array() ) {}
 
 	/**
 	 * Ends the list of after the elements are added.
@@ -32,7 +32,7 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
 	 * @param int    $depth  Depth of menu item. Used for padding.
 	 * @param array  $args   Not used.
 	 */
-	function end_lvl( &$output, $depth = 0, $args = array() ) {}
+	public function end_lvl( &$output, $depth = 0, $args = array() ) {}
 
 	/**
 	 * Start the element output.
@@ -46,7 +46,7 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
 	 * @param array  $args   Not used.
 	 * @param int    $id     Not used.
 	 */
-	function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
+	public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
 		global $_wp_nav_menu_max_depth;
 		$_wp_nav_menu_max_depth = $depth > $_wp_nav_menu_max_depth ? $depth : $_wp_nav_menu_max_depth;
 
@@ -235,7 +235,7 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
  * @uses Walker_Nav_Menu
  */
 class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu {
-	function __construct( $fields = false ) {
+	public function __construct( $fields = false ) {
 		if ( $fields ) {
 			$this->db_fields = $fields;
 		}
@@ -252,7 +252,7 @@ class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu {
 	 * @param int    $depth  Depth of page. Used for padding.
 	 * @param array  $args   Not used.
 	 */
-	function start_lvl( &$output, $depth = 0, $args = array() ) {
+	public function start_lvl( &$output, $depth = 0, $args = array() ) {
 		$indent = str_repeat( "\t", $depth );
 		$output .= "\n$indent<ul class='children'>\n";
 	}
@@ -268,7 +268,7 @@ class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu {
 	 * @param int    $depth  Depth of page. Used for padding.
 	 * @param array  $args   Not used.
 	 */
-	function end_lvl( &$output, $depth = 0, $args = array() ) {
+	public function end_lvl( &$output, $depth = 0, $args = array() ) {
 		$indent = str_repeat( "\t", $depth );
 		$output .= "\n$indent</ul>";
 	}
@@ -286,7 +286,7 @@ class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu {
 	 * @param array  $args   Not used.
 	 * @param int    $id     Not used.
 	 */
-	function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
+	public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
 		global $_nav_menu_placeholder;
 
 		$_nav_menu_placeholder = ( 0 > $_nav_menu_placeholder ) ? intval($_nav_menu_placeholder) - 1 : -1;
@@ -356,7 +356,6 @@ function _wp_ajax_menu_quick_search( $request = array() ) {
 				if ( 'markup' == $response_format ) {
 					echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', array( get_post( $object_id ) ) ), 0, (object) $args );
 				} elseif ( 'json' == $response_format ) {
-					$post_obj = get_post( $object_id );
 					echo json_encode(
 						array(
 							'ID' => $object_id,
@@ -503,19 +502,21 @@ function wp_nav_menu_post_type_meta_boxes() {
 
 	foreach ( $post_types as $post_type ) {
 		/**
-		 * Filter whether a menu items meta box will be added for the current post type.
+		 * Filter whether a menu items meta box will be added for the current
+		 * object type.
 		 *
-		 * If a falsey value is returned instead of a post type object,
-		 * the post type menu items meta box will not be added.
+		 * If a falsey value is returned instead of an object, the menu items
+		 * meta box for the current meta box object will not be added.
 		 *
 		 * @since 3.0.0
 		 *
-		 * @param object $post_type The post type object to be used as a meta box.
+		 * @param object $meta_box_object The current object to add a menu items
+		 *                                meta box for.
 		 */
 		$post_type = apply_filters( 'nav_menu_meta_box_object', $post_type );
 		if ( $post_type ) {
 			$id = $post_type->name;
-			// give pages a higher priority
+			// Give pages a higher priority.
 			$priority = ( 'page' == $post_type->name ? 'core' : 'default' );
 			add_meta_box( "add-{$id}", $post_type->labels->name, 'wp_nav_menu_item_post_type_meta_box', 'nav-menus', 'side', $priority, $post_type );
 		}
@@ -534,16 +535,7 @@ function wp_nav_menu_taxonomy_meta_boxes() {
 		return;
 
 	foreach ( $taxonomies as $tax ) {
-		/**
-		 * Filter whether a menu items meta box will be added for the current taxonomy.
-		 *
-		 * If a falsey value is returned instead of a taxonomy object,
-		 * the taxonomy menu items meta box will not be added.
-		 *
-		 * @since 3.0.0
-		 *
-		 * @param object $tax The taxonomy object to be used as a meta box.
-		 */
+		/** This filter is documented in wp-admin/includes/nav-menu.php */
 		$tax = apply_filters( 'nav_menu_meta_box_object', $tax );
 		if ( $tax ) {
 			$id = $tax->name;
@@ -623,7 +615,7 @@ function wp_nav_menu_item_post_type_meta_box( $object, $post_type ) {
 
 	$post_type_name = $post_type['args']->name;
 
-	// paginate browsing for large numbers of post objects
+	// Paginate browsing for large numbers of post objects.
 	$per_page = 50;
 	$pagenum = isset( $_REQUEST[$post_type_name . '-tab'] ) && isset( $_REQUEST['paged'] ) ? absint( $_REQUEST['paged'] ) : 1;
 	$offset = 0 < $pagenum ? $per_page * ( $pagenum - 1 ) : 0;
@@ -650,8 +642,6 @@ function wp_nav_menu_item_post_type_meta_box( $object, $post_type ) {
 		return;
 	}
 
-	$post_type_object = get_post_type_object($post_type_name);
-
 	$num_pages = $get_posts->max_num_pages;
 
 	$page_links = paginate_links( array(
@@ -670,9 +660,6 @@ function wp_nav_menu_item_post_type_meta_box( $object, $post_type ) {
 		'current' => $pagenum
 	));
 
-	if ( !$posts )
-		$error = '<li id="error">'. $post_type['args']->labels->not_found .'</li>';
-
 	$db_fields = false;
 	if ( is_post_type_hierarchical( $post_type_name ) ) {
 		$db_fields = array( 'parent' => 'post_parent', 'id' => 'ID' );
@@ -775,7 +762,10 @@ function wp_nav_menu_item_post_type_meta_box( $object, $post_type ) {
 				<?php
 				$args['walker'] = $walker;
 
-				// if we're dealing with pages, let's put a checkbox for the front page at the top of the list
+				/*
+				 * If we're dealing with pages, let's put a checkbox for the front
+				 * page at the top of the list.
+				 */
 				if ( 'page' == $post_type_name ) {
 					$front_page = 'page' == get_option('show_on_front') ? (int) get_option( 'page_on_front' ) : 0;
 					if ( ! empty( $front_page ) ) {
@@ -867,7 +857,7 @@ function wp_nav_menu_item_taxonomy_meta_box( $object, $taxonomy ) {
 	global $nav_menu_selected_id;
 	$taxonomy_name = $taxonomy['args']->name;
 
-	// paginate browsing for large numbers of objects
+	// Paginate browsing for large numbers of objects.
 	$per_page = 50;
 	$pagenum = isset( $_REQUEST[$taxonomy_name . '-tab'] ) && isset( $_REQUEST['paged'] ) ? absint( $_REQUEST['paged'] ) : 1;
 	$offset = 0 < $pagenum ? $per_page * ( $pagenum - 1 ) : 0;
@@ -1058,21 +1048,26 @@ function wp_save_nav_menu_items( $menu_id = 0, $menu_data = array() ) {
 
 	if ( 0 == $menu_id || is_nav_menu( $menu_id ) ) {
 
-		// Loop through all the menu items' POST values
+		// Loop through all the menu items' POST values.
 		foreach( (array) $menu_data as $_possible_db_id => $_item_object_data ) {
 			if (
-				empty( $_item_object_data['menu-item-object-id'] ) && // checkbox is not checked
+				// Checkbox is not checked.
+				empty( $_item_object_data['menu-item-object-id'] ) &&
 				(
-					! isset( $_item_object_data['menu-item-type'] ) || // and item type either isn't set
-					in_array( $_item_object_data['menu-item-url'], array( 'http://', '' ) ) || // or URL is the default
+					// And item type either isn't set.
+					! isset( $_item_object_data['menu-item-type'] ) ||
+					// Or URL is the default.
+					in_array( $_item_object_data['menu-item-url'], array( 'http://', '' ) ) ||
 					! ( 'custom' == $_item_object_data['menu-item-type'] && ! isset( $_item_object_data['menu-item-db-id'] ) ) || // or it's not a custom menu item (but not the custom home page)
-					! empty( $_item_object_data['menu-item-db-id'] ) // or it *is* a custom menu item that already exists
+					// Or it *is* a custom menu item that already exists.
+					! empty( $_item_object_data['menu-item-db-id'] )
 				)
 			) {
-				continue; // then this potential menu item is not getting added to this menu
+				// Then this potential menu item is not getting added to this menu.
+				continue;
 			}
 
-			// if this possible menu item doesn't actually have a menu database ID yet
+			// If this possible menu item doesn't actually have a menu database ID yet.
 			if (
 				empty( $_item_object_data['menu-item-db-id'] ) ||
 				( 0 > $_possible_db_id ) ||
@@ -1125,20 +1120,20 @@ function _wp_nav_menu_meta_box_object( $object = null ) {
 				'post_status' => 'publish',
 			);
 
-		// posts should show only published items
+		// Posts should show only published items.
 		} elseif ( 'post' == $object->name ) {
 			$object->_default_query = array(
 				'post_status' => 'publish',
 			);
 
-		// cats should be in reverse chronological order
+		// Categories should be in reverse chronological order.
 		} elseif ( 'category' == $object->name ) {
 			$object->_default_query = array(
 				'orderby' => 'id',
 				'order' => 'DESC',
 			);
 
-		// custom post types should show only published items
+		// Custom post types should show only published items.
 		} else {
 			$object->_default_query = array(
 				'post_status' => 'publish',
@@ -1172,12 +1167,12 @@ function wp_get_nav_menu_to_edit( $menu_id = 0 ) {
 			return $result . ' <ul class="menu" id="menu-to-edit"> </ul>';
 
 		/**
-		 * Filter the Walker class used to render a menu formatted for editing.
+		 * Filter the Walker class used when adding nav menu items.
 		 *
 		 * @since 3.0.0
 		 *
-		 * @param string $walker_class_name The Walker class used to render a menu formatted for editing.
-		 * @param int    $menu_id           The ID of the menu being rendered.
+		 * @param string $class   The walker class to use. Default 'Walker_Nav_Menu_Edit'.
+		 * @param int    $menu_id ID of the menu being rendered.
 		 */
 		$walker_class_name = apply_filters( 'wp_edit_nav_menu_walker', 'Walker_Nav_Menu_Edit', $menu_id );
 
@@ -1239,7 +1234,7 @@ function _wp_delete_orphaned_draft_menu_items() {
 	global $wpdb;
 	$delete_timestamp = time() - ( DAY_IN_SECONDS * EMPTY_TRASH_DAYS );
 
-	// delete orphaned draft menu items
+	// Delete orphaned draft menu items.
 	$menu_items_to_delete = $wpdb->get_col($wpdb->prepare("SELECT ID FROM $wpdb->posts AS p LEFT JOIN $wpdb->postmeta AS m ON p.ID = m.post_id WHERE post_type = 'nav_menu_item' AND post_status = 'draft' AND meta_key = '_menu_item_orphaned' AND meta_value < '%d'", $delete_timestamp ) );
 
 	foreach( (array) $menu_items_to_delete as $menu_item_id )
diff --git a/wp-admin/includes/plugin-install.php b/wp-admin/includes/plugin-install.php
index 44a6a1b4c..90a55539d 100644
--- a/wp-admin/includes/plugin-install.php
+++ b/wp-admin/includes/plugin-install.php
@@ -128,11 +128,10 @@ function install_dashboard() {
 	?>
 	<p><?php printf( __( 'Plugins extend and expand the functionality of WordPress. You may automatically install plugins from the <a href="%1$s">WordPress Plugin Directory</a> or upload a plugin in .zip format via <a href="%2$s">this page</a>.' ), 'https://wordpress.org/plugins/', self_admin_url( 'plugin-install.php?tab=upload' ) ); ?></p>
 
-	<h4><?php _e('Search') ?></h4>
-	<?php install_search_form( false ); ?>
+	<?php display_plugins_table(); ?>
 
-	<h4><?php _e('Popular tags') ?></h4>
-	<p class="install-help"><?php _e('You may also browse based on the most popular tags in the Plugin Directory:') ?></p>
+	<h3><?php _e( 'Popular tags' ) ?></h3>
+	<p><?php _e( 'You may also browse based on the most popular tags in the Plugin Directory:' ) ?></p>
 	<?php
 
 	$api_tags = install_popular_tags();
@@ -153,7 +152,7 @@ function install_dashboard() {
 	}
 	echo '</p><br class="clear" />';
 }
-add_action('install_plugins_dashboard', 'install_dashboard');
+add_action( 'install_plugins_featured', 'install_dashboard' );
 
 /**
  * Display search form for searching plugins.
@@ -163,8 +162,15 @@ add_action('install_plugins_dashboard', 'install_dashboard');
 function install_search_form( $type_selector = true ) {
 	$type = isset($_REQUEST['type']) ? wp_unslash( $_REQUEST['type'] ) : 'term';
 	$term = isset($_REQUEST['s']) ? wp_unslash( $_REQUEST['s'] ) : '';
+	$input_attrs = '';
+	$button_type = 'button screen-reader-text';
 
-	?><form id="search-plugins" method="get" action="">
+	// assume no $type_selector means it's a simplified search form
+	if ( ! $type_selector ) {
+		$input_attrs = 'class="wp-filter-search" placeholder="' . esc_attr__( 'Search Plugins' ) . '" ';
+	}
+
+	?><form class="search-form search-plugins" method="get" action="">
 		<input type="hidden" name="tab" value="search" />
 		<?php if ( $type_selector ) : ?>
 		<select name="type" id="typeselector">
@@ -173,9 +179,10 @@ function install_search_form( $type_selector = true ) {
 			<option value="tag"<?php selected('tag', $type) ?>><?php _ex('Tag', 'Plugin Installer'); ?></option>
 		</select>
 		<?php endif; ?>
-		<input type="search" name="s" value="<?php echo esc_attr($term) ?>" autofocus="autofocus" />
-		<label class="screen-reader-text" for="plugin-search-input"><?php _e('Search Plugins'); ?></label>
-		<?php submit_button( __( 'Search Plugins' ), 'button', 'plugin-search-input', false ); ?>
+		<label><span class="screen-reader-text"><?php _e('Search Plugins'); ?></span>
+			<input type="search" name="s" value="<?php echo esc_attr($term) ?>" <?php echo $input_attrs; ?>/>
+		</label>
+		<?php submit_button( __( 'Search Plugins' ), $button_type, false, false, array( 'id' => 'search-submit' ) ); ?>
 	</form><?php
 }
 
@@ -187,7 +194,7 @@ function install_search_form( $type_selector = true ) {
  */
 function install_plugins_upload( $page = 1 ) {
 ?>
-	<h4><?php _e('Install a plugin in .zip format'); ?></h4>
+<div class="upload-plugin">
 	<p class="install-help"><?php _e('If you have a plugin in a .zip format, you may install it by uploading it here.'); ?></p>
 	<form method="post" enctype="multipart/form-data" class="wp-upload-form" action="<?php echo self_admin_url('update.php?action=upload-plugin'); ?>">
 		<?php wp_nonce_field( 'plugin-upload'); ?>
@@ -195,6 +202,7 @@ function install_plugins_upload( $page = 1 ) {
 		<input type="file" id="pluginzip" name="pluginzip" />
 		<?php submit_button( __( 'Install Now' ), 'button', 'install-plugin-submit', false ); ?>
 	</form>
+</div>
 <?php
 }
 add_action('install_plugins_upload', 'install_plugins_upload', 10, 1);
@@ -233,9 +241,9 @@ function display_plugins_table() {
 	$wp_list_table->display();
 }
 add_action( 'install_plugins_search',    'display_plugins_table' );
-add_action( 'install_plugins_featured',  'display_plugins_table' );
 add_action( 'install_plugins_popular',   'display_plugins_table' );
 add_action( 'install_plugins_new',       'display_plugins_table' );
+add_action( 'install_plugins_beta',      'display_plugins_table' );
 add_action( 'install_plugins_favorites', 'display_plugins_table' );
 
 /**
@@ -244,15 +252,18 @@ add_action( 'install_plugins_favorites', 'display_plugins_table' );
  * @since 3.0.0
  */
 function install_plugin_install_status($api, $loop = false) {
-	// this function is called recursively, $loop prevents further loops.
+	// This function is called recursively, $loop prevents further loops.
 	if ( is_array($api) )
 		$api = (object) $api;
 
-	//Default to a "new" plugin
+	// Default to a "new" plugin
 	$status = 'install';
 	$url = false;
 
-	//Check to see if this plugin is known to be installed, and has an update awaiting it.
+	/*
+	 * Check to see if this plugin is known to be installed,
+	 * and has an update awaiting it.
+	 */
 	$update_plugins = get_site_transient('update_plugins');
 	if ( isset( $update_plugins->response ) ) {
 		foreach ( (array)$update_plugins->response as $file => $plugin ) {
@@ -310,60 +321,93 @@ function install_plugin_install_status($api, $loop = false) {
 function install_plugin_information() {
 	global $tab;
 
-	$api = plugins_api( 'plugin_information', array( 'slug' => wp_unslash( $_REQUEST['plugin'] ), 'is_ssl' => is_ssl() ) );
+	$api = plugins_api( 'plugin_information', array(
+		'slug' => wp_unslash( $_REQUEST['plugin'] ),
+		'is_ssl' => is_ssl(),
+		'fields' => array( 'banners' => true, 'reviews' => true )
+	) );
 
-	if ( is_wp_error( $api ) )
+	if ( is_wp_error( $api ) ) {
 		wp_die( $api );
+	}
 
 	$plugins_allowedtags = array(
 		'a' => array( 'href' => array(), 'title' => array(), 'target' => array() ),
 		'abbr' => array( 'title' => array() ), 'acronym' => array( 'title' => array() ),
 		'code' => array(), 'pre' => array(), 'em' => array(), 'strong' => array(),
-		'div' => array(), 'p' => array(), 'ul' => array(), 'ol' => array(), 'li' => array(),
+		'div' => array( 'class' => array() ), 'span' => array( 'class' => array() ),
+		'p' => array(), 'ul' => array(), 'ol' => array(), 'li' => array(),
 		'h1' => array(), 'h2' => array(), 'h3' => array(), 'h4' => array(), 'h5' => array(), 'h6' => array(),
 		'img' => array( 'src' => array(), 'class' => array(), 'alt' => array() )
 	);
 
 	$plugins_section_titles = array(
-		'description'  => _x('Description',  'Plugin installer section title'),
-		'installation' => _x('Installation', 'Plugin installer section title'),
-		'faq'          => _x('FAQ',          'Plugin installer section title'),
-		'screenshots'  => _x('Screenshots',  'Plugin installer section title'),
-		'changelog'    => _x('Changelog',    'Plugin installer section title'),
-		'other_notes'  => _x('Other Notes',  'Plugin installer section title')
+		'description'  => _x( 'Description',  'Plugin installer section title' ),
+		'installation' => _x( 'Installation', 'Plugin installer section title' ),
+		'faq'          => _x( 'FAQ',          'Plugin installer section title' ),
+		'screenshots'  => _x( 'Screenshots',  'Plugin installer section title' ),
+		'changelog'    => _x( 'Changelog',    'Plugin installer section title' ),
+		'reviews'      => _x( 'Reviews',      'Plugin installer section title' ),
+		'other_notes'  => _x( 'Other Notes',  'Plugin installer section title' )
 	);
 
-	//Sanitize HTML
-	foreach ( (array)$api->sections as $section_name => $content ) {
-		$api->sections[$section_name] = wp_kses($content, $plugins_allowedtags);
+	// Sanitize HTML
+	foreach ( (array) $api->sections as $section_name => $content ) {
+		$api->sections[$section_name] = wp_kses( $content, $plugins_allowedtags );
 	}
 
 	foreach ( array( 'version', 'author', 'requires', 'tested', 'homepage', 'downloaded', 'slug' ) as $key ) {
-		if ( isset( $api->$key ) )
+		if ( isset( $api->$key ) ) {
 			$api->$key = wp_kses( $api->$key, $plugins_allowedtags );
+		}
 	}
 
 	$_tab = esc_attr( $tab );
 
-	$section = isset( $_REQUEST['section'] ) ? wp_unslash( $_REQUEST['section'] ) : 'description'; //Default to the Description tab, Do not translate, API returns English.
+	$section = isset( $_REQUEST['section'] ) ? wp_unslash( $_REQUEST['section'] ) : 'description'; // Default to the Description tab, Do not translate, API returns English.
 	if ( empty( $section ) || ! isset( $api->sections[ $section ] ) ) {
 		$section_titles = array_keys( (array) $api->sections );
 		$section = array_shift( $section_titles );
 	}
 
-	iframe_header( __('Plugin Install') );
+	iframe_header( __( 'Plugin Install' ) );
+
+	$_with_banner = '';
+
+	if ( ! empty( $api->banners ) && ( ! empty( $api->banners['low'] ) || ! empty( $api->banners['high'] ) ) ) {
+		$_with_banner = 'with-banner';
+		$low  = empty( $api->banners['low'] ) ? $api->banners['high'] : $api->banners['low'];
+		$high = empty( $api->banners['high'] ) ? $api->banners['low'] : $api->banners['high'];
+		?>
+		<style type="text/css">
+			#plugin-information-title.with-banner {
+				background-image: url( <?php echo esc_url( $low ); ?> );
+			}
+			@media only screen and ( -webkit-min-device-pixel-ratio: 1.5 ) {
+				#plugin-information-title.with-banner {
+					background-image: url( <?php echo esc_url( $high ); ?> );
+				}
+			}
+		</style>
+		<?php
+	}
 
-	echo "<div id='{$_tab}-title'>{$api->name}</div>";
-	echo "<div id='{$_tab}-tabs'>\n";
+	echo '<div id="plugin-information-scrollable">';
+	echo "<div id='{$_tab}-title' class='{$_with_banner}'><div class='vignette'></div><h2>{$api->name}</h2></div>";
+	echo "<div id='{$_tab}-tabs' class='{$_with_banner}'>\n";
 
-	foreach ( (array)$api->sections as $section_name => $content ) {
+	foreach ( (array) $api->sections as $section_name => $content ) {
+		if ( 'reviews' === $section_name && ( empty( $api->ratings ) || 0 === array_sum( (array) $api->ratings ) ) ) {
+			continue;
+		}
 
-		if ( isset( $plugins_section_titles[ $section_name ] ) )
+		if ( isset( $plugins_section_titles[ $section_name ] ) ) {
 			$title = $plugins_section_titles[ $section_name ];
-		else
+		} else {
 			$title = ucwords( str_replace( '_', ' ', $section_name ) );
+		}
 
-		$class = ( $section_name == $section ) ? ' class="current"' : '';
+		$class = ( $section_name === $section ) ? ' class="current"' : '';
 		$href = add_query_arg( array('tab' => $tab, 'section' => $section_name) );
 		$href = esc_url( $href );
 		$san_section = esc_attr( $section_name );
@@ -373,55 +417,95 @@ function install_plugin_information() {
 	echo "</div>\n";
 
 	?>
-	<div id="<?php echo $_tab; ?>-content">
+	<div id="<?php echo $_tab; ?>-content" class='<?php echo $_with_banner; ?>'>
 	<div class="fyi">
 		<ul>
-<?php if ( ! empty( $api->version ) ) : ?>
-			<li><strong><?php _e('Version:') ?></strong> <?php echo $api->version ?></li>
-<?php endif; if ( ! empty( $api->author ) ) : ?>
-			<li><strong><?php _e('Author:') ?></strong> <?php echo links_add_target($api->author, '_blank') ?></li>
-<?php endif; if ( ! empty( $api->last_updated ) ) : ?>
-			<li><strong><?php _e('Last Updated:') ?></strong> <span title="<?php echo $api->last_updated ?>"><?php
-							printf( __('%s ago'), human_time_diff(strtotime($api->last_updated)) ) ?></span></li>
-<?php endif; if ( ! empty( $api->requires ) ) : ?>
-			<li><strong><?php _e('Requires WordPress Version:') ?></strong> <?php printf(__('%s or higher'), $api->requires) ?></li>
-<?php endif; if ( ! empty( $api->tested ) ) : ?>
-			<li><strong><?php _e('Compatible up to:') ?></strong> <?php echo $api->tested ?></li>
-<?php endif; if ( ! empty( $api->downloaded ) ) : ?>
-			<li><strong><?php _e('Downloaded:') ?></strong> <?php printf(_n('%s time', '%s times', $api->downloaded), number_format_i18n($api->downloaded)) ?></li>
-<?php endif; if ( ! empty( $api->slug ) && empty( $api->external ) ) : ?>
-			<li><a target="_blank" href="https://wordpress.org/plugins/<?php echo $api->slug ?>/"><?php _e('WordPress.org Plugin Page &#187;') ?></a></li>
-<?php endif; if ( ! empty( $api->homepage ) ) : ?>
-			<li><a target="_blank" href="<?php echo $api->homepage ?>"><?php _e('Plugin Homepage &#187;') ?></a></li>
-<?php endif; ?>
+		<?php if ( ! empty( $api->version ) ) { ?>
+			<li><strong><?php _e( 'Version:' ); ?></strong> <?php echo $api->version; ?></li>
+		<?php } if ( ! empty( $api->author ) ) { ?>
+			<li><strong><?php _e( 'Author:' ); ?></strong> <?php echo links_add_target( $api->author, '_blank' ); ?></li>
+		<?php } if ( ! empty( $api->last_updated ) ) { ?>
+			<li><strong><?php _e( 'Last Updated:' ); ?></strong> <span title="<?php echo $api->last_updated; ?>">
+				<?php printf( __( '%s ago' ), human_time_diff( strtotime( $api->last_updated ) ) ); ?>
+			</span></li>
+		<?php } if ( ! empty( $api->requires ) ) { ?>
+			<li><strong><?php _e( 'Requires WordPress Version:' ); ?></strong> <?php printf( __( '%s or higher' ), $api->requires ); ?></li>
+		<?php } if ( ! empty( $api->tested ) ) { ?>
+			<li><strong><?php _e( 'Compatible up to:' ); ?></strong> <?php echo $api->tested; ?></li>
+		<?php } if ( ! empty( $api->downloaded ) ) { ?>
+			<li><strong><?php _e( 'Downloaded:' ); ?></strong> <?php printf( _n( '%s time', '%s times', $api->downloaded ), number_format_i18n( $api->downloaded ) ); ?></li>
+		<?php } if ( ! empty( $api->slug ) && empty( $api->external ) ) { ?>
+			<li><a target="_blank" href="https://wordpress.org/plugins/<?php echo $api->slug; ?>/"><?php _e( 'WordPress.org Plugin Page &#187;' ); ?></a></li>
+		<?php } if ( ! empty( $api->homepage ) ) { ?>
+			<li><a target="_blank" href="<?php echo esc_url( $api->homepage ); ?>"><?php _e( 'Plugin Homepage &#187;' ); ?></a></li>
+		<?php } if ( ! empty( $api->donate_link ) && empty( $api->contributors ) ) { ?>
+			<li><a target="_blank" href="<?php echo esc_url( $api->donate_link ); ?>"><?php _e( 'Donate to this plugin &#187;' ); ?></a></li>
+		<?php } ?>
 		</ul>
-		<?php if ( ! empty( $api->rating ) ) : ?>
-		<h3><?php _e('Average Rating') ?></h3>
+		<?php if ( ! empty( $api->rating ) ) { ?>
+		<h3><?php _e( 'Average Rating' ); ?></h3>
 		<?php wp_star_rating( array( 'rating' => $api->rating, 'type' => 'percent', 'number' => $api->num_ratings ) ); ?>
-		<small><?php printf( _n('(based on %s rating)', '(based on %s ratings)', $api->num_ratings), number_format_i18n($api->num_ratings) ); ?></small>
-		<?php endif; ?>
+		<small><?php printf( _n( '(based on %s rating)', '(based on %s ratings)', $api->num_ratings ), number_format_i18n( $api->num_ratings ) ); ?></small>
+		<?php }
+
+		if ( ! empty( $api->ratings ) && array_sum( (array) $api->ratings ) > 0 ) {
+			foreach( $api->ratings as $key => $ratecount ) {
+				// Avoid div-by-zero.
+				$_rating = $api->num_ratings ? ( $ratecount / $api->num_ratings ) : 0;
+				?>
+				<div class="counter-container">
+					<a href="<?php echo esc_url( self_admin_url( 'plugin-install.php?tab=plugin-information&amp;plugin=' . $api->slug . '&amp;section=reviews' ) ); ?>"
+					   title="<?php echo esc_attr( sprintf( _n( 'Click to see reviews that provided a rating of %d star', 'Click to see reviews that provided a rating of %d stars', $key ), $key ) ); ?>">
+						<span class="counter-label"><?php printf( _n( '%d star', '%d stars', $key ), $key ); ?></span>
+						<span class="counter-back">
+							<span class="counter-bar" style="width: <?php echo 92 * $_rating; ?>px;"></span>
+						</span>
+					</a>
+					<span class="counter-count"><?php echo number_format_i18n( $ratecount ); ?></span>
+				</div>
+				<?php
+			}
+		}
+		if ( ! empty( $api->contributors ) ) { ?>
+			<h3><?php _e( 'Contributors' ); ?></h3>
+			<ul class="contributors">
+				<?php
+				foreach ( (array) $api->contributors as $contrib_username => $contrib_profile ) {
+					if ( empty( $contrib_username ) && empty( $contrib_profile ) ) {
+						continue;
+					}
+					if ( empty( $contrib_username ) ) {
+						$contrib_username = preg_replace( '/^.+\/(.+)\/?$/', '\1', $contrib_profile );
+					}
+					$contrib_username = sanitize_user( $contrib_username );
+					if ( empty( $contrib_profile ) ) {
+						echo "<li><img src='https://wordpress.org/grav-redirect.php?user={$contrib_username}&amp;s=36' width='18' height='18' />{$contrib_username}</li>";
+					} else {
+						echo "<li><a href='{$contrib_profile}' target='_blank'><img src='https://wordpress.org/grav-redirect.php?user={$contrib_username}&amp;s=36' width='18' height='18' />{$contrib_username}</a></li>";
+					}
+				}
+				?>
+			</ul>
+			<?php if ( ! empty( $api->donate_link ) ) { ?>
+				<a target="_blank" href="<?php echo esc_url( $api->donate_link ); ?>"><?php _e( 'Donate to this plugin &#187;' ); ?></a>
+			<?php } ?>
+		<?php } ?>
 	</div>
 	<div id="section-holder" class="wrap">
 	<?php
-		if ( ! empty( $api->tested ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->tested ) ), $api->tested, '>' ) )
-			echo '<div class="updated"><p>' . __('<strong>Warning:</strong> This plugin has <strong>not been tested</strong> with your current version of WordPress.') . '</p></div>';
-
-		else if ( ! empty( $api->requires ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->requires ) ), $api->requires, '<' ) )
-			echo '<div class="updated"><p>' . __('<strong>Warning:</strong> This plugin has <strong>not been marked as compatible</strong> with your version of WordPress.') . '</p></div>';
-
-		foreach ( (array)$api->sections as $section_name => $content ) {
-
-			if ( isset( $plugins_section_titles[ $section_name ] ) )
-				$title = $plugins_section_titles[ $section_name ];
-			else
-				$title = ucwords( str_replace( '_', ' ', $section_name ) );
+		if ( ! empty( $api->tested ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->tested ) ), $api->tested, '>' ) ) {
+			echo '<div class="error"><p>' . __('<strong>Warning:</strong> This plugin has <strong>not been tested</strong> with your current version of WordPress.') . '</p></div>';
+		} else if ( ! empty( $api->requires ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->requires ) ), $api->requires, '<' ) ) {
+			echo '<div class="error"><p>' . __('<strong>Warning:</strong> This plugin has <strong>not been marked as compatible</strong> with your version of WordPress.') . '</p></div>';
+		}
 
+		foreach ( (array) $api->sections as $section_name => $content ) {
 			$content = links_add_base_url( $content, 'https://wordpress.org/plugins/' . $api->slug . '/' );
 			$content = links_add_target( $content, '_blank' );
 
 			$san_section = esc_attr( $section_name );
 
-			$display = ( $section_name == $section ) ? 'block' : 'none';
+			$display = ( $section_name === $section ) ? 'block' : 'none';
 
 			echo "\t<div id='section-{$san_section}' class='section' style='display: {$display};'>\n";
 			echo $content;
@@ -429,23 +513,26 @@ function install_plugin_information() {
 		}
 	echo "</div>\n";
 	echo "</div>\n";
+	echo "</div>\n"; // #plugin-information-scrollable
 	echo "<div id='$tab-footer'>\n";
-	if ( ! empty( $api->download_link ) && ( current_user_can('install_plugins') || current_user_can('update_plugins') ) ) {
-		$status = install_plugin_install_status($api);
+	if ( ! empty( $api->download_link ) && ( current_user_can( 'install_plugins' ) || current_user_can( 'update_plugins' ) ) ) {
+		$status = install_plugin_install_status( $api );
 		switch ( $status['status'] ) {
 			case 'install':
-				if ( $status['url'] )
-					echo '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' . __('Install Now') . '</a>';
+				if ( $status['url'] ) {
+					echo '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' . __( 'Install Now' ) . '</a>';
+				}
 				break;
 			case 'update_available':
-				if ( $status['url'] )
-					echo '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' . __('Install Update Now') .'</a>';
+				if ( $status['url'] ) {
+					echo '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' . __( 'Install Update Now' ) .'</a>';
+				}
 				break;
 			case 'newer_installed':
-				echo '<a class="button button-primary right disabled">' . sprintf(__('Newer Version (%s) Installed'), $status['version']) . '</a>';
+				echo '<a class="button button-primary right disabled">' . sprintf( __( 'Newer Version (%s) Installed'), $status['version'] ) . '</a>';
 				break;
 			case 'latest_installed':
-				echo '<a class="button button-primary right disabled">' . __('Latest Version Installed') . '</a>';
+				echo '<a class="button button-primary right disabled">' . __( 'Latest Version Installed' ) . '</a>';
 				break;
 		}
 	}
diff --git a/wp-admin/includes/plugin.php b/wp-admin/includes/plugin.php
index 08adef827..209b5c940 100644
--- a/wp-admin/includes/plugin.php
+++ b/wp-admin/includes/plugin.php
@@ -160,10 +160,10 @@ function _get_plugin_data_markup_translate( $plugin_file, $plugin_data, $markup
 	// Apply markup
 	if ( $markup ) {
 		if ( $plugin_data['PluginURI'] && $plugin_data['Name'] )
-			$plugin_data['Title'] = '<a href="' . $plugin_data['PluginURI'] . '" title="' . esc_attr__( 'Visit plugin homepage' ) . '">' . $plugin_data['Name'] . '</a>';
+			$plugin_data['Title'] = '<a href="' . $plugin_data['PluginURI'] . '">' . $plugin_data['Name'] . '</a>';
 
 		if ( $plugin_data['AuthorURI'] && $plugin_data['Author'] )
-			$plugin_data['Author'] = '<a href="' . $plugin_data['AuthorURI'] . '" title="' . esc_attr__( 'Visit author homepage' ) . '">' . $plugin_data['Author'] . '</a>';
+			$plugin_data['Author'] = '<a href="' . $plugin_data['AuthorURI'] . '">' . $plugin_data['Author'] . '</a>';
 
 		$plugin_data['Description'] = wptexturize( $plugin_data['Description'] );
 
@@ -538,7 +538,9 @@ function activate_plugin( $plugin, $redirect = '', $network_wide = false, $silen
 			wp_redirect(add_query_arg('_error_nonce', wp_create_nonce('plugin-activation-error_' . $plugin), $redirect)); // we'll override this later if the plugin can be included without fatal error
 		ob_start();
 		wp_register_plugin_realpath( WP_PLUGIN_DIR . '/' . $plugin );
+		$_wp_plugin_file = $plugin;
 		include_once( WP_PLUGIN_DIR . '/' . $plugin );
+		$plugin = $_wp_plugin_file; // Avoid stomping of the $plugin variable in a plugin.
 
 		if ( ! $silent ) {
 			/**
@@ -717,7 +719,7 @@ function deactivate_plugins( $plugins, $silent = false, $network_wide = null ) {
  *
  * @since 2.6.0
  *
- * @param string|array $plugins
+ * @param string|array $plugins Single plugin or list of plugins to activate.
  * @param string $redirect Redirect to page after successful activation.
  * @param bool $network_wide Whether to enable the plugin for all sites in the network.
  * @param bool $silent Prevent calling activation hooks. Default is false.
@@ -743,18 +745,16 @@ function activate_plugins( $plugins, $redirect = '', $network_wide = false, $sil
 }
 
 /**
- * Remove directory and files of a plugin for a single or list of plugin(s).
- *
- * If the plugins parameter list is empty, false will be returned. True when
- * completed.
+ * Remove directory and files of a plugin for a list of plugins.
  *
  * @since 2.6.0
  *
- * @param array $plugins List of plugin
- * @param string $redirect Redirect to page when complete.
- * @return mixed
+ * @param array  $plugins    List of plugins to delete.
+ * @param string $deprecated Deprecated.
+ * @return bool|null|WP_Error True on success, false is $plugins is empty, WP_Error on failure.
+ *                            Null if filesystem credentials are required to proceed.
  */
-function delete_plugins($plugins, $redirect = '' ) {
+function delete_plugins( $plugins, $deprecated = '' ) {
 	global $wp_filesystem;
 
 	if ( empty($plugins) )
@@ -851,7 +851,7 @@ function delete_plugins($plugins, $redirect = '' ) {
  */
 function validate_active_plugins() {
 	$plugins = get_option( 'active_plugins', array() );
-	// validate vartype: array
+	// Validate vartype: array.
 	if ( ! is_array( $plugins ) ) {
 		update_option( 'active_plugins', array() );
 		$plugins = array();
@@ -867,7 +867,7 @@ function validate_active_plugins() {
 
 	$invalid = array();
 
-	// invalid plugins get deactivated
+	// Invalid plugins get deactivated.
 	foreach ( $plugins as $plugin ) {
 		$result = validate_plugin( $plugin );
 		if ( is_wp_error( $result ) ) {
@@ -940,7 +940,7 @@ function uninstall_plugin($plugin) {
 
 		define('WP_UNINSTALL_PLUGIN', $file);
 		wp_register_plugin_realpath( WP_PLUGIN_DIR . '/' . dirname( $file ) );
-		include WP_PLUGIN_DIR . '/' . dirname($file) . '/uninstall.php';
+		include( WP_PLUGIN_DIR . '/' . dirname($file) . '/uninstall.php' );
 
 		return true;
 	}
@@ -952,7 +952,7 @@ function uninstall_plugin($plugin) {
 		unset($uninstallable_plugins);
 
 		wp_register_plugin_realpath( WP_PLUGIN_DIR . '/' . $file );
-		include WP_PLUGIN_DIR . '/' . $file;
+		include( WP_PLUGIN_DIR . '/' . $file );
 
 		add_action( 'uninstall_' . $file, $callable );
 
@@ -1119,14 +1119,16 @@ function add_submenu_page( $parent_slug, $page_title, $menu_title, $capability,
 		return false;
 	}
 
-	// If the parent doesn't already have a submenu, add a link to the parent
-	// as the first item in the submenu. If the submenu file is the same as the
-	// parent file someone is trying to link back to the parent manually. In
-	// this case, don't automatically add a link back to avoid duplication.
+	/*
+	 * If the parent doesn't already have a submenu, add a link to the parent
+	 * as the first item in the submenu. If the submenu file is the same as the
+	 * parent file someone is trying to link back to the parent manually. In
+	 * this case, don't automatically add a link back to avoid duplication.
+	 */
 	if (!isset( $submenu[$parent_slug] ) && $menu_slug != $parent_slug ) {
 		foreach ( (array)$menu as $parent_menu ) {
 			if ( $parent_menu[2] == $parent_slug && current_user_can( $parent_menu[1] ) )
-				$submenu[$parent_slug][] = $parent_menu;
+				$submenu[$parent_slug][] = array_slice( $parent_menu, 0, 4 );
 		}
 	}
 
@@ -1137,11 +1139,15 @@ function add_submenu_page( $parent_slug, $page_title, $menu_title, $capability,
 		add_action( $hookname, $function );
 
 	$_registered_pages[$hookname] = true;
-	// backwards-compatibility for plugins using add_management page. See wp-admin/admin.php for redirect from edit.php to tools.php
+
+	/*
+	 * Backward-compatibility for plugins using add_management page.
+	 * See wp-admin/admin.php for redirect from edit.php to tools.php
+	 */
 	if ( 'tools.php' == $parent_slug )
 		$_registered_pages[get_plugin_page_hookname( $menu_slug, 'edit.php')] = true;
 
-	// No parent as top level
+	// No parent as top level.
 	$_parent_pages[$menu_slug] = $parent_slug;
 
 	return $hookname;
diff --git a/wp-admin/includes/post.php b/wp-admin/includes/post.php
index 64b63d649..d230667c6 100644
--- a/wp-admin/includes/post.php
+++ b/wp-admin/includes/post.php
@@ -302,7 +302,7 @@ function edit_post( $post_data = null ) {
 			$image_alt = wp_unslash( $post_data['_wp_attachment_image_alt'] );
 			if ( $image_alt != get_post_meta( $post_ID, '_wp_attachment_image_alt', true ) ) {
 				$image_alt = wp_strip_all_tags( $image_alt, true );
-				// update_meta expects slashed
+				// update_meta expects slashed.
 				update_post_meta( $post_ID, '_wp_attachment_image_alt', wp_slash( $image_alt ) );
 			}
 		}
@@ -518,8 +518,6 @@ function bulk_edit_posts( $post_data = null ) {
  * @return WP_Post Post object containing all the default post data as attributes
  */
 function get_default_post_to_edit( $post_type = 'post', $create_in_db = false ) {
-	global $wpdb;
-
 	$post_title = '';
 	if ( !empty( $_REQUEST['post_title'] ) )
 		$post_title = esc_html( wp_unslash( $_REQUEST['post_title'] ));
@@ -733,7 +731,6 @@ function write_post() {
  * @return unknown
  */
 function add_meta( $post_ID ) {
-	global $wpdb;
 	$post_ID = (int) $post_ID;
 
 	$metakeyselect = isset($_POST['metakeyselect']) ? wp_unslash( trim( $_POST['metakeyselect'] ) ) : '';
@@ -743,9 +740,10 @@ function add_meta( $post_ID ) {
 		$metavalue = trim( $metavalue );
 
 	if ( ('0' === $metavalue || ! empty ( $metavalue ) ) && ( ( ( '#NONE#' != $metakeyselect ) && !empty ( $metakeyselect) ) || !empty ( $metakeyinput ) ) ) {
-		// We have a key/value pair. If both the select and the
-		// input for the key have data, the input takes precedence:
-
+		/*
+		 * We have a key/value pair. If both the select and the input
+		 * for the key have data, the input takes precedence.
+		 */
  		if ( '#NONE#' != $metakeyselect )
 			$metakey = $metakeyselect;
 
@@ -949,7 +947,7 @@ function wp_edit_posts_query( $q = false ) {
 	elseif ( isset($q['post_status']) && 'pending' == $q['post_status'] )
 		$order = 'ASC';
 
-	$per_page = 'edit_' . $post_type . '_per_page';
+	$per_page = "edit_{$post_type}_per_page";
 	$posts_per_page = (int) get_user_option( $per_page );
 	if ( empty( $posts_per_page ) || $posts_per_page < 1 )
 		$posts_per_page = 20;
@@ -957,26 +955,25 @@ function wp_edit_posts_query( $q = false ) {
 	/**
 	 * Filter the number of items per page to show for a specific 'per_page' type.
 	 *
-	 * The dynamic hook name, $per_page, refers to a hook name comprised of the post type,
-	 * preceded by 'edit_', and succeeded by '_per_page', e.g. 'edit_$post_type_per_page'.
+	 * The dynamic portion of the hook name, $post_type, refers to the post type.
 	 *
 	 * Some examples of filter hooks generated here include: 'edit_attachment_per_page',
 	 * 'edit_post_per_page', 'edit_page_per_page', etc.
 	 *
 	 * @since 3.0.0
 	 *
-	 * @param int $posts_per_page Number of posts to display per page for the given 'per_page'
+	 * @param int $posts_per_page Number of posts to display per page for the given post
 	 *                            type. Default 20.
 	 */
-	$posts_per_page = apply_filters( $per_page, $posts_per_page );
+	$posts_per_page = apply_filters( "edit_{$post_type}_per_page", $posts_per_page );
 
 	/**
 	 * Filter the number of posts displayed per page when specifically listing "posts".
 	 *
 	 * @since 2.8.0
 	 *
-	 * @param int    $per_page  Number of posts to be displayed. Default 20.
-	 * @param string $post_type The post type.
+	 * @param int    $posts_per_page Number of posts to be displayed. Default 20.
+	 * @param string $post_type      The post type.
 	 */
 	$posts_per_page = apply_filters( 'edit_posts_per_page', $posts_per_page, $post_type );
 
@@ -1035,6 +1032,8 @@ function wp_edit_attachments_query( $q = false ) {
 		$states .= ',private';
 
 	$q['post_status'] = isset( $q['status'] ) && 'trash' == $q['status'] ? 'trash' : $states;
+	$q['post_status'] = isset( $q['attachment-filter'] ) && 'trash' == $q['attachment-filter'] ? 'trash' : $states;
+
 	$media_per_page = (int) get_user_option( 'upload_per_page' );
 	if ( empty( $media_per_page ) || $media_per_page < 1 )
 		$media_per_page = 20;
@@ -1054,8 +1053,16 @@ function wp_edit_attachments_query( $q = false ) {
 	if ( isset($q['post_mime_type']) && !array_intersect( (array) $q['post_mime_type'], array_keys($post_mime_types) ) )
 		unset($q['post_mime_type']);
 
-	if ( isset($q['detached']) )
+	foreach( array_keys( $post_mime_types ) as $type ) {
+		if ( isset( $q['attachment-filter'] ) && "post_mime_type:$type" == $q['attachment-filter'] ) {
+			$q['post_mime_type'] = $type;
+			break;
+		}
+	}
+
+	if ( isset( $q['detached'] ) || ( isset( $q['attachment-filter'] ) && 'detached' == $q['attachment-filter'] ) ) {
 		$q['post_parent'] = 0;
+	}
 
 	wp( $q );
 
@@ -1192,56 +1199,51 @@ function get_sample_permalink_html( $id, $new_title = null, $new_slug = null ) {
 		$title = __('Temporary permalink. Click to edit this part.');
 	}
 
-	if ( false === strpos($permalink, '%postname%') && false === strpos($permalink, '%pagename%') ) {
+	if ( false === strpos( $permalink, '%postname%' ) && false === strpos( $permalink, '%pagename%' ) ) {
 		$return = '<strong>' . __('Permalink:') . "</strong>\n" . '<span id="sample-permalink" tabindex="-1">' . $permalink . "</span>\n";
-		if ( '' == get_option( 'permalink_structure' ) && current_user_can( 'manage_options' ) && !( 'page' == get_option('show_on_front') && $id == get_option('page_on_front') ) )
+		if ( '' == get_option( 'permalink_structure' ) && current_user_can( 'manage_options' ) && !( 'page' == get_option('show_on_front') && $id == get_option('page_on_front') ) ) {
 			$return .= '<span id="change-permalinks"><a href="options-permalink.php" class="button button-small" target="_blank">' . __('Change Permalinks') . "</a></span>\n";
-		if ( isset( $view_post ) )
-			$return .= "<span id='view-post-btn'><a href='$permalink' class='button button-small'>$view_post</a></span>\n";
-
-		/**
-		 * Filter the sample permalink HTML markup.
-		 *
-		 * @since 2.9.0
-		 *
-		 * @param string      $return    Sample permalink HTML markup.
-		 * @param int|WP_Post $id        Post object or ID.
-		 * @param string      $new_title New sample permalink title.
-		 * @param string      $new_slug  New sample permalink slug.
-		 */
-		$return = apply_filters( 'get_sample_permalink_html', $return, $id, $new_title, $new_slug );
-
-		return $return;
-	}
-
-	if ( function_exists('mb_strlen') ) {
-		if ( mb_strlen($post_name) > 30 ) {
-			$post_name_abridged = mb_substr($post_name, 0, 14). '&hellip;' . mb_substr($post_name, -14);
-		} else {
-			$post_name_abridged = $post_name;
 		}
 	} else {
-		if ( strlen($post_name) > 30 ) {
-			$post_name_abridged = substr($post_name, 0, 14). '&hellip;' . substr($post_name, -14);
+		if ( function_exists( 'mb_strlen' ) && mb_strlen( $post_name ) > 30 ) {
+			$post_name_abridged = mb_substr( $post_name, 0, 14 ) . '&hellip;' . mb_substr( $post_name, -14 );
+		} elseif ( strlen( $post_name ) > 30 ) {
+			$post_name_abridged = substr( $post_name, 0, 14 ) . '&hellip;' . substr( $post_name, -14 );
 		} else {
 			$post_name_abridged = $post_name;
 		}
-	}
 
-	$post_name_html = '<span id="editable-post-name" title="' . $title . '">' . $post_name_abridged . '</span>';
-	$display_link = str_replace(array('%pagename%','%postname%'), $post_name_html, $permalink);
-	$view_link = str_replace(array('%pagename%','%postname%'), $post_name, $permalink);
-	$return =  '<strong>' . __('Permalink:') . "</strong>\n";
-	$return .= '<span id="sample-permalink" tabindex="-1">' . $display_link . "</span>\n";
-	$return .= '&lrm;'; // Fix bi-directional text display defect in RTL languages.
-	$return .= '<span id="edit-slug-buttons"><a href="#post_name" class="edit-slug button button-small hide-if-no-js" onclick="editPermalink(' . $id . '); return false;">' . __('Edit') . "</a></span>\n";
-	$return .= '<span id="editable-post-name-full">' . $post_name . "</span>\n";
+		$post_name_html = '<span id="editable-post-name" title="' . $title . '">' . $post_name_abridged . '</span>';
+		$display_link = str_replace( array( '%pagename%', '%postname%' ), $post_name_html, $permalink );
+
+		$return =  '<strong>' . __( 'Permalink:' ) . "</strong>\n";
+		$return .= '<span id="sample-permalink" tabindex="-1">' . $display_link . "</span>\n";
+		$return .= '&lrm;'; // Fix bi-directional text display defect in RTL languages.
+		$return .= '<span id="edit-slug-buttons"><a href="#post_name" class="edit-slug button button-small hide-if-no-js" onclick="editPermalink(' . $id . '); return false;">' . __( 'Edit' ) . "</a></span>\n";
+		$return .= '<span id="editable-post-name-full">' . $post_name . "</span>\n";
+	}
 
 	if ( isset( $view_post ) ) {
-		$return .= "<span id='view-post-btn'><a href='" . get_permalink( $post ) . "' class='button button-small'>$view_post</a></span>\n";
+		if( 'draft' == $post->post_status ) {
+			$preview_link = set_url_scheme( get_permalink( $post->ID ) );
+			/** This filter is documented in wp-admin/includes/meta-boxes.php */
+			$preview_link = apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ), $post );
+			$return .= "<span id='view-post-btn'><a href='" . esc_url( $preview_link ) . "' class='button button-small' target='wp-preview-{$post->ID}'>$view_post</a></span>\n";
+		} else {
+			$return .= "<span id='view-post-btn'><a href='" . get_permalink( $post ) . "' class='button button-small'>$view_post</a></span>\n";
+		}
 	}
 
-	/** This filter is documented in wp-admin/includes/post.php */
+	/**
+	 * Filter the sample permalink HTML markup.
+	 *
+	 * @since 2.9.0
+	 *
+	 * @param string      $return    Sample permalink HTML markup.
+	 * @param int|WP_Post $id        Post object or ID.
+	 * @param string      $new_title New sample permalink title.
+	 * @param string      $new_slug  New sample permalink slug.
+	 */
 	$return = apply_filters( 'get_sample_permalink_html', $return, $id, $new_title, $new_slug );
 
 	return $return;
@@ -1409,7 +1411,7 @@ function _admin_notice_post_locked() {
 		}
 
 		/** This filter is documented in wp-admin/includes/meta-boxes.php */
-		$preview_link = apply_filters( 'preview_post_link', $preview_link );
+		$preview_link = apply_filters( 'preview_post_link', $preview_link, $post );
 
 		/**
 		 * Filter whether to allow the post lock to be overridden.
@@ -1469,7 +1471,7 @@ function _admin_notice_post_locked() {
 		<div class="post-taken-over">
 			<div class="post-locked-avatar"></div>
 			<p class="wp-tab-first" tabindex="0">
-			<span class="currently-editing"></span><br>
+			<span class="currently-editing"></span><br />
 			<span class="locked-saving hidden"><img src="images/wpspin_light-2x.gif" width="16" height="16" /> <?php _e('Saving revision...'); ?></span>
 			<span class="locked-saved hidden"><?php _e('Your latest changes were saved as a revision.'); ?></span>
 			</p>
@@ -1611,7 +1613,7 @@ function post_preview() {
 	$url = add_query_arg( $query_args, get_permalink( $post->ID ) );
 
 	/** This filter is documented in wp-admin/includes/meta-boxes.php */
-	return apply_filters( 'preview_post_link', $url );
+	return apply_filters( 'preview_post_link', $url, $post );
 }
 
 /**
@@ -1619,7 +1621,7 @@ function post_preview() {
  *
  * Intended for use with heartbeat and autosave.js
  *
- * @since 3.9
+ * @since 3.9.0
  *
  * @param $post_data Associative array of the submitted post data.
  * @return mixed The value 0 or WP_Error on failure. The saved post ID on success.
diff --git a/wp-admin/includes/revision.php b/wp-admin/includes/revision.php
index 737c3b163..151cd6445 100644
--- a/wp-admin/includes/revision.php
+++ b/wp-admin/includes/revision.php
@@ -108,7 +108,7 @@ function wp_get_revision_ui_diff( $post, $compare_from, $compare_to ) {
  */
 function wp_prepare_revisions_for_js( $post, $selected_revision_id, $from = null ) {
 	$post = get_post( $post );
-	$revisions = $authors = array();
+	$authors = array();
 	$now_gmt = time();
 
 	$revisions = wp_get_post_revisions( $post->ID, array( 'order' => 'ASC', 'check_enabled' => false ) );
@@ -126,6 +126,7 @@ function wp_prepare_revisions_for_js( $post, $selected_revision_id, $from = null
 	cache_users( wp_list_pluck( $revisions, 'post_author' ) );
 
 	$can_restore = current_user_can( 'edit_post', $post->ID );
+	$current_id = false;
 
 	foreach ( $revisions as $revision ) {
 		$modified = strtotime( $revision->post_modified );
@@ -176,8 +177,11 @@ function wp_prepare_revisions_for_js( $post, $selected_revision_id, $from = null
 		);
 	}
 
-	// If a post has been saved since the last revision (no revisioned fields were changed)
-	// we may not have a "current" revision. Mark the latest revision as "current".
+	/*
+	 * If a post has been saved since the last revision (no revisioned fields
+	 * were changed), we may not have a "current" revision. Mark the latest
+	 * revision as "current".
+	 */
 	if ( empty( $current_id ) ) {
 		if ( $revisions[ $revision->ID ]['autosave'] ) {
 			$revision = end( $revisions );
@@ -191,7 +195,7 @@ function wp_prepare_revisions_for_js( $post, $selected_revision_id, $from = null
 		$revisions[ $current_id ]['current'] = true;
 	}
 
-	// Now, grab the initial diff
+	// Now, grab the initial diff.
 	$compare_two_mode = is_numeric( $from );
 	if ( ! $compare_two_mode ) {
 		$found = array_search( $selected_revision_id, array_keys( $revisions ) );
diff --git a/wp-admin/includes/schema.php b/wp-admin/includes/schema.php
index 0c7a53c90..1fc432f51 100644
--- a/wp-admin/includes/schema.php
+++ b/wp-admin/includes/schema.php
@@ -101,7 +101,8 @@ CREATE TABLE $wpdb->comments (
   KEY comment_post_ID (comment_post_ID),
   KEY comment_approved_date_gmt (comment_approved,comment_date_gmt),
   KEY comment_date_gmt (comment_date_gmt),
-  KEY comment_parent (comment_parent)
+  KEY comment_parent (comment_parent),
+  KEY comment_author_email (comment_author_email(10))
 ) $charset_collate;
 CREATE TABLE $wpdb->links (
   link_id bigint(20) unsigned NOT NULL auto_increment,
@@ -204,7 +205,7 @@ CREATE TABLE $wpdb->posts (
   KEY user_nicename (user_nicename)
 ) $charset_collate;\n";
 
-	// usermeta
+	// Usermeta.
 	$usermeta_table = "CREATE TABLE $wpdb->usermeta (
   umeta_id bigint(20) unsigned NOT NULL auto_increment,
   user_id bigint(20) unsigned NOT NULL default '0',
@@ -302,8 +303,8 @@ CREATE TABLE $wpdb->signups (
 		case 'ms_global' :
 			$queries = $ms_global_tables;
 			break;
-		default:
 		case 'all' :
+		default:
 			$queries = $global_tables . $blog_tables;
 			if ( $is_multisite )
 				$queries .= $ms_global_tables;
@@ -364,6 +365,7 @@ function populate_options() {
 
 	$options = array(
 	'siteurl' => $guessurl,
+	'home' => $guessurl,
 	'blogname' => __('My Site'),
 	/* translators: blog tagline */
 	'blogdescription' => __('Just another WordPress site'),
@@ -400,7 +402,6 @@ function populate_options() {
 	'blog_charset' => 'UTF-8',
 	'moderation_keys' => '',
 	'active_plugins' => array(),
-	'home' => $guessurl,
 	'category_base' => '',
 	'ping_sites' => 'http://rpc.pingomatic.com/',
 	'advanced_edit' => 0,
@@ -521,10 +522,10 @@ function populate_options() {
 	if ( !empty($insert) )
 		$wpdb->query("INSERT INTO $wpdb->options (option_name, option_value, autoload) VALUES " . $insert);
 
-	// in case it is set, but blank, update "home"
+	// In case it is set, but blank, update "home".
 	if ( !__get_option('home') ) update_option('home', $guessurl);
 
-	// Delete unused options
+	// Delete unused options.
 	$unusedoptions = array(
 		'blodotgsping_url', 'bodyterminator', 'emailtestonly', 'phoneemail_separator', 'smilies_directory',
 		'subjectprefix', 'use_bbcode', 'use_blodotgsping', 'use_phoneemail', 'use_quicktags', 'use_weblogsping',
@@ -546,26 +547,30 @@ function populate_options() {
 	foreach ( $unusedoptions as $option )
 		delete_option($option);
 
-	// delete obsolete magpie stuff
+	// Delete obsolete magpie stuff.
 	$wpdb->query("DELETE FROM $wpdb->options WHERE option_name REGEXP '^rss_[0-9a-f]{32}(_ts)?$'");
 
-	// Deletes all expired transients.
-	// The multi-table delete syntax is used to delete the transient record from table a,
-	// and the corresponding transient_timeout record from table b.
+	/*
+	 * Deletes all expired transients. The multi-table delete syntax is used
+	 * to delete the transient record from table a, and the corresponding
+	 * transient_timeout record from table b.
+	 */
 	$time = time();
-	$wpdb->query("DELETE a, b FROM $wpdb->options a, $wpdb->options b WHERE
-	        a.option_name LIKE '\_transient\_%' AND
-	        a.option_name NOT LIKE '\_transient\_timeout\_%' AND
-	        b.option_name = CONCAT( '_transient_timeout_', SUBSTRING( a.option_name, 12 ) )
-	        AND b.option_value < $time");
+	$sql = "DELETE a, b FROM $wpdb->options a, $wpdb->options b
+		WHERE a.option_name LIKE %s
+		AND a.option_name NOT LIKE %s
+		AND b.option_name = CONCAT( '_transient_timeout_', SUBSTRING( a.option_name, 12 ) )
+		AND b.option_value < %d";
+	$wpdb->query( $wpdb->prepare( $sql, $wpdb->esc_like( '_transient_' ) . '%', $wpdb->esc_like( '_transient_timeout_' ) . '%', $time ) );
 
 	if ( is_main_site() && is_main_network() ) {
-		$wpdb->query("DELETE a, b FROM $wpdb->options a, $wpdb->options b WHERE
-			a.option_name LIKE '\_site\_transient\_%' AND
-			a.option_name NOT LIKE '\_site\_transient\_timeout\_%' AND
-			b.option_name = CONCAT( '_site_transient_timeout_', SUBSTRING( a.option_name, 17 ) )
-			AND b.option_value < $time");
-    }
+		$sql = "DELETE a, b FROM $wpdb->options a, $wpdb->options b
+			WHERE a.option_name LIKE %s
+			AND a.option_name NOT LIKE %s
+			AND b.option_name = CONCAT( '_site_transient_timeout_', SUBSTRING( a.option_name, 17 ) )
+			AND b.option_value < %d";
+		$wpdb->query( $wpdb->prepare( $sql, $wpdb->esc_like( '_site_transient_' ) . '%', $wpdb->esc_like( '_site_transient_timeout_' ) . '%', $time ) );
+	}
 }
 
 /**
@@ -816,8 +821,10 @@ function populate_roles_300() {
 		$role->add_cap( 'list_users' );
 		$role->add_cap( 'remove_users' );
 
-		// Never used, will be removed. create_users or
-		// promote_users is the capability you're looking for.
+		/*
+		 * Never used, will be removed. create_users or promote_users
+		 * is the capability you're looking for.
+		 */
 		$role->add_cap( 'add_users' );
 
 		$role->add_cap( 'promote_users' );
@@ -860,7 +867,7 @@ function populate_network( $network_id = 1, $domain = '', $email = '', $site_nam
 	if ( '' == $site_name )
 		$errors->add( 'empty_sitename', __( 'You must provide a name for your network of sites.' ) );
 
-	// check for network collision
+	// Check for network collision.
 	if ( $network_id == $wpdb->get_var( $wpdb->prepare( "SELECT id FROM $wpdb->site WHERE id = %d", $network_id ) ) )
 		$errors->add( 'siteid_exists', __( 'The network already exists.' ) );
 
@@ -871,7 +878,7 @@ function populate_network( $network_id = 1, $domain = '', $email = '', $site_nam
 	if ( $errors->get_error_code() )
 		return $errors;
 
-	// set up site tables
+	// Set up site tables.
 	$template = get_option( 'template' );
 	$stylesheet = get_option( 'stylesheet' );
 	$allowed_themes = array( $stylesheet => true );
@@ -916,12 +923,26 @@ We hope you enjoy your new site. Thanks!
 
 --The Team @ SITE_NAME' );
 
+	$misc_exts = array(
+		// Images.
+		'jpg', 'jpeg', 'png', 'gif',
+		// Video.
+		'mov', 'avi', 'mpg', '3gp', '3g2',
+		// "audio".
+		'midi', 'mid',
+		// Miscellaneous.
+		'pdf', 'doc', 'ppt', 'odt', 'pptx', 'docx', 'pps', 'ppsx', 'xls', 'xlsx', 'key',
+	);
+	$audio_exts = wp_get_audio_extensions();
+	$video_exts = wp_get_video_extensions();
+	$upload_filetypes = array_unique( array_merge( $misc_exts, $audio_exts, $video_exts ) );
+
 	$sitemeta = array(
 		'site_name' => $site_name,
 		'admin_email' => $site_user->user_email,
 		'admin_user_id' => $site_user->ID,
 		'registration' => 'none',
-		'upload_filetypes' => 'jpg jpeg png gif mp3 mov avi wmv midi mid pdf',
+		'upload_filetypes' => implode( ' ', $upload_filetypes ),
 		'blog_upload_space' => 100,
 		'fileupload_maxk' => 1500,
 		'site_admins' => $site_admins,
@@ -964,9 +985,13 @@ We hope you enjoy your new site. Thanks!
 	}
 	$wpdb->query( "INSERT INTO $wpdb->sitemeta ( site_id, meta_key, meta_value ) VALUES " . $insert );
 
-	// When upgrading from single to multisite, assume the current site will become the main site of the network.
-	// When using populate_network() to create another network in an existing multisite environment,
-	// skip these steps since the main site of the new network has not yet been created.
+	/*
+	 * When upgrading from single to multisite, assume the current site will
+	 * become the main site of the network. When using populate_network()
+	 * to create another network in an existing multisite environment, skip
+	 * these steps since the main site of the new network has not yet been
+	 * created.
+	 */
 	if ( ! is_multisite() ) {
 		$current_site = new stdClass;
 		$current_site->domain = $domain;
diff --git a/wp-admin/includes/screen.php b/wp-admin/includes/screen.php
index 7d4ec8815..35f42671c 100644
--- a/wp-admin/includes/screen.php
+++ b/wp-admin/includes/screen.php
@@ -34,7 +34,7 @@ function get_column_headers( $screen ) {
 		 *
 		 * @param array $columns An array of column headers. Default empty.
 		 */
-		$column_headers[ $screen->id ] = apply_filters( 'manage_' . $screen->id . '_columns', array() );
+		$column_headers[ $screen->id ] = apply_filters( "manage_{$screen->id}_columns", array() );
 	}
 
 	return $column_headers[ $screen->id ];
@@ -530,7 +530,7 @@ final class WP_Screen {
 	 * @see set_current_screen()
 	 * @since 3.3.0
 	 */
-	function set_current_screen() {
+	public function set_current_screen() {
 		global $current_screen, $taxnow, $typenow;
 		$current_screen = $this;
 		$taxnow = $this->taxonomy;
@@ -581,7 +581,7 @@ final class WP_Screen {
 	 * @param WP_Screen $screen A screen object.
 	 * @param string $help Help text.
 	 */
-	static function add_old_compat_help( $screen, $help ) {
+	public static function add_old_compat_help( $screen, $help ) {
 		self::$_old_compat_help[ $screen->id ] = $help;
 	}
 
@@ -593,7 +593,7 @@ final class WP_Screen {
 	 *
 	 * @param string $parent_file The parent file of the screen. Typically the $parent_file global.
 	 */
-	function set_parentage( $parent_file ) {
+	public function set_parentage( $parent_file ) {
 		$this->parent_file = $parent_file;
 		list( $this->parent_base ) = explode( '?', $parent_file );
 		$this->parent_base = str_replace( '.php', '', $this->parent_base );
@@ -967,10 +967,16 @@ final class WP_Screen {
 
 		$show_screen = ! empty( $wp_meta_boxes[ $this->id ] ) || $columns || $this->get_option( 'per_page' );
 
-		switch ( $this->id ) {
+		switch ( $this->base ) {
 			case 'widgets':
 				$this->_screen_settings = '<p><a id="access-on" href="widgets.php?widgets-access=on">' . __('Enable accessibility mode') . '</a><a id="access-off" href="widgets.php?widgets-access=off">' . __('Disable accessibility mode') . "</a></p>\n";
 				break;
+			case 'post' :
+				$expand = '<div class="editor-expand hidden"><label for="editor-expand-toggle">';
+				$expand .= '<input type="checkbox" id="editor-expand-toggle"' . checked( get_user_setting( 'editor_expand', 'on' ), 'on', false ) . ' />';
+				$expand .= __( 'Expand the editor to match the window height.' ) . '</label></div>';
+				$this->_screen_settings = $expand;
+				break;
 			default:
 				$this->_screen_settings = '';
 				break;
@@ -1011,11 +1017,10 @@ final class WP_Screen {
 	 * @since 3.3.0
 	 */
 	public function render_screen_options() {
-		global $wp_meta_boxes, $wp_list_table;
+		global $wp_meta_boxes;
 
 		$columns = get_column_headers( $this );
 		$hidden  = get_hidden_columns( $this );
-		$post    = get_post();
 
 		?>
 		<div id="screen-options-wrap" class="hidden" tabindex="-1" aria-label="<?php esc_attr_e('Screen Options Tab'); ?>">
@@ -1090,7 +1095,7 @@ final class WP_Screen {
 	 *
 	 * @since 3.3.0
 	 */
-	function render_screen_layout() {
+	public function render_screen_layout() {
 		if ( ! $this->get_option('layout_columns') )
 			return;
 
@@ -1119,7 +1124,7 @@ final class WP_Screen {
 	 *
 	 * @since 3.3.0
 	 */
-	function render_per_page_options() {
+	public function render_per_page_options() {
 		if ( ! $this->get_option( 'per_page' ) )
 			return;
 
diff --git a/wp-admin/includes/taxonomy.php b/wp-admin/includes/taxonomy.php
index 2953765ef..14618f888 100644
--- a/wp-admin/includes/taxonomy.php
+++ b/wp-admin/includes/taxonomy.php
@@ -56,15 +56,15 @@ function wp_create_category( $cat_name, $parent = 0 ) {
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Create categories for the given post.
  *
  * @since 2.0.0
  *
- * @param unknown_type $categories
- * @param unknown_type $post_id
- * @return unknown
+ * @param array $categories List of categories to create.
+ * @param int   $post_id    Optional. The post ID. Default empty.
+ * @return List of categories to create for the given post.
  */
-function wp_create_categories($categories, $post_id = '') {
+function wp_create_categories( $categories, $post_id = '' ) {
 	$cat_ids = array ();
 	foreach ($categories as $category) {
 		if ($id = category_exists($category))
@@ -84,58 +84,71 @@ function wp_create_categories($categories, $post_id = '') {
  * Updates an existing Category or creates a new Category.
  *
  * @since 2.0.0
+ * @since 2.5.0 $wp_error parameter was added.
+ * @since 3.0.0 The 'taxonomy' argument was added.
+ *
+ * @param array $catarr {
+ *     Array of arguments for inserting a new category.
  *
- * @param mixed $catarr See defaults below. Set 'cat_ID' to a non-zero value to update an existing category. The 'taxonomy' key was added in 3.0.0.
- * @param bool $wp_error Optional, since 2.5.0. Set this to true if the caller handles WP_Error return values.
- * @return int|object The ID number of the new or updated Category on success. Zero or a WP_Error on failure, depending on param $wp_error.
+ *     @type int        $cat_ID               Categoriy ID. A non-zero value updates an existing category.
+ *                                            Default 0.
+ *     @type string     $taxonomy             Taxonomy slug. Defualt 'category'.
+ *     @type string     $cat_nam              Category name. Default empty.
+ *     @type string     $category_description Category description. Default empty.
+ *     @type string     $category_nicename    Category nice (display) name. Default empty.
+ *     @type int|string $category_parent      Category parent ID. Default empty.
+ * }
+ * @param bool  $wp_error Optional. Default false.
+ * @return int|object The ID number of the new or updated Category on success. Zero or a WP_Error on failure,
+ *                    depending on param $wp_error.
  */
-function wp_insert_category($catarr, $wp_error = false) {
-	$cat_defaults = array('cat_ID' => 0, 'taxonomy' => 'category', 'cat_name' => '', 'category_description' => '', 'category_nicename' => '', 'category_parent' => '');
-	$catarr = wp_parse_args($catarr, $cat_defaults);
-	extract($catarr, EXTR_SKIP);
+function wp_insert_category( $catarr, $wp_error = false ) {
+	$cat_defaults = array( 'cat_ID' => 0, 'taxonomy' => 'category', 'cat_name' => '', 'category_description' => '', 'category_nicename' => '', 'category_parent' => '' );
+	$catarr = wp_parse_args( $catarr, $cat_defaults );
 
-	if ( trim( $cat_name ) == '' ) {
-		if ( ! $wp_error )
+	if ( trim( $catarr['cat_name'] ) == '' ) {
+		if ( ! $wp_error ) {
 			return 0;
-		else
-			return new WP_Error( 'cat_name', __('You did not enter a category name.') );
+		} else {
+			return new WP_Error( 'cat_name', __( 'You did not enter a category name.' ) );
+		}
 	}
 
-	$cat_ID = (int) $cat_ID;
+	$catarr['cat_ID'] = (int) $catarr['cat_ID'];
 
 	// Are we updating or creating?
-	if ( !empty ($cat_ID) )
-		$update = true;
-	else
-		$update = false;
-
-	$name = $cat_name;
-	$description = $category_description;
-	$slug = $category_nicename;
-	$parent = $category_parent;
-
-	$parent = (int) $parent;
-	if ( $parent < 0 )
+	$update = ! empty ( $catarr['cat_ID'] );
+
+	$name = $catarr['cat_name'];
+	$description = $catarr['category_description'];
+	$slug = $catarr['category_nicename'];
+	$parent = (int) $catarr['category_parent'];
+	if ( $parent < 0 ) {
 		$parent = 0;
+	}
 
-	if ( empty( $parent ) || ! term_exists( $parent, $taxonomy ) || ( $cat_ID && term_is_ancestor_of( $cat_ID, $parent, $taxonomy ) ) )
+	if ( empty( $parent )
+		|| ! term_exists( $parent, $catarr['taxonomy'] )
+		|| ( $catarr['cat_ID'] && term_is_ancestor_of( $catarr['cat_ID'], $parent, $catarr['taxonomy'] ) ) ) {
 		$parent = 0;
+	}
 
 	$args = compact('name', 'slug', 'parent', 'description');
 
-	if ( $update )
-		$cat_ID = wp_update_term($cat_ID, $taxonomy, $args);
-	else
-		$cat_ID = wp_insert_term($cat_name, $taxonomy, $args);
+	if ( $update ) {
+		$catarr['cat_ID'] = wp_update_term( $catarr['cat_ID'], $catarr['taxonomy'], $args );
+	} else {
+		$catarr['cat_ID'] = wp_insert_term( $catarr['cat_name'], $catarr['taxonomy'], $args );
+	}
 
-	if ( is_wp_error($cat_ID) ) {
-		if ( $wp_error )
-			return $cat_ID;
-		else
+	if ( is_wp_error( $catarr['cat_ID'] ) ) {
+		if ( $wp_error ) {
+			return $catarr['cat_ID'];
+		} else {
 			return 0;
+		}
 	}
-
-	return $cat_ID['term_id'];
+	return $catarr['cat_ID']['term_id'];
 }
 
 /**
@@ -221,18 +234,24 @@ function get_terms_to_edit( $post_id, $taxonomy = 'post_tag' ) {
 	if ( !$post_id )
 		return false;
 
-	$tags = wp_get_post_terms($post_id, $taxonomy, array());
+	$terms = get_object_term_cache( $post_id, $taxonomy );
+	if ( false === $terms ) {
+		$terms = wp_get_object_terms( $post_id, $taxonomy );
+		wp_cache_add( $post_id, $terms, $taxonomy . '_relationships' );
+	}
 
-	if ( !$tags )
+	if ( ! $terms ) {
 		return false;
+	}
+	if ( is_wp_error( $terms ) ) {
+		return $terms;
+	}
+	$term_names = array();
+	foreach ( $terms as $term ) {
+		$term_names[] = $term->name;
+	}
 
-	if ( is_wp_error($tags) )
-		return $tags;
-
-	foreach ( $tags as $tag )
-		$tag_names[] = $tag->name;
-	$tags_to_edit = join( ',', $tag_names );
-	$tags_to_edit = esc_attr( $tags_to_edit );
+	$terms_to_edit = esc_attr( join( ',', $term_names ) );
 
 	/**
 	 * Filter the comma-separated list of terms available to edit.
@@ -241,12 +260,12 @@ function get_terms_to_edit( $post_id, $taxonomy = 'post_tag' ) {
 	 *
 	 * @see get_terms_to_edit()
 	 *
-	 * @param array  $tags_to_edit An array of terms.
+	 * @param array  $terms_to_edit An array of terms.
 	 * @param string $taxonomy     The taxonomy for which to retrieve terms. Default 'post_tag'.
 	 */
-	$tags_to_edit = apply_filters( 'terms_to_edit', $tags_to_edit, $taxonomy );
+	$terms_to_edit = apply_filters( 'terms_to_edit', $terms_to_edit, $taxonomy );
 
-	return $tags_to_edit;
+	return $terms_to_edit;
 }
 
 /**
diff --git a/wp-admin/includes/template.php b/wp-admin/includes/template.php
index fb5814483..30dcf0fc0 100644
--- a/wp-admin/includes/template.php
+++ b/wp-admin/includes/template.php
@@ -21,8 +21,8 @@
  * @since 2.5.1
  */
 class Walker_Category_Checklist extends Walker {
-	var $tree_type = 'category';
-	var $db_fields = array ('parent' => 'parent', 'id' => 'term_id'); //TODO: decouple this
+	public $tree_type = 'category';
+	public $db_fields = array ('parent' => 'parent', 'id' => 'term_id'); //TODO: decouple this
 
 	/**
 	 * Starts the list before the elements are added.
@@ -35,7 +35,7 @@ class Walker_Category_Checklist extends Walker {
 	 * @param int    $depth  Depth of category. Used for tab indentation.
 	 * @param array  $args   An array of arguments. @see wp_terms_checklist()
 	 */
-	function start_lvl( &$output, $depth = 0, $args = array() ) {
+	public function start_lvl( &$output, $depth = 0, $args = array() ) {
 		$indent = str_repeat("\t", $depth);
 		$output .= "$indent<ul class='children'>\n";
 	}
@@ -51,7 +51,7 @@ class Walker_Category_Checklist extends Walker {
 	 * @param int    $depth  Depth of category. Used for tab indentation.
 	 * @param array  $args   An array of arguments. @see wp_terms_checklist()
 	 */
-	function end_lvl( &$output, $depth = 0, $args = array() ) {
+	public function end_lvl( &$output, $depth = 0, $args = array() ) {
 		$indent = str_repeat("\t", $depth);
 		$output .= "$indent</ul>\n";
 	}
@@ -69,20 +69,29 @@ class Walker_Category_Checklist extends Walker {
 	 * @param array  $args     An array of arguments. @see wp_terms_checklist()
 	 * @param int    $id       ID of the current term.
 	 */
-	function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) {
-		extract($args);
-		if ( empty($taxonomy) )
+	public function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) {
+		if ( empty( $args['taxonomy'] ) ) {
 			$taxonomy = 'category';
+		} else {
+			$taxonomy = $args['taxonomy'];
+		}
 
-		if ( $taxonomy == 'category' )
+		if ( $taxonomy == 'category' ) {
 			$name = 'post_category';
-		else
-			$name = 'tax_input['.$taxonomy.']';
+		} else {
+			$name = 'tax_input[' . $taxonomy . ']';
+		}
+		$args['popular_cats'] = empty( $args['popular_cats'] ) ? array() : $args['popular_cats'];
+		$class = in_array( $category->term_id, $args['popular_cats'] ) ? ' class="popular-category"' : '';
 
-		$class = in_array( $category->term_id, $popular_cats ) ? ' class="popular-category"' : '';
+		$args['selected_cats'] = empty( $args['selected_cats'] ) ? array() : $args['selected_cats'];
 
 		/** This filter is documented in wp-includes/category-template.php */
-		$output .= "\n<li id='{$taxonomy}-{$category->term_id}'$class>" . '<label class="selectit"><input value="' . $category->term_id . '" type="checkbox" name="'.$name.'[]" id="in-'.$taxonomy.'-' . $category->term_id . '"' . checked( in_array( $category->term_id, $selected_cats ), true, false ) . disabled( empty( $args['disabled'] ), false, false ) . ' /> ' . esc_html( apply_filters( 'the_category', $category->name ) ) . '</label>';
+		$output .= "\n<li id='{$taxonomy}-{$category->term_id}'$class>" .
+			'<label class="selectit"><input value="' . $category->term_id . '" type="checkbox" name="'.$name.'[]" id="in-'.$taxonomy.'-' . $category->term_id . '"' .
+			checked( in_array( $category->term_id, $args['selected_cats'] ), true, false ) .
+			disabled( empty( $args['disabled'] ), false, false ) . ' /> ' .
+			esc_html( apply_filters( 'the_category', $category->name ) ) . '</label>';
 	}
 
 	/**
@@ -97,7 +106,7 @@ class Walker_Category_Checklist extends Walker {
 	 * @param int    $depth    Depth of the term in reference to parents. Default 0.
 	 * @param array  $args     An array of arguments. @see wp_terms_checklist()
 	 */
-	function end_el( &$output, $category, $depth = 0, $args = array() ) {
+	public function end_el( &$output, $category, $depth = 0, $args = array() ) {
 		$output .= "</li>\n";
 	}
 }
@@ -136,7 +145,7 @@ function wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $select
  * @param int $post_id
  * @param array $args
  */
-function wp_terms_checklist($post_id = 0, $args = array()) {
+function wp_terms_checklist( $post_id = 0, $args = array() ) {
  	$defaults = array(
 		'descendants_and_self' => 0,
 		'selected_cats' => false,
@@ -156,41 +165,55 @@ function wp_terms_checklist($post_id = 0, $args = array()) {
 	 * @param array $args    An array of arguments.
 	 * @param int   $post_id The post ID.
 	 */
-	$args = apply_filters( 'wp_terms_checklist_args', $args, $post_id );
+	$params = apply_filters( 'wp_terms_checklist_args', $args, $post_id );
 
-	extract( wp_parse_args($args, $defaults), EXTR_SKIP );
+	$r = wp_parse_args( $params, $defaults );
 
-	if ( empty($walker) || !is_a($walker, 'Walker') )
+	if ( empty( $r['walker'] ) || ! is_a( $r['walker'], 'Walker' ) ) {
 		$walker = new Walker_Category_Checklist;
+	} else {
+		$walker = $r['walker'];
+	}
 
-	$descendants_and_self = (int) $descendants_and_self;
+	$taxonomy = $r['taxonomy'];
+	$descendants_and_self = (int) $r['descendants_and_self'];
 
-	$args = array('taxonomy' => $taxonomy);
+	$args = array( 'taxonomy' => $taxonomy );
 
-	$tax = get_taxonomy($taxonomy);
-	$args['disabled'] = !current_user_can($tax->cap->assign_terms);
+	$tax = get_taxonomy( $taxonomy );
+	$args['disabled'] = ! current_user_can( $tax->cap->assign_terms );
 
-	if ( is_array( $selected_cats ) )
-		$args['selected_cats'] = $selected_cats;
-	elseif ( $post_id )
-		$args['selected_cats'] = wp_get_object_terms($post_id, $taxonomy, array_merge($args, array('fields' => 'ids')));
-	else
+	if ( is_array( $r['selected_cats'] ) ) {
+		$args['selected_cats'] = $r['selected_cats'];
+	} elseif ( $post_id ) {
+		$args['selected_cats'] = wp_get_object_terms( $post_id, $taxonomy, array_merge( $args, array( 'fields' => 'ids' ) ) );
+	} else {
 		$args['selected_cats'] = array();
-
-	if ( is_array( $popular_cats ) )
-		$args['popular_cats'] = $popular_cats;
-	else
-		$args['popular_cats'] = get_terms( $taxonomy, array( 'fields' => 'ids', 'orderby' => 'count', 'order' => 'DESC', 'number' => 10, 'hierarchical' => false ) );
-
+	}
+	if ( is_array( $r['popular_cats'] ) ) {
+		$args['popular_cats'] = $r['popular_cats'];
+	} else {
+		$args['popular_cats'] = get_terms( $taxonomy, array(
+			'fields' => 'ids',
+			'orderby' => 'count',
+			'order' => 'DESC',
+			'number' => 10,
+			'hierarchical' => false
+		) );
+	}
 	if ( $descendants_and_self ) {
-		$categories = (array) get_terms($taxonomy, array( 'child_of' => $descendants_and_self, 'hierarchical' => 0, 'hide_empty' => 0 ) );
+		$categories = (array) get_terms( $taxonomy, array(
+			'child_of' => $descendants_and_self,
+			'hierarchical' => 0,
+			'hide_empty' => 0
+		) );
 		$self = get_term( $descendants_and_self, $taxonomy );
 		array_unshift( $categories, $self );
 	} else {
-		$categories = (array) get_terms($taxonomy, array('get' => 'all'));
+		$categories = (array) get_terms( $taxonomy, array( 'get' => 'all' ) );
 	}
 
-	if ( $checked_ontop ) {
+	if ( $r['checked_ontop'] ) {
 		// Post process $categories rather than adding an exclude to the get_terms() query to keep the query the same across all posts (for any query cache)
 		$checked_categories = array();
 		$keys = array_keys( $categories );
@@ -203,10 +226,10 @@ function wp_terms_checklist($post_id = 0, $args = array()) {
 		}
 
 		// Put checked cats on top
-		echo call_user_func_array(array(&$walker, 'walk'), array($checked_categories, 0, $args));
+		echo call_user_func_array( array( $walker, 'walk' ), array( $checked_categories, 0, $args ) );
 	}
 	// Then the rest of them
-	echo call_user_func_array(array(&$walker, 'walk'), array($categories, 0, $args));
+	echo call_user_func_array( array( $walker, 'walk' ), array( $categories, 0, $args ) );
 }
 
 /**
@@ -341,11 +364,21 @@ function get_inline_data($post) {
 		$taxonomy = get_taxonomy( $taxonomy_name );
 
 		if ( $taxonomy->hierarchical && $taxonomy->show_ui ) {
-				echo '<div class="post_category" id="' . $taxonomy_name . '_' . $post->ID . '">'
-					. implode( ',', wp_get_object_terms( $post->ID, $taxonomy_name, array( 'fields' => 'ids' ) ) ) . '</div>';
+
+			$terms = get_object_term_cache( $post->ID, $taxonomy_name );
+			if ( false === $terms ) {
+				$terms = wp_get_object_terms( $post->ID, $taxonomy_name );
+				wp_cache_add( $post->ID, $terms, $taxonomy_name . '_relationships' );
+			}
+			$term_ids = empty( $terms ) ? array() : wp_list_pluck( $terms, 'term_id' );
+
+			echo '<div class="post_category" id="' . $taxonomy_name . '_' . $post->ID . '">' . implode( ',', $term_ids ) . '</div>';
+
 		} elseif ( $taxonomy->show_ui ) {
+
 			echo '<div class="tags_input" id="'.$taxonomy_name.'_'.$post->ID.'">'
 				. esc_html( str_replace( ',', ', ', get_terms_to_edit( $post->ID, $taxonomy_name ) ) ) . '</div>';
+
 		}
 	}
 
@@ -419,7 +452,7 @@ function wp_comment_reply($position = '1', $checkbox = false, $mode = 'single',
 
 		<div class="inside">
 		<label for="author-url"><?php _e('URL') ?></label>
-		<input type="text" id="author-url" name="newcomment_author_url" size="103" value="" />
+		<input type="text" id="author-url" name="newcomment_author_url" class="code" size="103" value="" />
 		</div>
 		<div style="clear:both;"></div>
 	</div>
@@ -550,10 +583,10 @@ function _list_meta_row( $entry, &$count ) {
 
 	if ( is_serialized( $entry['meta_value'] ) ) {
 		if ( is_serialized_string( $entry['meta_value'] ) ) {
-			// this is a serialized string, so we should display it
+			// This is a serialized string, so we should display it.
 			$entry['meta_value'] = maybe_unserialize( $entry['meta_value'] );
 		} else {
-			// this is a serialized array/object so we should NOT display it
+			// This is a serialized array/object so we should NOT display it.
 			--$count;
 			return;
 		}
@@ -599,14 +632,14 @@ function meta_form( $post = null ) {
 	 *
 	 * @param int $limit Number of custom fields to retrieve. Default 30.
 	 */
-	$limit = (int) apply_filters( 'postmeta_form_limit', 30 );
-	$keys = $wpdb->get_col( "
-		SELECT meta_key
+	$limit = apply_filters( 'postmeta_form_limit', 30 );
+	$sql = "SELECT meta_key
 		FROM $wpdb->postmeta
 		GROUP BY meta_key
-		HAVING meta_key NOT LIKE '\_%'
+		HAVING meta_key NOT LIKE %s
 		ORDER BY meta_key
-		LIMIT $limit" );
+		LIMIT %d";
+	$keys = $wpdb->get_col( $wpdb->prepare( $sql, $wpdb->esc_like( '_' ) . '%', $limit ) );
 	if ( $keys ) {
 		natcasesort( $keys );
 		$meta_key_input_id = 'metakeyselect';
@@ -683,6 +716,7 @@ function touch_time( $edit = 1, $for_post = 1, $tab_index = 0, $multi = 0 ) {
 	if ( (int) $tab_index > 0 )
 		$tab_index_attribute = " tabindex=\"$tab_index\"";
 
+	// todo: Remove this?
 	// echo '<label for="timestamp" style="display: block;"><input type="checkbox" class="checkbox" name="edit_date" value="1" id="timestamp"'.$tab_index_attribute.' /> '.__( 'Edit timestamp' ).'</label><br />';
 
 	$time_adj = current_time('timestamp');
@@ -700,7 +734,7 @@ function touch_time( $edit = 1, $for_post = 1, $tab_index = 0, $multi = 0 ) {
 	$cur_hh = gmdate( 'H', $time_adj );
 	$cur_mn = gmdate( 'i', $time_adj );
 
-	$month = "<select " . ( $multi ? '' : 'id="mm" ' ) . "name=\"mm\"$tab_index_attribute>\n";
+	$month = '<label for="mm" class="screen-reader-text">' . __( 'Month' ) . '</label><select ' . ( $multi ? '' : 'id="mm" ' ) . 'name="mm"' . $tab_index_attribute . ">\n";
 	for ( $i = 1; $i < 13; $i = $i +1 ) {
 		$monthnum = zeroise($i, 2);
 		$month .= "\t\t\t" . '<option value="' . $monthnum . '" ' . selected( $monthnum, $mm, false ) . '>';
@@ -709,10 +743,10 @@ function touch_time( $edit = 1, $for_post = 1, $tab_index = 0, $multi = 0 ) {
 	}
 	$month .= '</select>';
 
-	$day = '<input type="text" ' . ( $multi ? '' : 'id="jj" ' ) . 'name="jj" value="' . $jj . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" />';
-	$year = '<input type="text" ' . ( $multi ? '' : 'id="aa" ' ) . 'name="aa" value="' . $aa . '" size="4" maxlength="4"' . $tab_index_attribute . ' autocomplete="off" />';
-	$hour = '<input type="text" ' . ( $multi ? '' : 'id="hh" ' ) . 'name="hh" value="' . $hh . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" />';
-	$minute = '<input type="text" ' . ( $multi ? '' : 'id="mn" ' ) . 'name="mn" value="' . $mn . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" />';
+	$day = '<label for="jj" class="screen-reader-text">' . __( 'Day' ) . '</label><input type="text" ' . ( $multi ? '' : 'id="jj" ' ) . 'name="jj" value="' . $jj . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" />';
+	$year = '<label for="aa" class="screen-reader-text">' . __( 'Year' ) . '</label><input type="text" ' . ( $multi ? '' : 'id="aa" ' ) . 'name="aa" value="' . $aa . '" size="4" maxlength="4"' . $tab_index_attribute . ' autocomplete="off" />';
+	$hour = '<label for="hh" class="screen-reader-text">' . __( 'Hour' ) . '</label><input type="text" ' . ( $multi ? '' : 'id="hh" ' ) . 'name="hh" value="' . $hh . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" />';
+	$minute = '<label for="mn" class="screen-reader-text">' . __( 'Minute' ) . '</label><input type="text" ' . ( $multi ? '' : 'id="mn" ' ) . 'name="mn" value="' . $mn . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" />';
 
 	echo '<div class="timestamp-wrap">';
 	/* translators: 1: month, 2: day, 3: year, 4: hour, 5: minute */
@@ -723,10 +757,19 @@ function touch_time( $edit = 1, $for_post = 1, $tab_index = 0, $multi = 0 ) {
 	if ( $multi ) return;
 
 	echo "\n\n";
-	foreach ( array('mm', 'jj', 'aa', 'hh', 'mn') as $timeunit ) {
-		echo '<input type="hidden" id="hidden_' . $timeunit . '" name="hidden_' . $timeunit . '" value="' . $$timeunit . '" />' . "\n";
+	$map = array(
+		'mm' => array( $mm, $cur_mm ),
+		'jj' => array( $jj, $cur_jj ),
+		'aa' => array( $aa, $cur_aa ),
+		'hh' => array( $hh, $cur_hh ),
+		'mn' => array( $mn, $cur_mn ),
+	);
+	foreach ( $map as $timeunit => $value ) {
+		list( $unit, $curr ) = $value;
+
+		echo '<input type="hidden" id="hidden_' . $timeunit . '" name="hidden_' . $timeunit . '" value="' . $unit . '" />' . "\n";
 		$cur_timeunit = 'cur_' . $timeunit;
-		echo '<input type="hidden" id="' . $cur_timeunit . '" name="' . $cur_timeunit . '" value="' . $$cur_timeunit . '" />' . "\n";
+		echo '<input type="hidden" id="' . $cur_timeunit . '" name="' . $cur_timeunit . '" value="' . $curr . '" />' . "\n";
 	}
 ?>
 
@@ -898,23 +941,30 @@ function add_meta_box( $id, $title, $callback, $screen = null, $context = 'advan
 				// If core box previously deleted, don't add
 				if ( false === $wp_meta_boxes[$page][$a_context][$a_priority][$id] )
 					return;
-				// If box was added with default priority, give it core priority to maintain sort order
+
+				/*
+				 * If box was added with default priority, give it core priority to
+				 * maintain sort order.
+				 */
 				if ( 'default' == $a_priority ) {
 					$wp_meta_boxes[$page][$a_context]['core'][$id] = $wp_meta_boxes[$page][$a_context]['default'][$id];
 					unset($wp_meta_boxes[$page][$a_context]['default'][$id]);
 				}
 				return;
 			}
-			// If no priority given and id already present, use existing priority
+			// If no priority given and id already present, use existing priority.
 			if ( empty($priority) ) {
 				$priority = $a_priority;
-			// else if we're adding to the sorted priority, we don't know the title or callback. Grab them from the previously added context/priority.
+			/*
+			 * Else, if we're adding to the sorted priority, we don't know the title
+			 * or callback. Grab them from the previously added context/priority.
+			 */
 			} elseif ( 'sorted' == $priority ) {
 				$title = $wp_meta_boxes[$page][$a_context][$a_priority][$id]['title'];
 				$callback = $wp_meta_boxes[$page][$a_context][$a_priority][$id]['callback'];
 				$callback_args = $wp_meta_boxes[$page][$a_context][$a_priority][$id]['args'];
 			}
-			// An id can be in only one priority and one context
+			// An id can be in only one priority and one context.
 			if ( $priority != $a_priority || $context != $a_context )
 				unset($wp_meta_boxes[$page][$a_context][$a_priority][$id]);
 		}
@@ -1080,7 +1130,10 @@ function do_accordion_sections( $screen, $context, $object ) {
 					}
 					?>
 					<li class="control-section accordion-section <?php echo $hidden_class; ?> <?php echo $open_class; ?> <?php echo esc_attr( $box['id'] ); ?>" id="<?php echo esc_attr( $box['id'] ); ?>">
-						<h3 class="accordion-section-title hndle" tabindex="0" title="<?php echo esc_attr( $box['title'] ); ?>"><?php echo esc_html( $box['title'] ); ?></h3>
+						<h3 class="accordion-section-title hndle" tabindex="0">
+							<?php echo esc_html( $box['title'] ); ?>
+							<span class="screen-reader-text"><?php _e( 'Press return or enter to expand' ); ?></span>
+						</h3>
 						<div class="accordion-section-content <?php postbox_classes( $box['id'], $page ); ?>">
 							<div class="inside">
 								<?php call_user_func( $box['callback'], $object, $box ); ?>
@@ -1265,13 +1318,12 @@ function do_settings_fields($page, $section) {
 function add_settings_error( $setting, $code, $message, $type = 'error' ) {
 	global $wp_settings_errors;
 
-	$new_error = array(
+	$wp_settings_errors[] = array(
 		'setting' => $setting,
-		'code' => $code,
+		'code'    => $code,
 		'message' => $message,
-		'type' => $type
+		'type'    => $type
 	);
-	$wp_settings_errors[] = $new_error;
 }
 
 /**
@@ -1299,23 +1351,25 @@ function add_settings_error( $setting, $code, $message, $type = 'error' ) {
 function get_settings_errors( $setting = '', $sanitize = false ) {
 	global $wp_settings_errors;
 
-	// If $sanitize is true, manually re-run the sanitization for this option
-	// This allows the $sanitize_callback from register_setting() to run, adding
-	// any settings errors you want to show by default.
+	/*
+	 * If $sanitize is true, manually re-run the sanitization for this option
+	 * This allows the $sanitize_callback from register_setting() to run, adding
+	 * any settings errors you want to show by default.
+	 */
 	if ( $sanitize )
 		sanitize_option( $setting, get_option( $setting ) );
 
-	// If settings were passed back from options.php then use them
+	// If settings were passed back from options.php then use them.
 	if ( isset( $_GET['settings-updated'] ) && $_GET['settings-updated'] && get_transient( 'settings_errors' ) ) {
 		$wp_settings_errors = array_merge( (array) $wp_settings_errors, get_transient( 'settings_errors' ) );
 		delete_transient( 'settings_errors' );
 	}
 
-	// Check global in case errors have been added on this pageload
+	// Check global in case errors have been added on this pageload.
 	if ( ! count( $wp_settings_errors ) )
 		return array();
 
-	// Filter the results to those of a specific setting if one was set
+	// Filter the results to those of a specific setting if one was set.
 	if ( $setting ) {
 		$setting_errors = array();
 		foreach ( (array) $wp_settings_errors as $key => $details ) {
@@ -1430,8 +1484,9 @@ function the_post_password() {
  * returned.
  *
  * @since 2.7.0
- * @param mixed $post Post id or object. If not supplied the global $post is used.
- * @return string The post title if set
+ *
+ * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post.
+ * @return string The post title if set.
  */
 function _draft_or_post_title( $post = 0 ) {
 	$title = get_the_title( $post );
@@ -1950,7 +2005,7 @@ final class WP_Internal_Pointers {
 
 		self::print_js( 'wp360_revisions', '.misc-pub-section.misc-pub-revisions', array(
 			'content' => $content,
-			'position' => array( 'edge' => is_rtl() ? 'left' : 'right', 'align' => 'center', 'my' => is_rtl() ? 'left' : 'right-14px' ),
+			'position' => array( 'edge' => is_rtl() ? 'left' : 'right', 'align' => 'center' ),
 		) );
 	}
 
@@ -1978,7 +2033,7 @@ final class WP_Internal_Pointers {
 
 		if ( 'themes' === get_current_screen()->id ) {
 			$selector = '.theme.active .customize';
-			$position = array( 'edge' => is_rtl() ? 'right' : 'left', 'align' => 'center', 'my' => is_rtl() ? 'right-13px' : '' );
+			$position = array( 'edge' => is_rtl() ? 'right' : 'left', 'align' => 'center' );
 		} else {
 			$selector = 'a[href="customize.php"]';
 			if ( is_rtl() ) {
@@ -2070,13 +2125,12 @@ function wp_star_rating( $args = array() ) {
 		'number' => 0,
 	);
 	$r = wp_parse_args( $args, $defaults );
-	extract( $r, EXTR_SKIP );
 
 	// Non-english decimal places when the $rating is coming from a string
-	$rating = str_replace( ',', '.', $rating );
+	$rating = str_replace( ',', '.', $r['rating'] );
 
 	// Convert Percentage to star rating, 0..5 in .5 increments
-	if ( 'percent' == $type ) {
+	if ( 'percent' == $r['type'] ) {
 		$rating = round( $rating / 10, 0 ) / 2;
 	}
 
@@ -2085,16 +2139,17 @@ function wp_star_rating( $args = array() ) {
 	$half_stars = ceil( $rating - $full_stars );
 	$empty_stars = 5 - $full_stars - $half_stars;
 
-	if ( $number ) {
+	if ( $r['number'] ) {
 		/* translators: 1: The rating, 2: The number of ratings */
-		$title = _n( '%1$s rating based on %2$s rating', '%1$s rating based on %2$s ratings', $number );
-		$title = sprintf( $title, number_format_i18n( $rating, 1 ), number_format_i18n( $number ) );
+		$format = _n( '%1$s rating based on %2$s rating', '%1$s rating based on %2$s ratings', $r['number'] );
+		$title = sprintf( $format, number_format_i18n( $rating, 1 ), number_format_i18n( $r['number'] ) );
 	} else {
 		/* translators: 1: The rating */
 		$title = sprintf( __( '%s rating' ), number_format_i18n( $rating, 1 ) );
 	}
 
 	echo '<div class="star-rating" title="' . esc_attr( $title ) . '">';
+	echo '<span class="screen-reader-text">' . $title . '</span>';
 	echo str_repeat( '<div class="star star-full"></div>', $full_stars );
 	echo str_repeat( '<div class="star star-half"></div>', $half_stars );
 	echo str_repeat( '<div class="star star-empty"></div>', $empty_stars);
diff --git a/wp-admin/includes/theme.php b/wp-admin/includes/theme.php
index ab665f815..eaef0bcdf 100644
--- a/wp-admin/includes/theme.php
+++ b/wp-admin/includes/theme.php
@@ -238,7 +238,7 @@ function get_theme_feature_list( $api = true ) {
 		return $features;
 
 	if ( !$feature_list = get_site_transient( 'wporg_theme_feature_list' ) )
-		set_site_transient( 'wporg_theme_feature_list', array(), 10800);
+		set_site_transient( 'wporg_theme_feature_list', array(), 3 * HOUR_IN_SECONDS );
 
 	if ( !$feature_list ) {
 		$feature_list = themes_api( 'feature_list', array() );
@@ -249,7 +249,7 @@ function get_theme_feature_list( $api = true ) {
 	if ( !$feature_list )
 		return $features;
 
-	set_site_transient( 'wporg_theme_feature_list', $feature_list, 10800 );
+	set_site_transient( 'wporg_theme_feature_list', $feature_list, 3 * HOUR_IN_SECONDS );
 
 	$category_translations = array(
 		'Colors'   => __( 'Colors' ),
@@ -282,7 +282,7 @@ function get_theme_feature_list( $api = true ) {
  * It is possible for a theme to override the Themes API result with three
  * filters. Assume this is for themes, which can extend on the Theme Info to
  * offer more choices. This is very powerful and must be used with care, when
- * overridding the filters.
+ * overriding the filters.
  *
  * The first filter, 'themes_api_args', is for the args and gives the action as
  * the second parameter. The hook for 'themes_api_args' must ensure that an
@@ -430,7 +430,7 @@ function wp_prepare_themes_for_js( $themes = null ) {
 			'update'       => get_theme_update_available( $theme ),
 			'actions'      => array(
 				'activate' => current_user_can( 'switch_themes' ) ? wp_nonce_url( admin_url( 'themes.php?action=activate&amp;stylesheet=' . $encoded_slug ), 'switch-theme_' . $slug ) : null,
-				'customize'=> current_user_can( 'edit_theme_options' ) ? wp_customize_url( $slug ) : null,
+				'customize' => ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) ? wp_customize_url( $slug ) : null,
 				'preview'   => add_query_arg( array(
 					'preview'        => 1,
 					'template'       => urlencode( $theme->get_template() ),
diff --git a/wp-admin/includes/translation-install.php b/wp-admin/includes/translation-install.php
new file mode 100644
index 000000000..f3cc370ac
--- /dev/null
+++ b/wp-admin/includes/translation-install.php
@@ -0,0 +1,240 @@
+<?php
+/**
+ * WordPress Translation Install Administration API
+ *
+ * @package WordPress
+ * @subpackage Administration
+ */
+
+
+/**
+ * Retrieve translations from WordPress Translation API.
+ *
+ * @since 4.0.0
+ *
+ * @param string       $type Type of translations. Accepts 'plugins', 'themes', 'core'.
+ * @param array|object $args Translation API arguments. Optional.
+ * @return object|WP_Error On success an object of translations, WP_Error on failure.
+ */
+function translations_api( $type, $args = null ) {
+	include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
+
+	if ( ! in_array( $type, array( 'plugins', 'themes', 'core' ) ) ) {
+		return	new WP_Error( 'invalid_type', __( 'Invalid translation type.' ) );
+	}
+
+	/**
+	 * Allows a plugin to override the WordPress.org Translation Install API entirely.
+	 *
+	 * @since 4.0.0
+	 *
+	 * @param bool|array  $result The result object. Default false.
+	 * @param string      $type   The type of translations being requested.
+	 * @param object      $args   Translation API arguments.
+	 */
+	$res = apply_filters( 'translations_api', false, $type, $args );
+
+	if ( false === $res ) {
+		$url = $http_url = 'http://api.wordpress.org/translations/' . $type . '/1.0/';
+		if ( $ssl = wp_http_supports( array( 'ssl' ) ) ) {
+			$url = set_url_scheme( $url, 'https' );
+		}
+
+		$options = array(
+			'timeout' => 3,
+			'body' => array(
+				'wp_version' => $wp_version,
+				'locale'     => get_locale(),
+				'version'    => $args['version'], // Version of plugin, theme or core
+			),
+		);
+
+		if ( 'core' !== $type ) {
+			$options['body']['slug'] = $args['slug']; // Plugin or theme slug
+		}
+
+		$request = wp_remote_post( $url, $options );
+
+		if ( $ssl && is_wp_error( $request ) ) {
+			trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="https://wordpress.org/support/">support forums</a>.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
+
+			$request = wp_remote_post( $http_url, $options );
+		}
+
+		if ( is_wp_error( $request ) ) {
+			$res = new WP_Error( 'translations_api_failed', __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="https://wordpress.org/support/">support forums</a>.' ), $request->get_error_message() );
+		} else {
+			$res = json_decode( wp_remote_retrieve_body( $request ), true );
+			if ( ! is_object( $res ) && ! is_array( $res ) ) {
+				$res = new WP_Error( 'translations_api_failed', __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="https://wordpress.org/support/">support forums</a>.' ), wp_remote_retrieve_body( $request ) );
+			}
+		}
+	}
+
+	/**
+	 * Filter the Translation Install API response results.
+	 *
+	 * @since 4.0.0
+	 *
+	 * @param object|WP_Error $res  Response object or WP_Error.
+	 * @param string          $type The type of translations being requested.
+	 * @param object          $args Translation API arguments.
+	 */
+	return apply_filters( 'translations_api_result', $res, $type, $args );
+}
+
+/**
+ * Get available translations from the WordPress.org API.
+ *
+ * @since 4.0.0
+ *
+ * @see translations_api()
+ *
+ * @return array Array of translations, each an array of data. If the API response results
+ *               in an error, an empty array will be returned.
+ */
+function wp_get_available_translations() {
+	if ( ! defined( 'WP_INSTALLING' ) && false !== ( $translations = get_site_transient( 'available_translations' ) ) ) {
+		return $translations;
+	}
+
+	include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
+
+	$api = translations_api( 'core', array( 'version' => $wp_version ) );
+
+	if ( is_wp_error( $api ) || empty( $api['translations'] ) ) {
+		return array();
+	}
+
+	$translations = array();
+	// Key the array with the language code for now.
+	foreach ( $api['translations'] as $translation ) {
+		$translations[ $translation['language'] ] = $translation;
+	}
+
+	if ( ! defined( 'WP_INSTALLING' ) ) {
+		set_site_transient( 'available_translations', $translations, 3 * HOUR_IN_SECONDS );
+	}
+
+	return $translations;
+}
+
+/**
+ * Output the select form for the language selection on the installation screen.
+ *
+ * @since 4.0.0
+ *
+ * @param array $languages Array of available languages (populated via the Translation API).
+ */
+function wp_install_language_form( $languages ) {
+	global $wp_local_package;
+
+	$installed_languages = get_available_languages();
+
+	echo "<label class='screen-reader-text' for='language'>Select a default language</label>\n";
+	echo "<select size='14' name='language' id='language'>\n";
+	echo '<option value="" lang="en" selected="selected" data-continue="Continue" data-installed="1">English (United States)</option>';
+	echo "\n";
+
+	if ( ! empty( $wp_local_package ) && isset( $languages[ $wp_local_package ] ) ) {
+		if ( isset( $languages[ $wp_local_package ] ) ) {
+			$language = $languages[ $wp_local_package ];
+			printf( '<option value="%s" lang="%s" data-continue="%s"%s>%s</option>' . "\n",
+				esc_attr( $language['language'] ),
+				esc_attr( $language['iso'][1] ),
+				esc_attr( $language['strings']['continue'] ),
+				in_array( $language['language'], $installed_languages ) ? ' data-installed="1"' : '',
+				esc_html( $language['native_name'] ) );
+
+			unset( $languages[ $wp_local_package ] );
+		}
+	}
+
+	foreach ( $languages as $language ) {
+		printf( '<option value="%s" lang="%s" data-continue="%s"%s>%s</option>' . "\n",
+			esc_attr( $language['language'] ),
+			esc_attr( $language['iso'][1] ),
+			esc_attr( $language['strings']['continue'] ),
+			in_array( $language['language'], $installed_languages ) ? ' data-installed="1"' : '',
+			esc_html( $language['native_name'] ) );
+	}
+	echo "</select>\n";
+	echo '<p class="step"><span class="spinner"></span><input id="language-continue" type="submit" class="button button-primary button-large" value="Continue" /></p>';
+}
+
+/**
+ * Download a language pack.
+ *
+ * @since 4.0.0
+ *
+ * @see wp_get_available_translations()
+ *
+ * @param string $download Language code to download.
+ * @return string|bool Returns the language code if successfully downloaded
+ *                     (or already installed), or false on failure.
+ */
+function wp_download_language_pack( $download ) {
+	// Check if the translation is already installed.
+	if ( in_array( $download, get_available_languages() ) ) {
+		return $download;
+	}
+
+	if ( defined( 'DISALLOW_FILE_MODS' ) && DISALLOW_FILE_MODS ) {
+		return false;
+	}
+
+	// Confirm the translation is one we can download.
+	$translations = wp_get_available_translations();
+	if ( ! $translations ) {
+		return false;
+	}
+	foreach ( $translations as $translation ) {
+		if ( $translation['language'] === $download ) {
+			$translation_to_load = true;
+			break;
+		}
+	}
+
+	if ( empty( $translation_to_load ) ) {
+		return false;
+	}
+	$translation = (object) $translation;
+
+	require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
+	$skin = new Automatic_Upgrader_Skin;
+	$upgrader = new Language_Pack_Upgrader( $skin );
+	$translation->type = 'core';
+	$result = $upgrader->upgrade( $translation, array( 'clear_update_cache' => false ) );
+
+	if ( ! $result || is_wp_error( $result ) ) {
+		return false;
+	}
+
+	return $translation->language;
+}
+
+/**
+ * Check if WordPress has access to the filesystem without asking for
+ * credentials.
+ *
+ * @since 4.0.0
+ *
+ * @return bool Returns true on success, false on failure.
+ */
+function wp_can_install_language_pack() {
+	if ( defined( 'DISALLOW_FILE_MODS' ) && DISALLOW_FILE_MODS ) {
+		return false;
+	}
+
+	require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
+	$skin = new Automatic_Upgrader_Skin;
+	$upgrader = new Language_Pack_Upgrader( $skin );
+
+	$check = $upgrader->fs_connect( array( WP_CONTENT_DIR, WP_LANG_DIR ) );
+
+	if ( ! $check || is_wp_error( $check ) ) {
+		return false;
+	}
+
+	return true;
+}
diff --git a/wp-admin/includes/update-core.php b/wp-admin/includes/update-core.php
index 52f2171bb..8c9479682 100644
--- a/wp-admin/includes/update-core.php
+++ b/wp-admin/includes/update-core.php
@@ -1089,7 +1089,10 @@ function _copy_dir($from, $to, $skip_list = array() ) {
 					return new WP_Error( 'mkdir_failed__copy_dir', __( 'Could not create directory.' ), $to . $filename );
 			}
 
-			// generate the $sub_skip_list for the subdirectory as a sub-set of the existing $skip_list
+			/*
+			 * Generate the $sub_skip_list for the subdirectory as a sub-set
+			 * of the existing $skip_list.
+			 */
 			$sub_skip_list = array();
 			foreach ( $skip_list as $skip_item ) {
 				if ( 0 === strpos( $skip_item, $filename . '/' ) )
@@ -1125,7 +1128,7 @@ function _redirect_to_about_wordpress( $new_version ) {
  	if ( 'do-core-upgrade' != $action && 'do-core-reinstall' != $action )
  		return;
 
-	// Load the updated default text localization domain for new strings
+	// Load the updated default text localization domain for new strings.
 	load_default_textdomain();
 
 	// See do_core_upgrade()
@@ -1141,7 +1144,7 @@ window.location = 'about.php?updated';
 </script>
 	<?php
 
-	// Include admin-footer.php and exit
+	// Include admin-footer.php and exit.
 	include(ABSPATH . 'wp-admin/admin-footer.php');
 	exit();
 }
diff --git a/wp-admin/includes/update.php b/wp-admin/includes/update.php
index c3f54900e..d3b56db37 100644
--- a/wp-admin/includes/update.php
+++ b/wp-admin/includes/update.php
@@ -74,7 +74,7 @@ function find_core_auto_update() {
 	if ( ! $updates || empty( $updates->updates ) )
 		return false;
 
-	include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
+	include_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
 
 	$auto_update = false;
 	$upgrader = new WP_Automatic_Updater;
@@ -101,8 +101,6 @@ function find_core_auto_update() {
  * @return bool|array False on failure. An array of checksums on success.
  */
 function get_core_checksums( $version, $locale ) {
-	$return = array();
-
 	$url = $http_url = 'http://api.wordpress.org/core/checksums/1.0/?' . http_build_query( compact( 'version', 'locale' ), null, '&' );
 
 	if ( $ssl = wp_http_supports( array( 'ssl' ) ) )
@@ -181,16 +179,13 @@ function core_update_footer( $msg = '' ) {
 	switch ( $cur->response ) {
 	case 'development' :
 		return sprintf( __( 'You are using a development version (%1$s). Cool! Please <a href="%2$s">stay updated</a>.' ), get_bloginfo( 'version', 'display' ), network_admin_url( 'update-core.php' ) );
-	break;
 
 	case 'upgrade' :
 		return sprintf( '<strong>'.__( '<a href="%1$s">Get Version %2$s</a>' ).'</strong>', network_admin_url( 'update-core.php' ), $cur->current);
-	break;
 
 	case 'latest' :
 	default :
 		return sprintf( __( 'Version %s' ), get_bloginfo( 'version', 'display' ) );
-	break;
 	}
 }
 add_filter( 'update_footer', 'core_update_footer' );
@@ -332,7 +327,6 @@ function wp_plugin_update_row( $file, $plugin_data ) {
 }
 
 function get_theme_updates() {
-	$themes = wp_get_themes();
 	$current = get_site_transient('update_themes');
 
 	if ( ! isset( $current->response ) )
@@ -367,8 +361,6 @@ function wp_theme_update_row( $theme_key, $theme ) {
 	if ( !isset( $current->response[ $theme_key ] ) )
 		return false;
 	$r = $current->response[ $theme_key ];
-	$themes_allowedtags = array('a' => array('href' => array(),'title' => array()),'abbr' => array('title' => array()),'acronym' => array('title' => array()),'code' => array(),'em' => array(),'strong' => array());
-	$theme_name = wp_kses( $theme['Name'], $themes_allowedtags );
 
 	$details_url = add_query_arg( array( 'TB_iframe' => 'true', 'width' => 1024, 'height' => 800 ), $current->response[ $theme_key ]['url'] );
 
@@ -406,7 +398,7 @@ function wp_theme_update_row( $theme_key, $theme ) {
 }
 
 function maintenance_nag() {
-	include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version
+	include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
 	global $upgrading;
 	$nag = isset( $upgrading );
 	if ( ! $nag ) {
diff --git a/wp-admin/includes/upgrade.php b/wp-admin/includes/upgrade.php
index 4a853fed0..02dfe093d 100644
--- a/wp-admin/includes/upgrade.php
+++ b/wp-admin/includes/upgrade.php
@@ -32,9 +32,10 @@ if ( !function_exists('wp_install') ) :
  * @param bool $public Whether blog is public.
  * @param null $deprecated Optional. Not used.
  * @param string $user_password Optional. User's chosen password. Will default to a random password.
+ * @param string $language Optional. Language chosen.
  * @return array Array keys 'url', 'user_id', 'password', 'password_message'.
  */
-function wp_install( $blog_title, $user_name, $user_email, $public, $deprecated = '', $user_password = '' ) {
+function wp_install( $blog_title, $user_name, $user_email, $public, $deprecated = '', $user_password = '', $language = '' ) {
 	if ( !empty( $deprecated ) )
 		_deprecated_argument( __FUNCTION__, '2.6' );
 
@@ -48,6 +49,10 @@ function wp_install( $blog_title, $user_name, $user_email, $public, $deprecated
 	update_option('admin_email', $user_email);
 	update_option('blog_public', $public);
 
+	if ( $language ) {
+		update_option( 'WPLANG', $language );
+	}
+
 	$guessurl = wp_guess_url();
 
 	update_option('siteurl', $guessurl);
@@ -56,8 +61,10 @@ function wp_install( $blog_title, $user_name, $user_email, $public, $deprecated
 	if ( ! $public )
 		update_option('default_pingback_flag', 0);
 
-	// Create default user. If the user already exists, the user tables are
-	// being shared among blogs. Just set the role in that case.
+	/*
+	 * Create default user. If the user already exists, the user tables are
+	 * being shared among blogs. Just set the role in that case.
+	 */
 	$user_id = username_exists($user_name);
 	$user_password = trim($user_password);
 	$email_password = false;
@@ -430,6 +437,9 @@ function upgrade_all() {
 	if ( $wp_current_db_version < 26691 )
 		upgrade_380();
 
+	if ( $wp_current_db_version < 29630 )
+		upgrade_400();
+
 	maybe_disable_link_manager();
 
 	maybe_disable_automattic_widgets();
@@ -465,9 +475,11 @@ function upgrade_100() {
 		}
 	}
 
-	$wpdb->query("UPDATE $wpdb->options SET option_value = REPLACE(option_value, 'wp-links/links-images/', 'wp-images/links/')
-	WHERE option_name LIKE 'links_rating_image%'
-	AND option_value LIKE 'wp-links/links-images/%'");
+	$sql = "UPDATE $wpdb->options
+		SET option_value = REPLACE(option_value, 'wp-links/links-images/', 'wp-images/links/')
+		WHERE option_name LIKE %s
+		AND option_value LIKE %s";
+	$wpdb->query( $wpdb->prepare( $sql, $wpdb->esc_like( 'links_rating_image' ) . '%', $wpdb->esc_like( 'wp-links/links-images/' ) . '%' ) );
 
 	$done_ids = $wpdb->get_results("SELECT DISTINCT post_id FROM $wpdb->post2cat");
 	if ($done_ids) :
@@ -618,8 +630,10 @@ function upgrade_130() {
 
 	$active_plugins = __get_option('active_plugins');
 
-	// If plugins are not stored in an array, they're stored in the old
-	// newline separated format. Convert to new format.
+	/*
+	 * If plugins are not stored in an array, they're stored in the old
+	 * newline separated format. Convert to new format.
+	 */
 	if ( !is_array( $active_plugins ) ) {
 		$active_plugins = explode("\n", trim($active_plugins));
 		update_option('active_plugins', $active_plugins);
@@ -709,14 +723,16 @@ function upgrade_160() {
 		$wpdb->query("ALTER TABLE $wpdb->users DROP $old");
 	$wpdb->show_errors();
 
-	// populate comment_count field of posts table
+	// Populate comment_count field of posts table.
 	$comments = $wpdb->get_results( "SELECT comment_post_ID, COUNT(*) as c FROM $wpdb->comments WHERE comment_approved = '1' GROUP BY comment_post_ID" );
 	if ( is_array( $comments ) )
 		foreach ($comments as $comment)
 			$wpdb->update( $wpdb->posts, array('comment_count' => $comment->c), array('ID' => $comment->comment_post_ID) );
 
-	// Some alpha versions used a post status of object instead of attachment and put
-	// the mime type in post_type instead of post_mime_type.
+	/*
+	 * Some alpha versions used a post status of object instead of attachment
+	 * and put the mime type in post_type instead of post_mime_type.
+	 */
 	if ( $wp_current_db_version > 2541 && $wp_current_db_version <= 3091 ) {
 		$objects = $wpdb->get_results("SELECT ID, post_type FROM $wpdb->posts WHERE post_status = 'object'");
 		foreach ($objects as $object) {
@@ -873,8 +889,10 @@ function upgrade_230() {
 
 	// < 3570 we used linkcategories. >= 3570 we used categories and link2cat.
 	if ( $wp_current_db_version < 3570 ) {
-		// Create link_category terms for link categories. Create a map of link cat IDs
-		// to link_category terms.
+		/*
+		 * Create link_category terms for link categories. Create a map of link
+		 * cat IDs to link_category terms.
+		 */
 		$link_cat_id_map = array();
 		$default_link_cat = 0;
 		$tt_ids = array();
@@ -982,7 +1000,7 @@ function upgrade_230_old_tables() {
  * @since 2.2.0
  */
 function upgrade_old_slugs() {
-	// upgrade people who were using the Redirect Old Slugs plugin
+	// Upgrade people who were using the Redirect Old Slugs plugin.
 	global $wpdb;
 	$wpdb->query("UPDATE $wpdb->postmeta SET meta_key = '_wp_old_slug' WHERE meta_key = 'old_slug'");
 }
@@ -1100,9 +1118,28 @@ function upgrade_300() {
 
 	// 3.0 screen options key name changes.
 	if ( is_main_site() && !defined('DO_NOT_UPGRADE_GLOBAL_TABLES') ) {
-		$prefix = like_escape($wpdb->base_prefix);
-		$wpdb->query( "DELETE FROM $wpdb->usermeta WHERE meta_key LIKE '{$prefix}%meta-box-hidden%' OR meta_key LIKE '{$prefix}%closedpostboxes%' OR meta_key LIKE '{$prefix}%manage-%-columns-hidden%' OR meta_key LIKE '{$prefix}%meta-box-order%' OR meta_key LIKE '{$prefix}%metaboxorder%' OR meta_key LIKE '{$prefix}%screen_layout%'
-					 OR meta_key = 'manageedittagscolumnshidden' OR meta_key='managecategoriescolumnshidden' OR meta_key = 'manageedit-tagscolumnshidden' OR meta_key = 'manageeditcolumnshidden' OR meta_key = 'categories_per_page' OR meta_key = 'edit_tags_per_page'" );
+		$sql = "DELETE FROM $wpdb->usermeta
+			WHERE meta_key LIKE %s
+			OR meta_key LIKE %s
+			OR meta_key LIKE %s
+			OR meta_key LIKE %s
+			OR meta_key LIKE %s
+			OR meta_key LIKE %s
+			OR meta_key = 'manageedittagscolumnshidden'
+			OR meta_key = 'managecategoriescolumnshidden'
+			OR meta_key = 'manageedit-tagscolumnshidden'
+			OR meta_key = 'manageeditcolumnshidden'
+			OR meta_key = 'categories_per_page'
+			OR meta_key = 'edit_tags_per_page'";
+		$prefix = $wpdb->esc_like( $wpdb->base_prefix );
+		$wpdb->query( $wpdb->prepare( $sql,
+			$prefix . '%' . $wpdb->esc_like( 'meta-box-hidden' ) . '%',
+			$prefix . '%' . $wpdb->esc_like( 'closedpostboxes' ) . '%',
+			$prefix . '%' . $wpdb->esc_like( 'manage-'	   ) . '%' . $wpdb->esc_like( '-columns-hidden' ) . '%',
+			$prefix . '%' . $wpdb->esc_like( 'meta-box-order'  ) . '%',
+			$prefix . '%' . $wpdb->esc_like( 'metaboxorder'    ) . '%',
+			$prefix . '%' . $wpdb->esc_like( 'screen_layout'   ) . '%'
+		) );
 	}
 
 }
@@ -1270,6 +1307,25 @@ function upgrade_380() {
 		deactivate_plugins( array( 'mp6/mp6.php' ), true );
 	}
 }
+
+/**
+ * Execute changes made in WordPress 4.0.0.
+ *
+ * @since 4.0.0
+ */
+function upgrade_400() {
+	global $wp_current_db_version;
+	if ( $wp_current_db_version < 29630 ) {
+		if ( ! is_multisite() && false === get_option( 'WPLANG' ) ) {
+			if ( defined( 'WPLANG' ) && ( '' !== WPLANG ) && in_array( WPLANG, get_available_languages() ) ) {
+				update_option( 'WPLANG', WPLANG );
+			} else {
+				update_option( 'WPLANG', '' );
+			}
+		}
+	}
+}
+
 /**
  * Execute network level changes
  *
@@ -1278,20 +1334,23 @@ function upgrade_380() {
 function upgrade_network() {
 	global $wp_current_db_version, $wpdb;
 
-	// Always
+	// Always.
 	if ( is_main_network() ) {
-		// Deletes all expired transients.
-		// The multi-table delete syntax is used to delete the transient record from table a,
-		// and the corresponding transient_timeout record from table b.
+		/*
+		 * Deletes all expired transients. The multi-table delete syntax is used
+		 * to delete the transient record from table a, and the corresponding
+		 * transient_timeout record from table b.
+		 */
 		$time = time();
-		$wpdb->query("DELETE a, b FROM $wpdb->sitemeta a, $wpdb->sitemeta b WHERE
-			a.meta_key LIKE '\_site\_transient\_%' AND
-			a.meta_key NOT LIKE '\_site\_transient\_timeout\_%' AND
-			b.meta_key = CONCAT( '_site_transient_timeout_', SUBSTRING( a.meta_key, 17 ) )
-			AND b.meta_value < $time");
+		$sql = "DELETE a, b FROM $wpdb->sitemeta a, $wpdb->sitemeta b
+			WHERE a.meta_key LIKE %s
+			AND a.meta_key NOT LIKE %s
+			AND b.meta_key = CONCAT( '_site_transient_timeout_', SUBSTRING( a.meta_key, 17 ) )
+			AND b.meta_value < %d";
+		$wpdb->query( $wpdb->prepare( $sql, $wpdb->esc_like( '_site_transient_' ) . '%', $wpdb->esc_like ( '_site_transient_timeout_' ) . '%', $time ) );
 	}
 
-	// 2.8
+	// 2.8.
 	if ( $wp_current_db_version < 11549 ) {
 		$wpmu_sitewide_plugins = get_site_option( 'wpmu_sitewide_plugins' );
 		$active_sitewide_plugins = get_site_option( 'active_sitewide_plugins' );
@@ -1382,13 +1441,20 @@ function upgrade_network() {
  */
 function maybe_create_table($table_name, $create_ddl) {
 	global $wpdb;
-	if ( $wpdb->get_var("SHOW TABLES LIKE '$table_name'") == $table_name )
+
+	$query = $wpdb->prepare( "SHOW TABLES LIKE %s", $wpdb->esc_like( $table_name ) );
+
+	if ( $wpdb->get_var( $query ) == $table_name ) {
 		return true;
-	//didn't find it try to create it.
-	$q = $wpdb->query($create_ddl);
-	// we cannot directly tell that whether this succeeded!
-	if ( $wpdb->get_var("SHOW TABLES LIKE '$table_name'") == $table_name )
+	}
+
+	// Didn't find it try to create it..
+	$wpdb->query($create_ddl);
+
+	// We cannot directly tell that whether this succeeded!
+	if ( $wpdb->get_var( $query ) == $table_name ) {
 		return true;
+	}
 	return false;
 }
 
@@ -1446,9 +1512,11 @@ function maybe_add_column($table_name, $column_name, $create_ddl) {
 			return true;
 		}
 	}
-	//didn't find it try to create it.
-	$q = $wpdb->query($create_ddl);
-	// we cannot directly tell that whether this succeeded!
+
+	// Didn't find it try to create it.
+	$wpdb->query($create_ddl);
+
+	// We cannot directly tell that whether this succeeded!
 	foreach ($wpdb->get_col("DESC $table_name", 0) as $column ) {
 		if ($column == $column_name) {
 			return true;
@@ -1519,12 +1587,16 @@ function __get_option($setting) {
 function deslash($content) {
 	// Note: \\\ inside a regex denotes a single backslash.
 
-	// Replace one or more backslashes followed by a single quote with
-	// a single quote.
+	/*
+	 * Replace one or more backslashes followed by a single quote with
+	 * a single quote.
+	 */
 	$content = preg_replace("/\\\+'/", "'", $content);
 
-	// Replace one or more backslashes followed by a double quote with
-	// a double quote.
+	/*
+	 * Replace one or more backslashes followed by a double quote with
+	 * a double quote.
+	 */
 	$content = preg_replace('/\\\+"/', '"', $content);
 
 	// Replace one or more backslashes with one backslash.
@@ -1555,8 +1627,8 @@ function dbDelta( $queries = '', $execute = true ) {
 		$queries = explode( ';', $queries );
 		$queries = array_filter( $queries );
 	}
-	
-	/** 
+
+	/**
 	 * Filter the dbDelta SQL queries.
 	 *
 	 * @since 3.3.0
@@ -1584,23 +1656,23 @@ function dbDelta( $queries = '', $execute = true ) {
 			// Unrecognized query type
 		}
 	}
-	
-	/** 
+
+	/**
 	 * Filter the dbDelta SQL queries for creating tables and/or databases.
 	 *
 	 * Queries filterable via this hook contain "CREATE TABLE" or "CREATE DATABASE".
-	 * 
+	 *
 	 * @since 3.3.0
 	 *
 	 * @param array $cqueries An array of dbDelta create SQL queries.
 	 */
 	$cqueries = apply_filters( 'dbdelta_create_queries', $cqueries );
 
-	/** 
+	/**
 	 * Filter the dbDelta SQL queries for inserting or updating.
 	 *
 	 * Queries filterable via this hook contain "INSERT INTO" or "UPDATE".
-	 * 
+	 *
 	 * @since 3.3.0
 	 *
 	 * @param array $iqueries An array of dbDelta insert or update SQL queries.
@@ -1623,24 +1695,27 @@ function dbDelta( $queries = '', $execute = true ) {
 		if ( ! $tablefields )
 			continue;
 
-		// Clear the field and index arrays
+		// Clear the field and index arrays.
 		$cfields = $indices = array();
-		// Get all of the field names in the query from between the parens
+
+		// Get all of the field names in the query from between the parentheses.
 		preg_match("|\((.*)\)|ms", $qry, $match2);
 		$qryline = trim($match2[1]);
 
-		// Separate field lines into an array
+		// Separate field lines into an array.
 		$flds = explode("\n", $qryline);
 
+		// todo: Remove this?
 		//echo "<hr/><pre>\n".print_r(strtolower($table), true).":\n".print_r($cqueries, true)."</pre><hr/>";
 
-		// For every field line specified in the query
+		// For every field line specified in the query.
 		foreach ($flds as $fld) {
-			// Extract the field name
+
+			// Extract the field name.
 			preg_match("|^([^ ]*)|", trim($fld), $fvals);
 			$fieldname = trim( $fvals[1], '`' );
 
-			// Verify the found field name
+			// Verify the found field name.
 			$validfield = true;
 			switch (strtolower($fieldname)) {
 			case '':
@@ -1655,17 +1730,19 @@ function dbDelta( $queries = '', $execute = true ) {
 			}
 			$fld = trim($fld);
 
-			// If it's a valid field, add it to the field array
+			// If it's a valid field, add it to the field array.
 			if ($validfield) {
 				$cfields[strtolower($fieldname)] = trim($fld, ", \n");
 			}
 		}
 
-		// For every field in the table
+		// For every field in the table.
 		foreach ($tablefields as $tablefield) {
-			// If the table field exists in the field array...
+
+			// If the table field exists in the field array ...
 			if (array_key_exists(strtolower($tablefield->Field), $cfields)) {
-				// Get the field type from the query
+
+				// Get the field type from the query.
 				preg_match("|".$tablefield->Field." ([^ ]*( unsigned)?)|i", $cfields[strtolower($tablefield->Field)], $matches);
 				$fieldtype = $matches[1];
 
@@ -1677,6 +1754,7 @@ function dbDelta( $queries = '', $execute = true ) {
 				}
 
 				// Get the default value from the array
+					// todo: Remove this?
 					//echo "{$cfields[strtolower($tablefield->Field)]}<br>";
 				if (preg_match("| DEFAULT '(.*?)'|i", $cfields[strtolower($tablefield->Field)], $matches)) {
 					$default_value = $matches[1];
@@ -1687,39 +1765,40 @@ function dbDelta( $queries = '', $execute = true ) {
 					}
 				}
 
-				// Remove the field from the array (so it's not added)
+				// Remove the field from the array (so it's not added).
 				unset($cfields[strtolower($tablefield->Field)]);
 			} else {
 				// This field exists in the table, but not in the creation queries?
 			}
 		}
 
-		// For every remaining field specified for the table
+		// For every remaining field specified for the table.
 		foreach ($cfields as $fieldname => $fielddef) {
-			// Push a query line into $cqueries that adds the field to that table
+			// Push a query line into $cqueries that adds the field to that table.
 			$cqueries[] = "ALTER TABLE {$table} ADD COLUMN $fielddef";
 			$for_update[$table.'.'.$fieldname] = 'Added column '.$table.'.'.$fieldname;
 		}
 
-		// Index stuff goes here
-		// Fetch the table index structure from the database
+		// Index stuff goes here. Fetch the table index structure from the database.
 		$tableindices = $wpdb->get_results("SHOW INDEX FROM {$table};");
 
 		if ($tableindices) {
-			// Clear the index array
+			// Clear the index array.
 			unset($index_ary);
 
-			// For every index in the table
+			// For every index in the table.
 			foreach ($tableindices as $tableindex) {
-				// Add the index to the index data array
+
+				// Add the index to the index data array.
 				$keyname = $tableindex->Key_name;
 				$index_ary[$keyname]['columns'][] = array('fieldname' => $tableindex->Column_name, 'subpart' => $tableindex->Sub_part);
 				$index_ary[$keyname]['unique'] = ($tableindex->Non_unique == 0)?true:false;
 			}
 
-			// For each actual index in the index array
+			// For each actual index in the index array.
 			foreach ($index_ary as $index_name => $index_data) {
-				// Build a create string to compare to the query
+
+				// Build a create string to compare to the query.
 				$index_string = '';
 				if ($index_name == 'PRIMARY') {
 					$index_string .= 'PRIMARY ';
@@ -1731,39 +1810,44 @@ function dbDelta( $queries = '', $execute = true ) {
 					$index_string .= $index_name;
 				}
 				$index_columns = '';
-				// For each column in the index
+
+				// For each column in the index.
 				foreach ($index_data['columns'] as $column_data) {
 					if ($index_columns != '') $index_columns .= ',';
-					// Add the field to the column list string
+
+					// Add the field to the column list string.
 					$index_columns .= $column_data['fieldname'];
 					if ($column_data['subpart'] != '') {
 						$index_columns .= '('.$column_data['subpart'].')';
 					}
 				}
-				// Add the column list to the index create string
+				// Add the column list to the index create string.
 				$index_string .= ' ('.$index_columns.')';
 				if (!(($aindex = array_search($index_string, $indices)) === false)) {
 					unset($indices[$aindex]);
+					// todo: Remove this?
 					//echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">{$table}:<br />Found index:".$index_string."</pre>\n";
 				}
+				// todo: Remove this?
 				//else echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">{$table}:<br /><b>Did not find index:</b>".$index_string."<br />".print_r($indices, true)."</pre>\n";
 			}
 		}
 
-		// For every remaining index specified for the table
+		// For every remaining index specified for the table.
 		foreach ( (array) $indices as $index ) {
-			// Push a query line into $cqueries that adds the index to that table
+			// Push a query line into $cqueries that adds the index to that table.
 			$cqueries[] = "ALTER TABLE {$table} ADD $index";
 			$for_update[] = 'Added index ' . $table . ' ' . $index;
 		}
 
-		// Remove the original table creation query from processing
+		// Remove the original table creation query from processing.
 		unset( $cqueries[ $table ], $for_update[ $table ] );
 	}
 
 	$allqueries = array_merge($cqueries, $iqueries);
 	if ($execute) {
 		foreach ($allqueries as $query) {
+			// todo: Remove this?
 			//echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">".print_r($query, true)."</pre>\n";
 			$wpdb->query($query);
 		}
@@ -1794,7 +1878,7 @@ function make_db_current( $tables = 'all' ) {
  * @since 1.5.0
  */
 function make_db_current_silent( $tables = 'all' ) {
-	$alterations = dbDelta( $tables );
+	dbDelta( $tables );
 }
 
 /**
@@ -1815,9 +1899,10 @@ function make_site_theme_from_oldschool($theme_name, $template) {
 	if (! file_exists("$home_path/index.php"))
 		return false;
 
-	// Copy files from the old locations to the site theme.
-	// TODO: This does not copy arbitrary include dependencies. Only the
-	// standard WP files are copied.
+	/*
+	 * Copy files from the old locations to the site theme.
+	 * TODO: This does not copy arbitrary include dependencies. Only the standard WP files are copied.
+	 */
 	$files = array('index.php' => 'index.php', 'wp-layout.css' => 'style.css', 'wp-comments.php' => 'comments.php', 'wp-comments-popup.php' => 'comments-popup.php');
 
 	foreach ($files as $oldfile => $newfile) {
@@ -1826,12 +1911,15 @@ function make_site_theme_from_oldschool($theme_name, $template) {
 		else
 			$oldpath = ABSPATH;
 
-		if ($oldfile == 'index.php') { // Check to make sure it's not a new index
+		// Check to make sure it's not a new index.
+		if ($oldfile == 'index.php') {
 			$index = implode('', file("$oldpath/$oldfile"));
 			if (strpos($index, 'WP_USE_THEMES') !== false) {
 				if (! @copy(WP_CONTENT_DIR . '/themes/' . WP_DEFAULT_THEME . '/index.php', "$site_dir/$newfile"))
 					return false;
-				continue; // Don't copy anything
+
+				// Don't copy anything.
+				continue;
 				}
 		}
 
diff --git a/wp-admin/includes/user.php b/wp-admin/includes/user.php
index 137afcd14..30b7ae081 100644
--- a/wp-admin/includes/user.php
+++ b/wp-admin/includes/user.php
@@ -28,7 +28,7 @@ function add_user() {
  * @return int user id of the updated user
  */
 function edit_user( $user_id = 0 ) {
-	global $wp_roles, $wpdb;
+	global $wp_roles;
 	$user = new stdClass;
 	if ( $user_id ) {
 		$update = true;
@@ -390,10 +390,11 @@ add_action('admin_init', 'default_password_nag_handler');
  */
 function default_password_nag_handler($errors = false) {
 	global $user_ID;
-	if ( ! get_user_option('default_password_nag') ) //Short circuit it.
+	// Short-circuit it.
+	if ( ! get_user_option('default_password_nag') )
 		return;
 
-	//get_user_setting = JS saved UI setting. else no-js-fallback code.
+	// get_user_setting = JS saved UI setting. else no-js-fallback code.
 	if ( 'hide' == get_user_setting('default_password_nag') || isset($_GET['default_password_nag']) && '0' == $_GET['default_password_nag'] ) {
 		delete_user_setting('default_password_nag');
 		update_user_option($user_ID, 'default_password_nag', false, true);
@@ -401,28 +402,33 @@ function default_password_nag_handler($errors = false) {
 }
 
 add_action('profile_update', 'default_password_nag_edit_user', 10, 2);
+
 /**
  * @since 2.8.0
  */
 function default_password_nag_edit_user($user_ID, $old_data) {
-	if ( ! get_user_option('default_password_nag', $user_ID) ) //Short circuit it.
+	// Short-circuit it.
+	if ( ! get_user_option('default_password_nag', $user_ID) )
 		return;
 
 	$new_data = get_userdata($user_ID);
 
-	if ( $new_data->user_pass != $old_data->user_pass ) { //Remove the nag if the password has been changed.
+	// Remove the nag if the password has been changed.
+	if ( $new_data->user_pass != $old_data->user_pass ) {
 		delete_user_setting('default_password_nag');
 		update_user_option($user_ID, 'default_password_nag', false, true);
 	}
 }
 
 add_action('admin_notices', 'default_password_nag');
+
 /**
  * @since 2.8.0
  */
 function default_password_nag() {
 	global $pagenow;
-	if ( 'profile.php' == $pagenow || ! get_user_option('default_password_nag') ) //Short circuit it.
+	// Short-circuit it.
+	if ( 'profile.php' == $pagenow || ! get_user_option('default_password_nag') )
 		return;
 
 	echo '<div class="error default-password-nag">';
diff --git a/wp-admin/includes/widgets.php b/wp-admin/includes/widgets.php
index 0a868151e..c86944943 100644
--- a/wp-admin/includes/widgets.php
+++ b/wp-admin/includes/widgets.php
@@ -12,7 +12,7 @@
  * @since 2.5.0
  */
 function wp_list_widgets() {
-	global $wp_registered_widgets, $sidebars_widgets, $wp_registered_widget_controls;
+	global $wp_registered_widgets, $wp_registered_widget_controls;
 
 	$sort = $wp_registered_widgets;
 	usort( $sort, '_sort_name_callback' );
@@ -173,11 +173,14 @@ function wp_widget_control( $sidebar_args ) {
 		$query_arg['key'] = $key;
 	}
 
-	// We aren't showing a widget control, we're outputting a template for a multi-widget control
+	/*
+	 * We aren't showing a widget control, we're outputting a template
+	 * for a multi-widget control.
+	 */
 	if ( isset($sidebar_args['_display']) && 'template' == $sidebar_args['_display'] && $widget_number ) {
 		// number == -1 implies a template where id numbers are replaced by a generic '__i__'
 		$control['params'][0]['number'] = -1;
-		// with id_base widget id's are constructed like {$id_base}-{$id_number}
+		// With id_base widget id's are constructed like {$id_base}-{$id_number}.
 		if ( isset($control['id_base']) )
 			$id_format = $control['id_base'] . '-__i__';
 	}
diff --git a/wp-admin/install-helper.php b/wp-admin/install-helper.php
index c654a92b0..9d241d298 100644
--- a/wp-admin/install-helper.php
+++ b/wp-admin/install-helper.php
@@ -57,9 +57,10 @@ function maybe_create_table($table_name, $create_ddl) {
 			return true;
 		}
 	}
-	//didn't find it try to create it.
+	// Didn't find it, so try to create it.
 	$wpdb->query($create_ddl);
-	// we cannot directly tell that whether this succeeded!
+
+	// We cannot directly tell that whether this succeeded!
 	foreach ($wpdb->get_col("SHOW TABLES",0) as $table ) {
 		if ($table == $table_name) {
 			return true;
@@ -90,9 +91,11 @@ function maybe_add_column($table_name, $column_name, $create_ddl) {
 			return true;
 		}
 	}
-	//didn't find it try to create it.
+
+	// Didn't find it, so try to create it.
 	$wpdb->query($create_ddl);
-	// we cannot directly tell that whether this succeeded!
+
+	// We cannot directly tell that whether this succeeded!
 	foreach ($wpdb->get_col("DESC $table_name",0) as $column ) {
 		if ($column == $column_name) {
 			return true;
@@ -118,9 +121,11 @@ function maybe_drop_column($table_name, $column_name, $drop_ddl) {
 	global $wpdb;
 	foreach ($wpdb->get_col("DESC $table_name",0) as $column ) {
 		if ($column == $column_name) {
-			//found it try to drop it.
+
+			// Found it, so try to drop it.
 			$wpdb->query($drop_ddl);
-			// we cannot directly tell that whether this succeeded!
+
+			// We cannot directly tell that whether this succeeded!
 			foreach ($wpdb->get_col("DESC $table_name",0) as $column ) {
 				if ($column == $column_name) {
 					return false;
@@ -128,7 +133,7 @@ function maybe_drop_column($table_name, $column_name, $drop_ddl) {
 			}
 		}
 	}
-	// else didn't find it
+	// Else didn't find it.
 	return true;
 }
 
@@ -167,7 +172,8 @@ function check_column($table_name, $col_name, $col_type, $is_null = null, $key =
 	foreach ($results as $row ) {
 
 		if ($row->Field == $col_name) {
-			// got our column, check the params
+
+			// Got our column, check the params.
 			if (($col_type != null) && ($row->Type != $col_type)) {
 				++$diffs;
 			}
diff --git a/wp-admin/install.php b/wp-admin/install.php
index d29c80987..72916e4be 100644
--- a/wp-admin/install.php
+++ b/wp-admin/install.php
@@ -38,8 +38,13 @@ require_once( dirname( dirname( __FILE__ ) ) . '/wp-load.php' );
 /** Load WordPress Administration Upgrade API */
 require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
 
+/** Load WordPress Translation Install API */
+require_once( ABSPATH . 'wp-admin/includes/translation-install.php' );
+
 /** Load wpdb */
-require_once( ABSPATH . 'wp-includes/wp-db.php' );
+require_once( ABSPATH . WPINC . '/wp-db.php' );
+
+nocache_headers();
 
 $step = isset( $_GET['step'] ) ? (int) $_GET['step'] : 0;
 
@@ -48,8 +53,14 @@ $step = isset( $_GET['step'] ) ? (int) $_GET['step'] : 0;
  *
  * @since 2.5.0
  */
-function display_header() {
+function display_header( $body_classes = '' ) {
 	header( 'Content-Type: text/html; charset=utf-8' );
+	if ( is_rtl() ) {
+		$body_classes .= 'rtl';
+	}
+	if ( $body_classes ) {
+		$body_classes = ' ' . $body_classes;
+	}
 ?>
 <!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
@@ -61,8 +72,8 @@ function display_header() {
 	wp_admin_css( 'install', true );
 	?>
 </head>
-<body class="wp-core-ui<?php if ( is_rtl() ) echo ' rtl'; ?>">
-<h1 id="logo"><a href="<?php echo esc_url( __( 'https://wordpress.org/' ) ); ?>"><?php _e( 'WordPress' ); ?></a></h1>
+<body class="wp-core-ui<?php echo $body_classes ?>">
+<h1 id="logo"><a href="<?php echo esc_url( __( 'https://wordpress.org/' ) ); ?>" tabindex="-1"><?php _e( 'WordPress' ); ?></a></h1>
 
 <?php
 } // end display_header()
@@ -74,23 +85,25 @@ function display_header() {
  */
 function display_setup_form( $error = null ) {
 	global $wpdb;
-	$user_table = ( $wpdb->get_var("SHOW TABLES LIKE '$wpdb->users'") != null );
 
-	// Ensure that Blogs appear in search engines by default
+	$sql = $wpdb->prepare( "SHOW TABLES LIKE %s", $wpdb->esc_like( $wpdb->users ) );
+	$user_table = ( $wpdb->get_var( $sql ) != null );
+
+	// Ensure that Blogs appear in search engines by default.
 	$blog_public = 1;
-	if ( ! empty( $_POST ) )
+	if ( isset( $_POST['weblog_title'] ) ) {
 		$blog_public = isset( $_POST['blog_public'] );
+	}
 
 	$weblog_title = isset( $_POST['weblog_title'] ) ? trim( wp_unslash( $_POST['weblog_title'] ) ) : '';
 	$user_name = isset($_POST['user_name']) ? trim( wp_unslash( $_POST['user_name'] ) ) : '';
-	$admin_password = isset($_POST['admin_password']) ? trim( wp_unslash( $_POST['admin_password'] ) ) : '';
 	$admin_email  = isset( $_POST['admin_email']  ) ? trim( wp_unslash( $_POST['admin_email'] ) ) : '';
 
 	if ( ! is_null( $error ) ) {
 ?>
 <p class="message"><?php echo $error; ?></p>
 <?php } ?>
-<form id="setup" method="post" action="install.php?step=2">
+<form id="setup" method="post" action="install.php?step=2" novalidate="novalidate">
 	<table class="form-table">
 		<tr>
 			<th scope="row"><label for="weblog_title"><?php _e( 'Site Title' ); ?></label></th>
@@ -113,7 +126,7 @@ function display_setup_form( $error = null ) {
 		<?php if ( ! $user_table ) : ?>
 		<tr>
 			<th scope="row">
-				<label for="admin_password"><?php _e('Password, twice'); ?></label>
+				<label for="pass1"><?php _e('Password, twice'); ?></label>
 				<p><?php _e('A password will be automatically generated for you if you leave this blank.'); ?></p>
 			</th>
 			<td>
@@ -126,15 +139,16 @@ function display_setup_form( $error = null ) {
 		<?php endif; ?>
 		<tr>
 			<th scope="row"><label for="admin_email"><?php _e( 'Your E-mail' ); ?></label></th>
-			<td><input name="admin_email" type="text" id="admin_email" size="25" value="<?php echo esc_attr( $admin_email ); ?>" />
+			<td><input name="admin_email" type="email" id="admin_email" size="25" value="<?php echo esc_attr( $admin_email ); ?>" />
 			<p><?php _e( 'Double-check your email address before continuing.' ); ?></p></td>
 		</tr>
 		<tr>
 			<th scope="row"><label for="blog_public"><?php _e( 'Privacy' ); ?></label></th>
-			<td colspan="2"><label><input type="checkbox" name="blog_public" value="1" <?php checked( $blog_public ); ?> /> <?php _e( 'Allow search engines to index this site.' ); ?></label></td>
+			<td colspan="2"><label><input type="checkbox" name="blog_public" id="blog_public" value="1" <?php checked( $blog_public ); ?> /> <?php _e( 'Allow search engines to index this site.' ); ?></label></td>
 		</tr>
 	</table>
 	<p class="step"><input type="submit" name="Submit" value="<?php esc_attr_e( 'Install WordPress' ); ?>" class="button button-large" /></p>
+	<input type="hidden" name="language" value="<?php echo isset( $_REQUEST['language'] ) ? esc_attr( $_REQUEST['language'] ) : ''; ?>" />
 </form>
 <?php
 } // end display_setup_form()
@@ -167,13 +181,39 @@ if ( ! is_string( $wpdb->base_prefix ) || '' === $wpdb->base_prefix ) {
 	die( '<h1>' . __( 'Configuration Error' ) . '</h1><p>' . __( 'Your <code>wp-config.php</code> file has an empty database table prefix, which is not supported.' ) . '</p></body></html>' );
 }
 
+$language = '';
+if ( ! empty( $_REQUEST['language'] ) ) {
+	$language = preg_replace( '/[^a-zA-Z_]/', '', $_REQUEST['language'] );
+} elseif ( isset( $GLOBALS['wp_local_package'] ) ) {
+	$language = $GLOBALS['wp_local_package'];
+}
+
 switch($step) {
-	case 0: // Step 1
-	case 1: // Step 1, direct link.
-	  display_header();
+	case 0: // Step 0
+
+		if ( wp_can_install_language_pack() && empty( $language ) && ( $languages = wp_get_available_translations() ) ) {
+			display_header( 'language-chooser' );
+			echo '<form id="setup" method="post" action="?step=1">';
+			wp_install_language_form( $languages );
+			echo '</form>';
+			break;
+		}
+
+		// Deliberately fall through if we can't reach the translations API.
+
+	case 1: // Step 1, direct link or from language chooser.
+		if ( ! empty( $language ) ) {
+			$loaded_language = wp_download_language_pack( $language );
+			if ( $loaded_language ) {
+				load_default_textdomain( $loaded_language );
+				$GLOBALS['wp_locale'] = new WP_Locale();
+			}
+		}
+
+		display_header();
 ?>
 <h1><?php _ex( 'Welcome', 'Howdy' ); ?></h1>
-<p><?php printf( __( 'Welcome to the famous five minute WordPress installation process! You may want to browse the <a href="%s">ReadMe documentation</a> at your leisure. Otherwise, just fill in the information below and you&#8217;ll be on your way to using the most extendable and powerful personal publishing platform in the world.' ), '../readme.html' ); ?></p>
+<p><?php _e( 'Welcome to the famous five-minute WordPress installation process! Just fill in the information below and you&#8217;ll be on your way to using the most extendable and powerful personal publishing platform in the world.' ); ?></p>
 
 <h1><?php _e( 'Information needed' ); ?></h1>
 <p><?php _e( 'Please provide the following information. Don&#8217;t worry, you can always change these settings later.' ); ?></p>
@@ -182,6 +222,13 @@ switch($step) {
 		display_setup_form();
 		break;
 	case 2:
+		if ( ! empty( $language ) && load_default_textdomain( $language ) ) {
+			$loaded_language = $language;
+			$GLOBALS['wp_locale'] = new WP_Locale();
+		} else {
+			$loaded_language = 'en_US';
+		}
+
 		if ( ! empty( $wpdb->error ) )
 			wp_die( $wpdb->error->get_error_message() );
 
@@ -191,9 +238,10 @@ switch($step) {
 		$user_name = isset($_POST['user_name']) ? trim( wp_unslash( $_POST['user_name'] ) ) : '';
 		$admin_password = isset($_POST['admin_password']) ? wp_unslash( $_POST['admin_password'] ) : '';
 		$admin_password_check = isset($_POST['admin_password2']) ? wp_unslash( $_POST['admin_password2'] ) : '';
-		$admin_email  = isset( $_POST['admin_email']  ) ?trim( wp_unslash( $_POST['admin_email'] ) ) : '';
-		$public       = isset( $_POST['blog_public']  ) ? (int) $_POST['blog_public'] : 0;
-		// check e-mail address
+		$admin_email  = isset( $_POST['admin_email'] ) ?trim( wp_unslash( $_POST['admin_email'] ) ) : '';
+		$public       = isset( $_POST['blog_public'] ) ? (int) $_POST['blog_public'] : 0;
+
+		// Check e-mail address.
 		$error = false;
 		if ( empty( $user_name ) ) {
 			// TODO: poka-yoke
@@ -218,8 +266,7 @@ switch($step) {
 
 		if ( $error === false ) {
 			$wpdb->show_errors();
-			$result = wp_install($weblog_title, $user_name, $admin_email, $public, '', wp_slash( $admin_password ) );
-			extract( $result, EXTR_SKIP );
+			$result = wp_install( $weblog_title, $user_name, $admin_email, $public, '', wp_slash( $admin_password ), $loaded_language );
 ?>
 
 <h1><?php _e( 'Success!' ); ?></h1>
@@ -234,9 +281,10 @@ switch($step) {
 	<tr>
 		<th><?php _e( 'Password' ); ?></th>
 		<td><?php
-		if ( ! empty( $password ) && empty($admin_password_check) )
-			echo '<code>'. esc_html($password) .'</code><br />';
-		echo "<p>$password_message</p>"; ?>
+		if ( ! empty( $result['password'] ) && empty( $admin_password_check ) ): ?>
+			<code><?php echo esc_html( $result['password'] ) ?></code><br />
+		<?php endif ?>
+			<p><?php echo $result['password_message'] ?></p>
 		</td>
 	</tr>
 </table>
@@ -252,5 +300,6 @@ if ( !wp_is_mobile() ) {
 <script type="text/javascript">var t = document.getElementById('weblog_title'); if (t){ t.focus(); }</script>
 <?php } ?>
 <?php wp_print_scripts( 'user-profile' ); ?>
+<?php wp_print_scripts( 'language-chooser' ); ?>
 </body>
 </html>
diff --git a/wp-admin/js/accordion.js b/wp-admin/js/accordion.js
index 7bc99ccca..6cb1c1ca8 100644
--- a/wp-admin/js/accordion.js
+++ b/wp-admin/js/accordion.js
@@ -1,40 +1,86 @@
+/**
+ * Accordion-folding functionality.
+ *
+ * Markup with the appropriate classes will be automatically hidden,
+ * with one section opening at a time when its title is clicked.
+ * Use the following markup structure for accordion behavior:
+ *
+ * <div class="accordion-container">
+ *	<div class="accordion-section open">
+ *		<h3 class="accordion-section-title"></h3>
+ *		<div class="accordion-section-content">
+ *		</div>
+ *	</div>
+ *	<div class="accordion-section">
+ *		<h3 class="accordion-section-title"></h3>
+ *		<div class="accordion-section-content">
+ *		</div>
+ *	</div>
+ *	<div class="accordion-section">
+ *		<h3 class="accordion-section-title"></h3>
+ *		<div class="accordion-section-content">
+ *		</div>
+ *	</div>
+ * </div>
+ *
+ * Note that any appropriate tags may be used, as long as the above classes are present.
+ *
+ * In addition to the standard accordion behavior, this file includes JS for the
+ * Customizer's "Panel" functionality.
+ *
+ * @since 3.6.0.
+ */
+
 ( function( $ ){
 
 	$( document ).ready( function () {
 
-		// Expand/Collapse on click
+		// Expand/Collapse accordion sections on click.
 		$( '.accordion-container' ).on( 'click keydown', '.accordion-section-title', function( e ) {
-			if ( e.type === 'keydown' && 13 !== e.which ) // "return" key
-					return;
+			if ( e.type === 'keydown' && 13 !== e.which ) { // "return" key
+				return;
+			}
+
 			e.preventDefault(); // Keep this AFTER the key filter above
 
 			accordionSwitch( $( this ) );
 		});
 
-		// Re-initialize accordion when screen options are toggled
-		$( '.hide-postbox-tog' ).click( function () {
-			accordionInit();
-		});
+		// Go back to the top-level Customizer accordion.
+		$( '#customize-header-actions' ).on( 'click keydown', '.control-panel-back', function( e ) {
+			if ( e.type === 'keydown' && 13 !== e.which ) { // "return" key
+				return;
+			}
 
-	});
+			e.preventDefault(); // Keep this AFTER the key filter above
 
-	var accordionOptions = $( '.accordion-container li.accordion-section' ),
-		sectionContent   = $( '.accordion-section-content' );
+			panelSwitch( $( '.current-panel' ) );
+		});
+	});
 
-	function accordionInit () {
-		// Rounded corners
-		accordionOptions.removeClass( 'top bottom' );
-		accordionOptions.filter( ':visible' ).first().addClass( 'top' );
-		accordionOptions.filter( ':visible' ).last().addClass( 'bottom' ).find( sectionContent ).addClass( 'bottom' );
-	}
+	var sectionContent = $( '.accordion-section-content' );
 
+	/**
+	 * Close the current accordion section and open a new one.
+	 *
+	 * @param {Object} el Title element of the accordion section to toggle.
+	 * @since 3.6.0
+	 */
 	function accordionSwitch ( el ) {
 		var section = el.closest( '.accordion-section' ),
 			siblings = section.closest( '.accordion-container' ).find( '.open' ),
 			content = section.find( sectionContent );
 
-		if ( section.hasClass( 'cannot-expand' ) )
+		// This section has no content and cannot be expanded.
+		if ( section.hasClass( 'cannot-expand' ) ) {
+			return;
+		}
+
+		// Slide into a sub-panel instead of accordioning (Customizer-specific).
+		if ( section.hasClass( 'control-panel' ) ) {
+			panelSwitch( section );
 			return;
+		}
 
 		if ( section.hasClass( 'open' ) ) {
 			section.toggleClass( 'open' );
@@ -45,11 +91,53 @@
 			content.toggle( false ).slideToggle( 150 );
 			section.toggleClass( 'open' );
 		}
-
-		accordionInit();
 	}
 
-	// Initialize the accordion (currently just corner fixes)
-	accordionInit();
+	/**
+	 * Slide into an accordion sub-panel.
+	 *
+	 * For the Customizer-specific panel functionality
+	 *
+	 * @param {Object} panel Title element or back button of the accordion panel to toggle.
+	 * @since 4.0.0
+	 */
+	function panelSwitch( panel ) {
+		var position, scroll,
+			section = panel.closest( '.accordion-section' ),
+			overlay = section.closest( '.wp-full-overlay' ),
+			container = section.closest( '.accordion-container' ),
+			siblings = container.find( '.open' ),
+			topPanel = overlay.find( '#customize-theme-controls > ul > .accordion-section > .accordion-section-title' ).add( '#customize-info > .accordion-section-title' ),
+			backBtn = overlay.find( '.control-panel-back' ),
+			panelTitle = section.find( '.accordion-section-title' ).first(),
+			content = section.find( '.control-panel-content' );
+
+		if ( section.hasClass( 'current-panel' ) ) {
+			section.toggleClass( 'current-panel' );
+			overlay.toggleClass( 'in-sub-panel' );
+			content.delay( 180 ).hide( 0, function() {
+				content.css( 'margin-top', 'inherit' ); // Reset
+			} );
+			topPanel.attr( 'tabindex', '0' );
+			backBtn.attr( 'tabindex', '-1' );
+			panelTitle.focus();
+			container.scrollTop( 0 );
+		} else {
+			// Close all open sections in any accordion level.
+			siblings.removeClass( 'open' );
+			siblings.find( sectionContent ).show().slideUp( 0 );
+			content.show( 0, function() {
+				position = content.offset().top;
+				scroll = container.scrollTop();
+				content.css( 'margin-top', ( 45 - position - scroll ) );
+				section.toggleClass( 'current-panel' );
+				overlay.toggleClass( 'in-sub-panel' );
+				container.scrollTop( 0 );
+			} );
+			topPanel.attr( 'tabindex', '-1' );
+			backBtn.attr( 'tabindex', '0' );
+			backBtn.focus();
+		}
+	}
 
 })(jQuery);
diff --git a/wp-admin/js/accordion.min.js b/wp-admin/js/accordion.min.js
index a67e7572a..6b8526434 100644
--- a/wp-admin/js/accordion.min.js
+++ b/wp-admin/js/accordion.min.js
@@ -1 +1 @@
-!function(a){function b(){d.removeClass("top bottom"),d.filter(":visible").first().addClass("top"),d.filter(":visible").last().addClass("bottom").find(e).addClass("bottom")}function c(a){var c=a.closest(".accordion-section"),d=c.closest(".accordion-container").find(".open"),f=c.find(e);c.hasClass("cannot-expand")||(c.hasClass("open")?(c.toggleClass("open"),f.toggle(!0).slideToggle(150)):(d.removeClass("open"),d.find(e).show().slideUp(150),f.toggle(!1).slideToggle(150),c.toggleClass("open")),b())}a(document).ready(function(){a(".accordion-container").on("click keydown",".accordion-section-title",function(b){("keydown"!==b.type||13===b.which)&&(b.preventDefault(),c(a(this)))}),a(".hide-postbox-tog").click(function(){b()})});var d=a(".accordion-container li.accordion-section"),e=a(".accordion-section-content");b()}(jQuery);
\ No newline at end of file
+!function(a){function b(a){var b=a.closest(".accordion-section"),e=b.closest(".accordion-container").find(".open"),f=b.find(d);if(!b.hasClass("cannot-expand"))return b.hasClass("control-panel")?void c(b):void(b.hasClass("open")?(b.toggleClass("open"),f.toggle(!0).slideToggle(150)):(e.removeClass("open"),e.find(d).show().slideUp(150),f.toggle(!1).slideToggle(150),b.toggleClass("open")))}function c(a){var b,c,e=a.closest(".accordion-section"),f=e.closest(".wp-full-overlay"),g=e.closest(".accordion-container"),h=g.find(".open"),i=f.find("#customize-theme-controls > ul > .accordion-section > .accordion-section-title").add("#customize-info > .accordion-section-title"),j=f.find(".control-panel-back"),k=e.find(".accordion-section-title").first(),l=e.find(".control-panel-content");e.hasClass("current-panel")?(e.toggleClass("current-panel"),f.toggleClass("in-sub-panel"),l.delay(180).hide(0,function(){l.css("margin-top","inherit")}),i.attr("tabindex","0"),j.attr("tabindex","-1"),k.focus(),g.scrollTop(0)):(h.removeClass("open"),h.find(d).show().slideUp(0),l.show(0,function(){b=l.offset().top,c=g.scrollTop(),l.css("margin-top",45-b-c),e.toggleClass("current-panel"),f.toggleClass("in-sub-panel"),g.scrollTop(0)}),i.attr("tabindex","-1"),j.attr("tabindex","0"),j.focus())}a(document).ready(function(){a(".accordion-container").on("click keydown",".accordion-section-title",function(c){("keydown"!==c.type||13===c.which)&&(c.preventDefault(),b(a(this)))}),a("#customize-header-actions").on("click keydown",".control-panel-back",function(b){("keydown"!==b.type||13===b.which)&&(b.preventDefault(),c(a(".current-panel")))})});var d=a(".accordion-section-content")}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/color-picker.js b/wp-admin/js/color-picker.js
index 1cc0a13bc..0991c3e2d 100644
--- a/wp-admin/js/color-picker.js
+++ b/wp-admin/js/color-picker.js
@@ -1,4 +1,4 @@
-/* global wpColorPickerL10n:true */
+/* global wpColorPickerL10n */
 ( function( $, undef ){
 
 	var ColorPicker,
@@ -19,13 +19,18 @@
 		},
 		_create: function() {
 			// bail early for unsupported Iris.
-			if ( ! $.support.iris )
+			if ( ! $.support.iris ) {
 				return;
+			}
+
 			var self = this,
 				el = self.element;
 
 			$.extend( self.options, el.data() );
 
+			// keep close bound so it can be attached to a body listener
+			self.close = $.proxy( self.close, self );
+
 			self.initialValue = el.val();
 
 			// Set up HTML structure, hide things
@@ -35,12 +40,13 @@
 			self.pickerContainer = $( _after ).insertAfter( el );
 			self.button = $( _button );
 
-			if ( self.options.defaultColor )
+			if ( self.options.defaultColor ) {
 				self.button.addClass( 'wp-picker-default' ).val( wpColorPickerL10n.defaultString );
-			else
+			} else {
 				self.button.addClass( 'wp-picker-clear' ).val( wpColorPickerL10n.clear );
+			}
 
-			el.wrap('<span class="wp-picker-input-wrap" />').after(self.button);
+			el.wrap( '<span class="wp-picker-input-wrap" />' ).after(self.button);
 
 			el.iris( {
 				target: self.pickerContainer,
@@ -51,80 +57,95 @@
 				change: function( event, ui ) {
 					self.toggler.css( { backgroundColor: ui.color.toString() } );
 					// check for a custom cb
-					if ( $.isFunction( self.options.change ) )
+					if ( $.isFunction( self.options.change ) ) {
 						self.options.change.call( this, event, ui );
+					}
 				}
 			} );
+
 			el.val( self.initialValue );
 			self._addListeners();
-			if ( ! self.options.hide )
+			if ( ! self.options.hide ) {
 				self.toggler.click();
+			}
 		},
 		_addListeners: function() {
 			var self = this;
 
-			self.toggler.click( function( event ){
+			// prevent any clicks inside this widget from leaking to the top and closing it
+			self.wrap.on( 'click.wpcolorpicker', function( event ) {
 				event.stopPropagation();
-				self.element.toggle().iris( 'toggle' );
-				self.button.toggleClass('hidden');
-				self.toggler.toggleClass( 'wp-picker-open' );
-
-				// close picker when you click outside it
-				if ( self.toggler.hasClass( 'wp-picker-open' ) )
-					$( 'body' ).on( 'click', { wrap: self.wrap, toggler: self.toggler }, self._bodyListener );
-				else
-					$( 'body' ).off( 'click', self._bodyListener );
 			});
 
-			self.element.change(function( event ) {
-				var me = $(this),
+			self.toggler.click( function(){
+				if ( self.toggler.hasClass( 'wp-picker-open' ) ) {
+					self.close();
+				} else {
+					self.open();
+				}
+			});
+
+			self.element.change( function( event ) {
+				var me = $( this ),
 					val = me.val();
 				// Empty = clear
 				if ( val === '' || val === '#' ) {
-					self.toggler.css('backgroundColor', '');
+					self.toggler.css( 'backgroundColor', '' );
 					// fire clear callback if we have one
-					if ( $.isFunction( self.options.clear ) )
+					if ( $.isFunction( self.options.clear ) ) {
 						self.options.clear.call( this, event );
+					}
 				}
 			});
 
 			// open a keyboard-focused closed picker with space or enter
-			self.toggler.on('keyup', function( e ) {
-				if ( e.keyCode === 13 || e.keyCode === 32 ) {
-					e.preventDefault();
-					self.toggler.trigger('click').next().focus();
+			self.toggler.on( 'keyup', function( event ) {
+				if ( event.keyCode === 13 || event.keyCode === 32 ) {
+					event.preventDefault();
+					self.toggler.trigger( 'click' ).next().focus();
 				}
 			});
 
 			self.button.click( function( event ) {
-				var me = $(this);
+				var me = $( this );
 				if ( me.hasClass( 'wp-picker-clear' ) ) {
 					self.element.val( '' );
-					self.toggler.css('backgroundColor', '');
-					if ( $.isFunction( self.options.clear ) )
+					self.toggler.css( 'backgroundColor', '' );
+					if ( $.isFunction( self.options.clear ) ) {
 						self.options.clear.call( this, event );
+					}
 				} else if ( me.hasClass( 'wp-picker-default' ) ) {
 					self.element.val( self.options.defaultColor ).change();
 				}
 			});
 		},
-		_bodyListener: function( event ) {
-			if ( ! event.data.wrap.find( event.target ).length )
-					event.data.toggler.click();
+		open: function() {
+			this.element.show().iris( 'toggle' ).focus();
+			this.button.removeClass( 'hidden' );
+			this.toggler.addClass( 'wp-picker-open' );
+			$( 'body' ).trigger( 'click.wpcolorpicker' ).on( 'click.wpcolorpicker', this.close );
+		},
+		close: function() {
+			this.element.hide().iris( 'toggle' );
+			this.button.addClass( 'hidden' );
+			this.toggler.removeClass( 'wp-picker-open' );
+			$( 'body' ).off( 'click.wpcolorpicker', this.close );
 		},
 		// $("#input").wpColorPicker('color') returns the current color
 		// $("#input").wpColorPicker('color', '#bada55') to set
 		color: function( newColor ) {
-			if ( newColor === undef )
+			if ( newColor === undef ) {
 				return this.element.iris( 'option', 'color' );
+			}
 
 			this.element.iris( 'option', 'color', newColor );
 		},
 		//$("#input").wpColorPicker('defaultColor') returns the current default color
 		//$("#input").wpColorPicker('defaultColor', newDefaultColor) to set
 		defaultColor: function( newDefaultColor ) {
-			if ( newDefaultColor === undef )
+			if ( newDefaultColor === undef ) {
 				return this.options.defaultColor;
+			}
 
 			this.options.defaultColor = newDefaultColor;
 		}
diff --git a/wp-admin/js/color-picker.min.js b/wp-admin/js/color-picker.min.js
index 92e935f64..a4ba98dee 100644
--- a/wp-admin/js/color-picker.min.js
+++ b/wp-admin/js/color-picker.min.js
@@ -1 +1 @@
-!function(a,b){var c,d='<a tabindex="0" class="wp-color-result" />',e='<div class="wp-picker-holder" />',f='<div class="wp-picker-container" />',g='<input type="button" class="button button-small hidden" />';c={options:{defaultColor:!1,change:!1,clear:!1,hide:!0,palettes:!0},_create:function(){if(a.support.iris){var b=this,c=b.element;a.extend(b.options,c.data()),b.initialValue=c.val(),c.addClass("wp-color-picker").hide().wrap(f),b.wrap=c.parent(),b.toggler=a(d).insertBefore(c).css({backgroundColor:b.initialValue}).attr("title",wpColorPickerL10n.pick).attr("data-current",wpColorPickerL10n.current),b.pickerContainer=a(e).insertAfter(c),b.button=a(g),b.options.defaultColor?b.button.addClass("wp-picker-default").val(wpColorPickerL10n.defaultString):b.button.addClass("wp-picker-clear").val(wpColorPickerL10n.clear),c.wrap('<span class="wp-picker-input-wrap" />').after(b.button),c.iris({target:b.pickerContainer,hide:!0,width:255,mode:"hsv",palettes:b.options.palettes,change:function(c,d){b.toggler.css({backgroundColor:d.color.toString()}),a.isFunction(b.options.change)&&b.options.change.call(this,c,d)}}),c.val(b.initialValue),b._addListeners(),b.options.hide||b.toggler.click()}},_addListeners:function(){var b=this;b.toggler.click(function(c){c.stopPropagation(),b.element.toggle().iris("toggle"),b.button.toggleClass("hidden"),b.toggler.toggleClass("wp-picker-open"),b.toggler.hasClass("wp-picker-open")?a("body").on("click",{wrap:b.wrap,toggler:b.toggler},b._bodyListener):a("body").off("click",b._bodyListener)}),b.element.change(function(c){var d=a(this),e=d.val();(""===e||"#"===e)&&(b.toggler.css("backgroundColor",""),a.isFunction(b.options.clear)&&b.options.clear.call(this,c))}),b.toggler.on("keyup",function(a){(13===a.keyCode||32===a.keyCode)&&(a.preventDefault(),b.toggler.trigger("click").next().focus())}),b.button.click(function(c){var d=a(this);d.hasClass("wp-picker-clear")?(b.element.val(""),b.toggler.css("backgroundColor",""),a.isFunction(b.options.clear)&&b.options.clear.call(this,c)):d.hasClass("wp-picker-default")&&b.element.val(b.options.defaultColor).change()})},_bodyListener:function(a){a.data.wrap.find(a.target).length||a.data.toggler.click()},color:function(a){return a===b?this.element.iris("option","color"):void this.element.iris("option","color",a)},defaultColor:function(a){return a===b?this.options.defaultColor:void(this.options.defaultColor=a)}},a.widget("wp.wpColorPicker",c)}(jQuery);
\ No newline at end of file
+!function(a,b){var c,d='<a tabindex="0" class="wp-color-result" />',e='<div class="wp-picker-holder" />',f='<div class="wp-picker-container" />',g='<input type="button" class="button button-small hidden" />';c={options:{defaultColor:!1,change:!1,clear:!1,hide:!0,palettes:!0},_create:function(){if(a.support.iris){var b=this,c=b.element;a.extend(b.options,c.data()),b.close=a.proxy(b.close,b),b.initialValue=c.val(),c.addClass("wp-color-picker").hide().wrap(f),b.wrap=c.parent(),b.toggler=a(d).insertBefore(c).css({backgroundColor:b.initialValue}).attr("title",wpColorPickerL10n.pick).attr("data-current",wpColorPickerL10n.current),b.pickerContainer=a(e).insertAfter(c),b.button=a(g),b.options.defaultColor?b.button.addClass("wp-picker-default").val(wpColorPickerL10n.defaultString):b.button.addClass("wp-picker-clear").val(wpColorPickerL10n.clear),c.wrap('<span class="wp-picker-input-wrap" />').after(b.button),c.iris({target:b.pickerContainer,hide:!0,width:255,mode:"hsv",palettes:b.options.palettes,change:function(c,d){b.toggler.css({backgroundColor:d.color.toString()}),a.isFunction(b.options.change)&&b.options.change.call(this,c,d)}}),c.val(b.initialValue),b._addListeners(),b.options.hide||b.toggler.click()}},_addListeners:function(){var b=this;b.wrap.on("click.wpcolorpicker",function(a){a.stopPropagation()}),b.toggler.click(function(){b.toggler.hasClass("wp-picker-open")?b.close():b.open()}),b.element.change(function(c){var d=a(this),e=d.val();(""===e||"#"===e)&&(b.toggler.css("backgroundColor",""),a.isFunction(b.options.clear)&&b.options.clear.call(this,c))}),b.toggler.on("keyup",function(a){(13===a.keyCode||32===a.keyCode)&&(a.preventDefault(),b.toggler.trigger("click").next().focus())}),b.button.click(function(c){var d=a(this);d.hasClass("wp-picker-clear")?(b.element.val(""),b.toggler.css("backgroundColor",""),a.isFunction(b.options.clear)&&b.options.clear.call(this,c)):d.hasClass("wp-picker-default")&&b.element.val(b.options.defaultColor).change()})},open:function(){this.element.show().iris("toggle").focus(),this.button.removeClass("hidden"),this.toggler.addClass("wp-picker-open"),a("body").trigger("click.wpcolorpicker").on("click.wpcolorpicker",this.close)},close:function(){this.element.hide().iris("toggle"),this.button.addClass("hidden"),this.toggler.removeClass("wp-picker-open"),a("body").off("click.wpcolorpicker",this.close)},color:function(a){return a===b?this.element.iris("option","color"):void this.element.iris("option","color",a)},defaultColor:function(a){return a===b?this.options.defaultColor:void(this.options.defaultColor=a)}},a.widget("wp.wpColorPicker",c)}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/common.js b/wp-admin/js/common.js
index 510f2952f..b61763af0 100644
--- a/wp-admin/js/common.js
+++ b/wp-admin/js/common.js
@@ -131,6 +131,8 @@ screenMeta = {
 			panel.focus();
 			link.addClass('screen-meta-active').attr('aria-expanded', true);
 		});
+
+		$( document ).trigger( 'screen:options:open' );
 	},
 
 	close: function( panel, link ) {
@@ -139,13 +141,15 @@ screenMeta = {
 			$('.screen-meta-toggle').css('visibility', '');
 			panel.parent().hide();
 		});
+
+		$( document ).trigger( 'screen:options:close' );
 	}
 };
 
 /**
  * Help tabs.
  */
-$('.contextual-help-tabs').delegate('a', 'click focus', function(e) {
+$('.contextual-help-tabs').delegate('a', 'click', function(e) {
 	var link = $(this),
 		panel;
 
@@ -179,7 +183,7 @@ $(document).ready( function() {
 	});
 
 	$('#collapse-menu').on('click.collapse-menu', function() {
-		var body = $( document.body ), respWidth;
+		var body = $( document.body ), respWidth, state;
 
 		// reset any compensation for submenus near the bottom of the screen
 		$('#adminmenu div.wp-submenu').css('margin-top', '');
@@ -189,27 +193,33 @@ $(document).ready( function() {
 			respWidth = Math.max( window.innerWidth, document.documentElement.clientWidth );
 		} else {
 			// IE < 9 doesn't support @media CSS rules
-			respWidth = 901;
+			respWidth = 961;
 		}
 
-		if ( respWidth && respWidth < 900 ) {
+		if ( respWidth && respWidth < 960 ) {
 			if ( body.hasClass('auto-fold') ) {
 				body.removeClass('auto-fold').removeClass('folded');
 				setUserSetting('unfold', 1);
 				setUserSetting('mfold', 'o');
+				state = 'open';
 			} else {
 				body.addClass('auto-fold');
 				setUserSetting('unfold', 0);
+				state = 'folded';
 			}
 		} else {
 			if ( body.hasClass('folded') ) {
 				body.removeClass('folded');
 				setUserSetting('mfold', 'o');
+				state = 'open';
 			} else {
 				body.addClass('folded');
 				setUserSetting('mfold', 'f');
+				state = 'folded';
 			}
 		}
+
+		$( document ).trigger( 'wp-collapse-menu', { state: state } );
 	});
 
 	if ( 'ontouchstart' in window || /IEMobile\/[1-9]/.test(navigator.userAgent) ) { // touch screen device
@@ -581,8 +591,7 @@ $(document).ready( function() {
 
 	window.wpResponsive = {
 		init: function() {
-			var self = this,
-				scrollStart = 0;
+			var self = this;
 
 			// Modify functionality based on custom activate/deactivate event
 			$document.on( 'wp-responsive-activate.wp-responsive', function() {
@@ -606,12 +615,8 @@ $(document).ready( function() {
 			} );
 
 			// Add menu events
-			$adminmenu.on( 'touchstart.wp-responsive', 'li.wp-has-submenu > a', function() {
-				scrollStart = $window.scrollTop();
-			}).on( 'touchend.wp-responsive click.wp-responsive', 'li.wp-has-submenu > a', function( event ) {
-				if ( ! $adminmenu.data('wp-responsive') ||
-					( event.type === 'touchend' && $window.scrollTop() !== scrollStart ) ) {
-
+			$adminmenu.on( 'click.wp-responsive', 'li.wp-has-submenu > a', function( event ) {
+				if ( ! $adminmenu.data('wp-responsive') ) {
 					return;
 				}
 
@@ -721,7 +726,7 @@ $(document).ready( function() {
 	window.wpResponsive.init();
 });
 
-// make Windows 8 devices playing along nicely
+// Make Windows 8 devices play along nicely.
 (function(){
 	if ( '-ms-user-select' in document.documentElement.style && navigator.userAgent.match(/IEMobile\/10\.0/) ) {
 		var msViewportStyle = document.createElement( 'style' );
diff --git a/wp-admin/js/common.min.js b/wp-admin/js/common.min.js
index 7f43a0234..edde0c549 100644
--- a/wp-admin/js/common.min.js
+++ b/wp-admin/js/common.min.js
@@ -1 +1 @@
-var showNotice,adminMenu,columns,validateForm,screenMeta;!function(a,b){adminMenu={init:function(){},fold:function(){},restoreMenuState:function(){},toggle:function(){},favorites:function(){}},columns={init:function(){var b=this;a(".hide-column-tog","#adv-settings").click(function(){var c=a(this),d=c.val();c.prop("checked")?b.checked(d):b.unchecked(d),columns.saveManageColumnsState()})},saveManageColumnsState:function(){var b=this.hidden();a.post(ajaxurl,{action:"hidden-columns",hidden:b,screenoptionnonce:a("#screenoptionnonce").val(),page:pagenow})},checked:function(b){a(".column-"+b).show(),this.colSpanChange(1)},unchecked:function(b){a(".column-"+b).hide(),this.colSpanChange(-1)},hidden:function(){return a(".manage-column").filter(":hidden").map(function(){return this.id}).get().join(",")},useCheckboxesForHidden:function(){this.hidden=function(){return a(".hide-column-tog").not(":checked").map(function(){var a=this.id;return a.substring(a,a.length-5)}).get().join(",")}},colSpanChange:function(b){var c,d=a("table").find(".colspanchange");d.length&&(c=parseInt(d.attr("colspan"),10)+b,d.attr("colspan",c.toString()))}},a(document).ready(function(){columns.init()}),validateForm=function(b){return!a(b).find(".form-required").filter(function(){return""===a("input:visible",this).val()}).addClass("form-invalid").find("input:visible").change(function(){a(this).closest(".form-invalid").removeClass("form-invalid")}).size()},showNotice={warn:function(){var a=commonL10n.warnDelete||"";return confirm(a)?!0:!1},note:function(a){alert(a)}},screenMeta={element:null,toggles:null,page:null,init:function(){this.element=a("#screen-meta"),this.toggles=a(".screen-meta-toggle a"),this.page=a("#wpcontent"),this.toggles.click(this.toggleEvent)},toggleEvent:function(b){var c=a(this.href.replace(/.+#/,"#"));b.preventDefault(),c.length&&(c.is(":visible")?screenMeta.close(c,a(this)):screenMeta.open(c,a(this)))},open:function(b,c){a(".screen-meta-toggle").not(c.parent()).css("visibility","hidden"),b.parent().show(),b.slideDown("fast",function(){b.focus(),c.addClass("screen-meta-active").attr("aria-expanded",!0)})},close:function(b,c){b.slideUp("fast",function(){c.removeClass("screen-meta-active").attr("aria-expanded",!1),a(".screen-meta-toggle").css("visibility",""),b.parent().hide()})}},a(".contextual-help-tabs").delegate("a","click focus",function(b){var c,d=a(this);return b.preventDefault(),d.is(".active a")?!1:(a(".contextual-help-tabs .active").removeClass("active"),d.parent("li").addClass("active"),c=a(d.attr("href")),a(".help-tab-content").not(c).removeClass("active").hide(),void c.addClass("active").show())}),a(document).ready(function(){var c,d,e,f,g,h,i,j,k=!1,l=a("#adminmenu"),m=a("input.current-page"),n=m.val();l.on("click.wp-submenu-head",".wp-submenu-head",function(b){a(b.target).parent().siblings("a").get(0).click()}),a("#collapse-menu").on("click.collapse-menu",function(){var c,d=a(document.body);a("#adminmenu div.wp-submenu").css("margin-top",""),c=b.innerWidth?Math.max(b.innerWidth,document.documentElement.clientWidth):901,c&&900>c?d.hasClass("auto-fold")?(d.removeClass("auto-fold").removeClass("folded"),setUserSetting("unfold",1),setUserSetting("mfold","o")):(d.addClass("auto-fold"),setUserSetting("unfold",0)):d.hasClass("folded")?(d.removeClass("folded"),setUserSetting("mfold","o")):(d.addClass("folded"),setUserSetting("mfold","f"))}),("ontouchstart"in b||/IEMobile\/[1-9]/.test(navigator.userAgent))&&(h=/Mobile\/.+Safari/.test(navigator.userAgent)?"touchstart":"click",a(document.body).on(h+".wp-mobile-hover",function(b){l.data("wp-responsive")||a(b.target).closest("#adminmenu").length||l.find("li.wp-has-submenu.opensub").removeClass("opensub")}),l.find("a.wp-has-submenu").on(h+".wp-mobile-hover",function(c){var d,e,f,g,h,i,j,k=a(this),m=k.parent(),n=m.find(".wp-submenu");l.data("wp-responsive")||m.hasClass("opensub")||m.hasClass("wp-menu-open")&&!(m.width()<40)||(c.preventDefault(),h=m.offset().top,i=a(b).scrollTop(),j=h-i-30,d=h+n.height()+1,e=a("#wpwrap").height(),f=60+d-e,g=a(b).height()+i-50,d-f>g&&(f=d-g),f>j&&(f=j),f>1?n.css("margin-top","-"+f+"px"):n.css("margin-top",""),l.find("li.opensub").removeClass("opensub"),m.addClass("opensub"))})),l.find("li.wp-has-submenu").hoverIntent({over:function(){var c,d,e,f,g,h,i,j=a(this).find(".wp-submenu"),k=parseInt(j.css("top"),10);isNaN(k)||k>-5||l.data("wp-responsive")||(g=a(this).offset().top,h=a(b).scrollTop(),i=g-h-30,c=g+j.height()+1,d=a("#wpwrap").height(),e=60+c-d,f=a(b).height()+h-15,c-e>f&&(e=c-f),e>i&&(e=i),e>1?j.css("margin-top","-"+e+"px"):j.css("margin-top",""),l.find("li.menu-top").removeClass("opensub"),a(this).addClass("opensub"))},out:function(){l.data("wp-responsive")||a(this).removeClass("opensub").find(".wp-submenu").css("margin-top","")},timeout:200,sensitivity:7,interval:90}),l.on("focus.adminmenu",".wp-submenu a",function(b){l.data("wp-responsive")||a(b.target).closest("li.menu-top").addClass("opensub")}).on("blur.adminmenu",".wp-submenu a",function(b){l.data("wp-responsive")||a(b.target).closest("li.menu-top").removeClass("opensub")}),a("div.wrap h2:first").nextAll("div.updated, div.error").addClass("below-h2"),a("div.updated, div.error").not(".below-h2, .inline").insertAfter(a("div.wrap h2:first")),screenMeta.init(),a("tbody").children().children(".check-column").find(":checkbox").click(function(b){if("undefined"==b.shiftKey)return!0;if(b.shiftKey){if(!k)return!0;c=a(k).closest("form").find(":checkbox"),d=c.index(k),e=c.index(this),f=a(this).prop("checked"),d>0&&e>0&&d!=e&&(g=e>d?c.slice(d,e):c.slice(e,d),g.prop("checked",function(){return a(this).closest("tr").is(":visible")?f:!1}))}k=this;var h=a(this).closest("tbody").find(":checkbox").filter(":visible").not(":checked");return a(this).closest("table").children("thead, tfoot").find(":checkbox").prop("checked",function(){return 0===h.length}),!0}),a("thead, tfoot").find(".check-column :checkbox").on("click.wp-toggle-checkboxes",function(b){var c=a(this),d=c.closest("table"),e=c.prop("checked"),f=b.shiftKey||c.data("wp-toggle");d.children("tbody").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){return a(this).is(":hidden")?!1:f?!a(this).prop("checked"):e?!0:!1}),d.children("thead,  tfoot").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){return f?!1:e?!0:!1})}),a("td.post-title, td.title, td.comment, .bookmarks td.column-name, td.blogname, td.username, .dashboard-comment-wrap").focusin(function(){clearTimeout(i),j=a(this).find(".row-actions"),j.addClass("visible")}).focusout(function(){i=setTimeout(function(){j.removeClass("visible")},30)}),a("#default-password-nag-no").click(function(){return setUserSetting("default_password_nag","hide"),a("div.default-password-nag").hide(),!1}),a("#newcontent").bind("keydown.wpevent_InsertTab",function(b){var c,d,e,f,g,h=b.target;if(27==b.keyCode)return void a(h).data("tab-out",!0);if(!(9!=b.keyCode||b.ctrlKey||b.altKey||b.shiftKey)){if(a(h).data("tab-out"))return void a(h).data("tab-out",!1);c=h.selectionStart,d=h.selectionEnd,e=h.value;try{this.lastKey=9}catch(i){}document.selection?(h.focus(),g=document.selection.createRange(),g.text="	"):c>=0&&(f=this.scrollTop,h.value=e.substring(0,c).concat("	",e.substring(d)),h.selectionStart=h.selectionEnd=c+1,this.scrollTop=f),b.stopPropagation&&b.stopPropagation(),b.preventDefault&&b.preventDefault()}}),a("#newcontent").bind("blur.wpevent_InsertTab",function(){this.lastKey&&9==this.lastKey&&this.focus()}),m.length&&m.closest("form").submit(function(){-1==a('select[name="action"]').val()&&-1==a('select[name="action2"]').val()&&m.val()==n&&m.val("1")}),a('.search-box input[type="search"], .search-box input[type="submit"]').mousedown(function(){a('select[name^="action"]').val("-1")}),a("#contextual-help-link, #show-settings-link").on("focus.scroll-into-view",function(a){a.target.scrollIntoView&&a.target.scrollIntoView(!1)}),function(){function b(){c.prop("disabled",""===d.map(function(){return a(this).val()}).get().join(""))}var c,d,e=a("form.wp-upload-form");e.length&&(c=e.find('input[type="submit"]'),d=e.find('input[type="file"]'),b(),d.on("change",b))}()}),function(){function c(){a(document).trigger("wp-window-resized")}function d(){b.clearTimeout(e),e=b.setTimeout(c,200)}var e;a(b).on("resize.wp-fire-once",d)}(),a(document).ready(function(){var c=a(document),d=a(b),e=a(document.body),f=a("#adminmenuwrap"),g=a("#collapse-menu"),h=a("#wpwrap"),i=a("#adminmenu"),j=a("#wp-responsive-overlay"),k=a("#wp-toolbar"),l=k.find('a[aria-haspopup="true"]'),m=a(".meta-box-sortables"),n=!1,o=!1;b.stickyMenu={enable:function(){n||(c.on("wp-window-resized.sticky-menu",a.proxy(this.update,this)),g.on("click.sticky-menu",a.proxy(this.update,this)),this.update(),n=!0)},disable:function(){n&&(d.off("resize.sticky-menu"),g.off("click.sticky-menu"),e.removeClass("sticky-menu"),n=!1)},update:function(){d.height()>f.height()+32?e.hasClass("sticky-menu")||e.addClass("sticky-menu"):e.hasClass("sticky-menu")&&e.removeClass("sticky-menu")}},b.wpResponsive={init:function(){var e=this,f=0;c.on("wp-responsive-activate.wp-responsive",function(){e.activate()}).on("wp-responsive-deactivate.wp-responsive",function(){e.deactivate()}),a("#wp-admin-bar-menu-toggle a").attr("aria-expanded","false"),a("#wp-admin-bar-menu-toggle").on("click.wp-responsive",function(b){b.preventDefault(),h.toggleClass("wp-responsive-open"),h.hasClass("wp-responsive-open")?(a(this).find("a").attr("aria-expanded","true"),a("#adminmenu a:first").focus()):a(this).find("a").attr("aria-expanded","false")}),i.on("touchstart.wp-responsive","li.wp-has-submenu > a",function(){f=d.scrollTop()}).on("touchend.wp-responsive click.wp-responsive","li.wp-has-submenu > a",function(b){!i.data("wp-responsive")||"touchend"===b.type&&d.scrollTop()!==f||(a(this).parent("li").toggleClass("selected"),b.preventDefault())}),e.trigger(),c.on("wp-window-resized.wp-responsive",a.proxy(this.trigger,this)),d.on("load.wp-responsive",function(){var a=navigator.userAgent.indexOf("AppleWebKit/")>-1?d.width():b.innerWidth;782>=a&&e.disableSortables()})},activate:function(){b.stickyMenu.disable(),e.hasClass("auto-fold")||e.addClass("auto-fold"),i.data("wp-responsive",1),this.disableSortables()},deactivate:function(){b.stickyMenu.enable(),i.removeData("wp-responsive"),this.enableSortables()},trigger:function(){var a;b.innerWidth&&(a=Math.max(b.innerWidth,document.documentElement.clientWidth),782>=a?o||(c.trigger("wp-responsive-activate"),o=!0):o&&(c.trigger("wp-responsive-deactivate"),o=!1),480>=a?this.enableOverlay():this.disableOverlay())},enableOverlay:function(){0===j.length&&(j=a('<div id="wp-responsive-overlay"></div>').insertAfter("#wpcontent").hide().on("click.wp-responsive",function(){k.find(".menupop.hover").removeClass("hover"),a(this).hide()})),l.on("click.wp-responsive",function(){j.show()})},disableOverlay:function(){l.off("click.wp-responsive"),j.hide()},disableSortables:function(){if(m.length)try{m.sortable("disable")}catch(a){}},enableSortables:function(){if(m.length)try{m.sortable("enable")}catch(a){}}},b.stickyMenu.enable(),b.wpResponsive.init()}),function(){if("-ms-user-select"in document.documentElement.style&&navigator.userAgent.match(/IEMobile\/10\.0/)){var a=document.createElement("style");a.appendChild(document.createTextNode("@-ms-viewport{width:auto!important}")),document.getElementsByTagName("head")[0].appendChild(a)}}()}(jQuery,window);
\ No newline at end of file
+var showNotice,adminMenu,columns,validateForm,screenMeta;!function(a,b){adminMenu={init:function(){},fold:function(){},restoreMenuState:function(){},toggle:function(){},favorites:function(){}},columns={init:function(){var b=this;a(".hide-column-tog","#adv-settings").click(function(){var c=a(this),d=c.val();c.prop("checked")?b.checked(d):b.unchecked(d),columns.saveManageColumnsState()})},saveManageColumnsState:function(){var b=this.hidden();a.post(ajaxurl,{action:"hidden-columns",hidden:b,screenoptionnonce:a("#screenoptionnonce").val(),page:pagenow})},checked:function(b){a(".column-"+b).show(),this.colSpanChange(1)},unchecked:function(b){a(".column-"+b).hide(),this.colSpanChange(-1)},hidden:function(){return a(".manage-column").filter(":hidden").map(function(){return this.id}).get().join(",")},useCheckboxesForHidden:function(){this.hidden=function(){return a(".hide-column-tog").not(":checked").map(function(){var a=this.id;return a.substring(a,a.length-5)}).get().join(",")}},colSpanChange:function(b){var c,d=a("table").find(".colspanchange");d.length&&(c=parseInt(d.attr("colspan"),10)+b,d.attr("colspan",c.toString()))}},a(document).ready(function(){columns.init()}),validateForm=function(b){return!a(b).find(".form-required").filter(function(){return""===a("input:visible",this).val()}).addClass("form-invalid").find("input:visible").change(function(){a(this).closest(".form-invalid").removeClass("form-invalid")}).size()},showNotice={warn:function(){var a=commonL10n.warnDelete||"";return confirm(a)?!0:!1},note:function(a){alert(a)}},screenMeta={element:null,toggles:null,page:null,init:function(){this.element=a("#screen-meta"),this.toggles=a(".screen-meta-toggle a"),this.page=a("#wpcontent"),this.toggles.click(this.toggleEvent)},toggleEvent:function(b){var c=a(this.href.replace(/.+#/,"#"));b.preventDefault(),c.length&&(c.is(":visible")?screenMeta.close(c,a(this)):screenMeta.open(c,a(this)))},open:function(b,c){a(".screen-meta-toggle").not(c.parent()).css("visibility","hidden"),b.parent().show(),b.slideDown("fast",function(){b.focus(),c.addClass("screen-meta-active").attr("aria-expanded",!0)}),a(document).trigger("screen:options:open")},close:function(b,c){b.slideUp("fast",function(){c.removeClass("screen-meta-active").attr("aria-expanded",!1),a(".screen-meta-toggle").css("visibility",""),b.parent().hide()}),a(document).trigger("screen:options:close")}},a(".contextual-help-tabs").delegate("a","click",function(b){var c,d=a(this);return b.preventDefault(),d.is(".active a")?!1:(a(".contextual-help-tabs .active").removeClass("active"),d.parent("li").addClass("active"),c=a(d.attr("href")),a(".help-tab-content").not(c).removeClass("active").hide(),void c.addClass("active").show())}),a(document).ready(function(){var c,d,e,f,g,h,i,j,k=!1,l=a("#adminmenu"),m=a("input.current-page"),n=m.val();l.on("click.wp-submenu-head",".wp-submenu-head",function(b){a(b.target).parent().siblings("a").get(0).click()}),a("#collapse-menu").on("click.collapse-menu",function(){var c,d,e=a(document.body);a("#adminmenu div.wp-submenu").css("margin-top",""),c=b.innerWidth?Math.max(b.innerWidth,document.documentElement.clientWidth):961,c&&960>c?e.hasClass("auto-fold")?(e.removeClass("auto-fold").removeClass("folded"),setUserSetting("unfold",1),setUserSetting("mfold","o"),d="open"):(e.addClass("auto-fold"),setUserSetting("unfold",0),d="folded"):e.hasClass("folded")?(e.removeClass("folded"),setUserSetting("mfold","o"),d="open"):(e.addClass("folded"),setUserSetting("mfold","f"),d="folded"),a(document).trigger("wp-collapse-menu",{state:d})}),("ontouchstart"in b||/IEMobile\/[1-9]/.test(navigator.userAgent))&&(h=/Mobile\/.+Safari/.test(navigator.userAgent)?"touchstart":"click",a(document.body).on(h+".wp-mobile-hover",function(b){l.data("wp-responsive")||a(b.target).closest("#adminmenu").length||l.find("li.wp-has-submenu.opensub").removeClass("opensub")}),l.find("a.wp-has-submenu").on(h+".wp-mobile-hover",function(c){var d,e,f,g,h,i,j,k=a(this),m=k.parent(),n=m.find(".wp-submenu");l.data("wp-responsive")||m.hasClass("opensub")||m.hasClass("wp-menu-open")&&!(m.width()<40)||(c.preventDefault(),h=m.offset().top,i=a(b).scrollTop(),j=h-i-30,d=h+n.height()+1,e=a("#wpwrap").height(),f=60+d-e,g=a(b).height()+i-50,d-f>g&&(f=d-g),f>j&&(f=j),f>1?n.css("margin-top","-"+f+"px"):n.css("margin-top",""),l.find("li.opensub").removeClass("opensub"),m.addClass("opensub"))})),l.find("li.wp-has-submenu").hoverIntent({over:function(){var c,d,e,f,g,h,i,j=a(this).find(".wp-submenu"),k=parseInt(j.css("top"),10);isNaN(k)||k>-5||l.data("wp-responsive")||(g=a(this).offset().top,h=a(b).scrollTop(),i=g-h-30,c=g+j.height()+1,d=a("#wpwrap").height(),e=60+c-d,f=a(b).height()+h-15,c-e>f&&(e=c-f),e>i&&(e=i),e>1?j.css("margin-top","-"+e+"px"):j.css("margin-top",""),l.find("li.menu-top").removeClass("opensub"),a(this).addClass("opensub"))},out:function(){l.data("wp-responsive")||a(this).removeClass("opensub").find(".wp-submenu").css("margin-top","")},timeout:200,sensitivity:7,interval:90}),l.on("focus.adminmenu",".wp-submenu a",function(b){l.data("wp-responsive")||a(b.target).closest("li.menu-top").addClass("opensub")}).on("blur.adminmenu",".wp-submenu a",function(b){l.data("wp-responsive")||a(b.target).closest("li.menu-top").removeClass("opensub")}),a("div.wrap h2:first").nextAll("div.updated, div.error").addClass("below-h2"),a("div.updated, div.error").not(".below-h2, .inline").insertAfter(a("div.wrap h2:first")),screenMeta.init(),a("tbody").children().children(".check-column").find(":checkbox").click(function(b){if("undefined"==b.shiftKey)return!0;if(b.shiftKey){if(!k)return!0;c=a(k).closest("form").find(":checkbox"),d=c.index(k),e=c.index(this),f=a(this).prop("checked"),d>0&&e>0&&d!=e&&(g=e>d?c.slice(d,e):c.slice(e,d),g.prop("checked",function(){return a(this).closest("tr").is(":visible")?f:!1}))}k=this;var h=a(this).closest("tbody").find(":checkbox").filter(":visible").not(":checked");return a(this).closest("table").children("thead, tfoot").find(":checkbox").prop("checked",function(){return 0===h.length}),!0}),a("thead, tfoot").find(".check-column :checkbox").on("click.wp-toggle-checkboxes",function(b){var c=a(this),d=c.closest("table"),e=c.prop("checked"),f=b.shiftKey||c.data("wp-toggle");d.children("tbody").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){return a(this).is(":hidden")?!1:f?!a(this).prop("checked"):e?!0:!1}),d.children("thead,  tfoot").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){return f?!1:e?!0:!1})}),a("td.post-title, td.title, td.comment, .bookmarks td.column-name, td.blogname, td.username, .dashboard-comment-wrap").focusin(function(){clearTimeout(i),j=a(this).find(".row-actions"),j.addClass("visible")}).focusout(function(){i=setTimeout(function(){j.removeClass("visible")},30)}),a("#default-password-nag-no").click(function(){return setUserSetting("default_password_nag","hide"),a("div.default-password-nag").hide(),!1}),a("#newcontent").bind("keydown.wpevent_InsertTab",function(b){var c,d,e,f,g,h=b.target;if(27==b.keyCode)return void a(h).data("tab-out",!0);if(!(9!=b.keyCode||b.ctrlKey||b.altKey||b.shiftKey)){if(a(h).data("tab-out"))return void a(h).data("tab-out",!1);c=h.selectionStart,d=h.selectionEnd,e=h.value;try{this.lastKey=9}catch(i){}document.selection?(h.focus(),g=document.selection.createRange(),g.text="	"):c>=0&&(f=this.scrollTop,h.value=e.substring(0,c).concat("	",e.substring(d)),h.selectionStart=h.selectionEnd=c+1,this.scrollTop=f),b.stopPropagation&&b.stopPropagation(),b.preventDefault&&b.preventDefault()}}),a("#newcontent").bind("blur.wpevent_InsertTab",function(){this.lastKey&&9==this.lastKey&&this.focus()}),m.length&&m.closest("form").submit(function(){-1==a('select[name="action"]').val()&&-1==a('select[name="action2"]').val()&&m.val()==n&&m.val("1")}),a('.search-box input[type="search"], .search-box input[type="submit"]').mousedown(function(){a('select[name^="action"]').val("-1")}),a("#contextual-help-link, #show-settings-link").on("focus.scroll-into-view",function(a){a.target.scrollIntoView&&a.target.scrollIntoView(!1)}),function(){function b(){c.prop("disabled",""===d.map(function(){return a(this).val()}).get().join(""))}var c,d,e=a("form.wp-upload-form");e.length&&(c=e.find('input[type="submit"]'),d=e.find('input[type="file"]'),b(),d.on("change",b))}()}),function(){function c(){a(document).trigger("wp-window-resized")}function d(){b.clearTimeout(e),e=b.setTimeout(c,200)}var e;a(b).on("resize.wp-fire-once",d)}(),a(document).ready(function(){var c=a(document),d=a(b),e=a(document.body),f=a("#adminmenuwrap"),g=a("#collapse-menu"),h=a("#wpwrap"),i=a("#adminmenu"),j=a("#wp-responsive-overlay"),k=a("#wp-toolbar"),l=k.find('a[aria-haspopup="true"]'),m=a(".meta-box-sortables"),n=!1,o=!1;b.stickyMenu={enable:function(){n||(c.on("wp-window-resized.sticky-menu",a.proxy(this.update,this)),g.on("click.sticky-menu",a.proxy(this.update,this)),this.update(),n=!0)},disable:function(){n&&(d.off("resize.sticky-menu"),g.off("click.sticky-menu"),e.removeClass("sticky-menu"),n=!1)},update:function(){d.height()>f.height()+32?e.hasClass("sticky-menu")||e.addClass("sticky-menu"):e.hasClass("sticky-menu")&&e.removeClass("sticky-menu")}},b.wpResponsive={init:function(){var e=this;c.on("wp-responsive-activate.wp-responsive",function(){e.activate()}).on("wp-responsive-deactivate.wp-responsive",function(){e.deactivate()}),a("#wp-admin-bar-menu-toggle a").attr("aria-expanded","false"),a("#wp-admin-bar-menu-toggle").on("click.wp-responsive",function(b){b.preventDefault(),h.toggleClass("wp-responsive-open"),h.hasClass("wp-responsive-open")?(a(this).find("a").attr("aria-expanded","true"),a("#adminmenu a:first").focus()):a(this).find("a").attr("aria-expanded","false")}),i.on("click.wp-responsive","li.wp-has-submenu > a",function(b){i.data("wp-responsive")&&(a(this).parent("li").toggleClass("selected"),b.preventDefault())}),e.trigger(),c.on("wp-window-resized.wp-responsive",a.proxy(this.trigger,this)),d.on("load.wp-responsive",function(){var a=navigator.userAgent.indexOf("AppleWebKit/")>-1?d.width():b.innerWidth;782>=a&&e.disableSortables()})},activate:function(){b.stickyMenu.disable(),e.hasClass("auto-fold")||e.addClass("auto-fold"),i.data("wp-responsive",1),this.disableSortables()},deactivate:function(){b.stickyMenu.enable(),i.removeData("wp-responsive"),this.enableSortables()},trigger:function(){var a;b.innerWidth&&(a=Math.max(b.innerWidth,document.documentElement.clientWidth),782>=a?o||(c.trigger("wp-responsive-activate"),o=!0):o&&(c.trigger("wp-responsive-deactivate"),o=!1),480>=a?this.enableOverlay():this.disableOverlay())},enableOverlay:function(){0===j.length&&(j=a('<div id="wp-responsive-overlay"></div>').insertAfter("#wpcontent").hide().on("click.wp-responsive",function(){k.find(".menupop.hover").removeClass("hover"),a(this).hide()})),l.on("click.wp-responsive",function(){j.show()})},disableOverlay:function(){l.off("click.wp-responsive"),j.hide()},disableSortables:function(){if(m.length)try{m.sortable("disable")}catch(a){}},enableSortables:function(){if(m.length)try{m.sortable("enable")}catch(a){}}},b.stickyMenu.enable(),b.wpResponsive.init()}),function(){if("-ms-user-select"in document.documentElement.style&&navigator.userAgent.match(/IEMobile\/10\.0/)){var a=document.createElement("style");a.appendChild(document.createTextNode("@-ms-viewport{width:auto!important}")),document.getElementsByTagName("head")[0].appendChild(a)}}()}(jQuery,window);
\ No newline at end of file
diff --git a/wp-admin/js/customize-controls.js b/wp-admin/js/customize-controls.js
index 4bfc252a4..85b171dbe 100644
--- a/wp-admin/js/customize-controls.js
+++ b/wp-admin/js/customize-controls.js
@@ -3,6 +3,10 @@
 	var api = wp.customize;
 
 	/**
+	 * @constructor
+	 * @augments wp.customize.Value
+	 * @augments wp.customize.Class
+	 *
 	 * @param options
 	 * - previewer - The Previewer instance to sync with.
 	 * - transport - The transport to use for previewing. Supports 'refresh' and 'postMessage'.
@@ -26,6 +30,10 @@
 		}
 	});
 
+	/**
+	 * @constructor
+	 * @augments wp.customize.Class
+	 */
 	api.Control = api.Class.extend({
 		initialize: function( id, options ) {
 			var control = this,
@@ -37,6 +45,7 @@
 			this.id = id;
 			this.selector = '#customize-control-' + id.replace( /\]/g, '' ).replace( /\[/g, '-' );
 			this.container = $( this.selector );
+			this.active = new api.Value( this.params.active );
 
 			settings = $.map( this.params.settings, function( value ) {
 				return value;
@@ -79,10 +88,33 @@
 					element.set( setting() );
 				});
 			});
+
+			control.active.bind( function ( active ) {
+				control.toggle( active );
+			} );
+			control.toggle( control.active() );
 		},
 
+		/**
+		 * @abstract
+		 */
 		ready: function() {},
 
+		/**
+		 * Callback for change to the control's active state.
+		 *
+		 * Override function for custom behavior for the control being active/inactive.
+		 *
+		 * @param {Boolean} active
+		 */
+		toggle: function ( active ) {
+			if ( active ) {
+				this.container.slideDown();
+			} else {
+				this.container.slideUp();
+			}
+		},
+
 		dropdownInit: function() {
 			var control      = this,
 				statuses     = this.container.find('.dropdown-status'),
@@ -120,6 +152,11 @@
 		}
 	});
 
+	/**
+	 * @constructor
+	 * @augments wp.customize.Control
+	 * @augments wp.customize.Class
+	 */
 	api.ColorControl = api.Control.extend({
 		ready: function() {
 			var control = this,
@@ -136,6 +173,11 @@
 		}
 	});
 
+	/**
+	 * @constructor
+	 * @augments wp.customize.Control
+	 * @augments wp.customize.Class
+	 */
 	api.UploadControl = api.Control.extend({
 		ready: function() {
 			var control = this;
@@ -189,6 +231,12 @@
 		}
 	});
 
+	/**
+	 * @constructor
+	 * @augments wp.customize.UploadControl
+	 * @augments wp.customize.Control
+	 * @augments wp.customize.Class
+	 */
 	api.ImageControl = api.UploadControl.extend({
 		ready: function() {
 			var control = this,
@@ -307,6 +355,11 @@
 		}
 	});
 
+	/**
+	 * @constructor
+	 * @augments wp.customize.Control
+	 * @augments wp.customize.Class
+	 */
 	api.HeaderControl = api.Control.extend({
 		ready: function() {
 			this.btnRemove        = $('#customize-control-header_image .actions .remove');
@@ -523,6 +576,12 @@
 	// Create the collection of Control objects.
 	api.control = new api.Values({ defaultConstructor: api.Control });
 
+	/**
+	 * @constructor
+	 * @augments wp.customize.Messenger
+	 * @augments wp.customize.Class
+	 * @mixes wp.customize.Events
+	 */
 	api.PreviewFrame = api.Messenger.extend({
 		sensitivity: 2000,
 
@@ -563,6 +622,19 @@
 
 			this.bind( 'ready', this._ready );
 
+			this.bind( 'ready', function ( data ) {
+				if ( ! data || ! data.activeControls ) {
+					return;
+				}
+
+				$.each( data.activeControls, function ( id, active ) {
+					var control = api.control( id );
+					if ( control ) {
+						control.active( active );
+					}
+				} );
+			} );
+
 			this.request = $.ajax( this.previewUrl(), {
 				type: 'POST',
 				data: this.query,
@@ -680,11 +752,22 @@
 
 	(function(){
 		var uuid = 0;
+		/**
+		 * Create a universally unique identifier.
+		 *
+		 * @return {int}
+		 */
 		api.PreviewFrame.uuid = function() {
 			return 'preview-' + uuid++;
 		};
 	}());
 
+	/**
+	 * @constructor
+	 * @augments wp.customize.Messenger
+	 * @augments wp.customize.Class
+	 * @mixes wp.customize.Events
+	 */
 	api.Previewer = api.Messenger.extend({
 		refreshBuffer: 250,
 
@@ -890,10 +973,6 @@
 		}
 	});
 
-	/* =====================================================================
-	 * Ready.
-	 * ===================================================================== */
-
 	api.controlConstructor = {
 		color:  api.ColorControl,
 		upload: api.UploadControl,
@@ -913,9 +992,12 @@
 		if ( ! $.support.postMessage || ( ! $.support.cors && api.settings.isCrossDomain ) )
 			return window.location = api.settings.url.fallback;
 
-		var previewer, parent, topFocus,
+		var parent, topFocus,
 			body = $( document.body ),
-			overlay = body.children('.wp-full-overlay');
+			overlay = body.children( '.wp-full-overlay' ),
+			title = $( '#customize-info .theme-name.site-title' ),
+			closeBtn = $( '.customize-controls-close' ),
+			saveBtn = $( '#save' );
 
 		// Prevent the form from saving when enter is pressed on an input or select element.
 		$('#customize-controls').on( 'keydown', function( e ) {
@@ -928,7 +1010,7 @@
 		});
 
 		// Initialize Previewer
-		previewer = new api.Previewer({
+		api.previewer = new api.Previewer({
 			container:   '#customize-preview',
 			form:        '#customize-controls',
 			previewUrl:  api.settings.url.preview,
@@ -1005,14 +1087,14 @@
 		});
 
 		// Refresh the nonces if the preview sends updated nonces over.
-		previewer.bind( 'nonce', function( nonce ) {
+		api.previewer.bind( 'nonce', function( nonce ) {
 			$.extend( this.nonce, nonce );
 		});
 
 		$.each( api.settings.settings, function( id, data ) {
 			api.create( id, id, data.value, {
 				transport: data.transport,
-				previewer: previewer
+				previewer: api.previewer
 			} );
 		});
 
@@ -1022,15 +1104,16 @@
 
 			control = api.control.add( id, new constructor( id, {
 				params: data,
-				previewer: previewer
+				previewer: api.previewer
 			} ) );
 		});
 
 		// Check if preview url is valid and load the preview frame.
-		if ( previewer.previewUrl() )
-			previewer.refresh();
-		else
-			previewer.previewUrl( api.settings.url.home );
+		if ( api.previewer.previewUrl() ) {
+			api.previewer.refresh();
+		} else {
+			api.previewer.previewUrl( api.settings.url.home );
+		}
 
 		// Save and activated states
 		(function() {
@@ -1040,20 +1123,17 @@
 				processing = state.create( 'processing' );
 
 			state.bind( 'change', function() {
-				var save = $('#save'),
-					back = $('.back');
-
 				if ( ! activated() ) {
-					save.val( api.l10n.activate ).prop( 'disabled', false );
-					back.text( api.l10n.cancel );
+					saveBtn.val( api.l10n.activate ).prop( 'disabled', false );
+					closeBtn.find( '.screen-reader-text' ).text( api.l10n.cancel );
 
 				} else if ( saved() ) {
-					save.val( api.l10n.saved ).prop( 'disabled', true );
-					back.text( api.l10n.close );
+					saveBtn.val( api.l10n.saved ).prop( 'disabled', true );
+					closeBtn.find( '.screen-reader-text' ).text( api.l10n.close );
 
 				} else {
-					save.val( api.l10n.save ).prop( 'disabled', false );
-					back.text( api.l10n.cancel );
+					saveBtn.val( api.l10n.save ).prop( 'disabled', false );
+					closeBtn.find( '.screen-reader-text' ).text( api.l10n.cancel );
 				}
 			});
 
@@ -1081,18 +1161,18 @@
 		}());
 
 		// Button bindings.
-		$('#save').click( function( event ) {
-			previewer.save();
+		saveBtn.click( function( event ) {
+			api.previewer.save();
 			event.preventDefault();
 		}).keydown( function( event ) {
 			if ( 9 === event.which ) // tab
 				return;
 			if ( 13 === event.which ) // enter
-				previewer.save();
+				api.previewer.save();
 			event.preventDefault();
 		});
 
-		$('.back').keydown( function( event ) {
+		closeBtn.keydown( function( event ) {
 			if ( 9 === event.which ) // tab
 				return;
 			if ( 13 === event.which ) // enter
@@ -1113,6 +1193,13 @@
 			event.preventDefault();
 		});
 
+		// Bind site title display to the corresponding field.
+		if ( title.length ) {
+			$( '#customize-control-blogname input' ).on( 'input', function() {
+				title.text(  this.value );
+			} );
+		}
+
 		// Create a potential postMessage connection with the parent frame.
 		parent = new api.Messenger({
 			url: api.settings.url.parent,
@@ -1122,16 +1209,25 @@
 		// If we receive a 'back' event, we're inside an iframe.
 		// Send any clicks to the 'Return' link to the parent page.
 		parent.bind( 'back', function() {
-			$('.back').on( 'click.back', function( event ) {
+			closeBtn.on( 'click.customize-controls-close', function( event ) {
 				event.preventDefault();
 				parent.send( 'close' );
 			});
 		});
 
+		// Prompt user with AYS dialog if leaving the Customizer with unsaved changes
+		$( window ).on( 'beforeunload', function () {
+			if ( ! api.state( 'saved' )() ) {
+				return api.l10n.saveAlert;
+			}
+		} );
+
 		// Pass events through to the parent.
-		api.bind( 'saved', function() {
-			parent.send( 'saved' );
-		});
+		$.each( [ 'saved', 'change' ], function ( i, event ) {
+			api.bind( event, function() {
+				parent.send( event );
+			});
+		} );
 
 		// When activated, let the loader handle redirecting the page.
 		// If no loader exists, redirect the page ourselves (if a url exists).
@@ -1198,7 +1294,7 @@
 		api.trigger( 'ready' );
 
 		// Make sure left column gets focus
-		topFocus = $('.back');
+		topFocus = closeBtn;
 		topFocus.focus();
 		setTimeout(function () {
 			topFocus.focus();
diff --git a/wp-admin/js/customize-controls.min.js b/wp-admin/js/customize-controls.min.js
index cd6a4c55a..9ee86c3b4 100644
--- a/wp-admin/js/customize-controls.min.js
+++ b/wp-admin/js/customize-controls.min.js
@@ -1 +1 @@
-!function(a,b){var c=wp.customize;c.Setting=c.Value.extend({initialize:function(a,b,d){c.Value.prototype.initialize.call(this,b,d),this.id=a,this.transport=this.transport||"refresh",this.bind(this.preview)},preview:function(){switch(this.transport){case"refresh":return this.previewer.refresh();case"postMessage":return this.previewer.send("setting",[this.id,this()])}}}),c.Control=c.Class.extend({initialize:function(a,d){var e,f,g,h=this;this.params={},b.extend(this,d||{}),this.id=a,this.selector="#customize-control-"+a.replace(/\]/g,"").replace(/\[/g,"-"),this.container=b(this.selector),g=b.map(this.params.settings,function(a){return a}),c.apply(c,g.concat(function(){var a;h.settings={};for(a in h.params.settings)h.settings[a]=c(h.params.settings[a]);h.setting=h.settings["default"]||null,h.ready()})),h.elements=[],e=this.container.find("[data-customize-setting-link]"),f={},e.each(function(){var a,d=b(this);if(d.is(":radio")){if(a=d.prop("name"),f[a])return;f[a]=!0,d=e.filter('[name="'+a+'"]')}c(d.data("customizeSettingLink"),function(a){var b=new c.Element(d);h.elements.push(b),b.sync(a),b.set(a())})})},ready:function(){},dropdownInit:function(){var a=this,b=this.container.find(".dropdown-status"),c=this.params,d=!1,e=function(a){"string"==typeof a&&c.statuses&&c.statuses[a]?b.html(c.statuses[a]).show():b.hide()};this.container.on("click keydown",".dropdown",function(b){("keydown"!==b.type||13===b.which)&&(b.preventDefault(),d||a.container.toggleClass("open"),a.container.hasClass("open")&&a.container.parent().parent().find("li.library-selected").focus(),d=!0,setTimeout(function(){d=!1},400))}),this.setting.bind(e),e(this.setting())}}),c.ColorControl=c.Control.extend({ready:function(){var a=this,b=this.container.find(".color-picker-hex");b.val(a.setting()).wpColorPicker({change:function(){a.setting.set(b.wpColorPicker("color"))},clear:function(){a.setting.set(!1)}})}}),c.UploadControl=c.Control.extend({ready:function(){var a=this;this.params.removed=this.params.removed||"",this.success=b.proxy(this.success,this),this.uploader=b.extend({container:this.container,browser:this.container.find(".upload"),dropzone:this.container.find(".upload-dropzone"),success:this.success,plupload:{},params:{}},this.uploader||{}),a.params.extensions&&(a.uploader.plupload.filters=[{title:c.l10n.allowedFiles,extensions:a.params.extensions}]),a.params.context&&(a.uploader.params["post_data[context]"]=this.params.context),c.settings.theme.stylesheet&&(a.uploader.params["post_data[theme]"]=c.settings.theme.stylesheet),this.uploader=new wp.Uploader(this.uploader),this.remover=this.container.find(".remove"),this.remover.on("click keydown",function(b){("keydown"!==b.type||13===b.which)&&(a.setting.set(a.params.removed),b.preventDefault())}),this.removerVisibility=b.proxy(this.removerVisibility,this),this.setting.bind(this.removerVisibility),this.removerVisibility(this.setting.get())},success:function(a){this.setting.set(a.get("url"))},removerVisibility:function(a){this.remover.toggle(a!=this.params.removed)}}),c.ImageControl=c.UploadControl.extend({ready:function(){var a,d=this;this.uploader={init:function(){var a,b;this.supports.dragdrop||(a=d.container.find(".upload-fallback"),b=a.children().detach(),this.browser.detach().empty().append(b),a.append(this.browser).show())}},c.UploadControl.prototype.ready.call(this),this.thumbnail=this.container.find(".preview-thumbnail img"),this.thumbnailSrc=b.proxy(this.thumbnailSrc,this),this.setting.bind(this.thumbnailSrc),this.library=this.container.find(".library"),this.tabs={},a=this.library.find(".library-content"),this.library.children("ul").children("li").each(function(){var c=b(this),e=c.data("customizeTab"),f=a.filter('[data-customize-tab="'+e+'"]');d.tabs[e]={both:c.add(f),link:c,panel:f}}),this.library.children("ul").on("click keydown","li",function(a){if("keydown"!==a.type||13===a.which){var c=b(this).data("customizeTab"),e=d.tabs[c];a.preventDefault(),e.link.hasClass("library-selected")||(d.selected.both.removeClass("library-selected"),d.selected=e,d.selected.both.addClass("library-selected"))}}),this.library.on("click keydown","a",function(a){if("keydown"!==a.type||13===a.which){var c=b(this).data("customizeImageValue");c&&(d.setting.set(c),a.preventDefault())}}),this.tabs.uploaded&&(this.tabs.uploaded.target=this.library.find(".uploaded-target"),this.tabs.uploaded.panel.find(".thumbnail").length||this.tabs.uploaded.both.addClass("hidden")),a.each(function(){var a=d.tabs[b(this).data("customizeTab")];return a.link.hasClass("hidden")?void 0:(d.selected=a,a.both.addClass("library-selected"),!1)}),this.dropdownInit()},success:function(a){c.UploadControl.prototype.success.call(this,a),this.tabs.uploaded&&this.tabs.uploaded.target.length&&(this.tabs.uploaded.both.removeClass("hidden"),a.element=b('<a href="#" class="thumbnail"></a>').data("customizeImageValue",a.get("url")).append('<img src="'+a.get("url")+'" />').appendTo(this.tabs.uploaded.target))},thumbnailSrc:function(a){/^(https?:)?\/\//.test(a)?this.thumbnail.prop("src",a).show():this.thumbnail.hide()}}),c.HeaderControl=c.Control.extend({ready:function(){this.btnRemove=b("#customize-control-header_image .actions .remove"),this.btnNew=b("#customize-control-header_image .actions .new"),_.bindAll(this,"openMedia","removeImage"),this.btnNew.on("click",this.openMedia),this.btnRemove.on("click",this.removeImage),c.HeaderTool.currentHeader=new c.HeaderTool.ImageModel,new c.HeaderTool.CurrentView({model:c.HeaderTool.currentHeader,el:".current .container"}),new c.HeaderTool.ChoiceListView({collection:c.HeaderTool.UploadsList=new c.HeaderTool.ChoiceList,el:".choices .uploaded .list"}),new c.HeaderTool.ChoiceListView({collection:c.HeaderTool.DefaultsList=new c.HeaderTool.DefaultsList,el:".choices .default .list"}),c.HeaderTool.combinedList=c.HeaderTool.CombinedList=new c.HeaderTool.CombinedList([c.HeaderTool.UploadsList,c.HeaderTool.DefaultsList])},calculateImageSelectOptions:function(a,b){var d,e,f,g,h,i,j=parseInt(_wpCustomizeHeader.data.width,10),k=parseInt(_wpCustomizeHeader.data.height,10),l=!!parseInt(_wpCustomizeHeader.data["flex-width"],10),m=!!parseInt(_wpCustomizeHeader.data["flex-height"],10);return h=a.get("width"),g=a.get("height"),this.headerImage=new c.HeaderTool.ImageModel,this.headerImage.set({themeWidth:j,themeHeight:k,themeFlexWidth:l,themeFlexHeight:m,imageWidth:h,imageHeight:g}),b.set("canSkipCrop",!this.headerImage.shouldBeCropped()),d=j/k,e=h,f=g,e/f>d?(k=f,j=k*d):(j=e,k=j/d),i={handles:!0,keys:!0,instance:!0,persistent:!0,imageWidth:h,imageHeight:g,x1:0,y1:0,x2:j,y2:k},m===!1&&l===!1&&(i.aspectRatio=j+":"+k),m===!1&&(i.maxHeight=k),l===!1&&(i.maxWidth=j),i},openMedia:function(a){var b=_wpMediaViewsL10n;a.preventDefault(),this.frame=wp.media({button:{text:b.selectAndCrop,close:!1},states:[new wp.media.controller.Library({title:b.chooseImage,library:wp.media.query({type:"image"}),multiple:!1,priority:20,suggestedWidth:_wpCustomizeHeader.data.width,suggestedHeight:_wpCustomizeHeader.data.height}),new wp.media.controller.Cropper({imgSelectOptions:this.calculateImageSelectOptions})]}),this.frame.on("select",this.onSelect,this),this.frame.on("cropped",this.onCropped,this),this.frame.on("skippedcrop",this.onSkippedCrop,this),this.frame.open()},onSelect:function(){this.frame.setState("cropper")},onCropped:function(a){var b=a.post_content,c=a.attachment_id,d=a.width,e=a.height;this.setImageFromURL(b,c,d,e)},onSkippedCrop:function(a){var b=a.get("url"),c=a.get("width"),d=a.get("height");this.setImageFromURL(b,a.id,c,d)},setImageFromURL:function(a,b,d,e){var f,g={};g.url=a,g.thumbnail_url=a,g.timestamp=_.now(),b&&(g.attachment_id=b),d&&(g.width=d),e&&(g.height=e),f=new c.HeaderTool.ImageModel({header:g,choice:a.split("/").pop()}),c.HeaderTool.UploadsList.add(f),c.HeaderTool.currentHeader.set(f.toJSON()),f.save(),f.importImage()},removeImage:function(){c.HeaderTool.currentHeader.trigger("hide"),c.HeaderTool.CombinedList.trigger("control:removeImage")}}),c.defaultConstructor=c.Setting,c.control=new c.Values({defaultConstructor:c.Control}),c.PreviewFrame=c.Messenger.extend({sensitivity:2e3,initialize:function(a,d){var e=b.Deferred();e.promise(this),this.container=a.container,this.signature=a.signature,b.extend(a,{channel:c.PreviewFrame.uuid()}),c.Messenger.prototype.initialize.call(this,a,d),this.add("previewUrl",a.previewUrl),this.query=b.extend(a.query||{},{customize_messenger_channel:this.channel()}),this.run(e)},run:function(a){var c=this,d=!1,e=!1;this._ready&&this.unbind("ready",this._ready),this._ready=function(){e=!0,d&&a.resolveWith(c)},this.bind("ready",this._ready),this.request=b.ajax(this.previewUrl(),{type:"POST",data:this.query,xhrFields:{withCredentials:!0}}),this.request.fail(function(){a.rejectWith(c,["request failure"])}),this.request.done(function(f){var g,h=c.request.getResponseHeader("Location"),i=c.signature;return h&&h!=c.previewUrl()?void a.rejectWith(c,["redirect",h]):"0"===f?void c.login(a):"-1"===f?void a.rejectWith(c,["cheatin"]):(g=f.lastIndexOf(i),-1===g||g<f.lastIndexOf("</html>")?void a.rejectWith(c,["unsigned"]):(f=f.slice(0,g)+f.slice(g+i.length),c.iframe=b("<iframe />").appendTo(c.container),c.iframe.one("load",function(){d=!0,e?a.resolveWith(c):setTimeout(function(){a.rejectWith(c,["ready timeout"])},c.sensitivity)}),c.targetWindow(c.iframe[0].contentWindow),c.targetWindow().document.open(),c.targetWindow().document.write(f),void c.targetWindow().document.close()))})},login:function(a){var d,e=this;return d=function(){a.rejectWith(e,["logged out"])},this.triedLogin?d():void b.get(c.settings.url.ajax,{action:"logged-in"}).fail(d).done(function(c){var f;"1"!==c&&d(),f=b('<iframe src="'+e.previewUrl()+'" />').hide(),f.appendTo(e.container),f.load(function(){e.triedLogin=!0,f.remove(),e.run(a)})})},destroy:function(){c.Messenger.prototype.destroy.call(this),this.request.abort(),this.iframe&&this.iframe.remove(),delete this.request,delete this.iframe,delete this.targetWindow}}),function(){var a=0;c.PreviewFrame.uuid=function(){return"preview-"+a++}}(),c.Previewer=c.Messenger.extend({refreshBuffer:250,initialize:function(a,d){var e=this,f=/^https?/;b.extend(this,d||{}),this.refresh=function(a){var b,c=a.refresh,d=function(){b=null,c.call(a)};return function(){if("number"!=typeof b){if(!a.loading)return d();a.abort()}clearTimeout(b),b=setTimeout(d,a.refreshBuffer)}}(this),this.container=c.ensure(a.container),this.allowedUrls=a.allowedUrls,this.signature=a.signature,a.url=window.location.href,c.Messenger.prototype.initialize.call(this,a),this.add("scheme",this.origin()).link(this.origin).setter(function(a){var b=a.match(f);return b?b[0]:""}),this.add("previewUrl",a.previewUrl).setter(function(a){var c;return/\/wp-admin(\/|$)/.test(a.replace(/[#?].*$/,""))?null:(b.each([a.replace(f,e.scheme()),a],function(a,d){return b.each(e.allowedUrls,function(a,b){var e;return b=b.replace(/\/+$/,""),e=d.replace(b,""),0===d.indexOf(b)&&/^([/#?]|$)/.test(e)?(c=d,!1):void 0}),c?!1:void 0}),c?c:null)}),this.previewUrl.bind(this.refresh),this.scroll=0,this.bind("scroll",function(a){this.scroll=a}),this.bind("url",this.previewUrl)},query:function(){},abort:function(){this.loading&&(this.loading.destroy(),delete this.loading)},refresh:function(){var a=this;this.abort(),this.loading=new c.PreviewFrame({url:this.url(),previewUrl:this.previewUrl(),query:this.query()||{},container:this.container,signature:this.signature}),this.loading.done(function(){this.bind("synced",function(){a.preview&&a.preview.destroy(),a.preview=this,delete a.loading,a.targetWindow(this.targetWindow()),a.channel(this.channel()),a.send("active")}),this.send("sync",{scroll:a.scroll,settings:c.get()})}),this.loading.fail(function(b,c){"redirect"===b&&c&&a.previewUrl(c),"logged out"===b&&(a.preview&&(a.preview.destroy(),delete a.preview),a.login().done(a.refresh)),"cheatin"===b&&a.cheatin()})},login:function(){var a,d,e,f=this;return this._login?this._login:(a=b.Deferred(),this._login=a.promise(),d=new c.Messenger({channel:"login",url:c.settings.url.login}),e=b('<iframe src="'+c.settings.url.login+'" />').appendTo(this.container),d.targetWindow(e[0].contentWindow),d.bind("login",function(){e.remove(),d.destroy(),delete f._login,a.resolve()}),this._login)},cheatin:function(){b(document.body).empty().addClass("cheatin").append("<p>"+c.l10n.cheatin+"</p>")}}),c.controlConstructor={color:c.ColorControl,upload:c.UploadControl,image:c.ImageControl,header:c.HeaderControl},b(function(){if(c.settings=window._wpCustomizeSettings,c.l10n=window._wpCustomizeControlsL10n,c.settings){if(!b.support.postMessage||!b.support.cors&&c.settings.isCrossDomain)return window.location=c.settings.url.fallback;var a,d,e,f=b(document.body),g=f.children(".wp-full-overlay");b("#customize-controls").on("keydown",function(a){var c=13===a.which,d=b(a.target);c&&(d.is("input:not([type=button])")||d.is("select"))&&a.preventDefault()}),a=new c.Previewer({container:"#customize-preview",form:"#customize-controls",previewUrl:c.settings.url.preview,allowedUrls:c.settings.url.allowed,signature:"WP_CUSTOMIZER_SIGNATURE"},{nonce:c.settings.nonce,query:function(){return{wp_customize:"on",theme:c.settings.theme.stylesheet,customized:JSON.stringify(c.get()),nonce:this.nonce.preview}},save:function(){var a,d,e=this,g=b.extend(this.query(),{action:"customize_save",nonce:this.nonce.save}),h=c.state("processing");f.addClass("saving"),d=function(){var a=b.post(c.settings.url.ajax,g);c.trigger("save",a),a.always(function(){f.removeClass("saving")}),a.done(function(a){return"0"===a?(e.preview.iframe.hide(),void e.login().done(function(){e.save(),e.preview.iframe.show()})):"-1"===a?void e.cheatin():void c.trigger("saved")})},0===h()?d():(a=function(){0===h()&&(c.state.unbind("change",a),d())},c.state.bind("change",a))}}),a.bind("nonce",function(a){b.extend(this.nonce,a)}),b.each(c.settings.settings,function(b,d){c.create(b,b,d.value,{transport:d.transport,previewer:a})}),b.each(c.settings.controls,function(b,d){var e,f=c.controlConstructor[d.type]||c.Control;e=c.control.add(b,new f(b,{params:d,previewer:a}))}),a.previewUrl()?a.refresh():a.previewUrl(c.settings.url.home),function(){var a=new c.Values,d=a.create("saved"),e=a.create("activated"),f=a.create("processing");a.bind("change",function(){var a=b("#save"),f=b(".back");e()?d()?(a.val(c.l10n.saved).prop("disabled",!0),f.text(c.l10n.close)):(a.val(c.l10n.save).prop("disabled",!1),f.text(c.l10n.cancel)):(a.val(c.l10n.activate).prop("disabled",!1),f.text(c.l10n.cancel))}),d(!0),e(c.settings.theme.active),f(0),c.bind("change",function(){a("saved").set(!1)}),c.bind("saved",function(){a("saved").set(!0),a("activated").set(!0)}),e.bind(function(a){a&&c.trigger("activated")}),c.state=a}(),b("#save").click(function(b){a.save(),b.preventDefault()}).keydown(function(b){9!==b.which&&(13===b.which&&a.save(),b.preventDefault())}),b(".back").keydown(function(a){9!==a.which&&(13===a.which&&this.click(),a.preventDefault())}),b(".upload-dropzone a.upload").keydown(function(a){13===a.which&&this.click()}),b(".collapse-sidebar").on("click keydown",function(a){("keydown"!==a.type||13===a.which)&&(g.toggleClass("collapsed").toggleClass("expanded"),a.preventDefault())}),d=new c.Messenger({url:c.settings.url.parent,channel:"loader"}),d.bind("back",function(){b(".back").on("click.back",function(a){a.preventDefault(),d.send("close")})}),c.bind("saved",function(){d.send("saved")}),c.bind("activated",function(){d.targetWindow()?d.send("activated",c.settings.url.activated):c.settings.url.activated&&(window.location=c.settings.url.activated)}),d.send("ready"),b.each({background_image:{controls:["background_repeat","background_position_x","background_attachment"],callback:function(a){return!!a}},show_on_front:{controls:["page_on_front","page_for_posts"],callback:function(a){return"page"===a}},header_textcolor:{controls:["header_textcolor"],callback:function(a){return"blank"!==a}}},function(a,d){c(a,function(a){b.each(d.controls,function(b,e){c.control(e,function(b){var c=function(a){b.container.toggle(d.callback(a))};c(a.get()),a.bind(c)})})})}),c.control("display_header_text",function(a){var b="";a.elements[0].unsync(c("header_textcolor")),a.element=new c.Element(a.container.find("input")),a.element.set("blank"!==a.setting()),a.element.bind(function(d){d||(b=c("header_textcolor").get()),a.setting.set(d?b:"blank")}),a.setting.bind(function(b){a.element.set("blank"!==b)})}),c.trigger("ready"),e=b(".back"),e.focus(),setTimeout(function(){e.focus()},200)}})}(wp,jQuery);
\ No newline at end of file
+!function(a,b){var c=wp.customize;c.Setting=c.Value.extend({initialize:function(a,b,d){c.Value.prototype.initialize.call(this,b,d),this.id=a,this.transport=this.transport||"refresh",this.bind(this.preview)},preview:function(){switch(this.transport){case"refresh":return this.previewer.refresh();case"postMessage":return this.previewer.send("setting",[this.id,this()])}}}),c.Control=c.Class.extend({initialize:function(a,d){var e,f,g,h=this;this.params={},b.extend(this,d||{}),this.id=a,this.selector="#customize-control-"+a.replace(/\]/g,"").replace(/\[/g,"-"),this.container=b(this.selector),this.active=new c.Value(this.params.active),g=b.map(this.params.settings,function(a){return a}),c.apply(c,g.concat(function(){var a;h.settings={};for(a in h.params.settings)h.settings[a]=c(h.params.settings[a]);h.setting=h.settings["default"]||null,h.ready()})),h.elements=[],e=this.container.find("[data-customize-setting-link]"),f={},e.each(function(){var a,d=b(this);if(d.is(":radio")){if(a=d.prop("name"),f[a])return;f[a]=!0,d=e.filter('[name="'+a+'"]')}c(d.data("customizeSettingLink"),function(a){var b=new c.Element(d);h.elements.push(b),b.sync(a),b.set(a())})}),h.active.bind(function(a){h.toggle(a)}),h.toggle(h.active())},ready:function(){},toggle:function(a){a?this.container.slideDown():this.container.slideUp()},dropdownInit:function(){var a=this,b=this.container.find(".dropdown-status"),c=this.params,d=!1,e=function(a){"string"==typeof a&&c.statuses&&c.statuses[a]?b.html(c.statuses[a]).show():b.hide()};this.container.on("click keydown",".dropdown",function(b){("keydown"!==b.type||13===b.which)&&(b.preventDefault(),d||a.container.toggleClass("open"),a.container.hasClass("open")&&a.container.parent().parent().find("li.library-selected").focus(),d=!0,setTimeout(function(){d=!1},400))}),this.setting.bind(e),e(this.setting())}}),c.ColorControl=c.Control.extend({ready:function(){var a=this,b=this.container.find(".color-picker-hex");b.val(a.setting()).wpColorPicker({change:function(){a.setting.set(b.wpColorPicker("color"))},clear:function(){a.setting.set(!1)}})}}),c.UploadControl=c.Control.extend({ready:function(){var a=this;this.params.removed=this.params.removed||"",this.success=b.proxy(this.success,this),this.uploader=b.extend({container:this.container,browser:this.container.find(".upload"),dropzone:this.container.find(".upload-dropzone"),success:this.success,plupload:{},params:{}},this.uploader||{}),a.params.extensions&&(a.uploader.plupload.filters=[{title:c.l10n.allowedFiles,extensions:a.params.extensions}]),a.params.context&&(a.uploader.params["post_data[context]"]=this.params.context),c.settings.theme.stylesheet&&(a.uploader.params["post_data[theme]"]=c.settings.theme.stylesheet),this.uploader=new wp.Uploader(this.uploader),this.remover=this.container.find(".remove"),this.remover.on("click keydown",function(b){("keydown"!==b.type||13===b.which)&&(a.setting.set(a.params.removed),b.preventDefault())}),this.removerVisibility=b.proxy(this.removerVisibility,this),this.setting.bind(this.removerVisibility),this.removerVisibility(this.setting.get())},success:function(a){this.setting.set(a.get("url"))},removerVisibility:function(a){this.remover.toggle(a!=this.params.removed)}}),c.ImageControl=c.UploadControl.extend({ready:function(){var a,d=this;this.uploader={init:function(){var a,b;this.supports.dragdrop||(a=d.container.find(".upload-fallback"),b=a.children().detach(),this.browser.detach().empty().append(b),a.append(this.browser).show())}},c.UploadControl.prototype.ready.call(this),this.thumbnail=this.container.find(".preview-thumbnail img"),this.thumbnailSrc=b.proxy(this.thumbnailSrc,this),this.setting.bind(this.thumbnailSrc),this.library=this.container.find(".library"),this.tabs={},a=this.library.find(".library-content"),this.library.children("ul").children("li").each(function(){var c=b(this),e=c.data("customizeTab"),f=a.filter('[data-customize-tab="'+e+'"]');d.tabs[e]={both:c.add(f),link:c,panel:f}}),this.library.children("ul").on("click keydown","li",function(a){if("keydown"!==a.type||13===a.which){var c=b(this).data("customizeTab"),e=d.tabs[c];a.preventDefault(),e.link.hasClass("library-selected")||(d.selected.both.removeClass("library-selected"),d.selected=e,d.selected.both.addClass("library-selected"))}}),this.library.on("click keydown","a",function(a){if("keydown"!==a.type||13===a.which){var c=b(this).data("customizeImageValue");c&&(d.setting.set(c),a.preventDefault())}}),this.tabs.uploaded&&(this.tabs.uploaded.target=this.library.find(".uploaded-target"),this.tabs.uploaded.panel.find(".thumbnail").length||this.tabs.uploaded.both.addClass("hidden")),a.each(function(){var a=d.tabs[b(this).data("customizeTab")];return a.link.hasClass("hidden")?void 0:(d.selected=a,a.both.addClass("library-selected"),!1)}),this.dropdownInit()},success:function(a){c.UploadControl.prototype.success.call(this,a),this.tabs.uploaded&&this.tabs.uploaded.target.length&&(this.tabs.uploaded.both.removeClass("hidden"),a.element=b('<a href="#" class="thumbnail"></a>').data("customizeImageValue",a.get("url")).append('<img src="'+a.get("url")+'" />').appendTo(this.tabs.uploaded.target))},thumbnailSrc:function(a){/^(https?:)?\/\//.test(a)?this.thumbnail.prop("src",a).show():this.thumbnail.hide()}}),c.HeaderControl=c.Control.extend({ready:function(){this.btnRemove=b("#customize-control-header_image .actions .remove"),this.btnNew=b("#customize-control-header_image .actions .new"),_.bindAll(this,"openMedia","removeImage"),this.btnNew.on("click",this.openMedia),this.btnRemove.on("click",this.removeImage),c.HeaderTool.currentHeader=new c.HeaderTool.ImageModel,new c.HeaderTool.CurrentView({model:c.HeaderTool.currentHeader,el:".current .container"}),new c.HeaderTool.ChoiceListView({collection:c.HeaderTool.UploadsList=new c.HeaderTool.ChoiceList,el:".choices .uploaded .list"}),new c.HeaderTool.ChoiceListView({collection:c.HeaderTool.DefaultsList=new c.HeaderTool.DefaultsList,el:".choices .default .list"}),c.HeaderTool.combinedList=c.HeaderTool.CombinedList=new c.HeaderTool.CombinedList([c.HeaderTool.UploadsList,c.HeaderTool.DefaultsList])},calculateImageSelectOptions:function(a,b){var d,e,f,g,h,i,j=parseInt(_wpCustomizeHeader.data.width,10),k=parseInt(_wpCustomizeHeader.data.height,10),l=!!parseInt(_wpCustomizeHeader.data["flex-width"],10),m=!!parseInt(_wpCustomizeHeader.data["flex-height"],10);return h=a.get("width"),g=a.get("height"),this.headerImage=new c.HeaderTool.ImageModel,this.headerImage.set({themeWidth:j,themeHeight:k,themeFlexWidth:l,themeFlexHeight:m,imageWidth:h,imageHeight:g}),b.set("canSkipCrop",!this.headerImage.shouldBeCropped()),d=j/k,e=h,f=g,e/f>d?(k=f,j=k*d):(j=e,k=j/d),i={handles:!0,keys:!0,instance:!0,persistent:!0,imageWidth:h,imageHeight:g,x1:0,y1:0,x2:j,y2:k},m===!1&&l===!1&&(i.aspectRatio=j+":"+k),m===!1&&(i.maxHeight=k),l===!1&&(i.maxWidth=j),i},openMedia:function(a){var b=_wpMediaViewsL10n;a.preventDefault(),this.frame=wp.media({button:{text:b.selectAndCrop,close:!1},states:[new wp.media.controller.Library({title:b.chooseImage,library:wp.media.query({type:"image"}),multiple:!1,priority:20,suggestedWidth:_wpCustomizeHeader.data.width,suggestedHeight:_wpCustomizeHeader.data.height}),new wp.media.controller.Cropper({imgSelectOptions:this.calculateImageSelectOptions})]}),this.frame.on("select",this.onSelect,this),this.frame.on("cropped",this.onCropped,this),this.frame.on("skippedcrop",this.onSkippedCrop,this),this.frame.open()},onSelect:function(){this.frame.setState("cropper")},onCropped:function(a){var b=a.post_content,c=a.attachment_id,d=a.width,e=a.height;this.setImageFromURL(b,c,d,e)},onSkippedCrop:function(a){var b=a.get("url"),c=a.get("width"),d=a.get("height");this.setImageFromURL(b,a.id,c,d)},setImageFromURL:function(a,b,d,e){var f,g={};g.url=a,g.thumbnail_url=a,g.timestamp=_.now(),b&&(g.attachment_id=b),d&&(g.width=d),e&&(g.height=e),f=new c.HeaderTool.ImageModel({header:g,choice:a.split("/").pop()}),c.HeaderTool.UploadsList.add(f),c.HeaderTool.currentHeader.set(f.toJSON()),f.save(),f.importImage()},removeImage:function(){c.HeaderTool.currentHeader.trigger("hide"),c.HeaderTool.CombinedList.trigger("control:removeImage")}}),c.defaultConstructor=c.Setting,c.control=new c.Values({defaultConstructor:c.Control}),c.PreviewFrame=c.Messenger.extend({sensitivity:2e3,initialize:function(a,d){var e=b.Deferred();e.promise(this),this.container=a.container,this.signature=a.signature,b.extend(a,{channel:c.PreviewFrame.uuid()}),c.Messenger.prototype.initialize.call(this,a,d),this.add("previewUrl",a.previewUrl),this.query=b.extend(a.query||{},{customize_messenger_channel:this.channel()}),this.run(e)},run:function(a){var d=this,e=!1,f=!1;this._ready&&this.unbind("ready",this._ready),this._ready=function(){f=!0,e&&a.resolveWith(d)},this.bind("ready",this._ready),this.bind("ready",function(a){a&&a.activeControls&&b.each(a.activeControls,function(a,b){var d=c.control(a);d&&d.active(b)})}),this.request=b.ajax(this.previewUrl(),{type:"POST",data:this.query,xhrFields:{withCredentials:!0}}),this.request.fail(function(){a.rejectWith(d,["request failure"])}),this.request.done(function(c){var g,h=d.request.getResponseHeader("Location"),i=d.signature;return h&&h!=d.previewUrl()?void a.rejectWith(d,["redirect",h]):"0"===c?void d.login(a):"-1"===c?void a.rejectWith(d,["cheatin"]):(g=c.lastIndexOf(i),-1===g||g<c.lastIndexOf("</html>")?void a.rejectWith(d,["unsigned"]):(c=c.slice(0,g)+c.slice(g+i.length),d.iframe=b("<iframe />").appendTo(d.container),d.iframe.one("load",function(){e=!0,f?a.resolveWith(d):setTimeout(function(){a.rejectWith(d,["ready timeout"])},d.sensitivity)}),d.targetWindow(d.iframe[0].contentWindow),d.targetWindow().document.open(),d.targetWindow().document.write(c),void d.targetWindow().document.close()))})},login:function(a){var d,e=this;return d=function(){a.rejectWith(e,["logged out"])},this.triedLogin?d():void b.get(c.settings.url.ajax,{action:"logged-in"}).fail(d).done(function(c){var f;"1"!==c&&d(),f=b('<iframe src="'+e.previewUrl()+'" />').hide(),f.appendTo(e.container),f.load(function(){e.triedLogin=!0,f.remove(),e.run(a)})})},destroy:function(){c.Messenger.prototype.destroy.call(this),this.request.abort(),this.iframe&&this.iframe.remove(),delete this.request,delete this.iframe,delete this.targetWindow}}),function(){var a=0;c.PreviewFrame.uuid=function(){return"preview-"+a++}}(),c.Previewer=c.Messenger.extend({refreshBuffer:250,initialize:function(a,d){var e=this,f=/^https?/;b.extend(this,d||{}),this.refresh=function(a){var b,c=a.refresh,d=function(){b=null,c.call(a)};return function(){if("number"!=typeof b){if(!a.loading)return d();a.abort()}clearTimeout(b),b=setTimeout(d,a.refreshBuffer)}}(this),this.container=c.ensure(a.container),this.allowedUrls=a.allowedUrls,this.signature=a.signature,a.url=window.location.href,c.Messenger.prototype.initialize.call(this,a),this.add("scheme",this.origin()).link(this.origin).setter(function(a){var b=a.match(f);return b?b[0]:""}),this.add("previewUrl",a.previewUrl).setter(function(a){var c;return/\/wp-admin(\/|$)/.test(a.replace(/[#?].*$/,""))?null:(b.each([a.replace(f,e.scheme()),a],function(a,d){return b.each(e.allowedUrls,function(a,b){var e;return b=b.replace(/\/+$/,""),e=d.replace(b,""),0===d.indexOf(b)&&/^([/#?]|$)/.test(e)?(c=d,!1):void 0}),c?!1:void 0}),c?c:null)}),this.previewUrl.bind(this.refresh),this.scroll=0,this.bind("scroll",function(a){this.scroll=a}),this.bind("url",this.previewUrl)},query:function(){},abort:function(){this.loading&&(this.loading.destroy(),delete this.loading)},refresh:function(){var a=this;this.abort(),this.loading=new c.PreviewFrame({url:this.url(),previewUrl:this.previewUrl(),query:this.query()||{},container:this.container,signature:this.signature}),this.loading.done(function(){this.bind("synced",function(){a.preview&&a.preview.destroy(),a.preview=this,delete a.loading,a.targetWindow(this.targetWindow()),a.channel(this.channel()),a.send("active")}),this.send("sync",{scroll:a.scroll,settings:c.get()})}),this.loading.fail(function(b,c){"redirect"===b&&c&&a.previewUrl(c),"logged out"===b&&(a.preview&&(a.preview.destroy(),delete a.preview),a.login().done(a.refresh)),"cheatin"===b&&a.cheatin()})},login:function(){var a,d,e,f=this;return this._login?this._login:(a=b.Deferred(),this._login=a.promise(),d=new c.Messenger({channel:"login",url:c.settings.url.login}),e=b('<iframe src="'+c.settings.url.login+'" />').appendTo(this.container),d.targetWindow(e[0].contentWindow),d.bind("login",function(){e.remove(),d.destroy(),delete f._login,a.resolve()}),this._login)},cheatin:function(){b(document.body).empty().addClass("cheatin").append("<p>"+c.l10n.cheatin+"</p>")}}),c.controlConstructor={color:c.ColorControl,upload:c.UploadControl,image:c.ImageControl,header:c.HeaderControl},b(function(){if(c.settings=window._wpCustomizeSettings,c.l10n=window._wpCustomizeControlsL10n,c.settings){if(!b.support.postMessage||!b.support.cors&&c.settings.isCrossDomain)return window.location=c.settings.url.fallback;var a,d,e=b(document.body),f=e.children(".wp-full-overlay"),g=b("#customize-info .theme-name.site-title"),h=b(".customize-controls-close"),i=b("#save");b("#customize-controls").on("keydown",function(a){var c=13===a.which,d=b(a.target);c&&(d.is("input:not([type=button])")||d.is("select"))&&a.preventDefault()}),c.previewer=new c.Previewer({container:"#customize-preview",form:"#customize-controls",previewUrl:c.settings.url.preview,allowedUrls:c.settings.url.allowed,signature:"WP_CUSTOMIZER_SIGNATURE"},{nonce:c.settings.nonce,query:function(){return{wp_customize:"on",theme:c.settings.theme.stylesheet,customized:JSON.stringify(c.get()),nonce:this.nonce.preview}},save:function(){var a,d,f=this,g=b.extend(this.query(),{action:"customize_save",nonce:this.nonce.save}),h=c.state("processing");e.addClass("saving"),d=function(){var a=b.post(c.settings.url.ajax,g);c.trigger("save",a),a.always(function(){e.removeClass("saving")}),a.done(function(a){return"0"===a?(f.preview.iframe.hide(),void f.login().done(function(){f.save(),f.preview.iframe.show()})):"-1"===a?void f.cheatin():void c.trigger("saved")})},0===h()?d():(a=function(){0===h()&&(c.state.unbind("change",a),d())},c.state.bind("change",a))}}),c.previewer.bind("nonce",function(a){b.extend(this.nonce,a)}),b.each(c.settings.settings,function(a,b){c.create(a,a,b.value,{transport:b.transport,previewer:c.previewer})}),b.each(c.settings.controls,function(a,b){var d,e=c.controlConstructor[b.type]||c.Control;d=c.control.add(a,new e(a,{params:b,previewer:c.previewer}))}),c.previewer.previewUrl()?c.previewer.refresh():c.previewer.previewUrl(c.settings.url.home),function(){var a=new c.Values,b=a.create("saved"),d=a.create("activated"),e=a.create("processing");a.bind("change",function(){d()?b()?(i.val(c.l10n.saved).prop("disabled",!0),h.find(".screen-reader-text").text(c.l10n.close)):(i.val(c.l10n.save).prop("disabled",!1),h.find(".screen-reader-text").text(c.l10n.cancel)):(i.val(c.l10n.activate).prop("disabled",!1),h.find(".screen-reader-text").text(c.l10n.cancel))}),b(!0),d(c.settings.theme.active),e(0),c.bind("change",function(){a("saved").set(!1)}),c.bind("saved",function(){a("saved").set(!0),a("activated").set(!0)}),d.bind(function(a){a&&c.trigger("activated")}),c.state=a}(),i.click(function(a){c.previewer.save(),a.preventDefault()}).keydown(function(a){9!==a.which&&(13===a.which&&c.previewer.save(),a.preventDefault())}),h.keydown(function(a){9!==a.which&&(13===a.which&&this.click(),a.preventDefault())}),b(".upload-dropzone a.upload").keydown(function(a){13===a.which&&this.click()}),b(".collapse-sidebar").on("click keydown",function(a){("keydown"!==a.type||13===a.which)&&(f.toggleClass("collapsed").toggleClass("expanded"),a.preventDefault())}),g.length&&b("#customize-control-blogname input").on("input",function(){g.text(this.value)}),a=new c.Messenger({url:c.settings.url.parent,channel:"loader"}),a.bind("back",function(){h.on("click.customize-controls-close",function(b){b.preventDefault(),a.send("close")})}),b(window).on("beforeunload",function(){return c.state("saved")()?void 0:c.l10n.saveAlert}),b.each(["saved","change"],function(b,d){c.bind(d,function(){a.send(d)})}),c.bind("activated",function(){a.targetWindow()?a.send("activated",c.settings.url.activated):c.settings.url.activated&&(window.location=c.settings.url.activated)}),a.send("ready"),b.each({background_image:{controls:["background_repeat","background_position_x","background_attachment"],callback:function(a){return!!a}},show_on_front:{controls:["page_on_front","page_for_posts"],callback:function(a){return"page"===a}},header_textcolor:{controls:["header_textcolor"],callback:function(a){return"blank"!==a}}},function(a,d){c(a,function(a){b.each(d.controls,function(b,e){c.control(e,function(b){var c=function(a){b.container.toggle(d.callback(a))};c(a.get()),a.bind(c)})})})}),c.control("display_header_text",function(a){var b="";a.elements[0].unsync(c("header_textcolor")),a.element=new c.Element(a.container.find("input")),a.element.set("blank"!==a.setting()),a.element.bind(function(d){d||(b=c("header_textcolor").get()),a.setting.set(d?b:"blank")}),a.setting.bind(function(b){a.element.set("blank"!==b)})}),c.trigger("ready"),d=h,d.focus(),setTimeout(function(){d.focus()},200)}})}(wp,jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/customize-widgets.js b/wp-admin/js/customize-widgets.js
index 47505dd34..0a3909a53 100644
--- a/wp-admin/js/customize-widgets.js
+++ b/wp-admin/js/customize-widgets.js
@@ -5,7 +5,7 @@
 
 	// Set up our namespace...
 	var api = wp.customize,
-		l10n, OldPreviewer;
+		l10n;
 
 	api.Widgets = api.Widgets || {};
 
@@ -185,7 +185,7 @@
 			} );
 
 			// Close the panel if the URL in the preview changes
-			api.Widgets.Previewer.bind( 'url', this.close );
+			api.previewer.bind( 'url', this.close );
 		},
 
 		// Performs a search and handles selected widget
@@ -316,10 +316,13 @@
 				isEsc = ( event.which === 27 ),
 				isDown = ( event.which === 40 ),
 				isUp = ( event.which === 38 ),
+				isTab = ( event.which === 9 ),
+				isShift = ( event.shiftKey ),
 				selected = null,
 				firstVisible = this.$el.find( '> .widget-tpl:visible:first' ),
 				lastVisible = this.$el.find( '> .widget-tpl:visible:last' ),
-				isSearchFocused = $( event.target ).is( this.$search );
+				isSearchFocused = $( event.target ).is( this.$search ),
+				isLastWidgetFocused = $( event.target ).is( '.widget-tpl:visible:last' );
 
 			if ( isDown || isUp ) {
 				if ( isDown ) {
@@ -357,6 +360,11 @@
 			} else if ( isEsc ) {
 				this.close( { returnFocus: true } );
 			}
+
+			if ( isTab && ( isShift && isSearchFocused || ! isShift && isLastWidgetFocused ) ) {
+				this.currentSidebarControl.container.find( '.add-new-widget' ).focus();
+				event.preventDefault();
+			}
 		}
 	});
 
@@ -615,7 +623,9 @@
 			 * Handle clicks for up/down/move on the reorder nav
 			 */
 			$reorderNav = this.container.find( '.widget-reorder-nav' );
-			$reorderNav.find( '.move-widget, .move-widget-down, .move-widget-up' ).on( 'click keypress', function( event ) {
+			$reorderNav.find( '.move-widget, .move-widget-down, .move-widget-up' ).each( function() {
+				$( this ).prepend( self.container.find( '.widget-title' ).text() + ': ' );
+			} ).on( 'click keypress', function( event ) {
 				if ( event.type === 'keypress' && ( event.which !== 13 && event.which !== 32 ) ) {
 					return;
 				}
@@ -745,19 +755,12 @@
 				self.container.removeClass( 'previewer-loading' );
 			} );
 
-			api.Widgets.Previewer.bind( 'widget-updated', function( updatedWidgetId ) {
+			api.previewer.bind( 'widget-updated', function( updatedWidgetId ) {
 				if ( updatedWidgetId === self.params.widget_id ) {
 					self.container.removeClass( 'previewer-loading' );
 				}
 			} );
 
-			// Update widget control to indicate whether it is currently rendered
-			api.Widgets.Previewer.bind( 'rendered-widgets', function( renderedWidgets ) {
-				var isRendered = !! renderedWidgets[self.params.widget_id];
-
-				self.container.toggleClass( 'widget-rendered', isRendered );
-			} );
-
 			formSyncHandler = api.Widgets.formSyncHandlers[ this.params.widget_id_base ];
 			if ( formSyncHandler ) {
 				$( document ).on( 'widget-synced', function( e, widget ) {
@@ -768,6 +771,17 @@
 			}
 		},
 
+		/**
+		 * Update widget control to indicate whether it is currently rendered.
+		 *
+		 * Overrides api.Control.toggle()
+		 *
+		 * @param {Boolean} active
+		 */
+		toggle: function ( active ) {
+			this.container.toggleClass( 'widget-rendered', active );
+		},
+
 		/**
 		 * Set up event handlers for widget removal
 		 */
@@ -971,17 +985,17 @@
 
 				// Check if the user is logged out.
 				if ( '0' === r ) {
-					api.Widgets.Previewer.preview.iframe.hide();
-					api.Widgets.Previewer.login().done( function() {
+					api.previewer.preview.iframe.hide();
+					api.previewer.login().done( function() {
 						self.updateWidget( args );
-						api.Widgets.Previewer.preview.iframe.show();
+						api.previewer.preview.iframe.show();
 					} );
 					return;
 				}
 
 				// Check for cheaters.
 				if ( '-1' === r ) {
-					api.Widgets.Previewer.cheatin();
+					api.previewer.cheatin();
 					return;
 				}
 
@@ -1418,32 +1432,38 @@
 			} );
 
 			// Update the model with whether or not the sidebar is rendered
-			api.Widgets.Previewer.bind( 'rendered-sidebars', function( renderedSidebars ) {
-				var isRendered = !! renderedSidebars[self.params.sidebar_id];
-
-				registeredSidebar.set( 'is_rendered', isRendered );
+			self.active.bind( function ( active ) {
+				registeredSidebar.set( 'is_rendered', active );
 			} );
+		},
 
-			// Show the sidebar section when it becomes visible
-			registeredSidebar.on( 'change:is_rendered', function( ) {
-				var sectionSelector = '#accordion-section-sidebar-widgets-' + this.get( 'id' ), $section;
+		/**
+		 * Show the sidebar section when it becomes visible.
+		 *
+		 * Overrides api.Control.toggle()
+		 *
+		 * @param {Boolean} active
+		 */
+		toggle: function ( active ) {
+			var $section, sectionSelector;
 
-				$section = $( sectionSelector );
-				if ( this.get( 'is_rendered' ) ) {
-					$section.stop().slideDown( function() {
-						$( this ).css( 'height', 'auto' ); // so that the .accordion-section-content won't overflow
-					} );
+			sectionSelector = '#accordion-section-sidebar-widgets-' + this.params.sidebar_id;
+			$section = $( sectionSelector );
 
-				} else {
-					// Make sure that hidden sections get closed first
-					if ( $section.hasClass( 'open' ) ) {
-						// it would be nice if accordionSwitch() in accordion.js was public
-						$section.find( '.accordion-section-title' ).trigger( 'click' );
-					}
+			if ( active ) {
+				$section.stop().slideDown( function() {
+					$( this ).css( 'height', 'auto' ); // so that the .accordion-section-content won't overflow
+				} );
 
-					$section.stop().slideUp();
+			} else {
+				// Make sure that hidden sections get closed first
+				if ( $section.hasClass( 'open' ) ) {
+					// it would be nice if accordionSwitch() in accordion.js was public
+					$section.find( '.accordion-section-title' ).trigger( 'click' );
 				}
-			} );
+
+				$section.stop().slideUp();
+			}
 		},
 
 		/**
@@ -1566,6 +1586,11 @@
 				_( this.getWidgetFormControls() ).each( function( formControl ) {
 					formControl.collapseForm();
 				} );
+
+				this.$sectionContent.find( '.first-widget .move-widget' ).focus();
+				this.$sectionContent.find( '.add-new-widget' ).prop( 'tabIndex', -1 );
+			} else {
+				this.$sectionContent.find( '.add-new-widget' ).prop( 'tabIndex', 0 );
 			}
 		},
 
@@ -1738,18 +1763,6 @@
 		sidebar_widgets: api.Widgets.SidebarControl
 	});
 
-	/**
-	 * Capture the instance of the Previewer since it is private
-	 */
-	OldPreviewer = api.Previewer;
-	api.Previewer = OldPreviewer.extend({
-		initialize: function( params, options ) {
-			api.Widgets.Previewer = this;
-			OldPreviewer.prototype.initialize.call( this, params, options );
-			this.bind( 'refresh', this.refresh );
-		}
-	} );
-
 	/**
 	 * Init Customizer for widgets.
 	 */
@@ -1760,10 +1773,10 @@
 		});
 
 		// Highlight widget control
-		api.Widgets.Previewer.bind( 'highlight-widget-control', api.Widgets.highlightWidgetFormControl );
+		api.previewer.bind( 'highlight-widget-control', api.Widgets.highlightWidgetFormControl );
 
 		// Open and focus widget control
-		api.Widgets.Previewer.bind( 'focus-widget-control', api.Widgets.focusWidgetFormControl );
+		api.previewer.bind( 'focus-widget-control', api.Widgets.focusWidgetFormControl );
 	} );
 
 	/**
diff --git a/wp-admin/js/customize-widgets.min.js b/wp-admin/js/customize-widgets.min.js
index f28297567..ea5e8a4ec 100644
--- a/wp-admin/js/customize-widgets.min.js
+++ b/wp-admin/js/customize-widgets.min.js
@@ -1 +1 @@
-!function(a,b){function c(a){var b,c={number:null,id_base:null};return b=a.match(/^(.+)-(\d+)$/),b?(c.id_base=b[1],c.number=parseInt(b[2],10)):c.id_base=a,c}function d(a){var b,d=c(a);return b="widget_"+d.id_base,d.number&&(b+="["+d.number+"]"),b}if(a&&a.customize){var e,f,g=a.customize;g.Widgets=g.Widgets||{},g.Widgets.data=_wpCustomizeWidgetsSettings||{},e=g.Widgets.data.l10n,delete g.Widgets.data.l10n,g.Widgets.WidgetModel=Backbone.Model.extend({id:null,temp_id:null,classname:null,control_tpl:null,description:null,is_disabled:null,is_multi:null,multi_number:null,name:null,id_base:null,transport:"refresh",params:[],width:null,height:null,search_matched:!0}),g.Widgets.WidgetCollection=Backbone.Collection.extend({model:g.Widgets.WidgetModel,doSearch:function(a){this.terms!==a&&(this.terms=a,this.terms.length>0&&this.search(this.terms),""===this.terms&&this.each(function(a){a.set("search_matched",!0)}))},search:function(a){var b,c;a=a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),a=a.replace(/ /g,")(?=.*"),b=new RegExp("^(?=.*"+a+").+","i"),this.each(function(a){c=[a.get("name"),a.get("id"),a.get("description")].join(" "),a.set("search_matched",b.test(c))})}}),g.Widgets.availableWidgets=new g.Widgets.WidgetCollection(g.Widgets.data.availableWidgets),g.Widgets.SidebarModel=Backbone.Model.extend({after_title:null,after_widget:null,before_title:null,before_widget:null,"class":null,description:null,id:null,name:null,is_rendered:!1}),g.Widgets.SidebarCollection=Backbone.Collection.extend({model:g.Widgets.SidebarModel}),g.Widgets.registeredSidebars=new g.Widgets.SidebarCollection(g.Widgets.data.registeredSidebars),g.Widgets.AvailableWidgetsPanelView=a.Backbone.View.extend({el:"#available-widgets",events:{"input #widgets-search":"search","keyup #widgets-search":"search","change #widgets-search":"search","search #widgets-search":"search","focus .widget-tpl":"focus","click .widget-tpl":"_submit","keypress .widget-tpl":"_submit",keydown:"keyboardAccessible"},selected:null,currentSidebarControl:null,$search:null,initialize:function(){var a=this;this.$search=b("#widgets-search"),_.bindAll(this,"close"),this.listenTo(this.collection,"change",this.updateList),this.updateList(),b("#customize-controls").on("click keydown",function(c){var d=b(c.target).is(".add-new-widget, .add-new-widget *");b("body").hasClass("adding-widget")&&!d&&a.close()}),g.Widgets.Previewer.bind("url",this.close)},search:function(a){var b;this.collection.doSearch(a.target.value),this.selected&&!this.selected.is(":visible")&&(this.selected.removeClass("selected"),this.selected=null),this.selected&&!a.target.value&&(this.selected.removeClass("selected"),this.selected=null),!this.selected&&a.target.value&&(b=this.$el.find("> .widget-tpl:visible:first"),b.length&&this.select(b))},updateList:function(){this.collection.each(function(a){var c=b("#widget-tpl-"+a.id);c.toggle(a.get("search_matched")&&!a.get("is_disabled")),a.get("is_disabled")&&c.is(this.selected)&&(this.selected=null)})},select:function(a){this.selected=b(a),this.selected.siblings(".widget-tpl").removeClass("selected"),this.selected.addClass("selected")},focus:function(a){this.select(b(a.currentTarget))},_submit:function(a){("keypress"!==a.type||13===a.which||32===a.which)&&this.submit(b(a.currentTarget))},submit:function(a){var c,d;a||(a=this.selected),a&&this.currentSidebarControl&&(this.select(a),c=b(this.selected).data("widget-id"),d=this.collection.findWhere({id:c}),d&&(this.currentSidebarControl.addWidget(d.get("id_base")),this.close()))},open:function(a){this.currentSidebarControl=a,_(this.currentSidebarControl.getWidgetFormControls()).each(function(a){a.params.is_wide&&a.collapseForm()}),b("body").addClass("adding-widget"),this.$el.find(".selected").removeClass("selected"),this.collection.doSearch(""),this.$search.focus()},close:function(a){a=a||{},a.returnFocus&&this.currentSidebarControl&&this.currentSidebarControl.container.find(".add-new-widget").focus(),this.currentSidebarControl=null,this.selected=null,b("body").removeClass("adding-widget"),this.$search.val("")},keyboardAccessible:function(a){var c=13===a.which,d=27===a.which,e=40===a.which,f=38===a.which,g=null,h=this.$el.find("> .widget-tpl:visible:first"),i=this.$el.find("> .widget-tpl:visible:last"),j=b(a.target).is(this.$search);return e||f?(e?j?g=h:this.selected&&0!==this.selected.nextAll(".widget-tpl:visible").length&&(g=this.selected.nextAll(".widget-tpl:visible:first")):f&&(j?g=i:this.selected&&0!==this.selected.prevAll(".widget-tpl:visible").length&&(g=this.selected.prevAll(".widget-tpl:visible:first"))),this.select(g),void(g?g.focus():this.$search.focus())):void((!c||this.$search.val())&&(c?this.submit():d&&this.close({returnFocus:!0})))}}),g.Widgets.formSyncHandlers={rss:function(a,c,d){var e=c.find(".widget-error:first"),f=b("<div>"+d+"</div>").find(".widget-error:first");e.length&&f.length?e.replaceWith(f):e.length?e.remove():f.length&&c.find(".widget-content:first").prepend(f)}},g.Widgets.WidgetControl=g.Control.extend({ready:function(){this._setupModel(),this._setupWideWidget(),this._setupControlToggle(),this._setupWidgetTitle(),this._setupReorderUI(),this._setupHighlightEffects(),this._setupUpdateUI(),this._setupRemoveUI()},_setupModel:function(){var a,b=this;g.Widgets.savedWidgetIds=g.Widgets.savedWidgetIds||[],a=function(){g.Widgets.savedWidgetIds[b.params.widget_id]=!0},g.bind("ready",a),g.bind("saved",a),this._updateCount=0,this.isWidgetUpdating=!1,this.liveUpdateMode=!0,this.setting.bind(function(a,c){_(c).isEqual(a)||b.isWidgetUpdating||b.updateWidget({instance:a})})},_setupWideWidget:function(){var a,c,d,e,f,h=this;this.params.is_wide&&(a=this.container.find(".widget-inside"),c=a.find("> .form"),d=b(".wp-full-overlay-sidebar-content:first"),this.container.addClass("wide-widget-control"),this.container.find(".widget-content:first").css({"max-width":this.params.width,"min-height":this.params.height}),f=function(){var d,e=h.container.offset().top,f=b(window).height(),g=c.outerHeight();a.css("max-height",f),d=Math.max(0,Math.min(Math.max(e,0),f-g)),a.css("top",d)},e=b("#customize-theme-controls"),this.container.on("expand",function(){f(),d.on("scroll",f),b(window).on("resize",f),e.on("expanded collapsed",f)}),this.container.on("collapsed",function(){d.off("scroll",f),b(window).off("resize",f),e.off("expanded collapsed",f)}),g.each(function(a){0===a.id.indexOf("sidebars_widgets[")&&a.bind(function(){h.container.hasClass("expanded")&&f()})}))},_setupControlToggle:function(){var a,b=this;this.container.find(".widget-top").on("click",function(a){a.preventDefault();var c=b.getSidebarWidgetsControl();c.isReordering||b.toggleForm()}),a=this.container.find(".widget-control-close"),a.on("click",function(a){a.preventDefault(),b.collapseForm(),b.container.find(".widget-top .widget-action:first").focus()})},_setupWidgetTitle:function(){var a,b=this;a=function(){var a=b.setting().title,c=b.container.find(".in-widget-title");c.text(a?": "+a:"")},this.setting.bind(a),a()},_setupReorderUI:function(){var a,c,d,e,f=this;a=function(a){a.siblings(".selected").removeClass("selected"),a.addClass("selected");var b=a.data("id")===f.params.sidebar_id;f.container.find(".move-widget-btn").prop("disabled",b)},this.container.find(".widget-title-action").after(b(g.Widgets.data.tpl.widgetReorderNav)),c=b(_.template(g.Widgets.data.tpl.moveWidgetArea,{sidebars:_(g.Widgets.registeredSidebars.toArray()).pluck("attributes")})),this.container.find(".widget-top").after(c),e=function(){var d,e=c.find("li");d=e.filter(function(){return b(this).data("id")===f.params.sidebar_id}),e.each(function(){var c,e,f=b(this);c=f.data("id"),e=g.Widgets.registeredSidebars.get(c),f.toggle(e.get("is_rendered")),f.hasClass("selected")&&!e.get("is_rendered")&&a(d)})},e(),g.Widgets.registeredSidebars.on("change:is_rendered",e),d=this.container.find(".widget-reorder-nav"),d.find(".move-widget, .move-widget-down, .move-widget-up").on("click keypress",function(a){if("keypress"!==a.type||13===a.which||32===a.which)if(b(this).focus(),b(this).is(".move-widget"))f.toggleWidgetMoveArea();else{var c=b(this).is(".move-widget-down"),d=b(this).is(".move-widget-up"),e=f.getWidgetSidebarPosition();if(d&&0===e||c&&e===f.getSidebarWidgetsControl().setting().length-1)return;d?f.moveUp():f.moveDown(),b(this).focus()}}),this.container.find(".widget-area-select").on("click keypress","li",function(c){("keypress"!==event.type||13===event.which||32===event.which)&&(c.preventDefault(),a(b(this)))}),this.container.find(".move-widget-btn").click(function(){f.getSidebarWidgetsControl().toggleReordering(!1);var a,b,c,d,e,h=f.params.sidebar_id,i=f.container.find(".widget-area-select li.selected").data("id");a=g("sidebars_widgets["+h+"]"),b=g("sidebars_widgets["+i+"]"),c=Array.prototype.slice.call(a()),d=Array.prototype.slice.call(b()),e=f.getWidgetSidebarPosition(),c.splice(e,1),d.push(f.params.widget_id),a(c),b(d),f.focus()})},_setupHighlightEffects:function(){var a=this;this.container.on("mouseenter click",function(){a.setting.previewer.send("highlight-widget",a.params.widget_id)}),this.setting.bind(function(){a.setting.previewer.send("highlight-widget",a.params.widget_id)})},_setupUpdateUI:function(){var a,c,d,f,h,i=this;a=this.container.find(".widget:first"),c=a.find(".widget-content:first"),d=this.container.find(".widget-control-save"),d.val(e.saveBtnLabel),d.attr("title",e.saveBtnTooltip),d.removeClass("button-primary").addClass("button-secondary"),d.on("click",function(a){a.preventDefault(),i.updateWidget({disable_form:!0})}),f=_.debounce(function(){i.updateWidget()},250),c.on("keydown","input",function(a){13===a.which&&(a.preventDefault(),i.updateWidget({ignoreActiveElement:!0}))}),c.on("change input propertychange",":input",function(a){i.liveUpdateMode&&("change"===a.type?i.updateWidget():this.checkValidity&&this.checkValidity()&&f())}),this.setting.previewer.channel.bind("synced",function(){i.container.removeClass("previewer-loading")}),g.Widgets.Previewer.bind("widget-updated",function(a){a===i.params.widget_id&&i.container.removeClass("previewer-loading")}),g.Widgets.Previewer.bind("rendered-widgets",function(a){var b=!!a[i.params.widget_id];i.container.toggleClass("widget-rendered",b)}),h=g.Widgets.formSyncHandlers[this.params.widget_id_base],h&&b(document).on("widget-synced",function(b,c){a.is(c)&&h.apply(document,arguments)})},_setupRemoveUI:function(){var a,b,c=this;a=this.container.find("a.widget-control-remove"),a.on("click",function(a){a.preventDefault();var b;b=c.container.next().is(".customize-control-widget_form")?c.container.next().find(".widget-action:first"):c.container.prev().is(".customize-control-widget_form")?c.container.prev().find(".widget-action:first"):c.container.next(".customize-control-sidebar_widgets").find(".add-new-widget:first"),c.container.slideUp(function(){var a,d,e=g.Widgets.getSidebarWidgetControlContainingWidget(c.params.widget_id);e&&(a=e.setting().slice(),d=_.indexOf(a,c.params.widget_id),-1!==d&&(a.splice(d,1),e.setting(a),b.focus()))})}),b=function(){a.text(e.removeBtnLabel),a.attr("title",e.removeBtnTooltip)},this.params.is_new?g.bind("saved",b):b()},_getInputs:function(a){return b(a).find(":input[name]")},_getInputsSignature:function(a){var c=_(a).map(function(a){var c,d=b(a);return c=d.is(":checkbox, :radio")?[d.attr("id"),d.attr("name"),d.prop("value")]:[d.attr("id"),d.attr("name")],c.join(",")});return c.join(";")},_getInputStatePropertyName:function(a){var c=b(a);return c.is(":radio, :checkbox")?"checked":"value"},getSidebarWidgetsControl:function(){var a,b;return a="sidebars_widgets["+this.params.sidebar_id+"]",(b=g.control(a))?b:void 0},updateWidget:function(c){var d,f,h,i,j,k,l,m,n,o,p,q=this;c=b.extend({instance:null,complete:null,ignoreActiveElement:!1},c),d=c.instance,f=c.complete,this._updateCount+=1,j=this._updateCount,h=this.container.find(".widget:first"),i=h.find(".widget-content:first"),i.find(".widget-error").remove(),this.container.addClass("widget-form-loading"),this.container.addClass("previewer-loading"),n=g.state("processing"),n(n()+1),this.liveUpdateMode||this.container.addClass("widget-form-disabled"),k={},k.action="update-widget",k.wp_customize="on",k.nonce=g.Widgets.data.nonce,k.theme=g.settings.theme.stylesheet,l=b.param(k),m=this._getInputs(i),m.each(function(){var a=b(this),c=q._getInputStatePropertyName(this);a.data("state"+j,a.prop(c))}),l+=d?"&"+b.param({sanitized_widget_setting:JSON.stringify(d)}):"&"+m.serialize(),l+="&"+i.find("~ :input").serialize(),o=b.post(a.ajax.settings.url,l),o.done(function(a){var d,k,l,n,o=!1;return"0"===a?(g.Widgets.Previewer.preview.iframe.hide(),void g.Widgets.Previewer.login().done(function(){q.updateWidget(c),g.Widgets.Previewer.preview.iframe.show()})):"-1"===a?void g.Widgets.Previewer.cheatin():void(a.success?(k=b("<div>"+a.data.form+"</div>"),l=q._getInputs(k),n=q._getInputsSignature(m)===q._getInputsSignature(l),n&&!q.liveUpdateMode&&(q.liveUpdateMode=!0,q.container.removeClass("widget-form-disabled"),q.container.find('input[name="savewidget"]').hide()),n&&q.liveUpdateMode?(m.each(function(a){var d,e,f,g=b(this),h=b(l[a]),i=q._getInputStatePropertyName(this);d=g.data("state"+j),e=h.prop(i),g.data("sanitized",e),f=d!==e&&(c.ignoreActiveElement||!g.is(document.activeElement)),f&&g.prop(i,e)}),b(document).trigger("widget-synced",[h,a.data.form])):q.liveUpdateMode?(q.liveUpdateMode=!1,q.container.find('input[name="savewidget"]').show(),o=!0):(i.html(a.data.form),q.container.removeClass("widget-form-disabled"),b(document).trigger("widget-updated",[h])),p=!o&&!_(q.setting()).isEqual(a.data.instance),p?(q.isWidgetUpdating=!0,q.setting(a.data.instance),q.isWidgetUpdating=!1):q.container.removeClass("previewer-loading"),f&&f.call(q,null,{noChange:!p,ajaxFinished:!0})):(d=e.error,a.data&&a.data.message&&(d=a.data.message),f?f.call(q,d):i.prepend('<p class="widget-error"><strong>'+d+"</strong></p>")))}),o.fail(function(a,b){f&&f.call(q,b)}),o.always(function(){q.container.removeClass("widget-form-loading"),m.each(function(){b(this).removeData("state"+j)}),n(n()-1)})},expandControlSection:function(){var a=this.container.closest(".accordion-section");a.hasClass("open")||a.find(".accordion-section-title:first").trigger("click")},expandForm:function(){this.toggleForm(!0)},collapseForm:function(){this.toggleForm(!1)},toggleForm:function(a){var b,c,d,e=this;b=this.container.find("div.widget:first"),c=b.find(".widget-inside:first"),"undefined"==typeof a&&(a=!c.is(":visible")),c.is(":visible")!==a&&(a?(g.control.each(function(a){e.params.type===a.params.type&&e!==a&&a.collapseForm()}),d=function(){e.container.removeClass("expanding"),e.container.addClass("expanded"),e.container.trigger("expanded")},e.params.is_wide?c.fadeIn("fast",d):c.slideDown("fast",d),e.container.trigger("expand"),e.container.addClass("expanding")):(d=function(){e.container.removeClass("collapsing"),e.container.removeClass("expanded"),e.container.trigger("collapsed")},e.container.trigger("collapse"),e.container.addClass("collapsing"),e.params.is_wide?c.fadeOut("fast",d):c.slideUp("fast",function(){b.css({width:"",margin:""}),d()})))},focus:function(){this.expandControlSection(),this.expandForm(),this.container.find(".widget-content :focusable:first").focus()},getWidgetSidebarPosition:function(){var a,b;return a=this.getSidebarWidgetsControl().setting(),b=_.indexOf(a,this.params.widget_id),-1!==b?b:void 0},moveUp:function(){this._moveWidgetByOne(-1)},moveDown:function(){this._moveWidgetByOne(1)},_moveWidgetByOne:function(a){var b,c,d,e;b=this.getWidgetSidebarPosition(),c=this.getSidebarWidgetsControl().setting,d=Array.prototype.slice.call(c()),e=d[b+a],d[b+a]=this.params.widget_id,d[b]=e,c(d)},toggleWidgetMoveArea:function(a){var c,d=this;c=this.container.find(".move-widget-area"),"undefined"==typeof a&&(a=!c.hasClass("active")),a&&(c.find(".selected").removeClass("selected"),c.find("li").filter(function(){return b(this).data("id")===d.params.sidebar_id}).addClass("selected"),this.container.find(".move-widget-btn").prop("disabled",!0)),c.toggleClass("active",a)},highlightSectionAndControl:function(){var a;a=this.container.is(":hidden")?this.container.closest(".control-section"):this.container,b(".highlighted").removeClass("highlighted"),a.addClass("highlighted"),setTimeout(function(){a.removeClass("highlighted")},500)}}),g.Widgets.SidebarControl=g.Control.extend({ready:function(){this.$controlSection=this.container.closest(".control-section"),this.$sectionContent=this.container.closest(".accordion-section-content"),this._setupModel(),this._setupSortable(),this._setupAddition(),this._applyCardinalOrderClassNames()},_setupModel:function(){var a=this,d=g.Widgets.registeredSidebars.get(this.params.sidebar_id);this.setting.bind(function(d,e){var f,h,i,j;j=_(e).difference(d),d=_(d).filter(function(a){var b=c(a);return!!g.Widgets.availableWidgets.findWhere({id_base:b.id_base})}),f=_(d).map(function(b){var c=g.Widgets.getWidgetFormControlForWidget(b);return c||(c=a.addWidget(b)),c}),f.sort(function(a,b){var c=_.indexOf(d,a.params.widget_id),e=_.indexOf(d,b.params.widget_id);return c===e?0:e>c?-1:1}),i=_(f).map(function(a){return a.container[0]}),h=a.$sectionContent.find(".customize-control-sidebar_widgets"),h.before(i),a._applyCardinalOrderClassNames(),_(f).each(function(b){b.params.sidebar_id=a.params.sidebar_id}),_(j).each(function(d){setTimeout(function(){var e,f,h,i,j,k=!1;g.each(function(b){if(b.id!==a.setting.id&&0===b.id.indexOf("sidebars_widgets[")&&"sidebars_widgets[wp_inactive_widgets]"!==b.id){var c,e=b();c=_.indexOf(e,d),-1!==c&&(k=!0)}}),k||(e=g.Widgets.getWidgetFormControlForWidget(d),f=e&&b.contains(document,e.container[0])&&!b.contains(a.$sectionContent[0],e.container[0]),e&&!f&&(g.control.remove(e.id),e.container.remove()),g.Widgets.savedWidgetIds[d]&&(h=g.value("sidebars_widgets[wp_inactive_widgets]")().slice(),h.push(d),g.value("sidebars_widgets[wp_inactive_widgets]")(_(h).unique())),i=c(d).id_base,j=g.Widgets.availableWidgets.findWhere({id_base:i}),j&&!j.get("is_multi")&&j.set("is_disabled",!1))})})}),g.Widgets.Previewer.bind("rendered-sidebars",function(b){var c=!!b[a.params.sidebar_id];d.set("is_rendered",c)}),d.on("change:is_rendered",function(){var a,c="#accordion-section-sidebar-widgets-"+this.get("id");a=b(c),this.get("is_rendered")?a.stop().slideDown(function(){b(this).css("height","auto")}):(a.hasClass("open")&&a.find(".accordion-section-title").trigger("click"),a.stop().slideUp())})},_setupSortable:function(){var a=this;this.isReordering=!1,this.$sectionContent.sortable({items:"> .customize-control-widget_form",handle:".widget-top",axis:"y",connectWith:".accordion-section-content:has(.customize-control-sidebar_widgets)",update:function(){var c,d=a.$sectionContent.sortable("toArray");c=b.map(d,function(a){return b("#"+a).find(":input[name=widget-id]").val()}),a.setting(c)}}),this.$controlSection.find(".accordion-section-title").droppable({accept:".customize-control-widget_form",over:function(){a.$controlSection.hasClass("open")||(a.$controlSection.addClass("open"),a.$sectionContent.toggle(!1).slideToggle(150,function(){a.$sectionContent.sortable("refreshPositions")}))}}),this.container.find(".reorder-toggle").on("click keydown",function(b){("keydown"!==b.type||13===b.which||32===b.which)&&a.toggleReordering(!a.isReordering)})},_setupAddition:function(){var a=this;this.container.find(".add-new-widget").on("click keydown",function(c){("keydown"!==c.type||13===c.which||32===c.which)&&(a.$sectionContent.hasClass("reordering")||(b("body").hasClass("adding-widget")?g.Widgets.availableWidgetsPanel.close():g.Widgets.availableWidgetsPanel.open(a)))})},_applyCardinalOrderClassNames:function(){this.$sectionContent.find(".customize-control-widget_form").removeClass("first-widget").removeClass("last-widget").find(".move-widget-down, .move-widget-up").prop("tabIndex",0),this.$sectionContent.find(".customize-control-widget_form:first").addClass("first-widget").find(".move-widget-up").prop("tabIndex",-1),this.$sectionContent.find(".customize-control-widget_form:last").addClass("last-widget").find(".move-widget-down").prop("tabIndex",-1)},toggleReordering:function(a){a=Boolean(a),a!==this.$sectionContent.hasClass("reordering")&&(this.isReordering=a,this.$sectionContent.toggleClass("reordering",a),a&&_(this.getWidgetFormControls()).each(function(a){a.collapseForm()}))},getWidgetFormControls:function(){var a;return a=_(this.setting()).map(function(a){var b=d(a),c=g.control(b);if(c)return c})},addWidget:function(a){var d,e,f,h,i,j,k,l,m,n=this,o="widget_form",p=c(a),q=p.number,r=p.id_base,s=g.Widgets.availableWidgets.findWhere({id_base:r});return s?q&&!s.get("is_multi")?!1:(s.get("is_multi")&&!q&&(s.set("multi_number",s.get("multi_number")+1),q=s.get("multi_number")),d=b.trim(b("#widget-tpl-"+s.get("id")).html()),s.get("is_multi")?d=d.replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,q)}):s.set("is_disabled",!0),e=b(d),f=b("<li/>").addClass("customize-control").addClass("customize-control-"+o).append(e),f.find("> .widget-icon").remove(),s.get("is_multi")&&(f.find('input[name="widget_number"]').val(q),f.find('input[name="multi_number"]').val(q)),a=f.find('[name="widget-id"]').val(),f.hide(),i="widget_"+s.get("id_base"),s.get("is_multi")&&(i+="["+q+"]"),f.attr("id","customize-control-"+i.replace(/\]/g,"").replace(/\[/g,"-")),this.container.after(f),j=g.has(i),j||(m={transport:"refresh",previewer:this.setting.previewer},g.create(i,i,{},m)),h=g.controlConstructor[o],k=new h(i,{params:{settings:{"default":i},sidebar_id:n.params.sidebar_id,widget_id:a,widget_id_base:s.get("id_base"),type:o,is_new:!j,width:s.get("width"),height:s.get("height"),is_wide:s.get("is_wide")},previewer:n.setting.previewer}),g.control.add(i,k),g.each(function(b){if(b.id!==n.setting.id&&0===b.id.indexOf("sidebars_widgets[")){var c=b().slice(),d=_.indexOf(c,a);-1!==d&&(c.splice(d),b(c))}}),l=this.setting().slice(),-1===_.indexOf(l,a)&&(l.push(a),this.setting(l)),f.slideDown(function(){j?(k.expandForm(),k.updateWidget({instance:k.setting(),complete:function(a){if(a)throw a;k.focus()}})):k.focus()}),b(document).trigger("widget-added",[e]),k):!1}}),b.extend(g.controlConstructor,{widget_form:g.Widgets.WidgetControl,sidebar_widgets:g.Widgets.SidebarControl}),f=g.Previewer,g.Previewer=f.extend({initialize:function(a,b){g.Widgets.Previewer=this,f.prototype.initialize.call(this,a,b),this.bind("refresh",this.refresh)}}),g.bind("ready",function(){g.Widgets.availableWidgetsPanel=new g.Widgets.AvailableWidgetsPanelView({collection:g.Widgets.availableWidgets}),g.Widgets.Previewer.bind("highlight-widget-control",g.Widgets.highlightWidgetFormControl),g.Widgets.Previewer.bind("focus-widget-control",g.Widgets.focusWidgetFormControl)}),g.Widgets.highlightWidgetFormControl=function(a){var b=g.Widgets.getWidgetFormControlForWidget(a);b&&b.highlightSectionAndControl()},g.Widgets.focusWidgetFormControl=function(a){var b=g.Widgets.getWidgetFormControlForWidget(a);b&&b.focus()},g.Widgets.getSidebarWidgetControlContainingWidget=function(a){var b=null;return g.control.each(function(c){"sidebar_widgets"===c.params.type&&-1!==_.indexOf(c.setting(),a)&&(b=c)}),b},g.Widgets.getWidgetFormControlForWidget=function(a){var b=null;return g.control.each(function(c){"widget_form"===c.params.type&&c.params.widget_id===a&&(b=c)}),b}}}(window.wp,jQuery);
\ No newline at end of file
+!function(a,b){function c(a){var b,c={number:null,id_base:null};return b=a.match(/^(.+)-(\d+)$/),b?(c.id_base=b[1],c.number=parseInt(b[2],10)):c.id_base=a,c}function d(a){var b,d=c(a);return b="widget_"+d.id_base,d.number&&(b+="["+d.number+"]"),b}if(a&&a.customize){var e,f=a.customize;f.Widgets=f.Widgets||{},f.Widgets.data=_wpCustomizeWidgetsSettings||{},e=f.Widgets.data.l10n,delete f.Widgets.data.l10n,f.Widgets.WidgetModel=Backbone.Model.extend({id:null,temp_id:null,classname:null,control_tpl:null,description:null,is_disabled:null,is_multi:null,multi_number:null,name:null,id_base:null,transport:"refresh",params:[],width:null,height:null,search_matched:!0}),f.Widgets.WidgetCollection=Backbone.Collection.extend({model:f.Widgets.WidgetModel,doSearch:function(a){this.terms!==a&&(this.terms=a,this.terms.length>0&&this.search(this.terms),""===this.terms&&this.each(function(a){a.set("search_matched",!0)}))},search:function(a){var b,c;a=a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),a=a.replace(/ /g,")(?=.*"),b=new RegExp("^(?=.*"+a+").+","i"),this.each(function(a){c=[a.get("name"),a.get("id"),a.get("description")].join(" "),a.set("search_matched",b.test(c))})}}),f.Widgets.availableWidgets=new f.Widgets.WidgetCollection(f.Widgets.data.availableWidgets),f.Widgets.SidebarModel=Backbone.Model.extend({after_title:null,after_widget:null,before_title:null,before_widget:null,"class":null,description:null,id:null,name:null,is_rendered:!1}),f.Widgets.SidebarCollection=Backbone.Collection.extend({model:f.Widgets.SidebarModel}),f.Widgets.registeredSidebars=new f.Widgets.SidebarCollection(f.Widgets.data.registeredSidebars),f.Widgets.AvailableWidgetsPanelView=a.Backbone.View.extend({el:"#available-widgets",events:{"input #widgets-search":"search","keyup #widgets-search":"search","change #widgets-search":"search","search #widgets-search":"search","focus .widget-tpl":"focus","click .widget-tpl":"_submit","keypress .widget-tpl":"_submit",keydown:"keyboardAccessible"},selected:null,currentSidebarControl:null,$search:null,initialize:function(){var a=this;this.$search=b("#widgets-search"),_.bindAll(this,"close"),this.listenTo(this.collection,"change",this.updateList),this.updateList(),b("#customize-controls").on("click keydown",function(c){var d=b(c.target).is(".add-new-widget, .add-new-widget *");b("body").hasClass("adding-widget")&&!d&&a.close()}),f.previewer.bind("url",this.close)},search:function(a){var b;this.collection.doSearch(a.target.value),this.selected&&!this.selected.is(":visible")&&(this.selected.removeClass("selected"),this.selected=null),this.selected&&!a.target.value&&(this.selected.removeClass("selected"),this.selected=null),!this.selected&&a.target.value&&(b=this.$el.find("> .widget-tpl:visible:first"),b.length&&this.select(b))},updateList:function(){this.collection.each(function(a){var c=b("#widget-tpl-"+a.id);c.toggle(a.get("search_matched")&&!a.get("is_disabled")),a.get("is_disabled")&&c.is(this.selected)&&(this.selected=null)})},select:function(a){this.selected=b(a),this.selected.siblings(".widget-tpl").removeClass("selected"),this.selected.addClass("selected")},focus:function(a){this.select(b(a.currentTarget))},_submit:function(a){("keypress"!==a.type||13===a.which||32===a.which)&&this.submit(b(a.currentTarget))},submit:function(a){var c,d;a||(a=this.selected),a&&this.currentSidebarControl&&(this.select(a),c=b(this.selected).data("widget-id"),d=this.collection.findWhere({id:c}),d&&(this.currentSidebarControl.addWidget(d.get("id_base")),this.close()))},open:function(a){this.currentSidebarControl=a,_(this.currentSidebarControl.getWidgetFormControls()).each(function(a){a.params.is_wide&&a.collapseForm()}),b("body").addClass("adding-widget"),this.$el.find(".selected").removeClass("selected"),this.collection.doSearch(""),this.$search.focus()},close:function(a){a=a||{},a.returnFocus&&this.currentSidebarControl&&this.currentSidebarControl.container.find(".add-new-widget").focus(),this.currentSidebarControl=null,this.selected=null,b("body").removeClass("adding-widget"),this.$search.val("")},keyboardAccessible:function(a){var c=13===a.which,d=27===a.which,e=40===a.which,f=38===a.which,g=9===a.which,h=a.shiftKey,i=null,j=this.$el.find("> .widget-tpl:visible:first"),k=this.$el.find("> .widget-tpl:visible:last"),l=b(a.target).is(this.$search),m=b(a.target).is(".widget-tpl:visible:last");return e||f?(e?l?i=j:this.selected&&0!==this.selected.nextAll(".widget-tpl:visible").length&&(i=this.selected.nextAll(".widget-tpl:visible:first")):f&&(l?i=k:this.selected&&0!==this.selected.prevAll(".widget-tpl:visible").length&&(i=this.selected.prevAll(".widget-tpl:visible:first"))),this.select(i),void(i?i.focus():this.$search.focus())):void((!c||this.$search.val())&&(c?this.submit():d&&this.close({returnFocus:!0}),g&&(h&&l||!h&&m)&&(this.currentSidebarControl.container.find(".add-new-widget").focus(),a.preventDefault())))}}),f.Widgets.formSyncHandlers={rss:function(a,c,d){var e=c.find(".widget-error:first"),f=b("<div>"+d+"</div>").find(".widget-error:first");e.length&&f.length?e.replaceWith(f):e.length?e.remove():f.length&&c.find(".widget-content:first").prepend(f)}},f.Widgets.WidgetControl=f.Control.extend({ready:function(){this._setupModel(),this._setupWideWidget(),this._setupControlToggle(),this._setupWidgetTitle(),this._setupReorderUI(),this._setupHighlightEffects(),this._setupUpdateUI(),this._setupRemoveUI()},_setupModel:function(){var a,b=this;f.Widgets.savedWidgetIds=f.Widgets.savedWidgetIds||[],a=function(){f.Widgets.savedWidgetIds[b.params.widget_id]=!0},f.bind("ready",a),f.bind("saved",a),this._updateCount=0,this.isWidgetUpdating=!1,this.liveUpdateMode=!0,this.setting.bind(function(a,c){_(c).isEqual(a)||b.isWidgetUpdating||b.updateWidget({instance:a})})},_setupWideWidget:function(){var a,c,d,e,g,h=this;this.params.is_wide&&(a=this.container.find(".widget-inside"),c=a.find("> .form"),d=b(".wp-full-overlay-sidebar-content:first"),this.container.addClass("wide-widget-control"),this.container.find(".widget-content:first").css({"max-width":this.params.width,"min-height":this.params.height}),g=function(){var d,e=h.container.offset().top,f=b(window).height(),g=c.outerHeight();a.css("max-height",f),d=Math.max(0,Math.min(Math.max(e,0),f-g)),a.css("top",d)},e=b("#customize-theme-controls"),this.container.on("expand",function(){g(),d.on("scroll",g),b(window).on("resize",g),e.on("expanded collapsed",g)}),this.container.on("collapsed",function(){d.off("scroll",g),b(window).off("resize",g),e.off("expanded collapsed",g)}),f.each(function(a){0===a.id.indexOf("sidebars_widgets[")&&a.bind(function(){h.container.hasClass("expanded")&&g()})}))},_setupControlToggle:function(){var a,b=this;this.container.find(".widget-top").on("click",function(a){a.preventDefault();var c=b.getSidebarWidgetsControl();c.isReordering||b.toggleForm()}),a=this.container.find(".widget-control-close"),a.on("click",function(a){a.preventDefault(),b.collapseForm(),b.container.find(".widget-top .widget-action:first").focus()})},_setupWidgetTitle:function(){var a,b=this;a=function(){var a=b.setting().title,c=b.container.find(".in-widget-title");c.text(a?": "+a:"")},this.setting.bind(a),a()},_setupReorderUI:function(){var a,c,d,e,g=this;a=function(a){a.siblings(".selected").removeClass("selected"),a.addClass("selected");var b=a.data("id")===g.params.sidebar_id;g.container.find(".move-widget-btn").prop("disabled",b)},this.container.find(".widget-title-action").after(b(f.Widgets.data.tpl.widgetReorderNav)),c=b(_.template(f.Widgets.data.tpl.moveWidgetArea,{sidebars:_(f.Widgets.registeredSidebars.toArray()).pluck("attributes")})),this.container.find(".widget-top").after(c),e=function(){var d,e=c.find("li");d=e.filter(function(){return b(this).data("id")===g.params.sidebar_id}),e.each(function(){var c,e,g=b(this);c=g.data("id"),e=f.Widgets.registeredSidebars.get(c),g.toggle(e.get("is_rendered")),g.hasClass("selected")&&!e.get("is_rendered")&&a(d)})},e(),f.Widgets.registeredSidebars.on("change:is_rendered",e),d=this.container.find(".widget-reorder-nav"),d.find(".move-widget, .move-widget-down, .move-widget-up").each(function(){b(this).prepend(g.container.find(".widget-title").text()+": ")}).on("click keypress",function(a){if("keypress"!==a.type||13===a.which||32===a.which)if(b(this).focus(),b(this).is(".move-widget"))g.toggleWidgetMoveArea();else{var c=b(this).is(".move-widget-down"),d=b(this).is(".move-widget-up"),e=g.getWidgetSidebarPosition();if(d&&0===e||c&&e===g.getSidebarWidgetsControl().setting().length-1)return;d?g.moveUp():g.moveDown(),b(this).focus()}}),this.container.find(".widget-area-select").on("click keypress","li",function(c){("keypress"!==event.type||13===event.which||32===event.which)&&(c.preventDefault(),a(b(this)))}),this.container.find(".move-widget-btn").click(function(){g.getSidebarWidgetsControl().toggleReordering(!1);var a,b,c,d,e,h=g.params.sidebar_id,i=g.container.find(".widget-area-select li.selected").data("id");a=f("sidebars_widgets["+h+"]"),b=f("sidebars_widgets["+i+"]"),c=Array.prototype.slice.call(a()),d=Array.prototype.slice.call(b()),e=g.getWidgetSidebarPosition(),c.splice(e,1),d.push(g.params.widget_id),a(c),b(d),g.focus()})},_setupHighlightEffects:function(){var a=this;this.container.on("mouseenter click",function(){a.setting.previewer.send("highlight-widget",a.params.widget_id)}),this.setting.bind(function(){a.setting.previewer.send("highlight-widget",a.params.widget_id)})},_setupUpdateUI:function(){var a,c,d,g,h,i=this;a=this.container.find(".widget:first"),c=a.find(".widget-content:first"),d=this.container.find(".widget-control-save"),d.val(e.saveBtnLabel),d.attr("title",e.saveBtnTooltip),d.removeClass("button-primary").addClass("button-secondary"),d.on("click",function(a){a.preventDefault(),i.updateWidget({disable_form:!0})}),g=_.debounce(function(){i.updateWidget()},250),c.on("keydown","input",function(a){13===a.which&&(a.preventDefault(),i.updateWidget({ignoreActiveElement:!0}))}),c.on("change input propertychange",":input",function(a){i.liveUpdateMode&&("change"===a.type?i.updateWidget():this.checkValidity&&this.checkValidity()&&g())}),this.setting.previewer.channel.bind("synced",function(){i.container.removeClass("previewer-loading")}),f.previewer.bind("widget-updated",function(a){a===i.params.widget_id&&i.container.removeClass("previewer-loading")}),h=f.Widgets.formSyncHandlers[this.params.widget_id_base],h&&b(document).on("widget-synced",function(b,c){a.is(c)&&h.apply(document,arguments)})},toggle:function(a){this.container.toggleClass("widget-rendered",a)},_setupRemoveUI:function(){var a,b,c=this;a=this.container.find("a.widget-control-remove"),a.on("click",function(a){a.preventDefault();var b;b=c.container.next().is(".customize-control-widget_form")?c.container.next().find(".widget-action:first"):c.container.prev().is(".customize-control-widget_form")?c.container.prev().find(".widget-action:first"):c.container.next(".customize-control-sidebar_widgets").find(".add-new-widget:first"),c.container.slideUp(function(){var a,d,e=f.Widgets.getSidebarWidgetControlContainingWidget(c.params.widget_id);e&&(a=e.setting().slice(),d=_.indexOf(a,c.params.widget_id),-1!==d&&(a.splice(d,1),e.setting(a),b.focus()))})}),b=function(){a.text(e.removeBtnLabel),a.attr("title",e.removeBtnTooltip)},this.params.is_new?f.bind("saved",b):b()},_getInputs:function(a){return b(a).find(":input[name]")},_getInputsSignature:function(a){var c=_(a).map(function(a){var c,d=b(a);return c=d.is(":checkbox, :radio")?[d.attr("id"),d.attr("name"),d.prop("value")]:[d.attr("id"),d.attr("name")],c.join(",")});return c.join(";")},_getInputStatePropertyName:function(a){var c=b(a);return c.is(":radio, :checkbox")?"checked":"value"},getSidebarWidgetsControl:function(){var a,b;return a="sidebars_widgets["+this.params.sidebar_id+"]",(b=f.control(a))?b:void 0},updateWidget:function(c){var d,g,h,i,j,k,l,m,n,o,p,q=this;c=b.extend({instance:null,complete:null,ignoreActiveElement:!1},c),d=c.instance,g=c.complete,this._updateCount+=1,j=this._updateCount,h=this.container.find(".widget:first"),i=h.find(".widget-content:first"),i.find(".widget-error").remove(),this.container.addClass("widget-form-loading"),this.container.addClass("previewer-loading"),n=f.state("processing"),n(n()+1),this.liveUpdateMode||this.container.addClass("widget-form-disabled"),k={},k.action="update-widget",k.wp_customize="on",k.nonce=f.Widgets.data.nonce,k.theme=f.settings.theme.stylesheet,l=b.param(k),m=this._getInputs(i),m.each(function(){var a=b(this),c=q._getInputStatePropertyName(this);a.data("state"+j,a.prop(c))}),l+=d?"&"+b.param({sanitized_widget_setting:JSON.stringify(d)}):"&"+m.serialize(),l+="&"+i.find("~ :input").serialize(),o=b.post(a.ajax.settings.url,l),o.done(function(a){var d,k,l,n,o=!1;return"0"===a?(f.previewer.preview.iframe.hide(),void f.previewer.login().done(function(){q.updateWidget(c),f.previewer.preview.iframe.show()})):"-1"===a?void f.previewer.cheatin():void(a.success?(k=b("<div>"+a.data.form+"</div>"),l=q._getInputs(k),n=q._getInputsSignature(m)===q._getInputsSignature(l),n&&!q.liveUpdateMode&&(q.liveUpdateMode=!0,q.container.removeClass("widget-form-disabled"),q.container.find('input[name="savewidget"]').hide()),n&&q.liveUpdateMode?(m.each(function(a){var d,e,f,g=b(this),h=b(l[a]),i=q._getInputStatePropertyName(this);d=g.data("state"+j),e=h.prop(i),g.data("sanitized",e),f=d!==e&&(c.ignoreActiveElement||!g.is(document.activeElement)),f&&g.prop(i,e)}),b(document).trigger("widget-synced",[h,a.data.form])):q.liveUpdateMode?(q.liveUpdateMode=!1,q.container.find('input[name="savewidget"]').show(),o=!0):(i.html(a.data.form),q.container.removeClass("widget-form-disabled"),b(document).trigger("widget-updated",[h])),p=!o&&!_(q.setting()).isEqual(a.data.instance),p?(q.isWidgetUpdating=!0,q.setting(a.data.instance),q.isWidgetUpdating=!1):q.container.removeClass("previewer-loading"),g&&g.call(q,null,{noChange:!p,ajaxFinished:!0})):(d=e.error,a.data&&a.data.message&&(d=a.data.message),g?g.call(q,d):i.prepend('<p class="widget-error"><strong>'+d+"</strong></p>")))}),o.fail(function(a,b){g&&g.call(q,b)}),o.always(function(){q.container.removeClass("widget-form-loading"),m.each(function(){b(this).removeData("state"+j)}),n(n()-1)})},expandControlSection:function(){var a=this.container.closest(".accordion-section");a.hasClass("open")||a.find(".accordion-section-title:first").trigger("click")},expandForm:function(){this.toggleForm(!0)},collapseForm:function(){this.toggleForm(!1)},toggleForm:function(a){var b,c,d,e=this;b=this.container.find("div.widget:first"),c=b.find(".widget-inside:first"),"undefined"==typeof a&&(a=!c.is(":visible")),c.is(":visible")!==a&&(a?(f.control.each(function(a){e.params.type===a.params.type&&e!==a&&a.collapseForm()}),d=function(){e.container.removeClass("expanding"),e.container.addClass("expanded"),e.container.trigger("expanded")},e.params.is_wide?c.fadeIn("fast",d):c.slideDown("fast",d),e.container.trigger("expand"),e.container.addClass("expanding")):(d=function(){e.container.removeClass("collapsing"),e.container.removeClass("expanded"),e.container.trigger("collapsed")},e.container.trigger("collapse"),e.container.addClass("collapsing"),e.params.is_wide?c.fadeOut("fast",d):c.slideUp("fast",function(){b.css({width:"",margin:""}),d()})))},focus:function(){this.expandControlSection(),this.expandForm(),this.container.find(".widget-content :focusable:first").focus()},getWidgetSidebarPosition:function(){var a,b;return a=this.getSidebarWidgetsControl().setting(),b=_.indexOf(a,this.params.widget_id),-1!==b?b:void 0},moveUp:function(){this._moveWidgetByOne(-1)},moveDown:function(){this._moveWidgetByOne(1)},_moveWidgetByOne:function(a){var b,c,d,e;b=this.getWidgetSidebarPosition(),c=this.getSidebarWidgetsControl().setting,d=Array.prototype.slice.call(c()),e=d[b+a],d[b+a]=this.params.widget_id,d[b]=e,c(d)},toggleWidgetMoveArea:function(a){var c,d=this;c=this.container.find(".move-widget-area"),"undefined"==typeof a&&(a=!c.hasClass("active")),a&&(c.find(".selected").removeClass("selected"),c.find("li").filter(function(){return b(this).data("id")===d.params.sidebar_id}).addClass("selected"),this.container.find(".move-widget-btn").prop("disabled",!0)),c.toggleClass("active",a)},highlightSectionAndControl:function(){var a;a=this.container.is(":hidden")?this.container.closest(".control-section"):this.container,b(".highlighted").removeClass("highlighted"),a.addClass("highlighted"),setTimeout(function(){a.removeClass("highlighted")},500)}}),f.Widgets.SidebarControl=f.Control.extend({ready:function(){this.$controlSection=this.container.closest(".control-section"),this.$sectionContent=this.container.closest(".accordion-section-content"),this._setupModel(),this._setupSortable(),this._setupAddition(),this._applyCardinalOrderClassNames()},_setupModel:function(){var a=this,d=f.Widgets.registeredSidebars.get(this.params.sidebar_id);this.setting.bind(function(d,e){var g,h,i,j;j=_(e).difference(d),d=_(d).filter(function(a){var b=c(a);return!!f.Widgets.availableWidgets.findWhere({id_base:b.id_base})}),g=_(d).map(function(b){var c=f.Widgets.getWidgetFormControlForWidget(b);return c||(c=a.addWidget(b)),c}),g.sort(function(a,b){var c=_.indexOf(d,a.params.widget_id),e=_.indexOf(d,b.params.widget_id);return c===e?0:e>c?-1:1}),i=_(g).map(function(a){return a.container[0]}),h=a.$sectionContent.find(".customize-control-sidebar_widgets"),h.before(i),a._applyCardinalOrderClassNames(),_(g).each(function(b){b.params.sidebar_id=a.params.sidebar_id}),_(j).each(function(d){setTimeout(function(){var e,g,h,i,j,k=!1;f.each(function(b){if(b.id!==a.setting.id&&0===b.id.indexOf("sidebars_widgets[")&&"sidebars_widgets[wp_inactive_widgets]"!==b.id){var c,e=b();c=_.indexOf(e,d),-1!==c&&(k=!0)}}),k||(e=f.Widgets.getWidgetFormControlForWidget(d),g=e&&b.contains(document,e.container[0])&&!b.contains(a.$sectionContent[0],e.container[0]),e&&!g&&(f.control.remove(e.id),e.container.remove()),f.Widgets.savedWidgetIds[d]&&(h=f.value("sidebars_widgets[wp_inactive_widgets]")().slice(),h.push(d),f.value("sidebars_widgets[wp_inactive_widgets]")(_(h).unique())),i=c(d).id_base,j=f.Widgets.availableWidgets.findWhere({id_base:i}),j&&!j.get("is_multi")&&j.set("is_disabled",!1))})})}),a.active.bind(function(a){d.set("is_rendered",a)})},toggle:function(a){var c,d;d="#accordion-section-sidebar-widgets-"+this.params.sidebar_id,c=b(d),a?c.stop().slideDown(function(){b(this).css("height","auto")}):(c.hasClass("open")&&c.find(".accordion-section-title").trigger("click"),c.stop().slideUp())},_setupSortable:function(){var a=this;this.isReordering=!1,this.$sectionContent.sortable({items:"> .customize-control-widget_form",handle:".widget-top",axis:"y",connectWith:".accordion-section-content:has(.customize-control-sidebar_widgets)",update:function(){var c,d=a.$sectionContent.sortable("toArray");c=b.map(d,function(a){return b("#"+a).find(":input[name=widget-id]").val()}),a.setting(c)}}),this.$controlSection.find(".accordion-section-title").droppable({accept:".customize-control-widget_form",over:function(){a.$controlSection.hasClass("open")||(a.$controlSection.addClass("open"),a.$sectionContent.toggle(!1).slideToggle(150,function(){a.$sectionContent.sortable("refreshPositions")}))}}),this.container.find(".reorder-toggle").on("click keydown",function(b){("keydown"!==b.type||13===b.which||32===b.which)&&a.toggleReordering(!a.isReordering)})},_setupAddition:function(){var a=this;this.container.find(".add-new-widget").on("click keydown",function(c){("keydown"!==c.type||13===c.which||32===c.which)&&(a.$sectionContent.hasClass("reordering")||(b("body").hasClass("adding-widget")?f.Widgets.availableWidgetsPanel.close():f.Widgets.availableWidgetsPanel.open(a)))})},_applyCardinalOrderClassNames:function(){this.$sectionContent.find(".customize-control-widget_form").removeClass("first-widget").removeClass("last-widget").find(".move-widget-down, .move-widget-up").prop("tabIndex",0),this.$sectionContent.find(".customize-control-widget_form:first").addClass("first-widget").find(".move-widget-up").prop("tabIndex",-1),this.$sectionContent.find(".customize-control-widget_form:last").addClass("last-widget").find(".move-widget-down").prop("tabIndex",-1)},toggleReordering:function(a){a=Boolean(a),a!==this.$sectionContent.hasClass("reordering")&&(this.isReordering=a,this.$sectionContent.toggleClass("reordering",a),a?(_(this.getWidgetFormControls()).each(function(a){a.collapseForm()}),this.$sectionContent.find(".first-widget .move-widget").focus(),this.$sectionContent.find(".add-new-widget").prop("tabIndex",-1)):this.$sectionContent.find(".add-new-widget").prop("tabIndex",0))},getWidgetFormControls:function(){var a;return a=_(this.setting()).map(function(a){var b=d(a),c=f.control(b);if(c)return c})},addWidget:function(a){var d,e,g,h,i,j,k,l,m,n=this,o="widget_form",p=c(a),q=p.number,r=p.id_base,s=f.Widgets.availableWidgets.findWhere({id_base:r});return s?q&&!s.get("is_multi")?!1:(s.get("is_multi")&&!q&&(s.set("multi_number",s.get("multi_number")+1),q=s.get("multi_number")),d=b.trim(b("#widget-tpl-"+s.get("id")).html()),s.get("is_multi")?d=d.replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,q)}):s.set("is_disabled",!0),e=b(d),g=b("<li/>").addClass("customize-control").addClass("customize-control-"+o).append(e),g.find("> .widget-icon").remove(),s.get("is_multi")&&(g.find('input[name="widget_number"]').val(q),g.find('input[name="multi_number"]').val(q)),a=g.find('[name="widget-id"]').val(),g.hide(),i="widget_"+s.get("id_base"),s.get("is_multi")&&(i+="["+q+"]"),g.attr("id","customize-control-"+i.replace(/\]/g,"").replace(/\[/g,"-")),this.container.after(g),j=f.has(i),j||(m={transport:"refresh",previewer:this.setting.previewer},f.create(i,i,{},m)),h=f.controlConstructor[o],k=new h(i,{params:{settings:{"default":i},sidebar_id:n.params.sidebar_id,widget_id:a,widget_id_base:s.get("id_base"),type:o,is_new:!j,width:s.get("width"),height:s.get("height"),is_wide:s.get("is_wide")},previewer:n.setting.previewer}),f.control.add(i,k),f.each(function(b){if(b.id!==n.setting.id&&0===b.id.indexOf("sidebars_widgets[")){var c=b().slice(),d=_.indexOf(c,a);-1!==d&&(c.splice(d),b(c))}}),l=this.setting().slice(),-1===_.indexOf(l,a)&&(l.push(a),this.setting(l)),g.slideDown(function(){j?(k.expandForm(),k.updateWidget({instance:k.setting(),complete:function(a){if(a)throw a;k.focus()}})):k.focus()}),b(document).trigger("widget-added",[e]),k):!1}}),b.extend(f.controlConstructor,{widget_form:f.Widgets.WidgetControl,sidebar_widgets:f.Widgets.SidebarControl}),f.bind("ready",function(){f.Widgets.availableWidgetsPanel=new f.Widgets.AvailableWidgetsPanelView({collection:f.Widgets.availableWidgets}),f.previewer.bind("highlight-widget-control",f.Widgets.highlightWidgetFormControl),f.previewer.bind("focus-widget-control",f.Widgets.focusWidgetFormControl)}),f.Widgets.highlightWidgetFormControl=function(a){var b=f.Widgets.getWidgetFormControlForWidget(a);b&&b.highlightSectionAndControl()},f.Widgets.focusWidgetFormControl=function(a){var b=f.Widgets.getWidgetFormControlForWidget(a);b&&b.focus()},f.Widgets.getSidebarWidgetControlContainingWidget=function(a){var b=null;return f.control.each(function(c){"sidebar_widgets"===c.params.type&&-1!==_.indexOf(c.setting(),a)&&(b=c)}),b},f.Widgets.getWidgetFormControlForWidget=function(a){var b=null;return f.control.each(function(c){"widget_form"===c.params.type&&c.params.widget_id===a&&(b=c)}),b}}}(window.wp,jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/dashboard.js b/wp-admin/js/dashboard.js
index 1029b0d09..f5e37e621 100644
--- a/wp-admin/js/dashboard.js
+++ b/wp-admin/js/dashboard.js
@@ -64,6 +64,9 @@ jQuery(document).ready( function($) {
 	/* QuickPress */
 	quickPressLoad = function() {
 		var act = $('#quickpost-action'), t;
+
+		$( '#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]' ).prop( 'disabled' , false );
+
 		t = $('#quick-press').submit( function() {
 			$('#dashboard_quick_press #publishing-action .spinner').show();
 			$('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop('disabled', true);
diff --git a/wp-admin/js/dashboard.min.js b/wp-admin/js/dashboard.min.js
index 972afd7ea..00c3068bb 100644
--- a/wp-admin/js/dashboard.min.js
+++ b/wp-admin/js/dashboard.min.js
@@ -1 +1 @@
-var ajaxWidgets,ajaxPopulateWidgets,quickPressLoad;jQuery(document).ready(function(a){function b(){if(!(document.documentMode&&document.documentMode<9)){a("body").append('<div class="quick-draft-textarea-clone" style="display: none;"></div>');var b=a(".quick-draft-textarea-clone"),c=a("#content"),d=c.height(),e=a(window).height()-100;b.css({"font-family":c.css("font-family"),"font-size":c.css("font-size"),"line-height":c.css("line-height"),"padding-bottom":c.css("paddingBottom"),"padding-left":c.css("paddingLeft"),"padding-right":c.css("paddingRight"),"padding-top":c.css("paddingTop"),"white-space":"pre-wrap","word-wrap":"break-word",display:"none"}),c.on("focus input propertychange",function(){var f=a(this),g=f.val()+"&nbsp;",h=b.css("width",f.css("width")).text(g).outerHeight()+2;c.css("overflow-y","auto"),h===d||h>=e&&d>=e||(d=h>e?e:h,c.css("overflow","hidden"),f.css("height",d+"px"))})}}var c,d=a("#welcome-panel"),e=a("#wp_welcome_panel-hide");c=function(b){a.post(ajaxurl,{action:"update-welcome-panel",visible:b,welcomepanelnonce:a("#welcomepanelnonce").val()})},d.hasClass("hidden")&&e.prop("checked")&&d.removeClass("hidden"),a(".welcome-panel-close, .welcome-panel-dismiss a",d).click(function(b){b.preventDefault(),d.addClass("hidden"),c(0),a("#wp_welcome_panel-hide").prop("checked",!1)}),e.click(function(){d.toggleClass("hidden",!this.checked),c(this.checked?1:0)}),ajaxWidgets=["dashboard_primary"],ajaxPopulateWidgets=function(b){function c(b,c){var d,e=a("#"+c+" div.inside:visible").find(".widget-loading");e.length&&(d=e.parent(),setTimeout(function(){d.load(ajaxurl+"?action=dashboard-widgets&widget="+c+"&pagenow="+pagenow,"",function(){d.hide().slideDown("normal",function(){a(this).css("display","")})})},500*b))}b?(b=b.toString(),-1!==a.inArray(b,ajaxWidgets)&&c(0,b)):a.each(ajaxWidgets,c)},ajaxPopulateWidgets(),postboxes.add_postbox_toggles(pagenow,{pbshow:ajaxPopulateWidgets}),quickPressLoad=function(){var c,d=a("#quickpost-action");c=a("#quick-press").submit(function(){function b(){var b=a(".drafts ul li").first();b.css("background","#fffbe5"),setTimeout(function(){b.css("background","none")},1e3)}return a("#dashboard_quick_press #publishing-action .spinner").show(),a('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop("disabled",!0),a.post(c.attr("action"),c.serializeArray(),function(c){a("#dashboard_quick_press .inside").html(c),a("#quick-press").removeClass("initial-form"),quickPressLoad(),b(),a("#title").focus()}),!1}),a("#publish").click(function(){d.val("post-quickpress-publish")}),a("#title, #tags-input, #content").each(function(){var b=a(this),c=a("#"+this.id+"-prompt-text");""===this.value&&c.removeClass("screen-reader-text"),c.click(function(){a(this).addClass("screen-reader-text"),b.focus()}),b.blur(function(){""===this.value&&c.removeClass("screen-reader-text")}),b.focus(function(){c.addClass("screen-reader-text")})}),a("#quick-press").on("click focusin",function(){wpActiveEditor="content"}),b()},quickPressLoad(),a(".meta-box-sortables").sortable("option","containment","document")});
\ No newline at end of file
+var ajaxWidgets,ajaxPopulateWidgets,quickPressLoad;jQuery(document).ready(function(a){function b(){if(!(document.documentMode&&document.documentMode<9)){a("body").append('<div class="quick-draft-textarea-clone" style="display: none;"></div>');var b=a(".quick-draft-textarea-clone"),c=a("#content"),d=c.height(),e=a(window).height()-100;b.css({"font-family":c.css("font-family"),"font-size":c.css("font-size"),"line-height":c.css("line-height"),"padding-bottom":c.css("paddingBottom"),"padding-left":c.css("paddingLeft"),"padding-right":c.css("paddingRight"),"padding-top":c.css("paddingTop"),"white-space":"pre-wrap","word-wrap":"break-word",display:"none"}),c.on("focus input propertychange",function(){var f=a(this),g=f.val()+"&nbsp;",h=b.css("width",f.css("width")).text(g).outerHeight()+2;c.css("overflow-y","auto"),h===d||h>=e&&d>=e||(d=h>e?e:h,c.css("overflow","hidden"),f.css("height",d+"px"))})}}var c,d=a("#welcome-panel"),e=a("#wp_welcome_panel-hide");c=function(b){a.post(ajaxurl,{action:"update-welcome-panel",visible:b,welcomepanelnonce:a("#welcomepanelnonce").val()})},d.hasClass("hidden")&&e.prop("checked")&&d.removeClass("hidden"),a(".welcome-panel-close, .welcome-panel-dismiss a",d).click(function(b){b.preventDefault(),d.addClass("hidden"),c(0),a("#wp_welcome_panel-hide").prop("checked",!1)}),e.click(function(){d.toggleClass("hidden",!this.checked),c(this.checked?1:0)}),ajaxWidgets=["dashboard_primary"],ajaxPopulateWidgets=function(b){function c(b,c){var d,e=a("#"+c+" div.inside:visible").find(".widget-loading");e.length&&(d=e.parent(),setTimeout(function(){d.load(ajaxurl+"?action=dashboard-widgets&widget="+c+"&pagenow="+pagenow,"",function(){d.hide().slideDown("normal",function(){a(this).css("display","")})})},500*b))}b?(b=b.toString(),-1!==a.inArray(b,ajaxWidgets)&&c(0,b)):a.each(ajaxWidgets,c)},ajaxPopulateWidgets(),postboxes.add_postbox_toggles(pagenow,{pbshow:ajaxPopulateWidgets}),quickPressLoad=function(){var c,d=a("#quickpost-action");a('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop("disabled",!1),c=a("#quick-press").submit(function(){function b(){var b=a(".drafts ul li").first();b.css("background","#fffbe5"),setTimeout(function(){b.css("background","none")},1e3)}return a("#dashboard_quick_press #publishing-action .spinner").show(),a('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop("disabled",!0),a.post(c.attr("action"),c.serializeArray(),function(c){a("#dashboard_quick_press .inside").html(c),a("#quick-press").removeClass("initial-form"),quickPressLoad(),b(),a("#title").focus()}),!1}),a("#publish").click(function(){d.val("post-quickpress-publish")}),a("#title, #tags-input, #content").each(function(){var b=a(this),c=a("#"+this.id+"-prompt-text");""===this.value&&c.removeClass("screen-reader-text"),c.click(function(){a(this).addClass("screen-reader-text"),b.focus()}),b.blur(function(){""===this.value&&c.removeClass("screen-reader-text")}),b.focus(function(){c.addClass("screen-reader-text")})}),a("#quick-press").on("click focusin",function(){wpActiveEditor="content"}),b()},quickPressLoad(),a(".meta-box-sortables").sortable("option","containment","document")});
\ No newline at end of file
diff --git a/wp-admin/js/edit-comments.js b/wp-admin/js/edit-comments.js
index ff149e19d..78c46174e 100644
--- a/wp-admin/js/edit-comments.js
+++ b/wp-admin/js/edit-comments.js
@@ -607,6 +607,19 @@ $(document).ready(function(){
 			}
 		);
 	}
+
+	// Quick Edit and Reply have an inline comment editor.
+	$( '#the-comment-list' ).on( 'click', '.comment-inline', function (e) {
+		e.preventDefault();
+		var $el = $( this ),
+			action = 'replyto';
+
+		if ( 'undefined' !== typeof $el.data( 'action' ) ) {
+			action = $el.data( 'action' );
+		}
+
+		commentReply.open( $el.data( 'commentId' ), $el.data( 'postId' ), action );
+	} );
 });
 
 })(jQuery);
diff --git a/wp-admin/js/edit-comments.min.js b/wp-admin/js/edit-comments.min.js
index 107c3c561..883a72590 100644
--- a/wp-admin/js/edit-comments.min.js
+++ b/wp-admin/js/edit-comments.min.js
@@ -1 +1 @@
-var setCommentsList,theList,theExtraList,commentReply;!function(a){var b,c,d;setCommentsList=function(){var e,f,g,h,i,j,k,l,m,n=0;e=a('input[name="_total"]',"#comments-form"),f=a('input[name="_per_page"]',"#comments-form"),g=a('input[name="_page"]',"#comments-form"),h=function(b,c){var e,f,g,h=a("#"+c.element);e=a("#replyrow"),f=a("#comment_ID",e).val(),g=a("#replybtn",e),h.is(".unapproved")?(c.data.id==f&&g.text(adminCommentsL10n.replyApprove),h.find("div.comment_status").html("0")):(c.data.id==f&&g.text(adminCommentsL10n.reply),h.find("div.comment_status").html("1")),m=a("#"+c.element).is("."+c.dimClass)?1:-1,d(m)},i=function(b,c){var d,h,i,j,k,l,m,n=!1,o=a(b.target).attr("data-wp-lists");return b.data._total=e.val()||0,b.data._per_page=f.val()||0,b.data._page=g.val()||0,b.data._url=document.location.href,b.data.comment_status=a('input[name="comment_status"]',"#comments-form").val(),-1!=o.indexOf(":trash=1")?n="trash":-1!=o.indexOf(":spam=1")&&(n="spam"),n&&(h=o.replace(/.*?comment-([0-9]+).*/,"$1"),i=a("#comment-"+h),d=a("#"+n+"-undo-holder").html(),i.find(".check-column :checkbox").prop("checked",!1),i.siblings("#replyrow").length&&commentReply.cid==h&&commentReply.close(),i.is("tr")?(j=i.children(":visible").length,m=a(".author strong",i).text(),k=a('<tr id="undo-'+h+'" class="undo un'+n+'" style="display:none;"><td colspan="'+j+'">'+d+"</td></tr>")):(m=a(".comment-author",i).text(),k=a('<div id="undo-'+h+'" style="display:none;" class="undo un'+n+'">'+d+"</div>")),i.before(k),a("strong","#undo-"+h).text(m),l=a(".undo a","#undo-"+h),l.attr("href","comment.php?action=un"+n+"comment&c="+h+"&_wpnonce="+b.data._ajax_nonce),l.attr("data-wp-lists","delete:the-comment-list:comment-"+h+"::un"+n+"=1"),l.attr("class","vim-z vim-destructive"),a(".avatar",i).first().clone().prependTo("#undo-"+h+" ."+n+"-undo-inside"),l.click(function(){return c.wpList.del(this),a("#undo-"+h).css({backgroundColor:"#ceb"}).fadeOut(350,function(){a(this).remove(),a("#comment-"+h).css("backgroundColor","").fadeIn(300,function(){a(this).show()})}),!1})),b},j=function(a,b,c){n>b||(c&&(n=b),e.val(a.toString()))},b=function(a){var b=parseInt(a.html().replace(/[^0-9]+/g,""),10);return isNaN(b)?0:b},c=function(a,b){var c="";if(!isNaN(b)){if(b=1>b?"0":b.toString(),b.length>3){for(;b.length>3;)c=thousandsSeparator+b.substr(b.length-3)+c,b=b.substr(0,b.length-3);b+=c}a.html(b)}},d=function(d){a("span.pending-count").each(function(){var e=a(this),f=b(e)+d;1>f&&(f=0),e.closest(".awaiting-mod")[0===f?"addClass":"removeClass"]("count-0"),c(e,f)})},k=function(f,g){function h(b){return a(g.target).parent().is("span."+b)?1:a("#"+g.element).is("."+b)?-1:0}var i,k,m,o,p,q=a(g.target).parent().is("span.untrash"),r=a(g.target).parent().is("span.unspam"),s=a("#"+g.element).is(".unapproved");o=q?-1:h("trash"),m=r?-1:h("spam"),a(g.target).parent().is("span.unapprove")||(q||r)&&s?p=1:s&&(p=-1),p&&d(p),a("span.spam-count").each(function(){var d=a(this),e=b(d)+m;c(d,e)}),a("span.trash-count").each(function(){var d=a(this),e=b(d)+o;c(d,e)}),a("#dashboard_right_now").length||(k=e.val()?parseInt(e.val(),10):0,a(g.target).parent().is("span.undo")?k++:k--,0>k&&(k=0),"object"==typeof f&&n<g.parsed.responses[0].supplemental.time?(i=g.parsed.responses[0].supplemental.total_items_i18n||"",i&&(a(".displaying-num").text(i),a(".total-pages").text(g.parsed.responses[0].supplemental.total_pages_i18n),a(".tablenav-pages").find(".next-page, .last-page").toggleClass("disabled",g.parsed.responses[0].supplemental.total_pages==a(".current-page").val())),j(k,g.parsed.responses[0].supplemental.time,!0)):j(k,f,!1)),!theExtraList||0===theExtraList.size()||0===theExtraList.children().size()||q||r||(theList.get(0).wpList.add(theExtraList.children(":eq(0)").remove().clone()),l())},l=function(b){var c=a.query.get(),d=a(".total-pages").text(),e=a('input[name="_per_page"]',"#comments-form").val();c.paged||(c.paged=1),c.paged>d||(b?(theExtraList.empty(),c.number=Math.min(8,e)):(c.number=1,c.offset=Math.min(8,e)-1),c.no_placeholder=!0,c.paged++,!0===c.comment_type&&(c.comment_type=""),c=a.extend(c,{action:"fetch-list",list_args:list_args,_ajax_fetch_list_nonce:a("#_ajax_fetch_list_nonce").val()}),a.ajax({url:ajaxurl,global:!1,dataType:"json",data:c,success:function(a){theExtraList.get(0).wpList.add(a.rows)}}))},theExtraList=a("#the-extra-comment-list").wpList({alt:"",delColor:"none",addColor:"none"}),theList=a("#the-comment-list").wpList({alt:"",delBefore:i,dimAfter:h,delAfter:k,addColor:"none"}).bind("wpListDelEnd",function(b,c){var d=a(c.target).attr("data-wp-lists"),e=c.element.replace(/[^0-9]+/g,"");(-1!=d.indexOf(":trash=1")||-1!=d.indexOf(":spam=1"))&&a("#undo-"+e).fadeIn(300,function(){a(this).show()})})},commentReply={cid:"",act:"",init:function(){var b=a("#replyrow");a("a.cancel",b).click(function(){return commentReply.revert()}),a("a.save",b).click(function(){return commentReply.send()}),a("input#author, input#author-email, input#author-url",b).keypress(function(a){return 13==a.which?(commentReply.send(),a.preventDefault(),!1):void 0}),a("#the-comment-list .column-comment > p").dblclick(function(){commentReply.toggle(a(this).parent())}),a("#doaction, #doaction2, #post-query-submit").click(function(){a("#the-comment-list #replyrow").length>0&&commentReply.close()}),this.comments_listing=a('#comments-form > input[name="comment_status"]').val()||""},addEvents:function(b){b.each(function(){a(this).find(".column-comment > p").dblclick(function(){commentReply.toggle(a(this).parent())})})},toggle:function(b){"none"!=a(b).css("display")&&a(b).find("a.vim-q").click()},revert:function(){return a("#the-comment-list #replyrow").length<1?!1:(a("#replyrow").fadeOut("fast",function(){commentReply.close()}),!1)},close:function(){var b,c=a("#replyrow");c.parent().is("#com-reply")||(this.cid&&"edit-comment"==this.act&&(b=a("#comment-"+this.cid),b.fadeIn(300,function(){b.show()}).css("backgroundColor","")),"undefined"!=typeof QTags&&QTags.closeAllTags("replycontent"),a("#add-new-comment").css("display",""),c.hide(),a("#com-reply").append(c),a("#replycontent").css("height","").val(""),a("#edithead input").val(""),a(".error",c).html("").hide(),a(".spinner",c).hide(),this.cid="")},open:function(b,c,d){var e,f,g,h,i,j=this,k=a("#comment-"+b),l=k.height();return j.close(),j.cid=b,e=a("#replyrow"),f=a("#inline-"+b),d=d||"replyto",g="edit"==d?"edit":"replyto",g=j.act=g+"-comment",a("#action",e).val(g),a("#comment_post_ID",e).val(c),a("#comment_ID",e).val(b),"edit"==d?(a("#author",e).val(a("div.author",f).text()),a("#author-email",e).val(a("div.author-email",f).text()),a("#author-url",e).val(a("div.author-url",f).text()),a("#status",e).val(a("div.comment_status",f).text()),a("#replycontent",e).val(a("textarea.comment",f).val()),a("#edithead, #savebtn",e).show(),a("#replyhead, #replybtn, #addhead, #addbtn",e).hide(),l>120&&(i=l>500?500:l,a("#replycontent",e).css("height",i+"px")),k.after(e).fadeOut("fast",function(){a("#replyrow").fadeIn(300,function(){a(this).show()})})):"add"==d?(a("#addhead, #addbtn",e).show(),a("#replyhead, #replybtn, #edithead, #editbtn",e).hide(),a("#the-comment-list").prepend(e),a("#replyrow").fadeIn(300)):(h=a("#replybtn",e),a("#edithead, #savebtn, #addhead, #addbtn",e).hide(),a("#replyhead, #replybtn",e).show(),k.after(e),h.text(k.hasClass("unapproved")?adminCommentsL10n.replyApprove:adminCommentsL10n.reply),a("#replyrow").fadeIn(300,function(){a(this).show()})),setTimeout(function(){var b,c,d,e,f;b=a("#replyrow").offset().top,c=b+a("#replyrow").height(),d=window.pageYOffset||document.documentElement.scrollTop,e=document.documentElement.clientHeight||window.innerHeight||0,f=d+e,c>f-20?window.scroll(0,c-e+35):d>b-20&&window.scroll(0,b-35),a("#replycontent").focus().keyup(function(a){27==a.which&&commentReply.revert()})},600),!1},send:function(){var b={};return a("#replysubmit .error").hide(),a("#replysubmit .spinner").show(),a("#replyrow input").not(":button").each(function(){var c=a(this);b[c.attr("name")]=c.val()}),b.content=a("#replycontent").val(),b.id=b.comment_post_ID,b.comments_listing=this.comments_listing,b.p=a('[name="p"]').val(),a("#comment-"+a("#comment_ID").val()).hasClass("unapproved")&&(b.approve_parent=1),a.ajax({type:"POST",url:ajaxurl,data:b,success:function(a){commentReply.show(a)},error:function(a){commentReply.error(a)}}),!1},show:function(b){var c,e,f,g,h,i=this;return"string"==typeof b?(i.error({responseText:b}),!1):(c=wpAjax.parseAjaxResponse(b),c.errors?(i.error({responseText:wpAjax.broken}),!1):(i.revert(),c=c.responses[0],f="#comment-"+c.id,"edit-comment"==i.act&&a(f).remove(),c.supplemental.parent_approved&&(h=a("#comment-"+c.supplemental.parent_approved),d(-1),"moderated"==this.comments_listing)?void h.animate({backgroundColor:"#CCEEBB"},400,function(){h.fadeOut()}):(e=a.trim(c.data),a(e).hide(),a("#replyrow").after(e),f=a(f),i.addEvents(f),g=f.hasClass("unapproved")?"#FFFFE0":f.closest(".widefat, .postbox").css("backgroundColor"),void f.animate({backgroundColor:"#CCEEBB"},300).animate({backgroundColor:g},300,function(){h&&h.length&&h.animate({backgroundColor:"#CCEEBB"},300).animate({backgroundColor:g},300).removeClass("unapproved").addClass("approved").find("div.comment_status").html("1")}))))},error:function(b){var c=b.statusText;a("#replysubmit .spinner").hide(),b.responseText&&(c=b.responseText.replace(/<.[^<>]*?>/g,"")),c&&a("#replysubmit .error").html(c).show()},addcomment:function(b){var c=this;a("#add-new-comment").fadeOut(200,function(){c.open(0,b,"add"),a("table.comments-box").css("display",""),a("#no-comments").remove()})}},a(document).ready(function(){var b,c,d,e;setCommentsList(),commentReply.init(),a(document).delegate("span.delete a.delete","click",function(){return!1}),"undefined"!=typeof a.table_hotkeys&&(b=function(b){return function(){var c,d;c="next"==b?"first":"last",d=a(".tablenav-pages ."+b+"-page:not(.disabled)"),d.length&&(window.location=d[0].href.replace(/\&hotkeys_highlight_(first|last)=1/g,"")+"&hotkeys_highlight_"+c+"=1")}},c=function(b,c){window.location=a("span.edit a",c).attr("href")},d=function(){a("#cb-select-all-1").data("wp-toggle",1).trigger("click").removeData("wp-toggle")},e=function(b){return function(){var c=a('select[name="action"]');a('option[value="'+b+'"]',c).prop("selected",!0),a("#doaction").click()}},a.table_hotkeys(a("table.widefat"),["a","u","s","d","r","q","z",["e",c],["shift+x",d],["shift+a",e("approve")],["shift+s",e("spam")],["shift+d",e("delete")],["shift+t",e("trash")],["shift+z",e("untrash")],["shift+u",e("unapprove")]],{highlight_first:adminCommentsL10n.hotkeys_highlight_first,highlight_last:adminCommentsL10n.hotkeys_highlight_last,prev_page_link_cb:b("prev"),next_page_link_cb:b("next"),hotkeys_opts:{disableInInput:!0,type:"keypress",noDisable:'.check-column input[type="checkbox"]'}}))})}(jQuery);
\ No newline at end of file
+var setCommentsList,theList,theExtraList,commentReply;!function(a){var b,c,d;setCommentsList=function(){var e,f,g,h,i,j,k,l,m,n=0;e=a('input[name="_total"]',"#comments-form"),f=a('input[name="_per_page"]',"#comments-form"),g=a('input[name="_page"]',"#comments-form"),h=function(b,c){var e,f,g,h=a("#"+c.element);e=a("#replyrow"),f=a("#comment_ID",e).val(),g=a("#replybtn",e),h.is(".unapproved")?(c.data.id==f&&g.text(adminCommentsL10n.replyApprove),h.find("div.comment_status").html("0")):(c.data.id==f&&g.text(adminCommentsL10n.reply),h.find("div.comment_status").html("1")),m=a("#"+c.element).is("."+c.dimClass)?1:-1,d(m)},i=function(b,c){var d,h,i,j,k,l,m,n=!1,o=a(b.target).attr("data-wp-lists");return b.data._total=e.val()||0,b.data._per_page=f.val()||0,b.data._page=g.val()||0,b.data._url=document.location.href,b.data.comment_status=a('input[name="comment_status"]',"#comments-form").val(),-1!=o.indexOf(":trash=1")?n="trash":-1!=o.indexOf(":spam=1")&&(n="spam"),n&&(h=o.replace(/.*?comment-([0-9]+).*/,"$1"),i=a("#comment-"+h),d=a("#"+n+"-undo-holder").html(),i.find(".check-column :checkbox").prop("checked",!1),i.siblings("#replyrow").length&&commentReply.cid==h&&commentReply.close(),i.is("tr")?(j=i.children(":visible").length,m=a(".author strong",i).text(),k=a('<tr id="undo-'+h+'" class="undo un'+n+'" style="display:none;"><td colspan="'+j+'">'+d+"</td></tr>")):(m=a(".comment-author",i).text(),k=a('<div id="undo-'+h+'" style="display:none;" class="undo un'+n+'">'+d+"</div>")),i.before(k),a("strong","#undo-"+h).text(m),l=a(".undo a","#undo-"+h),l.attr("href","comment.php?action=un"+n+"comment&c="+h+"&_wpnonce="+b.data._ajax_nonce),l.attr("data-wp-lists","delete:the-comment-list:comment-"+h+"::un"+n+"=1"),l.attr("class","vim-z vim-destructive"),a(".avatar",i).first().clone().prependTo("#undo-"+h+" ."+n+"-undo-inside"),l.click(function(){return c.wpList.del(this),a("#undo-"+h).css({backgroundColor:"#ceb"}).fadeOut(350,function(){a(this).remove(),a("#comment-"+h).css("backgroundColor","").fadeIn(300,function(){a(this).show()})}),!1})),b},j=function(a,b,c){n>b||(c&&(n=b),e.val(a.toString()))},b=function(a){var b=parseInt(a.html().replace(/[^0-9]+/g,""),10);return isNaN(b)?0:b},c=function(a,b){var c="";if(!isNaN(b)){if(b=1>b?"0":b.toString(),b.length>3){for(;b.length>3;)c=thousandsSeparator+b.substr(b.length-3)+c,b=b.substr(0,b.length-3);b+=c}a.html(b)}},d=function(d){a("span.pending-count").each(function(){var e=a(this),f=b(e)+d;1>f&&(f=0),e.closest(".awaiting-mod")[0===f?"addClass":"removeClass"]("count-0"),c(e,f)})},k=function(f,g){function h(b){return a(g.target).parent().is("span."+b)?1:a("#"+g.element).is("."+b)?-1:0}var i,k,m,o,p,q=a(g.target).parent().is("span.untrash"),r=a(g.target).parent().is("span.unspam"),s=a("#"+g.element).is(".unapproved");o=q?-1:h("trash"),m=r?-1:h("spam"),a(g.target).parent().is("span.unapprove")||(q||r)&&s?p=1:s&&(p=-1),p&&d(p),a("span.spam-count").each(function(){var d=a(this),e=b(d)+m;c(d,e)}),a("span.trash-count").each(function(){var d=a(this),e=b(d)+o;c(d,e)}),a("#dashboard_right_now").length||(k=e.val()?parseInt(e.val(),10):0,a(g.target).parent().is("span.undo")?k++:k--,0>k&&(k=0),"object"==typeof f&&n<g.parsed.responses[0].supplemental.time?(i=g.parsed.responses[0].supplemental.total_items_i18n||"",i&&(a(".displaying-num").text(i),a(".total-pages").text(g.parsed.responses[0].supplemental.total_pages_i18n),a(".tablenav-pages").find(".next-page, .last-page").toggleClass("disabled",g.parsed.responses[0].supplemental.total_pages==a(".current-page").val())),j(k,g.parsed.responses[0].supplemental.time,!0)):j(k,f,!1)),!theExtraList||0===theExtraList.size()||0===theExtraList.children().size()||q||r||(theList.get(0).wpList.add(theExtraList.children(":eq(0)").remove().clone()),l())},l=function(b){var c=a.query.get(),d=a(".total-pages").text(),e=a('input[name="_per_page"]',"#comments-form").val();c.paged||(c.paged=1),c.paged>d||(b?(theExtraList.empty(),c.number=Math.min(8,e)):(c.number=1,c.offset=Math.min(8,e)-1),c.no_placeholder=!0,c.paged++,!0===c.comment_type&&(c.comment_type=""),c=a.extend(c,{action:"fetch-list",list_args:list_args,_ajax_fetch_list_nonce:a("#_ajax_fetch_list_nonce").val()}),a.ajax({url:ajaxurl,global:!1,dataType:"json",data:c,success:function(a){theExtraList.get(0).wpList.add(a.rows)}}))},theExtraList=a("#the-extra-comment-list").wpList({alt:"",delColor:"none",addColor:"none"}),theList=a("#the-comment-list").wpList({alt:"",delBefore:i,dimAfter:h,delAfter:k,addColor:"none"}).bind("wpListDelEnd",function(b,c){var d=a(c.target).attr("data-wp-lists"),e=c.element.replace(/[^0-9]+/g,"");(-1!=d.indexOf(":trash=1")||-1!=d.indexOf(":spam=1"))&&a("#undo-"+e).fadeIn(300,function(){a(this).show()})})},commentReply={cid:"",act:"",init:function(){var b=a("#replyrow");a("a.cancel",b).click(function(){return commentReply.revert()}),a("a.save",b).click(function(){return commentReply.send()}),a("input#author, input#author-email, input#author-url",b).keypress(function(a){return 13==a.which?(commentReply.send(),a.preventDefault(),!1):void 0}),a("#the-comment-list .column-comment > p").dblclick(function(){commentReply.toggle(a(this).parent())}),a("#doaction, #doaction2, #post-query-submit").click(function(){a("#the-comment-list #replyrow").length>0&&commentReply.close()}),this.comments_listing=a('#comments-form > input[name="comment_status"]').val()||""},addEvents:function(b){b.each(function(){a(this).find(".column-comment > p").dblclick(function(){commentReply.toggle(a(this).parent())})})},toggle:function(b){"none"!=a(b).css("display")&&a(b).find("a.vim-q").click()},revert:function(){return a("#the-comment-list #replyrow").length<1?!1:(a("#replyrow").fadeOut("fast",function(){commentReply.close()}),!1)},close:function(){var b,c=a("#replyrow");c.parent().is("#com-reply")||(this.cid&&"edit-comment"==this.act&&(b=a("#comment-"+this.cid),b.fadeIn(300,function(){b.show()}).css("backgroundColor","")),"undefined"!=typeof QTags&&QTags.closeAllTags("replycontent"),a("#add-new-comment").css("display",""),c.hide(),a("#com-reply").append(c),a("#replycontent").css("height","").val(""),a("#edithead input").val(""),a(".error",c).html("").hide(),a(".spinner",c).hide(),this.cid="")},open:function(b,c,d){var e,f,g,h,i,j=this,k=a("#comment-"+b),l=k.height();return j.close(),j.cid=b,e=a("#replyrow"),f=a("#inline-"+b),d=d||"replyto",g="edit"==d?"edit":"replyto",g=j.act=g+"-comment",a("#action",e).val(g),a("#comment_post_ID",e).val(c),a("#comment_ID",e).val(b),"edit"==d?(a("#author",e).val(a("div.author",f).text()),a("#author-email",e).val(a("div.author-email",f).text()),a("#author-url",e).val(a("div.author-url",f).text()),a("#status",e).val(a("div.comment_status",f).text()),a("#replycontent",e).val(a("textarea.comment",f).val()),a("#edithead, #savebtn",e).show(),a("#replyhead, #replybtn, #addhead, #addbtn",e).hide(),l>120&&(i=l>500?500:l,a("#replycontent",e).css("height",i+"px")),k.after(e).fadeOut("fast",function(){a("#replyrow").fadeIn(300,function(){a(this).show()})})):"add"==d?(a("#addhead, #addbtn",e).show(),a("#replyhead, #replybtn, #edithead, #editbtn",e).hide(),a("#the-comment-list").prepend(e),a("#replyrow").fadeIn(300)):(h=a("#replybtn",e),a("#edithead, #savebtn, #addhead, #addbtn",e).hide(),a("#replyhead, #replybtn",e).show(),k.after(e),h.text(k.hasClass("unapproved")?adminCommentsL10n.replyApprove:adminCommentsL10n.reply),a("#replyrow").fadeIn(300,function(){a(this).show()})),setTimeout(function(){var b,c,d,e,f;b=a("#replyrow").offset().top,c=b+a("#replyrow").height(),d=window.pageYOffset||document.documentElement.scrollTop,e=document.documentElement.clientHeight||window.innerHeight||0,f=d+e,c>f-20?window.scroll(0,c-e+35):d>b-20&&window.scroll(0,b-35),a("#replycontent").focus().keyup(function(a){27==a.which&&commentReply.revert()})},600),!1},send:function(){var b={};return a("#replysubmit .error").hide(),a("#replysubmit .spinner").show(),a("#replyrow input").not(":button").each(function(){var c=a(this);b[c.attr("name")]=c.val()}),b.content=a("#replycontent").val(),b.id=b.comment_post_ID,b.comments_listing=this.comments_listing,b.p=a('[name="p"]').val(),a("#comment-"+a("#comment_ID").val()).hasClass("unapproved")&&(b.approve_parent=1),a.ajax({type:"POST",url:ajaxurl,data:b,success:function(a){commentReply.show(a)},error:function(a){commentReply.error(a)}}),!1},show:function(b){var c,e,f,g,h,i=this;return"string"==typeof b?(i.error({responseText:b}),!1):(c=wpAjax.parseAjaxResponse(b),c.errors?(i.error({responseText:wpAjax.broken}),!1):(i.revert(),c=c.responses[0],f="#comment-"+c.id,"edit-comment"==i.act&&a(f).remove(),c.supplemental.parent_approved&&(h=a("#comment-"+c.supplemental.parent_approved),d(-1),"moderated"==this.comments_listing)?void h.animate({backgroundColor:"#CCEEBB"},400,function(){h.fadeOut()}):(e=a.trim(c.data),a(e).hide(),a("#replyrow").after(e),f=a(f),i.addEvents(f),g=f.hasClass("unapproved")?"#FFFFE0":f.closest(".widefat, .postbox").css("backgroundColor"),void f.animate({backgroundColor:"#CCEEBB"},300).animate({backgroundColor:g},300,function(){h&&h.length&&h.animate({backgroundColor:"#CCEEBB"},300).animate({backgroundColor:g},300).removeClass("unapproved").addClass("approved").find("div.comment_status").html("1")}))))},error:function(b){var c=b.statusText;a("#replysubmit .spinner").hide(),b.responseText&&(c=b.responseText.replace(/<.[^<>]*?>/g,"")),c&&a("#replysubmit .error").html(c).show()},addcomment:function(b){var c=this;a("#add-new-comment").fadeOut(200,function(){c.open(0,b,"add"),a("table.comments-box").css("display",""),a("#no-comments").remove()})}},a(document).ready(function(){var b,c,d,e;setCommentsList(),commentReply.init(),a(document).delegate("span.delete a.delete","click",function(){return!1}),"undefined"!=typeof a.table_hotkeys&&(b=function(b){return function(){var c,d;c="next"==b?"first":"last",d=a(".tablenav-pages ."+b+"-page:not(.disabled)"),d.length&&(window.location=d[0].href.replace(/\&hotkeys_highlight_(first|last)=1/g,"")+"&hotkeys_highlight_"+c+"=1")}},c=function(b,c){window.location=a("span.edit a",c).attr("href")},d=function(){a("#cb-select-all-1").data("wp-toggle",1).trigger("click").removeData("wp-toggle")},e=function(b){return function(){var c=a('select[name="action"]');a('option[value="'+b+'"]',c).prop("selected",!0),a("#doaction").click()}},a.table_hotkeys(a("table.widefat"),["a","u","s","d","r","q","z",["e",c],["shift+x",d],["shift+a",e("approve")],["shift+s",e("spam")],["shift+d",e("delete")],["shift+t",e("trash")],["shift+z",e("untrash")],["shift+u",e("unapprove")]],{highlight_first:adminCommentsL10n.hotkeys_highlight_first,highlight_last:adminCommentsL10n.hotkeys_highlight_last,prev_page_link_cb:b("prev"),next_page_link_cb:b("next"),hotkeys_opts:{disableInInput:!0,type:"keypress",noDisable:'.check-column input[type="checkbox"]'}})),a("#the-comment-list").on("click",".comment-inline",function(b){b.preventDefault();var c=a(this),d="replyto";"undefined"!=typeof c.data("action")&&(d=c.data("action")),commentReply.open(c.data("commentId"),c.data("postId"),d)})})}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/editor-expand.js b/wp-admin/js/editor-expand.js
new file mode 100644
index 000000000..ab5e8854d
--- /dev/null
+++ b/wp-admin/js/editor-expand.js
@@ -0,0 +1,692 @@
+/* global tinymce */
+
+window.wp = window.wp || {};
+
+jQuery( document ).ready( function($) {
+	var $window = $( window ),
+		$document = $( document ),
+		$adminBar = $( '#wpadminbar' ),
+		$footer = $( '#wpfooter' ),
+		$wrap = $( '#postdivrich' ),
+		$contentWrap = $( '#wp-content-wrap' ),
+		$tools = $( '#wp-content-editor-tools' ),
+		$visualTop = $(),
+		$visualEditor = $(),
+		$textTop = $( '#ed_toolbar' ),
+		$textEditor = $( '#content' ),
+		$textEditorClone = $( '<div id="content-textarea-clone"></div>' ),
+		$bottom = $( '#post-status-info' ),
+		$menuBar = $(),
+		$statusBar = $(),
+		$sideSortables = $( '#side-sortables' ),
+		$postboxContainer = $( '#postbox-container-1' ),
+		$postBody = $('#post-body'),
+		fullscreen = window.wp.editor && window.wp.editor.fullscreen,
+		mceEditor,
+		mceBind = function(){},
+		mceUnbind = function(){},
+		fixedTop = false,
+		fixedBottom = false,
+		fixedSideTop = false,
+		fixedSideBottom = false,
+		scrollTimer,
+		lastScrollPosition = 0,
+		pageYOffsetAtTop = 130,
+		pinnedToolsTop = 56,
+		sidebarBottom = 20,
+		autoresizeMinHeight = 300,
+		initialMode = window.getUserSetting( 'editor' ),
+		// These are corrected when adjust() runs, except on scrolling if already set.
+		heights = {
+			windowHeight: 0,
+			windowWidth: 0,
+			adminBarHeight: 0,
+			toolsHeight: 0,
+			menuBarHeight: 0,
+			visualTopHeight: 0,
+			textTopHeight: 0,
+			bottomHeight: 0,
+			statusBarHeight: 0,
+			sideSortablesHeight: 0
+		};
+
+	$textEditorClone.insertAfter( $textEditor );
+
+	$textEditorClone.css( {
+		'font-family': $textEditor.css( 'font-family' ),
+		'font-size': $textEditor.css( 'font-size' ),
+		'line-height': $textEditor.css( 'line-height' ),
+		'white-space': 'pre-wrap',
+		'word-wrap': 'break-word'
+	} );
+
+	function getHeights() {
+		var windowWidth = $window.width();
+
+		heights = {
+			windowHeight: $window.height(),
+			windowWidth: windowWidth,
+			adminBarHeight: ( windowWidth > 600 ? $adminBar.outerHeight() : 0 ),
+			toolsHeight: $tools.outerHeight() || 0,
+			menuBarHeight: $menuBar.outerHeight() || 0,
+			visualTopHeight: $visualTop.outerHeight() || 0,
+			textTopHeight: $textTop.outerHeight() || 0,
+			bottomHeight: $bottom.outerHeight() || 0,
+			statusBarHeight: $statusBar.outerHeight() || 0,
+			sideSortablesHeight: $sideSortables.height() || 0
+		};
+
+		// Adjust for hidden
+		if ( heights.menuBarHeight < 3 ) {
+			heights.menuBarHeight = 0;
+		}
+	}
+
+	function textEditorKeyup( event ) {
+		var VK = jQuery.ui.keyCode,
+			key = event.keyCode,
+			range = document.createRange(),
+			selStart = $textEditor[0].selectionStart,
+			selEnd = $textEditor[0].selectionEnd,
+			textNode = $textEditorClone[0].firstChild,
+			buffer = 10,
+			offset, cursorTop, cursorBottom, editorTop, editorBottom;
+
+		if ( selStart && selEnd && selStart !== selEnd ) {
+			return;
+		}
+
+		// These are not TinyMCE ranges.
+		try {
+			range.setStart( textNode, selStart );
+			range.setEnd( textNode, selEnd + 1 );
+		} catch ( ex ) {}
+
+		offset = range.getBoundingClientRect();
+
+		if ( ! offset.height ) {
+			return;
+		}
+
+		cursorTop = offset.top - buffer;
+		cursorBottom = cursorTop + offset.height + buffer;
+		editorTop = heights.adminBarHeight + heights.toolsHeight + heights.textTopHeight;
+		editorBottom = heights.windowHeight - heights.bottomHeight;
+
+		if ( cursorTop < editorTop && ( key === VK.UP || key === VK.LEFT || key === VK.BACKSPACE ) ) {
+			window.scrollTo( window.pageXOffset, cursorTop + window.pageYOffset - editorTop );
+		} else if ( cursorBottom > editorBottom ) {
+			window.scrollTo( window.pageXOffset, cursorBottom + window.pageYOffset - editorBottom );
+		}
+	}
+
+	function textEditorResize() {
+		if ( ( mceEditor && ! mceEditor.isHidden() ) || ( ! mceEditor && initialMode === 'tinymce' ) ) {
+			return;
+		}
+
+		var textEditorHeight = $textEditor.height(),
+			hiddenHeight;
+
+		$textEditorClone.width( $textEditor.width() - 22 );
+		$textEditorClone.text( $textEditor.val() + '&nbsp;' );
+
+		hiddenHeight = $textEditorClone.height();
+
+		if ( hiddenHeight < autoresizeMinHeight ) {
+			hiddenHeight = autoresizeMinHeight;
+		}
+
+		if ( hiddenHeight === textEditorHeight ) {
+			return;
+		}
+
+		$textEditor.height( hiddenHeight );
+
+		adjust();
+	}
+
+	// We need to wait for TinyMCE to initialize.
+	$document.on( 'tinymce-editor-init.editor-expand', function( event, editor ) {
+		// Make sure it's the main editor.
+		if ( editor.id !== 'content' ) {
+			return;
+		}
+
+		// Copy the editor instance.
+		mceEditor = editor;
+
+		// Set the minimum height to the initial viewport height.
+		editor.settings.autoresize_min_height = autoresizeMinHeight;
+
+		// Get the necessary UI elements.
+		$visualTop = $contentWrap.find( '.mce-toolbar-grp' );
+		$visualEditor = $contentWrap.find( '.mce-edit-area' );
+		$statusBar = $contentWrap.find( '.mce-statusbar' );
+		$menuBar = $contentWrap.find( '.mce-menubar' );
+
+		function mceGetCursorOffset() {
+			var node = editor.selection.getNode(),
+				view, offset;
+
+			if ( editor.plugins.wpview && ( view = editor.plugins.wpview.getView( node ) ) ) {
+				offset = view.getBoundingClientRect();
+			} else {
+				offset = node.getBoundingClientRect();
+			}
+
+			return offset.height ? offset : false;
+		}
+
+		// Make sure the cursor is always visible.
+		// This is not only necessary to keep the cursor between the toolbars,
+		// but also to scroll the window when the cursor moves out of the viewport to a wpview.
+		// Setting a buffer > 0 will prevent the browser default.
+		// Some browsers will scroll to the middle,
+		// others to the top/bottom of the *window* when moving the cursor out of the viewport.
+		function mceKeyup( event ) {
+			var VK = tinymce.util.VK,
+				key = event.keyCode,
+				offset = mceGetCursorOffset(),
+				buffer = 10,
+				cursorTop, cursorBottom, editorTop, editorBottom;
+
+			if ( ! offset ) {
+				return;
+			}
+
+			// Bail on special keys.
+			if ( key <= 47 && ! ( key === VK.SPACEBAR || key === VK.ENTER || key === VK.DELETE || key === VK.BACKSPACE || key === VK.UP || key === VK.LEFT || key === VK.DOWN || key === VK.UP ) ) {
+				return;
+			// OS keys, function keys, num lock, scroll lock
+			} else if ( ( key >= 91 && key <= 93 ) || ( key >= 112 && key <= 123 ) || key === 144 || key === 145 ) {
+				return;
+			}
+
+			cursorTop = offset.top + editor.iframeElement.getBoundingClientRect().top;
+			cursorBottom = cursorTop + offset.height;
+			cursorTop = cursorTop - buffer;
+			cursorBottom = cursorBottom + buffer;
+			editorTop = heights.adminBarHeight + heights.toolsHeight + heights.menuBarHeight + heights.visualTopHeight;
+			editorBottom = heights.windowHeight - heights.bottomHeight - heights.statusBarHeight;
+
+			// Don't scroll if the node is taller than the visible part of the editor
+			if ( editorBottom - editorTop < offset.height ) {
+				return;
+			}
+
+			if ( cursorTop < editorTop && ( key === VK.UP || key === VK.LEFT || key === VK.BACKSPACE ) ) {
+				window.scrollTo( window.pageXOffset, cursorTop + window.pageYOffset - editorTop );
+			} else if ( cursorBottom > editorBottom ) {
+				window.scrollTo( window.pageXOffset, cursorBottom + window.pageYOffset - editorBottom );
+			}
+		}
+
+		// Adjust when switching editor modes.
+		function mceShow() {
+			setTimeout( function() {
+				editor.execCommand( 'wpAutoResize' );
+				adjust();
+			}, 300 );
+		}
+
+		function mceHide() {
+			setTimeout( function() {
+				var top = $contentWrap.offset().top;
+
+				if ( window.pageYOffset > top ) {
+					window.scrollTo( window.pageXOffset, top - heights.adminBarHeight );
+				}
+
+				textEditorResize();
+				adjust();
+			}, 100 );
+
+			adjust();
+		}
+
+		mceBind = function() {
+			editor.on( 'keyup', mceKeyup );
+			editor.on( 'show', mceShow );
+			editor.on( 'hide', mceHide );
+			// Adjust when the editor resizes.
+			editor.on( 'setcontent wp-autoresize wp-toolbar-toggle', adjust );
+		};
+
+		mceUnbind = function() {
+			editor.off( 'keyup', mceKeyup );
+			editor.off( 'show', mceShow );
+			editor.off( 'hide', mceHide );
+			editor.off( 'setcontent wp-autoresize wp-toolbar-toggle', adjust );
+		};
+
+		if ( $wrap.hasClass( 'wp-editor-expand' ) ) {
+			// Adjust "immediately"
+			mceBind();
+			initialResize( adjust );
+		}
+	} );
+
+	// Adjust the toolbars based on the active editor mode.
+	function adjust( type ) {
+		// Make sure we're not in fullscreen mode.
+		if ( fullscreen && fullscreen.settings.visible ) {
+			return;
+		}
+
+		var windowPos = $window.scrollTop(),
+			resize = type !== 'scroll',
+			visual = ( mceEditor && ! mceEditor.isHidden() ),
+			buffer = autoresizeMinHeight,
+			postBodyTop = $postBody.offset().top,
+			borderWidth = 1,
+			contentWrapWidth = $contentWrap.width(),
+			$top, $editor, sidebarTop, footerTop, canPin,
+			topPos, topHeight, editorPos, editorHeight;
+
+		// Refresh the heights
+		if ( resize || ! heights.windowHeight ) {
+			getHeights();
+		}
+
+		if ( ! visual && type === 'resize' ) {
+			textEditorResize();
+		}
+
+		if ( visual ) {
+			$top = $visualTop;
+			$editor = $visualEditor;
+			topHeight = heights.visualTopHeight;
+		} else {
+			$top = $textTop;
+			$editor = $textEditor;
+			topHeight = heights.textTopHeight;
+		}
+
+		topPos = $top.parent().offset().top;
+		editorPos = $editor.offset().top;
+		editorHeight = $editor.outerHeight();
+
+		// Should we pin?
+		canPin = visual ? autoresizeMinHeight + topHeight : autoresizeMinHeight + 20; // 20px from textarea padding
+		canPin = editorHeight > ( canPin + 5 );
+
+		if ( ! canPin ) {
+			if ( resize ) {
+				$tools.css( {
+					position: 'absolute',
+					top: 0,
+					width: contentWrapWidth
+				} );
+
+				if ( visual && $menuBar.length ) {
+					$menuBar.css( {
+						position: 'absolute',
+						top: 0,
+						width: contentWrapWidth - ( borderWidth * 2 )
+					} );
+				}
+
+				$top.css( {
+					position: 'absolute',
+					top: heights.menuBarHeight,
+					width: contentWrapWidth - ( borderWidth * 2 ) - ( visual ? 0 : ( $top.outerWidth() - $top.width() ) )
+				} );
+
+				$statusBar.add( $bottom ).attr( 'style', '' );
+			}
+		} else {
+			// Maybe pin the top.
+			if ( ( ! fixedTop || resize ) &&
+				// Handle scrolling down.
+				( windowPos >= ( topPos - heights.toolsHeight - heights.adminBarHeight ) &&
+				// Handle scrolling up.
+				windowPos <= ( topPos - heights.toolsHeight - heights.adminBarHeight + editorHeight - buffer ) ) ) {
+				fixedTop = true;
+
+				$tools.css( {
+					position: 'fixed',
+					top: heights.adminBarHeight,
+					width: contentWrapWidth
+				} );
+
+				if ( visual && $menuBar.length ) {
+					$menuBar.css( {
+						position: 'fixed',
+						top: heights.adminBarHeight + heights.toolsHeight,
+						width: contentWrapWidth - ( borderWidth * 2 ) - ( visual ? 0 : ( $top.outerWidth() - $top.width() ) )
+					} );
+				}
+
+				$top.css( {
+					position: 'fixed',
+					top: heights.adminBarHeight + heights.toolsHeight + heights.menuBarHeight,
+					width: contentWrapWidth - ( borderWidth * 2 ) - ( visual ? 0 : ( $top.outerWidth() - $top.width() ) )
+				} );
+			// Maybe unpin the top.
+			} else if ( fixedTop || resize ) {
+				// Handle scrolling up.
+				if ( windowPos <= ( topPos - heights.toolsHeight - heights.adminBarHeight ) ) {
+					fixedTop = false;
+
+					$tools.css( {
+						position: 'absolute',
+						top: 0,
+						width: contentWrapWidth
+					} );
+
+					if ( visual && $menuBar.length ) {
+						$menuBar.css( {
+							position: 'absolute',
+							top: 0,
+							width: contentWrapWidth - ( borderWidth * 2 )
+						} );
+					}
+
+					$top.css( {
+						position: 'absolute',
+						top: heights.menuBarHeight,
+						width: contentWrapWidth - ( borderWidth * 2 ) - ( visual ? 0 : ( $top.outerWidth() - $top.width() ) )
+					} );
+				// Handle scrolling down.
+				} else if ( windowPos >= ( topPos - heights.toolsHeight - heights.adminBarHeight + editorHeight - buffer ) ) {
+					fixedTop = false;
+
+					$tools.css( {
+						position: 'absolute',
+						top: editorHeight - buffer,
+						width: contentWrapWidth
+					} );
+
+					if ( visual && $menuBar.length ) {
+						$menuBar.css( {
+							position: 'absolute',
+							top: editorHeight - buffer,
+							width: contentWrapWidth - ( borderWidth * 2 )
+						} );
+					}
+
+					$top.css( {
+						position: 'absolute',
+						top: editorHeight - buffer + heights.menuBarHeight,
+						width: contentWrapWidth - ( borderWidth * 2 ) - ( visual ? 0 : ( $top.outerWidth() - $top.width() ) )
+					} );
+				}
+			}
+
+			// Maybe adjust the bottom bar.
+			if ( ( ! fixedBottom || resize ) &&
+				// +[n] for the border around the .wp-editor-container.
+				( windowPos + heights.windowHeight ) <= ( editorPos + editorHeight + heights.bottomHeight + heights.statusBarHeight + borderWidth ) ) {
+				fixedBottom = true;
+
+				$statusBar.css( {
+					position: 'fixed',
+					bottom: heights.bottomHeight,
+					width: contentWrapWidth - ( borderWidth * 2 )
+				} );
+
+				$bottom.css( {
+					position: 'fixed',
+					bottom: 0,
+					width: contentWrapWidth
+				} );
+			} else if ( ( fixedBottom || resize ) &&
+					( windowPos + heights.windowHeight ) > ( editorPos + editorHeight + heights.bottomHeight + heights.statusBarHeight - borderWidth ) ) {
+				fixedBottom = false;
+
+				$statusBar.add( $bottom ).attr( 'style', '' );
+			}
+		}
+
+		// Sidebar pinning
+		if ( $postboxContainer.width() < 300 && heights.windowWidth > 600 && // sidebar position is changed with @media from CSS, make sure it is on the side
+			$document.height() > ( $sideSortables.height() + postBodyTop + 120 ) && // the sidebar is not the tallest element
+			heights.windowHeight < editorHeight ) { // the editor is taller than the viewport
+
+			if ( ( heights.sideSortablesHeight + pinnedToolsTop + sidebarBottom ) > heights.windowHeight || fixedSideTop || fixedSideBottom ) {
+				// Reset when scrolling to the top
+				if ( windowPos + pinnedToolsTop <= postBodyTop ) {
+					$sideSortables.attr( 'style', '' );
+					fixedSideTop = fixedSideBottom = false;
+				} else {
+					if ( windowPos > lastScrollPosition ) {
+						// Scrolling down
+						if ( fixedSideTop ) {
+							// let it scroll
+							fixedSideTop = false;
+							sidebarTop = $sideSortables.offset().top - heights.adminBarHeight;
+							footerTop = $footer.offset().top;
+
+							// don't get over the footer
+							if ( footerTop < sidebarTop + heights.sideSortablesHeight + sidebarBottom ) {
+								sidebarTop = footerTop - heights.sideSortablesHeight - 12;
+							}
+
+							$sideSortables.css({
+								position: 'absolute',
+								top: sidebarTop,
+								bottom: ''
+							});
+						} else if ( ! fixedSideBottom && heights.sideSortablesHeight + $sideSortables.offset().top + sidebarBottom < windowPos + heights.windowHeight ) {
+							// pin the bottom
+							fixedSideBottom = true;
+
+							$sideSortables.css({
+								position: 'fixed',
+								top: 'auto',
+								bottom: sidebarBottom
+							});
+						}
+					} else if ( windowPos < lastScrollPosition ) {
+						// Scrolling up
+						if ( fixedSideBottom ) {
+							// let it scroll
+							fixedSideBottom = false;
+							sidebarTop = $sideSortables.offset().top - sidebarBottom;
+							footerTop = $footer.offset().top;
+
+							// don't get over the footer
+							if ( footerTop < sidebarTop + heights.sideSortablesHeight + sidebarBottom ) {
+								sidebarTop = footerTop - heights.sideSortablesHeight - 12;
+							}
+
+							$sideSortables.css({
+								position: 'absolute',
+								top: sidebarTop,
+								bottom: ''
+							});
+						} else if ( ! fixedSideTop && $sideSortables.offset().top >= windowPos + pinnedToolsTop ) {
+							// pin the top
+							fixedSideTop = true;
+
+							$sideSortables.css({
+								position: 'fixed',
+								top: pinnedToolsTop,
+								bottom: ''
+							});
+						}
+					}
+				}
+			} else {
+				// if the sidebar container is smaller than the viewport, then pin/unpin the top when scrolling
+				if ( windowPos >= ( postBodyTop - pinnedToolsTop ) ) {
+
+					$sideSortables.css( {
+						position: 'fixed',
+						top: pinnedToolsTop
+					} );
+				} else {
+					$sideSortables.attr( 'style', '' );
+				}
+
+				fixedSideTop = fixedSideBottom = false;
+			}
+
+			lastScrollPosition = windowPos;
+		} else {
+			$sideSortables.attr( 'style', '' );
+			fixedSideTop = fixedSideBottom = false;
+		}
+
+		if ( resize ) {
+			$contentWrap.css( {
+				paddingTop: heights.toolsHeight
+			} );
+
+			if ( visual ) {
+				$visualEditor.css( {
+					paddingTop: heights.visualTopHeight + heights.menuBarHeight
+				} );
+			} else {
+				$textEditor.css( {
+					marginTop: heights.textTopHeight
+				} );
+
+				$textEditorClone.width( contentWrapWidth - 20 - ( borderWidth * 2 ) );
+			}
+		}
+	}
+
+	function fullscreenHide() {
+		textEditorResize();
+		adjust();
+	}
+
+	function initialResize( callback ) {
+		for ( var i = 1; i < 6; i++ ) {
+			setTimeout( callback, 500 * i );
+		}
+	}
+
+	function afterScroll() {
+		clearTimeout( scrollTimer );
+		scrollTimer = setTimeout( adjust, 100 );
+	}
+
+	function on() {
+		// Scroll to the top when triggering this from JS.
+		// Ensures toolbars are pinned properly.
+		if ( window.pageYOffset && window.pageYOffset > pageYOffsetAtTop ) {
+			window.scrollTo( window.pageXOffset, 0 );
+		}
+
+		$wrap.addClass( 'wp-editor-expand' );
+
+		// Adjust when the window is scrolled or resized.
+		$window.on( 'scroll.editor-expand resize.editor-expand', function( event ) {
+			adjust( event.type );
+			afterScroll();
+		} );
+
+		// Adjust when collapsing the menu, changing the columns, changing the body class.
+		$document.on( 'wp-collapse-menu.editor-expand postboxes-columnchange.editor-expand editor-classchange.editor-expand', adjust )
+			.on( 'postbox-toggled.editor-expand', function() {
+				if ( ! fixedSideTop && ! fixedSideBottom && window.pageYOffset > pinnedToolsTop ) {
+					fixedSideBottom = true;
+					window.scrollBy( 0, -1 );
+					adjust();
+					window.scrollBy( 0, 1 );
+				}
+
+				adjust();
+			});
+
+		$textEditor.on( 'focus.editor-expand input.editor-expand propertychange.editor-expand', textEditorResize );
+		$textEditor.on( 'keyup.editor-expand', textEditorKeyup );
+		mceBind();
+
+		// Adjust when entering/exiting fullscreen mode.
+		fullscreen && fullscreen.pubsub.subscribe( 'hidden', fullscreenHide );
+
+		if ( mceEditor ) {
+			mceEditor.settings.wp_autoresize_on = true;
+			mceEditor.execCommand( 'wpAutoResizeOn' );
+
+			if ( ! mceEditor.isHidden() ) {
+				mceEditor.execCommand( 'wpAutoResize' );
+			}
+		}
+
+		if ( ! mceEditor || mceEditor.isHidden() ) {
+			textEditorResize();
+		}
+
+		adjust();
+	}
+
+	function off() {
+		var height = window.getUserSetting('ed_size');
+
+		// Scroll to the top when triggering this from JS.
+		// Ensures toolbars are reset properly.
+		if ( window.pageYOffset && window.pageYOffset > pageYOffsetAtTop ) {
+			window.scrollTo( window.pageXOffset, 0 );
+		}
+
+		$wrap.removeClass( 'wp-editor-expand' );
+
+		$window.off( '.editor-expand' );
+		$document.off( '.editor-expand' );
+		$textEditor.off( '.editor-expand' );
+		mceUnbind();
+
+		// Adjust when entering/exiting fullscreen mode.
+		fullscreen && fullscreen.pubsub.unsubscribe( 'hidden', fullscreenHide );
+
+		// Reset all css
+		$.each( [ $visualTop, $textTop, $tools, $menuBar, $bottom, $statusBar, $contentWrap, $visualEditor, $textEditor, $sideSortables ], function( i, element ) {
+			element && element.attr( 'style', '' );
+		});
+
+		fixedTop = fixedBottom = fixedSideTop = fixedSideBottom = false;
+
+		if ( mceEditor ) {
+			mceEditor.settings.wp_autoresize_on = false;
+			mceEditor.execCommand( 'wpAutoResizeOff' );
+
+			if ( ! mceEditor.isHidden() ) {
+				$textEditor.hide();
+
+				if ( height ) {
+					mceEditor.theme.resizeTo( null, height );
+				}
+			}
+		}
+
+		if ( height ) {
+			$textEditor.height( height );
+		}
+	}
+
+	// Start on load
+	if ( $wrap.hasClass( 'wp-editor-expand' ) ) {
+		on();
+
+		// Ideally we need to resize just after CSS has fully loaded and QuickTags is ready.
+		if ( $contentWrap.hasClass( 'html-active' ) ) {
+			initialResize( function() {
+				adjust();
+				textEditorResize();
+			} );
+		}
+	}
+
+	// Show the on/off checkbox
+	$( '#adv-settings .editor-expand' ).show();
+	$( '#editor-expand-toggle' ).on( 'change.editor-expand', function() {
+		if ( $(this).prop( 'checked' ) ) {
+			on();
+			window.setUserSetting( 'editor_expand', 'on' );
+		} else {
+			off();
+			window.setUserSetting( 'editor_expand', 'off' );
+		}
+	});
+
+	// Expose on() and off()
+	window.editorExpand = {
+		on: on,
+		off: off
+	};
+});
diff --git a/wp-admin/js/editor-expand.min.js b/wp-admin/js/editor-expand.min.js
new file mode 100644
index 000000000..7104766eb
--- /dev/null
+++ b/wp-admin/js/editor-expand.min.js
@@ -0,0 +1 @@
+window.wp=window.wp||{},jQuery(document).ready(function(a){function b(){var a=m.width();R={windowHeight:m.height(),windowWidth:a,adminBarHeight:a>600?o.outerHeight():0,toolsHeight:s.outerHeight()||0,menuBarHeight:z.outerHeight()||0,visualTopHeight:t.outerHeight()||0,textTopHeight:v.outerHeight()||0,bottomHeight:y.outerHeight()||0,statusBarHeight:A.outerHeight()||0,sideSortablesHeight:B.height()||0},R.menuBarHeight<3&&(R.menuBarHeight=0)}function c(a){var b,c,d,e,f,g=jQuery.ui.keyCode,h=a.keyCode,i=document.createRange(),j=w[0].selectionStart,k=w[0].selectionEnd,l=x[0].firstChild,m=10;if(!j||!k||j===k){try{i.setStart(l,j),i.setEnd(l,k+1)}catch(n){}b=i.getBoundingClientRect(),b.height&&(c=b.top-m,d=c+b.height+m,e=R.adminBarHeight+R.toolsHeight+R.textTopHeight,f=R.windowHeight-R.bottomHeight,e>c&&(h===g.UP||h===g.LEFT||h===g.BACKSPACE)?window.scrollTo(window.pageXOffset,c+window.pageYOffset-e):d>f&&window.scrollTo(window.pageXOffset,d+window.pageYOffset-f))}}function d(){if(!(k&&!k.isHidden()||!k&&"tinymce"===Q)){var a,b=w.height();x.width(w.width()-22),x.text(w.val()+"&nbsp;"),a=x.height(),P>a&&(a=P),a!==b&&(w.height(a),e())}}function e(a){if(!E||!E.settings.visible){var c,e,f,g,h,i,j,l,o,q=m.scrollTop(),F="scroll"!==a,G=k&&!k.isHidden(),M=P,Q=D.offset().top,S=1,T=r.width();(F||!R.windowHeight)&&b(),G||"resize"!==a||d(),G?(c=t,e=u,j=R.visualTopHeight):(c=v,e=w,j=R.textTopHeight),i=c.parent().offset().top,l=e.offset().top,o=e.outerHeight(),h=G?P+j:P+20,h=o>h+5,h?((!H||F)&&q>=i-R.toolsHeight-R.adminBarHeight&&q<=i-R.toolsHeight-R.adminBarHeight+o-M?(H=!0,s.css({position:"fixed",top:R.adminBarHeight,width:T}),G&&z.length&&z.css({position:"fixed",top:R.adminBarHeight+R.toolsHeight,width:T-2*S-(G?0:c.outerWidth()-c.width())}),c.css({position:"fixed",top:R.adminBarHeight+R.toolsHeight+R.menuBarHeight,width:T-2*S-(G?0:c.outerWidth()-c.width())})):(H||F)&&(q<=i-R.toolsHeight-R.adminBarHeight?(H=!1,s.css({position:"absolute",top:0,width:T}),G&&z.length&&z.css({position:"absolute",top:0,width:T-2*S}),c.css({position:"absolute",top:R.menuBarHeight,width:T-2*S-(G?0:c.outerWidth()-c.width())})):q>=i-R.toolsHeight-R.adminBarHeight+o-M&&(H=!1,s.css({position:"absolute",top:o-M,width:T}),G&&z.length&&z.css({position:"absolute",top:o-M,width:T-2*S}),c.css({position:"absolute",top:o-M+R.menuBarHeight,width:T-2*S-(G?0:c.outerWidth()-c.width())}))),(!I||F)&&q+R.windowHeight<=l+o+R.bottomHeight+R.statusBarHeight+S?(I=!0,A.css({position:"fixed",bottom:R.bottomHeight,width:T-2*S}),y.css({position:"fixed",bottom:0,width:T})):(I||F)&&q+R.windowHeight>l+o+R.bottomHeight+R.statusBarHeight-S&&(I=!1,A.add(y).attr("style",""))):F&&(s.css({position:"absolute",top:0,width:T}),G&&z.length&&z.css({position:"absolute",top:0,width:T-2*S}),c.css({position:"absolute",top:R.menuBarHeight,width:T-2*S-(G?0:c.outerWidth()-c.width())}),A.add(y).attr("style","")),C.width()<300&&R.windowWidth>600&&n.height()>B.height()+Q+120&&R.windowHeight<o?(R.sideSortablesHeight+N+O>R.windowHeight||J||K?Q>=q+N?(B.attr("style",""),J=K=!1):q>L?J?(J=!1,f=B.offset().top-R.adminBarHeight,g=p.offset().top,g<f+R.sideSortablesHeight+O&&(f=g-R.sideSortablesHeight-12),B.css({position:"absolute",top:f,bottom:""})):!K&&R.sideSortablesHeight+B.offset().top+O<q+R.windowHeight&&(K=!0,B.css({position:"fixed",top:"auto",bottom:O})):L>q&&(K?(K=!1,f=B.offset().top-O,g=p.offset().top,g<f+R.sideSortablesHeight+O&&(f=g-R.sideSortablesHeight-12),B.css({position:"absolute",top:f,bottom:""})):!J&&B.offset().top>=q+N&&(J=!0,B.css({position:"fixed",top:N,bottom:""}))):(q>=Q-N?B.css({position:"fixed",top:N}):B.attr("style",""),J=K=!1),L=q):(B.attr("style",""),J=K=!1),F&&(r.css({paddingTop:R.toolsHeight}),G?u.css({paddingTop:R.visualTopHeight+R.menuBarHeight}):(w.css({marginTop:R.textTopHeight}),x.width(T-20-2*S)))}}function f(){d(),e()}function g(a){for(var b=1;6>b;b++)setTimeout(a,500*b)}function h(){clearTimeout(l),l=setTimeout(e,100)}function i(){window.pageYOffset&&window.pageYOffset>M&&window.scrollTo(window.pageXOffset,0),q.addClass("wp-editor-expand"),m.on("scroll.editor-expand resize.editor-expand",function(a){e(a.type),h()}),n.on("wp-collapse-menu.editor-expand postboxes-columnchange.editor-expand editor-classchange.editor-expand",e).on("postbox-toggled.editor-expand",function(){!J&&!K&&window.pageYOffset>N&&(K=!0,window.scrollBy(0,-1),e(),window.scrollBy(0,1)),e()}),w.on("focus.editor-expand input.editor-expand propertychange.editor-expand",d),w.on("keyup.editor-expand",c),F(),E&&E.pubsub.subscribe("hidden",f),k&&(k.settings.wp_autoresize_on=!0,k.execCommand("wpAutoResizeOn"),k.isHidden()||k.execCommand("wpAutoResize")),(!k||k.isHidden())&&d(),e()}function j(){var b=window.getUserSetting("ed_size");window.pageYOffset&&window.pageYOffset>M&&window.scrollTo(window.pageXOffset,0),q.removeClass("wp-editor-expand"),m.off(".editor-expand"),n.off(".editor-expand"),w.off(".editor-expand"),G(),E&&E.pubsub.unsubscribe("hidden",f),a.each([t,v,s,z,y,A,r,u,w,B],function(a,b){b&&b.attr("style","")}),H=I=J=K=!1,k&&(k.settings.wp_autoresize_on=!1,k.execCommand("wpAutoResizeOff"),k.isHidden()||(w.hide(),b&&k.theme.resizeTo(null,b))),b&&w.height(b)}var k,l,m=a(window),n=a(document),o=a("#wpadminbar"),p=a("#wpfooter"),q=a("#postdivrich"),r=a("#wp-content-wrap"),s=a("#wp-content-editor-tools"),t=a(),u=a(),v=a("#ed_toolbar"),w=a("#content"),x=a('<div id="content-textarea-clone"></div>'),y=a("#post-status-info"),z=a(),A=a(),B=a("#side-sortables"),C=a("#postbox-container-1"),D=a("#post-body"),E=window.wp.editor&&window.wp.editor.fullscreen,F=function(){},G=function(){},H=!1,I=!1,J=!1,K=!1,L=0,M=130,N=56,O=20,P=300,Q=window.getUserSetting("editor"),R={windowHeight:0,windowWidth:0,adminBarHeight:0,toolsHeight:0,menuBarHeight:0,visualTopHeight:0,textTopHeight:0,bottomHeight:0,statusBarHeight:0,sideSortablesHeight:0};x.insertAfter(w),x.css({"font-family":w.css("font-family"),"font-size":w.css("font-size"),"line-height":w.css("line-height"),"white-space":"pre-wrap","word-wrap":"break-word"}),n.on("tinymce-editor-init.editor-expand",function(a,b){function c(){var a,c,d=b.selection.getNode();return c=b.plugins.wpview&&(a=b.plugins.wpview.getView(d))?a.getBoundingClientRect():d.getBoundingClientRect(),c.height?c:!1}function f(a){var d,e,f,g,h=tinymce.util.VK,i=a.keyCode,j=c(),k=10;j&&(47>=i&&i!==h.SPACEBAR&&i!==h.ENTER&&i!==h.DELETE&&i!==h.BACKSPACE&&i!==h.UP&&i!==h.LEFT&&i!==h.DOWN&&i!==h.UP||i>=91&&93>=i||i>=112&&123>=i||144===i||145===i||(d=j.top+b.iframeElement.getBoundingClientRect().top,e=d+j.height,d-=k,e+=k,f=R.adminBarHeight+R.toolsHeight+R.menuBarHeight+R.visualTopHeight,g=R.windowHeight-R.bottomHeight-R.statusBarHeight,g-f<j.height||(f>d&&(i===h.UP||i===h.LEFT||i===h.BACKSPACE)?window.scrollTo(window.pageXOffset,d+window.pageYOffset-f):e>g&&window.scrollTo(window.pageXOffset,e+window.pageYOffset-g))))}function h(){setTimeout(function(){b.execCommand("wpAutoResize"),e()},300)}function i(){setTimeout(function(){var a=r.offset().top;window.pageYOffset>a&&window.scrollTo(window.pageXOffset,a-R.adminBarHeight),d(),e()},100),e()}"content"===b.id&&(k=b,b.settings.autoresize_min_height=P,t=r.find(".mce-toolbar-grp"),u=r.find(".mce-edit-area"),A=r.find(".mce-statusbar"),z=r.find(".mce-menubar"),F=function(){b.on("keyup",f),b.on("show",h),b.on("hide",i),b.on("setcontent wp-autoresize wp-toolbar-toggle",e)},G=function(){b.off("keyup",f),b.off("show",h),b.off("hide",i),b.off("setcontent wp-autoresize wp-toolbar-toggle",e)},q.hasClass("wp-editor-expand")&&(F(),g(e)))}),q.hasClass("wp-editor-expand")&&(i(),r.hasClass("html-active")&&g(function(){e(),d()})),a("#adv-settings .editor-expand").show(),a("#editor-expand-toggle").on("change.editor-expand",function(){a(this).prop("checked")?(i(),window.setUserSetting("editor_expand","on")):(j(),window.setUserSetting("editor_expand","off"))}),window.editorExpand={on:i,off:j}});
\ No newline at end of file
diff --git a/wp-admin/js/editor.js b/wp-admin/js/editor.js
index e71871635..0712ebc1a 100644
--- a/wp-admin/js/editor.js
+++ b/wp-admin/js/editor.js
@@ -60,7 +60,8 @@ window.switchEditors = {
 			if ( ed ) {
 				ed.show();
 
-				if ( editorHeight ) {
+				// No point resizing the iframe in iOS
+				if ( ! tinymce.Env.iOS && editorHeight ) {
 					toolbarHeight = getToolbarHeight();
 					editorHeight = editorHeight - toolbarHeight + 14;
 
@@ -84,16 +85,18 @@ window.switchEditors = {
 			}
 
 			if ( ed ) {
-				iframe = DOM.get( id + '_ifr' );
-				editorHeight = iframe ? parseInt( iframe.style.height, 10 ) : 0;
-
-				if ( editorHeight ) {
-					toolbarHeight = getToolbarHeight();
-					editorHeight = editorHeight + toolbarHeight - 14;
-
-					// height cannot be under 50 or over 5000
-					if ( editorHeight > 50 && editorHeight < 5000 ) {
-						txtarea_el.style.height = editorHeight + 'px';
+				if ( ! tinymce.Env.iOS ) {
+					iframe = DOM.get( id + '_ifr' );
+					editorHeight = iframe ? parseInt( iframe.style.height, 10 ) : 0;
+
+					if ( editorHeight ) {
+						toolbarHeight = getToolbarHeight();
+						editorHeight = editorHeight + toolbarHeight - 14;
+
+						// height cannot be under 50 or over 5000
+						if ( editorHeight > 50 && editorHeight < 5000 ) {
+							txtarea_el.style.height = editorHeight + 'px';
+						}
 					}
 				}
 
@@ -165,6 +168,11 @@ window.switchEditors = {
 		content = content.replace( new RegExp('\\s*</(' + blocklist2 + ')>\\s*', 'g' ), '</$1>\n' );
 		content = content.replace( /<li([^>]*)>/g, '\t<li$1>' );
 
+		if ( content.indexOf( '<option' ) !== -1 ) {
+			content = content.replace( /\s*<option/g, '\n<option' );
+			content = content.replace( /\s*<\/select>/g, '\n</select>' );
+		}
+
 		if ( content.indexOf( '<hr' ) !== -1 ) {
 			content = content.replace( /\s*<hr( [^>]*)?>\s*/g, '\n\n<hr$1>\n\n' );
 		}
@@ -200,7 +208,7 @@ window.switchEditors = {
 		var preserve_linebreaks = false,
 			preserve_br = false,
 			blocklist = 'table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre' +
-				'|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|noscript|legend|section' +
+				'|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section' +
 				'|article|aside|hgroup|header|footer|nav|figure|details|menu|summary';
 
 		if ( pee.indexOf( '<object' ) !== -1 ) {
@@ -241,6 +249,8 @@ window.switchEditors = {
 		pee = pee.replace( new RegExp( '(<(?:' + blocklist + ')(?: [^>]*)?>)', 'gi' ), '\n$1' );
 		pee = pee.replace( new RegExp( '(</(?:' + blocklist + ')>)', 'gi' ), '$1\n\n' );
 		pee = pee.replace( /<hr( [^>]*)?>/gi, '<hr$1>\n\n' ); // hr is self closing block element
+		pee = pee.replace( /\s*<option/gi, '<option' ); // No <p> or <br> around <option>
+		pee = pee.replace( /<\/option>\s*/gi, '</option>' );
 		pee = pee.replace( /\r\n|\r/g, '\n' );
 		pee = pee.replace( /\n\s*\n+/g, '\n\n' );
 		pee = pee.replace( /([\s\S]+?)\n\n/g, '<p>$1</p>\n' );
diff --git a/wp-admin/js/editor.min.js b/wp-admin/js/editor.min.js
index 9babf7bdf..fd5e97c5c 100644
--- a/wp-admin/js/editor.min.js
+++ b/wp-admin/js/editor.min.js
@@ -1 +1 @@
-window.switchEditors={switchto:function(a){var b=a.id,c=b.length,d=b.substr(0,c-5),e=b.substr(c-4);this.go(d,e)},go:function(a,b){function c(){var a=k.select(".mce-toolbar-grp",d.getContainer())[0],b=a&&a.clientHeight;return b&&b>10&&200>b?parseInt(b,10):30}var d,e,f,g,h,i,j=this,k=tinymce.DOM;if(a=a||"content",b=b||"toggle",d=tinymce.get(a),e="wp-"+a+"-wrap",f=k.get(a),"toggle"===b&&(b=d&&!d.isHidden()?"html":"tmce"),"tmce"===b||"tinymce"===b){if(d&&!d.isHidden())return!1;"undefined"!=typeof QTags&&QTags.closeAllTags(a),h=f?parseInt(f.style.height,10):0,tinyMCEPreInit.mceInit[a]&&tinyMCEPreInit.mceInit[a].wpautop&&(f.value=j.wpautop(f.value)),d?(d.show(),h&&(i=c(),h=h-i+14,h>50&&5e3>h&&d.theme.resizeTo(null,h))):tinymce.init(tinyMCEPreInit.mceInit[a]),k.removeClass(e,"html-active"),k.addClass(e,"tmce-active"),setUserSetting("editor","tinymce")}else if("html"===b){if(d&&d.isHidden())return!1;d?(g=k.get(a+"_ifr"),h=g?parseInt(g.style.height,10):0,h&&(i=c(),h=h+i-14,h>50&&5e3>h&&(f.style.height=h+"px")),d.hide()):(tinyMCEPreInit.mceInit[a]&&tinyMCEPreInit.mceInit[a].wpautop&&(f.value=j.pre_wpautop(f.value)),k.setStyles(f,{display:"",visibility:""})),k.removeClass(e,"tmce-active"),k.addClass(e,"html-active"),setUserSetting("editor","html")}return!1},_wp_Nop:function(a){var b,c,d=!1,e=!1;return(-1!==a.indexOf("<pre")||-1!==a.indexOf("<script"))&&(d=!0,a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(a){return a=a.replace(/<br ?\/?>(\r\n|\n)?/g,"<wp-line-break>"),a=a.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g,"<wp-line-break>"),a.replace(/\r?\n/g,"<wp-line-break>")})),-1!==a.indexOf("[caption")&&(e=!0,a=a.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(a){return a.replace(/<br([^>]*)>/g,"<wp-temp-br$1>").replace(/[\r\n\t]+/,"")})),b="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|div|h[1-6]|p|fieldset",a=a.replace(new RegExp("\\s*</("+b+")>\\s*","g"),"</$1>\n"),a=a.replace(new RegExp("\\s*<((?:"+b+")(?: [^>]*)?)>","g"),"\n<$1>"),a=a.replace(/(<p [^>]+>.*?)<\/p>/g,"$1</p#>"),a=a.replace(/<div( [^>]*)?>\s*<p>/gi,"<div$1>\n\n"),a=a.replace(/\s*<p>/gi,""),a=a.replace(/\s*<\/p>\s*/gi,"\n\n"),a=a.replace(/\n[\s\u00a0]+\n/g,"\n\n"),a=a.replace(/\s*<br ?\/?>\s*/gi,"\n"),a=a.replace(/\s*<div/g,"\n<div"),a=a.replace(/<\/div>\s*/g,"</div>\n"),a=a.replace(/\s*\[caption([^\[]+)\[\/caption\]\s*/gi,"\n\n[caption$1[/caption]\n\n"),a=a.replace(/caption\]\n\n+\[caption/g,"caption]\n\n[caption"),c="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|h[1-6]|pre|fieldset",a=a.replace(new RegExp("\\s*<((?:"+c+")(?: [^>]*)?)\\s*>","g"),"\n<$1>"),a=a.replace(new RegExp("\\s*</("+c+")>\\s*","g"),"</$1>\n"),a=a.replace(/<li([^>]*)>/g,"	<li$1>"),-1!==a.indexOf("<hr")&&(a=a.replace(/\s*<hr( [^>]*)?>\s*/g,"\n\n<hr$1>\n\n")),-1!==a.indexOf("<object")&&(a=a.replace(/<object[\s\S]+?<\/object>/g,function(a){return a.replace(/[\r\n]+/g,"")})),a=a.replace(/<\/p#>/g,"</p>\n"),a=a.replace(/\s*(<p [^>]+>[\s\S]*?<\/p>)/g,"\n$1"),a=a.replace(/^\s+/,""),a=a.replace(/[\s\u00a0]+$/,""),d&&(a=a.replace(/<wp-line-break>/g,"\n")),e&&(a=a.replace(/<wp-temp-br([^>]*)>/g,"<br$1>")),a},_wp_Autop:function(a){var b=!1,c=!1,d="table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|noscript|legend|section|article|aside|hgroup|header|footer|nav|figure|details|menu|summary";return-1!==a.indexOf("<object")&&(a=a.replace(/<object[\s\S]+?<\/object>/g,function(a){return a.replace(/[\r\n]+/g,"")})),a=a.replace(/<[^<>]+>/g,function(a){return a.replace(/[\r\n]+/g," ")}),(-1!==a.indexOf("<pre")||-1!==a.indexOf("<script"))&&(b=!0,a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(a){return a.replace(/(\r\n|\n)/g,"<wp-line-break>")})),-1!==a.indexOf("[caption")&&(c=!0,a=a.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(a){return a=a.replace(/<br([^>]*)>/g,"<wp-temp-br$1>"),a=a.replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),a.replace(/\s*\n\s*/g,"<wp-temp-br />")})),a+="\n\n",a=a.replace(/<br \/>\s*<br \/>/gi,"\n\n"),a=a.replace(new RegExp("(<(?:"+d+")(?: [^>]*)?>)","gi"),"\n$1"),a=a.replace(new RegExp("(</(?:"+d+")>)","gi"),"$1\n\n"),a=a.replace(/<hr( [^>]*)?>/gi,"<hr$1>\n\n"),a=a.replace(/\r\n|\r/g,"\n"),a=a.replace(/\n\s*\n+/g,"\n\n"),a=a.replace(/([\s\S]+?)\n\n/g,"<p>$1</p>\n"),a=a.replace(/<p>\s*?<\/p>/gi,""),a=a.replace(new RegExp("<p>\\s*(</?(?:"+d+")(?: [^>]*)?>)\\s*</p>","gi"),"$1"),a=a.replace(/<p>(<li.+?)<\/p>/gi,"$1"),a=a.replace(/<p>\s*<blockquote([^>]*)>/gi,"<blockquote$1><p>"),a=a.replace(/<\/blockquote>\s*<\/p>/gi,"</p></blockquote>"),a=a.replace(new RegExp("<p>\\s*(</?(?:"+d+")(?: [^>]*)?>)","gi"),"$1"),a=a.replace(new RegExp("(</?(?:"+d+")(?: [^>]*)?>)\\s*</p>","gi"),"$1"),a=a.replace(/\s*\n/gi,"<br />\n"),a=a.replace(new RegExp("(</?(?:"+d+")[^>]*>)\\s*<br />","gi"),"$1"),a=a.replace(/<br \/>(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi,"$1"),a=a.replace(/(?:<p>|<br ?\/?>)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|<br ?\/?>)*/gi,"[caption$1[/caption]"),a=a.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g,function(a,b,c){return c.match(/<p( [^>]*)?>/)?a:b+"<p>"+c+"</p>"}),b&&(a=a.replace(/<wp-line-break>/g,"\n")),c&&(a=a.replace(/<wp-temp-br([^>]*)>/g,"<br$1>")),a},pre_wpautop:function(a){var b=this,c={o:b,data:a,unfiltered:a},d="undefined"!=typeof jQuery;return d&&jQuery("body").trigger("beforePreWpautop",[c]),c.data=b._wp_Nop(c.data),d&&jQuery("body").trigger("afterPreWpautop",[c]),c.data},wpautop:function(a){var b=this,c={o:b,data:a,unfiltered:a},d="undefined"!=typeof jQuery;return d&&jQuery("body").trigger("beforeWpautop",[c]),c.data=b._wp_Autop(c.data),d&&jQuery("body").trigger("afterWpautop",[c]),c.data}};
\ No newline at end of file
+window.switchEditors={switchto:function(a){var b=a.id,c=b.length,d=b.substr(0,c-5),e=b.substr(c-4);this.go(d,e)},go:function(a,b){function c(){var a=k.select(".mce-toolbar-grp",d.getContainer())[0],b=a&&a.clientHeight;return b&&b>10&&200>b?parseInt(b,10):30}var d,e,f,g,h,i,j=this,k=tinymce.DOM;if(a=a||"content",b=b||"toggle",d=tinymce.get(a),e="wp-"+a+"-wrap",f=k.get(a),"toggle"===b&&(b=d&&!d.isHidden()?"html":"tmce"),"tmce"===b||"tinymce"===b){if(d&&!d.isHidden())return!1;"undefined"!=typeof QTags&&QTags.closeAllTags(a),h=f?parseInt(f.style.height,10):0,tinyMCEPreInit.mceInit[a]&&tinyMCEPreInit.mceInit[a].wpautop&&(f.value=j.wpautop(f.value)),d?(d.show(),!tinymce.Env.iOS&&h&&(i=c(),h=h-i+14,h>50&&5e3>h&&d.theme.resizeTo(null,h))):tinymce.init(tinyMCEPreInit.mceInit[a]),k.removeClass(e,"html-active"),k.addClass(e,"tmce-active"),setUserSetting("editor","tinymce")}else if("html"===b){if(d&&d.isHidden())return!1;d?(tinymce.Env.iOS||(g=k.get(a+"_ifr"),h=g?parseInt(g.style.height,10):0,h&&(i=c(),h=h+i-14,h>50&&5e3>h&&(f.style.height=h+"px"))),d.hide()):(tinyMCEPreInit.mceInit[a]&&tinyMCEPreInit.mceInit[a].wpautop&&(f.value=j.pre_wpautop(f.value)),k.setStyles(f,{display:"",visibility:""})),k.removeClass(e,"tmce-active"),k.addClass(e,"html-active"),setUserSetting("editor","html")}return!1},_wp_Nop:function(a){var b,c,d=!1,e=!1;return(-1!==a.indexOf("<pre")||-1!==a.indexOf("<script"))&&(d=!0,a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(a){return a=a.replace(/<br ?\/?>(\r\n|\n)?/g,"<wp-line-break>"),a=a.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g,"<wp-line-break>"),a.replace(/\r?\n/g,"<wp-line-break>")})),-1!==a.indexOf("[caption")&&(e=!0,a=a.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(a){return a.replace(/<br([^>]*)>/g,"<wp-temp-br$1>").replace(/[\r\n\t]+/,"")})),b="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|div|h[1-6]|p|fieldset",a=a.replace(new RegExp("\\s*</("+b+")>\\s*","g"),"</$1>\n"),a=a.replace(new RegExp("\\s*<((?:"+b+")(?: [^>]*)?)>","g"),"\n<$1>"),a=a.replace(/(<p [^>]+>.*?)<\/p>/g,"$1</p#>"),a=a.replace(/<div( [^>]*)?>\s*<p>/gi,"<div$1>\n\n"),a=a.replace(/\s*<p>/gi,""),a=a.replace(/\s*<\/p>\s*/gi,"\n\n"),a=a.replace(/\n[\s\u00a0]+\n/g,"\n\n"),a=a.replace(/\s*<br ?\/?>\s*/gi,"\n"),a=a.replace(/\s*<div/g,"\n<div"),a=a.replace(/<\/div>\s*/g,"</div>\n"),a=a.replace(/\s*\[caption([^\[]+)\[\/caption\]\s*/gi,"\n\n[caption$1[/caption]\n\n"),a=a.replace(/caption\]\n\n+\[caption/g,"caption]\n\n[caption"),c="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|h[1-6]|pre|fieldset",a=a.replace(new RegExp("\\s*<((?:"+c+")(?: [^>]*)?)\\s*>","g"),"\n<$1>"),a=a.replace(new RegExp("\\s*</("+c+")>\\s*","g"),"</$1>\n"),a=a.replace(/<li([^>]*)>/g,"	<li$1>"),-1!==a.indexOf("<option")&&(a=a.replace(/\s*<option/g,"\n<option"),a=a.replace(/\s*<\/select>/g,"\n</select>")),-1!==a.indexOf("<hr")&&(a=a.replace(/\s*<hr( [^>]*)?>\s*/g,"\n\n<hr$1>\n\n")),-1!==a.indexOf("<object")&&(a=a.replace(/<object[\s\S]+?<\/object>/g,function(a){return a.replace(/[\r\n]+/g,"")})),a=a.replace(/<\/p#>/g,"</p>\n"),a=a.replace(/\s*(<p [^>]+>[\s\S]*?<\/p>)/g,"\n$1"),a=a.replace(/^\s+/,""),a=a.replace(/[\s\u00a0]+$/,""),d&&(a=a.replace(/<wp-line-break>/g,"\n")),e&&(a=a.replace(/<wp-temp-br([^>]*)>/g,"<br$1>")),a},_wp_Autop:function(a){var b=!1,c=!1,d="table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|details|menu|summary";return-1!==a.indexOf("<object")&&(a=a.replace(/<object[\s\S]+?<\/object>/g,function(a){return a.replace(/[\r\n]+/g,"")})),a=a.replace(/<[^<>]+>/g,function(a){return a.replace(/[\r\n]+/g," ")}),(-1!==a.indexOf("<pre")||-1!==a.indexOf("<script"))&&(b=!0,a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(a){return a.replace(/(\r\n|\n)/g,"<wp-line-break>")})),-1!==a.indexOf("[caption")&&(c=!0,a=a.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(a){return a=a.replace(/<br([^>]*)>/g,"<wp-temp-br$1>"),a=a.replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),a.replace(/\s*\n\s*/g,"<wp-temp-br />")})),a+="\n\n",a=a.replace(/<br \/>\s*<br \/>/gi,"\n\n"),a=a.replace(new RegExp("(<(?:"+d+")(?: [^>]*)?>)","gi"),"\n$1"),a=a.replace(new RegExp("(</(?:"+d+")>)","gi"),"$1\n\n"),a=a.replace(/<hr( [^>]*)?>/gi,"<hr$1>\n\n"),a=a.replace(/\s*<option/gi,"<option"),a=a.replace(/<\/option>\s*/gi,"</option>"),a=a.replace(/\r\n|\r/g,"\n"),a=a.replace(/\n\s*\n+/g,"\n\n"),a=a.replace(/([\s\S]+?)\n\n/g,"<p>$1</p>\n"),a=a.replace(/<p>\s*?<\/p>/gi,""),a=a.replace(new RegExp("<p>\\s*(</?(?:"+d+")(?: [^>]*)?>)\\s*</p>","gi"),"$1"),a=a.replace(/<p>(<li.+?)<\/p>/gi,"$1"),a=a.replace(/<p>\s*<blockquote([^>]*)>/gi,"<blockquote$1><p>"),a=a.replace(/<\/blockquote>\s*<\/p>/gi,"</p></blockquote>"),a=a.replace(new RegExp("<p>\\s*(</?(?:"+d+")(?: [^>]*)?>)","gi"),"$1"),a=a.replace(new RegExp("(</?(?:"+d+")(?: [^>]*)?>)\\s*</p>","gi"),"$1"),a=a.replace(/\s*\n/gi,"<br />\n"),a=a.replace(new RegExp("(</?(?:"+d+")[^>]*>)\\s*<br />","gi"),"$1"),a=a.replace(/<br \/>(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi,"$1"),a=a.replace(/(?:<p>|<br ?\/?>)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|<br ?\/?>)*/gi,"[caption$1[/caption]"),a=a.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g,function(a,b,c){return c.match(/<p( [^>]*)?>/)?a:b+"<p>"+c+"</p>"}),b&&(a=a.replace(/<wp-line-break>/g,"\n")),c&&(a=a.replace(/<wp-temp-br([^>]*)>/g,"<br$1>")),a},pre_wpautop:function(a){var b=this,c={o:b,data:a,unfiltered:a},d="undefined"!=typeof jQuery;return d&&jQuery("body").trigger("beforePreWpautop",[c]),c.data=b._wp_Nop(c.data),d&&jQuery("body").trigger("afterPreWpautop",[c]),c.data},wpautop:function(a){var b=this,c={o:b,data:a,unfiltered:a},d="undefined"!=typeof jQuery;return d&&jQuery("body").trigger("beforeWpautop",[c]),c.data=b._wp_Autop(c.data),d&&jQuery("body").trigger("afterWpautop",[c]),c.data}};
\ No newline at end of file
diff --git a/wp-admin/js/image-edit.js b/wp-admin/js/image-edit.js
index 0a592d901..7bf292880 100644
--- a/wp-admin/js/image-edit.js
+++ b/wp-admin/js/image-edit.js
@@ -274,7 +274,7 @@ var imageEdit = window.imageEdit = {
 			var ret = JSON.parse(r);
 
 			if ( ret.error ) {
-				$('#imgedit-response-' + postid).html('<div class="error"><p>' + ret.error + '</p><div>');
+				$('#imgedit-response-' + postid).html('<div class="error"><p>' + ret.error + '</p></div>');
 				imageEdit.close(postid);
 				return;
 			}
@@ -302,7 +302,7 @@ var imageEdit = window.imageEdit = {
 	open : function( postid, nonce, view ) {
 		this._view = view;
 
-		var data, elem = $('#image-editor-' + postid), head = $('#media-head-' + postid),
+		var dfd, data, elem = $('#image-editor-' + postid), head = $('#media-head-' + postid),
 			btn = $('#imgedit-open-btn-' + postid), spin = btn.siblings('.spinner');
 
 		btn.prop('disabled', true);
@@ -315,13 +315,20 @@ var imageEdit = window.imageEdit = {
 			'do': 'open'
 		};
 
-		elem.load(ajaxurl, data, function() {
-			elem.fadeIn('fast');
+		dfd = $.ajax({
+			url:  ajaxurl,
+			type: 'post',
+			data: data
+		}).done(function( html ) {
+			elem.html( html );
 			head.fadeOut('fast', function(){
+				elem.fadeIn('fast');
 				btn.removeAttr('disabled');
 				spin.hide();
 			});
 		});
+
+		return dfd;
 	},
 
 	imgLoaded : function(postid) {
@@ -385,10 +392,9 @@ var imageEdit = window.imageEdit = {
 	},
 
 	setCropSelection : function(postid, c) {
-		var sel, min = $('#imgedit-minthumb-' + postid).val() || '128:128',
-			sizer = this.hold.sizer;
-			min = min.split(':');
-			c = c || 0;
+		var sel;
+
+		c = c || 0;
 
 		if ( !c || ( c.width < 3 && c.height < 3 ) ) {
 			this.setDisabled($('.imgedit-crop', '#imgedit-panel-' + postid), 0);
@@ -399,12 +405,6 @@ var imageEdit = window.imageEdit = {
 			return false;
 		}
 
-		if ( c.width < (min[0] * sizer) && c.height < (min[1] * sizer) ) {
-			this.setDisabled($('.imgedit-crop', '#imgedit-panel-' + postid), 0);
-			$('#imgedit-selection-' + postid).val('');
-			return false;
-		}
-
 		sel = { 'x': c.x1, 'y': c.y1, 'w': c.width, 'h': c.height };
 		this.setDisabled($('.imgedit-crop', '#imgedit-panel-' + postid), 1);
 		$('#imgedit-selection-' + postid).val( JSON.stringify(sel) );
diff --git a/wp-admin/js/image-edit.min.js b/wp-admin/js/image-edit.min.js
index 4830f8e85..4c7fbe177 100644
--- a/wp-admin/js/image-edit.min.js
+++ b/wp-admin/js/image-edit.min.js
@@ -1 +1 @@
-!function(a){var b=window.imageEdit={iasapi:{},hold:{},postid:"",_view:!1,intval:function(a){return 0|a},setDisabled:function(b,c){c?(b.removeClass("disabled"),a("input",b).removeAttr("disabled")):(b.addClass("disabled"),a("input",b).prop("disabled",!0))},init:function(b){var c=this,d=a("#image-editor-"+c.postid),e=c.intval(a("#imgedit-x-"+b).val()),f=c.intval(a("#imgedit-y-"+b).val());c.postid!==b&&d.length&&c.close(c.postid),c.hold.w=c.hold.ow=e,c.hold.h=c.hold.oh=f,c.hold.xy_ratio=e/f,c.hold.sizer=parseFloat(a("#imgedit-sizer-"+b).val()),c.postid=b,a("#imgedit-response-"+b).empty(),a('input[type="text"]',"#imgedit-panel-"+b).keypress(function(b){var c=b.keyCode;return c>36&&41>c&&a(this).blur(),13===c?(b.preventDefault(),b.stopPropagation(),!1):void 0})},toggleEditor:function(b,c){var d=a("#imgedit-wait-"+b);c?d.height(a("#imgedit-panel-"+b).height()).fadeIn("fast"):d.fadeOut("fast")},toggleHelp:function(b){return a(b).parents(".imgedit-group-top").toggleClass("imgedit-help-toggled").find(".imgedit-help").slideToggle("fast"),!1},getTarget:function(b){return a('input[name="imgedit-target-'+b+'"]:checked',"#imgedit-save-target-"+b).val()||"full"},scaleChanged:function(b,c){var d=a("#imgedit-scale-width-"+b),e=a("#imgedit-scale-height-"+b),f=a("#imgedit-scale-warn-"+b),g="",h="";c?(h=""!==d.val()?Math.round(d.val()/this.hold.xy_ratio):"",e.val(h)):(g=""!==e.val()?Math.round(e.val()*this.hold.xy_ratio):"",d.val(g)),h&&h>this.hold.oh||g&&g>this.hold.ow?f.css("visibility","visible"):f.css("visibility","hidden")},getSelRatio:function(b){var c=this.hold.w,d=this.hold.h,e=this.intval(a("#imgedit-crop-width-"+b).val()),f=this.intval(a("#imgedit-crop-height-"+b).val());return e&&f?e+":"+f:c&&d?c+":"+d:"1:1"},filterHistory:function(b,c){var d,e,f,g,h=a("#imgedit-history-"+b).val(),i=[];if(""!==h){if(h=JSON.parse(h),d=this.intval(a("#imgedit-undone-"+b).val()),d>0)for(;d>0;)h.pop(),d--;if(c){if(!h.length)return this.hold.w=this.hold.ow,this.hold.h=this.hold.oh,"";f=h[h.length-1],f=f.c||f.r||f.f||!1,f&&(this.hold.w=f.fw,this.hold.h=f.fh)}for(e in h)g=h[e],g.hasOwnProperty("c")?i[e]={c:{x:g.c.x,y:g.c.y,w:g.c.w,h:g.c.h}}:g.hasOwnProperty("r")?i[e]={r:g.r.r}:g.hasOwnProperty("f")&&(i[e]={f:g.f.f});return JSON.stringify(i)}return""},refreshEditor:function(c,d,e){var f,g,h=this;h.toggleEditor(c,1),f={action:"imgedit-preview",_ajax_nonce:d,postid:c,history:h.filterHistory(c,1),rand:h.intval(1e6*Math.random())},g=a('<img id="image-preview-'+c+'" />').on("load",function(){var d,f,h=a("#imgedit-crop-"+c),i=b;h.empty().append(g),d=Math.max(i.hold.w,i.hold.h),f=Math.max(a(g).width(),a(g).height()),i.hold.sizer=d>f?f/d:1,i.initCrop(c,g,h),i.setCropSelection(c,0),"undefined"!=typeof e&&null!==e&&e(),a("#imgedit-history-"+c).val()&&"0"===a("#imgedit-undone-"+c).val()?a("input.imgedit-submit-btn","#imgedit-panel-"+c).removeAttr("disabled"):a("input.imgedit-submit-btn","#imgedit-panel-"+c).prop("disabled",!0),i.toggleEditor(c,0)}).on("error",function(){a("#imgedit-crop-"+c).empty().append('<div class="error"><p>'+imageEditL10n.error+"</p></div>"),h.toggleEditor(c,0)}).attr("src",ajaxurl+"?"+a.param(f))},action:function(b,c,d){var e,f,g,h,i,j=this;if(j.notsaved(b))return!1;if(e={action:"image-editor",_ajax_nonce:c,postid:b},"scale"===d){if(f=a("#imgedit-scale-width-"+b),g=a("#imgedit-scale-height-"+b),h=j.intval(f.val()),i=j.intval(g.val()),1>h)return f.focus(),!1;if(1>i)return g.focus(),!1;if(h===j.hold.ow||i===j.hold.oh)return!1;e["do"]="scale",e.fwidth=h,e.fheight=i}else{if("restore"!==d)return!1;e["do"]="restore"}j.toggleEditor(b,1),a.post(ajaxurl,e,function(c){a("#image-editor-"+b).empty().append(c),j.toggleEditor(b,0),j._view&&j._view.refresh()})},save:function(c,d){var e,f=this.getTarget(c),g=this.filterHistory(c,0),h=this;return""===g?!1:(this.toggleEditor(c,1),e={action:"image-editor",_ajax_nonce:d,postid:c,history:g,target:f,context:a("#image-edit-context").length?a("#image-edit-context").val():null,"do":"save"},void a.post(ajaxurl,e,function(d){var e=JSON.parse(d);return e.error?(a("#imgedit-response-"+c).html('<div class="error"><p>'+e.error+"</p><div>"),void b.close(c)):(e.fw&&e.fh&&a("#media-dims-"+c).html(e.fw+" &times; "+e.fh),e.thumbnail&&a(".thumbnail","#thumbnail-head-"+c).attr("src",""+e.thumbnail),e.msg&&a("#imgedit-response-"+c).html('<div class="updated"><p>'+e.msg+"</p></div>"),void(h._view?h._view.save():b.close(c)))}))},open:function(b,c,d){this._view=d;var e,f=a("#image-editor-"+b),g=a("#media-head-"+b),h=a("#imgedit-open-btn-"+b),i=h.siblings(".spinner");h.prop("disabled",!0),i.show(),e={action:"image-editor",_ajax_nonce:c,postid:b,"do":"open"},f.load(ajaxurl,e,function(){f.fadeIn("fast"),g.fadeOut("fast",function(){h.removeAttr("disabled"),i.hide()})})},imgLoaded:function(b){var c=a("#image-preview-"+b),d=a("#imgedit-crop-"+b);this.initCrop(b,c,d),this.setCropSelection(b,0),this.toggleEditor(b,0)},initCrop:function(c,d,e){var f,g=this,h=a("#imgedit-sel-width-"+c),i=a("#imgedit-sel-height-"+c);g.iasapi=a(d).imgAreaSelect({parent:e,instance:!0,handles:!0,keys:!0,minWidth:3,minHeight:3,onInit:function(b){f=a(b),f.next().css("position","absolute").nextAll(".imgareaselect-outer").css("position","absolute"),e.children().mousedown(function(a){var b,d,e=!1;a.shiftKey&&(b=g.iasapi.getSelection(),d=g.getSelRatio(c),e=b&&b.width&&b.height?b.width+":"+b.height:d),g.iasapi.setOptions({aspectRatio:e})})},onSelectStart:function(){b.setDisabled(a("#imgedit-crop-sel-"+c),1)},onSelectEnd:function(a,d){b.setCropSelection(c,d)},onSelectChange:function(a,c){var d=b.hold.sizer;h.val(b.round(c.width/d)),i.val(b.round(c.height/d))}})},setCropSelection:function(b,c){var d,e=a("#imgedit-minthumb-"+b).val()||"128:128",f=this.hold.sizer;return e=e.split(":"),c=c||0,!c||c.width<3&&c.height<3?(this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),0),this.setDisabled(a("#imgedit-crop-sel-"+b),0),a("#imgedit-sel-width-"+b).val(""),a("#imgedit-sel-height-"+b).val(""),a("#imgedit-selection-"+b).val(""),!1):c.width<e[0]*f&&c.height<e[1]*f?(this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),0),a("#imgedit-selection-"+b).val(""),!1):(d={x:c.x1,y:c.y1,w:c.width,h:c.height},this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),1),void a("#imgedit-selection-"+b).val(JSON.stringify(d)))},close:function(b,c){return c=c||!1,c&&this.notsaved(b)?!1:(this.iasapi={},this.hold={},void(this._view?this._view.back():a("#image-editor-"+b).fadeOut("fast",function(){a("#media-head-"+b).fadeIn("fast"),a(this).empty()})))},notsaved:function(b){var c=a("#imgedit-history-"+b).val(),d=""!==c?JSON.parse(c):[],e=this.intval(a("#imgedit-undone-"+b).val());return e<d.length?confirm(a("#imgedit-leaving-"+b).html())?!1:!0:!1},addStep:function(b,c,d){for(var e=this,f=a("#imgedit-history-"+c),g=""!==f.val()?JSON.parse(f.val()):[],h=a("#imgedit-undone-"+c),i=e.intval(h.val());i>0;)g.pop(),i--;h.val(0),g.push(b),f.val(JSON.stringify(g)),e.refreshEditor(c,d,function(){e.setDisabled(a("#image-undo-"+c),!0),e.setDisabled(a("#image-redo-"+c),!1)})},rotate:function(b,c,d,e){return a(e).hasClass("disabled")?!1:void this.addStep({r:{r:b,fw:this.hold.h,fh:this.hold.w}},c,d)},flip:function(b,c,d,e){return a(e).hasClass("disabled")?!1:void this.addStep({f:{f:b,fw:this.hold.w,fh:this.hold.h}},c,d)},crop:function(b,c,d){var e=a("#imgedit-selection-"+b).val(),f=this.intval(a("#imgedit-sel-width-"+b).val()),g=this.intval(a("#imgedit-sel-height-"+b).val());return a(d).hasClass("disabled")||""===e?!1:(e=JSON.parse(e),void(e.w>0&&e.h>0&&f>0&&g>0&&(e.fw=f,e.fh=g,this.addStep({c:e},b,c))))},undo:function(b,c){var d=this,e=a("#image-undo-"+b),f=a("#imgedit-undone-"+b),g=d.intval(f.val())+1;e.hasClass("disabled")||(f.val(g),d.refreshEditor(b,c,function(){var c=a("#imgedit-history-"+b),f=""!==c.val()?JSON.parse(c.val()):[];d.setDisabled(a("#image-redo-"+b),!0),d.setDisabled(e,g<f.length)}))},redo:function(b,c){var d=this,e=a("#image-redo-"+b),f=a("#imgedit-undone-"+b),g=d.intval(f.val())-1;e.hasClass("disabled")||(f.val(g),d.refreshEditor(b,c,function(){d.setDisabled(a("#image-undo-"+b),!0),d.setDisabled(e,g>0)}))},setNumSelection:function(b){var c,d,e,f,g,h=a("#imgedit-sel-width-"+b),i=a("#imgedit-sel-height-"+b),j=this.intval(h.val()),k=this.intval(i.val()),l=a("#image-preview-"+b),m=l.height(),n=l.width(),o=this.hold.sizer,p=this.iasapi;return 1>j?(h.val(""),!1):1>k?(i.val(""),!1):void(j&&k&&(c=p.getSelection())&&(f=c.x1+Math.round(j*o),g=c.y1+Math.round(k*o),d=c.x1,e=c.y1,f>n&&(d=0,f=n,h.val(Math.round(f/o))),g>m&&(e=0,g=m,i.val(Math.round(g/o))),p.setSelection(d,e,f,g),p.update(),this.setCropSelection(b,p.getSelection())))},round:function(a){var b;return a=Math.round(a),this.hold.sizer>.6?a:(b=a.toString().slice(-1),"1"===b?a-1:"9"===b?a+1:a)},setRatioSelection:function(b,c,d){var e,f,g=this.intval(a("#imgedit-crop-width-"+b).val()),h=this.intval(a("#imgedit-crop-height-"+b).val()),i=a("#image-preview-"+b).height();return this.intval(a(d).val())?void(g&&h&&(this.iasapi.setOptions({aspectRatio:g+":"+h}),(e=this.iasapi.getSelection(!0))&&(f=Math.ceil(e.y1+(e.x2-e.x1)/(g/h)),f>i&&(f=i,c?a("#imgedit-crop-height-"+b).val(""):a("#imgedit-crop-width-"+b).val("")),this.iasapi.setSelection(e.x1,e.y1,e.x2,f),this.iasapi.update()))):void a(d).val("")}}}(jQuery);
\ No newline at end of file
+!function(a){var b=window.imageEdit={iasapi:{},hold:{},postid:"",_view:!1,intval:function(a){return 0|a},setDisabled:function(b,c){c?(b.removeClass("disabled"),a("input",b).removeAttr("disabled")):(b.addClass("disabled"),a("input",b).prop("disabled",!0))},init:function(b){var c=this,d=a("#image-editor-"+c.postid),e=c.intval(a("#imgedit-x-"+b).val()),f=c.intval(a("#imgedit-y-"+b).val());c.postid!==b&&d.length&&c.close(c.postid),c.hold.w=c.hold.ow=e,c.hold.h=c.hold.oh=f,c.hold.xy_ratio=e/f,c.hold.sizer=parseFloat(a("#imgedit-sizer-"+b).val()),c.postid=b,a("#imgedit-response-"+b).empty(),a('input[type="text"]',"#imgedit-panel-"+b).keypress(function(b){var c=b.keyCode;return c>36&&41>c&&a(this).blur(),13===c?(b.preventDefault(),b.stopPropagation(),!1):void 0})},toggleEditor:function(b,c){var d=a("#imgedit-wait-"+b);c?d.height(a("#imgedit-panel-"+b).height()).fadeIn("fast"):d.fadeOut("fast")},toggleHelp:function(b){return a(b).parents(".imgedit-group-top").toggleClass("imgedit-help-toggled").find(".imgedit-help").slideToggle("fast"),!1},getTarget:function(b){return a('input[name="imgedit-target-'+b+'"]:checked',"#imgedit-save-target-"+b).val()||"full"},scaleChanged:function(b,c){var d=a("#imgedit-scale-width-"+b),e=a("#imgedit-scale-height-"+b),f=a("#imgedit-scale-warn-"+b),g="",h="";c?(h=""!==d.val()?Math.round(d.val()/this.hold.xy_ratio):"",e.val(h)):(g=""!==e.val()?Math.round(e.val()*this.hold.xy_ratio):"",d.val(g)),h&&h>this.hold.oh||g&&g>this.hold.ow?f.css("visibility","visible"):f.css("visibility","hidden")},getSelRatio:function(b){var c=this.hold.w,d=this.hold.h,e=this.intval(a("#imgedit-crop-width-"+b).val()),f=this.intval(a("#imgedit-crop-height-"+b).val());return e&&f?e+":"+f:c&&d?c+":"+d:"1:1"},filterHistory:function(b,c){var d,e,f,g,h=a("#imgedit-history-"+b).val(),i=[];if(""!==h){if(h=JSON.parse(h),d=this.intval(a("#imgedit-undone-"+b).val()),d>0)for(;d>0;)h.pop(),d--;if(c){if(!h.length)return this.hold.w=this.hold.ow,this.hold.h=this.hold.oh,"";f=h[h.length-1],f=f.c||f.r||f.f||!1,f&&(this.hold.w=f.fw,this.hold.h=f.fh)}for(e in h)g=h[e],g.hasOwnProperty("c")?i[e]={c:{x:g.c.x,y:g.c.y,w:g.c.w,h:g.c.h}}:g.hasOwnProperty("r")?i[e]={r:g.r.r}:g.hasOwnProperty("f")&&(i[e]={f:g.f.f});return JSON.stringify(i)}return""},refreshEditor:function(c,d,e){var f,g,h=this;h.toggleEditor(c,1),f={action:"imgedit-preview",_ajax_nonce:d,postid:c,history:h.filterHistory(c,1),rand:h.intval(1e6*Math.random())},g=a('<img id="image-preview-'+c+'" />').on("load",function(){var d,f,h=a("#imgedit-crop-"+c),i=b;h.empty().append(g),d=Math.max(i.hold.w,i.hold.h),f=Math.max(a(g).width(),a(g).height()),i.hold.sizer=d>f?f/d:1,i.initCrop(c,g,h),i.setCropSelection(c,0),"undefined"!=typeof e&&null!==e&&e(),a("#imgedit-history-"+c).val()&&"0"===a("#imgedit-undone-"+c).val()?a("input.imgedit-submit-btn","#imgedit-panel-"+c).removeAttr("disabled"):a("input.imgedit-submit-btn","#imgedit-panel-"+c).prop("disabled",!0),i.toggleEditor(c,0)}).on("error",function(){a("#imgedit-crop-"+c).empty().append('<div class="error"><p>'+imageEditL10n.error+"</p></div>"),h.toggleEditor(c,0)}).attr("src",ajaxurl+"?"+a.param(f))},action:function(b,c,d){var e,f,g,h,i,j=this;if(j.notsaved(b))return!1;if(e={action:"image-editor",_ajax_nonce:c,postid:b},"scale"===d){if(f=a("#imgedit-scale-width-"+b),g=a("#imgedit-scale-height-"+b),h=j.intval(f.val()),i=j.intval(g.val()),1>h)return f.focus(),!1;if(1>i)return g.focus(),!1;if(h===j.hold.ow||i===j.hold.oh)return!1;e["do"]="scale",e.fwidth=h,e.fheight=i}else{if("restore"!==d)return!1;e["do"]="restore"}j.toggleEditor(b,1),a.post(ajaxurl,e,function(c){a("#image-editor-"+b).empty().append(c),j.toggleEditor(b,0),j._view&&j._view.refresh()})},save:function(c,d){var e,f=this.getTarget(c),g=this.filterHistory(c,0),h=this;return""===g?!1:(this.toggleEditor(c,1),e={action:"image-editor",_ajax_nonce:d,postid:c,history:g,target:f,context:a("#image-edit-context").length?a("#image-edit-context").val():null,"do":"save"},void a.post(ajaxurl,e,function(d){var e=JSON.parse(d);return e.error?(a("#imgedit-response-"+c).html('<div class="error"><p>'+e.error+"</p></div>"),void b.close(c)):(e.fw&&e.fh&&a("#media-dims-"+c).html(e.fw+" &times; "+e.fh),e.thumbnail&&a(".thumbnail","#thumbnail-head-"+c).attr("src",""+e.thumbnail),e.msg&&a("#imgedit-response-"+c).html('<div class="updated"><p>'+e.msg+"</p></div>"),void(h._view?h._view.save():b.close(c)))}))},open:function(b,c,d){this._view=d;var e,f,g=a("#image-editor-"+b),h=a("#media-head-"+b),i=a("#imgedit-open-btn-"+b),j=i.siblings(".spinner");return i.prop("disabled",!0),j.show(),f={action:"image-editor",_ajax_nonce:c,postid:b,"do":"open"},e=a.ajax({url:ajaxurl,type:"post",data:f}).done(function(a){g.html(a),h.fadeOut("fast",function(){g.fadeIn("fast"),i.removeAttr("disabled"),j.hide()})})},imgLoaded:function(b){var c=a("#image-preview-"+b),d=a("#imgedit-crop-"+b);this.initCrop(b,c,d),this.setCropSelection(b,0),this.toggleEditor(b,0)},initCrop:function(c,d,e){var f,g=this,h=a("#imgedit-sel-width-"+c),i=a("#imgedit-sel-height-"+c);g.iasapi=a(d).imgAreaSelect({parent:e,instance:!0,handles:!0,keys:!0,minWidth:3,minHeight:3,onInit:function(b){f=a(b),f.next().css("position","absolute").nextAll(".imgareaselect-outer").css("position","absolute"),e.children().mousedown(function(a){var b,d,e=!1;a.shiftKey&&(b=g.iasapi.getSelection(),d=g.getSelRatio(c),e=b&&b.width&&b.height?b.width+":"+b.height:d),g.iasapi.setOptions({aspectRatio:e})})},onSelectStart:function(){b.setDisabled(a("#imgedit-crop-sel-"+c),1)},onSelectEnd:function(a,d){b.setCropSelection(c,d)},onSelectChange:function(a,c){var d=b.hold.sizer;h.val(b.round(c.width/d)),i.val(b.round(c.height/d))}})},setCropSelection:function(b,c){var d;return c=c||0,!c||c.width<3&&c.height<3?(this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),0),this.setDisabled(a("#imgedit-crop-sel-"+b),0),a("#imgedit-sel-width-"+b).val(""),a("#imgedit-sel-height-"+b).val(""),a("#imgedit-selection-"+b).val(""),!1):(d={x:c.x1,y:c.y1,w:c.width,h:c.height},this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),1),void a("#imgedit-selection-"+b).val(JSON.stringify(d)))},close:function(b,c){return c=c||!1,c&&this.notsaved(b)?!1:(this.iasapi={},this.hold={},void(this._view?this._view.back():a("#image-editor-"+b).fadeOut("fast",function(){a("#media-head-"+b).fadeIn("fast"),a(this).empty()})))},notsaved:function(b){var c=a("#imgedit-history-"+b).val(),d=""!==c?JSON.parse(c):[],e=this.intval(a("#imgedit-undone-"+b).val());return e<d.length?confirm(a("#imgedit-leaving-"+b).html())?!1:!0:!1},addStep:function(b,c,d){for(var e=this,f=a("#imgedit-history-"+c),g=""!==f.val()?JSON.parse(f.val()):[],h=a("#imgedit-undone-"+c),i=e.intval(h.val());i>0;)g.pop(),i--;h.val(0),g.push(b),f.val(JSON.stringify(g)),e.refreshEditor(c,d,function(){e.setDisabled(a("#image-undo-"+c),!0),e.setDisabled(a("#image-redo-"+c),!1)})},rotate:function(b,c,d,e){return a(e).hasClass("disabled")?!1:void this.addStep({r:{r:b,fw:this.hold.h,fh:this.hold.w}},c,d)},flip:function(b,c,d,e){return a(e).hasClass("disabled")?!1:void this.addStep({f:{f:b,fw:this.hold.w,fh:this.hold.h}},c,d)},crop:function(b,c,d){var e=a("#imgedit-selection-"+b).val(),f=this.intval(a("#imgedit-sel-width-"+b).val()),g=this.intval(a("#imgedit-sel-height-"+b).val());return a(d).hasClass("disabled")||""===e?!1:(e=JSON.parse(e),void(e.w>0&&e.h>0&&f>0&&g>0&&(e.fw=f,e.fh=g,this.addStep({c:e},b,c))))},undo:function(b,c){var d=this,e=a("#image-undo-"+b),f=a("#imgedit-undone-"+b),g=d.intval(f.val())+1;e.hasClass("disabled")||(f.val(g),d.refreshEditor(b,c,function(){var c=a("#imgedit-history-"+b),f=""!==c.val()?JSON.parse(c.val()):[];d.setDisabled(a("#image-redo-"+b),!0),d.setDisabled(e,g<f.length)}))},redo:function(b,c){var d=this,e=a("#image-redo-"+b),f=a("#imgedit-undone-"+b),g=d.intval(f.val())-1;e.hasClass("disabled")||(f.val(g),d.refreshEditor(b,c,function(){d.setDisabled(a("#image-undo-"+b),!0),d.setDisabled(e,g>0)}))},setNumSelection:function(b){var c,d,e,f,g,h=a("#imgedit-sel-width-"+b),i=a("#imgedit-sel-height-"+b),j=this.intval(h.val()),k=this.intval(i.val()),l=a("#image-preview-"+b),m=l.height(),n=l.width(),o=this.hold.sizer,p=this.iasapi;return 1>j?(h.val(""),!1):1>k?(i.val(""),!1):void(j&&k&&(c=p.getSelection())&&(f=c.x1+Math.round(j*o),g=c.y1+Math.round(k*o),d=c.x1,e=c.y1,f>n&&(d=0,f=n,h.val(Math.round(f/o))),g>m&&(e=0,g=m,i.val(Math.round(g/o))),p.setSelection(d,e,f,g),p.update(),this.setCropSelection(b,p.getSelection())))},round:function(a){var b;return a=Math.round(a),this.hold.sizer>.6?a:(b=a.toString().slice(-1),"1"===b?a-1:"9"===b?a+1:a)},setRatioSelection:function(b,c,d){var e,f,g=this.intval(a("#imgedit-crop-width-"+b).val()),h=this.intval(a("#imgedit-crop-height-"+b).val()),i=a("#image-preview-"+b).height();return this.intval(a(d).val())?void(g&&h&&(this.iasapi.setOptions({aspectRatio:g+":"+h}),(e=this.iasapi.getSelection(!0))&&(f=Math.ceil(e.y1+(e.x2-e.x1)/(g/h)),f>i&&(f=i,c?a("#imgedit-crop-height-"+b).val(""):a("#imgedit-crop-width-"+b).val("")),this.iasapi.setSelection(e.x1,e.y1,e.x2,f),this.iasapi.update()))):void a(d).val("")}}}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/inline-edit-post.js b/wp-admin/js/inline-edit-post.js
index 81f302f3b..48e635f23 100644
--- a/wp-admin/js/inline-edit-post.js
+++ b/wp-admin/js/inline-edit-post.js
@@ -53,7 +53,7 @@ inlineEditPost = {
 			return false;
 		});
 
-		$('#bulk-title-div').parents('fieldset').after(
+		$('#bulk-edit').find('fieldset:first').after(
 			$('#inline-edit fieldset.inline-edit-categories').clone()
 		).siblings( 'fieldset:last' ).prepend(
 			$('#inline-edit label.inline-edit-tags').clone()
@@ -110,7 +110,7 @@ inlineEditPost = {
 		if ( 'post' === type ) {
 			// support multi taxonomies?
 			tax = 'post_tag';
-			$('tr.inline-editor textarea[name="tax_input['+tax+']"]').suggest( ajaxurl + '?action=ajax-tag-search&tax=' + tax, { delay: 500, minchars: 2, multiple: true, multipleSep: inlineEditL10n.comma + ' ' } );
+			$('tr.inline-editor textarea[name="tax_input['+tax+']"]').suggest( ajaxurl + '?action=ajax-tag-search&tax=' + tax, { delay: 500, minchars: 2, multiple: true, multipleSep: inlineEditL10n.comma } );
 		}
 		$('html, body').animate( { scrollTop: 0 }, 'fast' );
 	},
@@ -195,7 +195,7 @@ inlineEditPost = {
 				textarea.val(terms);
 			}
 
-			textarea.suggest( ajaxurl + '?action=ajax-tag-search&tax=' + taxname, { delay: 500, minchars: 2, multiple: true, multipleSep: inlineEditL10n.comma + ' ' } );
+			textarea.suggest( ajaxurl + '?action=ajax-tag-search&tax=' + taxname, { delay: 500, minchars: 2, multiple: true, multipleSep: inlineEditL10n.comma } );
 		});
 
 		// handle the post status
diff --git a/wp-admin/js/inline-edit-post.min.js b/wp-admin/js/inline-edit-post.min.js
index 56182de26..7c5465017 100644
--- a/wp-admin/js/inline-edit-post.min.js
+++ b/wp-admin/js/inline-edit-post.min.js
@@ -1 +1 @@
-var inlineEditPost;!function(a){inlineEditPost={init:function(){var b=this,c=a("#inline-edit"),d=a("#bulk-edit");b.type=a("table.widefat").hasClass("pages")?"page":"post",b.what="#post-",c.keyup(function(a){return 27===a.which?inlineEditPost.revert():void 0}),d.keyup(function(a){return 27===a.which?inlineEditPost.revert():void 0}),a("a.cancel",c).click(function(){return inlineEditPost.revert()}),a("a.save",c).click(function(){return inlineEditPost.save(this)}),a("td",c).keydown(function(a){return 13===a.which?inlineEditPost.save(this):void 0}),a("a.cancel",d).click(function(){return inlineEditPost.revert()}),a('#inline-edit .inline-edit-private input[value="private"]').click(function(){var b=a("input.inline-edit-password-input");a(this).prop("checked")?b.val("").prop("disabled",!0):b.prop("disabled",!1)}),a("#the-list").on("click","a.editinline",function(){return inlineEditPost.edit(this),!1}),a("#bulk-title-div").parents("fieldset").after(a("#inline-edit fieldset.inline-edit-categories").clone()).siblings("fieldset:last").prepend(a("#inline-edit label.inline-edit-tags").clone()),a('select[name="_status"] option[value="future"]',d).remove(),a("#doaction, #doaction2").click(function(c){var d=a(this).attr("id").substr(2);"edit"===a('select[name="'+d+'"]').val()?(c.preventDefault(),b.setBulk()):a("form#posts-filter tr.inline-editor").length>0&&b.revert()})},toggle:function(b){var c=this;"none"===a(c.what+c.getId(b)).css("display")?c.revert():c.edit(b)},setBulk:function(){var b,c="",d=this.type,e=!0;return this.revert(),a("#bulk-edit td").attr("colspan",a(".widefat:first thead th:visible").length),a("table.widefat tbody").prepend(a("#bulk-edit")),a("#bulk-edit").addClass("inline-editor").show(),a('tbody th.check-column input[type="checkbox"]').each(function(){if(a(this).prop("checked")){e=!1;var b,d=a(this).val();b=a("#inline_"+d+" .post_title").html()||inlineEditL10n.notitle,c+='<div id="ttle'+d+'"><a id="_'+d+'" class="ntdelbutton" title="'+inlineEditL10n.ntdeltitle+'">X</a>'+b+"</div>"}}),e?this.revert():(a("#bulk-titles").html(c),a("#bulk-titles a").click(function(){var b=a(this).attr("id").substr(1);a('table.widefat input[value="'+b+'"]').prop("checked",!1),a("#ttle"+b).remove()}),"post"===d&&(b="post_tag",a('tr.inline-editor textarea[name="tax_input['+b+']"]').suggest(ajaxurl+"?action=ajax-tag-search&tax="+b,{delay:500,minchars:2,multiple:!0,multipleSep:inlineEditL10n.comma+" "})),void a("html, body").animate({scrollTop:0},"fast"))},edit:function(b){var c,d,e,f,g,h,i,j,k,l,m=this,n=!0;for(m.revert(),"object"==typeof b&&(b=m.getId(b)),c=["post_title","post_name","post_author","_status","jj","mm","aa","hh","mn","ss","post_password","post_format","menu_order"],"page"===m.type&&c.push("post_parent","page_template"),d=a("#inline-edit").clone(!0),a("td",d).attr("colspan",a(".widefat:first thead th:visible").length),a(m.what+b).hasClass("alternate")&&a(d).addClass("alternate"),a(m.what+b).hide().after(d),e=a("#inline_"+b),a(':input[name="post_author"] option[value="'+a(".post_author",e).text()+'"]',d).val()||a(':input[name="post_author"]',d).prepend('<option value="'+a(".post_author",e).text()+'">'+a("#"+m.type+"-"+b+" .author").text()+"</option>"),1===a(':input[name="post_author"] option',d).length&&a("label.inline-edit-author",d).hide(),k=a(".post_format",e).text(),a("option.unsupported",d).each(function(){var b=a(this);b.val()!==k&&b.remove()}),l=0;l<c.length;l++)a(':input[name="'+c[l]+'"]',d).val(a("."+c[l],e).text());if("open"===a(".comment_status",e).text()&&a('input[name="comment_status"]',d).prop("checked",!0),"open"===a(".ping_status",e).text()&&a('input[name="ping_status"]',d).prop("checked",!0),"sticky"===a(".sticky",e).text()&&a('input[name="sticky"]',d).prop("checked",!0),a(".post_category",e).each(function(){var c,e=a(this).text();e&&(c=a(this).attr("id").replace("_"+b,""),a("ul."+c+"-checklist :checkbox",d).val(e.split(",")))}),a(".tags_input",e).each(function(){var c=a(this).text(),e=a(this).attr("id").replace("_"+b,""),f=a("textarea.tax_input_"+e,d),g=inlineEditL10n.comma;c&&(","!==g&&(c=c.replace(/,/g,g)),f.val(c)),f.suggest(ajaxurl+"?action=ajax-tag-search&tax="+e,{delay:500,minchars:2,multiple:!0,multipleSep:inlineEditL10n.comma+" "})}),f=a("._status",e).text(),"future"!==f&&a('select[name="_status"] option[value="future"]',d).remove(),"private"===f&&(a('input[name="keep_private"]',d).prop("checked",!0),a("input.inline-edit-password-input").val("").prop("disabled",!0)),g=a('select[name="post_parent"] option[value="'+b+'"]',d),g.length>0){for(h=g[0].className.split("-")[1],i=g;n&&(i=i.next("option"),0!==i.length);)j=i[0].className.split("-")[1],h>=j?n=!1:(i.remove(),i=g);g.remove()}return a(d).attr("id","edit-"+b).addClass("inline-editor").show(),a(".ptitle",d).focus(),!1},save:function(b){var c,d,e=a(".post_status_page").val()||"";return"object"==typeof b&&(b=this.getId(b)),a("table.widefat .spinner").show(),c={action:"inline-save",post_type:typenow,post_ID:b,edit_date:"true",post_status:e},d=a("#edit-"+b).find(":input").serialize(),c=d+"&"+a.param(c),a.post(ajaxurl,c,function(c){a("table.widefat .spinner").hide(),c?-1!==c.indexOf("<tr")?(a(inlineEditPost.what+b).remove(),a("#edit-"+b).before(c).remove(),a(inlineEditPost.what+b).hide().fadeIn()):(c=c.replace(/<.[^<>]*?>/g,""),a("#edit-"+b+" .inline-edit-save .error").html(c).show()):a("#edit-"+b+" .inline-edit-save .error").html(inlineEditL10n.error).show(),a("#post-"+b).prev().hasClass("alternate")&&a("#post-"+b).removeClass("alternate")},"html"),!1},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");return b&&(a("table.widefat .spinner").hide(),"bulk-edit"===b?(a("table.widefat #bulk-edit").removeClass("inline-editor").hide(),a("#bulk-titles").html(""),a("#inlineedit").append(a("#bulk-edit"))):(a("#"+b).remove(),b=b.substr(b.lastIndexOf("-")+1),a(this.what+b).show())),!1},getId:function(b){var c=a(b).closest("tr").attr("id"),d=c.split("-");return d[d.length-1]}},a(document).ready(function(){inlineEditPost.init()}),a(document).on("heartbeat-tick.wp-check-locked-posts",function(b,c){var d=c["wp-check-locked-posts"]||{};a("#the-list tr").each(function(b,c){var e,f,g=c.id,h=a(c);d.hasOwnProperty(g)?h.hasClass("wp-locked")||(e=d[g],h.find(".column-title .locked-text").text(e.text),h.find(".check-column checkbox").prop("checked",!1),e.avatar_src&&(f=a('<img class="avatar avatar-18 photo" width="18" height="18" />').attr("src",e.avatar_src.replace(/&amp;/g,"&")),h.find(".column-title .locked-avatar").empty().append(f)),h.addClass("wp-locked")):h.hasClass("wp-locked")&&h.removeClass("wp-locked").delay(1e3).find(".locked-info span").empty()})}).on("heartbeat-send.wp-check-locked-posts",function(b,c){var d=[];a("#the-list tr").each(function(a,b){b.id&&d.push(b.id)}),d.length&&(c["wp-check-locked-posts"]=d)}).ready(function(){"undefined"!=typeof wp&&wp.heartbeat&&wp.heartbeat.interval(15)})}(jQuery);
\ No newline at end of file
+var inlineEditPost;!function(a){inlineEditPost={init:function(){var b=this,c=a("#inline-edit"),d=a("#bulk-edit");b.type=a("table.widefat").hasClass("pages")?"page":"post",b.what="#post-",c.keyup(function(a){return 27===a.which?inlineEditPost.revert():void 0}),d.keyup(function(a){return 27===a.which?inlineEditPost.revert():void 0}),a("a.cancel",c).click(function(){return inlineEditPost.revert()}),a("a.save",c).click(function(){return inlineEditPost.save(this)}),a("td",c).keydown(function(a){return 13===a.which?inlineEditPost.save(this):void 0}),a("a.cancel",d).click(function(){return inlineEditPost.revert()}),a('#inline-edit .inline-edit-private input[value="private"]').click(function(){var b=a("input.inline-edit-password-input");a(this).prop("checked")?b.val("").prop("disabled",!0):b.prop("disabled",!1)}),a("#the-list").on("click","a.editinline",function(){return inlineEditPost.edit(this),!1}),a("#bulk-edit").find("fieldset:first").after(a("#inline-edit fieldset.inline-edit-categories").clone()).siblings("fieldset:last").prepend(a("#inline-edit label.inline-edit-tags").clone()),a('select[name="_status"] option[value="future"]',d).remove(),a("#doaction, #doaction2").click(function(c){var d=a(this).attr("id").substr(2);"edit"===a('select[name="'+d+'"]').val()?(c.preventDefault(),b.setBulk()):a("form#posts-filter tr.inline-editor").length>0&&b.revert()})},toggle:function(b){var c=this;"none"===a(c.what+c.getId(b)).css("display")?c.revert():c.edit(b)},setBulk:function(){var b,c="",d=this.type,e=!0;return this.revert(),a("#bulk-edit td").attr("colspan",a(".widefat:first thead th:visible").length),a("table.widefat tbody").prepend(a("#bulk-edit")),a("#bulk-edit").addClass("inline-editor").show(),a('tbody th.check-column input[type="checkbox"]').each(function(){if(a(this).prop("checked")){e=!1;var b,d=a(this).val();b=a("#inline_"+d+" .post_title").html()||inlineEditL10n.notitle,c+='<div id="ttle'+d+'"><a id="_'+d+'" class="ntdelbutton" title="'+inlineEditL10n.ntdeltitle+'">X</a>'+b+"</div>"}}),e?this.revert():(a("#bulk-titles").html(c),a("#bulk-titles a").click(function(){var b=a(this).attr("id").substr(1);a('table.widefat input[value="'+b+'"]').prop("checked",!1),a("#ttle"+b).remove()}),"post"===d&&(b="post_tag",a('tr.inline-editor textarea[name="tax_input['+b+']"]').suggest(ajaxurl+"?action=ajax-tag-search&tax="+b,{delay:500,minchars:2,multiple:!0,multipleSep:inlineEditL10n.comma})),void a("html, body").animate({scrollTop:0},"fast"))},edit:function(b){var c,d,e,f,g,h,i,j,k,l,m=this,n=!0;for(m.revert(),"object"==typeof b&&(b=m.getId(b)),c=["post_title","post_name","post_author","_status","jj","mm","aa","hh","mn","ss","post_password","post_format","menu_order"],"page"===m.type&&c.push("post_parent","page_template"),d=a("#inline-edit").clone(!0),a("td",d).attr("colspan",a(".widefat:first thead th:visible").length),a(m.what+b).hasClass("alternate")&&a(d).addClass("alternate"),a(m.what+b).hide().after(d),e=a("#inline_"+b),a(':input[name="post_author"] option[value="'+a(".post_author",e).text()+'"]',d).val()||a(':input[name="post_author"]',d).prepend('<option value="'+a(".post_author",e).text()+'">'+a("#"+m.type+"-"+b+" .author").text()+"</option>"),1===a(':input[name="post_author"] option',d).length&&a("label.inline-edit-author",d).hide(),k=a(".post_format",e).text(),a("option.unsupported",d).each(function(){var b=a(this);b.val()!==k&&b.remove()}),l=0;l<c.length;l++)a(':input[name="'+c[l]+'"]',d).val(a("."+c[l],e).text());if("open"===a(".comment_status",e).text()&&a('input[name="comment_status"]',d).prop("checked",!0),"open"===a(".ping_status",e).text()&&a('input[name="ping_status"]',d).prop("checked",!0),"sticky"===a(".sticky",e).text()&&a('input[name="sticky"]',d).prop("checked",!0),a(".post_category",e).each(function(){var c,e=a(this).text();e&&(c=a(this).attr("id").replace("_"+b,""),a("ul."+c+"-checklist :checkbox",d).val(e.split(",")))}),a(".tags_input",e).each(function(){var c=a(this).text(),e=a(this).attr("id").replace("_"+b,""),f=a("textarea.tax_input_"+e,d),g=inlineEditL10n.comma;c&&(","!==g&&(c=c.replace(/,/g,g)),f.val(c)),f.suggest(ajaxurl+"?action=ajax-tag-search&tax="+e,{delay:500,minchars:2,multiple:!0,multipleSep:inlineEditL10n.comma})}),f=a("._status",e).text(),"future"!==f&&a('select[name="_status"] option[value="future"]',d).remove(),"private"===f&&(a('input[name="keep_private"]',d).prop("checked",!0),a("input.inline-edit-password-input").val("").prop("disabled",!0)),g=a('select[name="post_parent"] option[value="'+b+'"]',d),g.length>0){for(h=g[0].className.split("-")[1],i=g;n&&(i=i.next("option"),0!==i.length);)j=i[0].className.split("-")[1],h>=j?n=!1:(i.remove(),i=g);g.remove()}return a(d).attr("id","edit-"+b).addClass("inline-editor").show(),a(".ptitle",d).focus(),!1},save:function(b){var c,d,e=a(".post_status_page").val()||"";return"object"==typeof b&&(b=this.getId(b)),a("table.widefat .spinner").show(),c={action:"inline-save",post_type:typenow,post_ID:b,edit_date:"true",post_status:e},d=a("#edit-"+b).find(":input").serialize(),c=d+"&"+a.param(c),a.post(ajaxurl,c,function(c){a("table.widefat .spinner").hide(),c?-1!==c.indexOf("<tr")?(a(inlineEditPost.what+b).remove(),a("#edit-"+b).before(c).remove(),a(inlineEditPost.what+b).hide().fadeIn()):(c=c.replace(/<.[^<>]*?>/g,""),a("#edit-"+b+" .inline-edit-save .error").html(c).show()):a("#edit-"+b+" .inline-edit-save .error").html(inlineEditL10n.error).show(),a("#post-"+b).prev().hasClass("alternate")&&a("#post-"+b).removeClass("alternate")},"html"),!1},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");return b&&(a("table.widefat .spinner").hide(),"bulk-edit"===b?(a("table.widefat #bulk-edit").removeClass("inline-editor").hide(),a("#bulk-titles").html(""),a("#inlineedit").append(a("#bulk-edit"))):(a("#"+b).remove(),b=b.substr(b.lastIndexOf("-")+1),a(this.what+b).show())),!1},getId:function(b){var c=a(b).closest("tr").attr("id"),d=c.split("-");return d[d.length-1]}},a(document).ready(function(){inlineEditPost.init()}),a(document).on("heartbeat-tick.wp-check-locked-posts",function(b,c){var d=c["wp-check-locked-posts"]||{};a("#the-list tr").each(function(b,c){var e,f,g=c.id,h=a(c);d.hasOwnProperty(g)?h.hasClass("wp-locked")||(e=d[g],h.find(".column-title .locked-text").text(e.text),h.find(".check-column checkbox").prop("checked",!1),e.avatar_src&&(f=a('<img class="avatar avatar-18 photo" width="18" height="18" />').attr("src",e.avatar_src.replace(/&amp;/g,"&")),h.find(".column-title .locked-avatar").empty().append(f)),h.addClass("wp-locked")):h.hasClass("wp-locked")&&h.removeClass("wp-locked").delay(1e3).find(".locked-info span").empty()})}).on("heartbeat-send.wp-check-locked-posts",function(b,c){var d=[];a("#the-list tr").each(function(a,b){b.id&&d.push(b.id)}),d.length&&(c["wp-check-locked-posts"]=d)}).ready(function(){"undefined"!=typeof wp&&wp.heartbeat&&wp.heartbeat.interval(15)})}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/language-chooser.js b/wp-admin/js/language-chooser.js
new file mode 100644
index 000000000..628b8a81f
--- /dev/null
+++ b/wp-admin/js/language-chooser.js
@@ -0,0 +1,26 @@
+jQuery( function($) {
+
+var select = $( '#language' ),
+	submit = $( '#language-continue' );
+
+if ( ! $( 'body' ).hasClass( 'language-chooser' ) ) {
+	return;
+}
+
+select.focus().on( 'change', function() {
+	var option = select.children( 'option:selected' );
+	submit.attr({
+		value: option.data( 'continue' ),
+		lang: option.attr( 'lang' )
+	});
+});
+
+$( 'form' ).submit( function() {
+	// Don't show a spinner for English and installed languages,
+	// as there is nothing to download.
+	if ( ! select.children( 'option:selected' ).data( 'installed' ) ) {
+		$( this ).find( '.step .spinner' ).css( 'visibility', 'visible' );
+	}
+});
+
+});
diff --git a/wp-admin/js/language-chooser.min.js b/wp-admin/js/language-chooser.min.js
new file mode 100644
index 000000000..38d65ebd1
--- /dev/null
+++ b/wp-admin/js/language-chooser.min.js
@@ -0,0 +1 @@
+jQuery(function(a){var b=a("#language"),c=a("#language-continue");a("body").hasClass("language-chooser")&&(b.focus().on("change",function(){var a=b.children("option:selected");c.attr({value:a.data("continue"),lang:a.attr("lang")})}),a("form").submit(function(){b.children("option:selected").data("installed")||a(this).find(".step .spinner").css("visibility","visible")}))});
\ No newline at end of file
diff --git a/wp-admin/js/media-upload.js b/wp-admin/js/media-upload.js
index 7e6eed23d..011b618ff 100644
--- a/wp-admin/js/media-upload.js
+++ b/wp-admin/js/media-upload.js
@@ -40,7 +40,7 @@ var tb_position;
 		var tbWindow = $('#TB_window'),
 			width = $(window).width(),
 			H = $(window).height(),
-			W = ( 720 < width ) ? 720 : width,
+			W = ( 833 < width ) ? 833 : width,
 			adminbar_height = 0;
 
 		if ( $('#wpadminbar').length ) {
diff --git a/wp-admin/js/media-upload.min.js b/wp-admin/js/media-upload.min.js
index 8fc72f2c1..2bd2b4a08 100644
--- a/wp-admin/js/media-upload.min.js
+++ b/wp-admin/js/media-upload.min.js
@@ -1 +1 @@
-var wpActiveEditor,send_to_editor;send_to_editor=function(a){var b,c="undefined"!=typeof tinymce,d="undefined"!=typeof QTags;if(wpActiveEditor)c&&(b=tinymce.get(wpActiveEditor));else if(c&&tinymce.activeEditor)b=tinymce.activeEditor,wpActiveEditor=b.id;else if(!d)return!1;if(b&&!b.isHidden()?b.execCommand("mceInsertContent",!1,a):d?QTags.insertContent(a):document.getElementById(wpActiveEditor).value+=a,window.tb_remove)try{window.tb_remove()}catch(e){}};var tb_position;!function(a){tb_position=function(){var b=a("#TB_window"),c=a(window).width(),d=a(window).height(),e=c>720?720:c,f=0;return a("#wpadminbar").length&&(f=parseInt(a("#wpadminbar").css("height"),10)),b.size()&&(b.width(e-50).height(d-45-f),a("#TB_iframeContent").width(e-50).height(d-75-f),b.css({"margin-left":"-"+parseInt((e-50)/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:20+f+"px","margin-top":"0"})),a("a.thickbox").each(function(){var b=a(this).attr("href");b&&(b=b.replace(/&width=[0-9]+/g,""),b=b.replace(/&height=[0-9]+/g,""),a(this).attr("href",b+"&width="+(e-80)+"&height="+(d-85-f)))})},a(window).resize(function(){tb_position()})}(jQuery);
\ No newline at end of file
+var wpActiveEditor,send_to_editor;send_to_editor=function(a){var b,c="undefined"!=typeof tinymce,d="undefined"!=typeof QTags;if(wpActiveEditor)c&&(b=tinymce.get(wpActiveEditor));else if(c&&tinymce.activeEditor)b=tinymce.activeEditor,wpActiveEditor=b.id;else if(!d)return!1;if(b&&!b.isHidden()?b.execCommand("mceInsertContent",!1,a):d?QTags.insertContent(a):document.getElementById(wpActiveEditor).value+=a,window.tb_remove)try{window.tb_remove()}catch(e){}};var tb_position;!function(a){tb_position=function(){var b=a("#TB_window"),c=a(window).width(),d=a(window).height(),e=c>833?833:c,f=0;return a("#wpadminbar").length&&(f=parseInt(a("#wpadminbar").css("height"),10)),b.size()&&(b.width(e-50).height(d-45-f),a("#TB_iframeContent").width(e-50).height(d-75-f),b.css({"margin-left":"-"+parseInt((e-50)/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:20+f+"px","margin-top":"0"})),a("a.thickbox").each(function(){var b=a(this).attr("href");b&&(b=b.replace(/&width=[0-9]+/g,""),b=b.replace(/&height=[0-9]+/g,""),a(this).attr("href",b+"&width="+(e-80)+"&height="+(d-85-f)))})},a(window).resize(function(){tb_position()})}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/media.js b/wp-admin/js/media.js
index f9fc6508a..119c10bd2 100644
--- a/wp-admin/js/media.js
+++ b/wp-admin/js/media.js
@@ -72,6 +72,12 @@ var findPosts;
 	};
 
 	$( document ).ready( function() {
+		// Open up a manage media frame into the grid.
+		wp.media && wp.media({
+			frame: 'manage',
+			container: $('#wpbody-content > .wrap')
+		}).open();
+
 		$( '#find-posts-submit' ).click( function( event ) {
 			if ( ! $( '#find-posts-response input[type="radio"]:checked' ).length )
 				event.preventDefault();
diff --git a/wp-admin/js/media.min.js b/wp-admin/js/media.min.js
index 5cd4e267e..8a90fa78b 100644
--- a/wp-admin/js/media.min.js
+++ b/wp-admin/js/media.min.js
@@ -1 +1 @@
-var findPosts;!function(a){findPosts={open:function(b,c){var d=a(".ui-find-overlay");return 0===d.length&&(a("body").append('<div class="ui-find-overlay"></div>'),findPosts.overlay()),d.show(),b&&c&&a("#affected").attr("name",b).val(c),a("#find-posts").show(),a("#find-posts-input").focus().keyup(function(a){27==a.which&&findPosts.close()}),findPosts.send(),!1},close:function(){a("#find-posts-response").html(""),a("#find-posts").hide(),a(".ui-find-overlay").hide()},overlay:function(){a(".ui-find-overlay").on("click",function(){findPosts.close()})},send:function(){var b={ps:a("#find-posts-input").val(),action:"find_posts",_ajax_nonce:a("#_ajax_nonce").val()},c=a(".find-box-search .spinner");c.show(),a.ajax(ajaxurl,{type:"POST",data:b,dataType:"json"}).always(function(){c.hide()}).done(function(b){b.success||a("#find-posts-response").text(attachMediaBoxL10n.error),a("#find-posts-response").html(b.data)}).fail(function(){a("#find-posts-response").text(attachMediaBoxL10n.error)})}},a(document).ready(function(){a("#find-posts-submit").click(function(b){a('#find-posts-response input[type="radio"]:checked').length||b.preventDefault()}),a("#find-posts .find-box-search :input").keypress(function(a){return 13==a.which?(findPosts.send(),!1):void 0}),a("#find-posts-search").click(findPosts.send),a("#find-posts-close").click(findPosts.close),a("#doaction, #doaction2").click(function(b){a('select[name^="action"]').each(function(){"attach"===a(this).val()&&(b.preventDefault(),findPosts.open())})}),a(".find-box-inside").on("click","tr",function(){a(this).find(".found-radio input").prop("checked",!0)})})}(jQuery);
\ No newline at end of file
+var findPosts;!function(a){findPosts={open:function(b,c){var d=a(".ui-find-overlay");return 0===d.length&&(a("body").append('<div class="ui-find-overlay"></div>'),findPosts.overlay()),d.show(),b&&c&&a("#affected").attr("name",b).val(c),a("#find-posts").show(),a("#find-posts-input").focus().keyup(function(a){27==a.which&&findPosts.close()}),findPosts.send(),!1},close:function(){a("#find-posts-response").html(""),a("#find-posts").hide(),a(".ui-find-overlay").hide()},overlay:function(){a(".ui-find-overlay").on("click",function(){findPosts.close()})},send:function(){var b={ps:a("#find-posts-input").val(),action:"find_posts",_ajax_nonce:a("#_ajax_nonce").val()},c=a(".find-box-search .spinner");c.show(),a.ajax(ajaxurl,{type:"POST",data:b,dataType:"json"}).always(function(){c.hide()}).done(function(b){b.success||a("#find-posts-response").text(attachMediaBoxL10n.error),a("#find-posts-response").html(b.data)}).fail(function(){a("#find-posts-response").text(attachMediaBoxL10n.error)})}},a(document).ready(function(){wp.media&&wp.media({frame:"manage",container:a("#wpbody-content > .wrap")}).open(),a("#find-posts-submit").click(function(b){a('#find-posts-response input[type="radio"]:checked').length||b.preventDefault()}),a("#find-posts .find-box-search :input").keypress(function(a){return 13==a.which?(findPosts.send(),!1):void 0}),a("#find-posts-search").click(findPosts.send),a("#find-posts-close").click(findPosts.close),a("#doaction, #doaction2").click(function(b){a('select[name^="action"]').each(function(){"attach"===a(this).val()&&(b.preventDefault(),findPosts.open())})}),a(".find-box-inside").on("click","tr",function(){a(this).find(".found-radio input").prop("checked",!0)})})}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/nav-menu.js b/wp-admin/js/nav-menu.js
index e54ed688e..dc2183c9a 100644
--- a/wp-admin/js/nav-menu.js
+++ b/wp-admin/js/nav-menu.js
@@ -57,6 +57,8 @@ var wpNavMenu;
 			this.initAccessibility();
 
 			this.initToggles();
+
+			this.initPreviewing();
 		},
 
 		jQueryExtensions : function() {
@@ -530,6 +532,21 @@ var wpNavMenu;
 			});
 		},
 
+		initPreviewing : function() {
+			// Update the item handle title when the navigation label is changed.
+			$( '#menu-to-edit' ).on( 'change input', '.edit-menu-item-title', function(e) {
+				var input = $( e.currentTarget ), title, titleEl;
+				title = input.val();
+				titleEl = input.closest( '.menu-item' ).find( '.menu-item-title' );
+				// Don't update to empty title.
+				if ( title ) {
+					titleEl.text( title ).removeClass( 'no-title' );
+				} else {
+					titleEl.text( navMenuL10n.untitled ).addClass( 'no-title' );
+				}
+			} );
+		},
+
 		initToggles : function() {
 			// init postboxes
 			postboxes.add_postbox_toggles('nav-menus');
diff --git a/wp-admin/js/nav-menu.min.js b/wp-admin/js/nav-menu.min.js
index 85f6953b4..f270b4948 100644
--- a/wp-admin/js/nav-menu.min.js
+++ b/wp-admin/js/nav-menu.min.js
@@ -1 +1 @@
-var wpNavMenu;!function(a){var b;b=wpNavMenu={options:{menuItemDepthPerLevel:30,globalMaxDepth:11},menuList:void 0,targetList:void 0,menusChanged:!1,isRTL:!("undefined"==typeof isRtl||!isRtl),negateIfRTL:"undefined"!=typeof isRtl&&isRtl?-1:1,init:function(){b.menuList=a("#menu-to-edit"),b.targetList=b.menuList,this.jQueryExtensions(),this.attachMenuEditListeners(),this.setupInputWithDefaultTitle(),this.attachQuickSearchListeners(),this.attachThemeLocationsListeners(),this.attachTabsPanelListeners(),this.attachUnsavedChangesListener(),b.menuList.length&&this.initSortables(),menus.oneThemeLocationNoMenus&&a("#posttype-page").addSelectedToMenu(b.addMenuItemToBottom),this.initManageLocations(),this.initAccessibility(),this.initToggles()},jQueryExtensions:function(){a.fn.extend({menuItemDepth:function(){var a=this.eq(0).css(b.isRTL?"margin-right":"margin-left");return b.pxToDepth(a&&-1!=a.indexOf("px")?a.slice(0,-2):0)},updateDepthClass:function(b,c){return this.each(function(){var d=a(this);c=c||d.menuItemDepth(),a(this).removeClass("menu-item-depth-"+c).addClass("menu-item-depth-"+b)})},shiftDepthClass:function(b){return this.each(function(){var c=a(this),d=c.menuItemDepth();a(this).removeClass("menu-item-depth-"+d).addClass("menu-item-depth-"+(d+b))})},childMenuItems:function(){var b=a();return this.each(function(){for(var c=a(this),d=c.menuItemDepth(),e=c.next();e.length&&e.menuItemDepth()>d;)b=b.add(e),e=e.next()}),b},shiftHorizontally:function(b){return this.each(function(){var c=a(this),d=c.menuItemDepth(),e=d+b;c.moveHorizontally(e,d)})},moveHorizontally:function(b,c){return this.each(function(){var d=a(this),e=d.childMenuItems(),f=b-c,g=d.find(".is-submenu");d.updateDepthClass(b,c).updateParentMenuItemDBId(),e&&e.each(function(){var b=a(this),c=b.menuItemDepth(),d=c+f;b.updateDepthClass(d,c).updateParentMenuItemDBId()}),0===b?g.hide():g.show()})},updateParentMenuItemDBId:function(){return this.each(function(){var b=a(this),c=b.find(".menu-item-data-parent-id"),d=parseInt(b.menuItemDepth(),10),e=d-1,f=b.prevAll(".menu-item-depth-"+e).first();c.val(0===d?0:f.find(".menu-item-data-db-id").val())})},hideAdvancedMenuItemFields:function(){return this.each(function(){var b=a(this);a(".hide-column-tog").not(":checked").each(function(){b.find(".field-"+a(this).val()).addClass("hidden-field")})})},addSelectedToMenu:function(c){return 0===a("#menu-to-edit").length?!1:this.each(function(){var d=a(this),e={},f=d.find(menus.oneThemeLocationNoMenus&&0===d.find(".tabs-panel-active .categorychecklist li input:checked").length?'#page-all li input[type="checkbox"]':".tabs-panel-active .categorychecklist li input:checked"),g=/menu-item\[([^\]]*)/;return c=c||b.addMenuItemToBottom,f.length?(d.find(".spinner").show(),a(f).each(function(){var d=a(this),f=g.exec(d.attr("name")),h="undefined"==typeof f[1]?0:parseInt(f[1],10);this.className&&-1!=this.className.indexOf("add-to-top")&&(c=b.addMenuItemToTop),e[h]=d.closest("li").getItemData("add-menu-item",h)}),void b.addItemToMenu(e,c,function(){f.removeAttr("checked"),d.find(".spinner").hide()})):!1})},getItemData:function(a,b){a=a||"menu-item";var c,d={},e=["menu-item-db-id","menu-item-object-id","menu-item-object","menu-item-parent-id","menu-item-position","menu-item-type","menu-item-title","menu-item-url","menu-item-description","menu-item-attr-title","menu-item-target","menu-item-classes","menu-item-xfn"];return b||"menu-item"!=a||(b=this.find(".menu-item-data-db-id").val()),b?(this.find("input").each(function(){var f;for(c=e.length;c--;)"menu-item"==a?f=e[c]+"["+b+"]":"add-menu-item"==a&&(f="menu-item["+b+"]["+e[c]+"]"),this.name&&f==this.name&&(d[e[c]]=this.value)}),d):d},setItemData:function(b,c,d){return c=c||"menu-item",d||"menu-item"!=c||(d=a(".menu-item-data-db-id",this).val()),d?(this.find("input").each(function(){var e,f=a(this);a.each(b,function(a,b){"menu-item"==c?e=a+"["+d+"]":"add-menu-item"==c&&(e="menu-item["+d+"]["+a+"]"),e==f.attr("name")&&f.val(b)})}),this):this}})},countMenuItems:function(b){return a(".menu-item-depth-"+b).length},moveMenuItem:function(c,d){var e,f,g,h=a("#menu-to-edit li"),i=h.length,j=c.parents("li.menu-item"),k=j.childMenuItems(),l=j.getItemData(),m=parseInt(j.menuItemDepth(),10),n=parseInt(j.index(),10),o=j.next(),p=o.childMenuItems(),q=parseInt(o.menuItemDepth(),10)+1,r=j.prev(),s=parseInt(r.menuItemDepth(),10),t=r.getItemData()["menu-item-db-id"];switch(d){case"up":if(f=n-1,0===n)break;0===f&&0!==m&&j.moveHorizontally(0,m),0!==s&&j.moveHorizontally(s,m),k?(e=j.add(k),e.detach().insertBefore(h.eq(f)).updateParentMenuItemDBId()):j.detach().insertBefore(h.eq(f)).updateParentMenuItemDBId();break;case"down":if(k){if(e=j.add(k),o=h.eq(e.length+n),p=0!==o.childMenuItems().length,p&&(g=parseInt(o.menuItemDepth(),10)+1,j.moveHorizontally(g,m)),i===n+e.length)break;e.detach().insertAfter(h.eq(n+e.length)).updateParentMenuItemDBId()}else{if(0!==p.length&&j.moveHorizontally(q,m),i===n+1)break;j.detach().insertAfter(h.eq(n+1)).updateParentMenuItemDBId()}break;case"top":if(0===n)break;k?(e=j.add(k),e.detach().insertBefore(h.eq(0)).updateParentMenuItemDBId()):j.detach().insertBefore(h.eq(0)).updateParentMenuItemDBId();break;case"left":if(0===m)break;j.shiftHorizontally(-1);break;case"right":if(0===n)break;if(l["menu-item-parent-id"]===t)break;j.shiftHorizontally(1)}c.focus(),b.registerChange(),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},initAccessibility:function(){var c=a("#menu-to-edit");b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility(),c.on("click",".menus-move-up",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"up"),c.preventDefault()}),c.on("click",".menus-move-down",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"down"),c.preventDefault()}),c.on("click",".menus-move-top",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"top"),c.preventDefault()}),c.on("click",".menus-move-left",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"left"),c.preventDefault()}),c.on("click",".menus-move-right",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"right"),c.preventDefault()})},refreshAdvancedAccessibility:function(){a(".menu-item-settings .field-move a").css("display","none"),a(".item-edit").each(function(){var b,c,d,e,f,g,h,i,j,k=a(this),l=k.closest("li.menu-item").first(),m=l.menuItemDepth(),n=0===m,o=k.closest(".menu-item-handle").find(".menu-item-title").text(),p=parseInt(l.index(),10),q=n?m:parseInt(m-1,10),r=l.prevAll(".menu-item-depth-"+q).first().find(".menu-item-title").text(),s=l.prevAll(".menu-item-depth-"+m).first().find(".menu-item-title").text(),t=a("#menu-to-edit li").length,u=l.nextAll(".menu-item-depth-"+m).length;0!==p&&(b=l.find(".menus-move-up"),b.prop("title",menus.moveUp).css("display","inline")),0!==p&&n&&(b=l.find(".menus-move-top"),b.prop("title",menus.moveToTop).css("display","inline")),p+1!==t&&0!==p&&(b=l.find(".menus-move-down"),b.prop("title",menus.moveDown).css("display","inline")),0===p&&0!==u&&(b=l.find(".menus-move-down"),b.prop("title",menus.moveDown).css("display","inline")),n||(b=l.find(".menus-move-left"),c=menus.outFrom.replace("%s",r),b.prop("title",menus.moveOutFrom.replace("%s",r)).html(c).css("display","inline")),0!==p&&l.find(".menu-item-data-parent-id").val()!==l.prev().find(".menu-item-data-db-id").val()&&(b=l.find(".menus-move-right"),c=menus.under.replace("%s",s),b.prop("title",menus.moveUnder.replace("%s",s)).html(c).css("display","inline")),n?(d=a(".menu-item-depth-0"),e=d.index(l)+1,t=d.length,f=menus.menuFocus.replace("%1$s",o).replace("%2$d",e).replace("%3$d",t)):(g=l.prevAll(".menu-item-depth-"+parseInt(m-1,10)).first(),h=g.find(".menu-item-data-db-id").val(),i=g.find(".menu-item-title").text(),j=a('.menu-item .menu-item-data-parent-id[value="'+h+'"]'),e=a(j.parents(".menu-item").get().reverse()).index(l)+1,f=menus.subMenuFocus.replace("%1$s",o).replace("%2$d",e).replace("%3$s",i)),k.prop("title",f).html(f)})},refreshKeyboardAccessibility:function(){a(".item-edit").off("focus").on("focus",function(){a(this).off("keydown").on("keydown",function(c){var d,e=a(this),f=e.parents("li.menu-item"),g=f.getItemData();if((37==c.which||38==c.which||39==c.which||40==c.which)&&(e.off("keydown"),1!==a("#menu-to-edit li").length)){switch(d={38:"up",40:"down",37:"left",39:"right"},a("body").hasClass("rtl")&&(d={38:"up",40:"down",39:"left",37:"right"}),d[c.which]){case"up":b.moveMenuItem(e,"up");break;case"down":b.moveMenuItem(e,"down");break;case"left":b.moveMenuItem(e,"left");break;case"right":b.moveMenuItem(e,"right")}return a("#edit-"+g["menu-item-db-id"]).focus(),!1}})})},initToggles:function(){postboxes.add_postbox_toggles("nav-menus"),columns.useCheckboxesForHidden(),columns.checked=function(b){a(".field-"+b).removeClass("hidden-field")},columns.unchecked=function(b){a(".field-"+b).addClass("hidden-field")},b.menuList.hideAdvancedMenuItemFields(),a(".hide-postbox-tog").click(function(){var b=a(".accordion-container li.accordion-section").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(ajaxurl,{action:"closed-postboxes",hidden:b,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:"nav-menus"})})},initSortables:function(){function c(a){var c;j=a.placeholder.prev(),k=a.placeholder.next(),j[0]==a.item[0]&&(j=j.prev()),k[0]==a.item[0]&&(k=k.next()),l=j.length?j.offset().top+j.height():0,m=k.length?k.offset().top+k.height()/3:0,h=k.length?k.menuItemDepth():0,i=j.length?(c=j.menuItemDepth()+1)>b.options.globalMaxDepth?b.options.globalMaxDepth:c:0}function d(a,b){a.placeholder.updateDepthClass(b,q),q=b}function e(){if(!s[0].className)return 0;var a=s[0].className.match(/menu-max-depth-(\d+)/);return a&&a[1]?parseInt(a[1],10):0}function f(c){var d,e=t;if(0!==c){if(c>0)d=p+c,d>t&&(e=d);else if(0>c&&p==t)for(;!a(".menu-item-depth-"+e,b.menuList).length&&e>0;)e--;s.removeClass("menu-max-depth-"+t).addClass("menu-max-depth-"+e),t=e}}var g,h,i,j,k,l,m,n,o,p,q=0,r=b.menuList.offset().left,s=a("body"),t=e();0!==a("#menu-to-edit li").length&&a(".drag-instructions").show(),r+=b.isRTL?b.menuList.width():0,b.menuList.sortable({handle:".menu-item-handle",placeholder:"sortable-placeholder",start:function(e,f){var h,i,j,k,l;b.isRTL&&(f.item[0].style.right="auto"),o=f.item.children(".menu-item-transport"),g=f.item.menuItemDepth(),d(f,g),j=f.item.next()[0]==f.placeholder[0]?f.item.next():f.item,k=j.childMenuItems(),o.append(k),h=o.outerHeight(),h+=h>0?1*f.placeholder.css("margin-top").slice(0,-2):0,h+=f.helper.outerHeight(),n=h,h-=2,f.placeholder.height(h),p=g,k.each(function(){var b=a(this).menuItemDepth();p=b>p?b:p}),i=f.helper.find(".menu-item-handle").outerWidth(),i+=b.depthToPx(p-g),i-=2,f.placeholder.width(i),l=f.placeholder.next(),l.css("margin-top",n+"px"),f.placeholder.detach(),a(this).sortable("refresh"),f.item.after(f.placeholder),l.css("margin-top",0),c(f)},stop:function(a,c){var d,e,h=q-g;d=o.children().insertAfter(c.item),e=c.item.find(".item-title .is-submenu"),q>0?e.show():e.hide(),0!==h&&(c.item.updateDepthClass(q),d.shiftDepthClass(h),f(h)),b.registerChange(),c.item.updateParentMenuItemDBId(),c.item[0].style.top=0,b.isRTL&&(c.item[0].style.left="auto",c.item[0].style.right=0),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},change:function(a,d){d.placeholder.parent().hasClass("menu")||(j.length?j.after(d.placeholder):b.menuList.prepend(d.placeholder)),c(d)},sort:function(e,f){var g=f.helper.offset(),j=b.isRTL?g.left+f.helper.width():g.left,o=b.negateIfRTL*b.pxToDepth(j-r);o>i||g.top<l?o=i:h>o&&(o=h),o!=q&&d(f,o),m&&g.top+n>m&&(k.after(f.placeholder),c(f),a(this).sortable("refreshPositions"))}})},initManageLocations:function(){a("#menu-locations-wrap form").submit(function(){window.onbeforeunload=null}),a(".menu-location-menus select").on("change",function(){var b=a(this).closest("tr").find(".locations-edit-menu-link");a(this).find("option:selected").data("orig")?b.show():b.hide()})},attachMenuEditListeners:function(){var b=this;a("#update-nav-menu").bind("click",function(a){if(a.target&&a.target.className){if(-1!=a.target.className.indexOf("item-edit"))return b.eventOnClickEditLink(a.target);if(-1!=a.target.className.indexOf("menu-save"))return b.eventOnClickMenuSave(a.target);if(-1!=a.target.className.indexOf("menu-delete"))return b.eventOnClickMenuDelete(a.target);if(-1!=a.target.className.indexOf("item-delete"))return b.eventOnClickMenuItemDelete(a.target);if(-1!=a.target.className.indexOf("item-cancel"))return b.eventOnClickCancelLink(a.target)}}),a('#add-custom-links input[type="text"]').keypress(function(b){13===b.keyCode&&(b.preventDefault(),a("#submit-customlinkdiv").click())})},setupInputWithDefaultTitle:function(){var b="input-with-default-title";a("."+b).each(function(){var c=a(this),d=c.attr("title"),e=c.val();if(c.data(b,d),""===e)c.val(d);else{if(d==e)return;c.removeClass(b)}}).focus(function(){var c=a(this);c.val()==c.data(b)&&c.val("").removeClass(b)}).blur(function(){var c=a(this);""===c.val()&&c.addClass(b).val(c.data(b))}),a(".blank-slate .input-with-default-title").focus()},attachThemeLocationsListeners:function(){var b=a("#nav-menu-theme-locations"),c={};c.action="menu-locations-save",c["menu-settings-column-nonce"]=a("#menu-settings-column-nonce").val(),b.find('input[type="submit"]').click(function(){return b.find("select").each(function(){c[this.name]=a(this).val()}),b.find(".spinner").show(),a.post(ajaxurl,c,function(){b.find(".spinner").hide()}),!1})},attachQuickSearchListeners:function(){var c;a(".quick-search").keypress(function(d){var e=a(this);return 13==d.which?(b.updateQuickSearchResults(e),!1):(c&&clearTimeout(c),void(c=setTimeout(function(){b.updateQuickSearchResults(e)},400)))}).attr("autocomplete","off")},updateQuickSearchResults:function(c){var d,e,f=2,g=c.val();g.length<f||(d=c.parents(".tabs-panel"),e={action:"menu-quick-search","response-format":"markup",menu:a("#menu").val(),"menu-settings-column-nonce":a("#menu-settings-column-nonce").val(),q:g,type:c.attr("name")},a(".spinner",d).show(),a.post(ajaxurl,e,function(a){b.processQuickSearchQueryResponse(a,e,d)}))},addCustomLink:function(c){var d=a("#custom-menu-item-url").val(),e=a("#custom-menu-item-name").val();return c=c||b.addMenuItemToBottom,""===d||"http://"==d?!1:(a(".customlinkdiv .spinner").show(),void this.addLinkToMenu(d,e,c,function(){a(".customlinkdiv .spinner").hide(),a("#custom-menu-item-name").val("").blur(),a("#custom-menu-item-url").val("http://")}))},addLinkToMenu:function(a,c,d,e){d=d||b.addMenuItemToBottom,e=e||function(){},b.addItemToMenu({"-1":{"menu-item-type":"custom","menu-item-url":a,"menu-item-title":c}},d,e)},addItemToMenu:function(b,c,d){var e,f=a("#menu").val(),g=a("#menu-settings-column-nonce").val();c=c||function(){},d=d||function(){},e={action:"add-menu-item",menu:f,"menu-settings-column-nonce":g,"menu-item":b},a.post(ajaxurl,e,function(b){var f=a("#menu-instructions");b=a.trim(b),c(b,e),a("li.pending").hide().fadeIn("slow"),a(".drag-instructions").show(),!f.hasClass("menu-instructions-inactive")&&f.siblings().length&&f.addClass("menu-instructions-inactive"),d()})},addMenuItemToBottom:function(c){a(c).hideAdvancedMenuItemFields().appendTo(b.targetList),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},addMenuItemToTop:function(c){a(c).hideAdvancedMenuItemFields().prependTo(b.targetList),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},attachUnsavedChangesListener:function(){a("#menu-management input, #menu-management select, #menu-management, #menu-management textarea, .menu-location-menus select").change(function(){b.registerChange()}),0!==a("#menu-to-edit").length||0!==a(".menu-location-menus select").length?window.onbeforeunload=function(){return b.menusChanged?navMenuL10n.saveAlert:void 0}:a("#menu-settings-column").find("input,select").end().find("a").attr("href","#").unbind("click")},registerChange:function(){b.menusChanged=!0},attachTabsPanelListeners:function(){a("#menu-settings-column").bind("click",function(c){var d,e,f,g,h=a(c.target);if(h.hasClass("nav-tab-link"))e=h.data("type"),f=h.parents(".accordion-section-content").first(),a("input",f).removeAttr("checked"),a(".tabs-panel-active",f).removeClass("tabs-panel-active").addClass("tabs-panel-inactive"),a("#"+e,f).removeClass("tabs-panel-inactive").addClass("tabs-panel-active"),a(".tabs",f).removeClass("tabs"),h.parent().addClass("tabs"),a(".quick-search",f).focus(),c.preventDefault();else if(h.hasClass("select-all")){if(d=/#(.*)$/.exec(c.target.href),d&&d[1])return g=a("#"+d[1]+" .tabs-panel-active .menu-item-title input"),g.length===g.filter(":checked").length?g.removeAttr("checked"):g.prop("checked",!0),!1}else{if(h.hasClass("submit-add-to-menu"))return b.registerChange(),c.target.id&&"submit-customlinkdiv"==c.target.id?b.addCustomLink(b.addMenuItemToBottom):c.target.id&&-1!=c.target.id.indexOf("submit-")&&a("#"+c.target.id.replace(/submit-/,"")).addSelectedToMenu(b.addMenuItemToBottom),!1;if(h.hasClass("page-numbers"))return a.post(ajaxurl,c.target.href.replace(/.*\?/,"").replace(/action=([^&]*)/,"")+"&action=menu-get-metabox",function(b){if(-1!=b.indexOf("replace-id")){var c=a.parseJSON(b),d=document.getElementById(c["replace-id"]),e=document.createElement("div"),f=document.createElement("div");c.markup&&d&&(f.innerHTML=c.markup?c.markup:"",d.parentNode.insertBefore(e,d),e.parentNode.removeChild(d),e.parentNode.insertBefore(f,e),e.parentNode.removeChild(e))}}),!1}})},eventOnClickEditLink:function(b){var c,d,e=/#(.*)$/.exec(b.href);return e&&e[1]&&(c=a("#"+e[1]),d=c.parent(),0!==d.length)?(d.hasClass("menu-item-edit-inactive")?(c.data("menu-item-data")||c.data("menu-item-data",c.getItemData()),c.slideDown("fast"),d.removeClass("menu-item-edit-inactive").addClass("menu-item-edit-active")):(c.slideUp("fast"),d.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive")),!1):void 0},eventOnClickCancelLink:function(b){var c=a(b).closest(".menu-item-settings"),d=a(b).closest(".menu-item");return d.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive"),c.setItemData(c.data("menu-item-data")).hide(),!1},eventOnClickMenuSave:function(){var c="",d=a("#menu-name"),e=d.val();return e&&e!=d.attr("title")&&e.replace(/\s+/,"")?(a("#nav-menu-theme-locations select").each(function(){c+='<input type="hidden" name="'+this.name+'" value="'+a(this).val()+'" />'}),a("#update-nav-menu").append(c),b.menuList.find(".menu-item-data-position").val(function(a){return a+1}),window.onbeforeunload=null,!0):(d.parent().addClass("form-invalid"),!1)},eventOnClickMenuDelete:function(){return window.confirm(navMenuL10n.warnDeleteMenu)?(window.onbeforeunload=null,!0):!1},eventOnClickMenuItemDelete:function(c){var d=parseInt(c.id.replace("delete-",""),10);return b.removeMenuItem(a("#menu-item-"+d)),b.registerChange(),!1},processQuickSearchQueryResponse:function(b,c,d){var e,f,g,h={},i=document.getElementById("nav-menu-meta"),j=/menu-item[(\[^]\]*/,k=a("<div>").html(b).find("li");return k.length?(k.each(function(){if(g=a(this),e=j.exec(g.html()),e&&e[1]){for(f=e[1];i.elements["menu-item["+f+"][menu-item-type]"]||h[f];)f--;h[f]=!0,f!=e[1]&&g.html(g.html().replace(new RegExp("menu-item\\["+e[1]+"\\]","g"),"menu-item["+f+"]"))}}),a(".categorychecklist",d).html(k),void a(".spinner",d).hide()):(a(".categorychecklist",d).html("<li><p>"+navMenuL10n.noResultsFound+"</p></li>"),void a(".spinner",d).hide())},removeMenuItem:function(b){var c=b.childMenuItems();b.addClass("deleting").animate({opacity:0,height:0},350,function(){var d=a("#menu-instructions");b.remove(),c.shiftDepthClass(-1).updateParentMenuItemDBId(),0===a("#menu-to-edit li").length&&(a(".drag-instructions").hide(),d.removeClass("menu-instructions-inactive"))})},depthToPx:function(a){return a*b.options.menuItemDepthPerLevel},pxToDepth:function(a){return Math.floor(a/b.options.menuItemDepthPerLevel)}},a(document).ready(function(){wpNavMenu.init()})}(jQuery);
\ No newline at end of file
+var wpNavMenu;!function(a){var b;b=wpNavMenu={options:{menuItemDepthPerLevel:30,globalMaxDepth:11},menuList:void 0,targetList:void 0,menusChanged:!1,isRTL:!("undefined"==typeof isRtl||!isRtl),negateIfRTL:"undefined"!=typeof isRtl&&isRtl?-1:1,init:function(){b.menuList=a("#menu-to-edit"),b.targetList=b.menuList,this.jQueryExtensions(),this.attachMenuEditListeners(),this.setupInputWithDefaultTitle(),this.attachQuickSearchListeners(),this.attachThemeLocationsListeners(),this.attachTabsPanelListeners(),this.attachUnsavedChangesListener(),b.menuList.length&&this.initSortables(),menus.oneThemeLocationNoMenus&&a("#posttype-page").addSelectedToMenu(b.addMenuItemToBottom),this.initManageLocations(),this.initAccessibility(),this.initToggles(),this.initPreviewing()},jQueryExtensions:function(){a.fn.extend({menuItemDepth:function(){var a=this.eq(0).css(b.isRTL?"margin-right":"margin-left");return b.pxToDepth(a&&-1!=a.indexOf("px")?a.slice(0,-2):0)},updateDepthClass:function(b,c){return this.each(function(){var d=a(this);c=c||d.menuItemDepth(),a(this).removeClass("menu-item-depth-"+c).addClass("menu-item-depth-"+b)})},shiftDepthClass:function(b){return this.each(function(){var c=a(this),d=c.menuItemDepth();a(this).removeClass("menu-item-depth-"+d).addClass("menu-item-depth-"+(d+b))})},childMenuItems:function(){var b=a();return this.each(function(){for(var c=a(this),d=c.menuItemDepth(),e=c.next();e.length&&e.menuItemDepth()>d;)b=b.add(e),e=e.next()}),b},shiftHorizontally:function(b){return this.each(function(){var c=a(this),d=c.menuItemDepth(),e=d+b;c.moveHorizontally(e,d)})},moveHorizontally:function(b,c){return this.each(function(){var d=a(this),e=d.childMenuItems(),f=b-c,g=d.find(".is-submenu");d.updateDepthClass(b,c).updateParentMenuItemDBId(),e&&e.each(function(){var b=a(this),c=b.menuItemDepth(),d=c+f;b.updateDepthClass(d,c).updateParentMenuItemDBId()}),0===b?g.hide():g.show()})},updateParentMenuItemDBId:function(){return this.each(function(){var b=a(this),c=b.find(".menu-item-data-parent-id"),d=parseInt(b.menuItemDepth(),10),e=d-1,f=b.prevAll(".menu-item-depth-"+e).first();c.val(0===d?0:f.find(".menu-item-data-db-id").val())})},hideAdvancedMenuItemFields:function(){return this.each(function(){var b=a(this);a(".hide-column-tog").not(":checked").each(function(){b.find(".field-"+a(this).val()).addClass("hidden-field")})})},addSelectedToMenu:function(c){return 0===a("#menu-to-edit").length?!1:this.each(function(){var d=a(this),e={},f=d.find(menus.oneThemeLocationNoMenus&&0===d.find(".tabs-panel-active .categorychecklist li input:checked").length?'#page-all li input[type="checkbox"]':".tabs-panel-active .categorychecklist li input:checked"),g=/menu-item\[([^\]]*)/;return c=c||b.addMenuItemToBottom,f.length?(d.find(".spinner").show(),a(f).each(function(){var d=a(this),f=g.exec(d.attr("name")),h="undefined"==typeof f[1]?0:parseInt(f[1],10);this.className&&-1!=this.className.indexOf("add-to-top")&&(c=b.addMenuItemToTop),e[h]=d.closest("li").getItemData("add-menu-item",h)}),void b.addItemToMenu(e,c,function(){f.removeAttr("checked"),d.find(".spinner").hide()})):!1})},getItemData:function(a,b){a=a||"menu-item";var c,d={},e=["menu-item-db-id","menu-item-object-id","menu-item-object","menu-item-parent-id","menu-item-position","menu-item-type","menu-item-title","menu-item-url","menu-item-description","menu-item-attr-title","menu-item-target","menu-item-classes","menu-item-xfn"];return b||"menu-item"!=a||(b=this.find(".menu-item-data-db-id").val()),b?(this.find("input").each(function(){var f;for(c=e.length;c--;)"menu-item"==a?f=e[c]+"["+b+"]":"add-menu-item"==a&&(f="menu-item["+b+"]["+e[c]+"]"),this.name&&f==this.name&&(d[e[c]]=this.value)}),d):d},setItemData:function(b,c,d){return c=c||"menu-item",d||"menu-item"!=c||(d=a(".menu-item-data-db-id",this).val()),d?(this.find("input").each(function(){var e,f=a(this);a.each(b,function(a,b){"menu-item"==c?e=a+"["+d+"]":"add-menu-item"==c&&(e="menu-item["+d+"]["+a+"]"),e==f.attr("name")&&f.val(b)})}),this):this}})},countMenuItems:function(b){return a(".menu-item-depth-"+b).length},moveMenuItem:function(c,d){var e,f,g,h=a("#menu-to-edit li"),i=h.length,j=c.parents("li.menu-item"),k=j.childMenuItems(),l=j.getItemData(),m=parseInt(j.menuItemDepth(),10),n=parseInt(j.index(),10),o=j.next(),p=o.childMenuItems(),q=parseInt(o.menuItemDepth(),10)+1,r=j.prev(),s=parseInt(r.menuItemDepth(),10),t=r.getItemData()["menu-item-db-id"];switch(d){case"up":if(f=n-1,0===n)break;0===f&&0!==m&&j.moveHorizontally(0,m),0!==s&&j.moveHorizontally(s,m),k?(e=j.add(k),e.detach().insertBefore(h.eq(f)).updateParentMenuItemDBId()):j.detach().insertBefore(h.eq(f)).updateParentMenuItemDBId();break;case"down":if(k){if(e=j.add(k),o=h.eq(e.length+n),p=0!==o.childMenuItems().length,p&&(g=parseInt(o.menuItemDepth(),10)+1,j.moveHorizontally(g,m)),i===n+e.length)break;e.detach().insertAfter(h.eq(n+e.length)).updateParentMenuItemDBId()}else{if(0!==p.length&&j.moveHorizontally(q,m),i===n+1)break;j.detach().insertAfter(h.eq(n+1)).updateParentMenuItemDBId()}break;case"top":if(0===n)break;k?(e=j.add(k),e.detach().insertBefore(h.eq(0)).updateParentMenuItemDBId()):j.detach().insertBefore(h.eq(0)).updateParentMenuItemDBId();break;case"left":if(0===m)break;j.shiftHorizontally(-1);break;case"right":if(0===n)break;if(l["menu-item-parent-id"]===t)break;j.shiftHorizontally(1)}c.focus(),b.registerChange(),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},initAccessibility:function(){var c=a("#menu-to-edit");b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility(),c.on("click",".menus-move-up",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"up"),c.preventDefault()}),c.on("click",".menus-move-down",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"down"),c.preventDefault()}),c.on("click",".menus-move-top",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"top"),c.preventDefault()}),c.on("click",".menus-move-left",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"left"),c.preventDefault()}),c.on("click",".menus-move-right",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"right"),c.preventDefault()})},refreshAdvancedAccessibility:function(){a(".menu-item-settings .field-move a").css("display","none"),a(".item-edit").each(function(){var b,c,d,e,f,g,h,i,j,k=a(this),l=k.closest("li.menu-item").first(),m=l.menuItemDepth(),n=0===m,o=k.closest(".menu-item-handle").find(".menu-item-title").text(),p=parseInt(l.index(),10),q=n?m:parseInt(m-1,10),r=l.prevAll(".menu-item-depth-"+q).first().find(".menu-item-title").text(),s=l.prevAll(".menu-item-depth-"+m).first().find(".menu-item-title").text(),t=a("#menu-to-edit li").length,u=l.nextAll(".menu-item-depth-"+m).length;0!==p&&(b=l.find(".menus-move-up"),b.prop("title",menus.moveUp).css("display","inline")),0!==p&&n&&(b=l.find(".menus-move-top"),b.prop("title",menus.moveToTop).css("display","inline")),p+1!==t&&0!==p&&(b=l.find(".menus-move-down"),b.prop("title",menus.moveDown).css("display","inline")),0===p&&0!==u&&(b=l.find(".menus-move-down"),b.prop("title",menus.moveDown).css("display","inline")),n||(b=l.find(".menus-move-left"),c=menus.outFrom.replace("%s",r),b.prop("title",menus.moveOutFrom.replace("%s",r)).html(c).css("display","inline")),0!==p&&l.find(".menu-item-data-parent-id").val()!==l.prev().find(".menu-item-data-db-id").val()&&(b=l.find(".menus-move-right"),c=menus.under.replace("%s",s),b.prop("title",menus.moveUnder.replace("%s",s)).html(c).css("display","inline")),n?(d=a(".menu-item-depth-0"),e=d.index(l)+1,t=d.length,f=menus.menuFocus.replace("%1$s",o).replace("%2$d",e).replace("%3$d",t)):(g=l.prevAll(".menu-item-depth-"+parseInt(m-1,10)).first(),h=g.find(".menu-item-data-db-id").val(),i=g.find(".menu-item-title").text(),j=a('.menu-item .menu-item-data-parent-id[value="'+h+'"]'),e=a(j.parents(".menu-item").get().reverse()).index(l)+1,f=menus.subMenuFocus.replace("%1$s",o).replace("%2$d",e).replace("%3$s",i)),k.prop("title",f).html(f)})},refreshKeyboardAccessibility:function(){a(".item-edit").off("focus").on("focus",function(){a(this).off("keydown").on("keydown",function(c){var d,e=a(this),f=e.parents("li.menu-item"),g=f.getItemData();if((37==c.which||38==c.which||39==c.which||40==c.which)&&(e.off("keydown"),1!==a("#menu-to-edit li").length)){switch(d={38:"up",40:"down",37:"left",39:"right"},a("body").hasClass("rtl")&&(d={38:"up",40:"down",39:"left",37:"right"}),d[c.which]){case"up":b.moveMenuItem(e,"up");break;case"down":b.moveMenuItem(e,"down");break;case"left":b.moveMenuItem(e,"left");break;case"right":b.moveMenuItem(e,"right")}return a("#edit-"+g["menu-item-db-id"]).focus(),!1}})})},initPreviewing:function(){a("#menu-to-edit").on("change input",".edit-menu-item-title",function(b){var c,d,e=a(b.currentTarget);c=e.val(),d=e.closest(".menu-item").find(".menu-item-title"),c?d.text(c).removeClass("no-title"):d.text(navMenuL10n.untitled).addClass("no-title")})},initToggles:function(){postboxes.add_postbox_toggles("nav-menus"),columns.useCheckboxesForHidden(),columns.checked=function(b){a(".field-"+b).removeClass("hidden-field")},columns.unchecked=function(b){a(".field-"+b).addClass("hidden-field")},b.menuList.hideAdvancedMenuItemFields(),a(".hide-postbox-tog").click(function(){var b=a(".accordion-container li.accordion-section").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(ajaxurl,{action:"closed-postboxes",hidden:b,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:"nav-menus"})})},initSortables:function(){function c(a){var c;j=a.placeholder.prev(),k=a.placeholder.next(),j[0]==a.item[0]&&(j=j.prev()),k[0]==a.item[0]&&(k=k.next()),l=j.length?j.offset().top+j.height():0,m=k.length?k.offset().top+k.height()/3:0,h=k.length?k.menuItemDepth():0,i=j.length?(c=j.menuItemDepth()+1)>b.options.globalMaxDepth?b.options.globalMaxDepth:c:0}function d(a,b){a.placeholder.updateDepthClass(b,q),q=b}function e(){if(!s[0].className)return 0;var a=s[0].className.match(/menu-max-depth-(\d+)/);return a&&a[1]?parseInt(a[1],10):0}function f(c){var d,e=t;if(0!==c){if(c>0)d=p+c,d>t&&(e=d);else if(0>c&&p==t)for(;!a(".menu-item-depth-"+e,b.menuList).length&&e>0;)e--;s.removeClass("menu-max-depth-"+t).addClass("menu-max-depth-"+e),t=e}}var g,h,i,j,k,l,m,n,o,p,q=0,r=b.menuList.offset().left,s=a("body"),t=e();0!==a("#menu-to-edit li").length&&a(".drag-instructions").show(),r+=b.isRTL?b.menuList.width():0,b.menuList.sortable({handle:".menu-item-handle",placeholder:"sortable-placeholder",start:function(e,f){var h,i,j,k,l;b.isRTL&&(f.item[0].style.right="auto"),o=f.item.children(".menu-item-transport"),g=f.item.menuItemDepth(),d(f,g),j=f.item.next()[0]==f.placeholder[0]?f.item.next():f.item,k=j.childMenuItems(),o.append(k),h=o.outerHeight(),h+=h>0?1*f.placeholder.css("margin-top").slice(0,-2):0,h+=f.helper.outerHeight(),n=h,h-=2,f.placeholder.height(h),p=g,k.each(function(){var b=a(this).menuItemDepth();p=b>p?b:p}),i=f.helper.find(".menu-item-handle").outerWidth(),i+=b.depthToPx(p-g),i-=2,f.placeholder.width(i),l=f.placeholder.next(),l.css("margin-top",n+"px"),f.placeholder.detach(),a(this).sortable("refresh"),f.item.after(f.placeholder),l.css("margin-top",0),c(f)},stop:function(a,c){var d,e,h=q-g;d=o.children().insertAfter(c.item),e=c.item.find(".item-title .is-submenu"),q>0?e.show():e.hide(),0!==h&&(c.item.updateDepthClass(q),d.shiftDepthClass(h),f(h)),b.registerChange(),c.item.updateParentMenuItemDBId(),c.item[0].style.top=0,b.isRTL&&(c.item[0].style.left="auto",c.item[0].style.right=0),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},change:function(a,d){d.placeholder.parent().hasClass("menu")||(j.length?j.after(d.placeholder):b.menuList.prepend(d.placeholder)),c(d)},sort:function(e,f){var g=f.helper.offset(),j=b.isRTL?g.left+f.helper.width():g.left,o=b.negateIfRTL*b.pxToDepth(j-r);o>i||g.top<l?o=i:h>o&&(o=h),o!=q&&d(f,o),m&&g.top+n>m&&(k.after(f.placeholder),c(f),a(this).sortable("refreshPositions"))}})},initManageLocations:function(){a("#menu-locations-wrap form").submit(function(){window.onbeforeunload=null}),a(".menu-location-menus select").on("change",function(){var b=a(this).closest("tr").find(".locations-edit-menu-link");a(this).find("option:selected").data("orig")?b.show():b.hide()})},attachMenuEditListeners:function(){var b=this;a("#update-nav-menu").bind("click",function(a){if(a.target&&a.target.className){if(-1!=a.target.className.indexOf("item-edit"))return b.eventOnClickEditLink(a.target);if(-1!=a.target.className.indexOf("menu-save"))return b.eventOnClickMenuSave(a.target);if(-1!=a.target.className.indexOf("menu-delete"))return b.eventOnClickMenuDelete(a.target);if(-1!=a.target.className.indexOf("item-delete"))return b.eventOnClickMenuItemDelete(a.target);if(-1!=a.target.className.indexOf("item-cancel"))return b.eventOnClickCancelLink(a.target)}}),a('#add-custom-links input[type="text"]').keypress(function(b){13===b.keyCode&&(b.preventDefault(),a("#submit-customlinkdiv").click())})},setupInputWithDefaultTitle:function(){var b="input-with-default-title";a("."+b).each(function(){var c=a(this),d=c.attr("title"),e=c.val();if(c.data(b,d),""===e)c.val(d);else{if(d==e)return;c.removeClass(b)}}).focus(function(){var c=a(this);c.val()==c.data(b)&&c.val("").removeClass(b)}).blur(function(){var c=a(this);""===c.val()&&c.addClass(b).val(c.data(b))}),a(".blank-slate .input-with-default-title").focus()},attachThemeLocationsListeners:function(){var b=a("#nav-menu-theme-locations"),c={};c.action="menu-locations-save",c["menu-settings-column-nonce"]=a("#menu-settings-column-nonce").val(),b.find('input[type="submit"]').click(function(){return b.find("select").each(function(){c[this.name]=a(this).val()}),b.find(".spinner").show(),a.post(ajaxurl,c,function(){b.find(".spinner").hide()}),!1})},attachQuickSearchListeners:function(){var c;a(".quick-search").keypress(function(d){var e=a(this);return 13==d.which?(b.updateQuickSearchResults(e),!1):(c&&clearTimeout(c),void(c=setTimeout(function(){b.updateQuickSearchResults(e)},400)))}).attr("autocomplete","off")},updateQuickSearchResults:function(c){var d,e,f=2,g=c.val();g.length<f||(d=c.parents(".tabs-panel"),e={action:"menu-quick-search","response-format":"markup",menu:a("#menu").val(),"menu-settings-column-nonce":a("#menu-settings-column-nonce").val(),q:g,type:c.attr("name")},a(".spinner",d).show(),a.post(ajaxurl,e,function(a){b.processQuickSearchQueryResponse(a,e,d)}))},addCustomLink:function(c){var d=a("#custom-menu-item-url").val(),e=a("#custom-menu-item-name").val();return c=c||b.addMenuItemToBottom,""===d||"http://"==d?!1:(a(".customlinkdiv .spinner").show(),void this.addLinkToMenu(d,e,c,function(){a(".customlinkdiv .spinner").hide(),a("#custom-menu-item-name").val("").blur(),a("#custom-menu-item-url").val("http://")}))},addLinkToMenu:function(a,c,d,e){d=d||b.addMenuItemToBottom,e=e||function(){},b.addItemToMenu({"-1":{"menu-item-type":"custom","menu-item-url":a,"menu-item-title":c}},d,e)},addItemToMenu:function(b,c,d){var e,f=a("#menu").val(),g=a("#menu-settings-column-nonce").val();c=c||function(){},d=d||function(){},e={action:"add-menu-item",menu:f,"menu-settings-column-nonce":g,"menu-item":b},a.post(ajaxurl,e,function(b){var f=a("#menu-instructions");b=a.trim(b),c(b,e),a("li.pending").hide().fadeIn("slow"),a(".drag-instructions").show(),!f.hasClass("menu-instructions-inactive")&&f.siblings().length&&f.addClass("menu-instructions-inactive"),d()})},addMenuItemToBottom:function(c){a(c).hideAdvancedMenuItemFields().appendTo(b.targetList),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},addMenuItemToTop:function(c){a(c).hideAdvancedMenuItemFields().prependTo(b.targetList),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},attachUnsavedChangesListener:function(){a("#menu-management input, #menu-management select, #menu-management, #menu-management textarea, .menu-location-menus select").change(function(){b.registerChange()}),0!==a("#menu-to-edit").length||0!==a(".menu-location-menus select").length?window.onbeforeunload=function(){return b.menusChanged?navMenuL10n.saveAlert:void 0}:a("#menu-settings-column").find("input,select").end().find("a").attr("href","#").unbind("click")},registerChange:function(){b.menusChanged=!0},attachTabsPanelListeners:function(){a("#menu-settings-column").bind("click",function(c){var d,e,f,g,h=a(c.target);if(h.hasClass("nav-tab-link"))e=h.data("type"),f=h.parents(".accordion-section-content").first(),a("input",f).removeAttr("checked"),a(".tabs-panel-active",f).removeClass("tabs-panel-active").addClass("tabs-panel-inactive"),a("#"+e,f).removeClass("tabs-panel-inactive").addClass("tabs-panel-active"),a(".tabs",f).removeClass("tabs"),h.parent().addClass("tabs"),a(".quick-search",f).focus(),c.preventDefault();else if(h.hasClass("select-all")){if(d=/#(.*)$/.exec(c.target.href),d&&d[1])return g=a("#"+d[1]+" .tabs-panel-active .menu-item-title input"),g.length===g.filter(":checked").length?g.removeAttr("checked"):g.prop("checked",!0),!1}else{if(h.hasClass("submit-add-to-menu"))return b.registerChange(),c.target.id&&"submit-customlinkdiv"==c.target.id?b.addCustomLink(b.addMenuItemToBottom):c.target.id&&-1!=c.target.id.indexOf("submit-")&&a("#"+c.target.id.replace(/submit-/,"")).addSelectedToMenu(b.addMenuItemToBottom),!1;if(h.hasClass("page-numbers"))return a.post(ajaxurl,c.target.href.replace(/.*\?/,"").replace(/action=([^&]*)/,"")+"&action=menu-get-metabox",function(b){if(-1!=b.indexOf("replace-id")){var c=a.parseJSON(b),d=document.getElementById(c["replace-id"]),e=document.createElement("div"),f=document.createElement("div");c.markup&&d&&(f.innerHTML=c.markup?c.markup:"",d.parentNode.insertBefore(e,d),e.parentNode.removeChild(d),e.parentNode.insertBefore(f,e),e.parentNode.removeChild(e))}}),!1}})},eventOnClickEditLink:function(b){var c,d,e=/#(.*)$/.exec(b.href);return e&&e[1]&&(c=a("#"+e[1]),d=c.parent(),0!==d.length)?(d.hasClass("menu-item-edit-inactive")?(c.data("menu-item-data")||c.data("menu-item-data",c.getItemData()),c.slideDown("fast"),d.removeClass("menu-item-edit-inactive").addClass("menu-item-edit-active")):(c.slideUp("fast"),d.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive")),!1):void 0},eventOnClickCancelLink:function(b){var c=a(b).closest(".menu-item-settings"),d=a(b).closest(".menu-item");return d.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive"),c.setItemData(c.data("menu-item-data")).hide(),!1},eventOnClickMenuSave:function(){var c="",d=a("#menu-name"),e=d.val();return e&&e!=d.attr("title")&&e.replace(/\s+/,"")?(a("#nav-menu-theme-locations select").each(function(){c+='<input type="hidden" name="'+this.name+'" value="'+a(this).val()+'" />'}),a("#update-nav-menu").append(c),b.menuList.find(".menu-item-data-position").val(function(a){return a+1}),window.onbeforeunload=null,!0):(d.parent().addClass("form-invalid"),!1)},eventOnClickMenuDelete:function(){return window.confirm(navMenuL10n.warnDeleteMenu)?(window.onbeforeunload=null,!0):!1},eventOnClickMenuItemDelete:function(c){var d=parseInt(c.id.replace("delete-",""),10);return b.removeMenuItem(a("#menu-item-"+d)),b.registerChange(),!1},processQuickSearchQueryResponse:function(b,c,d){var e,f,g,h={},i=document.getElementById("nav-menu-meta"),j=/menu-item[(\[^]\]*/,k=a("<div>").html(b).find("li");return k.length?(k.each(function(){if(g=a(this),e=j.exec(g.html()),e&&e[1]){for(f=e[1];i.elements["menu-item["+f+"][menu-item-type]"]||h[f];)f--;h[f]=!0,f!=e[1]&&g.html(g.html().replace(new RegExp("menu-item\\["+e[1]+"\\]","g"),"menu-item["+f+"]"))}}),a(".categorychecklist",d).html(k),void a(".spinner",d).hide()):(a(".categorychecklist",d).html("<li><p>"+navMenuL10n.noResultsFound+"</p></li>"),void a(".spinner",d).hide())},removeMenuItem:function(b){var c=b.childMenuItems();b.addClass("deleting").animate({opacity:0,height:0},350,function(){var d=a("#menu-instructions");b.remove(),c.shiftDepthClass(-1).updateParentMenuItemDBId(),0===a("#menu-to-edit li").length&&(a(".drag-instructions").hide(),d.removeClass("menu-instructions-inactive"))})},depthToPx:function(a){return a*b.options.menuItemDepthPerLevel},pxToDepth:function(a){return Math.floor(a/b.options.menuItemDepthPerLevel)}},a(document).ready(function(){wpNavMenu.init()})}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/plugin-install.js b/wp-admin/js/plugin-install.js
index 9f686fc6b..7403769e8 100644
--- a/wp-admin/js/plugin-install.js
+++ b/wp-admin/js/plugin-install.js
@@ -6,8 +6,8 @@ jQuery( document ).ready( function( $ ) {
 	tb_position = function() {
 		var tbWindow = $( '#TB_window' ),
 			width = $( window ).width(),
-			H = $( window ).height() - ( ( 850 < width ) ? 60 : 20 ),
-			W = ( 850 < width ) ? 830 : width - 20;
+			H = $( window ).height() - ( ( 792 < width ) ? 60 : 20 ),
+			W = ( 792 < width ) ? 772 : width - 20;
 
 		if ( tbWindow.size() ) {
 			tbWindow.width( W ).height( H );
@@ -17,7 +17,7 @@ jQuery( document ).ready( function( $ ) {
 			});
 			if ( typeof document.body.style.maxWidth !== 'undefined' ) {
 				tbWindow.css({
-					'top': ( ( 850 < width ) ? 30 : 10 ) + 'px',
+					'top': '30px',
 					'margin-top': '0'
 				});
 			}
@@ -38,23 +38,35 @@ jQuery( document ).ready( function( $ ) {
 		tb_position();
 	});
 
-	$('.plugins').on( 'click', 'a.thickbox', function() {
+	$( '.plugin-card, .plugins .column-description' ).on( 'click', 'a.thickbox', function() {
 		tb_click.call(this);
 
 		$('#TB_title').css({'background-color':'#222','color':'#cfcfcf'});
-		$('#TB_ajaxWindowTitle').html('<strong>' + plugininstallL10n.plugin_information + '</strong>&nbsp;' + $(this).attr('title') );
+		$('#TB_ajaxWindowTitle').html( '<strong>' + plugininstallL10n.plugin_information + '</strong>&nbsp;' + $(this).data( 'title' ) );
+		$('#TB_iframeContent').attr( 'title', plugininstallL10n.plugin_information + ' ' + $(this).data( 'title' ) );
+		$('#TB_closeWindowButton').focus();
+
 		return false;
 	});
 
-	/* Plugin install related JS*/
+	/* Plugin install related JS */
 	$( '#plugin-information-tabs a' ).click( function( event ) {
 		var tab = $( this ).attr( 'name' );
 		event.preventDefault();
-		//Flip the tab
+
+		// Flip the tab
 		$( '#plugin-information-tabs a.current' ).removeClass( 'current' );
 		$( this ).addClass( 'current' );
-		//Flip the content.
-		$( '#section-holder div.section' ).hide(); //Hide 'em all
+
+		// Only show the fyi box in the description section, on smaller screen, where it's otherwise always displayed at the top.
+		if ( 'description' !== tab && $( window ).width() < 772 ) {
+			$( '#plugin-information-content' ).find( '.fyi' ).hide();
+		} else {
+			$( '#plugin-information-content' ).find( '.fyi' ).show();
+		}
+
+		// Flip the content.
+		$( '#section-holder div.section' ).hide(); // Hide 'em all.
 		$( '#section-' + tab ).show();
 	});
 
diff --git a/wp-admin/js/plugin-install.min.js b/wp-admin/js/plugin-install.min.js
index dee8002a5..f9401ddcb 100644
--- a/wp-admin/js/plugin-install.min.js
+++ b/wp-admin/js/plugin-install.min.js
@@ -1 +1 @@
-var tb_position;jQuery(document).ready(function(a){tb_position=function(){var b=a("#TB_window"),c=a(window).width(),d=a(window).height()-(c>850?60:20),e=c>850?830:c-20;return b.size()&&(b.width(e).height(d),a("#TB_iframeContent").width(e).height(d),b.css({"margin-left":"-"+parseInt(e/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:(c>850?30:10)+"px","margin-top":"0"})),a("a.thickbox").each(function(){var b=a(this).attr("href");b&&(b=b.replace(/&width=[0-9]+/g,""),b=b.replace(/&height=[0-9]+/g,""),a(this).attr("href",b+"&width="+e+"&height="+d))})},a(window).resize(function(){tb_position()}),a(".plugins").on("click","a.thickbox",function(){return tb_click.call(this),a("#TB_title").css({"background-color":"#222",color:"#cfcfcf"}),a("#TB_ajaxWindowTitle").html("<strong>"+plugininstallL10n.plugin_information+"</strong>&nbsp;"+a(this).attr("title")),!1}),a("#plugin-information-tabs a").click(function(b){var c=a(this).attr("name");b.preventDefault(),a("#plugin-information-tabs a.current").removeClass("current"),a(this).addClass("current"),a("#section-holder div.section").hide(),a("#section-"+c).show()}),a("a.install-now").click(function(){return confirm(plugininstallL10n.ays)})});
\ No newline at end of file
+var tb_position;jQuery(document).ready(function(a){tb_position=function(){var b=a("#TB_window"),c=a(window).width(),d=a(window).height()-(c>792?60:20),e=c>792?772:c-20;return b.size()&&(b.width(e).height(d),a("#TB_iframeContent").width(e).height(d),b.css({"margin-left":"-"+parseInt(e/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:"30px","margin-top":"0"})),a("a.thickbox").each(function(){var b=a(this).attr("href");b&&(b=b.replace(/&width=[0-9]+/g,""),b=b.replace(/&height=[0-9]+/g,""),a(this).attr("href",b+"&width="+e+"&height="+d))})},a(window).resize(function(){tb_position()}),a(".plugin-card, .plugins .column-description").on("click","a.thickbox",function(){return tb_click.call(this),a("#TB_title").css({"background-color":"#222",color:"#cfcfcf"}),a("#TB_ajaxWindowTitle").html("<strong>"+plugininstallL10n.plugin_information+"</strong>&nbsp;"+a(this).data("title")),a("#TB_iframeContent").attr("title",plugininstallL10n.plugin_information+" "+a(this).data("title")),a("#TB_closeWindowButton").focus(),!1}),a("#plugin-information-tabs a").click(function(b){var c=a(this).attr("name");b.preventDefault(),a("#plugin-information-tabs a.current").removeClass("current"),a(this).addClass("current"),"description"!==c&&a(window).width()<772?a("#plugin-information-content").find(".fyi").hide():a("#plugin-information-content").find(".fyi").show(),a("#section-holder div.section").hide(),a("#section-"+c).show()}),a("a.install-now").click(function(){return confirm(plugininstallL10n.ays)})});
\ No newline at end of file
diff --git a/wp-admin/js/post.js b/wp-admin/js/post.js
index 21f28e7d5..45413f8e9 100644
--- a/wp-admin/js/post.js
+++ b/wp-admin/js/post.js
@@ -892,7 +892,8 @@ jQuery(document).ready( function($) {
 		b.children('.save').click(function() {
 			var new_slug = e.children('input').val();
 			if ( new_slug == $('#editable-post-name-full').text() ) {
-				return $('#edit-slug-buttons .cancel').click();
+				b.children('.cancel').click();
+				return false;
 			}
 			$.post(ajaxurl, {
 				action: 'sample-permalink',
@@ -915,7 +916,7 @@ jQuery(document).ready( function($) {
 			return false;
 		});
 
-		$('#edit-slug-buttons .cancel').click(function() {
+		b.children('.cancel').click(function() {
 			$('#view-post-btn').show();
 			e.html(revert_e);
 			b.html(revert_b);
@@ -1003,14 +1004,21 @@ jQuery(document).ready( function($) {
 	( function() {
 		var editor, offset, mce,
 			$textarea = $('textarea#content'),
-			$handle = $('#post-status-info');
+			$handle = $('#post-status-info'),
+			$postdivrich = $('#postdivrich');
 
 		// No point for touch devices
 		if ( ! $textarea.length || 'ontouchstart' in window ) {
+			// Hide the resize handle
+			$('#content-resize-handle').hide();
 			return;
 		}
 
 		function dragging( event ) {
+			if ( $postdivrich.hasClass( 'wp-editor-expand' ) ) {
+				return;
+			}
+
 			if ( mce ) {
 				editor.theme.resizeTo( null, offset + event.pageY );
 			} else {
@@ -1023,6 +1031,10 @@ jQuery(document).ready( function($) {
 		function endDrag() {
 			var height, toolbarHeight;
 
+			if ( $postdivrich.hasClass( 'wp-editor-expand' ) ) {
+				return;
+			}
+
 			if ( mce ) {
 				editor.focus();
 				toolbarHeight = parseInt( $( '#wp-content-editor-container .mce-toolbar-grp' ).height(), 10 );
@@ -1045,8 +1057,6 @@ jQuery(document).ready( function($) {
 			}
 		}
 
-		$textarea.css( 'resize', 'none' );
-
 		$handle.on( 'mousedown.wp-editor-resize', function( event ) {
 			if ( typeof tinymce !== 'undefined' ) {
 				editor = tinymce.get('content');
@@ -1073,14 +1083,11 @@ jQuery(document).ready( function($) {
 		$( '#post-formats-select input.post-format' ).on( 'change.set-editor-class', function() {
 			var editor, body, format = this.id;
 
-			if ( format && $( this ).prop('checked') ) {
-				editor = tinymce.get( 'content' );
-
-				if ( editor ) {
-					body = editor.getBody();
-					body.className = body.className.replace( /\bpost-format-[^ ]+/, '' );
-					editor.dom.addClass( body, format == 'post-format-0' ? 'post-format-standard' : format );
-				}
+			if ( format && $( this ).prop( 'checked' ) && ( editor = tinymce.get( 'content' ) ) ) {
+				body = editor.getBody();
+				body.className = body.className.replace( /\bpost-format-[^ ]+/, '' );
+				editor.dom.addClass( body, format == 'post-format-0' ? 'post-format-standard' : format );
+				$( document ).trigger( 'editor-classchange' );
 			}
 		});
 	}
diff --git a/wp-admin/js/post.min.js b/wp-admin/js/post.min.js
index da6463ed1..f75a3d4aa 100644
--- a/wp-admin/js/post.min.js
+++ b/wp-admin/js/post.min.js
@@ -1 +1 @@
-function array_unique_noempty(a){var b=[];return jQuery.each(a,function(a,c){c=jQuery.trim(c),c&&-1==jQuery.inArray(c,b)&&b.push(c)}),b}var tagBox,commentsBox,WPSetThumbnailHTML,WPSetThumbnailID,WPRemoveThumbnail,wptitlehint,makeSlugeditClickable,editPermalink;makeSlugeditClickable=editPermalink=function(){},window.wp=window.wp||{},function(a){var b=!1;tagBox={clean:function(a){var b=postL10n.comma;return","!==b&&(a=a.replace(new RegExp(b,"g"),",")),a=a.replace(/\s*,\s*/g,",").replace(/,+/g,",").replace(/[,\s]+$/,"").replace(/^[,\s]+/,""),","!==b&&(a=a.replace(/,/g,b)),a},parseTags:function(b){var c=b.id,d=c.split("-check-num-")[1],e=a(b).closest(".tagsdiv"),f=e.find(".the-tags"),g=postL10n.comma,h=f.val().split(g),i=[];return delete h[d],a.each(h,function(b,c){c=a.trim(c),c&&i.push(c)}),f.val(this.clean(i.join(g))),this.quickClicks(e),!1},quickClicks:function(b){var c,d,e=a(".the-tags",b),f=a(".tagchecklist",b),g=a(b).attr("id");e.length&&(d=e.prop("disabled"),c=e.val().split(postL10n.comma),f.empty(),a.each(c,function(b,c){var e,h;c=a.trim(c),c&&(e=a("<span />").text(c),d||(h=a('<a id="'+g+"-check-num-"+b+'" class="ntdelbutton">X</a>'),h.click(function(){tagBox.parseTags(this)}),e.prepend("&nbsp;").prepend(h)),f.append(e))}))},flushTags:function(b,c,d){var e,f,g,h=a(".the-tags",b),i=a("input.newtag",b),j=postL10n.comma;return c=c||!1,g=c?a(c).text():i.val(),e=h.val(),f=e?e+j+g:g,f=this.clean(f),f=array_unique_noempty(f.split(j)).join(j),h.val(f),this.quickClicks(b),c||i.val(""),"undefined"==typeof d&&i.focus(),!1},get:function(b){var c=b.substr(b.indexOf("-")+1);a.post(ajaxurl,{action:"get-tagcloud",tax:c},function(d,e){(0===d||"success"!=e)&&(d=wpAjax.broken),d=a('<p id="tagcloud-'+c+'" class="the-tagcloud">'+d+"</p>"),a("a",d).click(function(){return tagBox.flushTags(a(this).closest(".inside").children(".tagsdiv"),this),!1}),a("#"+b).after(d)})},init:function(){var b=this,c=a("div.ajaxtag");a(".tagsdiv").each(function(){tagBox.quickClicks(this)}),a("input.tagadd",c).click(function(){b.flushTags(a(this).closest(".tagsdiv"))}),a("div.taghint",c).click(function(){a(this).css("visibility","hidden").parent().siblings(".newtag").focus()}),a("input.newtag",c).blur(function(){""===this.value&&a(this).parent().siblings(".taghint").css("visibility","")}).focus(function(){a(this).parent().siblings(".taghint").css("visibility","hidden")}).keyup(function(b){return 13==b.which?(tagBox.flushTags(a(this).closest(".tagsdiv")),!1):void 0}).keypress(function(a){return 13==a.which?(a.preventDefault(),!1):void 0}).each(function(){var b=a(this).closest("div.tagsdiv").attr("id");a(this).suggest(ajaxurl+"?action=ajax-tag-search&tax="+b,{delay:500,minchars:2,multiple:!0,multipleSep:postL10n.comma+" "})}),a("#post").submit(function(){a("div.tagsdiv").each(function(){tagBox.flushTags(this,!1,1)})}),a("a.tagcloud-link").click(function(){return tagBox.get(a(this).attr("id")),a(this).unbind().click(function(){return a(this).siblings(".the-tagcloud").toggle(),!1}),!1})}},commentsBox={st:0,get:function(b,c){var d,e=this.st;return c||(c=20),this.st+=c,this.total=b,a("#commentsdiv .spinner").show(),d={action:"get-comments",mode:"single",_ajax_nonce:a("#add_comment_nonce").val(),p:a("#post_ID").val(),start:e,number:c},a.post(ajaxurl,d,function(b){return b=wpAjax.parseAjaxResponse(b),a("#commentsdiv .widefat").show(),a("#commentsdiv .spinner").hide(),"object"==typeof b&&b.responses[0]?(a("#the-comment-list").append(b.responses[0].data),theList=theExtraList=null,a("a[className*=':']").unbind(),void(commentsBox.st>commentsBox.total?a("#show-comments").hide():a("#show-comments").show().children("a").html(postL10n.showcomm))):1==b?void a("#show-comments").html(postL10n.endcomm):void a("#the-comment-list").append('<tr><td colspan="2">'+wpAjax.broken+"</td></tr>")}),!1}},WPSetThumbnailHTML=function(b){a(".inside","#postimagediv").html(b)},WPSetThumbnailID=function(b){var c=a('input[value="_thumbnail_id"]',"#list-table");c.size()>0&&a("#meta\\["+c.attr("id").match(/[0-9]+/)+"\\]\\[value\\]").text(b)},WPRemoveThumbnail=function(b){a.post(ajaxurl,{action:"set-post-thumbnail",post_id:a("#post_ID").val(),thumbnail_id:-1,_ajax_nonce:b,cookie:encodeURIComponent(document.cookie)},function(a){"0"==a?alert(setPostThumbnailL10n.error):WPSetThumbnailHTML(a)})},a(document).on("heartbeat-send.refresh-lock",function(b,c){var d=a("#active_post_lock").val(),e=a("#post_ID").val(),f={};e&&a("#post-lock-dialog").length&&(f.post_id=e,d&&(f.lock=d),c["wp-refresh-post-lock"]=f)}).on("heartbeat-tick.refresh-lock",function(b,c){var d,e,f;c["wp-refresh-post-lock"]&&(d=c["wp-refresh-post-lock"],d.lock_error?(e=a("#post-lock-dialog"),e.length&&!e.is(":visible")&&(wp.autosave&&(a(document).one("heartbeat-tick",function(){wp.autosave.server.suspend(),e.removeClass("saving").addClass("saved"),a(window).off("beforeunload.edit-post")}),e.addClass("saving"),wp.autosave.server.triggerSave()),d.lock_error.avatar_src&&(f=a('<img class="avatar avatar-64 photo" width="64" height="64" />').attr("src",d.lock_error.avatar_src.replace(/&amp;/g,"&")),e.find("div.post-locked-avatar").empty().append(f)),e.show().find(".currently-editing").text(d.lock_error.text),e.find(".wp-tab-first").focus())):d.new_lock&&a("#active_post_lock").val(d.new_lock))}).on("before-autosave.update-post-slug",function(){b=document.activeElement&&"title"===document.activeElement.id}).on("after-autosave.update-post-slug",function(){a("#edit-slug-box > *").length||b||a.post(ajaxurl,{action:"sample-permalink",post_id:a("#post_ID").val(),new_title:a("#title").val(),samplepermalinknonce:a("#samplepermalinknonce").val()},function(b){"-1"!=b&&a("#edit-slug-box").html(b)})})}(jQuery),function(a){function b(){c=!1,window.clearTimeout(d),d=window.setTimeout(function(){c=!0},3e5)}var c,d;a(document).on("heartbeat-send.wp-refresh-nonces",function(b,d){var e,f;c&&(f=a("#post_ID").val())&&(e=a("#_wpnonce").val())&&(d["wp-refresh-post-nonces"]={post_id:f,post_nonce:e})}).on("heartbeat-tick.wp-refresh-nonces",function(c,d){var e=d["wp-refresh-post-nonces"];e&&(b(),e.replace&&a.each(e.replace,function(b,c){a("#"+b).val(c)}),e.heartbeatNonce&&(window.heartbeatSettings.nonce=e.heartbeatNonce))}).ready(function(){b()})}(jQuery),jQuery(document).ready(function(a){function b(){var b,c,d=0,e=a("#editable-post-name"),f=e.html(),g=a("#post_name"),h=g.val(),i=a("#edit-slug-buttons"),j=i.html(),k=a("#editable-post-name-full").html();for(a("#view-post-btn").hide(),i.html('<a href="#" class="save button button-small">'+postL10n.ok+'</a> <a class="cancel" href="#">'+postL10n.cancel+"</a>"),i.children(".save").click(function(){var b=e.children("input").val();return b==a("#editable-post-name-full").text()?a("#edit-slug-buttons .cancel").click():(a.post(ajaxurl,{action:"sample-permalink",post_id:m,new_slug:b,new_title:a("#title").val(),samplepermalinknonce:a("#samplepermalinknonce").val()},function(c){var d=a("#edit-slug-box");d.html(c),d.hasClass("hidden")&&d.fadeIn("fast",function(){d.removeClass("hidden")}),i.html(j),g.val(b),a("#view-post-btn").show()}),!1)}),a("#edit-slug-buttons .cancel").click(function(){return a("#view-post-btn").show(),e.html(f),i.html(j),g.val(h),!1}),b=0;b<k.length;++b)"%"==k.charAt(b)&&d++;c=d>k.length/4?"":k,e.html('<input type="text" id="new-post-slug" value="'+c+'" />').children("input").keypress(function(a){var b=a.keyCode||0;return 13==b?(i.children(".save").click(),!1):27==b?(i.children(".cancel").click(),!1):void 0}).keyup(function(){g.val(this.value)}).focus()}var c,d,e,f,g,h="",i=0,j=a("#content"),k=a(document),l=a("#edit-slug-box"),m=a("#post_ID").val()||0,n=a("#submitpost"),o=!0,p=a("#post-visibility-select"),q=a("#timestampdiv"),r=a("#post-status-select");postboxes.add_postbox_toggles(pagenow),window.name="",a("#post-lock-dialog .notification-dialog").on("keydown",function(b){if(9==b.which){var c=a(b.target);c.hasClass("wp-tab-first")&&b.shiftKey?(a(this).find(".wp-tab-last").focus(),b.preventDefault()):c.hasClass("wp-tab-last")&&!b.shiftKey&&(a(this).find(".wp-tab-first").focus(),b.preventDefault())}}).filter(":visible").find(".wp-tab-first").focus(),wp.heartbeat&&a("#post-lock-dialog").length&&wp.heartbeat.interval(15),e=n.find(":button, :submit, a.submitdelete, #post-preview").on("click.edit-post",function(b){var c=a(this);return c.hasClass("disabled")?void b.preventDefault():void(c.hasClass("submitdelete")||c.is("#post-preview")||a("form#post").off("submit.edit-post").on("submit.edit-post",function(b){b.isDefaultPrevented()||(wp.autosave&&wp.autosave.server.suspend(),o=!1,a(window).off("beforeunload.edit-post"),e.addClass("disabled"),"publish"===c.attr("id")?n.find("#major-publishing-actions .spinner").show():n.find("#minor-publishing .spinner").show())}))}),a("#post-preview").on("click.post-preview",function(b){var c=a(this),d=a("form#post"),e=a("input#wp-preview"),f=c.attr("target")||"wp-preview",g=navigator.userAgent.toLowerCase();b.preventDefault(),c.hasClass("disabled")||(wp.autosave&&wp.autosave.server.tempBlockSave(),e.val("dopreview"),d.attr("target",f).submit().attr("target",""),-1!==g.indexOf("safari")&&-1===g.indexOf("chrome")&&d.attr("action",function(a,b){return b+"?t="+(new Date).getTime()}),e.val(""))}),a("#title").on("keydown.editor-focus",function(b){var c,d;if(9===b.keyCode&&!b.ctrlKey&&!b.altKey&&!b.shiftKey){if(c="undefined"!=typeof tinymce&&tinymce.get("content"),d=a("#content"),c&&!c.isHidden())c.focus();else{if(!d.length)return;d.focus()}b.preventDefault()}}),a("#auto_draft").val()&&a("#title").blur(function(){var b;this.value&&!a("#edit-slug-box > *").length&&(a("form#post").one("submit",function(){b=!0}),window.setTimeout(function(){!b&&wp.autosave&&wp.autosave.server.triggerSave()},200))}),k.on("autosave-disable-buttons.edit-post",function(){e.addClass("disabled")}).on("autosave-enable-buttons.edit-post",function(){wp.heartbeat&&wp.heartbeat.hasConnectionError()||e.removeClass("disabled")}).on("before-autosave.edit-post",function(){a(".autosave-message").text(postL10n.savingText)}).on("after-autosave.edit-post",function(b,c){a(".autosave-message").text(c.message)}),a(window).on("beforeunload.edit-post",function(){var a="undefined"!=typeof tinymce&&tinymce.get("content");return a&&!a.isHidden()&&a.isDirty()||wp.autosave&&wp.autosave.server.postChanged()?postL10n.saveAlert:void 0}).on("unload.edit-post",function(b){o&&(b.target&&"#document"!=b.target.nodeName||a.ajax({type:"POST",url:ajaxurl,async:!1,data:{action:"wp-remove-post-lock",_wpnonce:a("#_wpnonce").val(),post_ID:a("#post_ID").val(),active_post_lock:a("#active_post_lock").val()}}))}),a("#tagsdiv-post_tag").length?tagBox.init():a("#side-sortables, #normal-sortables, #advanced-sortables").children("div.postbox").each(function(){return 0===this.id.indexOf("tagsdiv-")?(tagBox.init(),!1):void 0}),a(".categorydiv").each(function(){var b,c,d,e,f,g=a(this).attr("id");d=g.split("-"),d.shift(),e=d.join("-"),f=e+"_tab","category"==e&&(f="cats"),a("a","#"+e+"-tabs").click(function(){var b=a(this).attr("href");return a(this).parent().addClass("tabs").siblings("li").removeClass("tabs"),a("#"+e+"-tabs").siblings(".tabs-panel").hide(),a(b).show(),"#"+e+"-all"==b?deleteUserSetting(f):setUserSetting(f,"pop"),!1}),getUserSetting(f)&&a('a[href="#'+e+'-pop"]',"#"+e+"-tabs").click(),a("#new"+e).one("focus",function(){a(this).val("").removeClass("form-input-tip")}),a("#new"+e).keypress(function(b){13===b.keyCode&&(b.preventDefault(),a("#"+e+"-add-submit").click())}),a("#"+e+"-add-submit").click(function(){a("#new"+e).focus()}),b=function(b){return a("#new"+e).val()?(b.data+="&"+a(":checked","#"+e+"checklist").serialize(),a("#"+e+"-add-submit").prop("disabled",!0),b):!1},c=function(b,c){var d,f=a("#new"+e+"_parent");a("#"+e+"-add-submit").prop("disabled",!1),"undefined"!=c.parsed.responses[0]&&(d=c.parsed.responses[0].supplemental.newcat_parent)&&(f.before(d),f.remove())},a("#"+e+"checklist").wpList({alt:"",response:e+"-ajax-response",addBefore:b,addAfter:c}),a("#"+e+"-add-toggle").click(function(){return a("#"+e+"-adder").toggleClass("wp-hidden-children"),a('a[href="#'+e+'-all"]',"#"+e+"-tabs").click(),a("#new"+e).focus(),!1}),a("#"+e+"checklist, #"+e+"checklist-pop").on("click",'li.popular-category > label input[type="checkbox"]',function(){var b=a(this),c=b.is(":checked"),d=b.val();d&&b.parents("#taxonomy-"+e).length&&a("#in-"+e+"-"+d+", #in-popular-"+e+"-"+d).prop("checked",c)})}),a("#postcustom").length&&a("#the-list").wpList({addAfter:function(){a("table#list-table").show()},addBefore:function(b){return b.data+="&post_id="+a("#post_ID").val(),b}}),a("#submitdiv").length&&(c=a("#timestamp").html(),d=a("#post-visibility-display").html(),f=function(){"public"!=p.find("input:radio:checked").val()?(a("#sticky").prop("checked",!1),a("#sticky-span").hide()):a("#sticky-span").show(),"password"!=p.find("input:radio:checked").val()?a("#password-span").hide():a("#password-span").show()},g=function(){if(!q.length)return!0;var b,d,e,f,g=a("#post_status"),h=a('option[value="publish"]',g),i=a("#aa").val(),j=a("#mm").val(),k=a("#jj").val(),l=a("#hh").val(),m=a("#mn").val();return b=new Date(i,j-1,k,l,m),d=new Date(a("#hidden_aa").val(),a("#hidden_mm").val()-1,a("#hidden_jj").val(),a("#hidden_hh").val(),a("#hidden_mn").val()),e=new Date(a("#cur_aa").val(),a("#cur_mm").val()-1,a("#cur_jj").val(),a("#cur_hh").val(),a("#cur_mn").val()),b.getFullYear()!=i||1+b.getMonth()!=j||b.getDate()!=k||b.getMinutes()!=m?(q.find(".timestamp-wrap").addClass("form-invalid"),!1):(q.find(".timestamp-wrap").removeClass("form-invalid"),b>e&&"future"!=a("#original_post_status").val()?(f=postL10n.publishOnFuture,a("#publish").val(postL10n.schedule)):e>=b&&"publish"!=a("#original_post_status").val()?(f=postL10n.publishOn,a("#publish").val(postL10n.publish)):(f=postL10n.publishOnPast,a("#publish").val(postL10n.update)),a("#timestamp").html(d.toUTCString()==b.toUTCString()?c:f+" <b>"+postL10n.dateFormat.replace("%1$s",a('option[value="'+a("#mm").val()+'"]',"#mm").text()).replace("%2$s",k).replace("%3$s",i).replace("%4$s",l).replace("%5$s",m)+"</b> "),"private"==p.find("input:radio:checked").val()?(a("#publish").val(postL10n.update),0===h.length?g.append('<option value="publish">'+postL10n.privatelyPublished+"</option>"):h.html(postL10n.privatelyPublished),a('option[value="publish"]',g).prop("selected",!0),a("#misc-publishing-actions .edit-post-status").hide()):("future"==a("#original_post_status").val()||"draft"==a("#original_post_status").val()?h.length&&(h.remove(),g.val(a("#hidden_post_status").val())):h.html(postL10n.published),g.is(":hidden")&&a("#misc-publishing-actions .edit-post-status").show()),a("#post-status-display").html(a("option:selected",g).text()),"private"==a("option:selected",g).val()||"publish"==a("option:selected",g).val()?a("#save-post").hide():(a("#save-post").show(),a("#save-post").show().val("pending"==a("option:selected",g).val()?postL10n.savePending:postL10n.saveDraft)),!0)},a("#visibility .edit-visibility").click(function(){return p.is(":hidden")&&(f(),p.slideDown("fast").find('input[type="radio"]').first().focus(),a(this).hide()),!1}),p.find(".cancel-post-visibility").click(function(b){p.slideUp("fast"),a("#visibility-radio-"+a("#hidden-post-visibility").val()).prop("checked",!0),a("#post_password").val(a("#hidden-post-password").val()),a("#sticky").prop("checked",a("#hidden-post-sticky").prop("checked")),a("#post-visibility-display").html(d),a("#visibility .edit-visibility").show().focus(),g(),b.preventDefault()}),p.find(".save-post-visibility").click(function(b){p.slideUp("fast"),a("#visibility .edit-visibility").show(),g(),"public"!=p.find("input:radio:checked").val()&&a("#sticky").prop("checked",!1),h=a("#sticky").prop("checked")?"Sticky":"",a("#post-visibility-display").html(postL10n[p.find("input:radio:checked").val()+h]),b.preventDefault()}),p.find("input:radio").change(function(){f()}),q.siblings("a.edit-timestamp").click(function(b){q.is(":hidden")&&(q.slideDown("fast"),a("#mm").focus(),a(this).hide()),b.preventDefault()}),q.find(".cancel-timestamp").click(function(b){q.slideUp("fast").siblings("a.edit-timestamp").show().focus(),a("#mm").val(a("#hidden_mm").val()),a("#jj").val(a("#hidden_jj").val()),a("#aa").val(a("#hidden_aa").val()),a("#hh").val(a("#hidden_hh").val()),a("#mn").val(a("#hidden_mn").val()),g(),b.preventDefault()}),q.find(".save-timestamp").click(function(a){g()&&(q.slideUp("fast"),q.siblings("a.edit-timestamp").show()),a.preventDefault()}),a("#post").on("submit",function(b){g()||(b.preventDefault(),q.show(),wp.autosave&&wp.autosave.enableButtons(),a("#publishing-action .spinner").hide())}),r.siblings("a.edit-post-status").click(function(b){r.is(":hidden")&&(r.slideDown("fast").find("select").focus(),a(this).hide()),b.preventDefault()}),r.find(".save-post-status").click(function(a){r.slideUp("fast").siblings("a.edit-post-status").show(),g(),a.preventDefault()}),r.find(".cancel-post-status").click(function(b){a("#post-status-select").slideUp("fast").siblings("a.edit-post-status").show().focus(),a("#post_status").val(a("#hidden_post_status").val()),g(),b.preventDefault()})),l.length&&l.on("click",function(c){var d=a(c.target);(d.is("#editable-post-name")||d.hasClass("edit-slug"))&&b()}),"undefined"!=typeof wpWordCount&&(k.triggerHandler("wpcountwords",[j.val()]),j.keyup(function(a){var b=a.keyCode||a.charCode;return b==i?!0:((13==b||8==i||46==i)&&k.triggerHandler("wpcountwords",[j.val()]),i=b,!0)})),wptitlehint=function(b){b=b||"title";var c=a("#"+b),d=a("#"+b+"-prompt-text");""===c.val()&&d.removeClass("screen-reader-text"),d.click(function(){a(this).addClass("screen-reader-text"),c.focus()}),c.blur(function(){""===this.value&&d.removeClass("screen-reader-text")}).focus(function(){d.addClass("screen-reader-text")}).keydown(function(b){d.addClass("screen-reader-text"),a(this).unbind(b)})},wptitlehint(),function(){function b(a){f?d.theme.resizeTo(null,e+a.pageY):g.height(Math.max(50,e+a.pageY)),a.preventDefault()}function c(){var b,c;f?(d.focus(),c=parseInt(a("#wp-content-editor-container .mce-toolbar-grp").height(),10),(10>c||c>200)&&(c=30),b=parseInt(a("#content_ifr").css("height"),10)+c-28):(g.focus(),b=parseInt(g.css("height"),10)),k.off(".wp-editor-resize"),b&&b>50&&5e3>b&&setUserSetting("ed_size",b)}var d,e,f,g=a("textarea#content"),h=a("#post-status-info");!g.length||"ontouchstart"in window||(g.css("resize","none"),h.on("mousedown.wp-editor-resize",function(h){"undefined"!=typeof tinymce&&(d=tinymce.get("content")),d&&!d.isHidden()?(f=!0,e=a("#content_ifr").height()-h.pageY):(f=!1,e=g.height()-h.pageY,g.blur()),k.on("mousemove.wp-editor-resize",b).on("mouseup.wp-editor-resize mouseleave.wp-editor-resize",c),h.preventDefault()}).on("mouseup.wp-editor-resize",c))}(),"undefined"!=typeof tinymce&&a("#post-formats-select input.post-format").on("change.set-editor-class",function(){var b,c,d=this.id;d&&a(this).prop("checked")&&(b=tinymce.get("content"),b&&(c=b.getBody(),c.className=c.className.replace(/\bpost-format-[^ ]+/,""),b.dom.addClass(c,"post-format-0"==d?"post-format-standard":d)))})});
\ No newline at end of file
+function array_unique_noempty(a){var b=[];return jQuery.each(a,function(a,c){c=jQuery.trim(c),c&&-1==jQuery.inArray(c,b)&&b.push(c)}),b}var tagBox,commentsBox,WPSetThumbnailHTML,WPSetThumbnailID,WPRemoveThumbnail,wptitlehint,makeSlugeditClickable,editPermalink;makeSlugeditClickable=editPermalink=function(){},window.wp=window.wp||{},function(a){var b=!1;tagBox={clean:function(a){var b=postL10n.comma;return","!==b&&(a=a.replace(new RegExp(b,"g"),",")),a=a.replace(/\s*,\s*/g,",").replace(/,+/g,",").replace(/[,\s]+$/,"").replace(/^[,\s]+/,""),","!==b&&(a=a.replace(/,/g,b)),a},parseTags:function(b){var c=b.id,d=c.split("-check-num-")[1],e=a(b).closest(".tagsdiv"),f=e.find(".the-tags"),g=postL10n.comma,h=f.val().split(g),i=[];return delete h[d],a.each(h,function(b,c){c=a.trim(c),c&&i.push(c)}),f.val(this.clean(i.join(g))),this.quickClicks(e),!1},quickClicks:function(b){var c,d,e=a(".the-tags",b),f=a(".tagchecklist",b),g=a(b).attr("id");e.length&&(d=e.prop("disabled"),c=e.val().split(postL10n.comma),f.empty(),a.each(c,function(b,c){var e,h;c=a.trim(c),c&&(e=a("<span />").text(c),d||(h=a('<a id="'+g+"-check-num-"+b+'" class="ntdelbutton">X</a>'),h.click(function(){tagBox.parseTags(this)}),e.prepend("&nbsp;").prepend(h)),f.append(e))}))},flushTags:function(b,c,d){var e,f,g,h=a(".the-tags",b),i=a("input.newtag",b),j=postL10n.comma;return c=c||!1,g=c?a(c).text():i.val(),e=h.val(),f=e?e+j+g:g,f=this.clean(f),f=array_unique_noempty(f.split(j)).join(j),h.val(f),this.quickClicks(b),c||i.val(""),"undefined"==typeof d&&i.focus(),!1},get:function(b){var c=b.substr(b.indexOf("-")+1);a.post(ajaxurl,{action:"get-tagcloud",tax:c},function(d,e){(0===d||"success"!=e)&&(d=wpAjax.broken),d=a('<p id="tagcloud-'+c+'" class="the-tagcloud">'+d+"</p>"),a("a",d).click(function(){return tagBox.flushTags(a(this).closest(".inside").children(".tagsdiv"),this),!1}),a("#"+b).after(d)})},init:function(){var b=this,c=a("div.ajaxtag");a(".tagsdiv").each(function(){tagBox.quickClicks(this)}),a("input.tagadd",c).click(function(){b.flushTags(a(this).closest(".tagsdiv"))}),a("div.taghint",c).click(function(){a(this).css("visibility","hidden").parent().siblings(".newtag").focus()}),a("input.newtag",c).blur(function(){""===this.value&&a(this).parent().siblings(".taghint").css("visibility","")}).focus(function(){a(this).parent().siblings(".taghint").css("visibility","hidden")}).keyup(function(b){return 13==b.which?(tagBox.flushTags(a(this).closest(".tagsdiv")),!1):void 0}).keypress(function(a){return 13==a.which?(a.preventDefault(),!1):void 0}).each(function(){var b=a(this).closest("div.tagsdiv").attr("id");a(this).suggest(ajaxurl+"?action=ajax-tag-search&tax="+b,{delay:500,minchars:2,multiple:!0,multipleSep:postL10n.comma+" "})}),a("#post").submit(function(){a("div.tagsdiv").each(function(){tagBox.flushTags(this,!1,1)})}),a("a.tagcloud-link").click(function(){return tagBox.get(a(this).attr("id")),a(this).unbind().click(function(){return a(this).siblings(".the-tagcloud").toggle(),!1}),!1})}},commentsBox={st:0,get:function(b,c){var d,e=this.st;return c||(c=20),this.st+=c,this.total=b,a("#commentsdiv .spinner").show(),d={action:"get-comments",mode:"single",_ajax_nonce:a("#add_comment_nonce").val(),p:a("#post_ID").val(),start:e,number:c},a.post(ajaxurl,d,function(b){return b=wpAjax.parseAjaxResponse(b),a("#commentsdiv .widefat").show(),a("#commentsdiv .spinner").hide(),"object"==typeof b&&b.responses[0]?(a("#the-comment-list").append(b.responses[0].data),theList=theExtraList=null,a("a[className*=':']").unbind(),void(commentsBox.st>commentsBox.total?a("#show-comments").hide():a("#show-comments").show().children("a").html(postL10n.showcomm))):1==b?void a("#show-comments").html(postL10n.endcomm):void a("#the-comment-list").append('<tr><td colspan="2">'+wpAjax.broken+"</td></tr>")}),!1}},WPSetThumbnailHTML=function(b){a(".inside","#postimagediv").html(b)},WPSetThumbnailID=function(b){var c=a('input[value="_thumbnail_id"]',"#list-table");c.size()>0&&a("#meta\\["+c.attr("id").match(/[0-9]+/)+"\\]\\[value\\]").text(b)},WPRemoveThumbnail=function(b){a.post(ajaxurl,{action:"set-post-thumbnail",post_id:a("#post_ID").val(),thumbnail_id:-1,_ajax_nonce:b,cookie:encodeURIComponent(document.cookie)},function(a){"0"==a?alert(setPostThumbnailL10n.error):WPSetThumbnailHTML(a)})},a(document).on("heartbeat-send.refresh-lock",function(b,c){var d=a("#active_post_lock").val(),e=a("#post_ID").val(),f={};e&&a("#post-lock-dialog").length&&(f.post_id=e,d&&(f.lock=d),c["wp-refresh-post-lock"]=f)}).on("heartbeat-tick.refresh-lock",function(b,c){var d,e,f;c["wp-refresh-post-lock"]&&(d=c["wp-refresh-post-lock"],d.lock_error?(e=a("#post-lock-dialog"),e.length&&!e.is(":visible")&&(wp.autosave&&(a(document).one("heartbeat-tick",function(){wp.autosave.server.suspend(),e.removeClass("saving").addClass("saved"),a(window).off("beforeunload.edit-post")}),e.addClass("saving"),wp.autosave.server.triggerSave()),d.lock_error.avatar_src&&(f=a('<img class="avatar avatar-64 photo" width="64" height="64" />').attr("src",d.lock_error.avatar_src.replace(/&amp;/g,"&")),e.find("div.post-locked-avatar").empty().append(f)),e.show().find(".currently-editing").text(d.lock_error.text),e.find(".wp-tab-first").focus())):d.new_lock&&a("#active_post_lock").val(d.new_lock))}).on("before-autosave.update-post-slug",function(){b=document.activeElement&&"title"===document.activeElement.id}).on("after-autosave.update-post-slug",function(){a("#edit-slug-box > *").length||b||a.post(ajaxurl,{action:"sample-permalink",post_id:a("#post_ID").val(),new_title:a("#title").val(),samplepermalinknonce:a("#samplepermalinknonce").val()},function(b){"-1"!=b&&a("#edit-slug-box").html(b)})})}(jQuery),function(a){function b(){c=!1,window.clearTimeout(d),d=window.setTimeout(function(){c=!0},3e5)}var c,d;a(document).on("heartbeat-send.wp-refresh-nonces",function(b,d){var e,f;c&&(f=a("#post_ID").val())&&(e=a("#_wpnonce").val())&&(d["wp-refresh-post-nonces"]={post_id:f,post_nonce:e})}).on("heartbeat-tick.wp-refresh-nonces",function(c,d){var e=d["wp-refresh-post-nonces"];e&&(b(),e.replace&&a.each(e.replace,function(b,c){a("#"+b).val(c)}),e.heartbeatNonce&&(window.heartbeatSettings.nonce=e.heartbeatNonce))}).ready(function(){b()})}(jQuery),jQuery(document).ready(function(a){function b(){var b,c,d=0,e=a("#editable-post-name"),f=e.html(),g=a("#post_name"),h=g.val(),i=a("#edit-slug-buttons"),j=i.html(),k=a("#editable-post-name-full").html();for(a("#view-post-btn").hide(),i.html('<a href="#" class="save button button-small">'+postL10n.ok+'</a> <a class="cancel" href="#">'+postL10n.cancel+"</a>"),i.children(".save").click(function(){var b=e.children("input").val();return b==a("#editable-post-name-full").text()?(i.children(".cancel").click(),!1):(a.post(ajaxurl,{action:"sample-permalink",post_id:m,new_slug:b,new_title:a("#title").val(),samplepermalinknonce:a("#samplepermalinknonce").val()},function(c){var d=a("#edit-slug-box");d.html(c),d.hasClass("hidden")&&d.fadeIn("fast",function(){d.removeClass("hidden")}),i.html(j),g.val(b),a("#view-post-btn").show()}),!1)}),i.children(".cancel").click(function(){return a("#view-post-btn").show(),e.html(f),i.html(j),g.val(h),!1}),b=0;b<k.length;++b)"%"==k.charAt(b)&&d++;c=d>k.length/4?"":k,e.html('<input type="text" id="new-post-slug" value="'+c+'" />').children("input").keypress(function(a){var b=a.keyCode||0;return 13==b?(i.children(".save").click(),!1):27==b?(i.children(".cancel").click(),!1):void 0}).keyup(function(){g.val(this.value)}).focus()}var c,d,e,f,g,h="",i=0,j=a("#content"),k=a(document),l=a("#edit-slug-box"),m=a("#post_ID").val()||0,n=a("#submitpost"),o=!0,p=a("#post-visibility-select"),q=a("#timestampdiv"),r=a("#post-status-select");postboxes.add_postbox_toggles(pagenow),window.name="",a("#post-lock-dialog .notification-dialog").on("keydown",function(b){if(9==b.which){var c=a(b.target);c.hasClass("wp-tab-first")&&b.shiftKey?(a(this).find(".wp-tab-last").focus(),b.preventDefault()):c.hasClass("wp-tab-last")&&!b.shiftKey&&(a(this).find(".wp-tab-first").focus(),b.preventDefault())}}).filter(":visible").find(".wp-tab-first").focus(),wp.heartbeat&&a("#post-lock-dialog").length&&wp.heartbeat.interval(15),e=n.find(":button, :submit, a.submitdelete, #post-preview").on("click.edit-post",function(b){var c=a(this);return c.hasClass("disabled")?void b.preventDefault():void(c.hasClass("submitdelete")||c.is("#post-preview")||a("form#post").off("submit.edit-post").on("submit.edit-post",function(b){b.isDefaultPrevented()||(wp.autosave&&wp.autosave.server.suspend(),o=!1,a(window).off("beforeunload.edit-post"),e.addClass("disabled"),"publish"===c.attr("id")?n.find("#major-publishing-actions .spinner").show():n.find("#minor-publishing .spinner").show())}))}),a("#post-preview").on("click.post-preview",function(b){var c=a(this),d=a("form#post"),e=a("input#wp-preview"),f=c.attr("target")||"wp-preview",g=navigator.userAgent.toLowerCase();b.preventDefault(),c.hasClass("disabled")||(wp.autosave&&wp.autosave.server.tempBlockSave(),e.val("dopreview"),d.attr("target",f).submit().attr("target",""),-1!==g.indexOf("safari")&&-1===g.indexOf("chrome")&&d.attr("action",function(a,b){return b+"?t="+(new Date).getTime()}),e.val(""))}),a("#title").on("keydown.editor-focus",function(b){var c,d;if(9===b.keyCode&&!b.ctrlKey&&!b.altKey&&!b.shiftKey){if(c="undefined"!=typeof tinymce&&tinymce.get("content"),d=a("#content"),c&&!c.isHidden())c.focus();else{if(!d.length)return;d.focus()}b.preventDefault()}}),a("#auto_draft").val()&&a("#title").blur(function(){var b;this.value&&!a("#edit-slug-box > *").length&&(a("form#post").one("submit",function(){b=!0}),window.setTimeout(function(){!b&&wp.autosave&&wp.autosave.server.triggerSave()},200))}),k.on("autosave-disable-buttons.edit-post",function(){e.addClass("disabled")}).on("autosave-enable-buttons.edit-post",function(){wp.heartbeat&&wp.heartbeat.hasConnectionError()||e.removeClass("disabled")}).on("before-autosave.edit-post",function(){a(".autosave-message").text(postL10n.savingText)}).on("after-autosave.edit-post",function(b,c){a(".autosave-message").text(c.message)}),a(window).on("beforeunload.edit-post",function(){var a="undefined"!=typeof tinymce&&tinymce.get("content");return a&&!a.isHidden()&&a.isDirty()||wp.autosave&&wp.autosave.server.postChanged()?postL10n.saveAlert:void 0}).on("unload.edit-post",function(b){o&&(b.target&&"#document"!=b.target.nodeName||a.ajax({type:"POST",url:ajaxurl,async:!1,data:{action:"wp-remove-post-lock",_wpnonce:a("#_wpnonce").val(),post_ID:a("#post_ID").val(),active_post_lock:a("#active_post_lock").val()}}))}),a("#tagsdiv-post_tag").length?tagBox.init():a("#side-sortables, #normal-sortables, #advanced-sortables").children("div.postbox").each(function(){return 0===this.id.indexOf("tagsdiv-")?(tagBox.init(),!1):void 0}),a(".categorydiv").each(function(){var b,c,d,e,f,g=a(this).attr("id");d=g.split("-"),d.shift(),e=d.join("-"),f=e+"_tab","category"==e&&(f="cats"),a("a","#"+e+"-tabs").click(function(){var b=a(this).attr("href");return a(this).parent().addClass("tabs").siblings("li").removeClass("tabs"),a("#"+e+"-tabs").siblings(".tabs-panel").hide(),a(b).show(),"#"+e+"-all"==b?deleteUserSetting(f):setUserSetting(f,"pop"),!1}),getUserSetting(f)&&a('a[href="#'+e+'-pop"]',"#"+e+"-tabs").click(),a("#new"+e).one("focus",function(){a(this).val("").removeClass("form-input-tip")}),a("#new"+e).keypress(function(b){13===b.keyCode&&(b.preventDefault(),a("#"+e+"-add-submit").click())}),a("#"+e+"-add-submit").click(function(){a("#new"+e).focus()}),b=function(b){return a("#new"+e).val()?(b.data+="&"+a(":checked","#"+e+"checklist").serialize(),a("#"+e+"-add-submit").prop("disabled",!0),b):!1},c=function(b,c){var d,f=a("#new"+e+"_parent");a("#"+e+"-add-submit").prop("disabled",!1),"undefined"!=c.parsed.responses[0]&&(d=c.parsed.responses[0].supplemental.newcat_parent)&&(f.before(d),f.remove())},a("#"+e+"checklist").wpList({alt:"",response:e+"-ajax-response",addBefore:b,addAfter:c}),a("#"+e+"-add-toggle").click(function(){return a("#"+e+"-adder").toggleClass("wp-hidden-children"),a('a[href="#'+e+'-all"]',"#"+e+"-tabs").click(),a("#new"+e).focus(),!1}),a("#"+e+"checklist, #"+e+"checklist-pop").on("click",'li.popular-category > label input[type="checkbox"]',function(){var b=a(this),c=b.is(":checked"),d=b.val();d&&b.parents("#taxonomy-"+e).length&&a("#in-"+e+"-"+d+", #in-popular-"+e+"-"+d).prop("checked",c)})}),a("#postcustom").length&&a("#the-list").wpList({addAfter:function(){a("table#list-table").show()},addBefore:function(b){return b.data+="&post_id="+a("#post_ID").val(),b}}),a("#submitdiv").length&&(c=a("#timestamp").html(),d=a("#post-visibility-display").html(),f=function(){"public"!=p.find("input:radio:checked").val()?(a("#sticky").prop("checked",!1),a("#sticky-span").hide()):a("#sticky-span").show(),"password"!=p.find("input:radio:checked").val()?a("#password-span").hide():a("#password-span").show()},g=function(){if(!q.length)return!0;var b,d,e,f,g=a("#post_status"),h=a('option[value="publish"]',g),i=a("#aa").val(),j=a("#mm").val(),k=a("#jj").val(),l=a("#hh").val(),m=a("#mn").val();return b=new Date(i,j-1,k,l,m),d=new Date(a("#hidden_aa").val(),a("#hidden_mm").val()-1,a("#hidden_jj").val(),a("#hidden_hh").val(),a("#hidden_mn").val()),e=new Date(a("#cur_aa").val(),a("#cur_mm").val()-1,a("#cur_jj").val(),a("#cur_hh").val(),a("#cur_mn").val()),b.getFullYear()!=i||1+b.getMonth()!=j||b.getDate()!=k||b.getMinutes()!=m?(q.find(".timestamp-wrap").addClass("form-invalid"),!1):(q.find(".timestamp-wrap").removeClass("form-invalid"),b>e&&"future"!=a("#original_post_status").val()?(f=postL10n.publishOnFuture,a("#publish").val(postL10n.schedule)):e>=b&&"publish"!=a("#original_post_status").val()?(f=postL10n.publishOn,a("#publish").val(postL10n.publish)):(f=postL10n.publishOnPast,a("#publish").val(postL10n.update)),a("#timestamp").html(d.toUTCString()==b.toUTCString()?c:f+" <b>"+postL10n.dateFormat.replace("%1$s",a('option[value="'+a("#mm").val()+'"]',"#mm").text()).replace("%2$s",k).replace("%3$s",i).replace("%4$s",l).replace("%5$s",m)+"</b> "),"private"==p.find("input:radio:checked").val()?(a("#publish").val(postL10n.update),0===h.length?g.append('<option value="publish">'+postL10n.privatelyPublished+"</option>"):h.html(postL10n.privatelyPublished),a('option[value="publish"]',g).prop("selected",!0),a("#misc-publishing-actions .edit-post-status").hide()):("future"==a("#original_post_status").val()||"draft"==a("#original_post_status").val()?h.length&&(h.remove(),g.val(a("#hidden_post_status").val())):h.html(postL10n.published),g.is(":hidden")&&a("#misc-publishing-actions .edit-post-status").show()),a("#post-status-display").html(a("option:selected",g).text()),"private"==a("option:selected",g).val()||"publish"==a("option:selected",g).val()?a("#save-post").hide():(a("#save-post").show(),a("#save-post").show().val("pending"==a("option:selected",g).val()?postL10n.savePending:postL10n.saveDraft)),!0)},a("#visibility .edit-visibility").click(function(){return p.is(":hidden")&&(f(),p.slideDown("fast").find('input[type="radio"]').first().focus(),a(this).hide()),!1}),p.find(".cancel-post-visibility").click(function(b){p.slideUp("fast"),a("#visibility-radio-"+a("#hidden-post-visibility").val()).prop("checked",!0),a("#post_password").val(a("#hidden-post-password").val()),a("#sticky").prop("checked",a("#hidden-post-sticky").prop("checked")),a("#post-visibility-display").html(d),a("#visibility .edit-visibility").show().focus(),g(),b.preventDefault()}),p.find(".save-post-visibility").click(function(b){p.slideUp("fast"),a("#visibility .edit-visibility").show(),g(),"public"!=p.find("input:radio:checked").val()&&a("#sticky").prop("checked",!1),h=a("#sticky").prop("checked")?"Sticky":"",a("#post-visibility-display").html(postL10n[p.find("input:radio:checked").val()+h]),b.preventDefault()}),p.find("input:radio").change(function(){f()}),q.siblings("a.edit-timestamp").click(function(b){q.is(":hidden")&&(q.slideDown("fast"),a("#mm").focus(),a(this).hide()),b.preventDefault()}),q.find(".cancel-timestamp").click(function(b){q.slideUp("fast").siblings("a.edit-timestamp").show().focus(),a("#mm").val(a("#hidden_mm").val()),a("#jj").val(a("#hidden_jj").val()),a("#aa").val(a("#hidden_aa").val()),a("#hh").val(a("#hidden_hh").val()),a("#mn").val(a("#hidden_mn").val()),g(),b.preventDefault()}),q.find(".save-timestamp").click(function(a){g()&&(q.slideUp("fast"),q.siblings("a.edit-timestamp").show()),a.preventDefault()}),a("#post").on("submit",function(b){g()||(b.preventDefault(),q.show(),wp.autosave&&wp.autosave.enableButtons(),a("#publishing-action .spinner").hide())}),r.siblings("a.edit-post-status").click(function(b){r.is(":hidden")&&(r.slideDown("fast").find("select").focus(),a(this).hide()),b.preventDefault()}),r.find(".save-post-status").click(function(a){r.slideUp("fast").siblings("a.edit-post-status").show(),g(),a.preventDefault()}),r.find(".cancel-post-status").click(function(b){a("#post-status-select").slideUp("fast").siblings("a.edit-post-status").show().focus(),a("#post_status").val(a("#hidden_post_status").val()),g(),b.preventDefault()})),l.length&&l.on("click",function(c){var d=a(c.target);(d.is("#editable-post-name")||d.hasClass("edit-slug"))&&b()}),"undefined"!=typeof wpWordCount&&(k.triggerHandler("wpcountwords",[j.val()]),j.keyup(function(a){var b=a.keyCode||a.charCode;return b==i?!0:((13==b||8==i||46==i)&&k.triggerHandler("wpcountwords",[j.val()]),i=b,!0)})),wptitlehint=function(b){b=b||"title";var c=a("#"+b),d=a("#"+b+"-prompt-text");""===c.val()&&d.removeClass("screen-reader-text"),d.click(function(){a(this).addClass("screen-reader-text"),c.focus()}),c.blur(function(){""===this.value&&d.removeClass("screen-reader-text")}).focus(function(){d.addClass("screen-reader-text")}).keydown(function(b){d.addClass("screen-reader-text"),a(this).unbind(b)})},wptitlehint(),function(){function b(a){i.hasClass("wp-editor-expand")||(f?d.theme.resizeTo(null,e+a.pageY):g.height(Math.max(50,e+a.pageY)),a.preventDefault())}function c(){var b,c;i.hasClass("wp-editor-expand")||(f?(d.focus(),c=parseInt(a("#wp-content-editor-container .mce-toolbar-grp").height(),10),(10>c||c>200)&&(c=30),b=parseInt(a("#content_ifr").css("height"),10)+c-28):(g.focus(),b=parseInt(g.css("height"),10)),k.off(".wp-editor-resize"),b&&b>50&&5e3>b&&setUserSetting("ed_size",b))}var d,e,f,g=a("textarea#content"),h=a("#post-status-info"),i=a("#postdivrich");return!g.length||"ontouchstart"in window?void a("#content-resize-handle").hide():void h.on("mousedown.wp-editor-resize",function(h){"undefined"!=typeof tinymce&&(d=tinymce.get("content")),d&&!d.isHidden()?(f=!0,e=a("#content_ifr").height()-h.pageY):(f=!1,e=g.height()-h.pageY,g.blur()),k.on("mousemove.wp-editor-resize",b).on("mouseup.wp-editor-resize mouseleave.wp-editor-resize",c),h.preventDefault()}).on("mouseup.wp-editor-resize",c)}(),"undefined"!=typeof tinymce&&a("#post-formats-select input.post-format").on("change.set-editor-class",function(){var b,c,d=this.id;d&&a(this).prop("checked")&&(b=tinymce.get("content"))&&(c=b.getBody(),c.className=c.className.replace(/\bpost-format-[^ ]+/,""),b.dom.addClass(c,"post-format-0"==d?"post-format-standard":d),a(document).trigger("editor-classchange"))})});
\ No newline at end of file
diff --git a/wp-admin/js/postbox.js b/wp-admin/js/postbox.js
index a314dcd14..07e5ed25b 100644
--- a/wp-admin/js/postbox.js
+++ b/wp-admin/js/postbox.js
@@ -3,13 +3,15 @@
 var postboxes;
 
 (function($) {
+	var $document = $( document );
+
 	postboxes = {
 		add_postbox_toggles : function(page, args) {
 			var self = this;
 
 			self.init(page, args);
 
-			$('.postbox h3, .postbox .handlediv').bind('click.postboxes', function() {
+			$('.postbox .hndle, .postbox .handlediv').bind('click.postboxes', function() {
 				var p = $(this).parent('.postbox'), id = p.attr('id');
 
 				if ( 'dashboard_browser_nag' == id )
@@ -26,9 +28,11 @@ var postboxes;
 					else if ( p.hasClass('closed') && $.isFunction(postboxes.pbhide) )
 						self.pbhide(id);
 				}
+
+				$document.trigger( 'postbox-toggled', p );
 			});
 
-			$('.postbox h3 a').click( function(e) {
+			$('.postbox .hndle a').click( function(e) {
 				e.stopPropagation();
 			});
 
@@ -39,19 +43,21 @@ var postboxes;
 			});
 
 			$('.hide-postbox-tog').bind('click.postboxes', function() {
-				var box = $(this).val();
+				var boxId = $(this).val(),
+					$postbox = $( '#' + boxId );
 
 				if ( $(this).prop('checked') ) {
-					$('#' + box).show();
+					$postbox.show();
 					if ( $.isFunction( postboxes.pbshow ) )
-						self.pbshow( box );
+						self.pbshow( boxId );
 				} else {
-					$('#' + box).hide();
+					$postbox.hide();
 					if ( $.isFunction( postboxes.pbhide ) )
-						self.pbhide( box );
+						self.pbhide( boxId );
 				}
 				self.save_state(page);
 				self._mark_area();
+				$document.trigger( 'postbox-toggled', $postbox );
 			});
 
 			$('.columns-prefs input[type="radio"]').bind('click.postboxes', function(){
@@ -159,6 +165,8 @@ var postboxes;
 			if ( el ) {
 				el.className = el.className.replace(/columns-\d+/, 'columns-' + n);
 			}
+
+			$( document ).trigger( 'postboxes-columnchange' );
 		},
 
 		_pb_change : function() {
diff --git a/wp-admin/js/postbox.min.js b/wp-admin/js/postbox.min.js
index c98e6dde7..3cbd15ba5 100644
--- a/wp-admin/js/postbox.min.js
+++ b/wp-admin/js/postbox.min.js
@@ -1 +1 @@
-var postboxes;!function(a){postboxes={add_postbox_toggles:function(b,c){var d=this;d.init(b,c),a(".postbox h3, .postbox .handlediv").bind("click.postboxes",function(){var c=a(this).parent(".postbox"),e=c.attr("id");"dashboard_browser_nag"!=e&&(c.toggleClass("closed"),"press-this"!=b&&d.save_state(b),e&&(!c.hasClass("closed")&&a.isFunction(postboxes.pbshow)?d.pbshow(e):c.hasClass("closed")&&a.isFunction(postboxes.pbhide)&&d.pbhide(e)))}),a(".postbox h3 a").click(function(a){a.stopPropagation()}),a(".postbox a.dismiss").bind("click.postboxes",function(){var b=a(this).parents(".postbox").attr("id")+"-hide";return a("#"+b).prop("checked",!1).triggerHandler("click"),!1}),a(".hide-postbox-tog").bind("click.postboxes",function(){var c=a(this).val();a(this).prop("checked")?(a("#"+c).show(),a.isFunction(postboxes.pbshow)&&d.pbshow(c)):(a("#"+c).hide(),a.isFunction(postboxes.pbhide)&&d.pbhide(c)),d.save_state(b),d._mark_area()}),a('.columns-prefs input[type="radio"]').bind("click.postboxes",function(){var c=parseInt(a(this).val(),10);c&&(d._pb_edit(c),d.save_order(b))})},init:function(b,c){var d=a(document.body).hasClass("mobile");a.extend(this,c||{}),a("#wpbody-content").css("overflow","hidden"),a(".meta-box-sortables").sortable({placeholder:"sortable-placeholder",connectWith:".meta-box-sortables",items:".postbox",handle:".hndle",cursor:"move",delay:d?200:0,distance:2,tolerance:"pointer",forcePlaceholderSize:!0,helper:"clone",opacity:.65,stop:function(){return a(this).find("#dashboard_browser_nag").is(":visible")&&"dashboard_browser_nag"!=this.firstChild.id?void a(this).sortable("cancel"):void postboxes.save_order(b)},receive:function(b,c){"dashboard_browser_nag"==c.item[0].id&&a(c.sender).sortable("cancel"),postboxes._mark_area()}}),d&&(a(document.body).bind("orientationchange.postboxes",function(){postboxes._pb_change()}),this._pb_change()),this._mark_area()},save_state:function(b){var c=a(".postbox").filter(".closed").map(function(){return this.id}).get().join(","),d=a(".postbox").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(ajaxurl,{action:"closed-postboxes",closed:c,hidden:d,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:b})},save_order:function(b){var c,d=a(".columns-prefs input:checked").val()||0;c={action:"meta-box-order",_ajax_nonce:a("#meta-box-order-nonce").val(),page_columns:d,page:b},a(".meta-box-sortables").each(function(){c["order["+this.id.split("-")[0]+"]"]=a(this).sortable("toArray").join(",")}),a.post(ajaxurl,c)},_mark_area:function(){var b=a("div.postbox:visible").length,c=a("#post-body #side-sortables");a("#dashboard-widgets .meta-box-sortables:visible").each(function(){var c=a(this);1==b||c.children(".postbox:visible").length?c.removeClass("empty-container"):c.addClass("empty-container")}),c.length&&(c.children(".postbox:visible").length?c.removeClass("empty-container"):"280px"==a("#postbox-container-1").css("width")&&c.addClass("empty-container"))},_pb_edit:function(b){var c=a(".metabox-holder").get(0);c&&(c.className=c.className.replace(/columns-\d+/,"columns-"+b))},_pb_change:function(){var b=a('label.columns-prefs-1 input[type="radio"]');switch(window.orientation){case 90:case-90:b.length&&b.is(":checked")||this._pb_edit(2);break;case 0:case 180:a("#poststuff").length?this._pb_edit(1):b.length&&b.is(":checked")||this._pb_edit(2)}},pbshow:!1,pbhide:!1}}(jQuery);
\ No newline at end of file
+var postboxes;!function(a){var b=a(document);postboxes={add_postbox_toggles:function(c,d){var e=this;e.init(c,d),a(".postbox .hndle, .postbox .handlediv").bind("click.postboxes",function(){var d=a(this).parent(".postbox"),f=d.attr("id");"dashboard_browser_nag"!=f&&(d.toggleClass("closed"),"press-this"!=c&&e.save_state(c),f&&(!d.hasClass("closed")&&a.isFunction(postboxes.pbshow)?e.pbshow(f):d.hasClass("closed")&&a.isFunction(postboxes.pbhide)&&e.pbhide(f)),b.trigger("postbox-toggled",d))}),a(".postbox .hndle a").click(function(a){a.stopPropagation()}),a(".postbox a.dismiss").bind("click.postboxes",function(){var b=a(this).parents(".postbox").attr("id")+"-hide";return a("#"+b).prop("checked",!1).triggerHandler("click"),!1}),a(".hide-postbox-tog").bind("click.postboxes",function(){var d=a(this).val(),f=a("#"+d);a(this).prop("checked")?(f.show(),a.isFunction(postboxes.pbshow)&&e.pbshow(d)):(f.hide(),a.isFunction(postboxes.pbhide)&&e.pbhide(d)),e.save_state(c),e._mark_area(),b.trigger("postbox-toggled",f)}),a('.columns-prefs input[type="radio"]').bind("click.postboxes",function(){var b=parseInt(a(this).val(),10);b&&(e._pb_edit(b),e.save_order(c))})},init:function(b,c){var d=a(document.body).hasClass("mobile");a.extend(this,c||{}),a("#wpbody-content").css("overflow","hidden"),a(".meta-box-sortables").sortable({placeholder:"sortable-placeholder",connectWith:".meta-box-sortables",items:".postbox",handle:".hndle",cursor:"move",delay:d?200:0,distance:2,tolerance:"pointer",forcePlaceholderSize:!0,helper:"clone",opacity:.65,stop:function(){return a(this).find("#dashboard_browser_nag").is(":visible")&&"dashboard_browser_nag"!=this.firstChild.id?void a(this).sortable("cancel"):void postboxes.save_order(b)},receive:function(b,c){"dashboard_browser_nag"==c.item[0].id&&a(c.sender).sortable("cancel"),postboxes._mark_area()}}),d&&(a(document.body).bind("orientationchange.postboxes",function(){postboxes._pb_change()}),this._pb_change()),this._mark_area()},save_state:function(b){var c=a(".postbox").filter(".closed").map(function(){return this.id}).get().join(","),d=a(".postbox").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(ajaxurl,{action:"closed-postboxes",closed:c,hidden:d,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:b})},save_order:function(b){var c,d=a(".columns-prefs input:checked").val()||0;c={action:"meta-box-order",_ajax_nonce:a("#meta-box-order-nonce").val(),page_columns:d,page:b},a(".meta-box-sortables").each(function(){c["order["+this.id.split("-")[0]+"]"]=a(this).sortable("toArray").join(",")}),a.post(ajaxurl,c)},_mark_area:function(){var b=a("div.postbox:visible").length,c=a("#post-body #side-sortables");a("#dashboard-widgets .meta-box-sortables:visible").each(function(){var c=a(this);1==b||c.children(".postbox:visible").length?c.removeClass("empty-container"):c.addClass("empty-container")}),c.length&&(c.children(".postbox:visible").length?c.removeClass("empty-container"):"280px"==a("#postbox-container-1").css("width")&&c.addClass("empty-container"))},_pb_edit:function(b){var c=a(".metabox-holder").get(0);c&&(c.className=c.className.replace(/columns-\d+/,"columns-"+b)),a(document).trigger("postboxes-columnchange")},_pb_change:function(){var b=a('label.columns-prefs-1 input[type="radio"]');switch(window.orientation){case 90:case-90:b.length&&b.is(":checked")||this._pb_edit(2);break;case 0:case 180:a("#poststuff").length?this._pb_edit(1):b.length&&b.is(":checked")||this._pb_edit(2)}},pbshow:!1,pbhide:!1}}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/revisions.js b/wp-admin/js/revisions.js
index 48866d6ff..521e55ce0 100644
--- a/wp-admin/js/revisions.js
+++ b/wp-admin/js/revisions.js
@@ -399,11 +399,23 @@ window.wp = window.wp || {};
 		},
 
 		changeMode: function( model, value ) {
-			// If we were on the first revision before switching, we have to bump them over one
-			if ( value && 0 === this.revisions.indexOf( this.get('to') ) ) {
+			var toIndex = this.revisions.indexOf( this.get( 'to' ) );
+
+			// If we were on the first revision before switching to two-handled mode,
+			// bump the 'to' position over one
+			if ( value && 0 === toIndex ) {
+				this.set({
+					from: this.revisions.at( toIndex ),
+					to:   this.revisions.at( toIndex + 1 )
+				});
+			}
+
+			// When switching back to single-handled mode, reset 'from' model to
+			// one position before the 'to' model
+			if ( ! value && 0 !== toIndex ) { // '! value' means switching to single-handled mode
 				this.set({
-					from: this.revisions.at(0),
-					to: this.revisions.at(1)
+					from: this.revisions.at( toIndex - 1 ),
+					to:   this.revisions.at( toIndex )
 				});
 			}
 		},
diff --git a/wp-admin/js/revisions.min.js b/wp-admin/js/revisions.min.js
index 85b9eacdf..0907e708a 100644
--- a/wp-admin/js/revisions.min.js
+++ b/wp-admin/js/revisions.min.js
@@ -1 +1 @@
-window.wp=window.wp||{},function(a){var b;b=wp.revisions={model:{},view:{},controller:{}},b.settings=_.isUndefined(_wpRevisionsSettings)?{}:_wpRevisionsSettings,b.debug=!1,b.log=function(){window.console&&b.debug&&window.console.log.apply(window.console,arguments)},a.fn.allOffsets=function(){var b=this.offset()||{top:0,left:0},c=a(window);return _.extend(b,{right:c.width()-b.left-this.outerWidth(),bottom:c.height()-b.top-this.outerHeight()})},a.fn.allPositions=function(){var a=this.position()||{top:0,left:0},b=this.parent();return _.extend(a,{right:b.outerWidth()-a.left-this.outerWidth(),bottom:b.outerHeight()-a.top-this.outerHeight()})},b.settings.to&&(b.settings.to=parseInt(b.settings.to,10)),b.settings.from&&(b.settings.from=parseInt(b.settings.from,10)),b.settings.compareTwoMode&&(b.settings.compareTwoMode="1"===b.settings.compareTwoMode),b.model.Slider=Backbone.Model.extend({defaults:{value:null,values:null,min:0,max:1,step:1,range:!1,compareTwoMode:!1},initialize:function(a){this.frame=a.frame,this.revisions=a.revisions,this.listenTo(this.frame,"update:revisions",this.receiveRevisions),this.listenTo(this.frame,"change:compareTwoMode",this.updateMode),this.listenTo(this,"change:from",this.handleLocalChanges),this.listenTo(this,"change:to",this.handleLocalChanges),this.listenTo(this,"change:compareTwoMode",this.updateSliderSettings),this.listenTo(this,"update:revisions",this.updateSliderSettings),this.listenTo(this,"change:hoveredRevision",this.hoverRevision),this.set({max:this.revisions.length-1,compareTwoMode:this.frame.get("compareTwoMode"),from:this.frame.get("from"),to:this.frame.get("to")}),this.updateSliderSettings()},getSliderValue:function(a,b){return isRtl?this.revisions.length-this.revisions.indexOf(this.get(a))-1:this.revisions.indexOf(this.get(b))},updateSliderSettings:function(){this.set(this.get("compareTwoMode")?{values:[this.getSliderValue("to","from"),this.getSliderValue("from","to")],value:null,range:!0}:{value:this.getSliderValue("to","to"),values:null,range:!1}),this.trigger("update:slider")},hoverRevision:function(a,b){this.trigger("hovered:revision",b)},updateMode:function(a,b){this.set({compareTwoMode:b})},handleLocalChanges:function(){this.frame.set({from:this.get("from"),to:this.get("to")})},receiveRevisions:function(a,b){(this.get("from")!==a||this.get("to")!==b)&&(this.set({from:a,to:b},{silent:!0}),this.trigger("update:revisions",a,b))}}),b.model.Tooltip=Backbone.Model.extend({defaults:{revision:null,offset:{},hovering:!1,scrubbing:!1},initialize:function(a){this.frame=a.frame,this.revisions=a.revisions,this.slider=a.slider,this.listenTo(this.slider,"hovered:revision",this.updateRevision),this.listenTo(this.slider,"change:hovering",this.setHovering),this.listenTo(this.slider,"change:scrubbing",this.setScrubbing)},updateRevision:function(a){this.set({revision:a})},setHovering:function(a,b){this.set({hovering:b})},setScrubbing:function(a,b){this.set({scrubbing:b})}}),b.model.Revision=Backbone.Model.extend({}),b.model.Revisions=Backbone.Collection.extend({model:b.model.Revision,initialize:function(){_.bindAll(this,"next","prev")},next:function(a){var b=this.indexOf(a);return-1!==b&&b!==this.length-1?this.at(b+1):void 0},prev:function(a){var b=this.indexOf(a);return-1!==b&&0!==b?this.at(b-1):void 0}}),b.model.Field=Backbone.Model.extend({}),b.model.Fields=Backbone.Collection.extend({model:b.model.Field}),b.model.Diff=Backbone.Model.extend({initialize:function(){var a=this.get("fields");this.unset("fields"),this.fields=new b.model.Fields(a)}}),b.model.Diffs=Backbone.Collection.extend({initialize:function(a,b){_.bindAll(this,"getClosestUnloaded"),this.loadAll=_.once(this._loadAll),this.revisions=b.revisions,this.requests={}},model:b.model.Diff,ensure:function(b,c){var d=this.get(b),e=this.requests[b],f=a.Deferred(),g={},h=b.split(":")[0],i=b.split(":")[1];return g[b]=!0,wp.revisions.log("ensure",b),this.trigger("ensure",g,h,i,f.promise()),d?f.resolveWith(c,[d]):(this.trigger("ensure:load",g,h,i,f.promise()),_.each(g,_.bind(function(a){this.requests[a]&&delete g[a],this.get(a)&&delete g[a]},this)),e||(g[b]=!0,e=this.load(_.keys(g))),e.done(_.bind(function(){f.resolveWith(c,[this.get(b)])},this)).fail(_.bind(function(){f.reject()}))),f.promise()},getClosestUnloaded:function(a,b){var c=this;return _.chain([0].concat(a)).initial().zip(a).sortBy(function(a){return Math.abs(b-a[1])}).map(function(a){return a.join(":")}).filter(function(a){return _.isUndefined(c.get(a))&&!c.requests[a]}).value()},_loadAll:function(b,c,d){var e=this,f=a.Deferred(),g=_.first(this.getClosestUnloaded(b,c),d);return _.size(g)>0?this.load(g).done(function(){e._loadAll(b,c,d).done(function(){f.resolve()})}).fail(function(){1===d?f.reject():e._loadAll(b,c,Math.ceil(d/2)).done(function(){f.resolve()})}):f.resolve(),f},load:function(a){return wp.revisions.log("load",a),this.fetch({data:{compare:a},remove:!1}).done(function(){wp.revisions.log("load:complete",a)})},sync:function(a,c,d){if("read"===a){d=d||{},d.context=this,d.data=_.extend(d.data||{},{action:"get-revision-diffs",post_id:b.settings.postId});var e=wp.ajax.send(d),f=this.requests;return d.data.compare&&_.each(d.data.compare,function(a){f[a]=e}),e.always(function(){d.data.compare&&_.each(d.data.compare,function(a){delete f[a]})}),e}return Backbone.Model.prototype.sync.apply(this,arguments)}}),b.model.FrameState=Backbone.Model.extend({defaults:{loading:!1,error:!1,compareTwoMode:!1},initialize:function(a,c){var d={};_.bindAll(this,"receiveDiff"),this._debouncedEnsureDiff=_.debounce(this._ensureDiff,200),this.revisions=c.revisions,this.diffs=new b.model.Diffs([],{revisions:this.revisions}),this.diffs.set(b.settings.diffData),this.listenTo(this,"change:from",this.changeRevisionHandler),this.listenTo(this,"change:to",this.changeRevisionHandler),this.listenTo(this,"change:compareTwoMode",this.changeMode),this.listenTo(this,"update:revisions",this.updatedRevisions),this.listenTo(this.diffs,"ensure:load",this.updateLoadingStatus),this.listenTo(this,"update:diff",this.updateLoadingStatus),d.to=this.revisions.get(b.settings.to),d.from=this.revisions.get(b.settings.from),d.compareTwoMode=b.settings.compareTwoMode,d.baseUrl=b.settings.baseUrl,this.set(d),window.history&&window.history.pushState&&(this.router=new b.Router({model:this}),Backbone.history.start({pushState:!0}))},updateLoadingStatus:function(){this.set("error",!1),this.set("loading",!this.diff())},changeMode:function(a,b){b&&0===this.revisions.indexOf(this.get("to"))&&this.set({from:this.revisions.at(0),to:this.revisions.at(1)})},updatedRevisions:function(a,b){this.get("compareTwoMode")||this.diffs.loadAll(this.revisions.pluck("id"),b.id,40)},diff:function(){return this.diffs.get(this._diffId)},updateDiff:function(b){var c,d,e,f;return b=b||{},c=this.get("from"),d=this.get("to"),e=(c?c.id:0)+":"+d.id,this._diffId===e?a.Deferred().reject().promise():(this._diffId=e,this.trigger("update:revisions",c,d),f=this.diffs.get(e),f?(this.receiveDiff(f),a.Deferred().resolve().promise()):b.immediate?this._ensureDiff():(this._debouncedEnsureDiff(),a.Deferred().reject().promise()))},changeRevisionHandler:function(){this.updateDiff()},receiveDiff:function(a){_.isUndefined(a)||_.isUndefined(a.id)?this.set({loading:!1,error:!0}):this._diffId===a.id&&this.trigger("update:diff",a)},_ensureDiff:function(){return this.diffs.ensure(this._diffId,this).always(this.receiveDiff)}}),b.view.Frame=wp.Backbone.View.extend({className:"revisions",template:wp.template("revisions-frame"),initialize:function(){this.listenTo(this.model,"update:diff",this.renderDiff),this.listenTo(this.model,"change:compareTwoMode",this.updateCompareTwoMode),this.listenTo(this.model,"change:loading",this.updateLoadingStatus),this.listenTo(this.model,"change:error",this.updateErrorStatus),this.views.set(".revisions-control-frame",new b.view.Controls({model:this.model}))},render:function(){return wp.Backbone.View.prototype.render.apply(this,arguments),a("html").css("overflow-y","scroll"),a("#wpbody-content .wrap").append(this.el),this.updateCompareTwoMode(),this.renderDiff(this.model.diff()),this.views.ready(),this},renderDiff:function(a){this.views.set(".revisions-diff-frame",new b.view.Diff({model:a}))},updateLoadingStatus:function(){this.$el.toggleClass("loading",this.model.get("loading"))},updateErrorStatus:function(){this.$el.toggleClass("diff-error",this.model.get("error"))},updateCompareTwoMode:function(){this.$el.toggleClass("comparing-two-revisions",this.model.get("compareTwoMode"))}}),b.view.Controls=wp.Backbone.View.extend({className:"revisions-controls",initialize:function(){_.bindAll(this,"setWidth"),this.views.add(new b.view.Buttons({model:this.model})),this.views.add(new b.view.Checkbox({model:this.model}));var a=new b.model.Slider({frame:this.model,revisions:this.model.revisions}),c=new b.model.Tooltip({frame:this.model,revisions:this.model.revisions,slider:a});this.views.add(new b.view.Tooltip({model:c})),this.views.add(new b.view.Tickmarks({model:c})),this.views.add(new b.view.Slider({model:a})),this.views.add(new b.view.Metabox({model:this.model}))},ready:function(){this.top=this.$el.offset().top,this.window=a(window),this.window.on("scroll.wp.revisions",{controls:this},function(a){var b=a.data.controls,c=b.$el.parent(),d=b.window.scrollTop(),e=b.views.parent;d>=b.top?(e.$el.hasClass("pinned")||(b.setWidth(),c.css("height",c.height()+"px"),b.window.on("resize.wp.revisions.pinning click.wp.revisions.pinning",{controls:b},function(a){a.data.controls.setWidth()})),e.$el.addClass("pinned")):e.$el.hasClass("pinned")?(b.window.off(".wp.revisions.pinning"),b.$el.css("width","auto"),e.$el.removeClass("pinned"),c.css("height","auto"),b.top=b.$el.offset().top):b.top=b.$el.offset().top})},setWidth:function(){this.$el.css("width",this.$el.parent().width()+"px")}}),b.view.Tickmarks=wp.Backbone.View.extend({className:"revisions-tickmarks",direction:isRtl?"right":"left",initialize:function(){this.listenTo(this.model,"change:revision",this.reportTickPosition)},reportTickPosition:function(a,b){var c,d,e,f,g=this.model.revisions.indexOf(b);d=this.$el.allOffsets(),e=this.$el.parent().allOffsets(),g===this.model.revisions.length-1?c={rightPlusWidth:d.left-e.left+1,leftPlusWidth:d.right-e.right+1}:(f=this.$("div:nth-of-type("+(g+1)+")"),c=f.allPositions(),_.extend(c,{left:c.left+d.left-e.left,right:c.right+d.right-e.right}),_.extend(c,{leftPlusWidth:c.left+f.outerWidth(),rightPlusWidth:c.right+f.outerWidth()})),this.model.set({offset:c})},ready:function(){var a,b;a=this.model.revisions.length-1,b=1/a,this.$el.css("width",50*this.model.revisions.length+"px"),_(a).times(function(a){this.$el.append('<div style="'+this.direction+": "+100*b*a+'%"></div>')},this)}}),b.view.Metabox=wp.Backbone.View.extend({className:"revisions-meta",initialize:function(){this.views.add(new b.view.MetaFrom({model:this.model,className:"diff-meta diff-meta-from"})),this.views.add(new b.view.MetaTo({model:this.model}))}}),b.view.Meta=wp.Backbone.View.extend({template:wp.template("revisions-meta"),events:{"click .restore-revision":"restoreRevision"},initialize:function(){this.listenTo(this.model,"update:revisions",this.render)},prepare:function(){return _.extend(this.model.toJSON()[this.type]||{},{type:this.type})},restoreRevision:function(){document.location=this.model.get("to").attributes.restoreUrl}}),b.view.MetaFrom=b.view.Meta.extend({className:"diff-meta diff-meta-from",type:"from"}),b.view.MetaTo=b.view.Meta.extend({className:"diff-meta diff-meta-to",type:"to"}),b.view.Checkbox=wp.Backbone.View.extend({className:"revisions-checkbox",template:wp.template("revisions-checkbox"),events:{"click .compare-two-revisions":"compareTwoToggle"},initialize:function(){this.listenTo(this.model,"change:compareTwoMode",this.updateCompareTwoMode)},ready:function(){this.model.revisions.length<3&&a(".revision-toggle-compare-mode").hide()},updateCompareTwoMode:function(){this.$(".compare-two-revisions").prop("checked",this.model.get("compareTwoMode"))},compareTwoToggle:function(){this.model.set({compareTwoMode:a(".compare-two-revisions").prop("checked")})}}),b.view.Tooltip=wp.Backbone.View.extend({className:"revisions-tooltip",template:wp.template("revisions-meta"),initialize:function(){this.listenTo(this.model,"change:offset",this.render),this.listenTo(this.model,"change:hovering",this.toggleVisibility),this.listenTo(this.model,"change:scrubbing",this.toggleVisibility)},prepare:function(){return _.isNull(this.model.get("revision"))?void 0:_.extend({type:"tooltip"},{attributes:this.model.get("revision").toJSON()})},render:function(){var a,b,c,d,e={},f=this.model.revisions.indexOf(this.model.get("revision"))+1;d=f/this.model.revisions.length>.5,isRtl?(b=d?"left":"right",c=d?"leftPlusWidth":b):(b=d?"right":"left",c=d?"rightPlusWidth":b),a="right"===b?"left":"right",wp.Backbone.View.prototype.render.apply(this,arguments),e[b]=this.model.get("offset")[c]+"px",e[a]="",this.$el.toggleClass("flipped",d).css(e)},visible:function(){return this.model.get("scrubbing")||this.model.get("hovering")},toggleVisibility:function(){this.visible()?this.$el.stop().show().fadeTo(100-100*this.el.style.opacity,1):this.$el.stop().fadeTo(300*this.el.style.opacity,0,function(){a(this).hide()})}}),b.view.Buttons=wp.Backbone.View.extend({className:"revisions-buttons",template:wp.template("revisions-buttons"),events:{"click .revisions-next .button":"nextRevision","click .revisions-previous .button":"previousRevision"},initialize:function(){this.listenTo(this.model,"update:revisions",this.disabledButtonCheck)},ready:function(){this.disabledButtonCheck()},gotoModel:function(a){var b={to:this.model.revisions.at(a)};a?b.from=this.model.revisions.at(a-1):this.model.unset("from",{silent:!0}),this.model.set(b)},nextRevision:function(){var a=this.model.revisions.indexOf(this.model.get("to"))+1;this.gotoModel(a)},previousRevision:function(){var a=this.model.revisions.indexOf(this.model.get("to"))-1;this.gotoModel(a)},disabledButtonCheck:function(){var b=this.model.revisions.length-1,c=0,d=a(".revisions-next .button"),e=a(".revisions-previous .button"),f=this.model.revisions.indexOf(this.model.get("to"));d.prop("disabled",b===f),e.prop("disabled",c===f)}}),b.view.Slider=wp.Backbone.View.extend({className:"wp-slider",direction:isRtl?"right":"left",events:{mousemove:"mouseMove"},initialize:function(){_.bindAll(this,"start","slide","stop","mouseMove","mouseEnter","mouseLeave"),this.listenTo(this.model,"update:slider",this.applySliderSettings)},ready:function(){this.$el.css("width",50*this.model.revisions.length+"px"),this.$el.slider(_.extend(this.model.toJSON(),{start:this.start,slide:this.slide,stop:this.stop})),this.$el.hoverIntent({over:this.mouseEnter,out:this.mouseLeave,timeout:800}),this.applySliderSettings()},mouseMove:function(b){var c=this.model.revisions.length-1,d=this.$el.allOffsets()[this.direction],e=this.$el.width(),f=e/c,g=(isRtl?a(window).width()-b.pageX:b.pageX)-d,h=Math.floor((g+f/2)/f);0>h?h=0:h>=this.model.revisions.length&&(h=this.model.revisions.length-1),this.model.set({hoveredRevision:this.model.revisions.at(h)})},mouseLeave:function(){this.model.set({hovering:!1})},mouseEnter:function(){this.model.set({hovering:!0})},applySliderSettings:function(){this.$el.slider(_.pick(this.model.toJSON(),"value","values","range"));var a=this.$("a.ui-slider-handle");this.model.get("compareTwoMode")?(a.first().toggleClass("to-handle",!!isRtl).toggleClass("from-handle",!isRtl),a.last().toggleClass("from-handle",!!isRtl).toggleClass("to-handle",!isRtl)):a.removeClass("from-handle to-handle")},start:function(b,c){this.model.set({scrubbing:!0}),a(window).on("mousemove.wp.revisions",{view:this},function(b){var d,e=b.data.view,f=e.$el.offset().left,g=f,h=f+e.$el.width(),i=h,j="0",k="100%",l=a(c.handle);e.model.get("compareTwoMode")&&(d=l.parent().find(".ui-slider-handle"),l.is(d.first())?(i=d.last().offset().left,k=i-g):(f=d.first().offset().left+d.first().width(),j=f-g)),b.pageX<f?l.css("left",j):b.pageX>i?l.css("left",k):l.css("left",b.pageX-g)})},getPosition:function(a){return isRtl?this.model.revisions.length-a-1:a},slide:function(a,b){var c,d;if(this.model.get("compareTwoMode")){if(b.values[1]===b.values[0])return!1;isRtl&&b.values.reverse(),c={from:this.model.revisions.at(this.getPosition(b.values[0])),to:this.model.revisions.at(this.getPosition(b.values[1]))}}else c={to:this.model.revisions.at(this.getPosition(b.value))},c.from=this.getPosition(b.value)>0?this.model.revisions.at(this.getPosition(b.value)-1):void 0;d=this.model.revisions.at(this.getPosition(b.value)),this.model.get("scrubbing")&&(c.hoveredRevision=d),this.model.set(c)},stop:function(){a(window).off("mousemove.wp.revisions"),this.model.updateSliderSettings(),this.model.set({scrubbing:!1})}}),b.view.Diff=wp.Backbone.View.extend({className:"revisions-diff",template:wp.template("revisions-diff"),prepare:function(){return _.extend({fields:this.model.fields.toJSON()},this.options)}}),b.Router=Backbone.Router.extend({initialize:function(a){this.model=a.model,this.listenTo(this.model,"update:diff",_.debounce(this.updateUrl,250)),this.listenTo(this.model,"change:compareTwoMode",this.updateUrl)},baseUrl:function(a){return this.model.get("baseUrl")+a},updateUrl:function(){var a=this.model.has("from")?this.model.get("from").id:0,b=this.model.get("to").id;this.model.get("compareTwoMode")?this.navigate(this.baseUrl("?from="+a+"&to="+b),{replace:!0}):this.navigate(this.baseUrl("?revision="+b),{replace:!0})},handleRoute:function(a,b){var c=_.isUndefined(b);c||(b=this.model.revisions.get(a),a=this.model.revisions.prev(b),b=b?b.id:0,a=a?a.id:0)}}),b.init=function(){b.view.frame=new b.view.Frame({model:new b.model.FrameState({},{revisions:new b.model.Revisions(b.settings.revisionData)})}).render()},a(b.init)}(jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(a){var b;b=wp.revisions={model:{},view:{},controller:{}},b.settings=_.isUndefined(_wpRevisionsSettings)?{}:_wpRevisionsSettings,b.debug=!1,b.log=function(){window.console&&b.debug&&window.console.log.apply(window.console,arguments)},a.fn.allOffsets=function(){var b=this.offset()||{top:0,left:0},c=a(window);return _.extend(b,{right:c.width()-b.left-this.outerWidth(),bottom:c.height()-b.top-this.outerHeight()})},a.fn.allPositions=function(){var a=this.position()||{top:0,left:0},b=this.parent();return _.extend(a,{right:b.outerWidth()-a.left-this.outerWidth(),bottom:b.outerHeight()-a.top-this.outerHeight()})},b.settings.to&&(b.settings.to=parseInt(b.settings.to,10)),b.settings.from&&(b.settings.from=parseInt(b.settings.from,10)),b.settings.compareTwoMode&&(b.settings.compareTwoMode="1"===b.settings.compareTwoMode),b.model.Slider=Backbone.Model.extend({defaults:{value:null,values:null,min:0,max:1,step:1,range:!1,compareTwoMode:!1},initialize:function(a){this.frame=a.frame,this.revisions=a.revisions,this.listenTo(this.frame,"update:revisions",this.receiveRevisions),this.listenTo(this.frame,"change:compareTwoMode",this.updateMode),this.listenTo(this,"change:from",this.handleLocalChanges),this.listenTo(this,"change:to",this.handleLocalChanges),this.listenTo(this,"change:compareTwoMode",this.updateSliderSettings),this.listenTo(this,"update:revisions",this.updateSliderSettings),this.listenTo(this,"change:hoveredRevision",this.hoverRevision),this.set({max:this.revisions.length-1,compareTwoMode:this.frame.get("compareTwoMode"),from:this.frame.get("from"),to:this.frame.get("to")}),this.updateSliderSettings()},getSliderValue:function(a,b){return isRtl?this.revisions.length-this.revisions.indexOf(this.get(a))-1:this.revisions.indexOf(this.get(b))},updateSliderSettings:function(){this.set(this.get("compareTwoMode")?{values:[this.getSliderValue("to","from"),this.getSliderValue("from","to")],value:null,range:!0}:{value:this.getSliderValue("to","to"),values:null,range:!1}),this.trigger("update:slider")},hoverRevision:function(a,b){this.trigger("hovered:revision",b)},updateMode:function(a,b){this.set({compareTwoMode:b})},handleLocalChanges:function(){this.frame.set({from:this.get("from"),to:this.get("to")})},receiveRevisions:function(a,b){(this.get("from")!==a||this.get("to")!==b)&&(this.set({from:a,to:b},{silent:!0}),this.trigger("update:revisions",a,b))}}),b.model.Tooltip=Backbone.Model.extend({defaults:{revision:null,offset:{},hovering:!1,scrubbing:!1},initialize:function(a){this.frame=a.frame,this.revisions=a.revisions,this.slider=a.slider,this.listenTo(this.slider,"hovered:revision",this.updateRevision),this.listenTo(this.slider,"change:hovering",this.setHovering),this.listenTo(this.slider,"change:scrubbing",this.setScrubbing)},updateRevision:function(a){this.set({revision:a})},setHovering:function(a,b){this.set({hovering:b})},setScrubbing:function(a,b){this.set({scrubbing:b})}}),b.model.Revision=Backbone.Model.extend({}),b.model.Revisions=Backbone.Collection.extend({model:b.model.Revision,initialize:function(){_.bindAll(this,"next","prev")},next:function(a){var b=this.indexOf(a);return-1!==b&&b!==this.length-1?this.at(b+1):void 0},prev:function(a){var b=this.indexOf(a);return-1!==b&&0!==b?this.at(b-1):void 0}}),b.model.Field=Backbone.Model.extend({}),b.model.Fields=Backbone.Collection.extend({model:b.model.Field}),b.model.Diff=Backbone.Model.extend({initialize:function(){var a=this.get("fields");this.unset("fields"),this.fields=new b.model.Fields(a)}}),b.model.Diffs=Backbone.Collection.extend({initialize:function(a,b){_.bindAll(this,"getClosestUnloaded"),this.loadAll=_.once(this._loadAll),this.revisions=b.revisions,this.requests={}},model:b.model.Diff,ensure:function(b,c){var d=this.get(b),e=this.requests[b],f=a.Deferred(),g={},h=b.split(":")[0],i=b.split(":")[1];return g[b]=!0,wp.revisions.log("ensure",b),this.trigger("ensure",g,h,i,f.promise()),d?f.resolveWith(c,[d]):(this.trigger("ensure:load",g,h,i,f.promise()),_.each(g,_.bind(function(a){this.requests[a]&&delete g[a],this.get(a)&&delete g[a]},this)),e||(g[b]=!0,e=this.load(_.keys(g))),e.done(_.bind(function(){f.resolveWith(c,[this.get(b)])},this)).fail(_.bind(function(){f.reject()}))),f.promise()},getClosestUnloaded:function(a,b){var c=this;return _.chain([0].concat(a)).initial().zip(a).sortBy(function(a){return Math.abs(b-a[1])}).map(function(a){return a.join(":")}).filter(function(a){return _.isUndefined(c.get(a))&&!c.requests[a]}).value()},_loadAll:function(b,c,d){var e=this,f=a.Deferred(),g=_.first(this.getClosestUnloaded(b,c),d);return _.size(g)>0?this.load(g).done(function(){e._loadAll(b,c,d).done(function(){f.resolve()})}).fail(function(){1===d?f.reject():e._loadAll(b,c,Math.ceil(d/2)).done(function(){f.resolve()})}):f.resolve(),f},load:function(a){return wp.revisions.log("load",a),this.fetch({data:{compare:a},remove:!1}).done(function(){wp.revisions.log("load:complete",a)})},sync:function(a,c,d){if("read"===a){d=d||{},d.context=this,d.data=_.extend(d.data||{},{action:"get-revision-diffs",post_id:b.settings.postId});var e=wp.ajax.send(d),f=this.requests;return d.data.compare&&_.each(d.data.compare,function(a){f[a]=e}),e.always(function(){d.data.compare&&_.each(d.data.compare,function(a){delete f[a]})}),e}return Backbone.Model.prototype.sync.apply(this,arguments)}}),b.model.FrameState=Backbone.Model.extend({defaults:{loading:!1,error:!1,compareTwoMode:!1},initialize:function(a,c){var d={};_.bindAll(this,"receiveDiff"),this._debouncedEnsureDiff=_.debounce(this._ensureDiff,200),this.revisions=c.revisions,this.diffs=new b.model.Diffs([],{revisions:this.revisions}),this.diffs.set(b.settings.diffData),this.listenTo(this,"change:from",this.changeRevisionHandler),this.listenTo(this,"change:to",this.changeRevisionHandler),this.listenTo(this,"change:compareTwoMode",this.changeMode),this.listenTo(this,"update:revisions",this.updatedRevisions),this.listenTo(this.diffs,"ensure:load",this.updateLoadingStatus),this.listenTo(this,"update:diff",this.updateLoadingStatus),d.to=this.revisions.get(b.settings.to),d.from=this.revisions.get(b.settings.from),d.compareTwoMode=b.settings.compareTwoMode,d.baseUrl=b.settings.baseUrl,this.set(d),window.history&&window.history.pushState&&(this.router=new b.Router({model:this}),Backbone.history.start({pushState:!0}))},updateLoadingStatus:function(){this.set("error",!1),this.set("loading",!this.diff())},changeMode:function(a,b){var c=this.revisions.indexOf(this.get("to"));b&&0===c&&this.set({from:this.revisions.at(c),to:this.revisions.at(c+1)}),b||0===c||this.set({from:this.revisions.at(c-1),to:this.revisions.at(c)})},updatedRevisions:function(a,b){this.get("compareTwoMode")||this.diffs.loadAll(this.revisions.pluck("id"),b.id,40)},diff:function(){return this.diffs.get(this._diffId)},updateDiff:function(b){var c,d,e,f;return b=b||{},c=this.get("from"),d=this.get("to"),e=(c?c.id:0)+":"+d.id,this._diffId===e?a.Deferred().reject().promise():(this._diffId=e,this.trigger("update:revisions",c,d),f=this.diffs.get(e),f?(this.receiveDiff(f),a.Deferred().resolve().promise()):b.immediate?this._ensureDiff():(this._debouncedEnsureDiff(),a.Deferred().reject().promise()))},changeRevisionHandler:function(){this.updateDiff()},receiveDiff:function(a){_.isUndefined(a)||_.isUndefined(a.id)?this.set({loading:!1,error:!0}):this._diffId===a.id&&this.trigger("update:diff",a)},_ensureDiff:function(){return this.diffs.ensure(this._diffId,this).always(this.receiveDiff)}}),b.view.Frame=wp.Backbone.View.extend({className:"revisions",template:wp.template("revisions-frame"),initialize:function(){this.listenTo(this.model,"update:diff",this.renderDiff),this.listenTo(this.model,"change:compareTwoMode",this.updateCompareTwoMode),this.listenTo(this.model,"change:loading",this.updateLoadingStatus),this.listenTo(this.model,"change:error",this.updateErrorStatus),this.views.set(".revisions-control-frame",new b.view.Controls({model:this.model}))},render:function(){return wp.Backbone.View.prototype.render.apply(this,arguments),a("html").css("overflow-y","scroll"),a("#wpbody-content .wrap").append(this.el),this.updateCompareTwoMode(),this.renderDiff(this.model.diff()),this.views.ready(),this},renderDiff:function(a){this.views.set(".revisions-diff-frame",new b.view.Diff({model:a}))},updateLoadingStatus:function(){this.$el.toggleClass("loading",this.model.get("loading"))},updateErrorStatus:function(){this.$el.toggleClass("diff-error",this.model.get("error"))},updateCompareTwoMode:function(){this.$el.toggleClass("comparing-two-revisions",this.model.get("compareTwoMode"))}}),b.view.Controls=wp.Backbone.View.extend({className:"revisions-controls",initialize:function(){_.bindAll(this,"setWidth"),this.views.add(new b.view.Buttons({model:this.model})),this.views.add(new b.view.Checkbox({model:this.model}));var a=new b.model.Slider({frame:this.model,revisions:this.model.revisions}),c=new b.model.Tooltip({frame:this.model,revisions:this.model.revisions,slider:a});this.views.add(new b.view.Tooltip({model:c})),this.views.add(new b.view.Tickmarks({model:c})),this.views.add(new b.view.Slider({model:a})),this.views.add(new b.view.Metabox({model:this.model}))},ready:function(){this.top=this.$el.offset().top,this.window=a(window),this.window.on("scroll.wp.revisions",{controls:this},function(a){var b=a.data.controls,c=b.$el.parent(),d=b.window.scrollTop(),e=b.views.parent;d>=b.top?(e.$el.hasClass("pinned")||(b.setWidth(),c.css("height",c.height()+"px"),b.window.on("resize.wp.revisions.pinning click.wp.revisions.pinning",{controls:b},function(a){a.data.controls.setWidth()})),e.$el.addClass("pinned")):e.$el.hasClass("pinned")?(b.window.off(".wp.revisions.pinning"),b.$el.css("width","auto"),e.$el.removeClass("pinned"),c.css("height","auto"),b.top=b.$el.offset().top):b.top=b.$el.offset().top})},setWidth:function(){this.$el.css("width",this.$el.parent().width()+"px")}}),b.view.Tickmarks=wp.Backbone.View.extend({className:"revisions-tickmarks",direction:isRtl?"right":"left",initialize:function(){this.listenTo(this.model,"change:revision",this.reportTickPosition)},reportTickPosition:function(a,b){var c,d,e,f,g=this.model.revisions.indexOf(b);d=this.$el.allOffsets(),e=this.$el.parent().allOffsets(),g===this.model.revisions.length-1?c={rightPlusWidth:d.left-e.left+1,leftPlusWidth:d.right-e.right+1}:(f=this.$("div:nth-of-type("+(g+1)+")"),c=f.allPositions(),_.extend(c,{left:c.left+d.left-e.left,right:c.right+d.right-e.right}),_.extend(c,{leftPlusWidth:c.left+f.outerWidth(),rightPlusWidth:c.right+f.outerWidth()})),this.model.set({offset:c})},ready:function(){var a,b;a=this.model.revisions.length-1,b=1/a,this.$el.css("width",50*this.model.revisions.length+"px"),_(a).times(function(a){this.$el.append('<div style="'+this.direction+": "+100*b*a+'%"></div>')},this)}}),b.view.Metabox=wp.Backbone.View.extend({className:"revisions-meta",initialize:function(){this.views.add(new b.view.MetaFrom({model:this.model,className:"diff-meta diff-meta-from"})),this.views.add(new b.view.MetaTo({model:this.model}))}}),b.view.Meta=wp.Backbone.View.extend({template:wp.template("revisions-meta"),events:{"click .restore-revision":"restoreRevision"},initialize:function(){this.listenTo(this.model,"update:revisions",this.render)},prepare:function(){return _.extend(this.model.toJSON()[this.type]||{},{type:this.type})},restoreRevision:function(){document.location=this.model.get("to").attributes.restoreUrl}}),b.view.MetaFrom=b.view.Meta.extend({className:"diff-meta diff-meta-from",type:"from"}),b.view.MetaTo=b.view.Meta.extend({className:"diff-meta diff-meta-to",type:"to"}),b.view.Checkbox=wp.Backbone.View.extend({className:"revisions-checkbox",template:wp.template("revisions-checkbox"),events:{"click .compare-two-revisions":"compareTwoToggle"},initialize:function(){this.listenTo(this.model,"change:compareTwoMode",this.updateCompareTwoMode)},ready:function(){this.model.revisions.length<3&&a(".revision-toggle-compare-mode").hide()},updateCompareTwoMode:function(){this.$(".compare-two-revisions").prop("checked",this.model.get("compareTwoMode"))},compareTwoToggle:function(){this.model.set({compareTwoMode:a(".compare-two-revisions").prop("checked")})}}),b.view.Tooltip=wp.Backbone.View.extend({className:"revisions-tooltip",template:wp.template("revisions-meta"),initialize:function(){this.listenTo(this.model,"change:offset",this.render),this.listenTo(this.model,"change:hovering",this.toggleVisibility),this.listenTo(this.model,"change:scrubbing",this.toggleVisibility)},prepare:function(){return _.isNull(this.model.get("revision"))?void 0:_.extend({type:"tooltip"},{attributes:this.model.get("revision").toJSON()})},render:function(){var a,b,c,d,e={},f=this.model.revisions.indexOf(this.model.get("revision"))+1;d=f/this.model.revisions.length>.5,isRtl?(b=d?"left":"right",c=d?"leftPlusWidth":b):(b=d?"right":"left",c=d?"rightPlusWidth":b),a="right"===b?"left":"right",wp.Backbone.View.prototype.render.apply(this,arguments),e[b]=this.model.get("offset")[c]+"px",e[a]="",this.$el.toggleClass("flipped",d).css(e)},visible:function(){return this.model.get("scrubbing")||this.model.get("hovering")},toggleVisibility:function(){this.visible()?this.$el.stop().show().fadeTo(100-100*this.el.style.opacity,1):this.$el.stop().fadeTo(300*this.el.style.opacity,0,function(){a(this).hide()})}}),b.view.Buttons=wp.Backbone.View.extend({className:"revisions-buttons",template:wp.template("revisions-buttons"),events:{"click .revisions-next .button":"nextRevision","click .revisions-previous .button":"previousRevision"},initialize:function(){this.listenTo(this.model,"update:revisions",this.disabledButtonCheck)},ready:function(){this.disabledButtonCheck()},gotoModel:function(a){var b={to:this.model.revisions.at(a)};a?b.from=this.model.revisions.at(a-1):this.model.unset("from",{silent:!0}),this.model.set(b)},nextRevision:function(){var a=this.model.revisions.indexOf(this.model.get("to"))+1;this.gotoModel(a)},previousRevision:function(){var a=this.model.revisions.indexOf(this.model.get("to"))-1;this.gotoModel(a)},disabledButtonCheck:function(){var b=this.model.revisions.length-1,c=0,d=a(".revisions-next .button"),e=a(".revisions-previous .button"),f=this.model.revisions.indexOf(this.model.get("to"));d.prop("disabled",b===f),e.prop("disabled",c===f)}}),b.view.Slider=wp.Backbone.View.extend({className:"wp-slider",direction:isRtl?"right":"left",events:{mousemove:"mouseMove"},initialize:function(){_.bindAll(this,"start","slide","stop","mouseMove","mouseEnter","mouseLeave"),this.listenTo(this.model,"update:slider",this.applySliderSettings)},ready:function(){this.$el.css("width",50*this.model.revisions.length+"px"),this.$el.slider(_.extend(this.model.toJSON(),{start:this.start,slide:this.slide,stop:this.stop})),this.$el.hoverIntent({over:this.mouseEnter,out:this.mouseLeave,timeout:800}),this.applySliderSettings()},mouseMove:function(b){var c=this.model.revisions.length-1,d=this.$el.allOffsets()[this.direction],e=this.$el.width(),f=e/c,g=(isRtl?a(window).width()-b.pageX:b.pageX)-d,h=Math.floor((g+f/2)/f);0>h?h=0:h>=this.model.revisions.length&&(h=this.model.revisions.length-1),this.model.set({hoveredRevision:this.model.revisions.at(h)})},mouseLeave:function(){this.model.set({hovering:!1})},mouseEnter:function(){this.model.set({hovering:!0})},applySliderSettings:function(){this.$el.slider(_.pick(this.model.toJSON(),"value","values","range"));var a=this.$("a.ui-slider-handle");this.model.get("compareTwoMode")?(a.first().toggleClass("to-handle",!!isRtl).toggleClass("from-handle",!isRtl),a.last().toggleClass("from-handle",!!isRtl).toggleClass("to-handle",!isRtl)):a.removeClass("from-handle to-handle")},start:function(b,c){this.model.set({scrubbing:!0}),a(window).on("mousemove.wp.revisions",{view:this},function(b){var d,e=b.data.view,f=e.$el.offset().left,g=f,h=f+e.$el.width(),i=h,j="0",k="100%",l=a(c.handle);e.model.get("compareTwoMode")&&(d=l.parent().find(".ui-slider-handle"),l.is(d.first())?(i=d.last().offset().left,k=i-g):(f=d.first().offset().left+d.first().width(),j=f-g)),b.pageX<f?l.css("left",j):b.pageX>i?l.css("left",k):l.css("left",b.pageX-g)})},getPosition:function(a){return isRtl?this.model.revisions.length-a-1:a},slide:function(a,b){var c,d;if(this.model.get("compareTwoMode")){if(b.values[1]===b.values[0])return!1;isRtl&&b.values.reverse(),c={from:this.model.revisions.at(this.getPosition(b.values[0])),to:this.model.revisions.at(this.getPosition(b.values[1]))}}else c={to:this.model.revisions.at(this.getPosition(b.value))},c.from=this.getPosition(b.value)>0?this.model.revisions.at(this.getPosition(b.value)-1):void 0;d=this.model.revisions.at(this.getPosition(b.value)),this.model.get("scrubbing")&&(c.hoveredRevision=d),this.model.set(c)},stop:function(){a(window).off("mousemove.wp.revisions"),this.model.updateSliderSettings(),this.model.set({scrubbing:!1})}}),b.view.Diff=wp.Backbone.View.extend({className:"revisions-diff",template:wp.template("revisions-diff"),prepare:function(){return _.extend({fields:this.model.fields.toJSON()},this.options)}}),b.Router=Backbone.Router.extend({initialize:function(a){this.model=a.model,this.listenTo(this.model,"update:diff",_.debounce(this.updateUrl,250)),this.listenTo(this.model,"change:compareTwoMode",this.updateUrl)},baseUrl:function(a){return this.model.get("baseUrl")+a},updateUrl:function(){var a=this.model.has("from")?this.model.get("from").id:0,b=this.model.get("to").id;this.model.get("compareTwoMode")?this.navigate(this.baseUrl("?from="+a+"&to="+b),{replace:!0}):this.navigate(this.baseUrl("?revision="+b),{replace:!0})},handleRoute:function(a,b){var c=_.isUndefined(b);c||(b=this.model.revisions.get(a),a=this.model.revisions.prev(b),b=b?b.id:0,a=a?a.id:0)}}),b.init=function(){b.view.frame=new b.view.Frame({model:new b.model.FrameState({},{revisions:new b.model.Revisions(b.settings.revisionData)})}).render()},a(b.init)}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/theme.js b/wp-admin/js/theme.js
index 77054b5cb..57e33127a 100644
--- a/wp-admin/js/theme.js
+++ b/wp-admin/js/theme.js
@@ -105,7 +105,7 @@ themes.view.Appearance = wp.Backbone.View.extend({
 		// Render and append after screen title
 		view.render();
 		this.searchContainer
-			.append( $.parseHTML( '<label class="screen-reader-text" for="theme-search-input">' + l10n.search + '</label>' ) )
+			.append( $.parseHTML( '<label class="screen-reader-text" for="wp-filter-search-input">' + l10n.search + '</label>' ) )
 			.append( view.el );
 	},
 
@@ -190,6 +190,12 @@ themes.Collection = Backbone.Collection.extend({
 			return match.test( haystack );
 		});
 
+		if ( results.length === 0 ) {
+			this.trigger( 'query:empty' );
+		} else {
+			$( 'body' ).removeClass( 'no-results' );
+		}
+
 		this.reset( results );
 	},
 
@@ -336,7 +342,7 @@ themes.Collection = Backbone.Collection.extend({
 			beforeSend: function() {
 				if ( ! paginated ) {
 					// Spin it
-					$( 'body' ).addClass( 'loading-themes' ).removeClass( 'no-results' );
+					$( 'body' ).addClass( 'loading-content' ).removeClass( 'no-results' );
 				}
 			}
 		});
@@ -362,7 +368,6 @@ themes.view.Theme = wp.Backbone.View.extend({
 
 	events: {
 		'click': themes.isInstall ? 'preview': 'expand',
-		'click .preview': 'preview',
 		'keydown': themes.isInstall ? 'preview': 'expand',
 		'touchend': themes.isInstall ? 'preview': 'expand',
 		'keyup': 'addFocus',
@@ -487,7 +492,7 @@ themes.view.Theme = wp.Backbone.View.extend({
 			preview.$el.removeClass( 'no-navigation' );
 		}
 
-		// Apend preview
+		// Append preview
 		$( 'div.wrap' ).append( preview.el );
 
 		// Listen to our preview object
@@ -502,7 +507,7 @@ themes.view.Theme = wp.Backbone.View.extend({
 				current = self.current;
 			}
 
-			// Get previous theme model.
+			// Get next theme model.
 			self.current = self.model.collection.at( self.model.collection.indexOf( current ) + 1 );
 
 			// If we have no more themes, bail.
@@ -511,15 +516,11 @@ themes.view.Theme = wp.Backbone.View.extend({
 				return self.current = current;
 			}
 
-			// Construct a new Preview view.
-			preview = new themes.view.Preview({
-				model: self.current
-			});
+			preview.model = self.current;
 
 			// Render and append.
 			preview.render();
 			this.setNavButtonsState();
-			$( 'div.wrap' ).append( preview.el );
 			$( '.next-theme' ).focus();
 		})
 		.listenTo( preview, 'theme:previous', function() {
@@ -545,15 +546,11 @@ themes.view.Theme = wp.Backbone.View.extend({
 				return;
 			}
 
-			// Construct a new Preview view.
-			preview = new themes.view.Preview({
-				model: self.current
-			});
+			preview.model = self.current;
 
 			// Render and append.
 			preview.render();
 			this.setNavButtonsState();
-			$( 'div.wrap' ).append( preview.el );
 			$( '.previous-theme' ).focus();
 		});
 
@@ -704,7 +701,7 @@ themes.view.Details = wp.Backbone.View.extend({
 	// Performs the actions to effectively close
 	// the theme details overlay
 	closeOverlay: function() {
-		$( 'body' ).removeClass( 'theme-overlay-open' );
+		$( 'body' ).removeClass( 'modal-open' );
 		this.remove();
 		this.unbind();
 		this.trigger( 'theme:collapse' );
@@ -786,6 +783,7 @@ themes.view.Preview = themes.view.Details.extend({
 
 		themes.router.navigate( themes.router.baseUrl( '' ) );
 		this.trigger( 'preview:close' );
+		this.undelegateEvents();
 		this.unbind();
 		return false;
 	},
@@ -1002,7 +1000,7 @@ themes.view.Themes = wp.Backbone.View.extend({
 
 		// Sets this.view to 'detail'
 		this.setView( 'detail' );
-		$( 'body' ).addClass( 'theme-overlay-open' );
+		$( 'body' ).addClass( 'modal-open' );
 
 		// Set up the theme details view
 		this.overlay = new themes.view.Details({
@@ -1082,8 +1080,8 @@ themes.view.Themes = wp.Backbone.View.extend({
 themes.view.Search = wp.Backbone.View.extend({
 
 	tagName: 'input',
-	className: 'theme-search',
-	id: 'theme-search-input',
+	className: 'wp-filter-search',
+	id: 'wp-filter-search-input',
 	searching: false,
 
 	attributes: {
@@ -1170,11 +1168,11 @@ themes.Router = Backbone.Router.extend({
 	},
 
 	search: function( query ) {
-		$( '.theme-search' ).val( query );
+		$( '.wp-filter-search' ).val( query );
 	},
 
 	themes: function() {
-		$( '.theme-search' ).val( '' );
+		$( '.wp-filter-search' ).val( '' );
 	},
 
 	navigate: function() {
@@ -1231,7 +1229,7 @@ themes.Run = {
 
 		// Handles search route event
 		themes.router.on( 'route:search', function() {
-			$( '.theme-search' ).trigger( 'keyup' );
+			$( '.wp-filter-search' ).trigger( 'keyup' );
 		});
 
 		this.extraRoutes();
@@ -1290,8 +1288,8 @@ themes.view.InstallerSearch =  themes.view.Search.extend({
 			request.tag = [ value.slice( 4 ) ];
 		}
 
-		$( '.theme-section.current' ).removeClass( 'current' );
-		$( 'body' ).removeClass( 'more-filters-opened filters-applied' );
+		$( '.filter-links li > a.current' ).removeClass( 'current' );
+		$( 'body' ).removeClass( 'show-filters filters-applied' );
 
 		// Get the themes by sending Ajax POST request to api.wordpress.org/themes
 		// or searching the local cache
@@ -1308,14 +1306,13 @@ themes.view.Installer = themes.view.Appearance.extend({
 
 	// Register events for sorting and filters in theme-navigation
 	events: {
-		'click .theme-section': 'onSort',
+		'click .filter-links li > a': 'onSort',
 		'click .theme-filter': 'onFilter',
-		'click .more-filters': 'moreFilters',
-		'click .apply-filters': 'applyFilters',
-		'click [type="checkbox"]': 'addFilter',
-		'click .clear-filters': 'clearFilters',
-		'click .feature-name': 'filterSection',
-		'click .filtering-by a': 'backToFilters'
+		'click .drawer-toggle': 'moreFilters',
+		'click .filter-drawer .apply-filters': 'applyFilters',
+		'click .filter-group [type="checkbox"]': 'addFilter',
+		'click .filter-drawer .clear-filters': 'clearFilters',
+		'click .filtered-by': 'backToFilters'
 	},
 
 	// Initial render method
@@ -1345,12 +1342,12 @@ themes.view.Installer = themes.view.Appearance.extend({
 		});
 
 		this.listenTo( this.collection, 'query:success', function() {
-			$( 'body' ).removeClass( 'loading-themes' );
+			$( 'body' ).removeClass( 'loading-content' );
 			$( '.theme-browser' ).find( 'div.error' ).remove();
 		});
 
 		this.listenTo( this.collection, 'query:fail', function() {
-			$( 'body' ).removeClass( 'loading-themes' );
+			$( 'body' ).removeClass( 'loading-content' );
 			$( '.theme-browser' ).find( 'div.error' ).remove();
 			$( '.theme-browser' ).find( 'div.themes' ).before( '<div class="error"><p>' + l10n.error + '</p></div>' );
 		});
@@ -1388,7 +1385,7 @@ themes.view.Installer = themes.view.Appearance.extend({
 
 		event.preventDefault();
 
-		$( 'body' ).removeClass( 'filters-applied more-filters-opened' );
+		$( 'body' ).removeClass( 'filters-applied show-filters' );
 
 		// Bail if this is already active
 		if ( $el.hasClass( this.activeClass ) ) {
@@ -1404,7 +1401,7 @@ themes.view.Installer = themes.view.Appearance.extend({
 	sort: function( sort ) {
 		this.clearSearch();
 
-		$( '.theme-section, .theme-filter' ).removeClass( this.activeClass );
+		$( '.filter-links li > a, .theme-filter' ).removeClass( this.activeClass );
 		$( '[data-sort="' + sort + '"]' ).addClass( this.activeClass );
 
 		this.browse( sort );
@@ -1421,7 +1418,7 @@ themes.view.Installer = themes.view.Appearance.extend({
 			return;
 		}
 
-		$( '.theme-filter, .theme-section' ).removeClass( this.activeClass );
+		$( '.filter-links li > a, .theme-section' ).removeClass( this.activeClass );
 		$el.addClass( this.activeClass );
 
 		if ( ! filter ) {
@@ -1448,18 +1445,18 @@ themes.view.Installer = themes.view.Appearance.extend({
 		var name,
 			tags = this.filtersChecked(),
 			request = { tag: tags },
-			filteringBy = $( '.filtering-by .tags' );
+			filteringBy = $( '.filtered-by .tags' );
 
 		if ( event ) {
 			event.preventDefault();
 		}
 
 		$( 'body' ).addClass( 'filters-applied' );
-		$( '.theme-section.current' ).removeClass( 'current' );
+		$( '.filter-links li > a.current' ).removeClass( 'current' );
 		filteringBy.empty();
 
 		_.each( tags, function( tag ) {
-			name = $( 'label[for="feature-id-' + tag + '"]' ).text();
+			name = $( 'label[for="filter-id-' + tag + '"]' ).text();
 			filteringBy.append( '<span class="tag">' + name + '</span>' );
 		});
 
@@ -1471,7 +1468,7 @@ themes.view.Installer = themes.view.Appearance.extend({
 	// Get the checked filters
 	// @return {array} of tags or false
 	filtersChecked: function() {
-		var items = $( '.feature-group' ).find( ':checkbox' ),
+		var items = $( '.filter-group' ).find( ':checkbox' ),
 			tags = [];
 
 		_.each( items.filter( ':checked' ), function( item ) {
@@ -1480,14 +1477,14 @@ themes.view.Installer = themes.view.Appearance.extend({
 
 		// When no filters are checked, restore initial state and return
 		if ( tags.length === 0 ) {
-			$( '.apply-filters' ).find( 'span' ).text( '' );
-			$( '.clear-filters' ).hide();
+			$( '.filter-drawer .apply-filters' ).find( 'span' ).text( '' );
+			$( '.filter-drawer .clear-filters' ).hide();
 			$( 'body' ).removeClass( 'filters-applied' );
 			return false;
 		}
 
-		$( '.apply-filters' ).find( 'span' ).text( tags.length );
-		$( '.clear-filters' ).css( 'display', 'inline-block' );
+		$( '.filter-drawer .apply-filters' ).find( 'span' ).text( tags.length );
+		$( '.filter-drawer .clear-filters' ).css( 'display', 'inline-block' );
 
 		return tags;
 	},
@@ -1496,7 +1493,7 @@ themes.view.Installer = themes.view.Appearance.extend({
 
 	// Overwrite search container class to append search
 	// in new location
-	searchContainer: $( '.theme-navigation' ),
+	searchContainer: $( '.wp-filter .search-form' ),
 
 	uploader: function() {
 		$( 'a.upload' ).on( 'click', function( event ) {
@@ -1521,25 +1518,20 @@ themes.view.Installer = themes.view.Appearance.extend({
 
 		// If the filters section is opened and filters are checked
 		// run the relevant query collapsing to filtered-by state
-		if ( $( 'body' ).hasClass( 'more-filters-opened' ) && this.filtersChecked() ) {
+		if ( $( 'body' ).hasClass( 'show-filters' ) && this.filtersChecked() ) {
 			return this.addFilter();
 		}
 
 		this.clearSearch();
 
 		themes.router.navigate( themes.router.baseUrl( '' ) );
-		$( 'body' ).toggleClass( 'more-filters-opened' );
-	},
-
-	// Expand/collapse each individual filter section
-	filterSection: function() {
-		$( event.target ).parent().toggleClass( 'open' );
+		$( 'body' ).toggleClass( 'show-filters' );
 	},
 
 	// Clears all the checked filters
 	// @uses filtersChecked()
 	clearFilters: function( event ) {
-		var items = $( '.feature-group' ).find( ':checkbox' ),
+		var items = $( '.filter-group' ).find( ':checkbox' ),
 			self = this;
 
 		event.preventDefault();
@@ -1559,7 +1551,7 @@ themes.view.Installer = themes.view.Appearance.extend({
 	},
 
 	clearSearch: function() {
-		$( '#theme-search-input').val( '' );
+		$( '#wp-filter-search-input').val( '' );
 	}
 });
 
@@ -1577,7 +1569,7 @@ themes.InstallerRouter = Backbone.Router.extend({
 	},
 
 	search: function( query ) {
-		$( '.theme-search' ).val( query );
+		$( '.wp-filter-search' ).val( query );
 	},
 
 	navigate: function() {
@@ -1649,7 +1641,7 @@ themes.RunInstaller = {
 
 		// The `search` route event. The router populates the input field.
 		themes.router.on( 'route:search', function() {
-			$( '.theme-search' ).focus().trigger( 'keyup' );
+			$( '.wp-filter-search' ).focus().trigger( 'keyup' );
 		});
 
 		this.extraRoutes();
diff --git a/wp-admin/js/theme.min.js b/wp-admin/js/theme.min.js
index 8f83f4b75..b3b8a3d07 100644
--- a/wp-admin/js/theme.min.js
+++ b/wp-admin/js/theme.min.js
@@ -1 +1 @@
-window.wp=window.wp||{},function(a){var b,c;b=wp.themes=wp.themes||{},b.data=_wpThemeSettings,c=b.data.l10n,b.isInstall=!!b.data.settings.isInstall,_.extend(b,{model:{},view:{},routes:{},router:{},template:wp.template}),b.Model=Backbone.Model.extend({initialize:function(){var a;-1!==_.indexOf(b.data.installedThemes,this.get("slug"))&&this.set({installed:!0}),this.set({id:this.get("slug")||this.get("id")}),this.has("sections")&&(a=this.get("sections").description,this.set({description:a}))}}),b.view.Appearance=wp.Backbone.View.extend({el:"#wpbody-content .wrap .theme-browser",window:a(window),page:0,initialize:function(a){_.bindAll(this,"scroller"),this.SearchView=a.SearchView?a.SearchView:b.view.Search,this.window.bind("scroll",_.throttle(this.scroller,300))},render:function(){this.view=new b.view.Themes({collection:this.collection,parent:this}),this.search(),this.view.render(),this.$el.empty().append(this.view.el).addClass("rendered"),this.$el.append('<br class="clear"/>')},searchContainer:a("#wpbody h2:first"),search:function(){var d,e=this;1!==b.data.themes.length&&(d=new this.SearchView({collection:e.collection,parent:this}),d.render(),this.searchContainer.append(a.parseHTML('<label class="screen-reader-text" for="theme-search-input">'+c.search+"</label>")).append(d.el))},scroller:function(){var a,b,c=this;a=this.window.scrollTop()+c.window.height(),b=c.$el.offset().top+c.$el.outerHeight(!1)-c.window.height(),b=Math.round(.9*b),a>b&&this.trigger("theme:scroll")}}),b.Collection=Backbone.Collection.extend({model:b.Model,terms:"",doSearch:function(a){this.terms!==a&&(this.terms=a,this.terms.length>0&&this.search(this.terms),""===this.terms&&this.reset(b.data.themes),this.trigger("update"))},search:function(a){var c,d,e;this.reset(b.data.themes,{silent:!0}),a=a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),a=a.replace(/ /g,")(?=.*"),c=new RegExp("^(?=.*"+a+").+","i"),d=this.filter(function(b){return e=_.union(b.get("name"),b.get("id"),b.get("description"),b.get("author"),b.get("tags")),c.test(b.get("author"))&&a.length>2&&b.set("displayAuthor",!0),c.test(e)}),this.reset(d)},paginate:function(a){var b=this;return a=a||0,b=_(b.rest(20*a)),b=_(b.first(20))},count:!1,query:function(b){var c,d,e,f=this.queries,g=this;if(this.currentQuery.request=b,c=_.find(f,function(a){return _.isEqual(a.request,b)}),d=_.has(b,"page"),d||(this.currentQuery.page=1),c||d){if(d)return this.apiCall(b,d).done(function(a){g.add(a.themes),g.trigger("query:success"),g.loadingThemes=!1}).fail(function(){g.trigger("query:fail")});0===c.themes.length?g.trigger("query:empty"):a("body").removeClass("no-results"),_.isNumber(c.total)&&(this.count=c.total),this.reset(c.themes),c.total||(this.count=this.length),this.trigger("update"),this.trigger("query:success",this.count)}else c=this.apiCall(b).done(function(a){a.themes&&(g.reset(a.themes),e=a.info.results,f.push({themes:a.themes,request:b,total:e})),g.trigger("update"),g.trigger("query:success",e),a.themes&&0===a.themes.length&&g.trigger("query:empty")}).fail(function(){g.trigger("query:fail")})},queries:[],currentQuery:{page:1,request:{}},apiCall:function(b,c){return wp.ajax.send("query-themes",{data:{request:_.extend({per_page:100,fields:{description:!0,tested:!0,requires:!0,rating:!0,downloaded:!0,downloadLink:!0,last_updated:!0,homepage:!0,num_ratings:!0}},b)},beforeSend:function(){c||a("body").addClass("loading-themes").removeClass("no-results")}})},loadingThemes:!1}),b.view.Theme=wp.Backbone.View.extend({className:"theme",state:"grid",html:b.template("theme"),events:{click:b.isInstall?"preview":"expand","click .preview":"preview",keydown:b.isInstall?"preview":"expand",touchend:b.isInstall?"preview":"expand",keyup:"addFocus",touchmove:"preventExpand"},touchDrag:!1,render:function(){var a=this.model.toJSON();this.$el.html(this.html(a)).attr({tabindex:0,"aria-describedby":a.id+"-action "+a.id+"-name"}),this.activeTheme(),this.model.get("displayAuthor")&&this.$el.addClass("display-author"),this.model.get("installed")&&this.$el.addClass("is-installed")},activeTheme:function(){this.model.get("active")&&this.$el.addClass("active")},addFocus:function(){var b=a(":focus").hasClass("theme")?a(":focus"):a(":focus").parents(".theme");a(".theme.focus").removeClass("focus"),b.addClass("focus")},expand:function(c){var d=this;return c=c||window.event,"keydown"!==c.type||13===c.which||32===c.which?this.touchDrag===!0?this.touchDrag=!1:void(a(c.target).is(".theme-actions a")||(b.focusedTheme=this.$el,this.trigger("theme:expand",d.model.cid))):void 0},preventExpand:function(){this.touchDrag=!0},preview:function(c){var d,e,f=this;return this.touchDrag===!0?this.touchDrag=!1:void(a(c.target).hasClass("button-primary")||("keydown"!==c.type||13===c.which||32===c.which)&&("keydown"===c.type&&13!==c.which&&a(":focus").hasClass("button")||(c.preventDefault(),c=c||window.event,b.focusedTheme=this.$el,e=new b.view.Preview({model:this.model}),e.render(),this.setNavButtonsState(),1===this.model.collection.length?e.$el.addClass("no-navigation"):e.$el.removeClass("no-navigation"),a("div.wrap").append(e.el),this.listenTo(e,"theme:next",function(){return d=f.model,_.isUndefined(f.current)||(d=f.current),f.current=f.model.collection.at(f.model.collection.indexOf(d)+1),_.isUndefined(f.current)?(f.options.parent.parent.trigger("theme:end"),f.current=d):(e=new b.view.Preview({model:f.current}),e.render(),this.setNavButtonsState(),a("div.wrap").append(e.el),void a(".next-theme").focus())}).listenTo(e,"theme:previous",function(){d=f.model,0!==f.model.collection.indexOf(f.current)&&(_.isUndefined(f.current)||(d=f.current),f.current=f.model.collection.at(f.model.collection.indexOf(d)-1),_.isUndefined(f.current)||(e=new b.view.Preview({model:f.current}),e.render(),this.setNavButtonsState(),a("div.wrap").append(e.el),a(".previous-theme").focus()))}),this.listenTo(e,"preview:close",function(){f.current=f.model}))))},setNavButtonsState:function(){var b=a(".theme-install-overlay"),c=_.isUndefined(this.current)?this.model:this.current;0===this.model.collection.indexOf(c)&&b.find(".previous-theme").addClass("disabled"),_.isUndefined(this.model.collection.at(this.model.collection.indexOf(c)+1))&&b.find(".next-theme").addClass("disabled")}}),b.view.Details=wp.Backbone.View.extend({className:"theme-overlay",events:{click:"collapse","click .delete-theme":"deleteTheme","click .left":"previousTheme","click .right":"nextTheme"},html:b.template("theme-single"),render:function(){var a=this.model.toJSON();this.$el.html(this.html(a)),this.activeTheme(),this.navigation(),this.screenshotCheck(this.$el),this.containFocus(this.$el)},activeTheme:function(){this.$el.toggleClass("active",this.model.get("active"))},containFocus:function(b){var c;_.delay(function(){a(".theme-wrap a.button-primary:visible").focus()},500),b.on("keydown.wp-themes",function(d){9===d.which&&(c=a(d.target),c.is("button.left")&&d.shiftKey?(b.find(".theme-actions a:last-child").focus(),d.preventDefault()):c.is(".theme-actions a:last-child")&&(b.find("button.left").focus(),d.preventDefault()))})},collapse:function(c){var d,e=this;c=c||window.event,1!==b.data.themes.length&&(a(c.target).is(".theme-backdrop")||a(c.target).is(".close")||27===c.keyCode)&&(a("body").addClass("closing-overlay"),this.$el.fadeOut(130,function(){a("body").removeClass("closing-overlay"),e.closeOverlay(),d=document.body.scrollTop,b.router.navigate(b.router.baseUrl("")),document.body.scrollTop=d,b.focusedTheme&&b.focusedTheme.focus()}))},navigation:function(){this.model.cid===this.model.collection.at(0).cid&&this.$el.find(".left").addClass("disabled"),this.model.cid===this.model.collection.at(this.model.collection.length-1).cid&&this.$el.find(".right").addClass("disabled")},closeOverlay:function(){a("body").removeClass("theme-overlay-open"),this.remove(),this.unbind(),this.trigger("theme:collapse")},deleteTheme:function(){return confirm(b.data.settings.confirmDelete)},nextTheme:function(){var a=this;return a.trigger("theme:next",a.model.cid),!1},previousTheme:function(){var a=this;return a.trigger("theme:previous",a.model.cid),!1},screenshotCheck:function(a){var b,c;b=a.find(".screenshot img"),c=new Image,c.src=b.attr("src"),c.width&&c.width<=300&&a.addClass("small-screenshot")}}),b.view.Preview=b.view.Details.extend({className:"wp-full-overlay expanded",el:".theme-install-overlay",events:{"click .close-full-overlay":"close","click .collapse-sidebar":"collapse","click .previous-theme":"previousTheme","click .next-theme":"nextTheme",keyup:"keyEvent"},html:b.template("theme-preview"),render:function(){var c=this.model.toJSON();this.$el.html(this.html(c)),b.router.navigate(b.router.baseUrl("?theme="+this.model.get("id")),{replace:!0}),this.$el.fadeIn(200,function(){a("body").addClass("theme-installer-active full-overlay-active"),a(".close-full-overlay").focus()})},close:function(){return this.$el.fadeOut(200,function(){a("body").removeClass("theme-installer-active full-overlay-active"),b.focusedTheme&&b.focusedTheme.focus()}),b.router.navigate(b.router.baseUrl("")),this.trigger("preview:close"),this.unbind(),!1},collapse:function(){return this.$el.toggleClass("collapsed").toggleClass("expanded"),!1},keyEvent:function(a){27===a.keyCode&&(this.undelegateEvents(),this.close()),39===a.keyCode&&_.once(this.nextTheme()),37===a.keyCode&&this.previousTheme()}}),b.view.Themes=wp.Backbone.View.extend({className:"themes",$overlay:a("div.theme-overlay"),index:0,count:a(".theme-count"),initialize:function(b){var c=this;this.parent=b.parent,this.setView("grid"),c.currentTheme(),this.listenTo(c.collection,"update",function(){c.parent.page=0,c.currentTheme(),c.render(this)}),this.listenTo(c.collection,"query:success",function(a){c.count.text(_.isNumber(a)?a:c.collection.length)}),this.listenTo(c.collection,"query:empty",function(){a("body").addClass("no-results")}),this.listenTo(this.parent,"theme:scroll",function(){c.renderThemes(c.parent.page)}),this.listenTo(this.parent,"theme:close",function(){c.overlay&&c.overlay.closeOverlay()}),a("body").on("keyup",function(a){c.overlay&&(39===a.keyCode&&c.overlay.nextTheme(),37===a.keyCode&&c.overlay.previousTheme(),27===a.keyCode&&c.overlay.collapse(a))})},render:function(){this.$el.html(""),1===b.data.themes.length&&(this.singleTheme=new b.view.Details({model:this.collection.models[0]}),this.singleTheme.render(),this.$el.addClass("single-theme"),this.$el.append(this.singleTheme.el)),this.options.collection.size()>0&&this.renderThemes(this.parent.page),this.count.text(this.collection.count?this.collection.count:this.collection.length)},renderThemes:function(d){var e=this;return e.instance=e.collection.paginate(d),0===e.instance.size()?void this.parent.trigger("theme:end"):(d>=1&&a(".add-new-theme").remove(),e.instance.each(function(a){e.theme=new b.view.Theme({model:a,parent:e}),e.theme.render(),e.$el.append(e.theme.el),e.listenTo(e.theme,"theme:expand",e.expand,e)}),b.data.settings.canInstall&&this.$el.append('<div class="theme add-new-theme"><a href="'+b.data.settings.installURI+'"><div class="theme-screenshot"><span></span></div><h3 class="theme-name">'+c.addNew+"</h3></a></div>"),void this.parent.page++)},currentTheme:function(){var a,b=this;a=b.collection.findWhere({active:!0}),a&&(b.collection.remove(a),b.collection.add(a,{at:0}))},setView:function(a){return a},expand:function(c){var d=this;this.model=d.collection.get(c),b.router.navigate(b.router.baseUrl("?theme="+this.model.id)),this.setView("detail"),a("body").addClass("theme-overlay-open"),this.overlay=new b.view.Details({model:d.model}),this.overlay.render(),this.$overlay.html(this.overlay.el),this.listenTo(this.overlay,"theme:next",function(){d.next([d.model.cid])}).listenTo(this.overlay,"theme:previous",function(){d.previous([d.model.cid])})},next:function(a){var b,c,d=this;b=d.collection.get(a[0]),c=d.collection.at(d.collection.indexOf(b)+1),void 0!==c&&(this.overlay.closeOverlay(),d.theme.trigger("theme:expand",c.cid))},previous:function(a){var b,c,d=this;b=d.collection.get(a[0]),c=d.collection.at(d.collection.indexOf(b)-1),void 0!==c&&(this.overlay.closeOverlay(),d.theme.trigger("theme:expand",c.cid))}}),b.view.Search=wp.Backbone.View.extend({tagName:"input",className:"theme-search",id:"theme-search-input",searching:!1,attributes:{placeholder:c.searchPlaceholder,type:"search"},events:{input:"search",keyup:"search",change:"search",search:"search",blur:"pushState"},initialize:function(a){this.parent=a.parent,this.listenTo(this.parent,"theme:close",function(){this.searching=!1})},search:function(a){var c={};"keyup"===a.type&&27===a.which&&(a.target.value=""),13===a.which&&this.$el.trigger("blur"),this.collection.doSearch(a.target.value),this.searching&&13!==a.which?c.replace=!0:this.searching=!0,a.target.value?b.router.navigate(b.router.baseUrl("?search="+a.target.value),c):b.router.navigate(b.router.baseUrl(""))},pushState:function(a){var c=b.router.baseUrl("");a.target.value&&(c=b.router.baseUrl("?search="+a.target.value)),this.searching=!1,b.router.navigate(c)}}),b.Router=Backbone.Router.extend({routes:{"themes.php?theme=:slug":"theme","themes.php?search=:query":"search","themes.php?s=:query":"search","themes.php":"themes","":"themes"},baseUrl:function(a){return"themes.php"+a},search:function(b){a(".theme-search").val(b)},themes:function(){a(".theme-search").val("")},navigate:function(){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.apply(this,arguments)}}),b.Run={init:function(){this.themes=new b.Collection(b.data.themes),this.view=new b.view.Appearance({collection:this.themes}),this.render()},render:function(){this.view.render(),this.routes(),Backbone.history.start({root:b.data.settings.adminUrl,pushState:!0,hashChange:!1})},routes:function(){var c=this;b.router=new b.Router,b.router.on("route:theme",function(a){c.view.view.expand(a)}),b.router.on("route:themes",function(){c.themes.doSearch(""),c.view.trigger("theme:close")}),b.router.on("route:search",function(){a(".theme-search").trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},b.view.InstallerSearch=b.view.Search.extend({events:{keyup:"search"},search:function(a){("keyup"!==a.type||9!==a.which&&16!==a.which)&&(this.collection=this.options.parent.view.collection,"keyup"===a.type&&27===a.which&&(a.target.value=""),_.debounce(_.bind(this.doSearch,this),300)(a.target.value))},doSearch:_.debounce(function(c){var d={};d.search=c,"author:"===c.substring(0,7)&&(d.search="",d.author=c.slice(7)),"tag:"===c.substring(0,4)&&(d.search="",d.tag=[c.slice(4)]),a(".theme-section.current").removeClass("current"),a("body").removeClass("more-filters-opened filters-applied"),this.collection.query(d),b.router.navigate(b.router.baseUrl("?search="+c),{replace:!0})},300)}),b.view.Installer=b.view.Appearance.extend({el:"#wpbody-content .wrap",events:{"click .theme-section":"onSort","click .theme-filter":"onFilter","click .more-filters":"moreFilters","click .apply-filters":"applyFilters",'click [type="checkbox"]':"addFilter","click .clear-filters":"clearFilters","click .feature-name":"filterSection","click .filtering-by a":"backToFilters"},render:function(){var d=this;this.search(),this.uploader(),this.collection=new b.Collection,this.listenTo(this,"theme:end",function(){d.collection.loadingThemes||(d.collection.loadingThemes=!0,d.collection.currentQuery.page++,_.extend(d.collection.currentQuery.request,{page:d.collection.currentQuery.page}),d.collection.query(d.collection.currentQuery.request))}),this.listenTo(this.collection,"query:success",function(){a("body").removeClass("loading-themes"),a(".theme-browser").find("div.error").remove()}),this.listenTo(this.collection,"query:fail",function(){a("body").removeClass("loading-themes"),a(".theme-browser").find("div.error").remove(),a(".theme-browser").find("div.themes").before('<div class="error"><p>'+c.error+"</p></div>")}),this.view&&this.view.remove(),this.view=new b.view.Themes({collection:this.collection,parent:this}),this.page=0,this.$el.find(".themes").remove(),this.view.render(),this.$el.find(".theme-browser").append(this.view.el).addClass("rendered")},browse:function(a){this.collection.query({browse:a})},onSort:function(c){var d=a(c.target),e=d.data("sort");c.preventDefault(),a("body").removeClass("filters-applied more-filters-opened"),d.hasClass(this.activeClass)||(this.sort(e),b.router.navigate(b.router.baseUrl("?browse="+e)))},sort:function(b){this.clearSearch(),a(".theme-section, .theme-filter").removeClass(this.activeClass),a('[data-sort="'+b+'"]').addClass(this.activeClass),this.browse(b)},onFilter:function(b){var c,d=a(b.target),e=d.data("filter");d.hasClass(this.activeClass)||(a(".theme-filter, .theme-section").removeClass(this.activeClass),d.addClass(this.activeClass),e&&(e=_.union(e,this.filtersChecked()),c={tag:[e]},this.collection.query(c)))},addFilter:function(){this.filtersChecked()},applyFilters:function(b){var c,d=this.filtersChecked(),e={tag:d},f=a(".filtering-by .tags");b&&b.preventDefault(),a("body").addClass("filters-applied"),a(".theme-section.current").removeClass("current"),f.empty(),_.each(d,function(b){c=a('label[for="feature-id-'+b+'"]').text(),f.append('<span class="tag">'+c+"</span>")}),this.collection.query(e)},filtersChecked:function(){var b=a(".feature-group").find(":checkbox"),c=[];return _.each(b.filter(":checked"),function(b){c.push(a(b).prop("value"))}),0===c.length?(a(".apply-filters").find("span").text(""),a(".clear-filters").hide(),a("body").removeClass("filters-applied"),!1):(a(".apply-filters").find("span").text(c.length),a(".clear-filters").css("display","inline-block"),c)},activeClass:"current",searchContainer:a(".theme-navigation"),uploader:function(){a("a.upload").on("click",function(c){c.preventDefault(),a("body").addClass("show-upload-theme"),b.router.navigate(b.router.baseUrl("?upload"),{replace:!0})}),a("a.browse-themes").on("click",function(c){c.preventDefault(),a("body").removeClass("show-upload-theme"),b.router.navigate(b.router.baseUrl(""),{replace:!0})})},moreFilters:function(c){return c.preventDefault(),a("body").hasClass("filters-applied")?this.backToFilters():a("body").hasClass("more-filters-opened")&&this.filtersChecked()?this.addFilter():(this.clearSearch(),b.router.navigate(b.router.baseUrl("")),void a("body").toggleClass("more-filters-opened"))},filterSection:function(){a(event.target).parent().toggleClass("open")},clearFilters:function(b){var c=a(".feature-group").find(":checkbox"),d=this;b.preventDefault(),_.each(c.filter(":checked"),function(b){return a(b).prop("checked",!1),d.filtersChecked()})},backToFilters:function(b){b&&b.preventDefault(),a("body").removeClass("filters-applied")},clearSearch:function(){a("#theme-search-input").val("")}}),b.InstallerRouter=Backbone.Router.extend({routes:{"theme-install.php?theme=:slug":"preview","theme-install.php?browse=:sort":"sort","theme-install.php?upload":"upload","theme-install.php?search=:query":"search","theme-install.php":"sort"},baseUrl:function(a){return"theme-install.php"+a},search:function(b){a(".theme-search").val(b)},navigate:function(){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.apply(this,arguments)}}),b.RunInstaller={init:function(){this.view=new b.view.Installer({section:"featured",SearchView:b.view.InstallerSearch}),this.render()},render:function(){this.view.render(),this.routes(),Backbone.history.start({root:b.data.settings.adminUrl,pushState:!0,hashChange:!1})},routes:function(){var c=this,d={};b.router=new b.InstallerRouter,b.router.on("route:preview",function(a){d.theme=a,c.view.collection.query(d)}),b.router.on("route:sort",function(a){a||(a="featured"),c.view.sort(a),c.view.trigger("theme:close")}),b.router.on("route:upload",function(){a("a.upload").trigger("click")}),b.router.on("route:search",function(){a(".theme-search").focus().trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},a(document).ready(function(){b.isInstall?b.RunInstaller.init():b.Run.init()})}(jQuery);var tb_position;jQuery(document).ready(function(a){tb_position=function(){var b=a("#TB_window"),c=a(window).width(),d=a(window).height(),e=c>1040?1040:c,f=0;a("#wpadminbar").length&&(f=parseInt(a("#wpadminbar").css("height"),10)),b.size()&&(b.width(e-50).height(d-45-f),a("#TB_iframeContent").width(e-50).height(d-75-f),b.css({"margin-left":"-"+parseInt((e-50)/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:20+f+"px","margin-top":"0"}))},a(window).resize(function(){tb_position()})});
\ No newline at end of file
+window.wp=window.wp||{},function(a){var b,c;b=wp.themes=wp.themes||{},b.data=_wpThemeSettings,c=b.data.l10n,b.isInstall=!!b.data.settings.isInstall,_.extend(b,{model:{},view:{},routes:{},router:{},template:wp.template}),b.Model=Backbone.Model.extend({initialize:function(){var a;-1!==_.indexOf(b.data.installedThemes,this.get("slug"))&&this.set({installed:!0}),this.set({id:this.get("slug")||this.get("id")}),this.has("sections")&&(a=this.get("sections").description,this.set({description:a}))}}),b.view.Appearance=wp.Backbone.View.extend({el:"#wpbody-content .wrap .theme-browser",window:a(window),page:0,initialize:function(a){_.bindAll(this,"scroller"),this.SearchView=a.SearchView?a.SearchView:b.view.Search,this.window.bind("scroll",_.throttle(this.scroller,300))},render:function(){this.view=new b.view.Themes({collection:this.collection,parent:this}),this.search(),this.view.render(),this.$el.empty().append(this.view.el).addClass("rendered"),this.$el.append('<br class="clear"/>')},searchContainer:a("#wpbody h2:first"),search:function(){var d,e=this;1!==b.data.themes.length&&(d=new this.SearchView({collection:e.collection,parent:this}),d.render(),this.searchContainer.append(a.parseHTML('<label class="screen-reader-text" for="wp-filter-search-input">'+c.search+"</label>")).append(d.el))},scroller:function(){var a,b,c=this;a=this.window.scrollTop()+c.window.height(),b=c.$el.offset().top+c.$el.outerHeight(!1)-c.window.height(),b=Math.round(.9*b),a>b&&this.trigger("theme:scroll")}}),b.Collection=Backbone.Collection.extend({model:b.Model,terms:"",doSearch:function(a){this.terms!==a&&(this.terms=a,this.terms.length>0&&this.search(this.terms),""===this.terms&&this.reset(b.data.themes),this.trigger("update"))},search:function(c){var d,e,f;this.reset(b.data.themes,{silent:!0}),c=c.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),c=c.replace(/ /g,")(?=.*"),d=new RegExp("^(?=.*"+c+").+","i"),e=this.filter(function(a){return f=_.union(a.get("name"),a.get("id"),a.get("description"),a.get("author"),a.get("tags")),d.test(a.get("author"))&&c.length>2&&a.set("displayAuthor",!0),d.test(f)}),0===e.length?this.trigger("query:empty"):a("body").removeClass("no-results"),this.reset(e)},paginate:function(a){var b=this;return a=a||0,b=_(b.rest(20*a)),b=_(b.first(20))},count:!1,query:function(b){var c,d,e,f=this.queries,g=this;if(this.currentQuery.request=b,c=_.find(f,function(a){return _.isEqual(a.request,b)}),d=_.has(b,"page"),d||(this.currentQuery.page=1),c||d){if(d)return this.apiCall(b,d).done(function(a){g.add(a.themes),g.trigger("query:success"),g.loadingThemes=!1}).fail(function(){g.trigger("query:fail")});0===c.themes.length?g.trigger("query:empty"):a("body").removeClass("no-results"),_.isNumber(c.total)&&(this.count=c.total),this.reset(c.themes),c.total||(this.count=this.length),this.trigger("update"),this.trigger("query:success",this.count)}else c=this.apiCall(b).done(function(a){a.themes&&(g.reset(a.themes),e=a.info.results,f.push({themes:a.themes,request:b,total:e})),g.trigger("update"),g.trigger("query:success",e),a.themes&&0===a.themes.length&&g.trigger("query:empty")}).fail(function(){g.trigger("query:fail")})},queries:[],currentQuery:{page:1,request:{}},apiCall:function(b,c){return wp.ajax.send("query-themes",{data:{request:_.extend({per_page:100,fields:{description:!0,tested:!0,requires:!0,rating:!0,downloaded:!0,downloadLink:!0,last_updated:!0,homepage:!0,num_ratings:!0}},b)},beforeSend:function(){c||a("body").addClass("loading-content").removeClass("no-results")}})},loadingThemes:!1}),b.view.Theme=wp.Backbone.View.extend({className:"theme",state:"grid",html:b.template("theme"),events:{click:b.isInstall?"preview":"expand",keydown:b.isInstall?"preview":"expand",touchend:b.isInstall?"preview":"expand",keyup:"addFocus",touchmove:"preventExpand"},touchDrag:!1,render:function(){var a=this.model.toJSON();this.$el.html(this.html(a)).attr({tabindex:0,"aria-describedby":a.id+"-action "+a.id+"-name"}),this.activeTheme(),this.model.get("displayAuthor")&&this.$el.addClass("display-author"),this.model.get("installed")&&this.$el.addClass("is-installed")},activeTheme:function(){this.model.get("active")&&this.$el.addClass("active")},addFocus:function(){var b=a(":focus").hasClass("theme")?a(":focus"):a(":focus").parents(".theme");a(".theme.focus").removeClass("focus"),b.addClass("focus")},expand:function(c){var d=this;return c=c||window.event,"keydown"!==c.type||13===c.which||32===c.which?this.touchDrag===!0?this.touchDrag=!1:void(a(c.target).is(".theme-actions a")||(b.focusedTheme=this.$el,this.trigger("theme:expand",d.model.cid))):void 0},preventExpand:function(){this.touchDrag=!0},preview:function(c){var d,e,f=this;return this.touchDrag===!0?this.touchDrag=!1:void(a(c.target).hasClass("button-primary")||("keydown"!==c.type||13===c.which||32===c.which)&&("keydown"===c.type&&13!==c.which&&a(":focus").hasClass("button")||(c.preventDefault(),c=c||window.event,b.focusedTheme=this.$el,e=new b.view.Preview({model:this.model}),e.render(),this.setNavButtonsState(),1===this.model.collection.length?e.$el.addClass("no-navigation"):e.$el.removeClass("no-navigation"),a("div.wrap").append(e.el),this.listenTo(e,"theme:next",function(){return d=f.model,_.isUndefined(f.current)||(d=f.current),f.current=f.model.collection.at(f.model.collection.indexOf(d)+1),_.isUndefined(f.current)?(f.options.parent.parent.trigger("theme:end"),f.current=d):(e.model=f.current,e.render(),this.setNavButtonsState(),void a(".next-theme").focus())}).listenTo(e,"theme:previous",function(){d=f.model,0!==f.model.collection.indexOf(f.current)&&(_.isUndefined(f.current)||(d=f.current),f.current=f.model.collection.at(f.model.collection.indexOf(d)-1),_.isUndefined(f.current)||(e.model=f.current,e.render(),this.setNavButtonsState(),a(".previous-theme").focus()))}),this.listenTo(e,"preview:close",function(){f.current=f.model}))))},setNavButtonsState:function(){var b=a(".theme-install-overlay"),c=_.isUndefined(this.current)?this.model:this.current;0===this.model.collection.indexOf(c)&&b.find(".previous-theme").addClass("disabled"),_.isUndefined(this.model.collection.at(this.model.collection.indexOf(c)+1))&&b.find(".next-theme").addClass("disabled")}}),b.view.Details=wp.Backbone.View.extend({className:"theme-overlay",events:{click:"collapse","click .delete-theme":"deleteTheme","click .left":"previousTheme","click .right":"nextTheme"},html:b.template("theme-single"),render:function(){var a=this.model.toJSON();this.$el.html(this.html(a)),this.activeTheme(),this.navigation(),this.screenshotCheck(this.$el),this.containFocus(this.$el)},activeTheme:function(){this.$el.toggleClass("active",this.model.get("active"))},containFocus:function(b){var c;_.delay(function(){a(".theme-wrap a.button-primary:visible").focus()},500),b.on("keydown.wp-themes",function(d){9===d.which&&(c=a(d.target),c.is("button.left")&&d.shiftKey?(b.find(".theme-actions a:last-child").focus(),d.preventDefault()):c.is(".theme-actions a:last-child")&&(b.find("button.left").focus(),d.preventDefault()))})},collapse:function(c){var d,e=this;c=c||window.event,1!==b.data.themes.length&&(a(c.target).is(".theme-backdrop")||a(c.target).is(".close")||27===c.keyCode)&&(a("body").addClass("closing-overlay"),this.$el.fadeOut(130,function(){a("body").removeClass("closing-overlay"),e.closeOverlay(),d=document.body.scrollTop,b.router.navigate(b.router.baseUrl("")),document.body.scrollTop=d,b.focusedTheme&&b.focusedTheme.focus()}))},navigation:function(){this.model.cid===this.model.collection.at(0).cid&&this.$el.find(".left").addClass("disabled"),this.model.cid===this.model.collection.at(this.model.collection.length-1).cid&&this.$el.find(".right").addClass("disabled")},closeOverlay:function(){a("body").removeClass("modal-open"),this.remove(),this.unbind(),this.trigger("theme:collapse")},deleteTheme:function(){return confirm(b.data.settings.confirmDelete)},nextTheme:function(){var a=this;return a.trigger("theme:next",a.model.cid),!1},previousTheme:function(){var a=this;return a.trigger("theme:previous",a.model.cid),!1},screenshotCheck:function(a){var b,c;b=a.find(".screenshot img"),c=new Image,c.src=b.attr("src"),c.width&&c.width<=300&&a.addClass("small-screenshot")}}),b.view.Preview=b.view.Details.extend({className:"wp-full-overlay expanded",el:".theme-install-overlay",events:{"click .close-full-overlay":"close","click .collapse-sidebar":"collapse","click .previous-theme":"previousTheme","click .next-theme":"nextTheme",keyup:"keyEvent"},html:b.template("theme-preview"),render:function(){var c=this.model.toJSON();this.$el.html(this.html(c)),b.router.navigate(b.router.baseUrl("?theme="+this.model.get("id")),{replace:!0}),this.$el.fadeIn(200,function(){a("body").addClass("theme-installer-active full-overlay-active"),a(".close-full-overlay").focus()})},close:function(){return this.$el.fadeOut(200,function(){a("body").removeClass("theme-installer-active full-overlay-active"),b.focusedTheme&&b.focusedTheme.focus()}),b.router.navigate(b.router.baseUrl("")),this.trigger("preview:close"),this.undelegateEvents(),this.unbind(),!1},collapse:function(){return this.$el.toggleClass("collapsed").toggleClass("expanded"),!1},keyEvent:function(a){27===a.keyCode&&(this.undelegateEvents(),this.close()),39===a.keyCode&&_.once(this.nextTheme()),37===a.keyCode&&this.previousTheme()}}),b.view.Themes=wp.Backbone.View.extend({className:"themes",$overlay:a("div.theme-overlay"),index:0,count:a(".theme-count"),initialize:function(b){var c=this;this.parent=b.parent,this.setView("grid"),c.currentTheme(),this.listenTo(c.collection,"update",function(){c.parent.page=0,c.currentTheme(),c.render(this)}),this.listenTo(c.collection,"query:success",function(a){c.count.text(_.isNumber(a)?a:c.collection.length)}),this.listenTo(c.collection,"query:empty",function(){a("body").addClass("no-results")}),this.listenTo(this.parent,"theme:scroll",function(){c.renderThemes(c.parent.page)}),this.listenTo(this.parent,"theme:close",function(){c.overlay&&c.overlay.closeOverlay()}),a("body").on("keyup",function(a){c.overlay&&(39===a.keyCode&&c.overlay.nextTheme(),37===a.keyCode&&c.overlay.previousTheme(),27===a.keyCode&&c.overlay.collapse(a))})},render:function(){this.$el.html(""),1===b.data.themes.length&&(this.singleTheme=new b.view.Details({model:this.collection.models[0]}),this.singleTheme.render(),this.$el.addClass("single-theme"),this.$el.append(this.singleTheme.el)),this.options.collection.size()>0&&this.renderThemes(this.parent.page),this.count.text(this.collection.count?this.collection.count:this.collection.length)},renderThemes:function(d){var e=this;return e.instance=e.collection.paginate(d),0===e.instance.size()?void this.parent.trigger("theme:end"):(d>=1&&a(".add-new-theme").remove(),e.instance.each(function(a){e.theme=new b.view.Theme({model:a,parent:e}),e.theme.render(),e.$el.append(e.theme.el),e.listenTo(e.theme,"theme:expand",e.expand,e)}),b.data.settings.canInstall&&this.$el.append('<div class="theme add-new-theme"><a href="'+b.data.settings.installURI+'"><div class="theme-screenshot"><span></span></div><h3 class="theme-name">'+c.addNew+"</h3></a></div>"),void this.parent.page++)},currentTheme:function(){var a,b=this;a=b.collection.findWhere({active:!0}),a&&(b.collection.remove(a),b.collection.add(a,{at:0}))},setView:function(a){return a},expand:function(c){var d=this;this.model=d.collection.get(c),b.router.navigate(b.router.baseUrl("?theme="+this.model.id)),this.setView("detail"),a("body").addClass("modal-open"),this.overlay=new b.view.Details({model:d.model}),this.overlay.render(),this.$overlay.html(this.overlay.el),this.listenTo(this.overlay,"theme:next",function(){d.next([d.model.cid])}).listenTo(this.overlay,"theme:previous",function(){d.previous([d.model.cid])})},next:function(a){var b,c,d=this;b=d.collection.get(a[0]),c=d.collection.at(d.collection.indexOf(b)+1),void 0!==c&&(this.overlay.closeOverlay(),d.theme.trigger("theme:expand",c.cid))},previous:function(a){var b,c,d=this;b=d.collection.get(a[0]),c=d.collection.at(d.collection.indexOf(b)-1),void 0!==c&&(this.overlay.closeOverlay(),d.theme.trigger("theme:expand",c.cid))}}),b.view.Search=wp.Backbone.View.extend({tagName:"input",className:"wp-filter-search",id:"wp-filter-search-input",searching:!1,attributes:{placeholder:c.searchPlaceholder,type:"search"},events:{input:"search",keyup:"search",change:"search",search:"search",blur:"pushState"},initialize:function(a){this.parent=a.parent,this.listenTo(this.parent,"theme:close",function(){this.searching=!1})},search:function(a){var c={};"keyup"===a.type&&27===a.which&&(a.target.value=""),13===a.which&&this.$el.trigger("blur"),this.collection.doSearch(a.target.value),this.searching&&13!==a.which?c.replace=!0:this.searching=!0,a.target.value?b.router.navigate(b.router.baseUrl("?search="+a.target.value),c):b.router.navigate(b.router.baseUrl(""))},pushState:function(a){var c=b.router.baseUrl("");a.target.value&&(c=b.router.baseUrl("?search="+a.target.value)),this.searching=!1,b.router.navigate(c)}}),b.Router=Backbone.Router.extend({routes:{"themes.php?theme=:slug":"theme","themes.php?search=:query":"search","themes.php?s=:query":"search","themes.php":"themes","":"themes"},baseUrl:function(a){return"themes.php"+a},search:function(b){a(".wp-filter-search").val(b)},themes:function(){a(".wp-filter-search").val("")},navigate:function(){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.apply(this,arguments)}}),b.Run={init:function(){this.themes=new b.Collection(b.data.themes),this.view=new b.view.Appearance({collection:this.themes}),this.render()},render:function(){this.view.render(),this.routes(),Backbone.history.start({root:b.data.settings.adminUrl,pushState:!0,hashChange:!1})},routes:function(){var c=this;b.router=new b.Router,b.router.on("route:theme",function(a){c.view.view.expand(a)}),b.router.on("route:themes",function(){c.themes.doSearch(""),c.view.trigger("theme:close")}),b.router.on("route:search",function(){a(".wp-filter-search").trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},b.view.InstallerSearch=b.view.Search.extend({events:{keyup:"search"},search:function(a){("keyup"!==a.type||9!==a.which&&16!==a.which)&&(this.collection=this.options.parent.view.collection,"keyup"===a.type&&27===a.which&&(a.target.value=""),_.debounce(_.bind(this.doSearch,this),300)(a.target.value))},doSearch:_.debounce(function(c){var d={};d.search=c,"author:"===c.substring(0,7)&&(d.search="",d.author=c.slice(7)),"tag:"===c.substring(0,4)&&(d.search="",d.tag=[c.slice(4)]),a(".filter-links li > a.current").removeClass("current"),a("body").removeClass("show-filters filters-applied"),this.collection.query(d),b.router.navigate(b.router.baseUrl("?search="+c),{replace:!0})},300)}),b.view.Installer=b.view.Appearance.extend({el:"#wpbody-content .wrap",events:{"click .filter-links li > a":"onSort","click .theme-filter":"onFilter","click .drawer-toggle":"moreFilters","click .filter-drawer .apply-filters":"applyFilters",'click .filter-group [type="checkbox"]':"addFilter","click .filter-drawer .clear-filters":"clearFilters","click .filtered-by":"backToFilters"},render:function(){var d=this;this.search(),this.uploader(),this.collection=new b.Collection,this.listenTo(this,"theme:end",function(){d.collection.loadingThemes||(d.collection.loadingThemes=!0,d.collection.currentQuery.page++,_.extend(d.collection.currentQuery.request,{page:d.collection.currentQuery.page}),d.collection.query(d.collection.currentQuery.request))}),this.listenTo(this.collection,"query:success",function(){a("body").removeClass("loading-content"),a(".theme-browser").find("div.error").remove()}),this.listenTo(this.collection,"query:fail",function(){a("body").removeClass("loading-content"),a(".theme-browser").find("div.error").remove(),a(".theme-browser").find("div.themes").before('<div class="error"><p>'+c.error+"</p></div>")}),this.view&&this.view.remove(),this.view=new b.view.Themes({collection:this.collection,parent:this}),this.page=0,this.$el.find(".themes").remove(),this.view.render(),this.$el.find(".theme-browser").append(this.view.el).addClass("rendered")},browse:function(a){this.collection.query({browse:a})},onSort:function(c){var d=a(c.target),e=d.data("sort");c.preventDefault(),a("body").removeClass("filters-applied show-filters"),d.hasClass(this.activeClass)||(this.sort(e),b.router.navigate(b.router.baseUrl("?browse="+e)))},sort:function(b){this.clearSearch(),a(".filter-links li > a, .theme-filter").removeClass(this.activeClass),a('[data-sort="'+b+'"]').addClass(this.activeClass),this.browse(b)},onFilter:function(b){var c,d=a(b.target),e=d.data("filter");d.hasClass(this.activeClass)||(a(".filter-links li > a, .theme-section").removeClass(this.activeClass),d.addClass(this.activeClass),e&&(e=_.union(e,this.filtersChecked()),c={tag:[e]},this.collection.query(c)))},addFilter:function(){this.filtersChecked()},applyFilters:function(b){var c,d=this.filtersChecked(),e={tag:d},f=a(".filtered-by .tags");b&&b.preventDefault(),a("body").addClass("filters-applied"),a(".filter-links li > a.current").removeClass("current"),f.empty(),_.each(d,function(b){c=a('label[for="filter-id-'+b+'"]').text(),f.append('<span class="tag">'+c+"</span>")}),this.collection.query(e)},filtersChecked:function(){var b=a(".filter-group").find(":checkbox"),c=[];return _.each(b.filter(":checked"),function(b){c.push(a(b).prop("value"))}),0===c.length?(a(".filter-drawer .apply-filters").find("span").text(""),a(".filter-drawer .clear-filters").hide(),a("body").removeClass("filters-applied"),!1):(a(".filter-drawer .apply-filters").find("span").text(c.length),a(".filter-drawer .clear-filters").css("display","inline-block"),c)},activeClass:"current",searchContainer:a(".wp-filter .search-form"),uploader:function(){a("a.upload").on("click",function(c){c.preventDefault(),a("body").addClass("show-upload-theme"),b.router.navigate(b.router.baseUrl("?upload"),{replace:!0})}),a("a.browse-themes").on("click",function(c){c.preventDefault(),a("body").removeClass("show-upload-theme"),b.router.navigate(b.router.baseUrl(""),{replace:!0})})},moreFilters:function(c){return c.preventDefault(),a("body").hasClass("filters-applied")?this.backToFilters():a("body").hasClass("show-filters")&&this.filtersChecked()?this.addFilter():(this.clearSearch(),b.router.navigate(b.router.baseUrl("")),void a("body").toggleClass("show-filters"))},clearFilters:function(b){var c=a(".filter-group").find(":checkbox"),d=this;b.preventDefault(),_.each(c.filter(":checked"),function(b){return a(b).prop("checked",!1),d.filtersChecked()})},backToFilters:function(b){b&&b.preventDefault(),a("body").removeClass("filters-applied")},clearSearch:function(){a("#wp-filter-search-input").val("")}}),b.InstallerRouter=Backbone.Router.extend({routes:{"theme-install.php?theme=:slug":"preview","theme-install.php?browse=:sort":"sort","theme-install.php?upload":"upload","theme-install.php?search=:query":"search","theme-install.php":"sort"},baseUrl:function(a){return"theme-install.php"+a},search:function(b){a(".wp-filter-search").val(b)},navigate:function(){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.apply(this,arguments)}}),b.RunInstaller={init:function(){this.view=new b.view.Installer({section:"featured",SearchView:b.view.InstallerSearch}),this.render()},render:function(){this.view.render(),this.routes(),Backbone.history.start({root:b.data.settings.adminUrl,pushState:!0,hashChange:!1})},routes:function(){var c=this,d={};b.router=new b.InstallerRouter,b.router.on("route:preview",function(a){d.theme=a,c.view.collection.query(d)}),b.router.on("route:sort",function(a){a||(a="featured"),c.view.sort(a),c.view.trigger("theme:close")}),b.router.on("route:upload",function(){a("a.upload").trigger("click")}),b.router.on("route:search",function(){a(".wp-filter-search").focus().trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},a(document).ready(function(){b.isInstall?b.RunInstaller.init():b.Run.init()})}(jQuery);var tb_position;jQuery(document).ready(function(a){tb_position=function(){var b=a("#TB_window"),c=a(window).width(),d=a(window).height(),e=c>1040?1040:c,f=0;a("#wpadminbar").length&&(f=parseInt(a("#wpadminbar").css("height"),10)),b.size()&&(b.width(e-50).height(d-45-f),a("#TB_iframeContent").width(e-50).height(d-75-f),b.css({"margin-left":"-"+parseInt((e-50)/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:20+f+"px","margin-top":"0"}))},a(window).resize(function(){tb_position()})});
\ No newline at end of file
diff --git a/wp-admin/js/updates.js b/wp-admin/js/updates.js
index 40b04e3c2..3139c3ef2 100644
--- a/wp-admin/js/updates.js
+++ b/wp-admin/js/updates.js
@@ -32,7 +32,7 @@ window.wp = window.wp || {};
 			$elem = $( '#menu-plugins' );
 			pluginCount = $elem.find( '.plugin-count' ).eq(0).text();
 			pluginCount = parseInt( pluginCount, 10 ) - 1;
-			if ( count < 0 ) {
+			if ( pluginCount < 0 ) {
 				return;
 			}
 			$elem.find( '.plugin-count' ).text( pluginCount );
diff --git a/wp-admin/js/updates.min.js b/wp-admin/js/updates.min.js
index 766fd7301..63068b198 100644
--- a/wp-admin/js/updates.min.js
+++ b/wp-admin/js/updates.min.js
@@ -1 +1 @@
-window.wp=window.wp||{},function(a,b){b.updates={},b.updates.decrementCount=function(b){var c,d,e;if(e=a("#wp-admin-bar-updates .ab-label"),c=e.text(),c=parseInt(c,10)-1,!(0>c)&&(a("#wp-admin-bar-updates .ab-item").removeAttr("title"),e.text(c),e=a('a[href="update-core.php"] .update-plugins'),e.each(function(a,b){b.className=b.className.replace(/count-\d+/,"count-"+c)}),e.removeAttr("title"),e.find(".update-count").text(c),"plugin"===b)){if(e=a("#menu-plugins"),d=e.find(".plugin-count").eq(0).text(),d=parseInt(d,10)-1,0>c)return;e.find(".plugin-count").text(d),e.find(".update-plugins").each(function(a,b){b.className=b.className.replace(/count-\d+/,"count-"+d)})}},a(window).on("message",function(c){var d,e=c.originalEvent,f=document.location,g=f.protocol+"//"+f.hostname;e.origin===g&&(d=a.parseJSON(e.data),"undefined"!=typeof d.action&&"decrementUpdateCount"===d.action&&b.updates.decrementCount(d.upgradeType))})}(jQuery,window.wp);
\ No newline at end of file
+window.wp=window.wp||{},function(a,b){b.updates={},b.updates.decrementCount=function(b){var c,d,e;if(e=a("#wp-admin-bar-updates .ab-label"),c=e.text(),c=parseInt(c,10)-1,!(0>c)&&(a("#wp-admin-bar-updates .ab-item").removeAttr("title"),e.text(c),e=a('a[href="update-core.php"] .update-plugins'),e.each(function(a,b){b.className=b.className.replace(/count-\d+/,"count-"+c)}),e.removeAttr("title"),e.find(".update-count").text(c),"plugin"===b)){if(e=a("#menu-plugins"),d=e.find(".plugin-count").eq(0).text(),d=parseInt(d,10)-1,0>d)return;e.find(".plugin-count").text(d),e.find(".update-plugins").each(function(a,b){b.className=b.className.replace(/count-\d+/,"count-"+d)})}},a(window).on("message",function(c){var d,e=c.originalEvent,f=document.location,g=f.protocol+"//"+f.hostname;e.origin===g&&(d=a.parseJSON(e.data),"undefined"!=typeof d.action&&"decrementUpdateCount"===d.action&&b.updates.decrementCount(d.upgradeType))})}(jQuery,window.wp);
\ No newline at end of file
diff --git a/wp-admin/js/widgets.js b/wp-admin/js/widgets.js
index 7390563e4..81d2248cc 100644
--- a/wp-admin/js/widgets.js
+++ b/wp-admin/js/widgets.js
@@ -50,10 +50,12 @@ wpWidgets = {
 						css[ margin ] = widgetWidth - ( targetWidth + 30 ) + 'px';
 						widget.css( css );
 					}
+					widget.addClass( 'open' );
 					inside.slideDown('fast');
 				} else {
 					inside.slideUp('fast', function() {
 						widget.attr( 'style', '' );
+						widget.removeClass( 'open' );
 					});
 				}
 				e.preventDefault();
diff --git a/wp-admin/js/widgets.min.js b/wp-admin/js/widgets.min.js
index 85b2975ad..f301c841f 100644
--- a/wp-admin/js/widgets.min.js
+++ b/wp-admin/js/widgets.min.js
@@ -1 +1 @@
-var wpWidgets;!function(a){wpWidgets={init:function(){var b,c,d=this,e=a(".widgets-chooser"),f=e.find(".widgets-chooser-sidebars"),g=a("div.widgets-sortables"),h=!("undefined"==typeof isRtl||!isRtl);a("#widgets-right .sidebar-name").click(function(){var b=a(this),c=b.closest(".widgets-holder-wrap");c.hasClass("closed")?(c.removeClass("closed"),b.parent().sortable("refresh")):c.addClass("closed")}),a("#widgets-left .sidebar-name").click(function(){a(this).closest(".widgets-holder-wrap").toggleClass("closed")}),a(document.body).bind("click.widgets-toggle",function(b){var c,d,e,f,g,i=a(b.target),j={"z-index":100};i.parents(".widget-top").length&&!i.parents("#available-widgets").length?(c=i.closest("div.widget"),d=c.children(".widget-inside"),e=parseInt(c.find("input.widget-width").val(),10),f=c.parent().width(),d.is(":hidden")?(e>250&&e+30>f&&c.closest("div.widgets-sortables").length&&(g=c.closest("div.widget-liquid-right").length?h?"margin-right":"margin-left":h?"margin-left":"margin-right",j[g]=f-(e+30)+"px",c.css(j)),d.slideDown("fast")):d.slideUp("fast",function(){c.attr("style","")}),b.preventDefault()):i.hasClass("widget-control-save")?(wpWidgets.save(i.closest("div.widget"),0,1,0),b.preventDefault()):i.hasClass("widget-control-remove")?(wpWidgets.save(i.closest("div.widget"),1,1,0),b.preventDefault()):i.hasClass("widget-control-close")&&(wpWidgets.close(i.closest("div.widget")),b.preventDefault())}),g.children(".widget").each(function(){var b=a(this);wpWidgets.appendTitle(this),b.find("p.widget-error").length&&b.find("a.widget-action").trigger("click")}),a("#widget-list").children(".widget").draggable({connectToSortable:"div.widgets-sortables",handle:"> .widget-top > .widget-title",distance:2,helper:"clone",zIndex:100,containment:"document",start:function(b,e){var f=a(this).find(".widgets-chooser");e.helper.find("div.widget-description").hide(),c=this.id,f.length&&(a("#wpbody-content").append(f.hide()),e.helper.find(".widgets-chooser").remove(),d.clearWidgetSelection())},stop:function(){b&&a(b).hide(),b=""}}),g.sortable({placeholder:"widget-placeholder",items:"> .widget",handle:"> .widget-top > .widget-title",cursor:"move",distance:2,containment:"document",start:function(b,c){var d,e=a(this),f=e.parent(),g=c.item.children(".widget-inside");"block"===g.css("display")&&(g.hide(),a(this).sortable("refreshPositions")),f.hasClass("closed")||(d=c.item.hasClass("ui-draggable")?e.height():1+e.height(),e.css("min-height",d+"px"))},stop:function(d,e){var f,g,h,i,j,k,l=e.item,m=c;return l.hasClass("deleting")?(wpWidgets.save(l,1,0,1),void l.remove()):(f=l.find("input.add_new").val(),g=l.find("input.multi_number").val(),l.attr("style","").removeClass("ui-draggable"),c="",f&&("multi"===f?(l.html(l.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,g)})),l.attr("id",m.replace("__i__",g)),g++,a("div#"+m).find("input.multi_number").val(g)):"single"===f&&(l.attr("id","new-"+m),b="div#"+m),wpWidgets.save(l,0,0,1),l.find("input.add_new").val(""),a(document).trigger("widget-added",[l])),h=l.parent(),h.parent().hasClass("closed")&&(h.parent().removeClass("closed"),i=h.children(".widget"),i.length>1&&(j=i.get(0),k=l.get(0),j.id&&k.id&&j.id!==k.id&&a(j).before(l))),void(f?l.find("a.widget-action").trigger("click"):wpWidgets.saveOrder(h.attr("id"))))},activate:function(){a(this).parent().addClass("widget-hover")},deactivate:function(){a(this).css("min-height","").parent().removeClass("widget-hover")},receive:function(b,c){var d=a(c.sender);return this.id.indexOf("orphaned_widgets")>-1?void d.sortable("cancel"):void(d.attr("id").indexOf("orphaned_widgets")>-1&&!d.children(".widget").length&&d.parents(".orphan-sidebar").slideUp(400,function(){a(this).remove()}))}}).sortable("option","connectWith","div.widgets-sortables"),a("#available-widgets").droppable({tolerance:"pointer",accept:function(b){return"widget-list"!==a(b).parent().attr("id")},drop:function(b,c){c.draggable.addClass("deleting"),a("#removing-widget").hide().children("span").html("")},over:function(b,c){c.draggable.addClass("deleting"),a("div.widget-placeholder").hide(),c.draggable.hasClass("ui-sortable-helper")&&a("#removing-widget").show().children("span").html(c.draggable.find("div.widget-title").children("h4").html())},out:function(b,c){c.draggable.removeClass("deleting"),a("div.widget-placeholder").show(),a("#removing-widget").hide().children("span").html("")}}),a("#widgets-right .widgets-holder-wrap").each(function(b,c){var d=a(c),e=d.find(".sidebar-name h3").text(),g=d.find(".widgets-sortables").attr("id"),h=a('<li tabindex="0">').text(a.trim(e));0===b&&h.addClass("widgets-chooser-selected"),f.append(h),h.data("sidebarId",g)}),a("#available-widgets .widget .widget-title").on("click.widgets-chooser",function(){var b=a(this).closest(".widget");b.hasClass("widget-in-question")||a("#widgets-left").hasClass("chooser")?d.closeChooser():(d.clearWidgetSelection(),a("#widgets-left").addClass("chooser"),b.addClass("widget-in-question").children(".widget-description").after(e),e.slideDown(300,function(){f.find(".widgets-chooser-selected").focus()}),f.find("li").on("focusin.widgets-chooser",function(){f.find(".widgets-chooser-selected").removeClass("widgets-chooser-selected"),a(this).addClass("widgets-chooser-selected")}))}),e.on("click.widgets-chooser",function(b){var c=a(b.target);c.hasClass("button-primary")?(d.addWidget(e),d.closeChooser()):c.hasClass("button-secondary")&&d.closeChooser()}).on("keyup.widgets-chooser",function(b){b.which===a.ui.keyCode.ENTER?a(b.target).hasClass("button-secondary")?d.closeChooser():(d.addWidget(e),d.closeChooser()):b.which===a.ui.keyCode.ESCAPE&&d.closeChooser()})},saveOrder:function(b){var c={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};b&&a("#"+b).find(".spinner:first").css("display","inline-block"),a("div.widgets-sortables").each(function(){a(this).sortable&&(c["sidebars["+a(this).attr("id")+"]"]=a(this).sortable("toArray").join(","))}),a.post(ajaxurl,c,function(){a(".spinner").hide()})},save:function(b,c,d,e){var f,g=b.closest("div.widgets-sortables").attr("id"),h=b.find("form").serialize();b=a(b),a(".spinner",b).show(),f={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:g},c&&(f.delete_widget=1),h+="&"+a.param(f),a.post(ajaxurl,h,function(f){var g;c?(a("input.widget_number",b).val()||(g=a("input.widget-id",b).val(),a("#available-widgets").find("input.widget-id").each(function(){a(this).val()===g&&a(this).closest("div.widget").show()})),d?(e=0,b.slideUp("fast",function(){a(this).remove(),wpWidgets.saveOrder()})):b.remove()):(a(".spinner").hide(),f&&f.length>2&&(a("div.widget-content",b).html(f),wpWidgets.appendTitle(b),a(document).trigger("widget-updated",[b]))),e&&wpWidgets.saveOrder()})},appendTitle:function(b){var c=a('input[id*="-title"]',b).val()||"";c&&(c=": "+c.replace(/<[^<>]+>/g,"").replace(/</g,"&lt;").replace(/>/g,"&gt;")),a(b).children(".widget-top").children(".widget-title").children().children(".in-widget-title").html(c)},close:function(a){a.children(".widget-inside").slideUp("fast",function(){a.attr("style","")})},addWidget:function(b){var c,d,e,f,g,h,i,j=b.find(".widgets-chooser-selected").data("sidebarId"),k=a("#"+j);c=a("#available-widgets").find(".widget-in-question").clone(),d=c.attr("id"),e=c.find("input.add_new").val(),f=c.find("input.multi_number").val(),c.find(".widgets-chooser").remove(),"multi"===e?(c.html(c.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,f)})),c.attr("id",d.replace("__i__",f)),f++,a("#"+d).find("input.multi_number").val(f)):"single"===e&&(c.attr("id","new-"+d),a("#"+d).hide()),k.closest(".widgets-holder-wrap").removeClass("closed"),k.append(c),k.sortable("refresh"),wpWidgets.save(c,0,0,1),c.find("input.add_new").val(""),a(document).trigger("widget-added",[c]),g=a(window).scrollTop(),h=g+a(window).height(),i=k.offset(),i.bottom=i.top+k.outerHeight(),(g>i.bottom||h<i.top)&&a("html, body").animate({scrollTop:i.top-130},200),window.setTimeout(function(){c.find(".widget-title").trigger("click")},250)},closeChooser:function(){var b=this;a(".widgets-chooser").slideUp(200,function(){a("#wpbody-content").append(this),b.clearWidgetSelection()})},clearWidgetSelection:function(){a("#widgets-left").removeClass("chooser"),a(".widget-in-question").removeClass("widget-in-question")}},a(document).ready(function(){wpWidgets.init()})}(jQuery);
\ No newline at end of file
+var wpWidgets;!function(a){wpWidgets={init:function(){var b,c,d=this,e=a(".widgets-chooser"),f=e.find(".widgets-chooser-sidebars"),g=a("div.widgets-sortables"),h=!("undefined"==typeof isRtl||!isRtl);a("#widgets-right .sidebar-name").click(function(){var b=a(this),c=b.closest(".widgets-holder-wrap");c.hasClass("closed")?(c.removeClass("closed"),b.parent().sortable("refresh")):c.addClass("closed")}),a("#widgets-left .sidebar-name").click(function(){a(this).closest(".widgets-holder-wrap").toggleClass("closed")}),a(document.body).bind("click.widgets-toggle",function(b){var c,d,e,f,g,i=a(b.target),j={"z-index":100};i.parents(".widget-top").length&&!i.parents("#available-widgets").length?(c=i.closest("div.widget"),d=c.children(".widget-inside"),e=parseInt(c.find("input.widget-width").val(),10),f=c.parent().width(),d.is(":hidden")?(e>250&&e+30>f&&c.closest("div.widgets-sortables").length&&(g=c.closest("div.widget-liquid-right").length?h?"margin-right":"margin-left":h?"margin-left":"margin-right",j[g]=f-(e+30)+"px",c.css(j)),c.addClass("open"),d.slideDown("fast")):d.slideUp("fast",function(){c.attr("style",""),c.removeClass("open")}),b.preventDefault()):i.hasClass("widget-control-save")?(wpWidgets.save(i.closest("div.widget"),0,1,0),b.preventDefault()):i.hasClass("widget-control-remove")?(wpWidgets.save(i.closest("div.widget"),1,1,0),b.preventDefault()):i.hasClass("widget-control-close")&&(wpWidgets.close(i.closest("div.widget")),b.preventDefault())}),g.children(".widget").each(function(){var b=a(this);wpWidgets.appendTitle(this),b.find("p.widget-error").length&&b.find("a.widget-action").trigger("click")}),a("#widget-list").children(".widget").draggable({connectToSortable:"div.widgets-sortables",handle:"> .widget-top > .widget-title",distance:2,helper:"clone",zIndex:100,containment:"document",start:function(b,e){var f=a(this).find(".widgets-chooser");e.helper.find("div.widget-description").hide(),c=this.id,f.length&&(a("#wpbody-content").append(f.hide()),e.helper.find(".widgets-chooser").remove(),d.clearWidgetSelection())},stop:function(){b&&a(b).hide(),b=""}}),g.sortable({placeholder:"widget-placeholder",items:"> .widget",handle:"> .widget-top > .widget-title",cursor:"move",distance:2,containment:"document",start:function(b,c){var d,e=a(this),f=e.parent(),g=c.item.children(".widget-inside");"block"===g.css("display")&&(g.hide(),a(this).sortable("refreshPositions")),f.hasClass("closed")||(d=c.item.hasClass("ui-draggable")?e.height():1+e.height(),e.css("min-height",d+"px"))},stop:function(d,e){var f,g,h,i,j,k,l=e.item,m=c;return l.hasClass("deleting")?(wpWidgets.save(l,1,0,1),void l.remove()):(f=l.find("input.add_new").val(),g=l.find("input.multi_number").val(),l.attr("style","").removeClass("ui-draggable"),c="",f&&("multi"===f?(l.html(l.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,g)})),l.attr("id",m.replace("__i__",g)),g++,a("div#"+m).find("input.multi_number").val(g)):"single"===f&&(l.attr("id","new-"+m),b="div#"+m),wpWidgets.save(l,0,0,1),l.find("input.add_new").val(""),a(document).trigger("widget-added",[l])),h=l.parent(),h.parent().hasClass("closed")&&(h.parent().removeClass("closed"),i=h.children(".widget"),i.length>1&&(j=i.get(0),k=l.get(0),j.id&&k.id&&j.id!==k.id&&a(j).before(l))),void(f?l.find("a.widget-action").trigger("click"):wpWidgets.saveOrder(h.attr("id"))))},activate:function(){a(this).parent().addClass("widget-hover")},deactivate:function(){a(this).css("min-height","").parent().removeClass("widget-hover")},receive:function(b,c){var d=a(c.sender);return this.id.indexOf("orphaned_widgets")>-1?void d.sortable("cancel"):void(d.attr("id").indexOf("orphaned_widgets")>-1&&!d.children(".widget").length&&d.parents(".orphan-sidebar").slideUp(400,function(){a(this).remove()}))}}).sortable("option","connectWith","div.widgets-sortables"),a("#available-widgets").droppable({tolerance:"pointer",accept:function(b){return"widget-list"!==a(b).parent().attr("id")},drop:function(b,c){c.draggable.addClass("deleting"),a("#removing-widget").hide().children("span").html("")},over:function(b,c){c.draggable.addClass("deleting"),a("div.widget-placeholder").hide(),c.draggable.hasClass("ui-sortable-helper")&&a("#removing-widget").show().children("span").html(c.draggable.find("div.widget-title").children("h4").html())},out:function(b,c){c.draggable.removeClass("deleting"),a("div.widget-placeholder").show(),a("#removing-widget").hide().children("span").html("")}}),a("#widgets-right .widgets-holder-wrap").each(function(b,c){var d=a(c),e=d.find(".sidebar-name h3").text(),g=d.find(".widgets-sortables").attr("id"),h=a('<li tabindex="0">').text(a.trim(e));0===b&&h.addClass("widgets-chooser-selected"),f.append(h),h.data("sidebarId",g)}),a("#available-widgets .widget .widget-title").on("click.widgets-chooser",function(){var b=a(this).closest(".widget");b.hasClass("widget-in-question")||a("#widgets-left").hasClass("chooser")?d.closeChooser():(d.clearWidgetSelection(),a("#widgets-left").addClass("chooser"),b.addClass("widget-in-question").children(".widget-description").after(e),e.slideDown(300,function(){f.find(".widgets-chooser-selected").focus()}),f.find("li").on("focusin.widgets-chooser",function(){f.find(".widgets-chooser-selected").removeClass("widgets-chooser-selected"),a(this).addClass("widgets-chooser-selected")}))}),e.on("click.widgets-chooser",function(b){var c=a(b.target);c.hasClass("button-primary")?(d.addWidget(e),d.closeChooser()):c.hasClass("button-secondary")&&d.closeChooser()}).on("keyup.widgets-chooser",function(b){b.which===a.ui.keyCode.ENTER?a(b.target).hasClass("button-secondary")?d.closeChooser():(d.addWidget(e),d.closeChooser()):b.which===a.ui.keyCode.ESCAPE&&d.closeChooser()})},saveOrder:function(b){var c={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};b&&a("#"+b).find(".spinner:first").css("display","inline-block"),a("div.widgets-sortables").each(function(){a(this).sortable&&(c["sidebars["+a(this).attr("id")+"]"]=a(this).sortable("toArray").join(","))}),a.post(ajaxurl,c,function(){a(".spinner").hide()})},save:function(b,c,d,e){var f,g=b.closest("div.widgets-sortables").attr("id"),h=b.find("form").serialize();b=a(b),a(".spinner",b).show(),f={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:g},c&&(f.delete_widget=1),h+="&"+a.param(f),a.post(ajaxurl,h,function(f){var g;c?(a("input.widget_number",b).val()||(g=a("input.widget-id",b).val(),a("#available-widgets").find("input.widget-id").each(function(){a(this).val()===g&&a(this).closest("div.widget").show()})),d?(e=0,b.slideUp("fast",function(){a(this).remove(),wpWidgets.saveOrder()})):b.remove()):(a(".spinner").hide(),f&&f.length>2&&(a("div.widget-content",b).html(f),wpWidgets.appendTitle(b),a(document).trigger("widget-updated",[b]))),e&&wpWidgets.saveOrder()})},appendTitle:function(b){var c=a('input[id*="-title"]',b).val()||"";c&&(c=": "+c.replace(/<[^<>]+>/g,"").replace(/</g,"&lt;").replace(/>/g,"&gt;")),a(b).children(".widget-top").children(".widget-title").children().children(".in-widget-title").html(c)},close:function(a){a.children(".widget-inside").slideUp("fast",function(){a.attr("style","")})},addWidget:function(b){var c,d,e,f,g,h,i,j=b.find(".widgets-chooser-selected").data("sidebarId"),k=a("#"+j);c=a("#available-widgets").find(".widget-in-question").clone(),d=c.attr("id"),e=c.find("input.add_new").val(),f=c.find("input.multi_number").val(),c.find(".widgets-chooser").remove(),"multi"===e?(c.html(c.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,f)})),c.attr("id",d.replace("__i__",f)),f++,a("#"+d).find("input.multi_number").val(f)):"single"===e&&(c.attr("id","new-"+d),a("#"+d).hide()),k.closest(".widgets-holder-wrap").removeClass("closed"),k.append(c),k.sortable("refresh"),wpWidgets.save(c,0,0,1),c.find("input.add_new").val(""),a(document).trigger("widget-added",[c]),g=a(window).scrollTop(),h=g+a(window).height(),i=k.offset(),i.bottom=i.top+k.outerHeight(),(g>i.bottom||h<i.top)&&a("html, body").animate({scrollTop:i.top-130},200),window.setTimeout(function(){c.find(".widget-title").trigger("click")},250)},closeChooser:function(){var b=this;a(".widgets-chooser").slideUp(200,function(){a("#wpbody-content").append(this),b.clearWidgetSelection()})},clearWidgetSelection:function(){a("#widgets-left").removeClass("chooser"),a(".widget-in-question").removeClass("widget-in-question")}},a(document).ready(function(){wpWidgets.init()})}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/wp-fullscreen.js b/wp-admin/js/wp-fullscreen.js
index 6ce373e39..de73060ae 100644
--- a/wp-admin/js/wp-fullscreen.js
+++ b/wp-admin/js/wp-fullscreen.js
@@ -510,8 +510,9 @@
 				}
 			});
 
-			$document.on( 'keydown.wp-fullscreen', function( event ) {
-				if ( 27 === event.which && s.visible ) { // Esc
+			$( window ).on( 'keydown.wp-fullscreen', function( event ) {
+				// Turn fullscreen off when Esc is pressed.
+				if ( 27 === event.keyCode && s.visible ) {
 					api.off();
 					event.stopImmediatePropagation();
 				}
diff --git a/wp-admin/js/wp-fullscreen.min.js b/wp-admin/js/wp-fullscreen.min.js
index 60514879a..54044868d 100644
--- a/wp-admin/js/wp-fullscreen.min.js
+++ b/wp-admin/js/wp-fullscreen.min.js
@@ -1 +1 @@
-!function(a,b){function c(){m.removeClass("wp-dfw-show-ui")}function d(b){g.$dfwWrap.parents().each(function(c,d){var e,f=a(d);return b?(d.style.position&&f.data("wp-dfw-css-position",d.style.position),f.css("position","static")):(e=f.data("wp-dfw-css-position"),e=e||"",f.css("position",e)),"BODY"===d.nodeName?!1:void 0})}var e,f,g,h,i,j,k=0,l="transitionend webkitTransitionEnd",m=a(document.body),n=a(document);j=function(){this.topics={},this.subscribe=function(a,b){return this.topics[a]||(this.topics[a]=[]),this.topics[a].push(b),b},this.unsubscribe=function(a,b){var c,d,e=this.topics[a];if(!e)return b||[];if(b){for(c=0,d=e.length;d>c;c++)b==e[c]&&e.splice(c,1);return b}return this.topics[a]=[],e},this.publish=function(a,b){var c,d,e,f=this.topics[a];if(f){for(b=b||[],c=0,d=f.length;d>c;c++)e=f[c].apply(null,b)===!1||e;return!e}}},e={},f=e.pubsub=new j,g=e.settings={visible:!1,mode:"tinymce",id:"",title_id:"",timer:0,toolbar_shown:!1},h=e.toggleUI=function(a){clearTimeout(i),m.hasClass("wp-dfw-show-ui")&&"show"!==a?"autohide"!==a&&m.removeClass("wp-dfw-show-ui"):m.addClass("wp-dfw-show-ui"),"autohide"===a&&(i=setTimeout(c,2e3))},e.on=function(){var c,d,f;if(!g.visible){if(g.$fullscreenFader||e.ui.init(),"object"==typeof b.wp_fullscreen_settings&&a.extend(g,b.wp_fullscreen_settings),c=g.id||b.wpActiveEditor,!c){if(!g.hasTinymce)return;c=tinymce.activeEditor.id}g.id=c,d=g.$dfwWrap=a("#wp-"+c+"-wrap"),d.length&&(g.$dfwTextarea=a("#"+c),g.$editorContainer=d.find(".wp-editor-container"),k=n.scrollTop(),g.hasTinymce&&(g.editor=tinymce.get(c)),g.editor&&!g.editor.isHidden()?(g.origHeight=a("#"+c+"_ifr").height(),g.mode="tinymce"):(g.origHeight=g.$dfwTextarea.height(),g.mode="html"),f="undefined"==typeof b.adminpage||"post-php"!==b.adminpage&&"post-new-php"!==b.adminpage?c+"-title":"title",g.$dfwTitle=a("#"+f),g.$dfwTitle.length||(g.$dfwTitle=null),e.ui.fade("show","showing","shown"))}},e.off=function(){g.visible&&e.ui.fade("hide","hiding","hidden")},e.switchmode=function(a){var b=g.mode;return a&&g.visible&&g.hasTinymce&&"undefined"!=typeof switchEditors?b==a?b:("tinymce"!==a||g.editor||(g.editor=tinymce.get(g.id),!g.editor&&"undefined"!=typeof tinyMCEPreInit&&tinyMCEPreInit.mceInit&&tinyMCEPreInit.mceInit[g.id]&&(tinyMCEPreInit.mceInit[g.id].wp_fullscreen=!0)),g.mode=a,switchEditors.go(g.id,a),e.refreshButtons(!0),"html"===a&&setTimeout(e.resizeTextarea,200),a):b},e.save=function(){var c=a("#hiddenaction"),d=c.val(),e=a("#wp-fullscreen-save .spinner"),f=a("#wp-fullscreen-save .wp-fullscreen-saved-message"),h=a("#wp-fullscreen-save .wp-fullscreen-error-message");e.show(),h.hide(),f.hide(),c.val("wp-fullscreen-save-post"),g.editor&&!g.editor.isHidden()&&g.editor.save(),a.ajax({url:b.ajaxurl,type:"post",data:a("form#post").serialize(),dataType:"json"}).done(function(b){e.hide(),b&&b.success?(f.show(),setTimeout(function(){f.fadeOut(300)},3e3),b.data&&b.data.last_edited&&a("#wp-fullscreen-save input").attr("title",b.data.last_edited)):h.show()}).fail(function(){e.hide(),h.show()}),c.val(d)},e.dfwWidth=function(b,c){var d;return b&&-1!==b.toString().indexOf("%")?(g.$editorContainer.css("width",b),g.$statusbar.css("width",b),void(g.$dfwTitle&&g.$dfwTitle.css("width",b))):b?(c?d=b:(d=g.$editorContainer.width(),d+=b),void(200>d||d>1200||(g.$editorContainer.width(d),g.$statusbar.width(d),g.$dfwTitle&&g.$dfwTitle.width(d-16),setUserSetting("dfw_width",d)))):(d=a("#wp-fullscreen-body").data("theme-width")||800,g.$editorContainer.width(d),g.$statusbar.width(d),g.$dfwTitle&&g.$dfwTitle.width(d-16),void deleteUserSetting("dfw_width"))},f.subscribe("show",function(){var b=a("#last-edit").text();b&&a("#wp-fullscreen-save input").attr("title",b)}),f.subscribe("showing",function(){m.addClass("wp-fullscreen-active"),g.$dfwWrap.addClass("wp-fullscreen-wrap"),g.$dfwTitle&&(g.$dfwTitle.after('<span id="wp-fullscreen-title-placeholder">'),g.$dfwWrap.prepend(g.$dfwTitle.addClass("wp-fullscreen-title"))),e.refreshButtons(),d(!0),a("#wpadminbar").hide(),h("autohide"),e.bind_resize(),g.editor&&g.editor.execCommand("wpFullScreenOn"),"ontouchstart"in b?e.dfwWidth("90%"):e.dfwWidth(a("#wp-fullscreen-body").data("dfw-width")||800,!0),scrollTo(0,0)}),f.subscribe("shown",function(){g.visible=!0,g.editor&&!g.editor.isHidden()?g.editor.execCommand("wpAutoResize"):e.resizeTextarea("force")}),f.subscribe("hide",function(){n.unbind(".fullscreen"),g.$dfwTextarea.unbind(".wp-dfw-resize")}),f.subscribe("hiding",function(){m.removeClass("wp-fullscreen-active"),g.$dfwTitle&&a("#wp-fullscreen-title-placeholder").before(g.$dfwTitle.removeClass("wp-fullscreen-title").css("width","")).remove(),g.$dfwWrap.removeClass("wp-fullscreen-wrap"),g.$editorContainer.css("width",""),g.$dfwTextarea.add("#"+g.id+"_ifr").height(g.origHeight),g.editor&&g.editor.execCommand("wpFullScreenOff"),d(!1),b.scrollTo(0,k),a("#wpadminbar").show()}),f.subscribe("hidden",function(){g.visible=!1}),e.refreshButtons=function(b){"html"===g.mode?(a("#wp-fullscreen-mode-bar").removeClass("wp-tmce-mode").addClass("wp-html-mode").find("a").removeClass("active").filter(".wp-fullscreen-mode-html").addClass("active"),b?a("#wp-fullscreen-button-bar").fadeOut(150,function(){a(this).addClass("wp-html-mode").fadeIn(150)}):a("#wp-fullscreen-button-bar").addClass("wp-html-mode")):"tinymce"===g.mode&&(a("#wp-fullscreen-mode-bar").removeClass("wp-html-mode").addClass("wp-tmce-mode").find("a").removeClass("active").filter(".wp-fullscreen-mode-tinymce").addClass("active"),b?a("#wp-fullscreen-button-bar").fadeOut(150,function(){a(this).removeClass("wp-html-mode").fadeIn(150)}):a("#wp-fullscreen-button-bar").removeClass("wp-html-mode"))},e.ui={init:function(){var c;g.toolbar=c=a("#fullscreen-topbar"),g.$fullscreenFader=a("#fullscreen-fader"),g.$statusbar=a("#wp-fullscreen-status"),g.hasTinymce="undefined"!=typeof tinymce,g.hasTinymce||a("#wp-fullscreen-mode-bar").hide(),n.keyup(function(a){var b,c=a.keyCode||a.charCode;g.visible&&(b=navigator.platform&&-1!==navigator.platform.indexOf("Mac")?a.ctrlKey:a.altKey,!b||61!==c&&107!==c&&187!==c||(e.dfwWidth(25),a.preventDefault()),!b||45!==c&&109!==c&&189!==c||(e.dfwWidth(-25),a.preventDefault()),b&&48===c&&(e.dfwWidth(0),a.preventDefault()))}),n.on("keydown.wp-fullscreen",function(a){27===a.which&&g.visible&&(e.off(),a.stopImmediatePropagation())}),"ontouchstart"in b&&m.addClass("wp-dfw-touch"),c.on("mouseenter",function(){h("show")}).on("mouseleave",function(){h("autohide")}),a("#wp-fullscreen-buttons").on("click.wp-fullscreen","button",function(a){var c=a.currentTarget.id?a.currentTarget.id.substr(6):null;if(g.editor&&"tinymce"===g.mode)switch(c){case"bold":g.editor.execCommand("Bold");break;case"italic":g.editor.execCommand("Italic");break;case"bullist":g.editor.execCommand("InsertUnorderedList");break;case"numlist":g.editor.execCommand("InsertOrderedList");break;case"link":g.editor.execCommand("WP_Link");break;case"unlink":g.editor.execCommand("unlink");break;case"help":g.editor.execCommand("WP_Help");break;case"blockquote":g.editor.execCommand("mceBlockQuote")}else"link"===c&&b.wpLink&&b.wpLink.open();"wp-media-library"===c&&"undefined"!=typeof wp&&wp.media&&wp.media.editor&&wp.media.editor.open(g.id)})},fade:function(a,b,c){g.$fullscreenFader||e.ui.init(),(!a||f.publish(a))&&e.fade.In(g.$fullscreenFader,200,function(){b&&f.publish(b),e.fade.Out(g.$fullscreenFader,200,function(){c&&f.publish(c)})})}},e.fade={sensitivity:100,In:function(b,c,d,f){if(d=d||a.noop,c=c||400,f=f||!1,e.fade.transitions){if(b.is(":visible"))return b.addClass("fade-trigger"),b;b.show(),b.first().one(l,function(){d()}),setTimeout(function(){b.addClass("fade-trigger")},this.sensitivity)}else f&&b.stop(),b.css("opacity",1),b.first().fadeIn(c,d),b.length>1&&b.not(":first").fadeIn(c);return b},Out:function(b,c,d,f){return d=d||a.noop,c=c||400,f=f||!1,b.is(":visible")?(e.fade.transitions?(b.first().one(l,function(){b.hasClass("fade-trigger")||(b.hide(),d())}),setTimeout(function(){b.removeClass("fade-trigger")},this.sensitivity)):(f&&b.stop(),b.first().fadeOut(c,d),b.length>1&&b.not(":first").fadeOut(c)),b):b},transitions:function(){var a=document.documentElement.style;return"string"==typeof a.WebkitTransition||"string"==typeof a.MozTransition||"string"==typeof a.OTransition||"string"==typeof a.transition}()},e.bind_resize=function(){g.$dfwTextarea.on("keydown.wp-dfw-resize click.wp-dfw-resize paste.wp-dfw-resize",function(){e.resizeTextarea()})},e.resizeTextarea=function(){var a=g.$dfwTextarea[0];a.scrollHeight>a.clientHeight&&(a.style.height=a.scrollHeight+50+"px")},b.wp=b.wp||{},b.wp.editor=b.wp.editor||{},b.wp.editor.fullscreen=e}(jQuery,window);
\ No newline at end of file
+!function(a,b){function c(){m.removeClass("wp-dfw-show-ui")}function d(b){g.$dfwWrap.parents().each(function(c,d){var e,f=a(d);return b?(d.style.position&&f.data("wp-dfw-css-position",d.style.position),f.css("position","static")):(e=f.data("wp-dfw-css-position"),e=e||"",f.css("position",e)),"BODY"===d.nodeName?!1:void 0})}var e,f,g,h,i,j,k=0,l="transitionend webkitTransitionEnd",m=a(document.body),n=a(document);j=function(){this.topics={},this.subscribe=function(a,b){return this.topics[a]||(this.topics[a]=[]),this.topics[a].push(b),b},this.unsubscribe=function(a,b){var c,d,e=this.topics[a];if(!e)return b||[];if(b){for(c=0,d=e.length;d>c;c++)b==e[c]&&e.splice(c,1);return b}return this.topics[a]=[],e},this.publish=function(a,b){var c,d,e,f=this.topics[a];if(f){for(b=b||[],c=0,d=f.length;d>c;c++)e=f[c].apply(null,b)===!1||e;return!e}}},e={},f=e.pubsub=new j,g=e.settings={visible:!1,mode:"tinymce",id:"",title_id:"",timer:0,toolbar_shown:!1},h=e.toggleUI=function(a){clearTimeout(i),m.hasClass("wp-dfw-show-ui")&&"show"!==a?"autohide"!==a&&m.removeClass("wp-dfw-show-ui"):m.addClass("wp-dfw-show-ui"),"autohide"===a&&(i=setTimeout(c,2e3))},e.on=function(){var c,d,f;if(!g.visible){if(g.$fullscreenFader||e.ui.init(),"object"==typeof b.wp_fullscreen_settings&&a.extend(g,b.wp_fullscreen_settings),c=g.id||b.wpActiveEditor,!c){if(!g.hasTinymce)return;c=tinymce.activeEditor.id}g.id=c,d=g.$dfwWrap=a("#wp-"+c+"-wrap"),d.length&&(g.$dfwTextarea=a("#"+c),g.$editorContainer=d.find(".wp-editor-container"),k=n.scrollTop(),g.hasTinymce&&(g.editor=tinymce.get(c)),g.editor&&!g.editor.isHidden()?(g.origHeight=a("#"+c+"_ifr").height(),g.mode="tinymce"):(g.origHeight=g.$dfwTextarea.height(),g.mode="html"),f="undefined"==typeof b.adminpage||"post-php"!==b.adminpage&&"post-new-php"!==b.adminpage?c+"-title":"title",g.$dfwTitle=a("#"+f),g.$dfwTitle.length||(g.$dfwTitle=null),e.ui.fade("show","showing","shown"))}},e.off=function(){g.visible&&e.ui.fade("hide","hiding","hidden")},e.switchmode=function(a){var b=g.mode;return a&&g.visible&&g.hasTinymce&&"undefined"!=typeof switchEditors?b==a?b:("tinymce"!==a||g.editor||(g.editor=tinymce.get(g.id),!g.editor&&"undefined"!=typeof tinyMCEPreInit&&tinyMCEPreInit.mceInit&&tinyMCEPreInit.mceInit[g.id]&&(tinyMCEPreInit.mceInit[g.id].wp_fullscreen=!0)),g.mode=a,switchEditors.go(g.id,a),e.refreshButtons(!0),"html"===a&&setTimeout(e.resizeTextarea,200),a):b},e.save=function(){var c=a("#hiddenaction"),d=c.val(),e=a("#wp-fullscreen-save .spinner"),f=a("#wp-fullscreen-save .wp-fullscreen-saved-message"),h=a("#wp-fullscreen-save .wp-fullscreen-error-message");e.show(),h.hide(),f.hide(),c.val("wp-fullscreen-save-post"),g.editor&&!g.editor.isHidden()&&g.editor.save(),a.ajax({url:b.ajaxurl,type:"post",data:a("form#post").serialize(),dataType:"json"}).done(function(b){e.hide(),b&&b.success?(f.show(),setTimeout(function(){f.fadeOut(300)},3e3),b.data&&b.data.last_edited&&a("#wp-fullscreen-save input").attr("title",b.data.last_edited)):h.show()}).fail(function(){e.hide(),h.show()}),c.val(d)},e.dfwWidth=function(b,c){var d;return b&&-1!==b.toString().indexOf("%")?(g.$editorContainer.css("width",b),g.$statusbar.css("width",b),void(g.$dfwTitle&&g.$dfwTitle.css("width",b))):b?(c?d=b:(d=g.$editorContainer.width(),d+=b),void(200>d||d>1200||(g.$editorContainer.width(d),g.$statusbar.width(d),g.$dfwTitle&&g.$dfwTitle.width(d-16),setUserSetting("dfw_width",d)))):(d=a("#wp-fullscreen-body").data("theme-width")||800,g.$editorContainer.width(d),g.$statusbar.width(d),g.$dfwTitle&&g.$dfwTitle.width(d-16),void deleteUserSetting("dfw_width"))},f.subscribe("show",function(){var b=a("#last-edit").text();b&&a("#wp-fullscreen-save input").attr("title",b)}),f.subscribe("showing",function(){m.addClass("wp-fullscreen-active"),g.$dfwWrap.addClass("wp-fullscreen-wrap"),g.$dfwTitle&&(g.$dfwTitle.after('<span id="wp-fullscreen-title-placeholder">'),g.$dfwWrap.prepend(g.$dfwTitle.addClass("wp-fullscreen-title"))),e.refreshButtons(),d(!0),a("#wpadminbar").hide(),h("autohide"),e.bind_resize(),g.editor&&g.editor.execCommand("wpFullScreenOn"),"ontouchstart"in b?e.dfwWidth("90%"):e.dfwWidth(a("#wp-fullscreen-body").data("dfw-width")||800,!0),scrollTo(0,0)}),f.subscribe("shown",function(){g.visible=!0,g.editor&&!g.editor.isHidden()?g.editor.execCommand("wpAutoResize"):e.resizeTextarea("force")}),f.subscribe("hide",function(){n.unbind(".fullscreen"),g.$dfwTextarea.unbind(".wp-dfw-resize")}),f.subscribe("hiding",function(){m.removeClass("wp-fullscreen-active"),g.$dfwTitle&&a("#wp-fullscreen-title-placeholder").before(g.$dfwTitle.removeClass("wp-fullscreen-title").css("width","")).remove(),g.$dfwWrap.removeClass("wp-fullscreen-wrap"),g.$editorContainer.css("width",""),g.$dfwTextarea.add("#"+g.id+"_ifr").height(g.origHeight),g.editor&&g.editor.execCommand("wpFullScreenOff"),d(!1),b.scrollTo(0,k),a("#wpadminbar").show()}),f.subscribe("hidden",function(){g.visible=!1}),e.refreshButtons=function(b){"html"===g.mode?(a("#wp-fullscreen-mode-bar").removeClass("wp-tmce-mode").addClass("wp-html-mode").find("a").removeClass("active").filter(".wp-fullscreen-mode-html").addClass("active"),b?a("#wp-fullscreen-button-bar").fadeOut(150,function(){a(this).addClass("wp-html-mode").fadeIn(150)}):a("#wp-fullscreen-button-bar").addClass("wp-html-mode")):"tinymce"===g.mode&&(a("#wp-fullscreen-mode-bar").removeClass("wp-html-mode").addClass("wp-tmce-mode").find("a").removeClass("active").filter(".wp-fullscreen-mode-tinymce").addClass("active"),b?a("#wp-fullscreen-button-bar").fadeOut(150,function(){a(this).removeClass("wp-html-mode").fadeIn(150)}):a("#wp-fullscreen-button-bar").removeClass("wp-html-mode"))},e.ui={init:function(){var c;g.toolbar=c=a("#fullscreen-topbar"),g.$fullscreenFader=a("#fullscreen-fader"),g.$statusbar=a("#wp-fullscreen-status"),g.hasTinymce="undefined"!=typeof tinymce,g.hasTinymce||a("#wp-fullscreen-mode-bar").hide(),n.keyup(function(a){var b,c=a.keyCode||a.charCode;g.visible&&(b=navigator.platform&&-1!==navigator.platform.indexOf("Mac")?a.ctrlKey:a.altKey,!b||61!==c&&107!==c&&187!==c||(e.dfwWidth(25),a.preventDefault()),!b||45!==c&&109!==c&&189!==c||(e.dfwWidth(-25),a.preventDefault()),b&&48===c&&(e.dfwWidth(0),a.preventDefault()))}),a(b).on("keydown.wp-fullscreen",function(a){27===a.keyCode&&g.visible&&(e.off(),a.stopImmediatePropagation())}),"ontouchstart"in b&&m.addClass("wp-dfw-touch"),c.on("mouseenter",function(){h("show")}).on("mouseleave",function(){h("autohide")}),a("#wp-fullscreen-buttons").on("click.wp-fullscreen","button",function(a){var c=a.currentTarget.id?a.currentTarget.id.substr(6):null;if(g.editor&&"tinymce"===g.mode)switch(c){case"bold":g.editor.execCommand("Bold");break;case"italic":g.editor.execCommand("Italic");break;case"bullist":g.editor.execCommand("InsertUnorderedList");break;case"numlist":g.editor.execCommand("InsertOrderedList");break;case"link":g.editor.execCommand("WP_Link");break;case"unlink":g.editor.execCommand("unlink");break;case"help":g.editor.execCommand("WP_Help");break;case"blockquote":g.editor.execCommand("mceBlockQuote")}else"link"===c&&b.wpLink&&b.wpLink.open();"wp-media-library"===c&&"undefined"!=typeof wp&&wp.media&&wp.media.editor&&wp.media.editor.open(g.id)})},fade:function(a,b,c){g.$fullscreenFader||e.ui.init(),(!a||f.publish(a))&&e.fade.In(g.$fullscreenFader,200,function(){b&&f.publish(b),e.fade.Out(g.$fullscreenFader,200,function(){c&&f.publish(c)})})}},e.fade={sensitivity:100,In:function(b,c,d,f){if(d=d||a.noop,c=c||400,f=f||!1,e.fade.transitions){if(b.is(":visible"))return b.addClass("fade-trigger"),b;b.show(),b.first().one(l,function(){d()}),setTimeout(function(){b.addClass("fade-trigger")},this.sensitivity)}else f&&b.stop(),b.css("opacity",1),b.first().fadeIn(c,d),b.length>1&&b.not(":first").fadeIn(c);return b},Out:function(b,c,d,f){return d=d||a.noop,c=c||400,f=f||!1,b.is(":visible")?(e.fade.transitions?(b.first().one(l,function(){b.hasClass("fade-trigger")||(b.hide(),d())}),setTimeout(function(){b.removeClass("fade-trigger")},this.sensitivity)):(f&&b.stop(),b.first().fadeOut(c,d),b.length>1&&b.not(":first").fadeOut(c)),b):b},transitions:function(){var a=document.documentElement.style;return"string"==typeof a.WebkitTransition||"string"==typeof a.MozTransition||"string"==typeof a.OTransition||"string"==typeof a.transition}()},e.bind_resize=function(){g.$dfwTextarea.on("keydown.wp-dfw-resize click.wp-dfw-resize paste.wp-dfw-resize",function(){e.resizeTextarea()})},e.resizeTextarea=function(){var a=g.$dfwTextarea[0];a.scrollHeight>a.clientHeight&&(a.style.height=a.scrollHeight+50+"px")},b.wp=b.wp||{},b.wp.editor=b.wp.editor||{},b.wp.editor.fullscreen=e}(jQuery,window);
\ No newline at end of file
diff --git a/wp-admin/link-parse-opml.php b/wp-admin/link-parse-opml.php
index 99e17b2d7..6197281d8 100644
--- a/wp-admin/link-parse-opml.php
+++ b/wp-admin/link-parse-opml.php
@@ -9,20 +9,7 @@
 if ( ! defined('ABSPATH') )
 	die();
 
-global $opml, $map;
-
-// columns we wish to find are: link_url, link_name, link_target, link_description
-// we need to map XML attribute names to our columns
-$opml_map = array('URL'         => 'link_url',
-	'HTMLURL'     => 'link_url',
-	'TEXT'        => 'link_name',
-	'TITLE'       => 'link_name',
-	'TARGET'      => 'link_target',
-	'DESCRIPTION' => 'link_description',
-	'XMLURL'      => 'link_rss'
-);
-
-$map = $opml_map;
+global $opml;
 
 /**
  * XML callback function for the start of a new XML tag.
@@ -30,9 +17,6 @@ $map = $opml_map;
  * @since 0.71
  * @access private
  *
- * @uses $updated_timestamp Not used inside function.
- * @uses $all_links Not used inside function.
- * @uses $map Stores names of attributes to use.
  * @global array $names
  * @global array $urls
  * @global array $targets
@@ -44,25 +28,31 @@ $map = $opml_map;
  * @param array $attrs XML element attributes.
  */
 function startElement($parser, $tagName, $attrs) {
-	global $updated_timestamp, $all_links, $map;
 	global $names, $urls, $targets, $descriptions, $feeds;
 
-	if ($tagName == 'OUTLINE') {
-		foreach (array_keys($map) as $key) {
-			if (isset($attrs[$key])) {
-				$$map[$key] = $attrs[$key];
-			}
+	if ( 'OUTLINE' === $tagName ) {
+		$name = '';
+		if ( isset( $attrs['TEXT'] ) ) {
+			$name = $attrs['TEXT'];
+		}
+		if ( isset( $attrs['TITLE'] ) ) {
+			$name = $attrs['TITLE'];
+		}
+		$url = '';
+		if ( isset( $attrs['URL'] ) ) {
+			$url = $attrs['URL'];
+		}
+		if ( isset( $attrs['HTMLURL'] ) ) {
+			$url = $attrs['HTMLURL'];
 		}
 
-		//echo("got data: link_url = [$link_url], link_name = [$link_name], link_target = [$link_target], link_description = [$link_description]<br />\n");
-
-		// save the data away.
-		$names[] = $link_name;
-		$urls[] = $link_url;
-		$targets[] = $link_target;
-		$feeds[] = $link_rss;
-		$descriptions[] = $link_description;
-	} // end if outline
+		// Save the data away.
+		$names[] = $name;
+		$urls[] = $url;
+		$targets[] = isset( $attrs['TARGET'] ) ? $attrs['TARGET'] :  '';
+		$feeds[] = isset( $attrs['XMLURL'] ) ? $attrs['XMLURL'] :  '';
+		$descriptions[] = isset( $attrs['DESCRIPTION'] ) ? $attrs['DESCRIPTION'] :  '';
+	} // End if outline.
 }
 
 /**
@@ -75,7 +65,7 @@ function startElement($parser, $tagName, $attrs) {
  * @param string $tagName XML tag name.
  */
 function endElement($parser, $tagName) {
-	// nothing to do.
+	// Nothing to do.
 }
 
 // Create an XML parser
diff --git a/wp-admin/link.php b/wp-admin/link.php
index 1b27ce7de..802745fc2 100644
--- a/wp-admin/link.php
+++ b/wp-admin/link.php
@@ -30,7 +30,7 @@ switch ($action) {
 	case 'deletebookmarks' :
 		check_admin_referer('bulk-bookmarks');
 
-		//for each link id (in $linkcheck[]) change category to selected value
+		// For each link id (in $linkcheck[]) change category to selected value.
 		if (count($linkcheck) == 0) {
 			wp_redirect($this_file);
 			exit;
@@ -46,23 +46,23 @@ switch ($action) {
 
 		wp_redirect("$this_file?deleted=$deleted");
 		exit;
-		break;
 
 	case 'move' :
 		check_admin_referer('bulk-bookmarks');
 
-		//for each link id (in $linkcheck[]) change category to selected value
+		// For each link id (in $linkcheck[]) change category to selected value.
 		if (count($linkcheck) == 0) {
 			wp_redirect($this_file);
 			exit;
 		}
 		$all_links = join(',', $linkcheck);
-		// should now have an array of links we can change
-		//$q = $wpdb->query("update $wpdb->links SET link_category='$category' WHERE link_id IN ($all_links)");
+		/*
+		 * Should now have an array of links we can change:
+		 *     $q = $wpdb->query("update $wpdb->links SET link_category='$category' WHERE link_id IN ($all_links)");
+		 */
 
 		wp_redirect($this_file);
 		exit;
-		break;
 
 	case 'add' :
 		check_admin_referer('add-bookmark');
@@ -73,7 +73,6 @@ switch ($action) {
 
 		wp_redirect( $redir );
 		exit;
-		break;
 
 	case 'save' :
 		$link_id = (int) $_POST['link_id'];
@@ -83,7 +82,6 @@ switch ($action) {
 
 		wp_redirect($this_file);
 		exit;
-		break;
 
 	case 'delete' :
 		$link_id = (int) $_GET['link_id'];
@@ -93,7 +91,6 @@ switch ($action) {
 
 		wp_redirect($this_file);
 		exit;
-		break;
 
 	case 'edit' :
 		wp_enqueue_script('link');
diff --git a/wp-admin/load-scripts.php b/wp-admin/load-scripts.php
index 8dfe3b18a..81c4fc616 100644
--- a/wp-admin/load-scripts.php
+++ b/wp-admin/load-scripts.php
@@ -3,7 +3,7 @@
 /**
  * Disable error reporting
  *
- * Set this to error_reporting( E_ALL ) or error_reporting( E_ALL | E_STRICT ) for debugging
+ * Set this to error_reporting( -1 ) for debugging.
  */
 error_reporting(0);
 
diff --git a/wp-admin/load-styles.php b/wp-admin/load-styles.php
index 64ae47419..716592344 100644
--- a/wp-admin/load-styles.php
+++ b/wp-admin/load-styles.php
@@ -3,7 +3,7 @@
 /**
  * Disable error reporting
  *
- * Set this to error_reporting( E_ALL ) or error_reporting( E_ALL | E_STRICT ) for debugging
+ * Set this to error_reporting( -1 ) for debugging
  */
 error_reporting(0);
 
@@ -92,8 +92,8 @@ function get_file($path) {
 	return @file_get_contents($path);
 }
 
-require(ABSPATH . '/wp-includes/script-loader.php');
-require(ABSPATH . '/wp-includes/version.php');
+require( ABSPATH . WPINC . '/script-loader.php' );
+require( ABSPATH . WPINC . '/version.php' );
 
 $load = preg_replace( '/[^a-z0-9,_-]+/i', '', $_GET['load'] );
 $load = array_unique( explode( ',', $load ) );
@@ -124,10 +124,10 @@ foreach( $load as $handle ) {
 
 	$content = get_file( $path ) . "\n";
 
-	if ( strpos( $style->src, '/wp-includes/css/' ) === 0 ) {
-		$content = str_replace( '../images/', '../wp-includes/images/', $content );
-		$content = str_replace( '../js/tinymce/', '../wp-includes/js/tinymce/', $content );
-		$content = str_replace( '../fonts/', '../wp-includes/fonts/', $content );
+	if ( strpos( $style->src, '/' . WPINC . '/css/' ) === 0 ) {
+		$content = str_replace( '../images/', '../' . WPINC . '/images/', $content );
+		$content = str_replace( '../js/tinymce/', '../' . WPINC . '/js/tinymce/', $content );
+		$content = str_replace( '../fonts/', '../' . WPINC . '/fonts/', $content );
 		$out .= $content;
 	} else {
 		$out .= str_replace( '../images/', 'images/', $content );
diff --git a/wp-admin/maint/repair.php b/wp-admin/maint/repair.php
index 361229f55..cdc6c0aa5 100644
--- a/wp-admin/maint/repair.php
+++ b/wp-admin/maint/repair.php
@@ -22,7 +22,7 @@ header( 'Content-Type: text/html; charset=utf-8' );
 	?>
 </head>
 <body class="wp-core-ui">
-<h1 id="logo"><a href="<?php echo esc_url( __( 'https://wordpress.org/' ) ); ?>"><?php _e( 'WordPress' ); ?></a></h1>
+<h1 id="logo"><a href="<?php echo esc_url( __( 'https://wordpress.org/' ) ); ?>" tabindex="-1"><?php _e( 'WordPress' ); ?></a></h1>
 
 <?php
 
@@ -36,8 +36,10 @@ if ( ! defined( 'WP_ALLOW_REPAIR' ) ) {
 	$tables = $wpdb->tables();
 
 	// Sitecategories may not exist if global terms are disabled.
-	if ( is_multisite() && ! $wpdb->get_var( "SHOW TABLES LIKE '$wpdb->sitecategories'" ) )
+	$query = $wpdb->prepare( "SHOW TABLES LIKE %s", $wpdb->esc_like( $wpdb->sitecategories ) );
+	if ( is_multisite() && ! $wpdb->get_var( $query ) ) {
 		unset( $tables['sitecategories'] );
+	}
 
 	/**
 	 * Filter additional database tables to repair.
diff --git a/wp-admin/media-upload.php b/wp-admin/media-upload.php
index 9a6e8f90e..cb871c0c1 100644
--- a/wp-admin/media-upload.php
+++ b/wp-admin/media-upload.php
@@ -30,14 +30,14 @@ wp_enqueue_script( 'media-gallery' );
 $ID = isset($ID) ? (int) $ID : 0;
 $post_id = isset($post_id)? (int) $post_id : 0;
 
-// Require an ID for the edit screen
+// Require an ID for the edit screen.
 if ( isset($action) && $action == 'edit' && !$ID )
 	wp_die( __( 'Cheatin&#8217; uh?' ) );
 
 	if ( ! empty( $_REQUEST['post_id'] ) && ! current_user_can( 'edit_post' , $_REQUEST['post_id'] ) )
 		wp_die( __( 'Cheatin&#8217; uh?' ) );
 
-	// upload type: image, video, file, ..?
+	// Upload type: image, video, file, ..?
 	if ( isset($_GET['type']) ) {
 		$type = strval($_GET['type']);
 	} else {
@@ -52,7 +52,7 @@ if ( isset($action) && $action == 'edit' && !$ID )
 		$type = apply_filters( 'media_upload_default_type', 'file' );
 	}
 
-	// tab: gallery, library, or type-specific
+	// Tab: gallery, library, or type-specific.
 	if ( isset($_GET['tab']) ) {
 		$tab = strval($_GET['tab']);
 	} else {
@@ -68,7 +68,7 @@ if ( isset($action) && $action == 'edit' && !$ID )
 
 	$body_id = 'media-upload';
 
-	// let the action code decide how to handle the request
+	// Let the action code decide how to handle the request.
 	if ( $tab == 'type' || $tab == 'type_url' || ! array_key_exists( $tab , media_upload_tabs() ) ) {
 		/**
 		 * Fires inside specific upload-type views in the legacy (pre-3.5.0)
diff --git a/wp-admin/media.php b/wp-admin/media.php
index 7920bef91..60abb648f 100644
--- a/wp-admin/media.php
+++ b/wp-admin/media.php
@@ -14,7 +14,7 @@ $submenu_file = 'upload.php';
 
 wp_reset_vars(array('action'));
 
-switch( $action ) :
+switch ( $action ) {
 case 'editattachment' :
 	$attachment_id = (int) $_POST['attachment_id'];
 	check_admin_referer('media-form');
@@ -40,7 +40,7 @@ case 'editattachment' :
 		exit;
 	}
 
-	// no break
+	// No break.
 case 'edit' :
 	$title = __('Edit Media');
 
@@ -90,12 +90,12 @@ case 'edit' :
 	$message = '';
 	$class = '';
 	if ( isset($_GET['message']) ) {
-		switch ( $_GET['message'] ) :
-		case 'updated' :
-			$message = __('Media attachment updated.');
-			$class = 'updated';
-			break;
-		endswitch;
+		switch ( $_GET['message'] ) {
+			case 'updated' :
+				$message = __('Media attachment updated.');
+				$class = 'updated';
+				break;
+		}
 	}
 	if ( $message )
 		echo "<div id='message' class='$class'><p>$message</p></div>\n";
@@ -117,7 +117,7 @@ if ( current_user_can( 'upload_files' ) ) { ?>
 </p>
 
 <div class="media-single">
-<div id='media-item-<?php echo $att_id; ?>' class='media-item'>
+<div id="media-item-<?php echo $att_id; ?>" class="media-item">
 <?php echo get_media_item( $att_id, array( 'toggle' => false, 'send' => false, 'delete' => false, 'show_title' => false, 'errors' => !empty($errors[$att_id]) ? $errors[$att_id] : null ) ); ?>
 </div>
 </div>
@@ -143,4 +143,4 @@ default:
 	wp_redirect( admin_url('upload.php') );
 	exit;
 
-endswitch;
+}
diff --git a/wp-admin/menu-header.php b/wp-admin/menu-header.php
index 1771fb0f8..275cc145d 100644
--- a/wp-admin/menu-header.php
+++ b/wp-admin/menu-header.php
@@ -73,16 +73,19 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
 		}
 
 		if ( ! empty( $item[4] ) )
-			$class[] = $item[4];
+			$class[] = esc_attr( $item[4] );
 
 		$class = $class ? ' class="' . join( ' ', $class ) . '"' : '';
 		$id = ! empty( $item[5] ) ? ' id="' . preg_replace( '|[^a-zA-Z0-9_:.]|', '-', $item[5] ) . '"' : '';
 		$img = $img_style = '';
 		$img_class = ' dashicons-before';
 
-		// if the string 'none' (previously 'div') is passed instead of an URL, don't output the default menu image
-		// so an icon can be added to div.wp-menu-image as background with CSS.
-		// Dashicons and base64-encoded data:image/svg_xml URIs are also handled as special cases.
+		/*
+		 * If the string 'none' (previously 'div') is passed instead of an URL, don't output
+		 * the default menu image so an icon can be added to div.wp-menu-image as background
+		 * with CSS. Dashicons and base64-encoded data:image/svg_xml URIs are also handled
+		 * as special cases.
+		 */
 		if ( ! empty( $item[6] ) ) {
 			$img = '<img src="' . $item[6] . '" alt="" />';
 
@@ -135,6 +138,8 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
 			echo "<li class='wp-submenu-head'>{$item[0]}</li>";
 
 			$first = true;
+
+			// 0 = menu_title, 1 = capability, 2 = menu_slug, 3 = page_title, 4 = classes
 			foreach ( $submenu_items as $sub_key => $sub_item ) {
 				if ( ! current_user_can( $sub_item[1] ) )
 					continue;
@@ -165,6 +170,10 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
 					$class[] = 'current';
 				}
 
+				if ( ! empty( $sub_item[4] ) ) {
+					$class[] = esc_attr( $sub_item[4] );
+				}
+
 				$class = $class ? ' class="' . join( ' ', $class ) . '"' : '';
 
 				$menu_hook = get_plugin_page_hook($sub_item[2], $item[2]);
diff --git a/wp-admin/menu.php b/wp-admin/menu.php
index 4008a0986..5fc718d53 100644
--- a/wp-admin/menu.php
+++ b/wp-admin/menu.php
@@ -121,7 +121,10 @@ foreach ( (array) get_post_types( array('show_ui' => true, '_builtin' => false,
 		$ptype_class = 'post';
 	}
 
-	// if $ptype_menu_position is already populated or will be populated by a hard-coded value below, increment the position.
+	/*
+	 * If $ptype_menu_position is already populated or will be populated
+	 * by a hard-coded value below, increment the position.
+	 */
 	$core_menu_positions = array(59, 60, 65, 70, 75, 80, 85, 99);
 	while ( isset($menu[$ptype_menu_position]) || in_array($ptype_menu_position, $core_menu_positions) )
 		$ptype_menu_position++;
@@ -146,9 +149,13 @@ $appearance_cap = current_user_can( 'switch_themes') ? 'switch_themes' : 'edit_t
 
 $menu[60] = array( __('Appearance'), $appearance_cap, 'themes.php', '', 'menu-top menu-icon-appearance', 'menu-appearance', 'dashicons-admin-appearance' );
 	$submenu['themes.php'][5] = array( __( 'Themes' ), $appearance_cap, 'themes.php' );
-	$submenu['themes.php'][6] = array( __( 'Customize' ), 'edit_theme_options', 'customize.php', 'hide-if-no-customize' );
-	if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) )
+
+	$customize_url = add_query_arg( 'return', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), 'customize.php' );
+	$submenu['themes.php'][6] = array( __( 'Customize' ), 'customize', $customize_url, '', 'hide-if-no-customize' );
+	unset( $customize_url );
+	if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) ) {
 		$submenu['themes.php'][10] = array(__( 'Menus' ), 'edit_theme_options', 'nav-menus.php');
+	}
 
 unset( $appearance_cap );
 
diff --git a/wp-admin/nav-menus.php b/wp-admin/nav-menus.php
index 77a4057a7..0dd34cf9e 100644
--- a/wp-admin/nav-menus.php
+++ b/wp-admin/nav-menus.php
@@ -53,7 +53,8 @@ switch ( $action ) {
 			wp_save_nav_menu_items( $nav_menu_selected_id, $_REQUEST['menu-item'] );
 		break;
 	case 'move-down-menu-item' :
-		// moving down a menu item is the same as moving up the next in order
+
+		// Moving down a menu item is the same as moving up the next in order.
 		check_admin_referer( 'move-menu_item' );
 		$menu_item_id = isset( $_REQUEST['menu-item'] ) ? (int) $_REQUEST['menu-item'] : 0;
 		if ( is_nav_menu_item( $menu_item_id ) ) {
@@ -63,7 +64,7 @@ switch ( $action ) {
 				$ordered_menu_items = wp_get_nav_menu_items( $menu_id );
 				$menu_item_data = (array) wp_setup_nav_menu_item( get_post( $menu_item_id ) );
 
-				// set up the data we need in one pass through the array of menu items
+				// Set up the data we need in one pass through the array of menu items.
 				$dbids_to_orders = array();
 				$orders_to_dbids = array();
 				foreach( (array) $ordered_menu_items as $ordered_menu_item_object ) {
@@ -75,14 +76,14 @@ switch ( $action ) {
 					}
 				}
 
-				// get next in order
+				// Get next in order.
 				if (
 					isset( $orders_to_dbids[$dbids_to_orders[$menu_item_id] + 1] )
 				) {
 					$next_item_id = $orders_to_dbids[$dbids_to_orders[$menu_item_id] + 1];
 					$next_item_data = (array) wp_setup_nav_menu_item( get_post( $next_item_id ) );
 
-					// if not siblings of same parent, bubble menu item up but keep order
+					// If not siblings of same parent, bubble menu item up but keep order.
 					if (
 						! empty( $menu_item_data['menu_item_parent'] ) &&
 						(
@@ -102,7 +103,7 @@ switch ( $action ) {
 
 						}
 
-					// make menu item a child of its next sibling
+					// Make menu item a child of its next sibling.
 					} else {
 						$next_item_data['menu_order'] = $next_item_data['menu_order'] - 1;
 						$menu_item_data['menu_order'] = $menu_item_data['menu_order'] + 1;
@@ -114,7 +115,7 @@ switch ( $action ) {
 						wp_update_post($next_item_data);
 					}
 
-				// the item is last but still has a parent, so bubble up
+				// The item is last but still has a parent, so bubble up.
 				} elseif (
 					! empty( $menu_item_data['menu_item_parent'] ) &&
 					in_array( $menu_item_data['menu_item_parent'], $orders_to_dbids )
@@ -136,7 +137,7 @@ switch ( $action ) {
 				$ordered_menu_items = wp_get_nav_menu_items( $menu_id );
 				$menu_item_data = (array) wp_setup_nav_menu_item( get_post( $menu_item_id ) );
 
-				// set up the data we need in one pass through the array of menu items
+				// Set up the data we need in one pass through the array of menu items.
 				$dbids_to_orders = array();
 				$orders_to_dbids = array();
 				foreach( (array) $ordered_menu_items as $ordered_menu_item_object ) {
@@ -148,10 +149,10 @@ switch ( $action ) {
 					}
 				}
 
-				// if this menu item is not first
+				// If this menu item is not first.
 				if ( ! empty( $dbids_to_orders[$menu_item_id] ) && ! empty( $orders_to_dbids[$dbids_to_orders[$menu_item_id] - 1] ) ) {
 
-					// if this menu item is a child of the previous
+					// If this menu item is a child of the previous.
 					if (
 						! empty( $menu_item_data['menu_item_parent'] ) &&
 						in_array( $menu_item_data['menu_item_parent'], array_keys( $dbids_to_orders ) ) &&
@@ -164,7 +165,10 @@ switch ( $action ) {
 						if ( ! is_wp_error( $parent_object ) ) {
 							$parent_data = (array) $parent_object;
 
-							// if there is something before the parent and parent a child of it, make menu item a child also of it
+							/*
+							 * If there is something before the parent and parent a child of it,
+							 * make menu item a child also of it.
+							 */
 							if (
 								! empty( $dbids_to_orders[$parent_db_id] ) &&
 								! empty( $orders_to_dbids[$dbids_to_orders[$parent_db_id] - 1] ) &&
@@ -172,7 +176,10 @@ switch ( $action ) {
 							) {
 								$menu_item_data['menu_item_parent'] = $parent_data['menu_item_parent'];
 
-							// else if there is something before parent and parent not a child of it, make menu item a child of that something's parent
+							/*
+							 * Else if there is something before parent and parent not a child of it,
+							 * make menu item a child of that something's parent
+							 */
 							} elseif (
 								! empty( $dbids_to_orders[$parent_db_id] ) &&
 								! empty( $orders_to_dbids[$dbids_to_orders[$parent_db_id] - 1] )
@@ -183,24 +190,24 @@ switch ( $action ) {
 								else
 									$menu_item_data['menu_item_parent'] = 0;
 
-							// else there isn't something before the parent
+							// Else there isn't something before the parent.
 							} else {
 								$menu_item_data['menu_item_parent'] = 0;
 							}
 
-							// set former parent's [menu_order] to that of menu-item's
+							// Set former parent's [menu_order] to that of menu-item's.
 							$parent_data['menu_order'] = $parent_data['menu_order'] + 1;
 
-							// set menu-item's [menu_order] to that of former parent
+							// Set menu-item's [menu_order] to that of former parent.
 							$menu_item_data['menu_order'] = $menu_item_data['menu_order'] - 1;
 
-							// save changes
+							// Save changes.
 							update_post_meta( $menu_item_data['ID'], '_menu_item_menu_item_parent', (int) $menu_item_data['menu_item_parent'] );
 							wp_update_post($menu_item_data);
 							wp_update_post($parent_data);
 						}
 
-					// else this menu item is not a child of the previous
+					// Else this menu item is not a child of the previous.
 					} elseif (
 						empty( $menu_item_data['menu_order'] ) ||
 						empty( $menu_item_data['menu_item_parent'] ) ||
@@ -208,7 +215,7 @@ switch ( $action ) {
 						empty( $orders_to_dbids[$dbids_to_orders[$menu_item_id] - 1] ) ||
 						$orders_to_dbids[$dbids_to_orders[$menu_item_id] - 1] != $menu_item_data['menu_item_parent']
 					) {
-						// just make it a child of the previous; keep the order
+						// Just make it a child of the previous; keep the order.
 						$menu_item_data['menu_item_parent'] = (int) $orders_to_dbids[$dbids_to_orders[$menu_item_id] - 1];
 						update_post_meta( $menu_item_data['ID'], '_menu_item_menu_item_parent', (int) $menu_item_data['menu_item_parent'] );
 						wp_update_post($menu_item_data);
@@ -232,7 +239,7 @@ switch ( $action ) {
 		if ( is_nav_menu( $nav_menu_selected_id ) ) {
 			$deletion = wp_delete_nav_menu( $nav_menu_selected_id );
 		} else {
-			// Reset the selected menu
+			// Reset the selected menu.
 			$nav_menu_selected_id = 0;
 			unset( $_REQUEST['menu'] );
 		}
@@ -266,22 +273,22 @@ switch ( $action ) {
 	case 'update':
 		check_admin_referer( 'update-nav_menu', 'update-nav-menu-nonce' );
 
-		// Remove menu locations that have been unchecked
+		// Remove menu locations that have been unchecked.
 		foreach ( $locations as $location => $description ) {
 			if ( ( empty( $_POST['menu-locations'] ) || empty( $_POST['menu-locations'][ $location ] ) ) && isset( $menu_locations[ $location ] ) && $menu_locations[ $location ] == $nav_menu_selected_id )
 				unset( $menu_locations[ $location ] );
 		}
 
-		// Merge new and existing menu locations if any new ones are set
+		// Merge new and existing menu locations if any new ones are set.
 		if ( isset( $_POST['menu-locations'] ) ) {
 			$new_menu_locations = array_map( 'absint', $_POST['menu-locations'] );
 			$menu_locations = array_merge( $menu_locations, $new_menu_locations );
 		}
 
-		// Set menu locations
+		// Set menu locations.
 		set_theme_mod( 'nav_menu_locations', $menu_locations );
 
-		// Add Menu
+		// Add Menu.
 		if ( 0 == $nav_menu_selected_id ) {
 			$new_menu_title = trim( esc_html( $_POST['menu-name'] ) );
 
@@ -314,6 +321,7 @@ switch ( $action ) {
 							$menu_locations[ $_REQUEST['use-location'] ] = $nav_menu_selected_id;
 						set_theme_mod( 'nav_menu_locations', $menu_locations );
 					}
+
 					// $messages[] = '<div id="message" class="updated"><p>' . sprintf( __( '<strong>%s</strong> has been created.' ), $nav_menu_selected_title ) . '</p></div>';
 					wp_redirect( admin_url( 'nav-menus.php?menu=' . $_nav_menu_selected_id ) );
 					exit();
@@ -322,7 +330,7 @@ switch ( $action ) {
 				$messages[] = '<div id="message" class="error"><p>' . __( 'Please enter a valid menu name.' ) . '</p></div>';
 			}
 
-		// Update existing menu
+		// Update existing menu.
 		} else {
 
 			$_menu_object = wp_get_nav_menu_object( $nav_menu_selected_id );
@@ -344,7 +352,7 @@ switch ( $action ) {
 				}
 			}
 
-			// Update menu items
+			// Update menu items.
 			if ( ! is_wp_error( $_menu_object ) ) {
 				$messages = array_merge( $messages, wp_nav_menu_update_menu_items( $nav_menu_selected_id, $nav_menu_selected_title ) );
 			}
@@ -371,7 +379,7 @@ switch ( $action ) {
 		break;
 }
 
-// Get all nav menus
+// Get all nav menus.
 $nav_menus = wp_get_nav_menus( array('orderby' => 'name') );
 $menu_count = count( $nav_menus );
 
@@ -380,7 +388,10 @@ $add_new_screen = ( isset( $_GET['menu'] ) && 0 == $_GET['menu'] ) ? true : fals
 
 $locations_screen = ( isset( $_GET['action'] ) && 'locations' == $_GET['action'] ) ? true : false;
 
-// If we have one theme location, and zero menus, we take them right into editing their first menu
+/*
+ * If we have one theme location, and zero menus, we take them right
+ * into editing their first menu.
+ */
 $page_count = wp_count_posts( 'page' );
 $one_theme_location_no_menus = ( 1 == count( get_registered_nav_menus() ) && ! $add_new_screen && empty( $nav_menus ) && ! empty( $page_count->publish ) ) ? true : false;
 
@@ -404,32 +415,35 @@ $nav_menus_l10n = array(
 );
 wp_localize_script( 'nav-menu', 'menus', $nav_menus_l10n );
 
-// Redirect to add screen if there are no menus and this users has either zero, or more than 1 theme locations
+/*
+ * Redirect to add screen if there are no menus and this users has either zero,
+ * or more than 1 theme locations.
+ */
 if ( 0 == $menu_count && ! $add_new_screen && ! $one_theme_location_no_menus )
 	wp_redirect( admin_url( 'nav-menus.php?action=edit&menu=0' ) );
 
-// Get recently edited nav menu
+// Get recently edited nav menu.
 $recently_edited = absint( get_user_option( 'nav_menu_recently_edited' ) );
 if ( empty( $recently_edited ) && is_nav_menu( $nav_menu_selected_id ) )
 	$recently_edited = $nav_menu_selected_id;
 
-// Use $recently_edited if none are selected
+// Use $recently_edited if none are selected.
 if ( empty( $nav_menu_selected_id ) && ! isset( $_GET['menu'] ) && is_nav_menu( $recently_edited ) )
 	$nav_menu_selected_id = $recently_edited;
 
-// On deletion of menu, if another menu exists, show it
+// On deletion of menu, if another menu exists, show it.
 if ( ! $add_new_screen && 0 < $menu_count && isset( $_GET['action'] ) && 'delete' == $_GET['action'] )
 	$nav_menu_selected_id = $nav_menus[0]->term_id;
 
-// Set $nav_menu_selected_id to 0 if no menus
+// Set $nav_menu_selected_id to 0 if no menus.
 if ( $one_theme_location_no_menus ) {
 	$nav_menu_selected_id = 0;
 } elseif ( empty( $nav_menu_selected_id ) && ! empty( $nav_menus ) && ! $add_new_screen ) {
-	// if we have no selection yet, and we have menus, set to the first one in the list
+	// if we have no selection yet, and we have menus, set to the first one in the list.
 	$nav_menu_selected_id = $nav_menus[0]->term_id;
 }
 
-// Update the user's setting
+// Update the user's setting.
 if ( $nav_menu_selected_id != $recently_edited && is_nav_menu( $nav_menu_selected_id ) )
 	update_user_meta( $current_user->ID, 'nav_menu_recently_edited', $nav_menu_selected_id );
 
@@ -439,23 +453,25 @@ if ( ! $nav_menu_selected_title && is_nav_menu( $nav_menu_selected_id ) ) {
 	$nav_menu_selected_title = ! is_wp_error( $_menu_object ) ? $_menu_object->name : '';
 }
 
-// Generate truncated menu names
+// Generate truncated menu names.
 foreach( (array) $nav_menus as $key => $_nav_menu ) {
 	$nav_menus[$key]->truncated_name = wp_html_excerpt( $_nav_menu->name, 40, '&hellip;' );
 }
 
-// Retrieve menu locations
+// Retrieve menu locations.
 if ( current_theme_supports( 'menus' ) ) {
 	$locations = get_registered_nav_menus();
 	$menu_locations = get_nav_menu_locations();
 }
 
-// Ensure the user will be able to scroll horizontally
-// by adding a class for the max menu depth.
+/*
+ * Ensure the user will be able to scroll horizontally
+ * by adding a class for the max menu depth.
+ */
 global $_wp_nav_menu_max_depth;
 $_wp_nav_menu_max_depth = 0;
 
-// Calling wp_get_nav_menu_to_edit generates $_wp_nav_menu_max_depth
+// Calling wp_get_nav_menu_to_edit generates $_wp_nav_menu_max_depth.
 if ( is_nav_menu( $nav_menu_selected_id ) ) {
 	$menu_items = wp_get_nav_menu_items( $nav_menu_selected_id, array( 'post_status' => 'any' ) );
 	$edit_markup = wp_get_nav_menu_to_edit( $nav_menu_selected_id );
@@ -510,7 +526,7 @@ if ( ! $locations_screen ) : // Main tab
 		'title'   => __( 'Editing Menus' ),
 		'content' => $editing_menus
 	) );
-else : // Locations Tab
+else : // Locations Tab.
 	$locations_overview  = '<p>' . __( 'This screen is used for globally assigning menus to locations defined by your theme.' ) . '</p>';
 	$locations_overview .= '<ul><li>' . __( 'To assign menus to one or more theme locations, <strong>select a menu from each location&#8217;s drop down.</strong> When you&#8217;re finished, <strong>click Save Changes</strong>' ) . '</li>';
 	$locations_overview .= '<li>' . __( 'To edit a menu currently assigned to a theme location, <strong>click the adjacent &#8217;Edit&#8217; link</strong>' ) . '</li>';
@@ -529,7 +545,7 @@ get_current_screen()->set_help_sidebar(
 	'<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
-// Get the admin header
+// Get the admin header.
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 <div class="wrap">
@@ -620,7 +636,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 			<label for="menu" class="selected-menu"><?php _e( 'Select a menu to edit:' ); ?></label>
 			<select name="menu" id="menu">
 				<?php if ( $add_new_screen ) : ?>
-					<option value="0" selected="selected"><?php _e( '-- Select --' ); ?></option>
+					<option value="0" selected="selected"><?php _e( '&mdash; Select &mdash;' ); ?></option>
 				<?php endif; ?>
 				<?php foreach( (array) $nav_menus as $_nav_menu ) : ?>
 					<option value="<?php echo esc_attr( $_nav_menu->term_id ); ?>" <?php selected( $_nav_menu->term_id, $nav_menu_selected_id ); ?>>
@@ -644,7 +660,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 							 */
 							$assigned_locations = array_slice( $locations_assigned_to_this_menu, 0, absint( apply_filters( 'wp_nav_locations_listed_per_menu', 3 ) ) );
 
-							// Adds ellipses following the number of locations defined in $assigned_locations
+							// Adds ellipses following the number of locations defined in $assigned_locations.
 							if ( ! empty( $assigned_locations ) ) {
 								printf( ' (%1$s%2$s)',
 									implode( ', ', $assigned_locations ),
diff --git a/wp-admin/network.php b/wp-admin/network.php
index c7b115f6f..e5046f9b0 100644
--- a/wp-admin/network.php
+++ b/wp-admin/network.php
@@ -39,8 +39,11 @@ foreach ( $wpdb->tables( 'ms_global' ) as $table => $prefixed_table )
  */
 function network_domain_check() {
 	global $wpdb;
-	if ( $wpdb->get_var( "SHOW TABLES LIKE '$wpdb->site'" ) )
+
+	$sql = $wpdb->prepare( "SHOW TABLES LIKE %s", $wpdb->esc_like( $wpdb->site ) );
+	if ( $wpdb->get_var( $sql ) ) {
 		return $wpdb->get_var( "SELECT domain FROM $wpdb->site ORDER BY id ASC LIMIT 1" );
+	}
 	return false;
 }
 
@@ -153,7 +156,7 @@ function network_step1( $errors = false ) {
 	if ( defined('DO_NOT_UPGRADE_GLOBAL_TABLES') ) {
 		echo '<div class="error"><p><strong>' . __('ERROR:') . '</strong> ' . __( 'The constant DO_NOT_UPGRADE_GLOBAL_TABLES cannot be defined when creating a network.' ) . '</p></div>';
 		echo '</div>';
-		include ( ABSPATH . 'wp-admin/admin-footer.php' );
+		include( ABSPATH . 'wp-admin/admin-footer.php' );
 		die();
 	}
 
@@ -219,11 +222,11 @@ function network_step1( $errors = false ) {
 		<?php // @todo: Link to an MS readme? ?>
 		<table class="form-table">
 			<tr>
-				<th><label><input type='radio' name='subdomain_install' value='1'<?php checked( $subdomain_install ); ?> /> <?php _e( 'Sub-domains' ); ?></label></th>
+				<th><label><input type="radio" name="subdomain_install" value="1"<?php checked( $subdomain_install ); ?> /> <?php _e( 'Sub-domains' ); ?></label></th>
 				<td><?php printf( _x( 'like <code>site1.%1$s</code> and <code>site2.%1$s</code>', 'subdomain examples' ), $hostname ); ?></td>
 			</tr>
 			<tr>
-				<th><label><input type='radio' name='subdomain_install' value='0'<?php checked( ! $subdomain_install ); ?> /> <?php _e( 'Sub-directories' ); ?></label></th>
+				<th><label><input type="radio" name="subdomain_install" value="0"<?php checked( ! $subdomain_install ); ?> /> <?php _e( 'Sub-directories' ); ?></label></th>
 				<td><?php printf( _x( 'like <code>%1$s/site1</code> and <code>%1$s/site2</code>', 'subdirectory examples' ), $hostname ); ?></td>
 			</tr>
 		</table>
@@ -436,7 +439,7 @@ define('BLOG_ID_CURRENT_SITE', 1);</textarea>
 					$web_config_file .= '
                 <rule name="WordPress Rule for Files" stopProcessing="true">
                     <match url="^' . $iis_subdir_match . 'files/(.+)" ignoreCase="false" />
-                    <action type="Rewrite" url="' . $iis_rewrite_base . 'wp-includes/ms-files.php?file={R:1}" appendQueryString="false" />
+                    <action type="Rewrite" url="' . $iis_rewrite_base . WPINC . '/ms-files.php?file={R:1}" appendQueryString="false" />
                 </rule>';
                 }
                 $web_config_file .= '
@@ -486,7 +489,7 @@ define('BLOG_ID_CURRENT_SITE', 1);</textarea>
 		$ms_files_rewriting = '';
 		if ( is_multisite() && get_site_option( 'ms_files_rewriting' ) ) {
 			$ms_files_rewriting = "\n# uploaded files\nRewriteRule ^";
-			$ms_files_rewriting .= $subdir_match . "files/(.+) {$rewrite_base}wp-includes/ms-files.php?file={$subdir_replacement_12} [L]" . "\n";
+			$ms_files_rewriting .= $subdir_match . "files/(.+) {$rewrite_base}" . WPINC . "/ms-files.php?file={$subdir_replacement_12} [L]" . "\n";
 		}
 
 		$htaccess_file = <<<EOF
@@ -530,7 +533,7 @@ if ( $_POST ) {
 	check_admin_referer( 'install-network-1' );
 
 	require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
-	// create network tables
+	// Create network tables.
 	install_network();
 	$base              = parse_url( trailingslashit( get_option( 'home' ) ), PHP_URL_PATH );
 	$subdomain_install = allow_subdomain_install() ? !empty( $_POST['subdomain_install'] ) : false;
diff --git a/wp-admin/network/settings.php b/wp-admin/network/settings.php
index 3497ddb00..6349e8cdd 100644
--- a/wp-admin/network/settings.php
+++ b/wp-admin/network/settings.php
@@ -85,7 +85,7 @@ if ( isset( $_GET['updated'] ) ) {
 
 <div class="wrap">
 	<h2><?php echo esc_html( $title ); ?></h2>
-	<form method="post" action="settings.php">
+	<form method="post" action="settings.php" novalidate="novalidate">
 		<?php wp_nonce_field( 'siteoptions' ); ?>
 		<h3><?php _e( 'Operational Settings' ); ?></h3>
 		<table class="form-table">
@@ -99,10 +99,10 @@ if ( isset( $_GET['updated'] ) ) {
 			<tr>
 				<th scope="row"><label for="admin_email"><?php _e( 'Network Admin Email' ) ?></label></th>
 				<td>
-					<input name="admin_email" type="text" id="admin_email" class="regular-text" value="<?php echo esc_attr( get_site_option('admin_email') ) ?>" />
+					<input name="admin_email" type="email" id="admin_email" class="regular-text" value="<?php echo esc_attr( get_site_option( 'admin_email' ) ) ?>" />
 					<p class="description">
 						<?php _e( 'This email address will receive notifications. Registration and support emails will also come from this address.' ); ?>
-					</p>	
+					</p>
 				</td>
 			</tr>
 		</table>
@@ -165,7 +165,7 @@ if ( isset( $_GET['updated'] ) ) {
 <?php echo esc_textarea( $limited_email_domains == '' ? '' : implode( "\n", (array) $limited_email_domains ) ); ?></textarea>
 					<p class="description">
 						<?php _e( 'If you want to limit site registrations to certain domains. One domain per line.' ) ?>
-					</p>	
+					</p>
 				</td>
 			</tr>
 
@@ -231,7 +231,7 @@ if ( isset( $_GET['updated'] ) ) {
 <?php echo esc_textarea( get_site_option( 'first_comment' ) ) ?></textarea>
 					<p class="description">
 						<?php _e( 'The first comment on a new site.' ) ?>
-					</p>	
+					</p>
 				</td>
 			</tr>
 			<tr>
@@ -273,25 +273,34 @@ if ( isset( $_GET['updated'] ) ) {
 			</tr>
 		</table>
 
-<?php
+		<?php
 		$languages = get_available_languages();
 		if ( ! empty( $languages ) ) {
-			$lang = get_site_option( 'WPLANG' );
-?>
-		<h3><?php _e( 'Language Settings' ); ?></h3>
-		<table class="form-table">
+			?>
+			<h3><?php _e( 'Language Settings' ); ?></h3>
+			<table class="form-table">
 				<tr>
 					<th><label for="WPLANG"><?php _e( 'Default Language' ); ?></label></th>
 					<td>
-						<select name="WPLANG" id="WPLANG">
-							<?php mu_dropdown_languages( $languages, get_site_option( 'WPLANG' ) ); ?>
-						</select>
+						<?php
+						$lang = get_site_option( 'WPLANG' );
+						if ( ! in_array( $lang, $languages ) ) {
+							$lang = '';
+						}
+
+						wp_dropdown_languages( array(
+							'name'      => 'WPLANG',
+							'id'        => 'WPLANG',
+							'selected'  => $lang,
+							'languages' => $languages,
+						) );
+						?>
 					</td>
 				</tr>
-		</table>
-<?php
-		} // languages
-?>
+			</table>
+			<?php
+		}
+		?>
 
 		<h3><?php _e( 'Menu Settings' ); ?></h3>
 		<table id="menu" class="form-table">
@@ -324,7 +333,7 @@ if ( isset( $_GET['updated'] ) ) {
 			</tr>
 		</table>
 
-		<?php 
+		<?php
 		/**
 		 * Fires at the end of the Network Settings form, before the submit button.
 		 *
diff --git a/wp-admin/network/site-info.php b/wp-admin/network/site-info.php
index 1034af147..2fb9fefed 100644
--- a/wp-admin/network/site-info.php
+++ b/wp-admin/network/site-info.php
@@ -42,6 +42,7 @@ $details = get_blog_details( $id );
 if ( !can_edit_network( $details->site_id ) )
 	wp_die( __( 'You do not have permission to access this page.' ) );
 
+$parsed = parse_url( $details->siteurl );
 $is_main_site = is_main_site( $id );
 
 if ( isset($_REQUEST['action']) && 'update-site' == $_REQUEST['action'] ) {
@@ -58,10 +59,10 @@ if ( isset($_REQUEST['action']) && 'update-site' == $_REQUEST['action'] ) {
 			update_option( 'home', $blog_address );
 	}
 
-	// rewrite rules can't be flushed during switch to blog
+	// Rewrite rules can't be flushed during switch to blog.
 	delete_option( 'rewrite_rules' );
 
-	// update blogs table
+	// Update blogs table.
 	$blog_data = wp_unslash( $_POST['blog'] );
 	$existing_details = get_blog_details( $id, false );
 	$blog_data_checkboxes = array( 'public', 'archived', 'spam', 'mature', 'deleted' );
@@ -122,12 +123,10 @@ if ( ! empty( $messages ) ) {
 	<table class="form-table">
 		<tr class="form-field form-required">
 			<th scope="row"><?php _e( 'Domain' ) ?></th>
-			<?php
-			$protocol = is_ssl() ? 'https://' : 'http://';
-			if ( $is_main_site ) { ?>
-			<td><code><?php echo $protocol; echo esc_attr( $details->domain ) ?></code></td>
+			<?php if ( $is_main_site ) { ?>
+				<td><code><?php echo $parsed['scheme'] . '://' . esc_attr( $details->domain ) ?></code></td>
 			<?php } else { ?>
-			<td><?php echo $protocol; ?><input name="blog[domain]" type="text" id="domain" value="<?php echo esc_attr( $details->domain ) ?>" size="33" /></td>
+				<td><?php echo $parsed['scheme'] . '://'; ?><input name="blog[domain]" type="text" id="domain" value="<?php echo esc_attr( $details->domain ) ?>" size="33" /></td>
 			<?php } ?>
 		</tr>
 		<tr class="form-field form-required">
@@ -138,7 +137,7 @@ if ( ! empty( $messages ) ) {
 			} else {
 				switch_to_blog( $id );
 			?>
-			<td><input name="blog[path]" type="text" id="path" value="<?php echo esc_attr( $details->path ) ?>" size="40" style='margin-bottom:5px;' />
+			<td><input name="blog[path]" type="text" id="path" value="<?php echo esc_attr( $details->path ) ?>" size="40" style="margin-bottom:5px;" />
 			<br /><input type="checkbox" style="width:20px;" name="update_home_url" value="update" <?php if ( get_option( 'siteurl' ) == untrailingslashit( get_blogaddress_by_id ($id ) ) || get_option( 'home' ) == untrailingslashit( get_blogaddress_by_id( $id ) ) ) echo 'checked="checked"'; ?> /> <?php _e( 'Update <code>siteurl</code> and <code>home</code> as well.' ); ?></td>
 			<?php
 				restore_current_blog();
diff --git a/wp-admin/network/site-new.php b/wp-admin/network/site-new.php
index 6a6cac993..d8024400d 100644
--- a/wp-admin/network/site-new.php
+++ b/wp-admin/network/site-new.php
@@ -119,7 +119,7 @@ if ( ! empty( $messages ) ) {
 	foreach ( $messages as $msg )
 		echo '<div id="message" class="updated"><p>' . $msg . '</p></div>';
 } ?>
-<form method="post" action="<?php echo network_admin_url('site-new.php?action=add-site'); ?>">
+<form method="post" action="<?php echo network_admin_url( 'site-new.php?action=add-site' ); ?>" novalidate="novalidate">
 <?php wp_nonce_field( 'add-blog', '_wpnonce_add-blog' ) ?>
 	<table class="form-table">
 		<tr class="form-field form-required">
@@ -140,7 +140,7 @@ if ( ! empty( $messages ) ) {
 		</tr>
 		<tr class="form-field form-required">
 			<th scope="row"><?php _e( 'Admin Email' ) ?></th>
-			<td><input name="blog[email]" type="text" class="regular-text wp-suggest-user" data-autocomplete-type="search" data-autocomplete-field="user_email" title="<?php esc_attr_e( 'Email' ) ?>"/></td>
+			<td><input name="blog[email]" type="email" class="regular-text wp-suggest-user" data-autocomplete-type="search" data-autocomplete-field="user_email" title="<?php esc_attr_e( 'Email' ) ?>"/></td>
 		</tr>
 		<tr class="form-field">
 			<td colspan="2"><?php _e( 'A new user will be created if the above email address is not in the database.' ) ?><br /><?php _e( 'The username and password will be mailed to this email address.' ) ?></td>
diff --git a/wp-admin/network/site-settings.php b/wp-admin/network/site-settings.php
index aeca875e5..1decdcbec 100644
--- a/wp-admin/network/site-settings.php
+++ b/wp-admin/network/site-settings.php
@@ -113,7 +113,14 @@ if ( ! empty( $messages ) ) {
 	<table class="form-table">
 		<?php
 		$blog_prefix = $wpdb->get_blog_prefix( $id );
-		$options = $wpdb->get_results( "SELECT * FROM {$blog_prefix}options WHERE option_name NOT LIKE '\_%' AND option_name NOT LIKE '%user_roles'" );
+		$sql = "SELECT * FROM {$blog_prefix}options
+			WHERE option_name NOT LIKE %s
+			AND option_name NOT LIKE %s";
+		$query = $wpdb->prepare( $sql,
+			$wpdb->esc_like( '_' ) . '%',
+			'%' . $wpdb->esc_like( 'user_roles' )
+		);
+		$options = $wpdb->get_results( $query );
 		foreach ( $options as $option ) {
 			if ( $option->option_name == 'default_role' )
 				$editblog_default_role = $option->option_value;
diff --git a/wp-admin/network/site-users.php b/wp-admin/network/site-users.php
index 4e2c6c9d9..a037c8b87 100644
--- a/wp-admin/network/site-users.php
+++ b/wp-admin/network/site-users.php
@@ -176,7 +176,7 @@ if ( ! wp_is_large_network( 'users' ) && apply_filters( 'show_network_site_users
 
 require( ABSPATH . 'wp-admin/admin-header.php' ); ?>
 
-<script type='text/javascript'>
+<script type="text/javascript">
 /* <![CDATA[ */
 var current_site_id = <?php echo $id; ?>;
 /* ]]> */
diff --git a/wp-admin/network/themes.php b/wp-admin/network/themes.php
index 230463f32..a70d5b840 100644
--- a/wp-admin/network/themes.php
+++ b/wp-admin/network/themes.php
@@ -40,14 +40,12 @@ if ( $action ) {
 			else
 				wp_safe_redirect( add_query_arg( 'enabled', 1, $referer ) );
 			exit;
-			break;
 		case 'disable':
 			check_admin_referer('disable-theme_' . $_GET['theme']);
 			unset( $allowed_themes[ $_GET['theme'] ] );
 			update_site_option( 'allowedthemes', $allowed_themes );
 			wp_safe_redirect( add_query_arg( 'disabled', '1', $referer ) );
 			exit;
-			break;
 		case 'enable-selected':
 			check_admin_referer('bulk-themes');
 			$themes = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array();
@@ -60,7 +58,6 @@ if ( $action ) {
 			update_site_option( 'allowedthemes', $allowed_themes );
 			wp_safe_redirect( add_query_arg( 'enabled', count( $themes ), $referer ) );
 			exit;
-			break;
 		case 'disable-selected':
 			check_admin_referer('bulk-themes');
 			$themes = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array();
@@ -73,7 +70,6 @@ if ( $action ) {
 			update_site_option( 'allowedthemes', $allowed_themes );
 			wp_safe_redirect( add_query_arg( 'disabled', count( $themes ), $referer ) );
 			exit;
-			break;
 		case 'update-selected' :
 			check_admin_referer( 'bulk-themes' );
 
@@ -99,7 +95,6 @@ if ( $action ) {
 			echo '</div>';
 			require_once(ABSPATH . 'wp-admin/admin-footer.php');
 			exit;
-			break;
 		case 'delete-selected':
 			if ( ! current_user_can( 'delete_themes' ) )
 				wp_die( __('You do not have sufficient permissions to delete themes for this site.') );
@@ -182,7 +177,7 @@ if ( $action ) {
 					'_wpnonce' => $_REQUEST['_wpnonce']
 				), network_admin_url( 'themes.php' ) ) ) );
 			}
-			
+
 			$paged = ( $_REQUEST['paged'] ) ? $_REQUEST['paged'] : 1;
 			wp_redirect( add_query_arg( array(
 				'deleted' => count( $themes ),
@@ -190,7 +185,6 @@ if ( $action ) {
 				's' => $s
 			), network_admin_url( 'themes.php' ) ) );
 			exit;
-			break;
 	}
 }
 
diff --git a/wp-admin/network/upgrade.php b/wp-admin/network/upgrade.php
index 15a5b74a9..f7ea21812 100644
--- a/wp-admin/network/upgrade.php
+++ b/wp-admin/network/upgrade.php
@@ -86,7 +86,7 @@ switch ( $action ) {
 		}
 		echo "</ul>";
 		?><p><?php _e( 'If your browser doesn&#8217;t start loading the next page automatically, click this link:' ); ?> <a class="button" href="upgrade.php?action=upgrade&amp;n=<?php echo ($n + 5) ?>"><?php _e("Next Sites"); ?></a></p>
-		<script type='text/javascript'>
+		<script type="text/javascript">
 		<!--
 		function nextpage() {
 			location.href = "upgrade.php?action=upgrade&n=<?php echo ($n + 5) ?>";
diff --git a/wp-admin/network/users.php b/wp-admin/network/users.php
index 9694b6d16..39ab1b5a0 100644
--- a/wp-admin/network/users.php
+++ b/wp-admin/network/users.php
@@ -28,7 +28,7 @@ function confirm_delete_users( $users ) {
 	<?php
 	wp_nonce_field( 'ms-users-delete' );
 	$site_admins = get_super_admins();
-	$admin_out = "<option value='$current_user->ID'>$current_user->user_login</option>";
+	$admin_out = '<option value="' . $current_user->ID . '">' . $current_user->user_login . '</option>';
 
 	foreach ( ( $allusers = (array) $_POST['allusers'] ) as $key => $val ) {
 		if ( $val != '' && $val != '0' ) {
@@ -77,6 +77,9 @@ function confirm_delete_users( $users ) {
 		}
 	}
 
+	/** This action is documented in wp-admin/users.php */
+	do_action( 'delete_user_form', $current_user );
+
 	submit_button( __('Confirm Deletion'), 'delete' );
 	?>
 	</form>
@@ -109,7 +112,6 @@ if ( isset( $_GET['action'] ) ) {
 				wp_redirect( network_admin_url( 'users.php' ) );
 			}
 			exit();
-		break;
 
 		case 'allusers':
 			if ( !current_user_can( 'manage_network_users' ) )
@@ -135,7 +137,6 @@ if ( isset( $_GET['action'] ) ) {
 								echo '</div>';
 								require_once( ABSPATH . 'wp-admin/admin-footer.php' );
 								exit();
-							break;
 
 							case 'spam':
 								$user = get_userdata( $val );
@@ -172,7 +173,6 @@ if ( isset( $_GET['action'] ) ) {
 				wp_redirect( $location );
 			}
 			exit();
-		break;
 
 		case 'dodelete':
 			check_admin_referer( 'ms-users-delete' );
@@ -208,7 +208,6 @@ if ( isset( $_GET['action'] ) ) {
 
 			wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => $deletefunction ), network_admin_url( 'users.php' ) ) );
 			exit();
-		break;
 	}
 }
 
@@ -289,7 +288,7 @@ if ( isset( $_REQUEST['updated'] ) && $_REQUEST['updated'] == 'true' && ! empty(
 		<?php $wp_list_table->search_box( __( 'Search Users' ), 'all-user' ); ?>
 	</form>
 
-	<form id="form-user-list" action='users.php?action=allusers' method='post'>
+	<form id="form-user-list" action="users.php?action=allusers" method="post">
 		<?php $wp_list_table->display(); ?>
 	</form>
 </div>
diff --git a/wp-admin/options-general.php b/wp-admin/options-general.php
index 38f20c580..701188555 100644
--- a/wp-admin/options-general.php
+++ b/wp-admin/options-general.php
@@ -86,7 +86,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 <div class="wrap">
 <h2><?php echo esc_html( $title ); ?></h2>
 
-<form method="post" action="options.php">
+<form method="post" action="options.php" novalidate="novalidate">
 <?php settings_fields('general'); ?>
 
 <table class="form-table">
@@ -102,16 +102,16 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 <?php if ( !is_multisite() ) { ?>
 <tr>
 <th scope="row"><label for="siteurl"><?php _e('WordPress Address (URL)') ?></label></th>
-<td><input name="siteurl" type="text" id="siteurl" value="<?php form_option('siteurl'); ?>"<?php disabled( defined( 'WP_SITEURL' ) ); ?> class="regular-text code<?php if ( defined( 'WP_SITEURL' ) ) echo ' disabled' ?>" /></td>
+<td><input name="siteurl" type="url" id="siteurl" value="<?php form_option( 'siteurl' ); ?>"<?php disabled( defined( 'WP_SITEURL' ) ); ?> class="regular-text code<?php if ( defined( 'WP_SITEURL' ) ) echo ' disabled' ?>" /></td>
 </tr>
 <tr>
 <th scope="row"><label for="home"><?php _e('Site Address (URL)') ?></label></th>
-<td><input name="home" type="text" id="home" value="<?php form_option('home'); ?>"<?php disabled( defined( 'WP_HOME' ) ); ?> class="regular-text code<?php if ( defined( 'WP_HOME' ) ) echo ' disabled' ?>" />
+<td><input name="home" type="url" id="home" value="<?php form_option( 'home' ); ?>"<?php disabled( defined( 'WP_HOME' ) ); ?> class="regular-text code<?php if ( defined( 'WP_HOME' ) ) echo ' disabled' ?>" />
 <p class="description"><?php _e('Enter the address here if you want your site homepage <a href="http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory">to be different from the directory</a> you installed WordPress.'); ?></p></td>
 </tr>
 <tr>
 <th scope="row"><label for="admin_email"><?php _e('E-mail Address') ?> </label></th>
-<td><input name="admin_email" type="text" id="admin_email" value="<?php form_option('admin_email'); ?>" class="regular-text ltr" />
+<td><input name="admin_email" type="email" id="admin_email" value="<?php form_option( 'admin_email' ); ?>" class="regular-text ltr" />
 <p class="description"><?php _e('This address is used for admin purposes, like new user notification.') ?></p></td>
 </tr>
 <tr>
@@ -130,7 +130,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 <?php } else { ?>
 <tr>
 <th scope="row"><label for="new_admin_email"><?php _e('E-mail Address') ?> </label></th>
-<td><input name="new_admin_email" type="text" id="new_admin_email" value="<?php form_option('admin_email'); ?>" class="regular-text ltr" />
+<td><input name="new_admin_email" type="email" id="new_admin_email" value="<?php form_option( 'admin_email' ); ?>" class="regular-text ltr" />
 <p class="description"><?php _e('This address is used for admin purposes. If you change this we will send you an e-mail at your new address to confirm it. <strong>The new address will not become active until confirmed.</strong>') ?></p>
 <?php
 $new_admin_email = get_option( 'new_admin_email' );
@@ -232,10 +232,11 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists
 	* Filter the default date formats.
 	*
 	* @since 2.7.0
+	* @since 4.0.0 Added ISO date standard YYYY-MM-DD format.
 	*
 	* @param array $default_date_formats Array of default date formats.
 	*/
-	$date_formats = array_unique( apply_filters( 'date_formats', array( __( 'F j, Y' ), 'Y/m/d', 'm/d/Y', 'd/m/Y' ) ) );
+	$date_formats = array_unique( apply_filters( 'date_formats', array( __( 'F j, Y' ), 'Y-m-d', 'm/d/Y', 'd/m/Y' ) ) );
 
 	$custom = true;
 
@@ -251,8 +252,6 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists
 	echo '	<label><input type="radio" name="date_format" id="date_format_custom_radio" value="\c\u\s\t\o\m"';
 	checked( $custom );
 	echo '/> ' . __('Custom:') . ' </label><input type="text" name="date_format_custom" value="' . esc_attr( get_option('date_format') ) . '" class="small-text" /> <span class="example"> ' . date_i18n( get_option('date_format') ) . "</span> <span class='spinner'></span>\n";
-
-	echo "\t<p>" . __('<a href="http://codex.wordpress.org/Formatting_Date_and_Time">Documentation on date and time formatting</a>.') . "</p>\n";
 ?>
 	</fieldset>
 </td>
@@ -285,7 +284,8 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists
 	echo '	<label><input type="radio" name="time_format" id="time_format_custom_radio" value="\c\u\s\t\o\m"';
 	checked( $custom );
 	echo '/> ' . __('Custom:') . ' </label><input type="text" name="time_format_custom" value="' . esc_attr( get_option('time_format') ) . '" class="small-text" /> <span class="example"> ' . date_i18n( get_option('time_format') ) . "</span> <span class='spinner'></span>\n";
-	;
+
+	echo "\t<p>" . __('<a href="http://codex.wordpress.org/Formatting_Date_and_Time">Documentation on date and time formatting</a>.') . "</p>\n";
 ?>
 	</fieldset>
 </td>
@@ -302,20 +302,46 @@ endfor;
 </select></td>
 </tr>
 <?php do_settings_fields('general', 'default'); ?>
+
 <?php
-	$languages = get_available_languages();
-	if ( is_multisite() && !empty( $languages ) ):
-?>
+$languages = get_available_languages();
+if ( ! is_multisite() && defined( 'WPLANG' ) && '' !== WPLANG && 'en_US' !== WPLANG && ! in_array( WPLANG, $languages ) ) {
+	$languages[] = WPLANG;
+}
+if ( $languages ) {
+	?>
 	<tr>
-		<th width="33%" scope="row"><?php _e('Site Language') ?></th>
+		<th width="33%" scope="row"><label for="WPLANG"><?php _e( 'Site Language' ); ?></label></th>
 		<td>
-			<select name="WPLANG" id="WPLANG">
-				<?php mu_dropdown_languages( $languages, get_option('WPLANG') ); ?>
-			</select>
+			<?php
+			$locale = get_locale();
+			if ( ! in_array( $locale, $languages ) ) {
+				$locale = '';
+			}
+
+			wp_dropdown_languages( array(
+				'name'      => 'WPLANG',
+				'id'        => 'WPLANG',
+				'selected'  => $locale,
+				'languages' => $languages,
+			) );
+
+			// Add note about deprecated WPLANG constant.
+			if ( defined( 'WPLANG' ) && ( '' !== WPLANG ) && $locale !== WPLANG ) {
+				if ( is_super_admin() ) {
+					?>
+					<p class="description">
+						<strong><?php _e( 'Note:' ); ?></strong> <?php printf( __( 'The %s constant in your %s file is no longer needed.' ), '<code>WPLANG</code>', '<code>wp-config.php</code>' ); ?>
+					</p>
+					<?php
+				}
+				_deprecated_argument( 'define()', '4.0', sprintf( __( 'The %s constant in your %s file is no longer needed.' ), 'WPLANG', 'wp-config.php' ) );
+			}
+			?>
 		</td>
 	</tr>
-<?php
-	endif;
+	<?php
+}
 ?>
 </table>
 
diff --git a/wp-admin/options.php b/wp-admin/options.php
index f705a9f66..29a934469 100644
--- a/wp-admin/options.php
+++ b/wp-admin/options.php
@@ -26,9 +26,10 @@ wp_reset_vars(array('action', 'option_page'));
 
 $capability = 'manage_options';
 
-if ( empty($option_page) ) // This is for back compat and will eventually be removed.
+// This is for back compat and will eventually be removed.
+if ( empty($option_page) ) {
 	$option_page = 'options';
-else
+} else {
 
 	/**
 	 * Filter the capability required when using the Settings API.
@@ -41,6 +42,7 @@ else
 	 * @param string $capability The capability used for the page, which is manage_options by default.
 	 */
 	$capability = apply_filters( "option_page_capability_{$option_page}", $capability );
+}
 
 if ( !current_user_can( $capability ) )
 	wp_die(__('Cheatin&#8217; uh?'));
@@ -70,7 +72,7 @@ if ( is_multisite() && !is_super_admin() && 'update' != $action )
 	wp_die(__('Cheatin&#8217; uh?'));
 
 $whitelist_options = array(
-	'general' => array( 'blogname', 'blogdescription', 'gmt_offset', 'date_format', 'time_format', 'start_of_week', 'timezone_string' ),
+	'general' => array( 'blogname', 'blogdescription', 'gmt_offset', 'date_format', 'time_format', 'start_of_week', 'timezone_string', 'WPLANG' ),
 	'discussion' => array( 'default_pingback_flag', 'default_ping_status', 'default_comment_status', 'comments_notify', 'moderation_notify', 'comment_moderation', 'require_name_email', 'comment_whitelist', 'comment_max_links', 'moderation_keys', 'blacklist_keys', 'show_avatars', 'avatar_rating', 'avatar_default', 'close_comments_for_old_posts', 'close_comments_days_old', 'thread_comments', 'thread_comments_depth', 'page_comments', 'comments_per_page', 'default_comments_page', 'comment_order', 'comment_registration' ),
 	'media' => array( 'thumbnail_size_w', 'thumbnail_size_h', 'thumbnail_crop', 'medium_size_w', 'medium_size_h', 'large_size_w', 'large_size_h', 'image_default_size', 'image_default_align', 'image_default_link_type' ),
 	'reading' => array( 'posts_per_page', 'posts_per_rss', 'rss_use_excerpt', 'show_on_front', 'page_on_front', 'page_for_posts', 'blog_public' ),
@@ -105,7 +107,6 @@ if ( !is_multisite() ) {
 	}
 } else {
 	$whitelist_options['general'][] = 'new_admin_email';
-	$whitelist_options['general'][] = 'WPLANG';
 
 	/**
 	 * Filter whether the post-by-email functionality is enabled.
@@ -150,7 +151,7 @@ if ( 'update' == $action ) {
 		$options = $whitelist_options[ $option_page ];
 	}
 
-	// Handle custom date/time formats
+	// Handle custom date/time formats.
 	if ( 'general' == $option_page ) {
 		if ( !empty($_POST['date_format']) && isset($_POST['date_format_custom']) && '\c\u\s\t\o\m' == wp_unslash( $_POST['date_format'] ) )
 			$_POST['date_format'] = $_POST['date_format_custom'];
@@ -179,6 +180,14 @@ if ( 'update' == $action ) {
 			}
 			update_option( $option, $value );
 		}
+
+		// Switch translation in case WPLANG was changed.
+		$language = get_option( 'WPLANG' );
+		if ( $language ) {
+			load_default_textdomain( $language );
+		} else {
+			unload_textdomain( 'default' );
+		}
 	}
 
 	/**
@@ -204,7 +213,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' ); ?>
   <form name="form" action="options.php" method="post" id="all-options">
   <?php wp_nonce_field('options-options') ?>
   <input type="hidden" name="action" value="update" />
-  <input type='hidden' name='option_page' value='options' />
+  <input type="hidden" name="option_page" value="options" />
   <table class="form-table">
 <?php
 $options = $wpdb->get_results( "SELECT * FROM $wpdb->options ORDER BY option_name" );
@@ -215,7 +224,7 @@ foreach ( (array) $options as $option ) :
 		continue;
 	if ( is_serialized( $option->option_value ) ) {
 		if ( is_serialized_string( $option->option_value ) ) {
-			// this is a serialized string, so we should display it
+			// This is a serialized string, so we should display it.
 			$value = maybe_unserialize( $option->option_value );
 			$options_to_update[] = $option->option_name;
 			$class = 'all-options';
@@ -230,18 +239,19 @@ foreach ( (array) $options as $option ) :
 		$class = 'all-options';
 	}
 	$name = esc_attr( $option->option_name );
-	echo "
+	?>
 <tr>
-	<th scope='row'><label for='$name'>" . esc_html( $option->option_name ) . "</label></th>
-<td>";
-	if ( strpos( $value, "\n" ) !== false )
-		echo "<textarea class='$class' name='$name' id='$name' cols='30' rows='5'>" . esc_textarea( $value ) . "</textarea>";
-	else
-		echo "<input class='regular-text $class' type='text' name='$name' id='$name' value='" . esc_attr( $value ) . "'" . disabled( $disabled, true, false ) . " />";
-	echo "</td>
-</tr>";
-endforeach;
-?>
+	<th scope="row"><label for="<?php echo $name ?>"><?php echo esc_html( $option->option_name ); ?></label></th>
+<td>
+<?php if ( strpos( $value, "\n" ) !== false ) : ?>
+	<textarea class="<?php echo $class ?>" name="<?php echo $name ?>" id="<?php echo $name ?>" cols="30" rows="5"><?php
+		echo esc_textarea( $value );
+	?></textarea>
+	<?php else: ?>
+		<input class="regular-text <?php echo $class ?>" type="text" name="<?php echo $name ?>" id="<?php echo $name ?>" value="<?php echo esc_attr( $value ) ?>"<?php disabled( $disabled, true ) ?> />
+	<?php endif ?></td>
+</tr>
+<?php endforeach; ?>
   </table>
 
 <input type="hidden" name="page_options" value="<?php echo esc_attr( implode( ',', $options_to_update ) ); ?>" />
diff --git a/wp-admin/plugin-editor.php b/wp-admin/plugin-editor.php
index 26c14bc25..1c242955b 100644
--- a/wp-admin/plugin-editor.php
+++ b/wp-admin/plugin-editor.php
@@ -83,8 +83,6 @@ case 'update':
 	}
 	exit;
 
-break;
-
 default:
 
 	if ( isset($_GET['liveupdate']) ) {
diff --git a/wp-admin/plugin-install.php b/wp-admin/plugin-install.php
index b87193977..6ec2b9d14 100644
--- a/wp-admin/plugin-install.php
+++ b/wp-admin/plugin-install.php
@@ -26,7 +26,7 @@ $wp_list_table = _get_list_table('WP_Plugin_Install_List_Table');
 $pagenum = $wp_list_table->get_pagenum();
 $wp_list_table->prepare_items();
 
-$title = __('Install Plugins');
+$title = __( 'Add Plugins' );
 $parent_file = 'plugins.php';
 
 wp_enqueue_script( 'plugin-install' );
@@ -56,7 +56,7 @@ get_current_screen()->add_help_tab( array(
 'title'		=> __('Adding Plugins'),
 'content'	=>
 	'<p>' . __('If you know what you&#8217;re looking for, Search is your best bet. The Search screen has options to search the WordPress.org Plugin Directory for a particular Term, Author, or Tag. You can also search the directory by selecting popular tags. Tags in larger type mean more plugins have been labeled with that tag.') . '</p>' .
-	'<p>' . __('If you just want to get an idea of what&#8217;s available, you can browse Featured, Popular, and Newest plugins by using the links in the upper left of the screen. These sections rotate regularly.') . '</p>' .
+	'<p>' . __('If you just want to get an idea of what&#8217;s available, you can browse Featured and Popular plugins by using the links in the upper left of the screen. These sections rotate regularly.') . '</p>' .
 	'<p>' . __('You can also browse a user&#8217;s favorite plugins, by using the Favorites link in the upper left of the screen and entering their WordPress.org username.') . '</p>' .
 	'<p>' . __('If you want to install a plugin that you&#8217;ve downloaded elsewhere, click the Upload link in the upper left. You will be prompted to upload the .zip package, and once uploaded, you can activate the new plugin.') . '</p>'
 ) );
@@ -73,12 +73,28 @@ get_current_screen()->set_help_sidebar(
 include(ABSPATH . 'wp-admin/admin-header.php');
 ?>
 <div class="wrap">
-<h2><?php echo esc_html( $title ); ?></h2>
+<h2>
+	<?php
+	echo esc_html( $title );
+	if ( ! empty( $tabs['upload'] ) && current_user_can( 'upload_plugins' ) ) {
+		if ( $tab === 'upload' ) {
+			$href = self_admin_url( 'plugin-install.php' );
+			$text = _x( 'Browse', 'plugins' );
+		} else {
+			$href = self_admin_url( 'plugin-install.php?tab=upload' );
+			$text = __( 'Upload Plugin' );
+		}
+		echo ' <a href="' . $href . '" class="upload add-new-h2">' . $text . '</a>';
+	}
+	?>
+</h2>
 
-<?php $wp_list_table->views(); ?>
-
-<br class="clear" />
 <?php
+if ( $tab !== 'upload' ) {
+	$wp_list_table->views();
+	echo '<br class="clear" />';
+}
+
 /**
  * Fires after the plugins list table in each tab of the Install Plugins screen.
  *
diff --git a/wp-admin/plugins.php b/wp-admin/plugins.php
index 9c3aa457f..988cfa932 100644
--- a/wp-admin/plugins.php
+++ b/wp-admin/plugins.php
@@ -60,7 +60,7 @@ if ( $action ) {
 				wp_redirect( self_admin_url("plugins.php?activate=true&plugin_status=$status&paged=$page&s=$s") ); // overrides the ?error=true one above
 			}
 			exit;
-			break;
+
 		case 'activate-selected':
 			if ( ! current_user_can('activate_plugins') )
 				wp_die(__('You do not have sufficient permissions to activate plugins for this site.'));
@@ -101,7 +101,7 @@ if ( $action ) {
 
 			wp_redirect( self_admin_url("plugins.php?activate-multi=true&plugin_status=$status&paged=$page&s=$s") );
 			exit;
-			break;
+
 		case 'update-selected' :
 
 			check_admin_referer( 'bulk-plugins' );
@@ -129,7 +129,7 @@ if ( $action ) {
 			echo '</div>';
 			require_once(ABSPATH . 'wp-admin/admin-footer.php');
 			exit;
-			break;
+
 		case 'error_scrape':
 			if ( ! current_user_can('activate_plugins') )
 				wp_die(__('You do not have sufficient permissions to activate plugins for this site.'));
@@ -154,7 +154,7 @@ if ( $action ) {
 			/** This action is documented in wp-admin/includes/plugins.php */
 			do_action( "activate_{$plugin}" );
 			exit;
-			break;
+
 		case 'deactivate':
 			if ( ! current_user_can('activate_plugins') )
 				wp_die(__('You do not have sufficient permissions to deactivate plugins for this site.'));
@@ -174,7 +174,7 @@ if ( $action ) {
 			else
 				wp_redirect( self_admin_url("plugins.php?deactivate=true&plugin_status=$status&paged=$page&s=$s") );
 			exit;
-			break;
+
 		case 'deactivate-selected':
 			if ( ! current_user_can('activate_plugins') )
 				wp_die(__('You do not have sufficient permissions to deactivate plugins for this site.'));
@@ -205,7 +205,7 @@ if ( $action ) {
 
 			wp_redirect( self_admin_url("plugins.php?deactivate-multi=true&plugin_status=$status&paged=$page&s=$s") );
 			exit;
-			break;
+
 		case 'delete-selected':
 			if ( ! current_user_can('delete_plugins') )
 				wp_die(__('You do not have sufficient permissions to delete plugins for this site.'));
@@ -324,7 +324,7 @@ if ( $action ) {
 			set_transient('plugins_delete_result_' . $user_ID, $delete_result); //Store the result in a cache rather than a URL param due to object type & length
 			wp_redirect( self_admin_url("plugins.php?deleted=true&plugin_status=$status&paged=$page&s=$s") );
 			exit;
-			break;
+
 		case 'clear-recent-list':
 			if ( ! is_network_admin() )
 				update_option( 'recently_activated', array() );
@@ -380,7 +380,7 @@ if ( !empty($invalid) )
 	else
 		$errmsg = __('Plugin could not be activated because it triggered a <strong>fatal error</strong>.');
 	?>
-	<div id="message" class="updated"><p><?php echo $errmsg; ?></p>
+	<div id="message" class="error"><p><?php echo $errmsg; ?></p>
 	<?php
 		if ( !isset( $_GET['main'] ) && !isset($_GET['charsout']) && wp_verify_nonce($_GET['_error_nonce'], 'plugin-activation-error_' . $plugin) ) { ?>
 	<iframe style="border:0" width="100%" height="70px" src="<?php echo 'plugins.php?action=error_scrape&amp;plugin=' . esc_attr($plugin) . '&amp;_wpnonce=' . esc_attr($_GET['_error_nonce']); ?>"></iframe>
@@ -394,7 +394,7 @@ if ( !empty($invalid) )
 		delete_transient( 'plugins_delete_result_' . $user_ID );
 
 		if ( is_wp_error($delete_result) ) : ?>
-		<div id="message" class="updated"><p><?php printf( __('Plugin could not be deleted due to an error: %s'), $delete_result->get_error_message() ); ?></p></div>
+		<div id="message" class="error"><p><?php printf( __('Plugin could not be deleted due to an error: %s'), $delete_result->get_error_message() ); ?></p></div>
 		<?php else : ?>
 		<div id="message" class="updated"><p><?php _e('The selected plugins have been <strong>deleted</strong>.'); ?></p></div>
 		<?php endif; ?>
diff --git a/wp-admin/post-new.php b/wp-admin/post-new.php
index 79896c3b7..bfdffaf3a 100644
--- a/wp-admin/post-new.php
+++ b/wp-admin/post-new.php
@@ -28,8 +28,16 @@ if ( 'post' == $post_type ) {
 	$submenu_file = "post-new.php?post_type=$post_type";
 	if ( isset( $post_type_object ) && $post_type_object->show_in_menu && $post_type_object->show_in_menu !== true ) {
 		$parent_file = $post_type_object->show_in_menu;
-		if ( ! isset( $_registered_pages[ get_plugin_page_hookname( "post-new.php?post_type=$post_type", $post_type_object->show_in_menu ) ] ) )
-			$submenu_file = $parent_file;
+		// What if there isn't a post-new.php item for this post type?
+		if ( ! isset( $_registered_pages[ get_plugin_page_hookname( "post-new.php?post_type=$post_type", $post_type_object->show_in_menu ) ] ) ) {
+			if (	isset( $_registered_pages[ get_plugin_page_hookname( "edit.php?post_type=$post_type", $post_type_object->show_in_menu ) ] ) ) {
+				// Fall back to edit.php for that post type, if it exists
+				$submenu_file = "edit.php?post_type=$post_type";
+			} else {
+				// Otherwise, give up and highlight the parent
+				$submenu_file = $parent_file;
+			}
+		}
 	} else {
 		$parent_file = "edit.php?post_type=$post_type";
 	}
diff --git a/wp-admin/post.php b/wp-admin/post.php
index f378c2206..805c46e6e 100644
--- a/wp-admin/post.php
+++ b/wp-admin/post.php
@@ -128,7 +128,6 @@ case 'post-quickdraft-save':
 	edit_post();
 	wp_dashboard_quick_press();
 	exit;
-	break;
 
 case 'postajaxpost':
 case 'post':
@@ -136,7 +135,6 @@ case 'post':
 	$post_id = 'postajaxpost' == $action ? edit_post() : write_post();
 	redirect_post( $post_id );
 	exit();
-	break;
 
 case 'edit':
 	$editing = true;
@@ -231,13 +229,13 @@ case 'editpost':
 	$post_id = edit_post();
 
 	// Session cookie flag that the post was saved
-	if ( isset( $_COOKIE['wp-saving-post-' . $post_id] ) )
-		setcookie( 'wp-saving-post-' . $post_id, 'saved' );
+	if ( isset( $_COOKIE['wp-saving-post'] ) && $_COOKIE['wp-saving-post'] === $post_id . '-check' ) {
+		setcookie( 'wp-saving-post', $post_id . '-saved', time() + DAY_IN_SECONDS );
+	}
 
 	redirect_post($post_id); // Send user on their way while we keep working
 
 	exit();
-	break;
 
 case 'trash':
 	check_admin_referer('trash-post_' . $post_id);
@@ -261,7 +259,6 @@ case 'trash':
 
 	wp_redirect( add_query_arg( array('trashed' => 1, 'ids' => $post_id), $sendback ) );
 	exit();
-	break;
 
 case 'untrash':
 	check_admin_referer('untrash-post_' . $post_id);
@@ -280,7 +277,6 @@ case 'untrash':
 
 	wp_redirect( add_query_arg('untrashed', 1, $sendback) );
 	exit();
-	break;
 
 case 'delete':
 	check_admin_referer('delete-post_' . $post_id);
@@ -306,7 +302,6 @@ case 'delete':
 
 	wp_redirect( add_query_arg('deleted', 1, $sendback) );
 	exit();
-	break;
 
 case 'preview':
 	check_admin_referer( 'update-post_' . $post_id );
@@ -315,11 +310,9 @@ case 'preview':
 
 	wp_redirect($url);
 	exit();
-	break;
 
 default:
 	wp_redirect( admin_url('edit.php') );
 	exit();
-	break;
 } // end switch
 include( ABSPATH . 'wp-admin/admin-footer.php' );
diff --git a/wp-admin/press-this.php b/wp-admin/press-this.php
index 1becc48f8..5daa2f9bb 100644
--- a/wp-admin/press-this.php
+++ b/wp-admin/press-this.php
@@ -40,7 +40,7 @@ function press_it() {
 	$upload = false;
 	if ( !empty($_POST['photo_src']) && current_user_can('upload_files') ) {
 		foreach( (array) $_POST['photo_src'] as $key => $image) {
-			// see if files exist in content - we don't want to upload non-used selected files.
+			// See if files exist in content - we don't want to upload non-used selected files.
 			if ( strpos($_POST['content'], htmlspecialchars($image)) !== false ) {
 				$desc = isset($_POST['photo_description'][$key]) ? $_POST['photo_description'][$key] : '';
 				$upload = media_sideload_image($image, $post_ID, $desc);
@@ -51,7 +51,7 @@ function press_it() {
 			}
 		}
 	}
-	// set the post_content and status
+	// Set the post_content and status.
 	$post['post_content'] = $content;
 	if ( isset( $_POST['publish'] ) && current_user_can( 'publish_posts' ) )
 		$post['post_status'] = 'publish';
@@ -60,12 +60,12 @@ function press_it() {
 	else
 		$post['post_status'] = 'draft';
 
-	// error handling for media_sideload
+	// Error handling for media_sideload.
 	if ( is_wp_error($upload) ) {
 		wp_delete_post($post_ID);
 		wp_die($upload);
 	} else {
-		// Post formats
+		// Post formats.
 		if ( isset( $_POST['post_format'] ) ) {
 			if ( current_theme_supports( 'post-formats', $_POST['post_format'] ) )
 				set_post_format( $post_ID, $_POST['post_format'] );
@@ -181,9 +181,10 @@ if ( !empty($_REQUEST['ajax']) ) {
 				return '';
 			$sources = array();
 			foreach ($matches[3] as $src) {
-				// if no http in url
+
+				// If no http in URL.
 				if (strpos($src, 'http') === false)
-					// if it doesn't have a relative uri
+					// If it doesn't have a relative URI.
 					if ( strpos($src, '../') === false && strpos($src, './') === false && strpos($src, '/') === 0)
 						$src = 'http://'.str_replace('//','/', $host['host'].'/'.$src);
 					else
@@ -197,7 +198,7 @@ if ( !empty($_REQUEST['ajax']) ) {
 		break;
 
 	case 'photo_js': ?>
-		// gather images and load some default JS
+		// Gather images and load some default JS.
 		var last = null
 		var img, img_tag, aspect, w, h, skip, i, strtoappend = "";
 		if(photostorage == false) {
@@ -438,12 +439,16 @@ var photostorage = false;
 		}
 	}
 	jQuery(document).ready(function($) {
-		//resize screen
+		var $contnet = $( '#content' );
+
+		// Resize screen.
 		window.resizeTo(760,580);
-		// set button actions
+
+		// Set button actions.
 		jQuery('#photo_button').click(function() { show('photo'); return false; });
 		jQuery('#video_button').click(function() { show('video'); return false; });
-		// auto select
+
+		// Auto select.
 		<?php if ( preg_match("/youtube\.com\/watch/i", $url) ) { ?>
 			show('video');
 		<?php } elseif ( preg_match("/vimeo\.com\/[0-9]+/i", $url) ) { ?>
@@ -457,6 +462,12 @@ var photostorage = false;
 		$('#tagsdiv-post_tag, #categorydiv').children('h3, .handlediv').click(function(){
 			$(this).siblings('.inside').toggle();
 		});
+
+		if ( $( '#wp-content-wrap' ).hasClass( 'html-active' ) && window.switchEditors &&
+			( tinyMCEPreInit.mceInit.content && tinyMCEPreInit.mceInit.content.wpautop ) ) {
+			// The Text editor is default, run the initial content through pre_wpautop() to convert the paragraphs
+			$contnet.text( window.switchEditors.pre_wpautop( $contnet.text() ) );
+		}
 	});
 </script>
 </head>
diff --git a/wp-admin/revision.php b/wp-admin/revision.php
index e4cc0c7d9..ba954b85f 100644
--- a/wp-admin/revision.php
+++ b/wp-admin/revision.php
@@ -29,7 +29,7 @@ if ( ! $revision_id )
 	$revision_id = absint( $to );
 $redirect = 'edit.php';
 
-switch ( $action ) :
+switch ( $action ) {
 case 'restore' :
 	if ( ! $revision = wp_get_post_revision( $revision_id ) )
 		break;
@@ -80,7 +80,7 @@ default :
 
 	$redirect = false;
 	break;
-endswitch;
+}
 
 // Empty post_type means either malformed object found, or no valid parent was found.
 if ( ! $redirect && empty( $post->post_type ) )
diff --git a/wp-admin/setup-config.php b/wp-admin/setup-config.php
index 2b5b7f89f..c6f98f1ff 100644
--- a/wp-admin/setup-config.php
+++ b/wp-admin/setup-config.php
@@ -24,44 +24,21 @@ define('WP_SETUP_CONFIG', true);
 /**
  * Disable error reporting
  *
- * Set this to error_reporting( E_ALL ) or error_reporting( E_ALL | E_STRICT ) for debugging
+ * Set this to error_reporting( -1 ) for debugging
  */
 error_reporting(0);
 
-/**#@+
- * These three defines are required to allow us to use require_wp_db() to load
- * the database class while being wp-content/db.php aware.
- * @ignore
- */
-define('ABSPATH', dirname(dirname(__FILE__)).'/');
-define('WPINC', 'wp-includes');
-define('WP_CONTENT_DIR', ABSPATH . 'wp-content');
-define('WP_DEBUG', false);
-/**#@-*/
-
-require(ABSPATH . WPINC . '/load.php');
-require(ABSPATH . WPINC . '/version.php');
-
-// Check for the required PHP version and for the MySQL extension or a database drop-in.
-wp_check_php_mysql_versions();
+define( 'ABSPATH', dirname( dirname( __FILE__ ) ) . '/' );
 
-require_once(ABSPATH . WPINC . '/functions.php');
+require( ABSPATH . 'wp-settings.php' );
 
-// Also loads plugin.php, l10n.php, pomo/mo.php (all required by setup-config.php)
-wp_load_translations_early();
+/** Load WordPress Administration Upgrade API */
+require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
 
-// Turn register_globals off.
-wp_unregister_GLOBALS();
+/** Load WordPress Translation Install API */
+require_once( ABSPATH . 'wp-admin/includes/translation-install.php' );
 
-// Standardize $_SERVER variables across setups.
-wp_fix_server_vars();
-
-require_once(ABSPATH . WPINC . '/compat.php');
-require_once(ABSPATH . WPINC . '/class-wp-error.php');
-require_once(ABSPATH . WPINC . '/formatting.php');
-
-// Add magic quotes and set up $_REQUEST ( $_GET + $_POST )
-wp_magic_quotes();
+nocache_headers();
 
 // Support wp-config-sample.php one level up, for the develop repo.
 if ( file_exists( ABSPATH . 'wp-config-sample.php' ) )
@@ -79,7 +56,7 @@ if ( file_exists( ABSPATH . 'wp-config.php' ) )
 if ( file_exists(ABSPATH . '../wp-config.php' ) && ! file_exists( ABSPATH . '../wp-settings.php' ) )
 	wp_die( '<p>' . sprintf( __( "The file 'wp-config.php' already exists one level above your WordPress installation. If you need to reset any of the configuration items in this file, please delete it first. You may try <a href='install.php'>installing now</a>."), 'install.php' ) . '</p>' );
 
-$step = isset( $_GET['step'] ) ? (int) $_GET['step'] : 0;
+$step = isset( $_GET['step'] ) ? (int) $_GET['step'] : -1;
 
 /**
  * Display setup wp-config.php file header.
@@ -87,29 +64,65 @@ $step = isset( $_GET['step'] ) ? (int) $_GET['step'] : 0;
  * @ignore
  * @since 2.3.0
  */
-function setup_config_display_header() {
+function setup_config_display_header( $body_classes = array() ) {
 	global $wp_version;
+	$body_classes = (array) $body_classes;
+	$body_classes[] = 'wp-core-ui';
+	if ( is_rtl() ) {
+		$body_classes[] = 'rtl';
+	}
 
 	header( 'Content-Type: text/html; charset=utf-8' );
 ?>
 <!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml"<?php if ( is_rtl() ) echo ' dir="rtl"'; ?>>
 <head>
-<meta name="viewport" content="width=device-width" />
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<title><?php _e( 'WordPress &rsaquo; Setup Configuration File' ); ?></title>
-<link rel="stylesheet" href="css/install.css?ver=<?php echo preg_replace( '/[^0-9a-z\.-]/i', '', $wp_version ); ?>" type="text/css" />
-<link rel="stylesheet" href="../wp-includes/css/buttons.css?ver=<?php echo preg_replace( '/[^0-9a-z\.-]/i', '', $wp_version ); ?>" type="text/css" />
-
+	<meta name="viewport" content="width=device-width" />
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<title><?php _e( 'WordPress &rsaquo; Setup Configuration File' ); ?></title>
+	<?php wp_admin_css( 'install', true ); ?>
 </head>
-<body class="wp-core-ui<?php if ( is_rtl() ) echo ' rtl'; ?>">
-<h1 id="logo"><a href="<?php esc_attr_e( 'https://wordpress.org/' ); ?>"><?php _e( 'WordPress' ); ?></a></h1>
+<body class="<?php echo implode( ' ', $body_classes ); ?>">
+<h1 id="logo"><a href="<?php esc_attr_e( 'https://wordpress.org/' ); ?>" tabindex="-1"><?php _e( 'WordPress' ); ?></a></h1>
 <?php
 } // end function setup_config_display_header();
 
+$language = '';
+if ( ! empty( $_REQUEST['language'] ) ) {
+	$language = preg_replace( '/[^a-zA-Z_]/', '', $_REQUEST['language'] );
+} elseif ( isset( $GLOBALS['wp_local_package'] ) ) {
+	$language = $GLOBALS['wp_local_package'];
+}
+
 switch($step) {
+	case -1:
+		if ( wp_can_install_language_pack() && empty( $language ) && ( $languages = wp_get_available_translations() ) ) {
+			setup_config_display_header( 'language-chooser' );
+			echo '<form id="setup" method="post" action="?step=0">';
+			wp_install_language_form( $languages );
+			echo '</form>';
+			break;
+		}
+
+		// Deliberately fall through if we can't reach the translations API.
+
 	case 0:
+		if ( ! empty( $language ) ) {
+			$loaded_language = wp_download_language_pack( $language );
+			if ( $loaded_language ) {
+				load_default_textdomain( $loaded_language );
+				$GLOBALS['wp_locale'] = new WP_Locale();
+			}
+		}
+
 		setup_config_display_header();
+		$step_1 = 'setup-config.php?step=1';
+		if ( isset( $_REQUEST['noapi'] ) ) {
+			$step_1 .= '&amp;noapi';
+		}
+		if ( ! empty( $loaded_language ) ) {
+			$step_1 .= '&amp;language=' . $loaded_language;
+		}
 ?>
 
 <p><?php _e( 'Welcome to WordPress. Before getting started, we need some information on the database. You will need to know the following items before proceeding.' ) ?></p>
@@ -120,14 +133,21 @@ switch($step) {
 	<li><?php _e( 'Database host' ); ?></li>
 	<li><?php _e( 'Table prefix (if you want to run more than one WordPress in a single database)' ); ?></li>
 </ol>
-<p><strong><?php _e( "If for any reason this automatic file creation doesn&#8217;t work, don&#8217;t worry. All this does is fill in the database information to a configuration file. You may also simply open <code>wp-config-sample.php</code> in a text editor, fill in your information, and save it as <code>wp-config.php</code>." ); ?></strong></p>
+<p>
+	<?php _e( 'We&#8217;re going to use this information to create a <code>wp-config.php</code> file.' ); ?>
+	<strong><?php _e( "If for any reason this automatic file creation doesn&#8217;t work, don&#8217;t worry. All this does is fill in the database information to a configuration file. You may also simply open <code>wp-config-sample.php</code> in a text editor, fill in your information, and save it as <code>wp-config.php</code>." ); ?></strong>
+	<?php _e( "Need more help? <a href='http://codex.wordpress.org/Editing_wp-config.php'>We got it</a>." ); ?>
+</p>
 <p><?php _e( "In all likelihood, these items were supplied to you by your Web Host. If you do not have this information, then you will need to contact them before you can continue. If you&#8217;re all ready&hellip;" ); ?></p>
 
-<p class="step"><a href="setup-config.php?step=1<?php if ( isset( $_GET['noapi'] ) ) echo '&amp;noapi'; ?>" class="button button-large"><?php _e( 'Let&#8217;s go!' ); ?></a></p>
+<p class="step"><a href="<?php echo $step_1; ?>" class="button button-large"><?php _e( 'Let&#8217;s go!' ); ?></a></p>
 <?php
 	break;
 
 	case 1:
+		load_default_textdomain( $language );
+		$GLOBALS['wp_locale'] = new WP_Locale();
+
 		setup_config_display_header();
 	?>
 <form method="post" action="setup-config.php?step=2">
@@ -145,7 +165,7 @@ switch($step) {
 		</tr>
 		<tr>
 			<th scope="row"><label for="pwd"><?php _e( 'Password' ); ?></label></th>
-			<td><input name="pwd" id="pwd" type="text" size="25" value="<?php echo htmlspecialchars( _x( 'password', 'example password' ), ENT_QUOTES ); ?>" /></td>
+			<td><input name="pwd" id="pwd" type="text" size="25" value="<?php echo htmlspecialchars( _x( 'password', 'example password' ), ENT_QUOTES ); ?>" autocomplete="off" /></td>
 			<td><?php _e( '&hellip;and your MySQL password.' ); ?></td>
 		</tr>
 		<tr>
@@ -160,16 +180,36 @@ switch($step) {
 		</tr>
 	</table>
 	<?php if ( isset( $_GET['noapi'] ) ) { ?><input name="noapi" type="hidden" value="1" /><?php } ?>
+	<input type="hidden" name="language" value="<?php echo esc_attr( $language ); ?>" />
 	<p class="step"><input name="submit" type="submit" value="<?php echo htmlspecialchars( __( 'Submit' ), ENT_QUOTES ); ?>" class="button button-large" /></p>
 </form>
 <?php
 	break;
 
 	case 2:
-	foreach ( array( 'dbname', 'uname', 'pwd', 'dbhost', 'prefix' ) as $key )
-		$$key = trim( wp_unslash( $_POST[ $key ] ) );
+	load_default_textdomain( $language );
+	$GLOBALS['wp_locale'] = new WP_Locale();
+
+	$dbname = trim( wp_unslash( $_POST[ 'dbname' ] ) );
+	$uname = trim( wp_unslash( $_POST[ 'uname' ] ) );
+	$pwd = trim( wp_unslash( $_POST[ 'pwd' ] ) );
+	$dbhost = trim( wp_unslash( $_POST[ 'dbhost' ] ) );
+	$prefix = trim( wp_unslash( $_POST[ 'prefix' ] ) );
+
+	$step_1 = 'setup-config.php?step=1';
+	$install = 'install.php';
+	if ( isset( $_REQUEST['noapi'] ) ) {
+		$step_1 .= '&amp;noapi';
+	}
+
+	if ( ! empty( $language ) ) {
+		$step_1 .= '&amp;language=' . $language;
+		$install .= '?language=' . $language;
+	} else {
+		$install .= '?language=en_US';
+	}
 
-	$tryagain_link = '</p><p class="step"><a href="setup-config.php?step=1" onclick="javascript:history.go(-1);return false;" class="button button-large">' . __( 'Try again' ) . '</a>';
+	$tryagain_link = '</p><p class="step"><a href="' . $step_1 . '" onclick="javascript:history.go(-1);return false;" class="button button-large">' . __( 'Try again' ) . '</a>';
 
 	if ( empty( $prefix ) )
 		wp_die( __( '<strong>ERROR</strong>: "Table Prefix" must not be empty.' . $tryagain_link ) );
@@ -188,29 +228,27 @@ switch($step) {
 	define('DB_HOST', $dbhost);
 	/**#@-*/
 
-	// We'll fail here if the values are no good.
+	// Re-construct $wpdb with these new values.
+	unset( $wpdb );
 	require_wp_db();
+
+	/*
+	 * The wpdb constructor bails when WP_SETUP_CONFIG is set, so we must
+	 * fire this manually. We'll fail here if the values are no good.
+	 */
+	$wpdb->db_connect();
+
 	if ( ! empty( $wpdb->error ) )
 		wp_die( $wpdb->error->get_error_message() . $tryagain_link );
 
 	// Fetch or generate keys and salts.
 	$no_api = isset( $_POST['noapi'] );
 	if ( ! $no_api ) {
-		require_once( ABSPATH . WPINC . '/class-http.php' );
-		require_once( ABSPATH . WPINC . '/http.php' );
-		/**#@+
-		 * @ignore
-		 */
-		function get_bloginfo() {
-			return wp_guess_url();
-		}
-		/**#@-*/
 		$secret_keys = wp_remote_get( 'https://api.wordpress.org/secret-key/1.1/salt/' );
 	}
 
 	if ( $no_api || is_wp_error( $secret_keys ) ) {
 		$secret_keys = array();
-		require_once( ABSPATH . WPINC . '/pluggable.php' );
 		for ( $i = 0; $i < 8; $i++ ) {
 			$secret_keys[] = wp_generate_password( 64, true, true );
 		}
@@ -267,7 +305,7 @@ switch($step) {
 		}
 ?></textarea>
 <p><?php _e( 'After you&#8217;ve done that, click &#8220;Run the install.&#8221;' ); ?></p>
-<p class="step"><a href="install.php" class="button button-large"><?php _e( 'Run the install' ); ?></a></p>
+<p class="step"><a href="<?php echo $install; ?>" class="button button-large"><?php _e( 'Run the install' ); ?></a></p>
 <script>
 (function(){
 var el=document.getElementById('wp-config');
@@ -277,8 +315,10 @@ el.select();
 </script>
 <?php
 	else :
-		// If this file doesn't exist, then we are using the wp-config-sample.php
-		// file one level up, which is for the develop repo.
+		/*
+		 * If this file doesn't exist, then we are using the wp-config-sample.php
+		 * file one level up, which is for the develop repo.
+		 */
 		if ( file_exists( ABSPATH . 'wp-config-sample.php' ) )
 			$path_to_wp_config = ABSPATH . 'wp-config.php';
 		else
@@ -294,11 +334,12 @@ el.select();
 ?>
 <p><?php _e( "All right, sparky! You&#8217;ve made it through this part of the installation. WordPress can now communicate with your database. If you are ready, time now to&hellip;" ); ?></p>
 
-<p class="step"><a href="install.php" class="button button-large"><?php _e( 'Run the install' ); ?></a></p>
+<p class="step"><a href="<?php echo $install; ?>" class="button button-large"><?php _e( 'Run the install' ); ?></a></p>
 <?php
 	endif;
 	break;
 }
 ?>
+<?php wp_print_scripts( 'language-chooser' ); ?>
 </body>
 </html>
diff --git a/wp-admin/theme-editor.php b/wp-admin/theme-editor.php
index 382e594a1..d0ecee48f 100644
--- a/wp-admin/theme-editor.php
+++ b/wp-admin/theme-editor.php
@@ -81,7 +81,7 @@ case 'update':
 	$newcontent = wp_unslash( $_POST['newcontent'] );
 	$location = 'theme-editor.php?file=' . urlencode( $relative_file ) . '&theme=' . urlencode( $stylesheet ) . '&scrollto=' . $scrollto;
 	if ( is_writeable( $file ) ) {
-		//is_writable() not always reliable, check return value. see comments @ http://uk.php.net/is_writable
+		// is_writable() not always reliable, check return value. see comments @ http://uk.php.net/is_writable
 		$f = fopen( $file, 'w+' );
 		if ( $f !== false ) {
 			fwrite( $f, $newcontent );
@@ -92,7 +92,6 @@ case 'update':
 	}
 	wp_redirect( $location );
 	exit;
-break;
 
 default:
 
@@ -122,8 +121,7 @@ default:
 		$content = esc_textarea( $content );
 	}
 
-	?>
-<?php if ( isset( $_GET['updated'] ) ) : ?>
+	if ( isset( $_GET['updated'] ) ) : ?>
  <div id="message" class="updated"><p><?php _e( 'File edited successfully.' ) ?></p></div>
 <?php endif;
 
diff --git a/wp-admin/theme-install.php b/wp-admin/theme-install.php
index 088feed4a..fd8847c54 100644
--- a/wp-admin/theme-install.php
+++ b/wp-admin/theme-install.php
@@ -79,7 +79,7 @@ if ( $tab ) {
 
 $help_overview =
 	'<p>' . sprintf(__('You can find additional themes for your site by using the Theme Browser/Installer on this screen, which will display themes from the <a href="%s" target="_blank">WordPress.org Theme Directory</a>. These themes are designed and developed by third parties, are available free of charge, and are compatible with the license WordPress uses.'), 'https://wordpress.org/themes/') . '</p>' .
-	'<p>' . __('You can Search for themes by keyword, author, or tag, or can get more specific and search by criteria listed in the feature filter. Alternately, you can browse the themes that are Featured, Newest, or Recently Updated. When you find a theme you like, you can preview it or install it.') . '</p>' .
+	'<p>' . __('You can Search for themes by keyword, author, or tag, or can get more specific and search by criteria listed in the feature filter. Alternately, you can browse the themes that are Featured, Popular, or Latest. When you find a theme you like, you can preview it or install it.') . '</p>' .
 	'<p>' . __('You can Upload a theme manually if you have already downloaded its ZIP archive onto your computer (make sure it is from a trusted and original source). You can also do it the old-fashioned way and copy a downloaded theme&#8217;s folder via FTP into your <code>/wp-content/themes</code> directory.') . '</p>';
 
 get_current_screen()->add_help_tab( array(
@@ -108,58 +108,77 @@ include(ABSPATH . 'wp-admin/admin-header.php');
 
 ?>
 <div class="wrap">
-	<h2>
-		<?php echo esc_html( $title ); ?>
-		<a href="#" class="upload add-new-h2"><?php _e( 'Upload Theme' ); ?></a>
-		<a href="#" class="browse-themes add-new-h2"><?php _ex( 'Browse', 'themes' ); ?></a>
-	</h2>
+	<h2><?php
+	echo esc_html( $title );
+
+	/**
+	 * Filter the tabs shown on the Add Themes screen.
+	 *
+	 * This filter is for backwards compatibility only,
+	 * for the suppression of the upload tab.
+	 *
+	 * @since 2.8.0
+	 * @param array $tabs The tabs shown on the Add Themes screen. Default is 'upload'.
+	 */
+	$tabs = apply_filters( 'install_themes_tabs', array( 'upload' => __( 'Upload Theme' ) ) );
+	if ( ! empty( $tabs['upload'] ) && current_user_can( 'upload_themes' ) ) {
+		echo ' <a href="#" class="upload add-new-h2">' . __( 'Upload Theme' ) . '</a>';
+		echo ' <a href="#" class="browse-themes add-new-h2">' . _x( 'Browse', 'themes' ) . '</a>';
+	}
+	?></h2>
 
 	<div class="upload-theme">
 	<?php install_themes_upload(); ?>
 	</div>
 
-	<div class="theme-navigation">
-		<span class="theme-count"></span>
-		<a class="theme-section" href="#" data-sort="featured"><?php _ex( 'Featured', 'themes' ); ?></a>
-		<a class="theme-section" href="#" data-sort="popular"><?php _ex( 'Popular', 'themes' ); ?></a>
-		<a class="theme-section" href="#" data-sort="new"><?php _ex( 'Latest', 'themes' ); ?></a>
-		<div class="theme-top-filters">
-			<!-- <span class="theme-filter" data-filter="photoblogging">Photography</span>
-			<span class="theme-filter" data-filter="responsive-layout">Responsive</span> -->
-			<a class="more-filters" href="#"><?php _e( 'Feature Filter' ); ?></a>
+	<div class="wp-filter">
+		<div class="filter-count">
+			<span class="count theme-count"></span>
 		</div>
-		<div class="more-filters-container">
-			<a class="apply-filters button button-secondary" href="#"><?php _e( 'Apply Filters' ); ?><span></span></a>
-			<a class="clear-filters button button-secondary" href="#"><?php _e( 'Clear' ); ?></a>
-			<br class="clear" />
+
+		<ul class="filter-links">
+			<li><a href="#" data-sort="featured"><?php _ex( 'Featured', 'themes' ); ?></a></li>
+			<li><a href="#" data-sort="popular"><?php _ex( 'Popular', 'themes' ); ?></a></li>
+			<li><a href="#" data-sort="new"><?php _ex( 'Latest', 'themes' ); ?></a></li>
+		</ul>
+
+		<a class="drawer-toggle" href="#"><?php _e( 'Feature Filter' ); ?></a>
+
+		<div class="search-form"></div>
+
+		<div class="filter-drawer">
+			<div class="buttons">
+				<a class="apply-filters button button-secondary" href="#"><?php _e( 'Apply Filters' ); ?><span></span></a>
+				<a class="clear-filters button button-secondary" href="#"><?php _e( 'Clear' ); ?></a>
+			</div>
 		<?php
 		$feature_list = get_theme_feature_list();
 		foreach ( $feature_list as $feature_name => $features ) {
 			if ( $feature_name === 'Features' || $feature_name === __( 'Features' ) ) { // hack hack hack
-				echo '<div class="filters-group wide-filters-group">';
+				echo '<div class="filter-group wide">';
 			} else {
-				echo '<div class="filters-group">';
+				echo '<div class="filter-group">';
 			}
 			$feature_name = esc_html( $feature_name );
-			echo '<h4 class="feature-name">' . $feature_name . '</h4>';
+			echo '<h4>' . $feature_name . '</h4>';
 			echo '<ol class="feature-group">';
 			foreach ( $features as $feature => $feature_name ) {
 				$feature = esc_attr( $feature );
-				echo '<li><input type="checkbox" id="feature-id-' . $feature . '" value="' . $feature . '" /> ';
-				echo '<label for="feature-id-' . $feature . '">' . $feature_name . '</label></li>';
+				echo '<li><input type="checkbox" id="filter-id-' . $feature . '" value="' . $feature . '" /> ';
+				echo '<label for="filter-id-' . $feature . '">' . $feature_name . '</label></li>';
 			}
 			echo '</ol>';
 			echo '</div>';
 		}
 		?>
-			<div class="filtering-by">
+			<div class="filtered-by">
 				<span><?php _e( 'Filtering by:' ); ?></span>
 				<div class="tags"></div>
 				<a href="#"><?php _e( 'Edit' ); ?></a>
 			</div>
 		</div>
 	</div>
-	<div class="theme-browser"></div>
+	<div class="theme-browser content-filterable"></div>
 	<div class="theme-install-overlay wp-full-overlay expanded"></div>
 
 	<p class="no-themes"><?php _e( 'No themes found. Try a different search.' ); ?></p>
@@ -202,16 +221,18 @@ if ( $tab ) {
 	</div>
 
 	<# if ( data.installed ) { #>
-		<div class="theme-installed"><?php _e( 'Already Installed' ); ?></div>
+		<div class="theme-installed"><?php _ex( 'Already Installed', 'theme' ); ?></div>
 	<# } #>
 </script>
 
 <script id="tmpl-theme-preview" type="text/template">
 	<div class="wp-full-overlay-sidebar">
 		<div class="wp-full-overlay-header">
-			<a href="#" class="close-full-overlay button-secondary"><?php _e( 'Close' ); ?></a>
+			<a href="#" class="close-full-overlay"><span class="screen-reader-text"><?php _e( 'Close' ); ?></span></a>
+			<a href="#" class="previous-theme"><span class="screen-reader-text"><?php _ex( 'Previous', 'Button label for a theme' ); ?></span></a>
+			<a href="#" class="next-theme"><span class="screen-reader-text"><?php _ex( 'Next', 'Button label for a theme' ); ?></span></a>
 		<# if ( data.installed ) { #>
-			<a href="#" class="button button-primary theme-install disabled"><?php _e( 'Installed' ); ?></a>
+			<a href="#" class="button button-primary theme-install disabled"><?php _ex( 'Installed', 'theme' ); ?></a>
 		<# } else { #>
 			<a href="{{ data.install_url }}" class="button button-primary theme-install"><?php _e( 'Install' ); ?></a>
 		<# } #>
@@ -246,10 +267,6 @@ if ( $tab ) {
 				<span class="collapse-sidebar-label"><?php _e( 'Collapse' ); ?></span>
 				<span class="collapse-sidebar-arrow"></span>
 			</a>
-			<div class="theme-navigation">
-				<a class="previous-theme button" href="#"><?php _e( 'Previous' ); ?></a>
-				<a class="next-theme button" href="#"><?php _e( 'Next' ); ?></a>
-			</div>
 		</div>
 	</div>
 	<div class="wp-full-overlay-main">
diff --git a/wp-admin/themes.php b/wp-admin/themes.php
index 68463fcec..9457fe369 100644
--- a/wp-admin/themes.php
+++ b/wp-admin/themes.php
@@ -67,7 +67,7 @@ if ( current_user_can( 'install_themes' ) ) {
 } // install_themes
 
 // Help tab: Previewing and Customizing
-if ( current_user_can( 'edit_theme_options' ) ) {
+if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) {
 	$help_customize =
 		'<p>' . __( 'Tap or hover on any theme then click the Live Preview button to see a live preview of that theme and change theme options in a separate, full-screen view. You can also find a Live Preview button at the bottom of the theme details screen. Any installed theme can be previewed and customized in this way.' ) . '</p>'.
 		'<p>' . __( 'The theme being previewed is fully interactive &mdash; navigate to different pages to see how the theme handles posts, archives, and other page templates. The settings may differ depending on what theme features the theme being previewed supports. To accept the new settings and activate the theme all in one step, click the Save &amp; Activate button above the menu.' ) . '</p>' .
@@ -78,7 +78,7 @@ if ( current_user_can( 'edit_theme_options' ) ) {
 		'title'		=> __( 'Previewing and Customizing' ),
 		'content'	=> $help_customize
 	) );
-} // edit_theme_options
+} // edit_theme_options && customize
 
 get_current_screen()->set_help_sidebar(
 	'<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
@@ -117,7 +117,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 <div class="wrap">
 	<h2><?php esc_html_e( 'Themes' ); ?>
-		<span class="theme-count"><?php echo count( $themes ); ?></span>
+		<span class="title-count theme-count"><?php echo count( $themes ); ?></span>
 	<?php if ( ! is_multisite() && current_user_can( 'install_themes' ) ) : ?>
 		<a href="<?php echo admin_url( 'theme-install.php' ); ?>" class="hide-if-no-js add-new-h2"><?php echo esc_html( _x( 'Add New', 'Add new theme' ) ); ?></a>
 	<?php endif; ?>
@@ -153,7 +153,7 @@ if ( ! $ct->errors() || ( 1 == count( $ct->errors()->get_error_codes() )
 	if ( is_array( $submenu ) && isset( $submenu['themes.php'] ) ) {
 		foreach ( (array) $submenu['themes.php'] as $item) {
 			$class = '';
-			if ( 'themes.php' == $item[2] || 'theme-editor.php' == $item[2] || 'customize.php' == $item[2] )
+			if ( 'themes.php' == $item[2] || 'theme-editor.php' == $item[2] || 0 === strpos( $item[2], 'customize.php' ) )
 				continue;
 			// 0 = name, 1 = capability, 2 = file
 			if ( ( strcmp($self, $item[2]) == 0 && empty($parent_file)) || ($parent_file && ($item[2] == $parent_file)) )
@@ -212,13 +212,15 @@ foreach ( $themes as $theme ) :
 	<div class="theme-actions">
 
 	<?php if ( $theme['active'] ) { ?>
-		<?php if ( $theme['actions']['customize'] ) { ?>
+		<?php if ( $theme['actions']['customize'] && current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) { ?>
 			<a class="button button-primary customize load-customize hide-if-no-customize" href="<?php echo $theme['actions']['customize']; ?>"><?php _e( 'Customize' ); ?></a>
 		<?php } ?>
 	<?php } else { ?>
 		<a class="button button-primary activate" href="<?php echo $theme['actions']['activate']; ?>"><?php _e( 'Activate' ); ?></a>
-		<a class="button button-secondary load-customize hide-if-no-customize" href="<?php echo $theme['actions']['customize']; ?>"><?php _e( 'Live Preview' ); ?></a>
-		<a class="button button-secondary hide-if-customize" href="<?php echo $theme['actions']['preview']; ?>"><?php _e( 'Preview' ); ?></a>
+		<?php if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) { ?>
+			<a class="button button-secondary load-customize hide-if-no-customize" href="<?php echo $theme['actions']['customize']; ?>"><?php _e( 'Live Preview' ); ?></a>
+			<a class="button button-secondary hide-if-customize" href="<?php echo $theme['actions']['preview']; ?>"><?php _e( 'Preview' ); ?></a>
+		<?php } ?>
 	<?php } ?>
 
 	</div>
@@ -233,6 +235,8 @@ foreach ( $themes as $theme ) :
 </div>
 <div class="theme-overlay"></div>
 
+<p class="no-themes"><?php _e( 'No themes found. Try a different search.' ); ?></p>
+
 <?php
 // List broken themes, if any.
 if ( ! is_multisite() && current_user_can('edit_themes') && $broken_themes = wp_get_themes( array( 'errors' => true ) ) ) {
@@ -367,4 +371,4 @@ if ( ! is_multisite() && current_user_can('edit_themes') && $broken_themes = wp_
 	</div>
 </script>
 
-<?php require( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
+<?php require( ABSPATH . 'wp-admin/admin-footer.php' );
diff --git a/wp-admin/update-core.php b/wp-admin/update-core.php
index a8a7aa990..f88025e09 100644
--- a/wp-admin/update-core.php
+++ b/wp-admin/update-core.php
@@ -174,12 +174,14 @@ function core_upgrade_preamble() {
 	if ( isset( $updates[0] ) && $updates[0]->response == 'development' ) {
 		require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
 		$upgrader = new WP_Automatic_Updater;
-		if ( wp_http_supports( 'ssl' ) && $upgrader->should_update( 'core', $updates[0], ABSPATH ) )
-			echo '<div class="updated inline"><p><strong>BETA TESTERS:</strong> This site is set up to install updates of future beta versions automatically.</p></div>';
+		if ( wp_http_supports( 'ssl' ) && $upgrader->should_update( 'core', $updates[0], ABSPATH ) ) {
+			echo '<div class="updated inline"><p>';
+			echo '<strong>' . __( 'BETA TESTERS:' ) . '</strong> ' . __( 'This site is set up to install updates of future beta versions automatically.' );
+			echo '</p></div>';
+		}
 	}
 
 	echo '<ul class="core-updates">';
-	$alternate = true;
 	foreach( (array) $updates as $update ) {
 		echo '<li>';
 		list_core_update( $update );
@@ -343,9 +345,9 @@ function list_translation_updates() {
 	$form_action = 'update-core.php?action=do-translation-upgrade';
 	?>
 	<h3><?php _e( 'Translations' ); ?></h3>
-	<form method="post" action="<?php echo esc_url( $form_action ); ?>" name="upgrade-themes" class="upgrade">
+	<form method="post" action="<?php echo esc_url( $form_action ); ?>" name="upgrade-translations" class="upgrade">
 		<p><?php _e( 'Some of your translations are out of date.' ); ?></p>
-		<?php wp_nonce_field('upgrade-translations'); ?>
+		<?php wp_nonce_field( 'upgrade-translations' ); ?>
 		<p><input class="button" type="submit" value="<?php esc_attr_e( 'Update Translations' ); ?>" name="upgrade" /></p>
 	</form>
 	<?php
@@ -361,7 +363,7 @@ function list_translation_updates() {
 function do_core_upgrade( $reinstall = false ) {
 	global $wp_filesystem;
 
-	include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
+	include_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
 
 	if ( $reinstall )
 		$url = 'update-core.php?action=do-core-reinstall';
@@ -538,8 +540,7 @@ if ( 'upgrade-core' == $action ) {
 
 	check_admin_referer('upgrade-core');
 
-	// do the (un)dismiss actions before headers,
-	// so that they can redirect
+	// Do the (un)dismiss actions before headers, so that they can redirect.
 	if ( isset( $_POST['dismiss'] ) )
 		do_dismiss_core_update();
 	elseif ( isset( $_POST['undismiss'] ) )
@@ -580,7 +581,7 @@ if ( 'upgrade-core' == $action ) {
 	require_once(ABSPATH . 'wp-admin/admin-header.php');
 	echo '<div class="wrap">';
 	echo '<h2>' . esc_html__('Update Plugins') . '</h2>';
-	echo "<iframe src='$url' style='width: 100%; height: 100%; min-height: 750px;' frameborder='0'></iframe>";
+	echo '<iframe src="', $url, '" style="width: 100%; height: 100%; min-height: 750px;" frameborder="0"></iframe>';
 	echo '</div>';
 	include(ABSPATH . 'wp-admin/admin-footer.php');
 
@@ -606,10 +607,12 @@ if ( 'upgrade-core' == $action ) {
 	$title = __('Update Themes');
 
 	require_once(ABSPATH . 'wp-admin/admin-header.php');
-	echo '<div class="wrap">';
-	echo '<h2>' . esc_html__('Update Themes') . '</h2>';
-	echo "<iframe src='$url' style='width: 100%; height: 100%; min-height: 750px;' frameborder='0'></iframe>";
-	echo '</div>';
+	?>
+	<div class="wrap">
+		<h2><?php echo esc_html__('Update Themes') ?></h2>
+		<iframe src="<?php echo $url ?>" style="width: 100%; height: 100%; min-height: 750px;" frameborder="0"></iframe>
+	</div>
+	<?php
 	include(ABSPATH . 'wp-admin/admin-footer.php');
 
 } elseif ( 'do-translation-upgrade' == $action ) {
diff --git a/wp-admin/update.php b/wp-admin/update.php
index fc8657446..c27944432 100644
--- a/wp-admin/update.php
+++ b/wp-admin/update.php
@@ -12,7 +12,7 @@ if ( ! defined( 'IFRAME_REQUEST' ) && isset( $_GET['action'] ) && in_array( $_GE
 /** WordPress Administration Bootstrap */
 require_once( dirname( __FILE__ ) . '/admin.php' );
 
-include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
+include_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
 
 if ( isset($_GET['action']) ) {
 	$plugin = isset($_REQUEST['plugin']) ? trim($_REQUEST['plugin']) : '';
@@ -95,7 +95,7 @@ if ( isset($_GET['action']) ) {
 		if ( ! current_user_can('install_plugins') )
 			wp_die( __( 'You do not have sufficient permissions to install plugins on this site.' ) );
 
-		include_once ABSPATH . 'wp-admin/includes/plugin-install.php'; //for plugins_api..
+		include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' ); //for plugins_api..
 
 		check_admin_referer('install-plugin_' . $plugin);
 		$api = plugins_api('plugin_information', array('slug' => $plugin, 'fields' => array('sections' => false) ) ); //Save on a bit of bandwidth.
@@ -123,8 +123,9 @@ if ( isset($_GET['action']) ) {
 
 	} elseif ( 'upload-plugin' == $action ) {
 
-		if ( ! current_user_can('install_plugins') )
+		if ( ! current_user_can( 'upload_plugins' ) ) {
 			wp_die( __( 'You do not have sufficient permissions to install plugins on this site.' ) );
+		}
 
 		check_admin_referer('plugin-upload');
 
@@ -200,7 +201,7 @@ if ( isset($_GET['action']) ) {
 		if ( ! current_user_can('install_themes') )
 			wp_die( __( 'You do not have sufficient permissions to install themes on this site.' ) );
 
-		include_once ABSPATH . 'wp-admin/includes/theme-install.php'; //for themes_api..
+		include_once( ABSPATH . 'wp-admin/includes/theme-install.php' ); //for themes_api..
 
 		check_admin_referer( 'install-theme_' . $theme );
 		$api = themes_api('theme_information', array('slug' => $theme, 'fields' => array('sections' => false, 'tags' => false) ) ); //Save on a bit of bandwidth.
@@ -227,8 +228,9 @@ if ( isset($_GET['action']) ) {
 
 	} elseif ( 'upload-theme' == $action ) {
 
-		if ( ! current_user_can('install_themes') )
+		if ( ! current_user_can( 'upload_themes' ) ) {
 			wp_die( __( 'You do not have sufficient permissions to install themes on this site.' ) );
+		}
 
 		check_admin_referer('theme-upload');
 
diff --git a/wp-admin/upgrade.php b/wp-admin/upgrade.php
index 10c04131a..57dedad94 100644
--- a/wp-admin/upgrade.php
+++ b/wp-admin/upgrade.php
@@ -59,7 +59,7 @@ else
 	?>
 </head>
 <body class="wp-core-ui">
-<h1 id="logo"><a href="<?php echo esc_url( __( 'https://wordpress.org/' ) ); ?>"><?php _e( 'WordPress' ); ?></a></h1>
+<h1 id="logo"><a href="<?php echo esc_url( __( 'https://wordpress.org/' ) ); ?>" tabindex="-1"><?php _e( 'WordPress' ); ?></a></h1>
 
 <?php if ( get_option( 'db_version' ) == $wp_db_version || !is_blog_installed() ) : ?>
 
diff --git a/wp-admin/upload.php b/wp-admin/upload.php
index c38a0b635..646381e94 100644
--- a/wp-admin/upload.php
+++ b/wp-admin/upload.php
@@ -12,6 +12,69 @@ require_once( dirname( __FILE__ ) . '/admin.php' );
 if ( !current_user_can('upload_files') )
 	wp_die( __( 'You do not have permission to upload files.' ) );
 
+$mode = get_user_option( 'media_library_mode', get_current_user_id() ) ? get_user_option( 'media_library_mode', get_current_user_id() ) : 'grid';
+$modes = array( 'grid', 'list' );
+
+if ( isset( $_GET['mode'] ) && in_array( $_GET['mode'], $modes ) ) {
+	$mode = $_GET['mode'];
+	update_user_option( get_current_user_id(), 'media_library_mode', $mode );
+}
+
+if ( 'grid' === $mode ) {
+	wp_enqueue_media();
+	wp_enqueue_script( 'media-grid' );
+	wp_enqueue_script( 'media' );
+	wp_localize_script( 'media-grid', '_wpMediaGridSettings', array(
+		'adminUrl' => parse_url( self_admin_url(), PHP_URL_PATH ),
+	) );
+
+	get_current_screen()->add_help_tab( array(
+		'id'		=> 'overview',
+		'title'		=> __( 'Overview' ),
+		'content'	=>
+			'<p>' . __( 'All the files you&#8217;ve uploaded are listed in the Media Library, with the most recent uploads listed first.' ) . '</p>' .
+			'<p>' . __( 'You can view your media in a simple visual grid or a list with columns. Switch between these views using the icons to the left above the media.' ) . '</p>' .
+			'<p>' . __( 'To delete media items, click the Bulk Select button at the top of the screen. Select any items you wish to delete, then click the Delete Selected button. Clicking the Cancel Selection button takes you back to viewing your media.' ) . '</p>'
+	) );
+
+	get_current_screen()->add_help_tab( array(
+		'id'		=> 'attachment-details',
+		'title'		=> __( 'Attachment Details' ),
+		'content'	=>
+			'<p>' . __( 'Clicking an item will display an Attachment Details dialog, which allows you to preview media and make quick edits. Any changes you make to the attachment details will be automatically saved.' ) . '</p>' .
+			'<p>' . __( 'Use the arrow buttons at the top of the dialog, or the left and right arrow keys on your keyboard, to navigate between media items quickly.' ) . '</p>' .
+			'<p>' . __( 'You can also delete individual items and access the extended edit screen from the details dialog.' ) . '</p>'
+	) );
+
+	get_current_screen()->set_help_sidebar(
+		'<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
+		'<p>' . __( '<a href="http://codex.wordpress.org/Media_Library_Screen" target="_blank">Documentation on Media Library</a>' ) . '</p>' .
+		'<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
+	);
+
+	$title = __('Media Library');
+	$parent_file = 'upload.php';
+
+	require_once( ABSPATH . 'wp-admin/admin-header.php' );
+	?>
+	<div class="wrap">
+		<h2>
+		<?php
+		echo esc_html( $title );
+		if ( current_user_can( 'upload_files' ) ) { ?>
+			<a href="media-new.php" class="add-new-h2"><?php echo esc_html_x( 'Add New', 'file' ); ?></a><?php
+		}
+		?>
+		</h2>
+		<div class="error hide-if-js">
+			<p><?php _e( 'The grid view for the Media Library requires JavaScript. <a href="upload.php?mode=list">Switch to the list view</a>.' ); ?></p>
+		</div>
+	</div>
+	<?php
+	include( ABSPATH . 'wp-admin/admin-footer.php' );
+	exit;
+}
+
 $wp_list_table = _get_list_table('WP_Media_List_Table');
 $pagenum = $wp_list_table->get_pagenum();
 
@@ -37,21 +100,6 @@ if ( $doaction ) {
 	}
 
 	switch ( $doaction ) {
-		case 'find_detached':
-			if ( !current_user_can('edit_posts') )
-				wp_die( __('You are not allowed to scan for lost attachments.') );
-
-			$lost = $wpdb->get_col( "
-				SELECT ID FROM $wpdb->posts
-				WHERE post_type = 'attachment' AND post_parent > '0'
-				AND post_parent NOT IN (
-					SELECT ID FROM $wpdb->posts
-					WHERE post_type NOT IN ( 'attachment', '" . join( "', '", get_post_types( array( 'public' => false ) ) ) . "' )
-				)
-			" );
-
-			$_REQUEST['detached'] = 1;
-			break;
 		case 'attach':
 			$parent_id = (int) $_REQUEST['found_post_id'];
 			if ( !$parent_id )
@@ -150,7 +198,8 @@ get_current_screen()->add_help_tab( array(
 'title'		=> __('Overview'),
 'content'	=>
 	'<p>' . __( 'All the files you&#8217;ve uploaded are listed in the Media Library, with the most recent uploads listed first. You can use the Screen Options tab to customize the display of this screen.' ) . '</p>' .
-	'<p>' . __( 'You can narrow the list by file type/status using the text link filters at the top of the screen. You also can refine the list by date using the dropdown menu above the media table.' ) . '</p>'
+	'<p>' . __( 'You can narrow the list by file type/status using the text link filters at the top of the screen. You also can refine the list by date using the dropdown menu above the media table.' ) . '</p>' .
+	'<p>' . __( 'You can view your media in a simple visual grid or a list with columns. Switch between these views using the icons to the left above the media.' ) . '</p>'
 ) );
 get_current_screen()->add_help_tab( array(
 'id'		=> 'actions-links',
@@ -228,16 +277,14 @@ if ( !empty($message) ) { ?>
 <div id="message" class="updated"><p><?php echo $message; ?></p></div>
 <?php } ?>
 
-<?php $wp_list_table->views(); ?>
-
 <form id="posts-filter" action="" method="get">
 
-<?php $wp_list_table->search_box( __( 'Search Media' ), 'media' ); ?>
+<?php $wp_list_table->views(); ?>
 
 <?php $wp_list_table->display(); ?>
 
 <div id="ajax-response"></div>
-<?php find_posts_div(); ?> 
+<?php find_posts_div(); ?>
 </form>
 </div>
 
diff --git a/wp-admin/user-edit.php b/wp-admin/user-edit.php
index 2c064bad3..fd3db1880 100644
--- a/wp-admin/user-edit.php
+++ b/wp-admin/user-edit.php
@@ -187,7 +187,7 @@ $profileuser = get_user_to_edit($user_id);
 if ( !current_user_can('edit_user', $user_id) )
 	wp_die(__('You do not have permission to edit this user.'));
 
-include (ABSPATH . 'wp-admin/admin-header.php');
+include(ABSPATH . 'wp-admin/admin-header.php');
 ?>
 
 <?php if ( !IS_PROFILE_PAGE && is_super_admin( $profileuser->ID ) && current_user_can( 'manage_network_options' ) ) { ?>
@@ -228,7 +228,7 @@ if ( ! IS_PROFILE_PAGE ) {
  * @since 3.0.0
  */
 ?>
-<form id="your-profile" action="<?php echo esc_url( self_admin_url( IS_PROFILE_PAGE ? 'profile.php' : 'user-edit.php' ) ); ?>" method="post"<?php do_action( 'user_edit_form_tag' ); ?>>
+<form id="your-profile" action="<?php echo esc_url( self_admin_url( IS_PROFILE_PAGE ? 'profile.php' : 'user-edit.php' ) ); ?>" method="post" novalidate="novalidate"<?php do_action( 'user_edit_form_tag' ); ?>>
 <?php wp_nonce_field('update-user_' . $user_id) ?>
 <?php if ( $wp_http_referer ) : ?>
 	<input type="hidden" name="wp_http_referer" value="<?php echo esc_url($wp_http_referer); ?>" />
@@ -401,7 +401,7 @@ if ( is_multisite() && is_network_admin() && ! IS_PROFILE_PAGE && current_user_c
 <table class="form-table">
 <tr>
 	<th><label for="email"><?php _e('E-mail'); ?> <span class="description"><?php _e('(required)'); ?></span></label></th>
-	<td><input type="text" name="email" id="email" value="<?php echo esc_attr($profileuser->user_email) ?>" class="regular-text ltr" />
+	<td><input type="email" name="email" id="email" value="<?php echo esc_attr( $profileuser->user_email ) ?>" class="regular-text ltr" />
 	<?php
 	$new_email = get_option( $current_user->ID . '_new_email' );
 	if ( $new_email && $new_email['newemail'] != $current_user->user_email && $profileuser->ID == $current_user->ID ) : ?>
@@ -414,7 +414,7 @@ if ( is_multisite() && is_network_admin() && ! IS_PROFILE_PAGE && current_user_c
 
 <tr>
 	<th><label for="url"><?php _e('Website') ?></label></th>
-	<td><input type="text" name="url" id="url" value="<?php echo esc_attr($profileuser->user_url) ?>" class="regular-text code" /></td>
+	<td><input type="url" name="url" id="url" value="<?php echo esc_attr( $profileuser->user_url ) ?>" class="regular-text code" /></td>
 </tr>
 
 <?php
diff --git a/wp-admin/user-new.php b/wp-admin/user-new.php
index b5c9c0bc4..19356ef9f 100644
--- a/wp-admin/user-new.php
+++ b/wp-admin/user-new.php
@@ -171,11 +171,11 @@ get_current_screen()->add_help_tab( array(
 'title'   => __('User Roles'),
 'content' => '<p>' . __('Here is a basic overview of the different user roles and the permissions associated with each one:') . '</p>' .
 				'<ul>' .
-				'<li>' . __('Administrators have access to all the administration features.') . '</li>' .
-				'<li>' . __('Editors can publish posts, manage posts as well as manage other people&#8217;s posts, etc.') . '</li>' .
-				'<li>' . __('Authors can publish and manage their own posts, and are able to upload files.') . '</li>' .
-				'<li>' . __('Contributors can write and manage their posts but not publish posts or upload media files.') . '</li>' .
 				'<li>' . __('Subscribers can read comments/comment/receive newsletters, etc. but cannot create regular site content.') . '</li>' .
+				'<li>' . __('Contributors can write and manage their posts but not publish posts or upload media files.') . '</li>' .
+				'<li>' . __('Authors can publish and manage their own posts, and are able to upload files.') . '</li>' .
+				'<li>' . __('Editors can publish posts, manage posts as well as manage other people&#8217;s posts, etc.') . '</li>' .
+				'<li>' . __('Administrators have access to all the administration features.') . '</li>' .
 				'</ul>'
 ) );
 
@@ -272,11 +272,13 @@ if ( is_multisite() ) {
 	if ( $do_both )
 		echo '<h3 id="add-existing-user">' . __('Add Existing User') . '</h3>';
 	if ( !is_super_admin() ) {
-		_e( 'Enter the email address of an existing user on this network to invite them to this site. That person will be sent an email asking them to confirm the invite.' );
+		echo '<p>' . __( 'Enter the email address of an existing user on this network to invite them to this site. That person will be sent an email asking them to confirm the invite.' ) . '</p>';
 		$label = __('E-mail');
+		$type  = 'email';
 	} else {
-		_e( 'Enter the email address or username of an existing user on this network to invite them to this site. That person will be sent an email asking them to confirm the invite.' );
+		echo '<p>' . __( 'Enter the email address or username of an existing user on this network to invite them to this site. That person will be sent an email asking them to confirm the invite.' ) . '</p>';
 		$label = __('E-mail or Username');
+		$type  = 'text';
 	}
 ?>
 <?php
@@ -286,14 +288,14 @@ if ( is_multisite() ) {
  * @since 3.0.0
  */
 ?>
-<form action="" method="post" name="adduser" id="adduser" class="validate"<?php do_action( 'user_new_form_tag' );?>>
+<form action="" method="post" name="adduser" id="adduser" class="validate" novalidate="novalidate"<?php do_action( 'user_new_form_tag' );?>>
 <input name="action" type="hidden" value="adduser" />
 <?php wp_nonce_field( 'add-user', '_wpnonce_add-user' ) ?>
 
 <table class="form-table">
 	<tr class="form-field form-required">
 		<th scope="row"><label for="adduser-email"><?php echo $label; ?></label></th>
-		<td><input name="email" type="text" id="adduser-email" class="wp-suggest-user" value="" /></td>
+		<td><input name="email" type="<?php echo $type; ?>" id="adduser-email" class="wp-suggest-user" value="" /></td>
 	</tr>
 	<tr class="form-field">
 		<th scope="row"><label for="adduser-role"><?php _e('Role'); ?></label></th>
@@ -305,7 +307,7 @@ if ( is_multisite() ) {
 <?php if ( is_super_admin() ) { ?>
 	<tr>
 		<th scope="row"><label for="adduser-noconfirmation"><?php _e('Skip Confirmation Email') ?></label></th>
-		<td><label for="adduser-noconfirmation"><input type="checkbox" name="noconfirmation" id="adduser-noconfirmation" value="1" /> <?php _e( 'Add the user without sending them a confirmation email.' ); ?></label></td>
+		<td><label for="adduser-noconfirmation"><input type="checkbox" name="noconfirmation" id="adduser-noconfirmation" value="1" /> <?php _e( 'Add the user without sending an email that requires their confirmation.' ); ?></label></td>
 	</tr>
 <?php } ?>
 </table>
@@ -334,21 +336,21 @@ if ( current_user_can( 'create_users') ) {
 ?>
 <p><?php _e('Create a brand new user and add them to this site.'); ?></p>
 <?php /** This action is documented in wp-admin/user-new.php */ ?>
-<form action="" method="post" name="createuser" id="createuser" class="validate"<?php do_action( 'user_new_form_tag' );?>>
+<form action="" method="post" name="createuser" id="createuser" class="validate" novalidate="novalidate"<?php do_action( 'user_new_form_tag' );?>>
 <input name="action" type="hidden" value="createuser" />
 <?php wp_nonce_field( 'create-user', '_wpnonce_create-user' ); ?>
 <?php
 // Load up the passed data, else set to a default.
-foreach ( array( 'user_login' => 'login', 'first_name' => 'firstname', 'last_name' => 'lastname',
-				'email' => 'email', 'url' => 'uri', 'role' => 'role', 'send_password' => 'send_password', 'noconfirmation' => 'ignore_pass' ) as $post_field => $var ) {
-	$var = "new_user_$var";
-	if( isset( $_POST['createuser'] ) ) {
-		if ( ! isset($$var) )
-			$$var = isset( $_POST[$post_field] ) ? wp_unslash( $_POST[$post_field] ) : '';
-	} else {
-		$$var = false;
-	}
-}
+$creating = isset( $_POST['createuser'] );
+
+$new_user_login = $creating && isset( $_POST['user_login'] ) ? wp_unslash( $_POST['user_login'] ) : '';
+$new_user_firstname = $creating && isset( $_POST['first_name'] ) ? wp_unslash( $_POST['first_name'] ) : '';
+$new_user_lastname = $creating && isset( $_POST['last_name'] ) ? wp_unslash( $_POST['last_name'] ) : '';
+$new_user_email = $creating && isset( $_POST['email'] ) ? wp_unslash( $_POST['email'] ) : '';
+$new_user_uri = $creating && isset( $_POST['url'] ) ? wp_unslash( $_POST['url'] ) : '';
+$new_user_role = $creating && isset( $_POST['role'] ) ? wp_unslash( $_POST['role'] ) : '';
+$new_user_send_password = $creating && isset( $_POST['send_password'] ) ? wp_unslash( $_POST['send_password'] ) : '';
+$new_user_ignore_pass = $creating && isset( $_POST['noconfirmation'] ) ? wp_unslash( $_POST['noconfirmation'] ) : '';
 
 ?>
 <table class="form-table">
@@ -358,7 +360,7 @@ foreach ( array( 'user_login' => 'login', 'first_name' => 'firstname', 'last_nam
 	</tr>
 	<tr class="form-field form-required">
 		<th scope="row"><label for="email"><?php _e('E-mail'); ?> <span class="description"><?php _e('(required)'); ?></span></label></th>
-		<td><input name="email" type="text" id="email" value="<?php echo esc_attr($new_user_email); ?>" /></td>
+		<td><input name="email" type="email" id="email" value="<?php echo esc_attr( $new_user_email ); ?>" /></td>
 	</tr>
 <?php if ( !is_multisite() ) { ?>
 	<tr class="form-field">
@@ -371,7 +373,7 @@ foreach ( array( 'user_login' => 'login', 'first_name' => 'firstname', 'last_nam
 	</tr>
 	<tr class="form-field">
 		<th scope="row"><label for="url"><?php _e('Website') ?></label></th>
-		<td><input name="url" type="text" id="url" class="code" value="<?php echo esc_attr($new_user_uri); ?>" /></td>
+		<td><input name="url" type="url" id="url" class="code" value="<?php echo esc_attr( $new_user_uri ); ?>" /></td>
 	</tr>
 <?php
 /**
@@ -418,7 +420,7 @@ if ( apply_filters( 'show_password_fields', true ) ) : ?>
 	<?php if ( is_multisite() && is_super_admin() ) { ?>
 	<tr>
 		<th scope="row"><label for="noconfirmation"><?php _e('Skip Confirmation Email') ?></label></th>
-		<td><label for="noconfirmation"><input type="checkbox" name="noconfirmation" id="noconfirmation" value="1" <?php checked( $new_user_ignore_pass ); ?> /> <?php _e( 'Add the user without sending them a confirmation email.' ); ?></label></td>
+		<td><label for="noconfirmation"><input type="checkbox" name="noconfirmation" id="noconfirmation" value="1" <?php checked( $new_user_ignore_pass ); ?> /> <?php _e( 'Add the user without sending an email that requires their confirmation.' ); ?></label></td>
 	</tr>
 	<?php } ?>
 </table>
diff --git a/wp-admin/users.php b/wp-admin/users.php
index 1dfd73cd8..c83dbaa64 100644
--- a/wp-admin/users.php
+++ b/wp-admin/users.php
@@ -137,8 +137,6 @@ case 'promote':
 	wp_redirect(add_query_arg('update', $update, $redirect));
 	exit();
 
-break;
-
 case 'dodelete':
 	if ( is_multisite() )
 		wp_die( __('User deletion is not allowed from this screen.') );
@@ -188,8 +186,6 @@ case 'dodelete':
 	wp_redirect($redirect);
 	exit();
 
-break;
-
 case 'delete':
 	if ( is_multisite() )
 		wp_die( __('User deletion is not allowed from this screen.') );
@@ -248,6 +244,16 @@ case 'delete':
 		<?php echo '<label for="delete_option1">' . __( 'Attribute all content to:' ) . '</label> ';
 		wp_dropdown_users( array( 'name' => 'reassign_user', 'exclude' => array_diff( $userids, array($current_user->ID) ) ) ); ?></li>
 	</ul></fieldset>
+	<?php
+	/**
+	 * Fires at the end of the delete users form prior to the confirm button.
+	 *
+	 * @since 4.0.0
+	 *
+	 * @param WP_User $current_user WP_User object for the user being deleted.
+	 */
+	do_action( 'delete_user_form', $current_user );
+	?>
 	<input type="hidden" name="action" value="dodelete" />
 	<?php submit_button( __('Confirm Deletion'), 'secondary' ); ?>
 <?php else : ?>
@@ -293,8 +299,6 @@ case 'doremove':
 	wp_redirect($redirect);
 	exit;
 
-break;
-
 case 'remove':
 
 	check_admin_referer('bulk-users');
@@ -340,6 +344,7 @@ case 'remove':
 		}
  	}
  	?>
+</ul>
 <?php if ( $go_remove ) : ?>
 		<input type="hidden" name="action" value="doremove" />
 		<?php submit_button( __('Confirm Removal'), 'secondary' ); ?>
diff --git a/wp-admin/widgets.php b/wp-admin/widgets.php
index 9383d7436..f4de378ff 100644
--- a/wp-admin/widgets.php
+++ b/wp-admin/widgets.php
@@ -141,7 +141,7 @@ if ( isset($_POST['savewidget']) || isset($_POST['removewidget']) ) {
 	$id_base = $_POST['id_base'];
 	$sidebar = isset($sidebars_widgets[$sidebar_id]) ? $sidebars_widgets[$sidebar_id] : array();
 
-	// delete
+	// Delete.
 	if ( isset($_POST['removewidget']) && $_POST['removewidget'] ) {
 
 		if ( !in_array($widget_id, $sidebar, true) ) {
@@ -168,7 +168,7 @@ if ( isset($_POST['savewidget']) || isset($_POST['removewidget']) ) {
 
 	$sidebars_widgets[$sidebar_id] = $sidebar;
 
-	// remove old position
+	// Remove old position.
 	if ( !isset($_POST['delete_widget']) ) {
 		foreach ( $sidebars_widgets as $key => $sb ) {
 			if ( is_array($sb) )
@@ -224,7 +224,7 @@ if ( isset($_GET['editwidget']) && $_GET['editwidget'] ) {
 
 	$id_base = isset($control['id_base']) ? $control['id_base'] : $control['id'];
 
-	// show the widget form
+	// Show the widget form.
 	$width = ' style="width:' . max($control['width'], 350) . 'px"';
 	$key = isset($_GET['key']) ? (int) $_GET['key'] : 0;
 
diff --git a/wp-comments-post.php b/wp-comments-post.php
index 6196c3684..0ed359c5b 100644
--- a/wp-comments-post.php
+++ b/wp-comments-post.php
@@ -132,7 +132,11 @@ $comment_parent = isset($_POST['comment_parent']) ? absint($_POST['comment_paren
 $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'comment_parent', 'user_ID');
 
 $comment_id = wp_new_comment( $commentdata );
-$comment = get_comment($comment_id);
+if ( ! $comment_id ) {
+	wp_die( __( "<strong>ERROR</strong>: The comment could not be saved. Please try again later." ) );
+}
+
+$comment = get_comment( $comment_id );
 
 /**
  * Perform other actions when comment cookies are set.
diff --git a/wp-config-sample.php b/wp-config-sample.php
index 5a6acc65b..f247332ea 100644
--- a/wp-config-sample.php
+++ b/wp-config-sample.php
@@ -61,16 +61,6 @@ define('NONCE_SALT',       'put your unique phrase here');
  */
 $table_prefix  = 'wp_';
 
-/**
- * WordPress Localized Language, defaults to English.
- *
- * Change this to localize WordPress. A corresponding MO file for the chosen
- * language must be installed to wp-content/languages. For example, install
- * de_DE.mo to wp-content/languages and set WPLANG to 'de_DE' to enable German
- * language support.
- */
-define('WPLANG', '');
-
 /**
  * For developers: WordPress debugging mode.
  *
diff --git a/wp-content/plugins/akismet/akismet.php b/wp-content/plugins/akismet/akismet.php
index 7fc1e9db5..68289a372 100644
--- a/wp-content/plugins/akismet/akismet.php
+++ b/wp-content/plugins/akismet/akismet.php
@@ -6,7 +6,7 @@
 Plugin Name: Akismet
 Plugin URI: http://akismet.com/
 Description: Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from comment and trackback spam</strong>. It keeps your site protected from spam even while you sleep. To get started: 1) Click the "Activate" link to the left of this description, 2) <a href="http://akismet.com/get/">Sign up for an Akismet API key</a>, and 3) Go to your Akismet configuration page, and save your API key.
-Version: 3.0.1
+Version: 3.0.2
 Author: Automattic
 Author URI: http://automattic.com/wordpress-plugins/
 License: GPLv2 or later
@@ -35,7 +35,7 @@ if ( !function_exists( 'add_action' ) ) {
 	exit;
 }
 
-define( 'AKISMET_VERSION', '3.0.1' );
+define( 'AKISMET_VERSION', '3.0.2' );
 define( 'AKISMET__MINIMUM_WP_VERSION', '3.1' );
 define( 'AKISMET__PLUGIN_URL', plugin_dir_url( __FILE__ ) );
 define( 'AKISMET__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
diff --git a/wp-content/plugins/akismet/class.akismet-admin.php b/wp-content/plugins/akismet/class.akismet-admin.php
index 7a62ccbd6..a1c712e01 100644
--- a/wp-content/plugins/akismet/class.akismet-admin.php
+++ b/wp-content/plugins/akismet/class.akismet-admin.php
@@ -367,7 +367,8 @@ class Akismet_Admin {
 
 			add_comment_meta( $c['comment_ID'], 'akismet_rechecking', true );
 
-			$response = Akismet::http_post( build_query( $c ), 'comment-check' );
+			$response = Akismet::http_post( Akismet::build_query( $c ), 'comment-check' );
+			
 			if ( 'true' == $response[1] ) {
 				wp_set_comment_status( $c['comment_ID'], 'spam' );
 				update_comment_meta( $c['comment_ID'], 'akismet_result', 'true' );
@@ -625,7 +626,7 @@ class Akismet_Admin {
 	}
 	
 	public static function get_akismet_user( $api_key ) {
-		$akismet_user = Akismet::http_post( build_query( array( 'key' => $api_key ) ), 'get-subscription' );
+		$akismet_user = Akismet::http_post( Akismet::build_query( array( 'key' => $api_key ) ), 'get-subscription' );
 
 		if ( ! empty( $akismet_user[1] ) )
 			$akismet_user = json_decode( $akismet_user[1] );
@@ -639,7 +640,7 @@ class Akismet_Admin {
 		$stat_totals = array();
 
 		foreach( array( '6-months', 'all' ) as $interval ) {
-			$response = Akismet::http_post( build_query( array( 'blog' => urlencode( get_bloginfo('url') ), 'key' => $api_key, 'from' => $interval ) ), 'get-stats' );
+			$response = Akismet::http_post( Akismet::build_query( array( 'blog' => urlencode( get_bloginfo('url') ), 'key' => $api_key, 'from' => $interval ) ), 'get-stats' );
 
 			if ( ! empty( $response[1] ) ) {
 				$stat_totals[$interval] = json_decode( $response[1] );
@@ -649,7 +650,7 @@ class Akismet_Admin {
 	}
 	
 	public static function verify_wpcom_key( $api_key, $user_id, $token = '' ) {
-		$akismet_account = Akismet::http_post( build_query( array(
+		$akismet_account = Akismet::http_post( Akismet::build_query( array(
 			'user_id'          => $user_id,
 			'api_key'          => $api_key,
 			'token'            => $token,
@@ -674,11 +675,11 @@ class Akismet_Admin {
 
 	public static function display_spam_check_warning() {
 		Akismet::fix_scheduled_recheck();
-		
-		$link_text = apply_filters( 'akismet_spam_check_warning_link_text', sprintf( __( 'Please check your <a href="%s">Akismet configuration</a> and contact your web host if problems persist.', 'akismet'), esc_url( self::get_page_url() ) ) );
 
-		if ( self::get_number_spam_waiting() > 0 && wp_next_scheduled('akismet_schedule_cron_recheck') > time() )
+		if ( wp_next_scheduled('akismet_schedule_cron_recheck') > time() && self::get_number_spam_waiting() > 0 ) {
+			$link_text = apply_filters( 'akismet_spam_check_warning_link_text', sprintf( __( 'Please check your <a href="%s">Akismet configuration</a> and contact your web host if problems persist.', 'akismet'), esc_url( self::get_page_url() ) ) );
 			Akismet::view( 'notice', array( 'type' => 'spam-check', 'link_text' => $link_text ) );
+		}
 	}
 
 	public static function display_invalid_version() {
diff --git a/wp-content/plugins/akismet/class.akismet.php b/wp-content/plugins/akismet/class.akismet.php
index 17f6b0058..a9ab0eaa9 100644
--- a/wp-content/plugins/akismet/class.akismet.php
+++ b/wp-content/plugins/akismet/class.akismet.php
@@ -54,7 +54,7 @@ class Akismet {
 	}
 
 	public static function check_key_status( $key, $ip = null ) {
-		return self::http_post( build_query( array( 'key' => $key, 'blog' => get_option('home') ) ), 'verify-key', $ip );
+		return self::http_post( Akismet::build_query( array( 'key' => $key, 'blog' => get_option('home') ) ), 'verify-key', $ip );
 	}
 
 	public static function verify_key( $key, $ip = null ) {
@@ -117,7 +117,7 @@ class Akismet {
 		$post = get_post( $comment['comment_post_ID'] );
 		$comment[ 'comment_post_modified_gmt' ] = $post->post_modified_gmt;
 
-		$response = self::http_post( build_query( $comment ), 'comment-check' );
+		$response = self::http_post( Akismet::build_query( $comment ), 'comment-check' );
 
 		do_action( 'akismet_comment_check_response', $response );
 
@@ -370,7 +370,7 @@ class Akismet {
 		if ( self::is_test_mode() )
 			$c['is_test'] = 'true';
 
-		$response = self::http_post( build_query( $c ), 'comment-check' );
+		$response = self::http_post( Akismet::build_query( $c ), 'comment-check' );
 
 		return ( is_array( $response ) && ! empty( $response[1] ) ) ? $response[1] : false;
 	}
@@ -464,7 +464,7 @@ class Akismet {
 		$post = get_post( $comment->comment_post_ID );
 		$comment->comment_post_modified_gmt = $post->post_modified_gmt;
 
-		$response = Akismet::http_post( build_query( $comment ), 'submit-spam' );
+		$response = Akismet::http_post( Akismet::build_query( $comment ), 'submit-spam' );
 		if ( $comment->reporter ) {
 			self::update_comment_history( $comment_id, sprintf( __('%s reported this comment as spam', 'akismet'), $comment->reporter ), 'report-spam' );
 			update_comment_meta( $comment_id, 'akismet_user_result', 'true' );
@@ -510,7 +510,7 @@ class Akismet {
 		$post = get_post( $comment->comment_post_ID );
 		$comment->comment_post_modified_gmt = $post->post_modified_gmt;
 
-		$response = self::http_post( build_query( $comment ), 'submit-ham' );
+		$response = self::http_post( Akismet::build_query( $comment ), 'submit-ham' );
 		if ( $comment->reporter ) {
 			self::update_comment_history( $comment_id, sprintf( __('%s reported this comment as not spam', 'akismet'), $comment->reporter ), 'report-ham' );
 			update_comment_meta( $comment_id, 'akismet_user_result', 'false' );
@@ -915,6 +915,16 @@ p {
 	public static function plugin_deactivation( ) {
 		//tidy up
 	}
+	
+	/**
+	 * Essentially a copy of WP's build_query but one that doesn't expect pre-urlencoded values.
+	 *
+	 * @param array $args An array of key => value pairs
+	 * @return string A string ready for use as a URL query string.
+	 */
+	public static function build_query( $args ) {
+		return _http_build_query( $args, '', '&' );
+	}
 
 	public static function log( $akismet_debug ) {
 		if ( defined( 'WP_DEBUG_LOG' ) && WP_DEBUG_LOG )
diff --git a/wp-content/plugins/akismet/readme.txt b/wp-content/plugins/akismet/readme.txt
index c9dce6758..d0e5a1df6 100644
--- a/wp-content/plugins/akismet/readme.txt
+++ b/wp-content/plugins/akismet/readme.txt
@@ -2,8 +2,8 @@
 Contributors: matt, ryan, andy, mdawaffe, tellyworth, josephscott, lessbloat, eoigal, cfinke, automattic
 Tags: akismet, comments, spam
 Requires at least: 3.1
-Tested up to: 3.9.1
-Stable tag: 3.0.1
+Tested up to: 4.0
+Stable tag: 3.0.2
 License: GPLv2 or later
 
 Akismet checks your comments against the Akismet Web service to see if they look like spam or not.
@@ -30,6 +30,10 @@ Upload the Akismet plugin to your blog, Activate it, then enter your [Akismet.co
 
 == Changelog ==
 
+= 3.0.2 =
+* Performance improvements.
+* Fixed a bug that could truncate the comment data being sent to Akismet for checking.
+
 = 3.0.1 =
 * Removed dependency on PHP's fsockopen function
 * Fix spam/ham reports to work when reported outside of the WP dashboard, e.g., from Notifications or the WP app
diff --git a/wp-content/plugins/akismet/views/notice.php b/wp-content/plugins/akismet/views/notice.php
index 0476929ab..8a1411d3a 100644
--- a/wp-content/plugins/akismet/views/notice.php
+++ b/wp-content/plugins/akismet/views/notice.php
@@ -16,7 +16,13 @@
 	</form>
 </div>
 <?php elseif ( $type == 'spam-check' ) :?>
-<div id="akismet-warning" class="updated fade"><p><strong><?php esc_html_e('Akismet has detected a problem.', 'akismet');?></strong> <?php printf( __('Some comments have not yet been checked for spam by Akismet. They have been temporarily held for moderation. Please check your <a href="%s">Akismet configuration</a> and contact your web host if problems persist.', 'akismet'), esc_url( Akismet_Admin::get_page_url() ) );?></p></div>
+<div id="akismet-warning" class="updated fade">
+	<p><strong><?php esc_html_e( 'Akismet has detected a problem.', 'akismet' );?></strong></p>
+	<p><?php printf( __( 'Some comments have not yet been checked for spam by Akismet. They have been temporarily held for moderation and will automatically be rechecked later.', 'akismet' ) ); ?></p>
+	<?php if ( $link_text ) { ?>
+		<p><?php echo $link_text; ?></p>
+	<?php } ?>
+</div>
 <?php elseif ( $type == 'version' ) :?>
 <div id="akismet-warning" class="updated fade"><p><strong><?php printf( esc_html__('Akismet %s requires WordPress 3.0 or higher.', 'akismet'), AKISMET_VERSION);?></strong> <?php printf(__('Please <a href="%1$s">upgrade WordPress</a> to a current version, or <a href="%2$s">downgrade to version 2.4 of the Akismet plugin</a>.', 'akismet'), 'https://codex.wordpress.org/Upgrading_WordPress', 'https://wordpress.org/extend/plugins/akismet/download/');?></p></div>
 <?php elseif ( $type == 'alert' ) :?>
diff --git a/wp-content/plugins/index.php b/wp-content/plugins/index.php
index 4e6c07c7e..62200328f 100644
--- a/wp-content/plugins/index.php
+++ b/wp-content/plugins/index.php
@@ -1,3 +1,2 @@
 <?php
 // Silence is golden.
-?>
\ No newline at end of file
diff --git a/wp-content/themes/index.php b/wp-content/themes/index.php
index 4e6c07c7e..62200328f 100644
--- a/wp-content/themes/index.php
+++ b/wp-content/themes/index.php
@@ -1,3 +1,2 @@
 <?php
 // Silence is golden.
-?>
\ No newline at end of file
diff --git a/wp-content/themes/twentyfourteen/css/editor-style.css b/wp-content/themes/twentyfourteen/css/editor-style.css
index e99813cae..1d66b73c5 100644
--- a/wp-content/themes/twentyfourteen/css/editor-style.css
+++ b/wp-content/themes/twentyfourteen/css/editor-style.css
@@ -420,7 +420,7 @@ img {
 }
 
 .wp-caption.aligncenter {
-	margin: 7px 0;
+	margin: 7px auto;
 }
 
 .wp-caption-dt {
@@ -617,6 +617,79 @@ img {
 	background: transparent;
 }
 
+.mejs-overlay-button {
+	background-color: #fff;
+	background-image: none;
+	border-radius: 2px;
+	box-shadow: 1px 1px 1px rgba(0,0,0,.8);
+	color: #000;
+	height: 36px;
+	margin-left: -24px;
+	width: 48px;
+}
+
+.mejs-overlay-button:before {
+	-webkit-font-smoothing: antialiased;
+	content: '\f452';
+	display: inline-block;
+	font: normal 32px/1.125 Genericons;
+	position: absolute;
+	top: 1px;
+	left: 10px;
+}
+
+.mejs-controls .mejs-button button:focus {
+	outline: none;
+}
+
+.mejs-controls .mejs-button button {
+	-webkit-font-smoothing: antialiased;
+	background: none;
+	color: #fff;
+	display: inline-block;
+	font: normal 16px/1 Genericons;
+}
+
+.mejs-playpause-button.mejs-play button:before {
+	content: '\f452';
+}
+
+.mejs-playpause-button.mejs-pause button:before {
+	content: '\f448';
+}
+
+.mejs-volume-button.mejs-mute button:before {
+	content: '\f109';
+	font-size: 20px;
+	position: absolute;
+	top: -2px;
+	left: 0;
+}
+
+.mejs-volume-button.mejs-unmute button:before {
+	content: '\f109';
+	left: 0;
+	position: absolute;
+	top: 0;
+}
+
+.mejs-fullscreen-button button:before {
+	content: '\f474';
+}
+
+.mejs-fullscreen-button.mejs-unfullscreen button:before {
+	content: '\f406';
+}
+
+.mejs-overlay:hover .mejs-overlay-button {
+	background-color: #24890d;
+	color: #fff;
+}
+
+.mejs-controls .mejs-button button:hover {
+	color: #41a62a;
+}
+
 
 /**
  * 10.0 RTL
diff --git a/wp-content/themes/twentyfourteen/css/ie.css b/wp-content/themes/twentyfourteen/css/ie.css
index 3b71a6b79..82142d2e2 100644
--- a/wp-content/themes/twentyfourteen/css/ie.css
+++ b/wp-content/themes/twentyfourteen/css/ie.css
@@ -29,6 +29,10 @@ textarea:focus {
 	border: 1px solid #b2b2b2;
 }
 
+.site-title {
+	max-width: 71%;
+}
+
 .site-content blockquote.alignleft,
 .site-content blockquote.alignright {
 	border-top: 1px solid #e5e5e5;
@@ -515,13 +519,12 @@ a.post-thumbnail:hover {
 	margin-right: auto;
 }
 
-.ie8 .full-width.singular .hentry.has-post-thumbnail,
-.ie8 .full-width.home .hentry.has-post-thumbnail {
+.ie8 .full-width .hentry.has-post-thumbnail:first-child {
 	margin-top: -72px;
 }
 
 
-.ie8 .singular .hentry.has-post-thumbnail {
+.ie8 .singular .site-content .hentry.has-post-thumbnail {
 	margin-top: 0;
 }
 
diff --git a/wp-content/themes/twentyfourteen/functions.php b/wp-content/themes/twentyfourteen/functions.php
index d78b44b26..d95d29dce 100644
--- a/wp-content/themes/twentyfourteen/functions.php
+++ b/wp-content/themes/twentyfourteen/functions.php
@@ -68,7 +68,7 @@ function twentyfourteen_setup() {
 	load_theme_textdomain( 'twentyfourteen', get_template_directory() . '/languages' );
 
 	// This theme styles the visual editor to resemble the theme style.
-	add_editor_style( array( 'css/editor-style.css', twentyfourteen_font_url() ) );
+	add_editor_style( array( 'css/editor-style.css', twentyfourteen_font_url(), 'genericons/genericons.css' ) );
 
 	// Add RSS feed links to <head> for posts and comments.
 	add_theme_support( 'automatic-feed-links' );
@@ -227,7 +227,7 @@ function twentyfourteen_scripts() {
 	wp_enqueue_style( 'twentyfourteen-lato', twentyfourteen_font_url(), array(), null );
 
 	// Add Genericons font, used in the main stylesheet.
-	wp_enqueue_style( 'genericons', get_template_directory_uri() . '/genericons/genericons.css', array(), '3.0.2' );
+	wp_enqueue_style( 'genericons', get_template_directory_uri() . '/genericons/genericons.css', array(), '3.0.3' );
 
 	// Load our main stylesheet.
 	wp_enqueue_style( 'twentyfourteen-style', get_stylesheet_uri(), array( 'genericons' ) );
@@ -256,7 +256,7 @@ function twentyfourteen_scripts() {
 		) );
 	}
 
-	wp_enqueue_script( 'twentyfourteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '20140319', true );
+	wp_enqueue_script( 'twentyfourteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '20140616', true );
 }
 add_action( 'wp_enqueue_scripts', 'twentyfourteen_scripts' );
 
@@ -385,7 +385,7 @@ endif;
  *
  * Adds body classes to denote:
  * 1. Single or multiple authors.
- * 2. Presence of header image.
+ * 2. Presence of header image except in Multisite signup and activate pages.
  * 3. Index views.
  * 4. Full-width content layout.
  * 5. Presence of footer widgets.
@@ -404,7 +404,7 @@ function twentyfourteen_body_classes( $classes ) {
 
 	if ( get_header_image() ) {
 		$classes[] = 'header-image';
-	} else {
+	} elseif ( ! in_array( $GLOBALS['pagenow'], array( 'wp-activate.php', 'wp-signup.php' ) ) ) {
 		$classes[] = 'masthead-fixed';
 	}
 
@@ -463,6 +463,9 @@ add_filter( 'post_class', 'twentyfourteen_post_classes' );
  *
  * @since Twenty Fourteen 1.0
  *
+ * @global int $paged WordPress archive pagination page count.
+ * @global int $page  WordPress paginated post page count.
+ *
  * @param string $title Default title text for current view.
  * @param string $sep Optional separator.
  * @return string The filtered title.
@@ -484,7 +487,7 @@ function twentyfourteen_wp_title( $title, $sep ) {
 	}
 
 	// Add a page number if necessary.
-	if ( $paged >= 2 || $page >= 2 ) {
+	if ( ( $paged >= 2 || $page >= 2 ) && ! is_404() ) {
 		$title = "$title $sep " . sprintf( __( 'Page %s', 'twentyfourteen' ), max( $paged, $page ) );
 	}
 
diff --git a/wp-content/themes/twentyfourteen/genericons/Genericons-Regular.otf b/wp-content/themes/twentyfourteen/genericons/Genericons-Regular.otf
index e21c3490e56be55fd52100269bff40118eb46f0e..5cd41e8b81c9fa490d0ed695536226c0dbe69ac6 100644
GIT binary patch
delta 9266
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
A`Tzg`

delta 8766
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
IKO5`)U&g60*8l(j

diff --git a/wp-content/themes/twentyfourteen/genericons/README.txt b/wp-content/themes/twentyfourteen/genericons/README.txt
index e6ebd7d34..7a0a92e5f 100644
--- a/wp-content/themes/twentyfourteen/genericons/README.txt
+++ b/wp-content/themes/twentyfourteen/genericons/README.txt
@@ -74,6 +74,14 @@ ____ _  _ ____ _  _ ____ ____ _    ____ ____
 |    |__| |__| |\ | | __ |___ |    |  | | __ 
 |___ |  | |  | | \| |__] |___ |___ |__| |__] 
 
+V3.0.3:
+Bunch of updates mostly.
+- Two new icons, Dropbox and Fullscreen.
+- Updates to all icons containing an exclamation mark.
+- Updates to Image and Quote.
+- Nicer "Share" icon.
+- Bigger default Linkedin icon.
+
 V3.0.2: 
 A slew of new stuff and updates.
 - Social icons: Skype, Digg, Reddit, Stumbleupon, Pocket.
diff --git a/wp-content/themes/twentyfourteen/genericons/example.html b/wp-content/themes/twentyfourteen/genericons/example.html
index f33b30a5e..cdc7d04c7 100644
--- a/wp-content/themes/twentyfourteen/genericons/example.html
+++ b/wp-content/themes/twentyfourteen/genericons/example.html
@@ -165,6 +165,7 @@ body {
 		<div alt="f222" class="genericon genericon-reddit"></div>
 		<div alt="f223" class="genericon genericon-stumbleupon"></div>
 		<div alt="f224" class="genericon genericon-pocket"></div>
+		<div alt="f225" class="genericon genericon-dropbox"></div>
 
 		<!-- meta icons -->
 		<div alt="f300" class="genericon genericon-comment"></div>
@@ -252,6 +253,7 @@ body {
 		<div alt="f471" class="genericon genericon-bold"></div>
 		<div alt="f472" class="genericon genericon-italic"></div>
 		<div alt="f473" class="genericon genericon-picture"></div>
+		<div alt="f474" class="genericon genericon-fullscreen"></div>
 
 		<!-- generic shapes -->
 		<div alt="f500" class="genericon genericon-uparrow"></div>
diff --git a/wp-content/themes/twentyfourteen/genericons/font/genericons-regular-webfont.eot b/wp-content/themes/twentyfourteen/genericons/font/genericons-regular-webfont.eot
index 6e71567730e983711fc04e5afb3ef72c513baca9..46574695ece5d4a4d2eb5dd29c1b09995d93e214 100644
GIT binary patch
delta 14788
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

delta 9125
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

diff --git a/wp-content/themes/twentyfourteen/genericons/font/genericons-regular-webfont.svg b/wp-content/themes/twentyfourteen/genericons/font/genericons-regular-webfont.svg
index d9f0c82ed..ef236c102 100644
--- a/wp-content/themes/twentyfourteen/genericons/font/genericons-regular-webfont.svg
+++ b/wp-content/themes/twentyfourteen/genericons/font/genericons-regular-webfont.svg
@@ -6,128 +6,130 @@
 <font id="genericonsregular" horiz-adv-x="2048" >
 <font-face units-per-em="2048" ascent="1638" descent="-410" />
 <missing-glyph horiz-adv-x="500" />
-<glyph unicode="&#xe000;" horiz-adv-x="500" d="M0 0z" />
-<glyph unicode="&#xf100;" d="M1536 1408v-128h-1024v128h1024zM1152 1024h-640v128h640v-128zM1280 1152h256v-128h-256v128zM768 768h-256v128h256v-128zM896 896h640v-128h-640v128zM512 640h768v-128h-768v128z" />
-<glyph unicode="&#xf101;" d="M1024 1792q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1024 768q106 0 181 75t75 181t-75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75z" />
-<glyph unicode="&#xf102;" d="M1920 1408v-1024h-1792v896l512 128l128 256h512l128 -256h512zM512 1504l-256 -64v160h256v-96zM1024 512q186 0 317 131.5t131 316.5t-131 316.5t-317 131.5q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM1024 1280q133 0 226.5 -93.5t93.5 -226.5 t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5z" />
-<glyph unicode="&#xf103;" d="M128 1408h896v-384h-896v384zM2048 1408v-896h-896v896h896zM128 896h384v-384h-384v384zM640 896h384v-384h-384v384z" />
-<glyph unicode="&#xf104;" d="M1664 1024l-1152 -640v1280z" />
-<glyph unicode="&#xf105;" d="M1408 1408q0 -124 -71.5 -222t-184.5 -138v-536l-256 -128v664q-113 40 -184.5 138t-71.5 222q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf106;" d="M512 1408h512l-256 -768h-384zM1792 1408l-256 -768h-384l128 768h512z" />
-<glyph unicode="&#xf107;" d="M1088 1792q133 0 226.5 -93.5t93.5 -226.5v-384q0 -97 -53 -176.5t-139 -116.5v151q64 57 64 142v384q0 80 -56 136t-136 56t-136 -56t-56 -136v-384q0 -85 64 -142v-151q-86 37 -139 116.5t-53 176.5v384q0 133 93.5 226.5t226.5 93.5zM960 1230v151q86 -37 139 -116.5 t53 -176.5v-384q0 -133 -93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5v384q0 97 53 176.5t139 116.5v-151q-64 -57 -64 -142v-384q0 -80 56 -136t136 -56t136 56t56 136v384q0 85 -64 142z" />
-<glyph unicode="&#xf108;" d="M256 1792h1024q96 0 176 -80t80 -176v-384q0 -96 -80 -176t-176 -80h-448l-448 -448v448h-128q-96 0 -176 80t-80 176v384q0 96 80 176t176 80zM1664 1152v384q96 0 176 -80t80 -176v-384q0 -96 -80 -176t-176 -80h-128v-448l-448 448h-320l128 128h384q168 0 276 108 t108 276z" />
-<glyph unicode="&#xf109;" d="M640 1280l384 384v-1280l-384 384h-384v512h384zM1386 1386l91 91q88 -89 137.5 -206t49.5 -247q0 -87 -23 -170t-64.5 -153.5t-99.5 -129.5l-91 91q71 71 110.5 164.5t39.5 197.5t-39.5 197.5t-110.5 164.5zM1205 1205l91 91q26 -27 46.5 -57.5t35 -65t22.5 -72.5t8 -77 q0 -78 -29.5 -148t-82.5 -124l-91 91q75 75 75 181t-75 181z" />
-<glyph unicode="&#xf200;" d="M1024 2048q209 0 398.5 -81t326.5 -218t218 -326.5t81 -398.5q0 -335 -195.5 -601.5t-504.5 -369.5q-36 -7 -53 8.5t-17 40.5q0 4 0.5 102t0.5 179q0 130 -69 189q77 9 137.5 24.5t124.5 51.5t107 89t70.5 140t27.5 201q0 161 -105 274q6 15 11 35t9 56t-3.5 83.5 t-26.5 96.5q-4 1 -10.5 2t-32 -1t-55.5 -11t-79.5 -33.5t-104.5 -61.5q-118 33 -256 35q-138 -2 -256 -35q-55 37 -104 61.5t-80 33t-54.5 11.5t-33.5 1l-10 -2q-58 -146 -10 -271q-105 -115 -105 -274q0 -114 27.5 -201t70.5 -140t107 -89t124.5 -52t136.5 -24 q-53 -47 -65 -137q-28 -13 -59.5 -20t-75.5 -6.5t-87.5 28.5t-75.5 83q-2 4 -6.5 10.5t-19 24t-31.5 31t-44 25.5t-56 14h-10t-18.5 -3.5t-17 -9t4 -18.5t34.5 -31q3 -1 7.5 -4t19 -14.5t27.5 -27t30 -43.5t30 -61q1 -3 2.5 -7t8 -17t15.5 -25.5t24.5 -28t33.5 -28t45 -23.5 t57.5 -16t71.5 -3.5t87 11.5q0 -50 0.5 -110t0.5 -64q0 -24 -17 -40t-53 -10q-309 103 -504.5 370t-195.5 602q0 208 81 398t218.5 327t327 218t397.5 81z" />
-<glyph unicode="&#xf201;" d="M1024 2048q206 0 395.5 -82t327 -219.5t219.5 -327t82 -395.5t-82 -395.5t-219.5 -327t-327 -219.5t-395.5 -82t-395.5 82t-327 219.5t-219.5 327t-82 395.5t82 395.5t219.5 327t327 219.5t395.5 82zM1024 1920q-32 0 -96 -8t-96 -8q102 -166 304 -512q6 2 86 31 t118.5 45t108 47t122 64t93.5 69q-126 126 -290.5 199t-349.5 73zM672 1856q-194 -85 -329.5 -247.5t-182.5 -376.5q194 -22 444 14t388 82q-141 282 -320 528zM1760 1536q-71 -57 -162 -104.5t-214.5 -100.5t-183.5 -83q22 -29 36.5 -54.5t34 -67.5t25.5 -54q170 33 336 30 t288 -30q-26 285 -160 464zM128 1088v-64q0 -167 58 -319.5t166 -272.5q125 205 339 360t445 232q-16 48 -80 176q-282 -86 -481.5 -111t-446.5 -1zM1536 288q156 108 258 278t126 362q-276 46 -576 0q14 -27 43 -103t74.5 -231t74.5 -306zM1024 128q181 0 368 80 q-33 300 -208 688q-222 -74 -410 -225.5t-294 -350.5q216 -192 544 -192z" />
-<glyph unicode="&#xf202;" d="M1920 1584q-73 -111 -183 -191q0 -7 0.5 -23t0.5 -24q0 -122 -31 -246t-89.5 -241t-149.5 -218.5t-204 -177.5t-260.5 -119.5t-311.5 -43.5q-305 0 -564 165q48 -5 88 -5q256 0 456 157q-119 2 -213 73.5t-130 182.5q39 -7 69 -7q47 0 97 13q-127 26 -211 127t-84 233v5 q80 -43 167 -46q-76 50 -120 131t-44 175q0 101 50 185q138 -170 335 -271.5t423 -112.5q-10 39 -10 84q0 152 108 259.5t260 107.5q160 0 268 -116q128 26 233 89q-42 -132 -161 -203q109 13 211 58z" />
-<glyph unicode="&#xf203;" d="M384 1920h1280q106 0 181 -75t75 -181v-1280q0 -106 -75 -181t-181 -75h-282v711h270l12 260h-282v192v12q0 60 21.5 87.5t87.5 27.5l166 -1l6 242q-78 10 -183 10q-94 0 -167 -27.5t-117 -74.5t-66 -105.5t-22 -126.5v-236h-254v-260h254v-711h-724q-106 0 -181 75 t-75 181v1280q0 106 75 181t181 75z" />
-<glyph unicode="&#xf204;" d="M1511 1272l-14 -303h-315v-841h-320v841h-222v303h222v258q0 78 26 147t77 124t136.5 87t194.5 32q55 0 108 -3t79 -6l26 -3l-7 -282h-193q-76 0 -101.5 -32t-25.5 -101v-14v-207h329z" />
-<glyph unicode="&#xf205;" d="M1024 1920q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1426 536l81 268q24 79 32.5 107.5t18.5 74.5t10 79q0 46 -11.5 90.5t-23.5 71t-32 60.5q-2 4 -11.5 19 t-12 20t-10.5 18.5t-11 19t-9 17.5t-8.5 19t-6.5 18t-5.5 19.5t-3 18.5t-1.5 20q0 57 39 100t97 43l10 -1q-110 101 -249.5 156.5t-294.5 55.5q-207 0 -385 -98t-288 -266h52q37 0 91 2.5t89 4.5l34 3q21 1 30.5 -14.5t2.5 -32.5t-27 -20q-44 -5 -93 -7l294 -873l176 529 l-125 344l-85 7q-20 2 -27.5 19t2.5 33t30 15q133 -10 212 -10q38 0 91.5 2.5t88.5 4.5l35 3q16 1 25.5 -8.5t10 -22t-7 -23.5t-23.5 -13q-43 -5 -92 -7zM1731 1410q5 -40 5 -82q0 -135 -61 -289l-246 -711q183 106 292 291.5t109 404.5q0 207 -99 386zM218 1024 q0 -236 125 -430.5t330 -294.5l-385 1053q-70 -156 -70 -328zM1024 218q138 0 268 46q-4 6 -6 11l-248 679l-242 -703q112 -33 228 -33z" />
-<glyph unicode="&#xf206;" d="M1664 1536v256h-128v-256h-256v-128h256v-256h128v256h256v-1024q0 -106 -75 -181t-181 -75h-507q5 28 5 50q0 143 -46.5 230t-189.5 194q-3 2 -20.5 15t-25 19t-25.5 20t-27.5 22.5t-24 22t-23 23.5t-17 22t-12.5 22.5t-4 20.5q0 52 23 87t99 94q180 141 180 324 q0 113 -45 204.5t-128 139.5h160l135 142h-607q-127 0 -241.5 -49t-194.5 -132v65q0 106 75 181t181 75h1280q106 0 181 -75t75 -181v-128h-256zM575 937q-125 4 -225.5 108t-121.5 262q-21 161 50.5 269.5t194.5 104.5q121 -4 215.5 -118.5t116.5 -277.5q21 -160 -43 -256 t-187 -92zM572 570q-18 0 -54.5 -0.5t-55.5 -0.5q-183 0 -334 -83v485q125 -127 330 -127q30 0 59 3q-32 -61 -32 -118q0 -33 13 -63t28.5 -48.5t45.5 -47.5zM966 218q7 -29 7 -66q0 -16 -1 -24h-588q-85 0 -153 50.5t-92 130.5q57 85 166 137.5t237 51.5q84 -1 158 -26 q19 -13 62 -42.5t61 -42t48 -37t44.5 -41.5t29 -41.5t21.5 -49.5z" />
-<glyph unicode="&#xf207;" d="M530 1285h1q67 0 108.5 39.5t41.5 97.5q-2 60 -42 98.5t-106 38.5q-67 0 -108 -39t-41 -98q0 -58 40.5 -97.5t105.5 -39.5zM1614 384v455q0 175 -83.5 266t-220.5 91q-50 0 -90.5 -12t-68.5 -34t-45 -41t-33 -44v112h-264v-793h264v443q0 45 8 64q16 40 50.5 68t85.5 28 q133 0 133 -179v-424h264zM663 1177h-263v-793h263v793z" />
-<glyph unicode="&#xf208;" d="M384 1920h1280q106 0 181 -75t75 -181v-1280q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181v1280q0 106 75 181t181 75zM530 1285h1q67 0 108.5 39.5t41.5 97.5q-2 60 -42 98.5t-106 38.5q-67 0 -108 -39t-41 -98q0 -58 40.5 -97.5t105.5 -39.5zM1614 384v455 q0 175 -83.5 266t-220.5 91q-50 0 -90.5 -12t-68.5 -34t-45 -41t-33 -44v112h-264v-793h264v443q0 45 8 64q16 40 50.5 68t85.5 28q133 0 133 -179v-424h264zM663 1177h-263v-793h263v793z" />
-<glyph unicode="&#xf209;" d="M1073 2048q176 0 327.5 -60.5t253.5 -161t160 -231t58 -270.5q0 -246 -85 -443t-241 -309.5t-355 -112.5q-99 0 -186.5 46.5t-121.5 110.5q-73 -290 -89 -347q-34 -123 -127 -270l-149 54q-7 167 22 290l162 688q-40 81 -40 200q0 139 70.5 232.5t172.5 93.5 q83 0 127 -53.5t44 -135.5q0 -51 -18.5 -124t-49 -170t-44.5 -154q-23 -99 37.5 -171t161.5 -72q117 0 209.5 92t142 244.5t49.5 334.5q0 214 -139 349t-387 135q-139 0 -257.5 -49.5t-197 -133t-122.5 -193t-44 -229.5q0 -147 83 -247q18 -21 21.5 -34t-3.5 -37 q-16 -61 -25 -101q-7 -24 -24.5 -32t-39.5 1q-127 51 -192.5 181.5t-65.5 300.5q0 109 35.5 219t110 213t179 182t254 126.5t323.5 47.5z" />
-<glyph unicode="&#xf210;" d="M1024 2048q209 0 398.5 -81t326.5 -218t218 -326.5t81 -398.5t-81 -398.5t-218 -326.5t-326.5 -218t-398.5 -81q-147 0 -290 42q74 116 103 219l72 282q28 -53 99 -90.5t151 -37.5q162 0 288.5 91.5t195.5 251t69 359.5q0 114 -47 220t-130 187.5t-206.5 130.5t-265.5 49 q-141 0 -262 -38.5t-205.5 -103t-145.5 -147.5t-89.5 -172.5t-28.5 -178.5q0 -138 53 -243.5t156 -147.5q18 -8 32.5 -1t18.5 26q2 9 10 41t11 41q5 19 2.5 30t-16.5 28q-68 78 -68 200q0 97 35.5 186t99.5 156.5t160 108t209 40.5q201 0 313.5 -109.5t112.5 -283.5 q0 -148 -40 -271.5t-115 -198t-169 -74.5q-82 0 -131.5 58.5t-30.5 138.5q11 46 35.5 125t39.5 138t15 101q0 66 -35.5 109.5t-102.5 43.5q-82 0 -139.5 -76t-57.5 -189q0 -43 8 -83.5t16 -59.5l9 -19q-113 -475 -132 -558q-24 -97 -18 -235q-275 120 -444 374t-169 564 q0 208 81 398t218.5 327t327 218t397.5 81z" />
-<glyph unicode="&#xf211;" d="M992 1024q0 172 -122 294t-294 122t-294 -122t-122 -294t122 -294t294 -122t294 122t122 294zM1888 1024q0 172 -122 294t-294 122t-294 -122t-122 -294t122 -294t294 -122t294 122t122 294z" />
-<glyph unicode="&#xf212;" d="M1919 1437q16 347 -260 355q-373 12 -505 -417q69 29 133 29q136 0 120 -152q-8 -92 -120 -268q-113 -176 -169 -176q-73 0 -133 271q-20 79 -72 407q-49 303 -258 284q-89 -8 -265 -160q-127 -113 -262 -231l84 -108q121 84 141 84q92 0 173 -287l144 -525 q108 -287 265 -287q253 0 619 471q353 451 365 710z" />
-<glyph unicode="&#xf213;" d="M512 1664h1024q159 0 271.5 -112.5t112.5 -271.5v-512q0 -159 -112.5 -271.5t-271.5 -112.5h-1024q-159 0 -271.5 112.5t-112.5 271.5v512q0 159 112.5 271.5t271.5 112.5zM1408 1024l-640 384v-768z" />
-<glyph unicode="&#xf214;" d="M1091 1920h-255q-17 -139 -62 -228q-48 -93 -121 -154q-74 -64 -181 -99v-253h198v-629q0 -121 26 -187q26 -65 92 -122t161 -89q93 -31 218 -31q110 0 201 22q88 20 208 76v282q-134 -88 -271 -88q-76 0 -136 36q-44 25 -61 70q-17 46 -17 200v460h426v281h-426v453z " />
-<glyph unicode="&#xf215;" d="M384 1920h1280q106 0 181 -75t75 -181v-1280q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181v1280q0 106 75 181t181 75zM1792 1536v128q0 53 -37.5 90.5t-90.5 37.5h-128q-53 0 -90.5 -37.5t-37.5 -90.5v-128q0 -53 37.5 -90.5t90.5 -37.5h128q53 0 90.5 37.5 t37.5 90.5zM1024 1408q-159 0 -271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5zM1792 1152h-272q16 -66 16 -128q0 -212 -150 -362t-362 -150t-362 150t-150 362q0 62 16 128h-272v-768q0 -53 37.5 -90.5 t90.5 -37.5h1280q53 0 90.5 37.5t37.5 90.5v768z" />
-<glyph unicode="&#xf216;" d="M1061 1779l702 -467q29 -24 29 -55v-467q0 -32 -29 -54l-702 -468q-17 -11 -37 -11q-18 0 -37 11l-702 468q-29 22 -29 54v467q0 31 29 55l702 467q17 11 37 11t37 -11zM441 1257l231 -154l286 191v307zM1090 1294l286 -191l231 154l-517 344v-307zM1258 1024l-234 156 l-233 -156l233 -156zM388 914l165 110l-165 110v-220zM1660 1134l-165 -110l165 -110v220zM958 754l-286 191l-231 -155l517 -344v308zM1607 790l-231 155l-286 -191v-308z" />
-<glyph unicode="&#xf217;" d="M1024 1920q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1024 208q236 0 432 123.5t298 327.5q59 136 59 266q0 117 -43.5 221.5t-118.5 182.5t-175.5 131 t-215.5 73q116 -48 204 -145t127 -218q54 -151 17.5 -320t-150.5 -289q-111 -123 -276 -179t-332 -27q-168 27 -307 138t-210 270q-74 156 -67.5 338.5t93.5 335.5q88 155 238.5 260t328.5 135q2 0 35 6q-208 -16 -380.5 -128t-272.5 -293.5t-100 -392.5q0 -221 109.5 -409 t297.5 -297.5t409 -109.5zM1113 1770q-157 7 -306.5 -51.5t-258.5 -169.5q-109 -107 -159 -254.5t-30 -296.5q17 -148 100 -275.5t207 -200.5q120 -71 264 -78.5t267 49.5q-76 -21 -148 -21q-149 0 -275.5 74t-200.5 201t-74 276q0 214 146 373l3 3l14 14l1 1 q98 114 235 178t293 64q163 0 306 -70t241 -193q-36 57 -70 96q-104 126 -250 200.5t-305 80.5zM1415 1006q6 -142 -81 -257q-86 -115 -225 -157q-114 -35 -234 -7q83 -34 174 -34q195 0 333.5 138.5t138.5 333.5v2q-10 107 -63.5 202.5t-137.5 157.5q-102 77 -236 87 t-243 -49q-116 -62 -177 -167q-61 -107 -52 -231q8 -119 85 -217t186 -128q110 -33 221.5 8.5t170.5 134.5q61 91 50 204t-86 187q-70 77 -179.5 87t-188.5 -50q-85 -62 -105 -157q-21 -98 30 -182q50 -84 142 -108q92 -23 172 26q38 23 64 58.5t34 76.5q17 88 -34 159 q-52 72 -136 77q-83 6 -142 -54q-57 -55 -45 -138q6 -37 27.5 -68.5t52.5 -47.5q40 -21 87 -16q-46 1 -82 29t-49 71l-2 3q-14 30 -9.5 67t25.5 66q22 30 56.5 46.5t72.5 14.5t73.5 -23.5t54.5 -55.5q46 -76 8 -158q-18 -39 -53.5 -66.5t-78.5 -35.5q-43 -9 -88.5 3.5 t-78.5 43.5q-74 68 -68 169q2 65 45 118.5t109.5 77t132.5 5.5q68 -16 118.5 -70.5t65 -124.5t-9.5 -144q-37 -107 -150 -158.5t-224 -8.5q-114 43 -170 158q-55 117 -17 238q35 121 152 191t246 47q131 -19 223 -128t95 -246z" />
-<glyph unicode="&#xf218;" d="M1151 1835l151 85h-485q-264 0 -421 -129q-73 -64 -111.5 -147.5t-38.5 -167.5q0 -56 16 -109.5t49.5 -100.5t79.5 -82.5t109 -56.5t136 -21q19 0 75 5q0 -2 -4 -10.5t-4.5 -10.5t-3.5 -9.5t-4 -11l-3 -10.5t-2.5 -12.5t-1 -13t-0.5 -14.5q0 -26 5 -48t18.5 -45 t20.5 -32.5t26 -34.5q-61 -4 -98 -7.5t-107 -14.5t-131.5 -32.5t-112.5 -53.5q-50 -29 -86.5 -66.5t-56.5 -76.5t-29 -74.5t-9 -69.5q0 -66 32 -125.5t92.5 -107t159 -75.5t222.5 -28q117 0 218.5 25t174 68t124 99.5t76.5 120.5t25 131q0 40 -6.5 74.5t-22.5 65t-30.5 53 t-41.5 50t-45 43t-51 44.5l-85 66q-19 15 -28.5 24.5t-21 31t-11.5 45.5t12 47.5t21.5 34.5t32.5 33q37 29 59 48t52 52t46 64t28 75.5t12 94.5q0 43 -8 82t-23.5 70.5t-30.5 55.5t-38 47.5t-35 34.5t-32 27h146zM906 1238q-18 -19 -44 -33.5t-56.5 -23.5t-58.5 -9 q-58 0 -108 28.5t-83.5 73.5t-57.5 101.5t-34.5 111.5t-10.5 104q0 110 51 174q28 35 73.5 56t91.5 21q56 0 105.5 -28.5t83.5 -74.5t59 -103.5t36.5 -115.5t11.5 -110q0 -113 -59 -172zM2048 1152v-128h-256v-256h-128v256h-256v128h256v256h128v-256h256zM838 791 q51 -36 82 -59t63.5 -50.5t50.5 -48.5t33.5 -46t21.5 -50.5t6 -55.5q0 -113 -91 -183.5t-255 -70.5q-187 0 -300.5 80t-113.5 207q0 47 17 87.5t38.5 64.5t54 45t50.5 28.5t42 16.5q35 11 76.5 19.5t77.5 12t58.5 5t34.5 1.5q35 0 54 -3z" />
-<glyph unicode="&#xf219;" d="M1438 1833q12 -5 32 -14.5t74.5 -45.5t101 -78.5t97 -114.5t78 -153t27.5 -194.5t-40 -238.5q-43 -89 -97 -157.5t-109.5 -110t-115.5 -69t-115.5 -37t-107.5 -12t-95.5 4t-76 13t-49.5 13.5l-18 6v-277q-1 -3 -2 -9t-6.5 -23t-14 -34t-24.5 -39.5t-36 -42t-51.5 -39.5 t-68.5 -33q-52 -19 -107 -20t-97 11.5t-76.5 27.5t-53.5 27l-18 13v280q33 -34 67 -55.5t67.5 -28.5t61.5 11t44 63v946h312v-538l65 -13q206 -32 329 60q105 78 128 243q2 76 -15.5 141t-49 110.5t-72.5 82.5t-86.5 59.5t-91.5 39t-87.5 24t-73.5 11.5t-52 5h-19l-66 -2 q-217 -16 -359 -141q-57 -50 -97 -115q-27 -45 -39.5 -93t-11 -88t10 -78.5t22 -67.5t25.5 -51t21 -33l9 -12l-225 -201q-7 9 -18.5 25t-40.5 68.5t-49.5 107.5t-34.5 137.5t-8.5 163t41 179.5t102.5 191q70 78 153.5 135t167 86.5t172 45.5t169 15t156.5 -8t137.5 -21 t107.5 -26.5t72 -22.5z" />
-<glyph unicode="&#xf220;" d="M1857 834q51 -106 50 -217q0 -133 -65.5 -245.5t-178 -178t-244.5 -65.5q-123 0 -231 58q-79 -14 -155 -14q-171 0 -327 67t-269 180t-179.5 269t-66.5 327q0 86 17 169q-67 116 -67 247q0 133 65.5 245.5t178 178t245.5 65.5q141 0 260 -75q69 12 144 12 q171 0 327 -66.5t269 -179.5t179.5 -269t66.5 -327q0 -96 -19 -181zM1466 612q59 85 59 188q0 88 -34 149q-35 62 -96 100q-58 39 -143 66q-77 25 -187 49q-89 20 -116 28q-35 9 -68 27q-33 15 -50 38q-17 20 -17 49q0 46 52 80q54 36 146 36q97 0 141 -32q43 -32 75 -94 q30 -48 51 -67q25 -22 72 -22q53 0 87 36q34 35 34 81t-25 96q-24 47 -82 92q-57 45 -139 70q-86 26 -197 26q-139 0 -247 -40q-107 -39 -164 -113q-57 -73 -57 -170q0 -102 55 -170q52 -65 144 -105q95 -40 221 -66q93 -20 154 -38q57 -19 90 -50q33 -30 33 -80 q0 -64 -62 -105q-65 -44 -170 -44q-78 0 -123 22q-47 22 -70 54q-27 34 -49 86q-21 49 -49 72q-32 26 -75 26q-52 0 -87 -33q-36 -33 -36 -79q0 -75 54 -153q52 -76 139 -123q119 -63 302 -63q150 0 263 46q111 46 171 130z" />
-<glyph unicode="&#xf221;" d="M1664 1024q0 -41 -24 -74t-62 -46q22 -33 22 -72q0 -41 -24 -74t-62 -46q22 -33 22 -72q0 -53 -37.5 -90.5t-90.5 -37.5h-64q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-448q-65 0 -123 20t-93.5 44t-80.5 44t-87 20h-128v640h192q49 0 104 47t103.5 127.5 t80.5 204.5t32 261q0 5 0.5 13.5t4 31t9.5 39t19 30.5t31 14q33 0 77.5 -42t79.5 -119t35 -159q0 -85 -8 -165t-16 -117l-8 -38h416q53 0 90.5 -37.5t37.5 -90.5z" />
-<glyph unicode="&#xf222;" d="M1843 1168q0 -55 -28 -100.5t-74 -72.5q14 -50 14 -99q0 -135 -98.5 -250t-267.5 -181.5t-368 -66.5t-368.5 66.5t-268 181t-98.5 249.5q0 50 16 104q-44 27 -70.5 71.5t-26.5 97.5q0 83 59 142t142 59q100 0 160 -83q183 97 412 106l92 457q5 22 23 33q18 12 39 7 l313 -72q24 41 65.5 65.5t89.5 24.5q74 0 126.5 -52.5t52.5 -126.5t-52.5 -126.5t-126.5 -52.5q-71 0 -122 48.5t-56 119.5l-262 60l-77 -386q222 -12 397 -108q60 86 163 86q83 0 141.5 -59t58.5 -142zM1600 1805q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5 t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM1021 501q171 0 316.5 53t230.5 143.5t85 197.5q0 108 -85 199t-230.5 144t-316.5 53q-172 0 -317.5 -53t-230.5 -144t-85 -198t85 -198t230.5 -144t317.5 -53zM307 1168q0 -47 40 -75q47 75 132 137q-29 36 -73 36 q-41 0 -70 -28.5t-29 -69.5zM1698 1089q43 31 43 79q0 40 -28.5 69t-69.5 29q-45 0 -76 -39q83 -61 131 -138zM895 982q0 -46 -33 -79t-79 -33t-78.5 33t-32.5 79t32.5 79t78.5 33q47 0 79.5 -33t32.5 -79zM1265 1094q47 0 79.5 -33t32.5 -79t-33 -79t-79 -33t-79 33t-33 79 t32.5 79t79.5 33zM1224 776q15 15 36 15t36 -15t15 -36.5t-15 -36.5q-86 -86 -271 -86q-187 0 -273 86q-15 15 -15 36.5t15 36.5t36 15t36 -15q56 -56 199 -56q145 0 201 56z" />
-<glyph unicode="&#xf223;" d="M1105 1233v92q0 34 -23.5 57t-57.5 23t-57.5 -23t-23.5 -57l-1 -481q-1 -138 -101.5 -235t-241.5 -97q-142 0 -242.5 99t-100.5 238v209h263v-206q0 -33 23.5 -56.5t57.5 -23.5t57.5 23.5t23.5 56.5v487q5 136 104.5 230.5t238.5 94.5t238.5 -95.5t104.5 -231.5v-107 l-157 -45zM1792 1058v-209q0 -139 -100.5 -238t-242.5 -99t-242 97.5t-102 236.5v210l105 -48l157 46v-212q0 -33 23.5 -56.5t57.5 -23.5t57.5 23.5t23.5 56.5v216h263z" />
-<glyph unicode="&#xf224;" d="M512 1792h1024q106 0 181 -75t75 -181v-384q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5v384q0 106 75 181t181 75zM1024 1077l-293 294q-37 37 -91 37t-90 -37q-38 -37 -38 -90t38 -91l362 -362l4 4q37 -64 108 -64t108 64l5 -4 l362 362q37 38 37 91t-37 90t-91 37q-53 0 -90 -37z" />
-<glyph unicode="&#xf300;" d="M512 1536h1024q106 0 181 -75t75 -181v-384q0 -106 -75 -181t-181 -75h-448l-448 -448v448h-128q-106 0 -181 75t-75 181v384q0 106 75 181t181 75z" />
-<glyph unicode="&#xf301;" d="M1664 1152l-256 -640h-1024v1024h384l64 -128h448v-128h-640l-128 -256h128l64 128h960z" />
-<glyph unicode="&#xf302;" d="M1536 1536v-512l-768 -768l-512 512l768 768h512zM1280 1152q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" />
-<glyph unicode="&#xf303;" d="M960 1792q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5t-55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5zM960 512q117 0 223.5 45.5t184 123t123 184t45.5 223.5t-45.5 223.5 t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5zM1024 1115l298 -298l-90 -91l-336 336v474h128v-421z" />
-<glyph unicode="&#xf304;" d="M1024 1152q-106 0 -181 75t-75 181t75 181t181 75t181 -75t75 -181t-75 -181t-181 -75zM896 1024h256q159 0 271.5 -112.5t112.5 -271.5v-256h-1024v256q0 159 112.5 271.5t271.5 112.5z" />
-<glyph unicode="&#xf305;" d="M1664 1664v-1280h-1408v1280h256v128h128v-128h640v128h128v-128h256zM1536 640v640q0 53 -37.5 90.5t-90.5 37.5h-896q-53 0 -90.5 -37.5t-37.5 -90.5v-640q0 -53 37.5 -90.5t90.5 -37.5h896q53 0 90.5 37.5t37.5 90.5zM832 1280h128q26 0 45 -19t19 -45v-512 q0 -26 -19 -45t-45 -19t-45 19t-19 45v448h-64q-26 0 -45 19t-19 45t19 45t45 19z" />
-<glyph unicode="&#xf306;" d="M1664 1664v-1280h-1408v1280h256v128h128v-128h640v128h128v-128h256zM1536 640v640q0 53 -37.5 90.5t-90.5 37.5h-896q-53 0 -90.5 -37.5t-37.5 -90.5v-640q0 -53 37.5 -90.5t90.5 -37.5h896q53 0 90.5 37.5t37.5 90.5zM1088 1280h2h1h3q22 -2 38.5 -18t19.5 -39v-2v-2 v-1v-2q0 -5 -2 -15l-128 -512q-6 -26 -28.5 -40t-48.5 -7q-26 6 -40 28.5t-7 48.5l108 433h-174q-26 0 -45 19t-19 45t19 45t45 19h256z" />
-<glyph unicode="&#xf307;" d="M1664 1664v-1280h-1408v1280h256v128h128v-128h640v128h128v-128h256zM1536 640v640q0 53 -37.5 90.5t-90.5 37.5h-896q-53 0 -90.5 -37.5t-37.5 -90.5v-640q0 -53 37.5 -90.5t90.5 -37.5h896q53 0 90.5 37.5t37.5 90.5zM768 1280h128v-128h-128v128zM1024 1280h128v-128 h-128v128zM1280 1280h128v-128h-128v128zM512 1024h128v-128h-128v128zM768 1024h128v-128h-128v128zM1024 1024h128v-128h-128v128zM1280 1024h128v-128h-128v128zM512 768h128v-128h-128v128zM768 768h128v-128h-128v128zM1024 768h128v-128h-128v128z" />
-<glyph unicode="&#xf308;" d="M1914 1371l-181 -181q-37 38 -90 38t-91 -38l-181 -181q-37 -37 -37 -90t37 -91l-181 -181l-227 226l-395 -395q-68 -68 -113.5 -93t-112.5 -43q12 45 22 71t38 66.5t76 88.5l395 395l-227 227l181 181q37 -37 90.5 -37t91.5 37l181 181q38 38 38 91t-38 90l181 181z" />
-<glyph unicode="&#xf400;" d="M1792 384l-128 -128l-495 495q-153 -111 -337 -111q-117 0 -223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5q0 -184 -111 -337zM832 768q186 0 317 131.5t131 316.5t-131 316.5t-317 131.5 q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf401;" d="M1792 384l-128 -128l-495 495q-153 -111 -337 -111q-117 0 -223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5q0 -184 -111 -337zM832 768q186 0 317 131.5t131 316.5t-131 316.5t-317 131.5 q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM512 1280h640v-128h-640v128z" />
-<glyph unicode="&#xf402;" d="M1664 256l-495 495q-153 -111 -337 -111q-117 0 -223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5q0 -184 -111 -337l495 -495zM384 1216q0 -185 131.5 -316.5t316.5 -131.5 q186 0 317 131.5t131 316.5t-131 316.5t-317 131.5q-185 0 -316.5 -131.5t-131.5 -316.5zM1152 1152h-256v-256h-128v256h-256v128h256v256h128v-256h256v-128z" />
-<glyph unicode="&#xf403;" d="M0 1024l506 506q101 103 234.5 160.5t283.5 57.5t283.5 -57.5t233.5 -159.5l507 -507l-506 -507q-101 -103 -234.5 -160t-283.5 -57t-283.5 57.5t-233.5 160.5zM272 1024l370 -371q77 -78 175.5 -119.5t206.5 -41.5t206 41.5t174 118.5l373 372l-371 371 q-158 161 -382 161q-108 0 -206.5 -41t-173.5 -119zM1024 1408q159 0 271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5zM1152 1024q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5 t37.5 -90.5t90.5 -37.5z" />
-<glyph unicode="&#xf404;" d="M1382 1653l-143 -143q-103 46 -215 46q-108 0 -206.5 -41t-173.5 -119l-372 -372l240 -240l-136 -136l-376 376l506 506q101 103 234.5 160.5t283.5 57.5q193 0 358 -95zM1709 1619l-90 90l-1280 -1280l90 -90zM1122 1394l-468 -468q-14 54 -14 98q0 159 112.5 271.5 t271.5 112.5q44 0 98 -14zM2048 1024l-506 -507q-101 -103 -234.5 -160t-283.5 -57q-193 0 -358 95l143 143q103 -46 215 -46q108 0 206 41.5t174 118.5l373 372l-241 241l136 135zM926 654l468 468q14 -54 14 -98q0 -159 -112.5 -271.5t-271.5 -112.5q-44 0 -98 14z" />
-<glyph unicode="&#xf405;" d="M1216 1088l320 -320l-128 -128l-320 320l-320 -320l-128 128l320 320l-320 320l128 128l320 -320l320 320l128 -128z" />
-<glyph unicode="&#xf406;" d="M1216 1088l832 -832l-128 -128l-832 832l-832 -832l-128 128l832 832l-832 832l128 128l832 -832l832 832l128 -128z" />
-<glyph unicode="&#xf407;" d="M1536 1408v-128h-1152v128l256 128q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5zM832 1408h256q26 0 45 19t19 45t-19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19zM1408 1216v-704q0 -53 -37.5 -90.5t-90.5 -37.5h-640q-53 0 -90.5 37.5 t-37.5 90.5v704h128v-704h128v704h128v-704h128v704h128v-704h128v704h128z" />
-<glyph unicode="&#xf408;" d="M844 1150l-588 1l476 -330l-183 -535l475 332l475 -332l-183 535l476 330l-587 -1l-181 535z" />
-<glyph unicode="&#xf409;" d="M1664 1152l-128 -128v-512h-1024v512l-128 128l640 512zM1152 1024h-256v-448h256v448z" />
-<glyph unicode="&#xf410;" d="M1792 1536v-128l-768 -384l-768 384v128h1536zM1024 832l768 384v-704h-1536v704z" />
-<glyph unicode="&#xf411;" d="M1728 1280l-896 -896h-448v448l896 896zM685 941l96 -96l595 595l-96 96zM1440 1376l-595 -595l96 -96l595 595zM896 640l-256 256l-128 -128l256 -256z" />
-<glyph unicode="&#xf412;" d="M1280 192v448h-1024v704l384 384v-704h640v448l640 -640z" />
-<glyph unicode="&#xf413;" d="M256 1536v256q209 0 408 -55t367.5 -154t310.5 -241t241 -310.5t154 -367.5t55 -408h-256q0 260 -101.5 497t-273 408.5t-408.5 273t-497 101.5zM256 1024v256q209 0 398.5 -81t326.5 -218t218 -326.5t81 -398.5h-256q0 209 -103 385.5t-279.5 279.5t-385.5 103zM640 448 q0 80 -56 136t-136 56t-136 -56t-56 -136t56 -136t136 -56t136 56t56 136z" />
-<glyph unicode="&#xf414;" d="M1237 1711l759 -1237q88 -142 31 -244t-224 -102h-1557q-168 0 -225 102t31 244l760 1237q57 93 134.5 126.5t155 0t135.5 -126.5zM1152 896v384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-384q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 384 q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" />
-<glyph unicode="&#xf415;" d="M128 1024h400q45 0 79.5 27.5t44.5 69.5q33 125 136.5 206t235.5 81q154 0 270 -114q38 -38 90.5 -38t90.5 38q37 38 37 91t-37 90q-88 89 -204.5 139t-246.5 50q-194 0 -353 -106t-234 -278h-309v-256zM1280 1024q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181 t181 -75t181 75t75 181zM1920 1024h-400q-45 0 -79.5 -27.5t-44.5 -69.5q-33 -125 -136.5 -206t-235.5 -81q-156 0 -269 115q-38 37 -91 37t-91 -38q-37 -38 -37 -91t37 -90q89 -89 205 -139t246 -50q194 0 353 106t234 278h309v256z" />
-<glyph unicode="&#xf416;" d="M1088 1792q133 0 226.5 -93.5t93.5 -226.5v-640q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5v320h128v-320q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5t93.5 226.5v640q0 80 -56 136t-136 56t-136 -56t-56 -136v-512q0 -26 19 -45t45 -19t45 19 t19 45v452h128v-452q0 -80 -56 -136t-136 -56t-136 56t-56 136v512q0 133 93.5 226.5t226.5 93.5z" />
-<glyph unicode="&#xf417;" d="M1536 1216q0 -117 -44.5 -222.5t-124.5 -185.5l-407 -406l-407 406q-80 80 -124.5 185.5t-44.5 222.5t45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM960 896q133 0 226.5 93.5t93.5 226.5t-93.5 226.5t-226.5 93.5t-226.5 -93.5 t-93.5 -226.5t93.5 -226.5t226.5 -93.5z" />
-<glyph unicode="&#xf418;" d="M1536 1408l-512 -768h-128l-288 416l128 128l224 -192l448 512z" />
-<glyph unicode="&#xf419;" d="M2048 1792v-256h-2048v256h2048zM0 1152h2048v-256h-2048v256zM0 512h2048v-256h-2048v256z" />
-<glyph unicode="&#xf420;" d="M256 1792h640v-640l-232 232q-72 -71 -112 -163.5t-40 -196.5q0 -176 108.5 -313.5t275.5 -180.5v-262q-180 30 -326 137t-230 269.5t-84 349.5q0 155 60 294.5t167 246.5zM1792 1024q0 -155 -60 -294.5t-167 -246.5l227 -227h-640v640l19 -19l213 -213q71 71 111.5 164 t40.5 196q0 176 -108.5 313.5t-275.5 180.5v263q180 -31 326 -137.5t230 -269.5t84 -350z" />
-<glyph unicode="&#xf421;" d="M1536 1152v-256h-1152v256h1152z" />
-<glyph unicode="&#xf422;" d="M1536 1536v-1024h-1152v1024h1152zM1408 1280h-896v-640h896v640z" />
-<glyph unicode="&#xf423;" d="M301 960h403v-384h-128v256h-493l373 671l112 -62zM2048 960v-384h-128v256h-493l373 671l112 -62l-267 -481h403zM1088 1344q87 0 160.5 -43t116.5 -116.5t43 -160.5t-43 -160.5t-116.5 -116.5t-160.5 -43t-160.5 43t-116.5 116.5t-43 160.5t43 160.5t116.5 116.5 t160.5 43zM1088 832q79 0 135.5 56.5t56.5 135.5t-56.5 135.5t-135.5 56.5t-135.5 -56.5t-56.5 -135.5t56.5 -135.5t135.5 -56.5z" />
-<glyph unicode="&#xf424;" d="M1792 1408v-768l-384 -384h-768l-384 384v768l384 384h768zM1152 1024v384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-384q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" />
-<glyph unicode="&#xf425;" d="M1536 1664v-1280h-1152v1280h256q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5h256zM1088 1664h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45t-19 45t-45 19zM1408 1536h-128v-128h-640v128h-128v-1024h896v1024zM704 1280q26 0 45 -19 t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM896 1280h384v-128h-384v128zM704 1024q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM896 1024h384v-128h-384v128zM704 768q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19z M896 768h384v-128h-384v128z" />
-<glyph unicode="&#xf426;" d="M1641 1024h23q106 0 181 -75t75 -181t-75 -181t-181 -75h-1280q-106 0 -181 75t-75 181t75 181t181 75h7q-7 29 -7 64q0 133 93.5 226.5t226.5 93.5q134 0 228 -96q47 101 140.5 162.5t207.5 61.5q159 0 271.5 -112.5t112.5 -271.5q0 -62 -23 -128z" />
-<glyph unicode="&#xf427;" d="M1432 1722l286 -286q74 -75 74 -180.5t-74 -180.5l-233 -233q-74 -73 -178.5 -74t-179.5 71l-455 -455h-288v288l455 455l-1 1q-74 74 -74 180t74 181l233 233q75 74 181 74t180 -74zM1504 1264l-256 256l-160 -160l256 -256z" />
-<glyph unicode="&#xf428;" d="M1024 1280q106 0 181 -75t75 -181t-75 -181t-181 -75t-181 75t-75 181t75 181t181 75z" />
-<glyph unicode="&#xf429;" d="M1517 960l-493 -493l-87 86l343 343h-896v128h896l-343 343l87 86z" />
+<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
+<glyph unicode="&#xf100;" d="M512 512v128h768v-128h-768zM512 768v128h256v-128h-256zM512 1024v128h640v-128h-640zM512 1280v128h1024v-128h-1024zM896 768v128h640v-128h-640zM1280 1024v128h256v-128h-256z" />
+<glyph unicode="&#xf101;" d="M256 1024q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5zM768 1024q0 -106 75 -181t181 -75t181 75t75 181t-75 181t-181 75t-181 -75t-75 -181z" />
+<glyph unicode="&#xf102;" d="M128 384v896l512 128l128 256h512l128 -256l512 -128v-896h-1792zM256 1440v160h256v-96zM576 960q0 -185 131.5 -316.5t316.5 -131.5q186 0 317 131.5t131 316.5q0 186 -131 317t-317 131q-185 0 -316.5 -131t-131.5 -317zM704 960q0 133 93.5 226.5t226.5 93.5 t226.5 -93.5t93.5 -226.5q0 -132 -93.5 -226t-226.5 -94t-226.5 94t-93.5 226z" />
+<glyph unicode="&#xf103;" d="M128 512v384h384v-384h-384zM128 1024v384h896v-384h-896zM640 512v384h384v-384h-384zM1152 512v896h896v-896h-896z" />
+<glyph unicode="&#xf104;" d="M512 384v1280l1152 -640z" />
+<glyph unicode="&#xf105;" d="M640 1408q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5q0 -124 -71.5 -222t-184.5 -138v-536l-256 -128v664q-113 40 -184.5 138t-71.5 222z" />
+<glyph unicode="&#xf106;" d="M256 896v640h640v-640q0 -212 -150 -362t-362 -150v256q106 0 181 75t75 181h-384zM1152 896v640h640v-640q0 -212 -150 -362t-362 -150v256q106 0 181 75t75 181h-384z" />
+<glyph unicode="&#xf107;" d="M512 704v384q0 97 53 176.5t139 116.5v-151q-64 -57 -64 -142v-384q0 -80 56 -136t136 -56t136 56t56 136v384q0 85 -64 142v151q86 -37 139 -116.5t53 -176.5v-384q0 -133 -93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5zM768 1088v384q0 133 93.5 226.5 t226.5 93.5t226.5 -93.5t93.5 -226.5v-384q0 -97 -53 -176.5t-139 -116.5v151q64 57 64 142v384q0 80 -56 136t-136 56t-136 -56t-56 -136v-384q0 -85 64 -142v-151q-86 37 -139 116.5t-53 176.5z" />
+<glyph unicode="&#xf108;" d="M0 1152v384q0 96 80 176t176 80h1024q96 0 176 -80t80 -176v-384q0 -96 -80 -176t-176 -80h-448l-448 -448v448h-128q-96 0 -176 80t-80 176zM768 640l128 128h384q168 0 276 108t108 276v384q96 0 176 -80t80 -176v-384q0 -96 -80 -176t-176 -80h-128v-448l-448 448 h-320z" />
+<glyph unicode="&#xf109;" d="M256 768v512h384l384 384v-1280l-384 384h-384zM1205 843q75 75 75 181t-75 181l91 91q26 -27 46.5 -57.5t35 -65t22.5 -72.5t8 -77q0 -78 -29.5 -148t-82.5 -124zM1386 662q71 71 110.5 164.5t39.5 197.5t-39.5 197.5t-110.5 164.5l91 91q88 -89 137.5 -206t49.5 -247 q0 -87 -23 -170t-64.5 -153.5t-99.5 -129.5z" />
+<glyph unicode="&#xf200;" d="M0 1024q0 208 81 398t218.5 327t327 218t397.5 81q209 0 398.5 -81t326.5 -218t218 -326.5t81 -398.5q0 -335 -195.5 -601.5t-504.5 -369.5q-36 -7 -53 8.5t-17 40.5q0 4 0.5 102t0.5 179q0 130 -69 189q77 9 137.5 24.5t124.5 51.5t107 89t70.5 140t27.5 201 q0 161 -105 274q6 15 11 35t9 56t-3.5 83.5t-26.5 96.5q-4 1 -10.5 2t-32 -1t-55.5 -11t-79.5 -33.5t-104.5 -61.5q-118 33 -256 35q-138 -2 -256 -35q-55 37 -104 61.5t-80 33t-54.5 11.5t-33.5 1l-10 -2q-58 -146 -10 -271q-105 -115 -105 -274q0 -114 27.5 -201 t70.5 -140t107 -89t124.5 -52t136.5 -24q-53 -47 -65 -137q-28 -13 -59.5 -20t-75.5 -6.5t-87.5 28.5t-75.5 83q-2 4 -6.5 10.5t-19 24t-31.5 31t-44 25.5t-56 14h-10t-18.5 -3.5t-17 -9t4 -18.5t34.5 -31q3 -1 7.5 -4t19 -14.5t27.5 -27t30 -43.5t30 -61q1 -3 2.5 -7t8 -17 t15.5 -25.5t24.5 -28t33.5 -28t45 -23.5t57.5 -16t71.5 -3.5t87 11.5q0 -50 0.5 -110t0.5 -64q0 -24 -17 -40t-53 -10q-309 103 -504.5 370t-195.5 602z" />
+<glyph unicode="&#xf201;" d="M0 1024q0 206 82 395.5t219.5 327t327 219.5t395.5 82t395.5 -82t327 -219.5t219.5 -327t82 -395.5t-82 -395.5t-219.5 -327t-327 -219.5t-395.5 -82t-395.5 82t-327 219.5t-219.5 327t-82 395.5zM128 1024q0 -167 58 -319.5t166 -272.5q125 205 339 360t445 232 q-16 48 -80 176q-282 -86 -481.5 -111t-446.5 -1v-64zM160 1232q194 -22 444 14t388 82q-141 282 -320 528q-194 -85 -329.5 -247.5t-182.5 -376.5zM480 320q216 -192 544 -192q181 0 368 80q-33 300 -208 688q-222 -74 -410 -225.5t-294 -350.5zM832 1904 q102 -166 304 -512q6 2 86 31t118.5 45t108 47t122 64t93.5 69q-126 126 -290.5 199t-349.5 73q-32 0 -96 -8t-96 -8zM1200 1248q22 -29 36.5 -54.5t34 -67.5t25.5 -54q170 33 336 30t288 -30q-26 285 -160 464q-71 -57 -162 -104.5t-214.5 -100.5t-183.5 -83zM1344 928 q14 -27 43 -103t74.5 -231t74.5 -306q156 108 258 278t126 362q-276 46 -576 0z" />
+<glyph unicode="&#xf202;" d="M128 465q48 -5 88 -5q256 0 456 157q-119 2 -213 73.5t-130 182.5q39 -7 69 -7q47 0 97 13q-127 26 -211 127t-84 233v5q80 -43 167 -46q-76 50 -120 131t-44 175q0 101 50 185q138 -170 335 -271.5t423 -112.5q-10 39 -10 84q0 152 108 259.5t260 107.5q160 0 268 -116 q128 26 233 89q-42 -132 -161 -203q109 13 211 58q-73 -111 -183 -191q0 -7 0.5 -23t0.5 -24q0 -122 -31 -246t-89.5 -241t-149.5 -218.5t-204 -177.5t-260.5 -119.5t-311.5 -43.5q-305 0 -564 165z" />
+<glyph unicode="&#xf203;" d="M128 384v1280q0 106 75 181t181 75h1280q106 0 181 -75t75 -181v-1280q0 -106 -75 -181t-181 -75h-282v711h270l12 260h-282v192v12q0 60 21.5 87.5t87.5 27.5l166 -1l6 242q-78 10 -183 10q-94 0 -167 -27.5t-117 -74.5t-66 -105.5t-22 -126.5v-236h-254v-260h254v-711 h-724q-106 0 -181 75t-75 181z" />
+<glyph unicode="&#xf204;" d="M640 969v303h222v258q0 78 26 147t77 124t136.5 87t194.5 32q55 0 108 -3t79 -6l26 -3l-7 -282h-193q-76 0 -101.5 -32t-25.5 -101v-14v-207h329l-14 -303h-315v-841h-320v841h-222z" />
+<glyph unicode="&#xf205;" d="M128 1024q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348zM218 1024q0 -236 125 -430.5t330 -294.5l-385 1053q-70 -156 -70 -328zM351 1466h52q37 0 91 2.5t89 4.5 l34 3q21 1 30.5 -14.5t2.5 -32.5t-27 -20q-44 -5 -93 -7l294 -873l176 529l-125 344l-85 7q-20 2 -27.5 19t2.5 33t30 15q133 -10 212 -10q38 0 91.5 2.5t88.5 4.5l35 3q16 1 25.5 -8.5t10 -22t-7 -23.5t-23.5 -13q-43 -5 -92 -7l291 -866l81 268q24 79 32.5 107.5 t18.5 74.5t10 79q0 46 -11.5 90.5t-23.5 71t-32 60.5q-2 4 -11.5 19t-12 20t-10.5 18.5t-11 19t-9 17.5t-8.5 19t-6.5 18t-5.5 19.5t-3 18.5t-1.5 20q0 57 39 100t97 43l10 -1q-110 101 -249.5 156.5t-294.5 55.5q-207 0 -385 -98t-288 -266zM796 251q112 -33 228 -33 q138 0 268 46q-4 6 -6 11l-248 679zM1429 328q183 106 292 291.5t109 404.5q0 207 -99 386q5 -40 5 -82q0 -135 -61 -289z" />
+<glyph unicode="&#xf206;" d="M128 486v485q125 -127 330 -127q30 0 59 3q-32 -61 -32 -118q0 -33 13 -63t28.5 -48.5t45.5 -47.5q-18 0 -54.5 -0.5t-55.5 -0.5q-183 0 -334 -83zM128 1599v65q0 106 75 181t181 75h1280q106 0 181 -75t75 -181v-128h-256v256h-128v-256h-256v-128h256v-256h128v256h256 v-1024q0 -106 -75 -181t-181 -75h-507q5 28 5 50q0 143 -46.5 230t-189.5 194q-3 2 -20.5 15t-25 19t-25.5 20t-27.5 22.5t-24 22t-23 23.5t-17 22t-12.5 22.5t-4 20.5q0 52 23 87t99 94q180 141 180 324q0 113 -45 204.5t-128 139.5h160l135 142h-607q-127 0 -241.5 -49 t-194.5 -132zM139 309q57 85 166 137.5t237 51.5q84 -1 158 -26q19 -13 62 -42.5t61 -42t48 -37t44.5 -41.5t29 -41.5t21.5 -49.5q7 -29 7 -66q0 -16 -1 -24h-588q-85 0 -153 50.5t-92 130.5zM228 1307q-21 161 50.5 269.5t194.5 104.5q121 -4 215.5 -118.5t116.5 -277.5 q21 -160 -43 -256t-187 -92q-125 4 -225.5 108t-121.5 262z" />
+<glyph unicode="&#xf207;" d="M256 1553q0 -73 50.5 -122t131.5 -49h2q84 0 135 49t51 122q-1 75 -51 123t-133 48t-134.5 -48.5t-51.5 -122.5zM275 256h330v991h-330v-991zM787 256h329v553q0 54 11 81q20 50 63 85t106 35q58 0 96 -29t54.5 -77.5t16.5 -117.5v-530h329v568q0 112 -28.5 198 t-80 139.5t-120 81t-150.5 27.5q-36 0 -69 -5.5t-58.5 -15t-49 -23t-40 -27t-32.5 -31t-26.5 -31.5t-21.5 -31v141h-329q1 -26 1.5 -138t0.5 -252.5t-0.5 -277.5t-1.5 -230v-93z" />
+<glyph unicode="&#xf208;" d="M128 384v1280q0 106 75 181t181 75h1280q106 0 181 -75t75 -181v-1280q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM384 1422q0 -58 40.5 -97.5t105.5 -39.5h1q67 0 108.5 39.5t41.5 97.5q-2 60 -42 98.5t-106 38.5q-67 0 -108 -39t-41 -98zM400 384h263 v793h-263v-793zM809 384h264v443q0 45 8 64q16 40 50.5 68t85.5 28q133 0 133 -179v-424h264v455q0 175 -83.5 266t-220.5 91q-50 0 -90.5 -12t-68.5 -34t-45 -41t-33 -44v112h-264v-793z" />
+<glyph unicode="&#xf209;" d="M171 1260q0 109 35.5 219t110 213t179 182t254 126.5t323.5 47.5q176 0 327.5 -60.5t253.5 -161t160 -231t58 -270.5q0 -246 -85 -443t-241 -309.5t-355 -112.5q-99 0 -186.5 46.5t-121.5 110.5q-73 -290 -89 -347q-34 -123 -127 -270l-149 54q-7 167 22 290l162 688 q-40 81 -40 200q0 139 70.5 232.5t172.5 93.5q83 0 127 -53.5t44 -135.5q0 -51 -18.5 -124t-49 -170t-44.5 -154q-23 -99 37.5 -171t161.5 -72q117 0 209.5 92t142 244.5t49.5 334.5q0 214 -139 349t-387 135q-139 0 -257.5 -49.5t-197 -133t-122.5 -193t-44 -229.5 q0 -147 83 -247q18 -21 21.5 -34t-3.5 -37q-16 -61 -25 -101q-7 -24 -24.5 -32t-39.5 1q-127 51 -192.5 181.5t-65.5 300.5z" />
+<glyph unicode="&#xf210;" d="M0 1024q0 208 81 398t218.5 327t327 218t397.5 81q209 0 398.5 -81t326.5 -218t218 -326.5t81 -398.5t-81 -398.5t-218 -326.5t-326.5 -218t-398.5 -81q-147 0 -290 42q74 116 103 219l72 282q28 -53 99 -90.5t151 -37.5q162 0 288.5 91.5t195.5 251t69 359.5 q0 114 -47 220t-130 187.5t-206.5 130.5t-265.5 49q-141 0 -262 -38.5t-205.5 -103t-145.5 -147.5t-89.5 -172.5t-28.5 -178.5q0 -138 53 -243.5t156 -147.5q18 -8 32.5 -1t18.5 26q2 9 10 41t11 41q5 19 2.5 30t-16.5 28q-68 78 -68 200q0 97 35.5 186t99.5 156.5t160 108 t209 40.5q201 0 313.5 -109.5t112.5 -283.5q0 -148 -40 -271.5t-115 -198t-169 -74.5q-82 0 -131.5 58.5t-30.5 138.5q11 46 35.5 125t39.5 138t15 101q0 66 -35.5 109.5t-102.5 43.5q-82 0 -139.5 -76t-57.5 -189q0 -43 8 -83.5t16 -59.5l9 -19q-113 -475 -132 -558 q-24 -97 -18 -235q-275 120 -444 374t-169 564z" />
+<glyph unicode="&#xf211;" d="M160 1024q0 -172 122 -294t294 -122t294 122t122 294t-122 294t-294 122t-294 -122t-122 -294zM1056 1024q0 -172 122 -294t294 -122t294 122t122 294t-122 294t-294 122t-294 -122t-122 -294z" />
+<glyph unicode="&#xf212;" d="M128 1379l84 -108q121 84 141 84q92 0 173 -287l144 -525q108 -287 265 -287q253 0 619 471q353 451 365 710q16 347 -260 355q-373 12 -505 -417q69 29 133 29q136 0 120 -152q-8 -92 -120 -268q-113 -176 -169 -176q-73 0 -133 271q-20 79 -72 407q-49 303 -258 284 q-89 -8 -265 -160q-127 -113 -262 -231z" />
+<glyph unicode="&#xf213;" d="M128 768v512q0 159 112.5 271.5t271.5 112.5h1024q159 0 271.5 -112.5t112.5 -271.5v-512q0 -159 -112.5 -271.5t-271.5 -112.5h-1024q-159 0 -271.5 112.5t-112.5 271.5zM768 640l640 384l-640 384v-768z" />
+<glyph unicode="&#xf214;" d="M472 1186h198v-629q0 -121 26 -187q26 -65 92 -122t161 -89q93 -31 218 -31q110 0 201 22q88 20 208 76v282q-134 -88 -271 -88q-76 0 -136 36q-44 25 -61 70q-17 46 -17 200v460h426v281h-426v453h-255q-17 -139 -62 -228q-48 -93 -121 -154q-74 -64 -181 -99v-253z" />
+<glyph unicode="&#xf215;" d="M128 384v1280q0 106 75 181t181 75h1280q106 0 181 -75t75 -181v-1280q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM256 384q0 -53 37.5 -90.5t90.5 -37.5h1280q53 0 90.5 37.5t37.5 90.5v768h-272q16 -66 16 -128q0 -212 -150 -362t-362 -150t-362 150 t-150 362q0 62 16 128h-272v-768zM640 1024q0 -159 112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5zM1408 1536q0 -53 37.5 -90.5t90.5 -37.5h128q53 0 90.5 37.5t37.5 90.5v128q0 53 -37.5 90.5t-90.5 37.5 h-128q-53 0 -90.5 -37.5t-37.5 -90.5v-128z" />
+<glyph unicode="&#xf216;" d="M256 790v467q0 31 29 55l702 467q17 11 37 11t37 -11l702 -467q29 -24 29 -55v-467q0 -32 -29 -54l-702 -468q-17 -11 -37 -11q-18 0 -37 11l-702 468q-29 22 -29 54zM388 914l165 110l-165 110v-220zM441 790l517 -344v308l-286 191zM441 1257l231 -154l286 191v307z M791 1024l233 -156l234 156l-234 156zM1090 446l517 344l-231 155l-286 -191v-308zM1090 1294l286 -191l231 154l-517 344v-307zM1495 1024l165 -110v220z" />
+<glyph unicode="&#xf217;" d="M128 1024q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348zM208 1024q0 -221 109.5 -409t297.5 -297.5t409 -109.5q236 0 432 123.5t298 327.5q59 136 59 266 q0 117 -43.5 221.5t-118.5 182.5t-175.5 131t-215.5 73q116 -48 204 -145t127 -218q54 -151 17.5 -320t-150.5 -289q-111 -123 -276 -179t-332 -27q-168 27 -307 138t-210 270q-74 156 -67.5 338.5t93.5 335.5q88 155 238.5 260t328.5 135q2 0 35 6q-208 -16 -380.5 -128 t-272.5 -293.5t-100 -392.5zM359 998q17 -148 100 -275.5t207 -200.5q120 -71 264 -78.5t267 49.5q-76 -21 -148 -21q-149 0 -275.5 74t-200.5 201t-74 276q0 214 146 373l3 3l14 14l1 1q98 114 235 178t293 64q163 0 306 -70t241 -193q-36 57 -70 96q-104 126 -250 200.5 t-305 80.5q-157 7 -306.5 -51.5t-258.5 -169.5q-109 -107 -159 -254.5t-30 -296.5zM612 1025q8 -119 85 -217t186 -128q110 -33 221.5 8.5t170.5 134.5q61 91 50 204t-86 187q-70 77 -179.5 87t-188.5 -50q-85 -62 -105 -157q-21 -98 30 -182q50 -84 142 -108q92 -23 172 26 q38 23 64 58.5t34 76.5q17 88 -34 159q-52 72 -136 77q-83 6 -142 -54q-57 -55 -45 -138q6 -37 27.5 -68.5t52.5 -47.5q40 -21 87 -16q-46 1 -82 29t-49 71l-2 3q-14 30 -9.5 67t25.5 66q22 30 56.5 46.5t72.5 14.5t73.5 -23.5t54.5 -55.5q46 -76 8 -158 q-18 -39 -53.5 -66.5t-78.5 -35.5q-43 -9 -88.5 3.5t-78.5 43.5q-74 68 -68 169q2 65 45 118.5t109.5 77t132.5 5.5q68 -16 118.5 -70.5t65 -124.5t-9.5 -144q-37 -107 -150 -158.5t-224 -8.5q-114 43 -170 158q-55 117 -17 238q35 121 152 191t246 47q131 -19 223 -128 t95 -246q6 -142 -81 -257q-86 -115 -225 -157q-114 -35 -234 -7q83 -34 174 -34q195 0 333.5 138.5t138.5 333.5v2q-10 107 -63.5 202.5t-137.5 157.5q-102 77 -236 87t-243 -49q-116 -62 -177 -167q-61 -107 -52 -231z" />
+<glyph unicode="&#xf218;" d="M128 464q0 -66 32 -125.5t92.5 -107t159 -75.5t222.5 -28q117 0 218.5 25t174 68t124 99.5t76.5 120.5t25 131q0 40 -6.5 74.5t-22.5 65t-30.5 53t-41.5 50t-45 43t-51 44.5l-85 66q-19 15 -28.5 24.5t-21 31t-11.5 45.5t12 47.5t21.5 34.5t32.5 33q37 29 59 48t52 52 t46 64t28 75.5t12 94.5q0 43 -8 82t-23.5 70.5t-30.5 55.5t-38 47.5t-35 34.5t-32 27h146l151 85h-485q-264 0 -421 -129q-73 -64 -111.5 -147.5t-38.5 -167.5q0 -56 16 -109.5t49.5 -100.5t79.5 -82.5t109 -56.5t136 -21q19 0 75 5q0 -2 -4 -10.5t-4.5 -10.5t-3.5 -9.5 t-4 -11l-3 -10.5t-2.5 -12.5t-1 -13t-0.5 -14.5q0 -26 5 -48t18.5 -45t20.5 -32.5t26 -34.5q-61 -4 -98 -7.5t-107 -14.5t-131.5 -32.5t-112.5 -53.5q-50 -29 -86.5 -66.5t-56.5 -76.5t-29 -74.5t-9 -69.5zM335 514q0 47 17 87.5t38.5 64.5t54 45t50.5 28.5t42 16.5 q35 11 76.5 19.5t77.5 12t58.5 5t34.5 1.5q35 0 54 -3q51 -36 82 -59t63.5 -50.5t50.5 -48.5t33.5 -46t21.5 -50.5t6 -55.5q0 -113 -91 -183.5t-255 -70.5q-187 0 -300.5 80t-113.5 207zM453 1591q0 110 51 174q28 35 73.5 56t91.5 21q56 0 105.5 -28.5t83.5 -74.5 t59 -103.5t36.5 -115.5t11.5 -110q0 -113 -59 -172q-18 -19 -44 -33.5t-56.5 -23.5t-58.5 -9q-58 0 -108 28.5t-83.5 73.5t-57.5 101.5t-34.5 111.5t-10.5 104zM1408 1024v128h256v256h128v-256h256v-128h-256v-256h-128v256h-256z" />
+<glyph unicode="&#xf219;" d="M134.5 1267.5q5.5 80.5 41 179.5t102.5 191q70 78 153.5 135t167 86.5t172 45.5t169 15t156.5 -8t137.5 -21t107.5 -26.5t72 -22.5l25 -9q12 -5 32 -14.5t74.5 -45.5t101 -78.5t97 -114.5t78 -153t27.5 -194.5t-40 -238.5q-43 -89 -97 -157.5t-109.5 -110t-115.5 -69 t-115.5 -37t-107.5 -12t-95.5 4t-76 13t-49.5 13.5l-18 6v-277q-1 -3 -2 -9t-6.5 -23t-14 -34t-24.5 -39.5t-36 -42t-51.5 -39.5t-68.5 -33q-52 -19 -107 -20t-97 11.5t-76.5 27.5t-53.5 27l-18 13v280q33 -34 67 -55.5t67.5 -28.5t61.5 11t44 63v946h312v-538l65 -13 q206 -32 329 60q105 78 128 243q2 76 -15.5 141t-49 110.5t-72.5 82.5t-86.5 59.5t-91.5 39t-87.5 24t-73.5 11.5t-52 5h-19l-66 -2q-217 -16 -359 -141q-57 -50 -97 -115q-27 -45 -39.5 -93t-11 -88t10 -78.5t22 -67.5t25.5 -51t21 -33l9 -12l-225 -201q-7 9 -18.5 25 t-40.5 68.5t-49.5 107.5t-34.5 137.5t-8.5 163z" />
+<glyph unicode="&#xf220;" d="M141 1431q0 133 65.5 245.5t178 178t245.5 65.5q141 0 260 -75q69 12 144 12q171 0 327 -66.5t269 -179.5t179.5 -269t66.5 -327q0 -96 -19 -181q51 -106 50 -217q0 -133 -65.5 -245.5t-178 -178t-244.5 -65.5q-123 0 -231 58q-79 -14 -155 -14q-171 0 -327 67t-269 180 t-179.5 269t-66.5 327q0 86 17 169q-67 116 -67 247zM537 775q0 -75 54 -153q52 -76 139 -123q119 -63 302 -63q150 0 263 46q111 46 171 130q59 85 59 188q0 88 -34 149q-35 62 -96 100q-58 39 -143 66q-77 25 -187 49q-89 20 -116 28q-35 9 -68 27q-33 15 -50 38 q-17 20 -17 49q0 46 52 80q54 36 146 36q97 0 141 -32q43 -32 75 -94q30 -48 51 -67q25 -22 72 -22q53 0 87 36q34 35 34 81t-25 96q-24 47 -82 92q-57 45 -139 70q-86 26 -197 26q-139 0 -247 -40q-107 -39 -164 -113q-57 -73 -57 -170q0 -102 55 -170q52 -65 144 -105 q95 -40 221 -66q93 -20 154 -38q57 -19 90 -50q33 -30 33 -80q0 -64 -62 -105q-65 -44 -170 -44q-78 0 -123 22q-47 22 -70 54q-27 34 -49 86q-21 49 -49 72q-32 26 -75 26q-52 0 -87 -33q-36 -33 -36 -79z" />
+<glyph unicode="&#xf221;" d="M384 384v640h192q49 0 104 47t103.5 127.5t80.5 204.5t32 261q0 5 0.5 13.5t4 31t9.5 39t19 30.5t31 14q33 0 77.5 -42t79.5 -119t35 -159q0 -85 -8 -165t-16 -117l-8 -38h416q53 0 90.5 -37.5t37.5 -90.5q0 -41 -24 -74t-62 -46q22 -33 22 -72q0 -41 -24 -74t-62 -46 q22 -33 22 -72q0 -53 -37.5 -90.5t-90.5 -37.5h-64q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-448q-65 0 -123 20t-93.5 44t-80.5 44t-87 20h-128z" />
+<glyph unicode="&#xf222;" d="M205 1168q0 83 59 142t142 59q100 0 160 -83q183 97 412 106l92 457q5 22 23 33q18 12 39 7l313 -72q24 41 65.5 65.5t89.5 24.5q74 0 126.5 -52.5t52.5 -126.5t-52.5 -126.5t-126.5 -52.5q-71 0 -122 48.5t-56 119.5l-262 60l-77 -386q222 -12 397 -108q60 86 163 86 q83 0 141.5 -59t58.5 -142q0 -55 -28 -100.5t-74 -72.5q14 -50 14 -99q0 -135 -98.5 -250t-267.5 -181.5t-368 -66.5t-368.5 66.5t-268 181t-98.5 249.5q0 50 16 104q-44 27 -70.5 71.5t-26.5 97.5zM307 1168q0 -47 40 -75q47 75 132 137q-29 36 -73 36q-41 0 -70 -28.5 t-29 -69.5zM388 896q0 -107 85 -198t230.5 -144t317.5 -53q171 0 316.5 53t230.5 143.5t85 197.5q0 108 -85 199t-230.5 144t-316.5 53q-172 0 -317.5 -53t-230.5 -144t-85 -198zM672 982q0 46 32.5 79t78.5 33q47 0 79.5 -33t32.5 -79t-33 -79t-79 -33t-78.5 33t-32.5 79z M737 739.5q0 21.5 15 36.5t36 15t36 -15q56 -56 199 -56q145 0 201 56q15 15 36 15t36 -15t15 -36.5t-15 -36.5q-86 -86 -271 -86q-187 0 -273 86q-15 15 -15 36.5zM1153 982q0 46 32.5 79t79.5 33t79.5 -33t32.5 -79t-33 -79t-79 -33t-79 33t-33 79zM1523 1728 q0 -32 22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5t-54.5 -22.5t-22.5 -54.5zM1567 1227q83 -61 131 -138q43 31 43 79q0 40 -28.5 69t-69.5 29q-45 0 -76 -39z" />
+<glyph unicode="&#xf223;" d="M256 849v209h263v-206q0 -33 23.5 -56.5t57.5 -23.5t57.5 23.5t23.5 56.5v487q5 136 104.5 230.5t238.5 94.5t238.5 -95.5t104.5 -231.5v-107l-157 -45l-105 48v92q0 34 -23.5 57t-57.5 23t-57.5 -23t-23.5 -57l-1 -481q-1 -138 -101.5 -235t-241.5 -97q-142 0 -242.5 99 t-100.5 238zM1105 846v210l105 -48l157 46v-212q0 -33 23.5 -56.5t57.5 -23.5t57.5 23.5t23.5 56.5v216h263v-209q0 -139 -100.5 -238t-242.5 -99t-242 97.5t-102 236.5z" />
+<glyph unicode="&#xf224;" d="M256 1152v384q0 106 75 181t181 75h1024q106 0 181 -75t75 -181v-384q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5zM512 1281q0 -53 38 -91l362 -362l4 4q37 -64 108 -64t108 64l5 -4l362 362q37 38 37 91t-37 90t-91 37 q-53 0 -90 -37l-294 -294l-293 294q-37 37 -91 37t-90 -37q-38 -37 -38 -90z" />
+<glyph unicode="&#xf225;" d="M128 930l365 291l531 -328l-369 -308zM128 1513l527 345l369 -308l-531 -329zM497 508v115l158 -103l370 307l370 -307l158 103v-115l-528 -317zM1024 893l532 328l364 -291l-527 -345zM1024 1550l369 308l527 -345l-364 -292z" />
+<glyph unicode="&#xf300;" d="M256 896v384q0 106 75 181t181 75h1024q106 0 181 -75t75 -181v-384q0 -106 -75 -181t-181 -75h-448l-448 -448v448h-128q-106 0 -181 75t-75 181z" />
+<glyph unicode="&#xf301;" d="M384 512v1024h384l64 -128h448v-128h-640l-128 -256h128l64 128h960l-256 -640h-1024z" />
+<glyph unicode="&#xf302;" d="M256 768l768 768h512v-512l-768 -768zM1152 1280q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5z" />
+<glyph unicode="&#xf303;" d="M256 1088q0 143 55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5t-55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5zM384 1088q0 -117 45.5 -223.5t123 -184t184 -123t223.5 -45.5 t223.5 45.5t184 123t123 184t45.5 223.5t-45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5zM896 1062v474h128v-421l298 -298l-90 -91z" />
+<glyph unicode="&#xf304;" d="M512 384v256q0 159 112.5 271.5t271.5 112.5h256q159 0 271.5 -112.5t112.5 -271.5v-256h-1024zM768 1408q0 106 75 181t181 75t181 -75t75 -181t-75 -181t-181 -75t-181 75t-75 181z" />
+<glyph unicode="&#xf305;" d="M256 384v1280h256v128h128v-128h640v128h128v-128h256v-1280h-1408zM384 640q0 -53 37.5 -90.5t90.5 -37.5h896q53 0 90.5 37.5t37.5 90.5v640q0 53 -37.5 90.5t-90.5 37.5h-896q-53 0 -90.5 -37.5t-37.5 -90.5v-640zM768 1216q0 26 19 45t45 19h128q26 0 45 -19t19 -45 v-512q0 -26 -19 -45t-45 -19t-45 19t-19 45v448h-64q-26 0 -45 19t-19 45z" />
+<glyph unicode="&#xf306;" d="M256 384v1280h256v128h128v-128h640v128h128v-128h256v-1280h-1408zM384 640q0 -53 37.5 -90.5t90.5 -37.5h896q53 0 90.5 37.5t37.5 90.5v640q0 53 -37.5 90.5t-90.5 37.5h-896q-53 0 -90.5 -37.5t-37.5 -90.5v-640zM768 1216q0 26 19 45t45 19h256h2h1h3 q22 -2 38.5 -18t19.5 -39v-2v-2v-1v-2q0 -5 -2 -15l-128 -512q-6 -26 -28.5 -40t-48.5 -7q-26 6 -40 28.5t-7 48.5l108 433h-174q-26 0 -45 19t-19 45z" />
+<glyph unicode="&#xf307;" d="M256 384v1280h256v128h128v-128h640v128h128v-128h256v-1280h-1408zM384 640q0 -53 37.5 -90.5t90.5 -37.5h896q53 0 90.5 37.5t37.5 90.5v640q0 53 -37.5 90.5t-90.5 37.5h-896q-53 0 -90.5 -37.5t-37.5 -90.5v-640zM512 640v128h128v-128h-128zM512 896v128h128v-128 h-128zM768 640v128h128v-128h-128zM768 896v128h128v-128h-128zM768 1152v128h128v-128h-128zM1024 640v128h128v-128h-128zM1024 896v128h128v-128h-128zM1024 1152v128h128v-128h-128zM1280 896v128h128v-128h-128zM1280 1152v128h128v-128h-128z" />
+<glyph unicode="&#xf308;" d="M342 342q12 45 22 71t38 66.5t76 88.5l395 395l-227 227l181 181q37 -37 90.5 -37t91.5 37l181 181q38 38 38 91t-38 90l181 181l543 -543l-181 -181q-37 38 -90 38t-91 -38l-181 -181q-37 -37 -37 -90t37 -91l-181 -181l-227 226l-395 -395q-68 -68 -113.5 -93 t-112.5 -43z" />
+<glyph unicode="&#xf400;" d="M256 1216q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5q0 -184 -111 -337l495 -495l-128 -128l-495 495q-153 -111 -337 -111q-117 0 -223.5 45.5t-184 123t-123 184t-45.5 223.5zM384 1216q0 -185 131.5 -316.5 t316.5 -131.5q186 0 317 131.5t131 316.5t-131 316.5t-317 131.5q-185 0 -316.5 -131.5t-131.5 -316.5z" />
+<glyph unicode="&#xf401;" d="M256 1216q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5q0 -184 -111 -337l495 -495l-128 -128l-495 495q-153 -111 -337 -111q-117 0 -223.5 45.5t-184 123t-123 184t-45.5 223.5zM384 1216q0 -185 131.5 -316.5 t316.5 -131.5q186 0 317 131.5t131 316.5t-131 316.5t-317 131.5q-185 0 -316.5 -131.5t-131.5 -316.5zM512 1152v128h640v-128h-640z" />
+<glyph unicode="&#xf402;" d="M256 1216q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5q0 -184 -111 -337l495 -495l-128 -128l-495 495q-153 -111 -337 -111q-117 0 -223.5 45.5t-184 123t-123 184t-45.5 223.5zM384 1216q0 -185 131.5 -316.5 t316.5 -131.5q186 0 317 131.5t131 316.5t-131 316.5t-317 131.5q-185 0 -316.5 -131.5t-131.5 -316.5zM512 1152v128h256v256h128v-256h256v-128h-256v-256h-128v256h-256z" />
+<glyph unicode="&#xf403;" d="M0 1024l506 506q101 103 234.5 160.5t283.5 57.5t283.5 -57.5t233.5 -159.5l507 -507l-506 -507q-101 -103 -234.5 -160t-283.5 -57t-283.5 57.5t-233.5 160.5zM272 1024l370 -371q77 -78 175.5 -119.5t206.5 -41.5t206 41.5t174 118.5l373 372l-371 371 q-158 161 -382 161q-108 0 -206.5 -41t-173.5 -119zM640 1024q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5zM1024 1152q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5 t-90.5 -37.5t-37.5 -90.5z" />
+<glyph unicode="&#xf404;" d="M0 1024l506 506q101 103 234.5 160.5t283.5 57.5q193 0 358 -95l-143 -143q-103 46 -215 46q-108 0 -206.5 -41t-173.5 -119l-372 -372l240 -240l-136 -136zM339 429l90 -90l1280 1280l-90 90zM640 1024q0 159 112.5 271.5t271.5 112.5q44 0 98 -14l-468 -468 q-14 54 -14 98zM666 395l143 143q103 -46 215 -46q108 0 206 41.5t174 118.5l373 372l-241 241l136 135l376 -376l-506 -507q-101 -103 -234.5 -160t-283.5 -57q-193 0 -358 95zM926 654l468 468q14 -54 14 -98q0 -159 -112.5 -271.5t-271.5 -112.5q-44 0 -98 14z" />
+<glyph unicode="&#xf405;" d="M640 768l320 320l-320 320l128 128l320 -320l320 320l128 -128l-320 -320l320 -320l-128 -128l-320 320l-320 -320z" />
+<glyph unicode="&#xf406;" d="M128 256l832 832l-832 832l128 128l832 -832l832 832l128 -128l-832 -832l832 -832l-128 -128l-832 832l-832 -832z" />
+<glyph unicode="&#xf407;" d="M384 1280v128l256 128q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5l256 -128v-128h-1152zM512 512v704h128v-704h128v704h128v-704h128v704h128v-704h128v704h128v-704q0 -53 -37.5 -90.5t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5zM768 1472 q0 -26 19 -45t45 -19h256q26 0 45 19t19 45t-19 45t-45 19h-256q-26 0 -45 -19t-19 -45z" />
+<glyph unicode="&#xf408;" d="M256 1151l476 -330l-183 -535l475 332l475 -332l-183 535l476 330l-587 -1l-181 535l-180 -535z" />
+<glyph unicode="&#xf409;" d="M384 1152l640 512l640 -512l-128 -128v-512h-1024v512zM896 576h256v448h-256v-448z" />
+<glyph unicode="&#xf410;" d="M256 512v704l768 -384l768 384v-704h-1536zM256 1408v128h1536v-128l-768 -384z" />
+<glyph unicode="&#xf411;" d="M384 384v448l896 896l448 -448l-896 -896h-448zM512 768l256 -256l128 128l-256 256zM685 941l96 -96l595 595l-96 96zM845 781l96 -96l595 595l-96 96z" />
+<glyph unicode="&#xf412;" d="M256 640v704l384 384v-704h640v448l640 -640l-640 -640v448h-1024z" />
+<glyph unicode="&#xf413;" d="M256 448q0 -80 56 -136t136 -56t136 56t56 136t-56 136t-136 56t-136 -56t-56 -136zM256 1024v256q209 0 398.5 -81t326.5 -218t218 -326.5t81 -398.5h-256q0 209 -103 385.5t-279.5 279.5t-385.5 103zM256 1536v256q209 0 408 -55t367.5 -154t310.5 -241t241 -310.5 t154 -367.5t55 -408h-256q0 260 -101.5 497t-273 408.5t-408.5 273t-497 101.5z" />
+<glyph unicode="&#xf414;" d="M21 358q-57 102 31 244l760 1237q57 93 134.5 126.5t155 0t135.5 -126.5l759 -1237q88 -142 31 -244t-224 -102h-1557q-168 0 -225 102zM883 1536l51 -640h179l52 640h-282zM896 640q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5z" />
+<glyph unicode="&#xf415;" d="M128 1024v256h310q75 172 233.5 278t352.5 106q130 0 246.5 -50t204.5 -139q37 -37 37 -90t-37 -91t-90 -38t-91 38q-116 114 -270 114q-159 0 -271.5 -112.5t-112.5 -271.5h-512zM536 665q0 53 38 90t91 37t90 -37q113 -115 269 -115q159 0 271.5 112.5t112.5 271.5h512 v-256h-310q-75 -172 -233.5 -278t-352.5 -106q-130 0 -246 50t-205 139l1 1q-38 38 -38 91zM832 1024q0 80 56 136t136 56t136 -56t56 -136t-56 -136t-136 -56t-136 56t-56 136z" />
+<glyph unicode="&#xf416;" d="M512 832v320h128v-320q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5t93.5 226.5v640q0 80 -56 136t-136 56t-136 -56t-56 -136v-512q0 -26 19 -45t45 -19t45 19t19 45v452h128v-452q0 -80 -56 -136t-136 -56t-136 56t-56 136v512q0 133 93.5 226.5t226.5 93.5t226.5 -93.5 t93.5 -226.5v-640q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5z" />
+<glyph unicode="&#xf417;" d="M384 1216q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5t-44.5 -222.5t-124.5 -185.5l-407 -406l-407 406q-80 80 -124.5 185.5t-44.5 222.5zM640 1216q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5t93.5 226.5t-93.5 226.5 t-226.5 93.5t-226.5 -93.5t-93.5 -226.5z" />
+<glyph unicode="&#xf418;" d="M608 1056l128 128l224 -192l448 512l128 -96l-512 -768h-128z" />
+<glyph unicode="&#xf419;" d="M0 256v256h2048v-256h-2048zM0 896v256h2048v-256h-2048zM0 1536v256h2048v-256h-2048z" />
+<glyph unicode="&#xf420;" d="M256 1024q0 155 60 294.5t167 246.5l-227 227h640v-640l-232 232q-72 -71 -112 -163.5t-40 -196.5q0 -176 108.5 -313.5t275.5 -180.5v-262q-180 30 -326 137t-230 269.5t-84 349.5zM1152 256v640l19 -19l213 -213q71 71 111.5 164t40.5 196q0 176 -108.5 313.5 t-275.5 180.5v263q180 -31 326 -137.5t230 -269.5t84 -350q0 -155 -60 -294.5t-167 -246.5l227 -227h-640z" />
+<glyph unicode="&#xf421;" d="M384 896v256h1152v-256h-1152z" />
+<glyph unicode="&#xf422;" d="M384 512v1024h1152v-1024h-1152zM512 640h896v640h-896v-640z" />
+<glyph unicode="&#xf423;" d="M83 832l373 671l112 -62l-267 -481h403v-384h-128v256h-493zM768 1024q0 87 43 160.5t116.5 116.5t160.5 43t160.5 -43t116.5 -116.5t43 -160.5t-43 -160.5t-116.5 -116.5t-160.5 -43t-160.5 43t-116.5 116.5t-43 160.5zM896 1024q0 -79 56.5 -135.5t135.5 -56.5 t135.5 56.5t56.5 135.5t-56.5 135.5t-135.5 56.5t-135.5 -56.5t-56.5 -135.5zM1427 832l373 671l112 -62l-267 -481h403v-384h-128v256h-493z" />
+<glyph unicode="&#xf424;" d="M256 640v768l384 384h768l384 -384v-768l-384 -384h-768zM883 1536l51 -640h179l52 640h-282zM896 640q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5z" />
+<glyph unicode="&#xf425;" d="M384 384v1280h256q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5h256v-1280h-1152zM512 512h896v1024h-128v-128h-640v128h-128v-1024zM640 704q0 26 19 45t45 19t45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45zM640 960q0 26 19 45t45 19t45 -19t19 -45 t-19 -45t-45 -19t-45 19t-19 45zM640 1216q0 26 19 45t45 19t45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45zM768 1600q0 -26 19 -45t45 -19h256q26 0 45 19t19 45t-19 45t-45 19h-256q-26 0 -45 -19t-19 -45zM896 640v128h384v-128h-384zM896 896v128h384v-128h-384z M896 1152v128h384v-128h-384z" />
+<glyph unicode="&#xf426;" d="M128 768q0 106 75 181t181 75h7q-7 29 -7 64q0 133 93.5 226.5t226.5 93.5q134 0 228 -96q47 101 140.5 162.5t207.5 61.5q159 0 271.5 -112.5t112.5 -271.5q0 -62 -23 -128h23q106 0 181 -75t75 -181t-75 -181t-181 -75h-1280q-106 0 -181 75t-75 181z" />
+<glyph unicode="&#xf427;" d="M384 384v288l455 455l-1 1q-74 74 -74 180t74 181l233 233q75 74 181 74t180 -74l286 -286q74 -75 74 -180.5t-74 -180.5l-233 -233q-74 -73 -178.5 -74t-179.5 71l-455 -455h-288zM1088 1360l256 -256l160 160l-256 256z" />
+<glyph unicode="&#xf428;" d="M768 1024q0 106 75 181t181 75t181 -75t75 -181t-75 -181t-181 -75t-181 75t-75 181z" />
+<glyph unicode="&#xf429;" d="M384 896v128h896l-343 343l87 86l493 -493l-493 -493l-87 86l343 343h-896z" />
 <glyph unicode="&#xf430;" d="M531 960l493 -493l87 86l-343 343h896v128h-896l343 343l-87 86z" />
-<glyph unicode="&#xf431;" d="M1536 1152l-576 -576l-576 576l128 128l448 -448l448 448z" />
-<glyph unicode="&#xf432;" d="M1536 768l-128 -128l-448 448l-448 -448l-128 128l576 576z" />
-<glyph unicode="&#xf433;" d="M896 0h-896v896z" />
-<glyph unicode="&#xf434;" d="M2048 896v-896h-896z" />
-<glyph unicode="&#xf435;" d="M1664 1408v-128h-1280v128h1280zM1024 1152l640 -640h-1280z" />
-<glyph unicode="&#xf436;" d="M512 1536h128v-128h-128v128zM768 1536h128v-128h-128v128zM1024 1536h128v-128h-128v128zM1408 1536v-128h-128v128h128zM512 1280h128v-128h-128v128zM768 1280h128v-128h-128v128zM1024 1280h128v-128h-128v128zM1280 1280h128v-128h-128v128zM512 1024h128v-128h-128 v128zM768 1024h128v-128h-128v128zM1024 1024h128v-128h-128v128zM1280 1024h128v-128h-128v128zM512 768h128v-128h-128v128zM768 768h128v-128h-128v128zM1024 768h128v-128h-128v128zM1280 768h128v-128h-128v128z" />
-<glyph unicode="&#xf437;" d="M768 1792h512q106 0 181 -75t75 -181v-1024q0 -106 -75 -181t-181 -75h-512q-106 0 -181 75t-75 181v1024q0 106 75 181t181 75zM1408 1536h-768v-768h768v768zM1024 384q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 z" />
-<glyph unicode="&#xf438;" d="M768 1792h512q106 0 181 -75t75 -181v-1024q0 -106 -75 -181t-181 -75h-512q-106 0 -181 75t-75 181v384h128v-128h768v768h-768v-128h-128v128q0 106 75 181t181 75zM768 1024h-512v256h512v128l384 -256l-384 -256v128zM1024 384q53 0 90.5 37.5t37.5 90.5t-37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" />
-<glyph unicode="&#xf439;" d="M896 1280h-256v384q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5v-384zM1408 1280h-256v384q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5v-384zM384 1152h1280q0 -231 -145.5 -406.5t-366.5 -220.5v-269h-256v269q-221 45 -366.5 220.5t-145.5 406.5z" />
-<glyph unicode="&#xf440;" d="M1641 1024h23q106 0 181 -75t75 -181t-75 -181t-181 -75h-384v256h-512v-256h-384q-106 0 -181 75t-75 181t75 181t181 75h6q-6 32 -6 64q0 133 93.5 226.5t226.5 93.5q134 0 228 -96q47 101 140.5 162.5t207.5 61.5q159 0 271.5 -112.5t112.5 -271.5q0 -62 -23 -128z M1152 384h256l-384 -384l-384 384h256v256h256v-256z" />
-<glyph unicode="&#xf441;" d="M1641 1024h23q106 0 181 -75t75 -181t-75 -181t-181 -75h-512v256h256l-384 384l-384 -384h256v-256h-512q-106 0 -181 75t-75 181t75 181t181 75h6q-6 32 -6 64q0 133 93.5 226.5t226.5 93.5q134 0 228 -96q47 101 140.5 162.5t207.5 61.5q159 0 271.5 -112.5 t112.5 -271.5q0 -62 -23 -128z" />
-<glyph unicode="&#xf442;" d="M1664 1664v-640h-128v422l-550 -550l-90 91l550 549h-422v128h640zM1280 896l128 128v-512h-896v896h512l-128 -128h-256v-640h640v256z" />
-<glyph unicode="&#xf443;" d="M1536 1280v-896h-1024v1280h640zM1408 1152h-384v384h-384v-1024h768v640z" />
-<glyph unicode="&#xf444;" d="M1664 640h-64q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5h64v-128h-1024q-106 0 -181 75t-75 181v1024q0 106 75 181t181 75h1024v-1152zM640 384h818q-50 55 -50 128t50 128h-818q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" />
-<glyph unicode="&#xf445;" d="M1888 748l-58 -140l-305 22q-44 -56 -107 -107l22 -305l-139 -58l-201 232q-67 -8 -76 -8q-8 0 -75 8l-201 -232l-139 58l21 305q-56 44 -107 107l-305 -22l-58 139l232 201q-8 67 -8 76q0 8 8 75l-232 201l58 139l305 -21q47 60 107 107l-21 305l139 58l201 -232 q67 8 75 8t75 -8l201 232l140 -58l-22 -305q56 -44 107 -107l305 22l58 -139l-232 -201q8 -67 8 -76q0 -8 -8 -75zM1024 768q106 0 181 75t75 181t-75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75z" />
-<glyph unicode="&#xf446;" d="M1024 1792q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1536 1024q0 212 -150 362t-362 150q-136 0 -259 -72l699 -699q72 123 72 259zM512 1024 q0 -212 150 -362t362 -150q135 0 259 72l-699 699q-72 -126 -72 -259z" />
-<glyph unicode="&#xf447;" d="M640 896v-128h896v-128h-1024v1024h-256v128h384v-256h1152l-256 -640h-896zM640 512q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5zM1408 512q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5z" />
-<glyph unicode="&#xf448;" d="M896 1664v-1280h-384v1280h384zM1536 1664v-1280h-384v1280h384z" />
-<glyph unicode="&#xf449;" d="M1536 1536v-1024h-1024v1024h1024z" />
-<glyph unicode="&#xf450;" d="M640 1664v-1280h-384v1280h384zM1792 1664v-1280l-1024 640z" />
-<glyph unicode="&#xf451;" d="M1280 1024l-1024 -640v1280zM1792 1664v-1280h-384v1280h384z" />
-<glyph unicode="&#xf452;" d="M1536 1024l-1024 -640v1280z" />
-<glyph unicode="&#xf453;" d="M512 2048h1024q106 0 181 -75t75 -181v-1536q0 -106 -75 -181t-181 -75h-1024q-106 0 -181 75t-75 181v1536q0 106 75 181t181 75zM1536 1792h-1024v-1280h1024v1280zM1024 128q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5 t90.5 -37.5z" />
-<glyph unicode="&#xf454;" d="M512 2048h1024q106 0 181 -75t75 -181v-1536q0 -106 -75 -181t-181 -75h-1024q-106 0 -181 75t-75 181v640h256v-384h1024v1280h-1024v-384h-256v384q0 106 75 181t181 75zM640 1024h-512v256h512v128l384 -256l-384 -256v128zM1024 128q53 0 90.5 37.5t37.5 90.5 t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" />
-<glyph unicode="&#xf455;" d="M960 1792q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5t-55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5zM960 512q117 0 223.5 45.5t184 123t123 184t45.5 223.5t-45.5 223.5 t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5zM960 1440q40 0 68 -28t28 -68t-28 -68t-68 -28t-68 28t-28 68t28 68t68 28zM896 1184h128v-448h-128v448z" />
-<glyph unicode="&#xf456;" d="M960 1792q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5t-55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5zM960 512q117 0 223.5 45.5t184 123t123 184t45.5 223.5t-45.5 223.5 t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5zM888 1024l-22 414h189l-23 -414h-144zM960 928q40 0 68 -28t28 -68t-28 -68t-68 -28t-68 28t-28 68t28 68t68 28z" />
-<glyph unicode="&#xf457;" d="M960 1792q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5t-55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5zM960 512q117 0 223.5 45.5t184 123t123 184t45.5 223.5t-45.5 223.5 t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5zM1142 1404q55 -42 55 -117q0 -52 -24 -91q-25 -38 -79 -74q-43 -27 -58 -43q-11 -12 -11 -33v-22h-135v38q0 42 18 72q16 29 62 58q32 20 51 40 q15 18 15 41q0 19 -16 29q-17 11 -44 11q-65 0 -154 -47l-61 119q110 62 228 62q98 0 153 -43zM960 928q40 0 68 -28t28 -68t-28 -68t-68 -28t-68 28t-28 68t28 68t68 28z" />
-<glyph unicode="&#xf458;" d="M896 384v480l-768 -480v1280l768 -480v480l1024 -640z" />
-<glyph unicode="&#xf459;" d="M1152 384v480l768 -480v1280l-768 -480v480l-1024 -640z" />
-<glyph unicode="&#xf460;" d="M896 1280l-256 -768h-128l-256 768h128l86 256h340zM1792 1280l-256 -768h-768l256 768h128l86 256h340l86 -256h128zM747 1280l-43 128h-128l-43 -128h214zM1515 1280l-43 128h-128l-43 -128h214z" />
-<glyph unicode="&#xf461;" d="M1024 384l648 613q112 106 120 264t-93 276t-251.5 126.5t-262.5 -97.5l-161 -153l-161 153q-112 106 -262.5 97.5t-251.5 -126.5t-93 -276t120 -264z" />
-<glyph unicode="&#xf462;" d="M1276 1505l-248 62l-256 -1024l248 -62zM619 711l-209 313l209 313l-213 142l-304 -455l304 -455zM1946 1024l-303 455l-213 -142l208 -313l-208 -313l213 -142z" />
-<glyph unicode="&#xf463;" d="M768 1024l-768 384v128h1536v-128zM1024 512h-1024v704l768 -384l256 128v-448zM1280 1152h640q53 0 90.5 -37.5t37.5 -90.5v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5zM1920 768h-256v256h-128v-256h-256 v-128h256v-256h128v256h256v128z" />
-<glyph unicode="&#xf464;" d="M768 1024l-768 384v128h1536v-128zM1024 512h-1024v704l768 -384l256 128v-448zM1280 1152h640q53 0 90.5 -37.5t37.5 -90.5v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5zM1920 768h-640v-128h640v128z" />
-<glyph unicode="&#xf465;" d="M768 1024l-768 384v128h1536v-128zM768 832l256 128v-448h-1024v704zM1280 1152h640q53 0 90.5 -37.5t37.5 -90.5v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5zM1984 837l-90 90l-362 -362l-181 181l-91 -90 l272 -272z" />
-<glyph unicode="&#xf466;" d="M320 1024l320 -320v-320l-640 640l640 640v-320zM1152 1280h256q212 0 362 -150t150 -362v-300l-150 150q-74 74 -168 112t-194 38h-256v-384l-640 640l640 640v-384z" />
-<glyph unicode="&#xf467;" d="M1024 1280h256q212 0 362 -150t150 -362v-300l-150 150q-74 74 -168 112t-194 38h-256v-384l-640 640l640 640v-384z" />
-<glyph unicode="&#xf468;" d="M256 1792h256v-1536h-256v1536zM1792 1664v-768h-256q-70 0 -125.5 13t-93 32l-75 38t-93 32t-125.5 13q-71 0 -125 -13t-85 -32t-56.5 -38t-54 -32t-63.5 -13v768q35 0 63.5 13t54 32t56.5 38t85 32t125 13q70 0 125.5 -13t93 -32l75 -38t93 -32t125.5 -13h256z" />
-<glyph unicode="&#xf469;" d="M1408 1664h-768v-256h768v256zM1792 1280v-768h-256v384h-1024v-384h-256v768h1536zM1633 256h-768l-112 113q-113 113 -113 271v128h768v-128q0 -158 113 -271z" />
-<glyph unicode="&#xf470;" d="M1536 1280v-128q53 0 90.5 -37.5t37.5 -90.5v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-1024q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5v128q0 212 150 362t362 150t362 -150t150 -362zM1280 1152v128q0 106 -75 181t-181 75t-181 -75t-75 -181v-128h512z " />
-<glyph unicode="&#xf471;" d="M1223 1121q83 -39 134 -117t51 -172q0 -133 -93.5 -226.5t-226.5 -93.5h-576v1024h512q106 0 181 -75t75 -181q0 -87 -57 -159zM768 1152h128q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5h-128v-256zM768 640h192q80 0 136 56t56 136t-56 136t-136 56h-192v-384z " />
-<glyph unicode="&#xf472;" d="M1240 1408l-240 -768h128l-40 -128h-448l40 128h128l240 768h-128l40 128h448l-40 -128h-128z" />
-<glyph unicode="&#xf473;" d="M1664 1664v-1280h-1280v1280h1280zM768 1408q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5zM1536 1088l-128 192l-448 -672l-192 288l-256 -384h1024v576z" />
+<glyph unicode="&#xf431;" d="M384 1152l128 128l448 -448l448 448l128 -128l-576 -576z" />
+<glyph unicode="&#xf432;" d="M384 768l576 576l576 -576l-128 -128l-448 448l-448 -448z" />
+<glyph unicode="&#xf433;" d="M0 0v896l896 -896h-896z" />
+<glyph unicode="&#xf434;" d="M1152 0l896 896v-896h-896z" />
+<glyph unicode="&#xf435;" d="M384 512l640 640l640 -640h-1280zM384 1280v128h1280v-128h-1280z" />
+<glyph unicode="&#xf436;" d="M512 640v128h128v-128h-128zM512 896v128h128v-128h-128zM512 1152v128h128v-128h-128zM512 1408v128h128v-128h-128zM768 640v128h128v-128h-128zM768 896v128h128v-128h-128zM768 1152v128h128v-128h-128zM768 1408v128h128v-128h-128zM1024 640v128h128v-128h-128z M1024 896v128h128v-128h-128zM1024 1152v128h128v-128h-128zM1024 1408v128h128v-128h-128zM1280 640v128h128v-128h-128zM1280 896v128h128v-128h-128zM1280 1152v128h128v-128h-128zM1280 1408v128h128v-128h-128z" />
+<glyph unicode="&#xf437;" d="M512 512v1024q0 106 75 181t181 75h512q106 0 181 -75t75 -181v-1024q0 -106 -75 -181t-181 -75h-512q-106 0 -181 75t-75 181zM640 768h768v768h-768v-768zM896 512q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5z " />
+<glyph unicode="&#xf438;" d="M256 1024v256h512v128l384 -256l-384 -256v128h-512zM512 512v384h128v-128h768v768h-768v-128h-128v128q0 106 75 181t181 75h512q106 0 181 -75t75 -181v-1024q0 -106 -75 -181t-181 -75h-512q-106 0 -181 75t-75 181zM896 512q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5 t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5z" />
+<glyph unicode="&#xf439;" d="M384 1152h1280q0 -231 -145.5 -406.5t-366.5 -220.5v-269h-256v269q-221 45 -366.5 220.5t-145.5 406.5zM640 1280v384q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5v-384h-256zM1152 1280v384q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5v-384h-256z" />
+<glyph unicode="&#xf440;" d="M128 768q0 106 75 181t181 75h6q-6 32 -6 64q0 133 93.5 226.5t226.5 93.5q134 0 228 -96q47 101 140.5 162.5t207.5 61.5q159 0 271.5 -112.5t112.5 -271.5q0 -62 -23 -128h23q106 0 181 -75t75 -181t-75 -181t-181 -75h-384v256h-512v-256h-384q-106 0 -181 75t-75 181 zM640 384h256v256h256v-256h256l-384 -384z" />
+<glyph unicode="&#xf441;" d="M128 768q0 106 75 181t181 75h6q-6 32 -6 64q0 133 93.5 226.5t226.5 93.5q134 0 228 -96q47 101 140.5 162.5t207.5 61.5q159 0 271.5 -112.5t112.5 -271.5q0 -62 -23 -128h23q106 0 181 -75t75 -181t-75 -181t-181 -75h-512v256h256l-384 384l-384 -384h256v-256h-512 q-106 0 -181 75t-75 181z" />
+<glyph unicode="&#xf442;" d="M512 512v896h512l-128 -128h-256v-640h640v256l128 128v-512h-896zM896 987l550 549h-422v128h640v-640h-128v422l-550 -550z" />
+<glyph unicode="&#xf443;" d="M512 384v1280h640l384 -384v-896h-1024zM640 512h768v640h-384v384h-384v-1024z" />
+<glyph unicode="&#xf444;" d="M384 512v1024q0 106 75 181t181 75h1024v-1152h-64q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5h64v-128h-1024q-106 0 -181 75t-75 181zM512 512q0 -53 37.5 -90.5t90.5 -37.5h818q-50 55 -50 128t50 128h-818q-53 0 -90.5 -37.5t-37.5 -90.5z" />
+<glyph unicode="&#xf445;" d="M160 747l232 201q-8 67 -8 76q0 8 8 75l-232 201l58 139l305 -21q47 60 107 107l-21 305l139 58l201 -232q67 8 75 8t75 -8l201 232l140 -58l-22 -305q56 -44 107 -107l305 22l58 -139l-232 -201q8 -67 8 -76q0 -8 -8 -75l232 -201l-58 -140l-305 22q-44 -56 -107 -107 l22 -305l-139 -58l-201 232q-67 -8 -76 -8q-8 0 -75 8l-201 -232l-139 58l21 305q-56 44 -107 107l-305 -22zM768 1024q0 -106 75 -181t181 -75t181 75t75 181t-75 181t-181 75t-181 -75t-75 -181z" />
+<glyph unicode="&#xf446;" d="M256 1024q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5zM512 1024q0 -212 150 -362t362 -150q135 0 259 72l-699 699q-72 -126 -72 -259zM765 1464l699 -699 q72 123 72 259q0 212 -150 362t-362 150q-136 0 -259 -72z" />
+<glyph unicode="&#xf447;" d="M256 1664v128h384v-256h1152l-256 -640h-896v-128h896v-128h-1024v1024h-256zM512 384q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5zM1280 384q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5t-37.5 -90.5 t-90.5 -37.5t-90.5 37.5t-37.5 90.5z" />
+<glyph unicode="&#xf448;" d="M512 384v1280h384v-1280h-384zM1152 384v1280h384v-1280h-384z" />
+<glyph unicode="&#xf449;" d="M512 512v1024h1024v-1024h-1024z" />
+<glyph unicode="&#xf450;" d="M256 384v1280h384v-1280h-384zM768 1024l1024 640v-1280z" />
+<glyph unicode="&#xf451;" d="M256 384v1280l1024 -640zM1408 384v1280h384v-1280h-384z" />
+<glyph unicode="&#xf452;" d="M512 384v1280l1024 -640z" />
+<glyph unicode="&#xf453;" d="M256 256v1536q0 106 75 181t181 75h1024q106 0 181 -75t75 -181v-1536q0 -106 -75 -181t-181 -75h-1024q-106 0 -181 75t-75 181zM512 512h1024v1280h-1024v-1280zM896 256q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5z" />
+<glyph unicode="&#xf454;" d="M128 1024v256h512v128l384 -256l-384 -256v128h-512zM256 256v640h256v-384h1024v1280h-1024v-384h-256v384q0 106 75 181t181 75h1024q106 0 181 -75t75 -181v-1536q0 -106 -75 -181t-181 -75h-1024q-106 0 -181 75t-75 181zM896 256q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5z" />
+<glyph unicode="&#xf455;" d="M256 1024q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5zM896 1408q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5zM928 512h192v640h-192v-640z" />
+<glyph unicode="&#xf456;" d="M256 1024q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5zM883 1536l51 -640h179l52 640h-282zM896 640q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5 t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5z" />
+<glyph unicode="&#xf457;" d="M256 1024q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5zM720 1442l92 -180q134 71 234 71q38 0 65 -16q26 -17 26 -44q0 -35 -24 -63q-24 -27 -77 -61 q-68 -42 -95 -87q-26 -44 -26 -109v-57h204v34q0 29 17 49q18 21 87 66q83 53 120 111t37 139q0 111 -84 176q-85 65 -232 65q-180 0 -344 -94zM896 640q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5z" />
+<glyph unicode="&#xf458;" d="M128 384v1280l768 -480v480l1024 -640l-1024 -640v480z" />
+<glyph unicode="&#xf459;" d="M128 1024l1024 -640v480l768 -480v1280l-768 -480v480z" />
+<glyph unicode="&#xf460;" d="M256 1280h128l86 256h340l86 -256l-256 -768h-128zM533 1280h214l-43 128h-128zM768 512l256 768h128l86 256h340l86 -256h128l-256 -768h-768zM1301 1280h214l-43 128h-128z" />
+<glyph unicode="&#xf461;" d="M256 1261q8 -158 120 -264l648 -613l648 613q112 106 120 264t-93 276t-251.5 126.5t-262.5 -97.5l-161 -153l-161 153q-112 106 -262.5 97.5t-251.5 -126.5t-93 -276z" />
+<glyph unicode="&#xf462;" d="M102 1024l304 -455l213 142l-209 313l209 313l-213 142zM772 543l248 -62l256 1024l-248 62zM1430 711l213 -142l303 455l-303 455l-213 -142l208 -313z" />
+<glyph unicode="&#xf463;" d="M0 512v704l768 -384l256 128v-448h-1024zM0 1408v128h1536v-128l-768 -384zM1152 384v640q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5zM1280 640h256v-256h128v256h256v128h-256 v256h-128v-256h-256v-128z" />
+<glyph unicode="&#xf464;" d="M0 512v704l768 -384l256 128v-448h-1024zM0 1408v128h1536v-128l-768 -384zM1152 384v640q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5zM1280 640h640v128h-640v-128z" />
+<glyph unicode="&#xf465;" d="M0 512v704l768 -384l256 128v-448h-1024zM0 1408v128h1536v-128l-768 -384zM1152 384v640q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5zM1260 656l272 -272l452 453l-90 90 l-362 -362l-181 181z" />
+<glyph unicode="&#xf466;" d="M0 1024l640 640v-320l-320 -320l320 -320v-320zM512 1024l640 640v-384h256q212 0 362 -150t150 -362v-300l-150 150q-74 74 -168 112t-194 38h-256v-384z" />
+<glyph unicode="&#xf467;" d="M384 1024l640 640v-384h256q212 0 362 -150t150 -362v-300l-150 150q-74 74 -168 112t-194 38h-256v-384z" />
+<glyph unicode="&#xf468;" d="M256 256v1536h256v-1536h-256zM640 896v768q35 0 63.5 13t54 32t56.5 38t85 32t125 13q70 0 125.5 -13t93 -32l75 -38t93 -32t125.5 -13h256v-768h-256q-70 0 -125.5 13t-93 32l-75 38t-93 32t-125.5 13q-71 0 -125 -13t-85 -32t-56.5 -38t-54 -32t-63.5 -13z" />
+<glyph unicode="&#xf469;" d="M256 512v768h1536v-768h-256v384h-1024v-384h-256zM640 640v128h768v-128q0 -158 113 -271l112 -113h-768l-112 113q-113 113 -113 271zM640 1408h768v256h-768v-256z" />
+<glyph unicode="&#xf470;" d="M384 384v640q0 53 37.5 90.5t90.5 37.5v128q0 212 150 362t362 150t362 -150t150 -362v-128q53 0 90.5 -37.5t37.5 -90.5v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-1024q-53 0 -90.5 37.5t-37.5 90.5zM768 1152h512v128q0 106 -75 181t-181 75t-181 -75t-75 -181v-128z" />
+<glyph unicode="&#xf471;" d="M512 512v1024h512q106 0 181 -75t75 -181q0 -87 -57 -159q83 -39 134 -117t51 -172q0 -133 -93.5 -226.5t-226.5 -93.5h-576zM768 640h192q80 0 136 56t56 136t-56 136t-136 56h-192v-384zM768 1152h128q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5h-128v-256z" />
+<glyph unicode="&#xf472;" d="M640 512l40 128h128l240 768h-128l40 128h448l-40 -128h-128l-240 -768h128l-40 -128h-448z" />
+<glyph unicode="&#xf473;" d="M384 384v1280h1280v-1280h-1280zM512 512h1024v576l-128 192l-448 -672l-192 288zM640 1280q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5z" />
+<glyph unicode="&#xf474;" d="M128 256v384l154 -154l230 154l-154 -230l154 -154h-384zM128 1408v384h384l-154 -154l154 -230l-230 154zM640 768v512h768v-512h-768zM1536 256l154 154l-154 230l230 -154l154 154v-384h-384zM1536 1408l154 230l-154 154h384v-384l-154 154z" />
 <glyph unicode="&#xf500;" d="M128 0l960 960l960 -960h-1920z" />
 <glyph unicode="&#xf501;" d="M0 128l960 960l-960 960v-1920z" />
 <glyph unicode="&#xf502;" d="M128 2048l960 -960l960 960h-1920z" />
-<glyph unicode="&#xf503;" d="M2048 128l-960 960l960 960v-1920z" />
+<glyph unicode="&#xf503;" d="M1088 1088l960 960v-1920z" />
 </font>
 </defs></svg> 
\ No newline at end of file
diff --git a/wp-content/themes/twentyfourteen/genericons/font/genericons-regular-webfont.ttf b/wp-content/themes/twentyfourteen/genericons/font/genericons-regular-webfont.ttf
index 7be71af30997bea0feb6fe6e886428dec6c085ec..b6f125e7eec0da4df8acaf85c86fc993115a4723 100644
GIT binary patch
literal 27348
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
Jcw`b|{~sIWCISEe

literal 18060
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
CPnSXf

diff --git a/wp-content/themes/twentyfourteen/genericons/font/genericons-regular-webfont.woff b/wp-content/themes/twentyfourteen/genericons/font/genericons-regular-webfont.woff
index 4d72659cea710410bd73d08a14a021f028ff0e8d..da8be383d82820c6f279d9a2245b3e4303790907 100644
GIT binary patch
literal 17224
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

literal 11064
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

diff --git a/wp-content/themes/twentyfourteen/genericons/genericons.css b/wp-content/themes/twentyfourteen/genericons/genericons.css
index 5a36281ad..b10b86fcf 100644
--- a/wp-content/themes/twentyfourteen/genericons/genericons.css
+++ b/wp-content/themes/twentyfourteen/genericons/genericons.css
@@ -16,7 +16,7 @@
 
 @font-face {
     font-family: 'Genericons';
-    src: url(data:application/font-woff;charset=utf-8;base64,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) format('woff'),
+    src: url(data:application/font-woff;charset=utf-8;base64,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) format('woff'),
          url('font/genericons-regular-webfont.ttf') format('truetype'),
          url('font/genericons-regular-webfont.svg#genericonsregular') format('svg');
     font-weight: normal;
@@ -33,6 +33,7 @@
 	width: 16px;
 	height: 16px;
 	-webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
 	font-size: 16px;
 	line-height: 1;
 	font-family: 'Genericons';
@@ -94,6 +95,7 @@
 .genericon-reddit:before {          content: '\f222'; }
 .genericon-stumbleupon:before {     content: '\f223'; }
 .genericon-pocket:before {          content: '\f224'; }
+.genericon-dropbox:before {         content: '\f225'; }
 
 /* Meta icons */
 .genericon-comment:before {         content: '\f300'; }
@@ -181,6 +183,7 @@
 .genericon-bold:before {            content: '\f471'; }
 .genericon-italic:before {          content: '\f472'; }
 .genericon-picture:before {         content: '\f473'; }
+.genericon-fullscreen:before {      content: '\f474'; }
 
 /* Generic shapes */
 .genericon-uparrow:before {         content: '\f500'; }
diff --git a/wp-content/themes/twentyfourteen/header.php b/wp-content/themes/twentyfourteen/header.php
index 3cd56649f..bd8f8fac9 100644
--- a/wp-content/themes/twentyfourteen/header.php
+++ b/wp-content/themes/twentyfourteen/header.php
@@ -15,7 +15,7 @@
 <!--[if IE 8]>
 <html class="ie ie8" <?php language_attributes(); ?>>
 <![endif]-->
-<!--[if !(IE 7) | !(IE 8) ]><!-->
+<!--[if !(IE 7) & !(IE 8)]><!-->
 <html <?php language_attributes(); ?>>
 <!--<![endif]-->
 <head>
diff --git a/wp-content/themes/twentyfourteen/image.php b/wp-content/themes/twentyfourteen/image.php
index 98daaec1f..4e7fb82ac 100644
--- a/wp-content/themes/twentyfourteen/image.php
+++ b/wp-content/themes/twentyfourteen/image.php
@@ -28,9 +28,9 @@ get_header();
 
 						<span class="entry-date"><time class="entry-date" datetime="<?php echo esc_attr( get_the_date( 'c' ) ); ?>"><?php echo esc_html( get_the_date() ); ?></time></span>
 
-						<span class="full-size-link"><a href="<?php echo wp_get_attachment_url(); ?>"><?php echo $metadata['width']; ?> &times; <?php echo $metadata['height']; ?></a></span>
+						<span class="full-size-link"><a href="<?php echo esc_url( wp_get_attachment_url() ); ?>"><?php echo $metadata['width']; ?> &times; <?php echo $metadata['height']; ?></a></span>
 
-						<span class="parent-post-link"><a href="<?php echo get_permalink( $post->post_parent ); ?>" rel="gallery"><?php echo get_the_title( $post->post_parent ); ?></a></span>
+						<span class="parent-post-link"><a href="<?php echo esc_url( get_permalink( $post->post_parent ) ); ?>" rel="gallery"><?php echo get_the_title( $post->post_parent ); ?></a></span>
 						<?php edit_post_link( __( 'Edit', 'twentyfourteen' ), '<span class="edit-link">', '</span>' ); ?>
 					</div><!-- .entry-meta -->
 				</header><!-- .entry-header -->
diff --git a/wp-content/themes/twentyfourteen/inc/custom-header.php b/wp-content/themes/twentyfourteen/inc/custom-header.php
index f22ef1886..523db8096 100644
--- a/wp-content/themes/twentyfourteen/inc/custom-header.php
+++ b/wp-content/themes/twentyfourteen/inc/custom-header.php
@@ -111,6 +111,9 @@ function twentyfourteen_admin_header_style() {
 		line-height: 48px;
 		margin: 0 0 0 30px;
 	}
+	.rtl #headimg h1  {
+		margin: 0 30px 0 0;
+	}
 	#headimg h1 a {
 		color: #fff;
 		text-decoration: none;
diff --git a/wp-content/themes/twentyfourteen/inc/featured-content.php b/wp-content/themes/twentyfourteen/inc/featured-content.php
index 3f9dc411a..ccff4cace 100644
--- a/wp-content/themes/twentyfourteen/inc/featured-content.php
+++ b/wp-content/themes/twentyfourteen/inc/featured-content.php
@@ -106,7 +106,7 @@ class Featured_Content {
 	 */
 	public static function wp_loaded() {
 		if ( self::get_setting( 'hide-tag' ) ) {
-			add_filter( 'get_terms',     array( __CLASS__, 'hide_featured_term'     ), 10, 2 );
+			add_filter( 'get_terms',     array( __CLASS__, 'hide_featured_term'     ), 10, 3 );
 			add_filter( 'get_the_terms', array( __CLASS__, 'hide_the_featured_term' ), 10, 3 );
 		}
 	}
@@ -151,46 +151,39 @@ class Featured_Content {
 	 * @return array Array of post IDs.
 	 */
 	public static function get_featured_post_ids() {
-		// Return array of cached results if they exist.
+		// Get array of cached results if they exist.
 		$featured_ids = get_transient( 'featured_content_ids' );
-		if ( ! empty( $featured_ids ) ) {
-			return array_map( 'absint', (array) $featured_ids );
-		}
 
-		$settings = self::get_setting();
+		if ( false === $featured_ids ) {
+			$settings = self::get_setting();
+			$term     = get_term_by( 'name', $settings['tag-name'], 'post_tag' );
 
-		// Return sticky post ids if no tag name is set.
-		$term = get_term_by( 'name', $settings['tag-name'], 'post_tag' );
-		if ( $term ) {
-			$tag = $term->term_id;
-		} else {
-			return self::get_sticky_posts();
-		}
+			if ( $term ) {
+				// Query for featured posts.
+				$featured_ids = get_posts( array(
+					'fields'           => 'ids',
+					'numberposts'      => self::$max_posts,
+					'suppress_filters' => false,
+					'tax_query'        => array(
+						array(
+							'field'    => 'term_id',
+							'taxonomy' => 'post_tag',
+							'terms'    => $term->term_id,
+						),
+					),
+				) );
+			}
 
-		// Query for featured posts.
-		$featured = get_posts( array(
-			'numberposts' => self::$max_posts,
-			'tax_query'   => array(
-				array(
-					'field'    => 'term_id',
-					'taxonomy' => 'post_tag',
-					'terms'    => $tag,
-				),
-			),
-		) );
+			// Get sticky posts if no Featured Content exists.
+			if ( ! $featured_ids ) {
+				$featured_ids = self::get_sticky_posts();
+			}
 
-		// Return array with sticky posts if no Featured Content exists.
-		if ( ! $featured ) {
-			return self::get_sticky_posts();
+			set_transient( 'featured_content_ids', $featured_ids );
 		}
 
-		// Ensure correct format before save/return.
-		$featured_ids = wp_list_pluck( (array) $featured, 'ID' );
-		$featured_ids = array_map( 'absint', $featured_ids );
-
-		set_transient( 'featured_content_ids', $featured_ids );
-
-		return $featured_ids;
+		// Ensure correct format before return.
+		return array_map( 'absint', $featured_ids );
 	}
 
 	/**
@@ -203,7 +196,6 @@ class Featured_Content {
 	 * @return array Array of sticky posts.
 	 */
 	public static function get_sticky_posts() {
-		$settings = self::get_setting();
 		return array_slice( get_option( 'sticky_posts', array() ), 0, self::$max_posts );
 	}
 
@@ -312,7 +304,7 @@ class Featured_Content {
 	 *
 	 * @uses Featured_Content::get_setting()
 	 */
-	public static function hide_featured_term( $terms, $taxonomies ) {
+	public static function hide_featured_term( $terms, $taxonomies, $args ) {
 
 		// This filter is only appropriate on the front-end.
 		if ( is_admin() ) {
@@ -329,6 +321,11 @@ class Featured_Content {
 			return $terms;
 		}
 
+		// Bail if term objects are unavailable.
+		if ( 'all' != $args['fields'] ) {
+			return $terms;
+		}
+
 		$settings = self::get_setting();
 		foreach( $terms as $order => $term ) {
 			if ( ( $settings['tag-id'] === $term->term_id || $settings['tag-name'] === $term->name ) && 'post_tag' === $term->taxonomy ) {
diff --git a/wp-content/themes/twentyfourteen/inc/template-tags.php b/wp-content/themes/twentyfourteen/inc/template-tags.php
index d1f9bcfcc..bea908914 100644
--- a/wp-content/themes/twentyfourteen/inc/template-tags.php
+++ b/wp-content/themes/twentyfourteen/inc/template-tags.php
@@ -12,10 +12,15 @@ if ( ! function_exists( 'twentyfourteen_paging_nav' ) ) :
  * Display navigation to next/previous set of posts when applicable.
  *
  * @since Twenty Fourteen 1.0
+ *
+ * @global WP_Query   $wp_query   WordPress Query object.
+ * @global WP_Rewrite $wp_rewrite WordPress Rewrite object.
  */
 function twentyfourteen_paging_nav() {
+	global $wp_query, $wp_rewrite;
+
 	// Don't print empty markup if there's only one page.
-	if ( $GLOBALS['wp_query']->max_num_pages < 2 ) {
+	if ( $wp_query->max_num_pages < 2 ) {
 		return;
 	}
 
@@ -31,14 +36,14 @@ function twentyfourteen_paging_nav() {
 	$pagenum_link = remove_query_arg( array_keys( $query_args ), $pagenum_link );
 	$pagenum_link = trailingslashit( $pagenum_link ) . '%_%';
 
-	$format  = $GLOBALS['wp_rewrite']->using_index_permalinks() && ! strpos( $pagenum_link, 'index.php' ) ? 'index.php/' : '';
-	$format .= $GLOBALS['wp_rewrite']->using_permalinks() ? user_trailingslashit( 'page/%#%', 'paged' ) : '?paged=%#%';
+	$format  = $wp_rewrite->using_index_permalinks() && ! strpos( $pagenum_link, 'index.php' ) ? 'index.php/' : '';
+	$format .= $wp_rewrite->using_permalinks() ? user_trailingslashit( $wp_rewrite->pagination_base . '/%#%', 'paged' ) : '?paged=%#%';
 
 	// Set up paginated links.
 	$links = paginate_links( array(
 		'base'     => $pagenum_link,
 		'format'   => $format,
-		'total'    => $GLOBALS['wp_query']->max_num_pages,
+		'total'    => $wp_query->max_num_pages,
 		'current'  => $paged,
 		'mid_size' => 1,
 		'add_args' => array_map( 'urlencode', $query_args ),
diff --git a/wp-content/themes/twentyfourteen/inc/widgets.php b/wp-content/themes/twentyfourteen/inc/widgets.php
index 61c1160ae..9bd1e79ef 100644
--- a/wp-content/themes/twentyfourteen/inc/widgets.php
+++ b/wp-content/themes/twentyfourteen/inc/widgets.php
@@ -47,7 +47,7 @@ class Twenty_Fourteen_Ephemera_Widget extends WP_Widget {
 	 * @param array $instance An array of settings for this widget instance.
 	 */
 	public function widget( $args, $instance ) {
-		$format = $instance['format'];
+		$format = isset( $instance['format'] ) && in_array( $instance['format'], $this->formats ) ? $instance['format'] : 'aside';
 
 		switch ( $format ) {
 			case 'image':
diff --git a/wp-content/themes/twentyfourteen/js/functions.js b/wp-content/themes/twentyfourteen/js/functions.js
index ea656d807..7eddd83ef 100644
--- a/wp-content/themes/twentyfourteen/js/functions.js
+++ b/wp-content/themes/twentyfourteen/js/functions.js
@@ -40,7 +40,13 @@
 	 * @link http://www.nczonline.net/blog/2013/01/15/fixing-skip-to-content-links/
 	 */
 	_window.on( 'hashchange.twentyfourteen', function() {
-		var element = document.getElementById( location.hash.substring( 1 ) );
+		var hash = location.hash.substring( 1 ), element;
+
+		if ( ! hash ) {
+			return;
+		}
+
+		element = document.getElementById( hash );
 
 		if ( element ) {
 			if ( ! /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) {
@@ -88,7 +94,7 @@
 				mastheadOffset = $( '#masthead' ).offset().top - toolbarOffset;
 
 				_window.on( 'scroll.twentyfourteen', function() {
-					if ( ( window.scrollY > mastheadOffset ) && ( mastheadHeight < 49 ) ) {
+					if ( _window.scrollTop() > mastheadOffset && mastheadHeight < 49 ) {
 						body.addClass( 'masthead-fixed' );
 					} else {
 						body.removeClass( 'masthead-fixed' );
diff --git a/wp-content/themes/twentyfourteen/languages/twentyfourteen.pot b/wp-content/themes/twentyfourteen/languages/twentyfourteen.pot
index 3cd1327ef..cf6703058 100644
--- a/wp-content/themes/twentyfourteen/languages/twentyfourteen.pot
+++ b/wp-content/themes/twentyfourteen/languages/twentyfourteen.pot
@@ -2,9 +2,9 @@
 # This file is distributed under the GNU General Public License v2 or later.
 msgid ""
 msgstr ""
-"Project-Id-Version: Twenty Fourteen 1.1\n"
+"Project-Id-Version: Twenty Fourteen 1.2\n"
 "Report-Msgid-Bugs-To: http://wordpress.org/tags/twentyfourteen\n"
-"POT-Creation-Date: 2014-04-16 18:29:37+00:00\n"
+"POT-Creation-Date: 2014-09-03 00:45:47+00:00\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -141,7 +141,7 @@ msgid ""
 "searching can help."
 msgstr ""
 
-#. #-#-#-#-#  twentyfourteen.pot (Twenty Fourteen 1.0)  #-#-#-#-#
+#. #-#-#-#-#  twentyfourteen.pot (Twenty Fourteen 1.2)  #-#-#-#-#
 #. Author URI of the plugin/theme
 #: footer.php:21
 msgid "http://wordpress.org/"
@@ -202,7 +202,7 @@ msgid_plural "%d Articles"
 msgstr[0] ""
 msgstr[1] ""
 
-#: functions.php:488
+#: functions.php:491
 msgid "Page %s"
 msgstr ""
 
@@ -244,18 +244,18 @@ msgstr ""
 msgid "Display Site Title &amp; Tagline"
 msgstr ""
 
-#: inc/customizer.php:35 inc/featured-content.php:408
+#: inc/customizer.php:35 inc/featured-content.php:405
 msgid "Featured Content"
 msgstr ""
 
-#: inc/customizer.php:36 inc/featured-content.php:409
+#: inc/customizer.php:36 inc/featured-content.php:406
 msgid ""
 "Use a <a href=\"%1$s\">tag</a> to feature your posts. If no posts match the "
 "tag, <a href=\"%2$s\">sticky posts</a> will be displayed instead."
 msgstr ""
 
-#: inc/customizer.php:37 inc/customizer.php:102 inc/featured-content.php:410
-#: inc/featured-content.php:419 inc/featured-content.php:479
+#: inc/customizer.php:37 inc/customizer.php:102 inc/featured-content.php:407
+#: inc/featured-content.php:416 inc/featured-content.php:476
 msgctxt "featured content default tag slug"
 msgid "featured"
 msgstr ""
@@ -272,7 +272,7 @@ msgstr ""
 msgid "Slider"
 msgstr ""
 
-#. #-#-#-#-#  twentyfourteen.pot (Twenty Fourteen 1.0)  #-#-#-#-#
+#. #-#-#-#-#  twentyfourteen.pot (Twenty Fourteen 1.2)  #-#-#-#-#
 #. Theme Name of the plugin/theme
 #: inc/customizer.php:99
 msgid "Twenty Fourteen"
@@ -302,43 +302,43 @@ msgid ""
 "\">Twenty Fourteen documentation</a>."
 msgstr ""
 
-#: inc/featured-content.php:431
+#: inc/featured-content.php:428
 msgid "Tag Name"
 msgstr ""
 
-#: inc/featured-content.php:436
+#: inc/featured-content.php:433
 msgid "Don&rsquo;t display tag on front end."
 msgstr ""
 
-#: inc/template-tags.php:45
+#: inc/template-tags.php:50
 msgid "&larr; Previous"
 msgstr ""
 
-#: inc/template-tags.php:46
+#: inc/template-tags.php:51
 msgid "Next &rarr;"
 msgstr ""
 
-#: inc/template-tags.php:53
+#: inc/template-tags.php:58
 msgid "Posts navigation"
 msgstr ""
 
-#: inc/template-tags.php:80
+#: inc/template-tags.php:85
 msgid "Post navigation"
 msgstr ""
 
-#: inc/template-tags.php:84
+#: inc/template-tags.php:89
 msgid "<span class=\"meta-nav\">Published In</span>%title"
 msgstr ""
 
-#: inc/template-tags.php:86
+#: inc/template-tags.php:91
 msgid "<span class=\"meta-nav\">Previous Post</span>%title"
 msgstr ""
 
-#: inc/template-tags.php:87
+#: inc/template-tags.php:92
 msgid "<span class=\"meta-nav\">Next Post</span>%title"
 msgstr ""
 
-#: inc/template-tags.php:104
+#: inc/template-tags.php:109
 msgid "Sticky"
 msgstr ""
 
diff --git a/wp-content/themes/twentyfourteen/style.css b/wp-content/themes/twentyfourteen/style.css
index cebe64358..d88aed580 100644
--- a/wp-content/themes/twentyfourteen/style.css
+++ b/wp-content/themes/twentyfourteen/style.css
@@ -4,7 +4,7 @@ Theme URI: http://wordpress.org/themes/twentyfourteen
 Author: the WordPress team
 Author URI: http://wordpress.org/
 Description: In 2014, our default theme lets you create a responsive magazine website with a sleek, modern design. Feature your favorite homepage content in either a grid or a slider. Use the three widget areas to customize your website, and change your content's layout with a full-width page template and a contributor page to show off your authors. Creating a magazine website with WordPress has never been easier.
-Version: 1.1
+Version: 1.2
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Tags: black, green, white, light, dark, two-columns, three-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-background, custom-header, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready
@@ -863,11 +863,19 @@ span + .edit-link:before,
 	font-weight: 700;
 	line-height: 48px;
 	margin: 0;
+
+	/* Nav-toggle width + search-toggle width - gutter = 86px */
+	max-width: -webkit-calc(100% - 86px);
+	max-width:         calc(100% - 86px);
 }
 
 .site-title a,
 .site-title a:hover {
 	color: #fff;
+	display: block;
+	overflow: hidden;
+	text-overflow: ellipsis;
+	white-space: nowrap;
 }
 
 /* Search in the header */
@@ -1003,7 +1011,6 @@ span + .edit-link:before,
 	background-color: #000;
 	border-radius: 0;
 	cursor: pointer;
-	font-size: 0;
 	height: 48px;
 	margin: 0;
 	overflow: hidden;
@@ -1018,8 +1025,7 @@ span + .edit-link:before,
 .menu-toggle:before {
 	color: #fff;
 	content: "\f419";
-	display: inline;
-	margin-top: 16px;
+	padding: 16px;
 }
 
 .menu-toggle:active,
@@ -1369,6 +1375,83 @@ a.post-thumbnail:hover {
 	background: transparent;
 }
 
+.hentry .mejs-overlay-button {
+	background-color: #fff;
+	background-image: none;
+	border-radius: 2px;
+	box-shadow: 1px 1px 1px rgba(0,0,0,.8);
+	color: #000;
+	height: 36px;
+	margin-left: -24px;
+	width: 48px;
+}
+
+.hentry .mejs-overlay-button:before {
+	-webkit-font-smoothing: antialiased;
+	content: '\f452';
+	display: inline-block;
+	font: normal 32px/1.125 Genericons;
+	position: absolute;
+	top: 1px;
+	left: 10px;
+}
+
+.hentry .mejs-controls .mejs-button button:focus {
+	outline: none;
+}
+
+.hentry .mejs-controls .mejs-button button {
+	-webkit-font-smoothing: antialiased;
+	background: none;
+	color: #fff;
+	display: inline-block;
+	font: normal 16px/1 Genericons;
+}
+
+.hentry .mejs-playpause-button.mejs-play button:before {
+	content: '\f452';
+}
+
+.hentry .mejs-playpause-button.mejs-pause button:before {
+	content: '\f448';
+}
+
+.hentry .mejs-volume-button.mejs-mute button:before {
+	content: '\f109';
+	font-size: 20px;
+	position: absolute;
+	top: -2px;
+	left: 0;
+}
+
+.hentry .mejs-volume-button.mejs-unmute button:before {
+	content: '\f109';
+	left: 0;
+	position: absolute;
+	top: 0;
+}
+
+.hentry .mejs-fullscreen-button button:before {
+	content: '\f474';
+}
+
+.hentry .mejs-fullscreen-button.mejs-unfullscreen button:before {
+	content: '\f406';
+}
+
+.hentry .mejs-overlay:hover .mejs-overlay-button {
+	background-color: #24890d;
+	color: #fff;
+}
+
+.hentry .mejs-controls .mejs-button button:hover {
+	color: #41a62a;
+}
+
+.content-sidebar .wp-playlist-item .wp-playlist-caption {
+	color: #000;
+}
+
 /* Page links */
 
 .page-links {
@@ -2248,8 +2331,8 @@ a.post-thumbnail:hover {
 	margin-bottom: 18px;
 }
 
-.widget input,
-.widget textarea {
+.widget-area .widget input,
+.widget-area .widget textarea {
 	background-color: rgba(255, 255, 255, 0.1);
 	border-color: rgba(255, 255, 255, 0.2);
 	color: #fff;
@@ -2257,8 +2340,8 @@ a.post-thumbnail:hover {
 	padding: 1px 2px 2px 4px;
 }
 
-.widget input:focus,
-.widget textarea:focus {
+.widget-area .widget input:focus,
+.widget-area .widget textarea:focus {
 	border-color: rgba(255, 255, 255, 0.3);
 }
 
@@ -3261,8 +3344,7 @@ a.post-thumbnail:hover {
 	}
 
 	.full-width .site-content .has-post-thumbnail .entry-header,
-	.full-width.singular .site-content .hentry.has-post-thumbnail,
-	.full-width.home .site-content .hentry.has-post-thumbnail {
+	.full-width .site-content .hentry.has-post-thumbnail:first-child {
 		margin-top: -48px;
 	}
 
@@ -3349,6 +3431,12 @@ a.post-thumbnail:hover {
 }
 
 @media screen and (min-width: 783px) {
+	.site-title {
+		/* Search-toggle width = 48px */
+		max-width: -webkit-calc(100% - 48px);
+		max-width:         calc(100% - 48px);
+	}
+
 	.header-main {
 		padding-right: 0;
 	}
@@ -3589,8 +3677,7 @@ a.post-thumbnail:hover {
 		margin-left: 20px;
 	}
 
-	.full-width.singular .site-content .hentry.has-post-thumbnail,
-	.full-width.home .site-content .hentry.has-post-thumbnail {
+	.full-width .site-content .hentry.has-post-thumbnail:first-child {
 		margin-top: -72px;
 	}
 
@@ -3655,7 +3742,7 @@ a.post-thumbnail:hover {
 
 	.site-description {
 		display: block;
-		margin: -3px 0 21px;
+		margin: 0 0 18px;
 	}
 
 	.site-description:empty {
diff --git a/wp-content/themes/twentythirteen/functions.php b/wp-content/themes/twentythirteen/functions.php
index 2cfd20fe4..5474d07d3 100644
--- a/wp-content/themes/twentythirteen/functions.php
+++ b/wp-content/themes/twentythirteen/functions.php
@@ -72,7 +72,7 @@ function twentythirteen_setup() {
 	 * This theme styles the visual editor to resemble the theme style,
 	 * specifically font, colors, icons, and column width.
 	 */
-	add_editor_style( array( 'css/editor-style.css', 'fonts/genericons.css', twentythirteen_fonts_url() ) );
+	add_editor_style( array( 'css/editor-style.css', 'genericons/genericons.css', twentythirteen_fonts_url() ) );
 
 	// Adds RSS feed links to <head> for posts and comments.
 	add_theme_support( 'automatic-feed-links' );
@@ -170,13 +170,13 @@ function twentythirteen_scripts_styles() {
 		wp_enqueue_script( 'jquery-masonry' );
 
 	// Loads JavaScript file with functionality specific to Twenty Thirteen.
-	wp_enqueue_script( 'twentythirteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '2014-03-18', true );
+	wp_enqueue_script( 'twentythirteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '2014-06-08', true );
 
 	// Add Source Sans Pro and Bitter fonts, used in the main stylesheet.
 	wp_enqueue_style( 'twentythirteen-fonts', twentythirteen_fonts_url(), array(), null );
 
 	// Add Genericons font, used in the main stylesheet.
-	wp_enqueue_style( 'genericons', get_template_directory_uri() . '/fonts/genericons.css', array(), '2.09' );
+	wp_enqueue_style( 'genericons', get_template_directory_uri() . '/genericons/genericons.css', array(), '3.03' );
 
 	// Loads our main stylesheet.
 	wp_enqueue_style( 'twentythirteen-style', get_stylesheet_uri(), array(), '2013-07-18' );
@@ -214,7 +214,7 @@ function twentythirteen_wp_title( $title, $sep ) {
 		$title = "$title $sep $site_description";
 
 	// Add a page number if necessary.
-	if ( $paged >= 2 || $page >= 2 )
+	if ( ( $paged >= 2 || $page >= 2 ) && ! is_404() )
 		$title = "$title $sep " . sprintf( __( 'Page %s', 'twentythirteen' ), max( $paged, $page ) );
 
 	return $title;
diff --git a/wp-content/themes/twentythirteen/genericons/COPYING.txt b/wp-content/themes/twentythirteen/genericons/COPYING.txt
new file mode 100644
index 000000000..aece214b7
--- /dev/null
+++ b/wp-content/themes/twentythirteen/genericons/COPYING.txt
@@ -0,0 +1,9 @@
+Genericons is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
+
+The fonts are distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+As a special exception, if you create a document which uses this font, and embed this font or unaltered portions of this font into the document, this font does not by itself cause the resulting document to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the document might be covered by the GNU General Public License. If you modify this font, you may extend this exception to your version of the font, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
+
+This license does not convey any intellectual property rights to third party trademarks that may be included in the icon font; such marks remain subject to all rights and guidelines of use of their owner.
\ No newline at end of file
diff --git a/wp-content/themes/twentythirteen/genericons/Genericons-Regular.otf b/wp-content/themes/twentythirteen/genericons/Genericons-Regular.otf
new file mode 100644
index 0000000000000000000000000000000000000000..5cd41e8b81c9fa490d0ed695536226c0dbe69ac6
GIT binary patch
literal 18212
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
a|Fc8wA1{+*^ZEs8@Ula?AOzU6zyAkx9WvPf

literal 0
HcmV?d00001

diff --git a/wp-content/themes/twentythirteen/genericons/LICENSE.txt b/wp-content/themes/twentythirteen/genericons/LICENSE.txt
new file mode 100644
index 000000000..d159169d1
--- /dev/null
+++ b/wp-content/themes/twentythirteen/genericons/LICENSE.txt
@@ -0,0 +1,339 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                            NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/wp-content/themes/twentythirteen/genericons/README.txt b/wp-content/themes/twentythirteen/genericons/README.txt
new file mode 100644
index 000000000..7a0a92e5f
--- /dev/null
+++ b/wp-content/themes/twentythirteen/genericons/README.txt
@@ -0,0 +1,123 @@
+  ___  ____  __ _  ____  ____  __  ___  __   __ _  ____ 
+ / __)(  __)(  ( \(  __)(  _ \(  )/ __)/  \ (  ( \/ ___)
+( (_ \ ) _) /    / ) _)  )   / )(( (__(  O )/    /\___ \
+ \___/(____)\_)__)(____)(__\_)(__)\___)\__/ \_)__)(____/
+
+
+Genericons are vector icons embedded in a webfont designed to be clean and simple keeping with a generic aesthetic.
+
+Use genericons for instant HiDPI, to change icon colors on the fly, or even with CSS effects such as drop-shadows or gradients!
+
+
+_  _ ____ ____ ____ ____ 
+|  | [__  |__| | __ |___ 
+|__| ___] |  | |__] |___ 
+
+
+To use it, place the font folder in your stylesheet directory and paste this in your CSS file:
+
+/* =Genericons, thanks to FontSquirrel.com for conversion!
+-------------------------------------------------------------- */
+@font-face {
+    font-family: 'Genericons';
+    src: url('font/genericons-regular-webfont.eot');
+    src: url('font/genericons-regular-webfont.eot?#iefix') format('embedded-opentype'),
+         url('font/genericons-regular-webfont.woff') format('woff'),
+         url('font/genericons-regular-webfont.ttf') format('truetype'),
+         url('font/genericons-regular-webfont.svg#genericonsregular') format('svg');
+    font-weight: normal;
+    font-style: normal;
+
+}
+
+Note: the above only works if you don't use a CDN. If you do, or don't know what that is, you should use the syntax that's embedded in genericons.css.
+
+From then on, you can create an icon like this:
+
+.my-icon:before {
+	content: '\f101';
+	display: inline-block;
+	-webkit-font-smoothing: antialiased;
+	font: normal 16px/1 'Genericons';
+	vertical-align: top;
+}
+
+This will output a comment icon before every element with the class "my-icon". The "content: '\f101';" part of this CSS is easily copied from the helper tool at http://genericons.com/
+
+You can also use the bundled example.css if you'd rather insert the icons using HTML tags.
+
+
+_  _ ____ ___ ____ ____ 
+|\ | |  |  |  |___ [__  
+| \| |__|  |  |___ ___]
+
+
+Photoshop mockups:
+
+Genericons-Regular.otf found in the root directory of this zip has not been web-font-ified. So you can drop it in your system fonts folder and use the font in Photoshop if you like.
+
+For those of you using Genericons in your Photoshop mockup, remember to delete the old version of the font from Font Book, and grab the new one from the zip file. This also affects using it in your webdesigns: if you have an old version of the font installed locally, that's the font that'll be used in your website as well, so if you're missing icons, check for old versions of the font on your system.
+
+Pixel grid:
+
+Note that Genericons has been designed for a 16x16 pixel grid. That means it'll look sharp at font-size: 16px exactly. It'll also be crisp at multiples thereof, such as 32px or 64px. It'll also look reasonably crisp at in-between font sizes such as 24px or 48px, but not quite as crisp as 16 or 32. Please don't set the font-size to 17px, though, that'll just look terrible.
+
+Also note the CSS property "-webkit-font-smoothing: antialiased". That makes the icons look great in WebKit browsers. Please see http://noscope.com/2012/font-smoothing for more info.
+
+Updates:
+
+We don't often update icons, but do very carefully when we get good feedback suggesting improvements. Please be mindful if you upgrade, and check that the updated icons behave as you intended.
+
+
+
+____ _  _ ____ _  _ ____ ____ _    ____ ____ 
+|    |__| |__| |\ | | __ |___ |    |  | | __ 
+|___ |  | |  | | \| |__] |___ |___ |__| |__] 
+
+V3.0.3:
+Bunch of updates mostly.
+- Two new icons, Dropbox and Fullscreen.
+- Updates to all icons containing an exclamation mark.
+- Updates to Image and Quote.
+- Nicer "Share" icon.
+- Bigger default Linkedin icon.
+
+V3.0.2: 
+A slew of new stuff and updates.
+- Social icons: Skype, Digg, Reddit, Stumbleupon, Pocket.
+- New generic icons: heart, lock and print.
+- New editing icons: code, bold, italic, image
+- New interaction icons: subscribe, unsubscribe, subscribed, reply all, reply, flag.
+- The hyperlink icon has been updated to be clearer, chunkier.
+- The "home" icon has been updated for style, size and clarity.
+- The email icon has been updated for style and clarity, and to fit with the new subscribe icons.
+- The document icon has been updated for style.
+- The "pin" icon has been updated for style and clarity.
+- The Twitter icon has been scaled down to fit with the other social icons.
+
+V3.0.1: 
+Mostly maintenance. 
+- Fixed an issue with the example page that showed an old "top" icon instead of the actual NEW "refresh" icon.
+- Added inverse Google+ and Path.
+- Replaced tabs with spaces in the helper CSS.
+- Changed the Genericons.com copy/paste tool to serve span's instead of div's for casual icon insertion. It's being converted to "inline-block" anyway.
+
+V3.0:
+Mainly maintenance and a few new icons.
+- Fast forward, rewind, PollDaddy, Notice, Info, Help, Portfolio
+- Updated the feed icon. It's a bit smaller now for consistency, the previous one was rather big.
+- So, the previous version numbering, 2.09, wasn't very PHP version compare friendly. So from now on it'll be 3.0, 3.1 etc. Props Ipstenu.
+- Genericons.com now has a mini release blog.
+- The CSS has prettier formatting, props Konstantin Obenland.
+
+V2.09:
+Updated Facebook icon to new version. Updated Instagram logo to use new one-color version. Updated Google+ icon to use same radius as Instagram and Facebook. Added a bunch of new icons, cog, unapprove, cart, media player buttons, tablet, send to tablet.                                            
+
+V2.06:
+Included Base64 encoded version. This is necessary for Genericons to work with CDNs in Firefox. Firefox blocks fonts linked from a different domain. A CDN (typically s.example.com) usually puts the font on a subdomain, and is hence blocked in Firefox.
+
+V2.05:
+Added a bunch of new icons, including upload to cloud, download to cloud, many more.
+
+V2:
+Initial public release
\ No newline at end of file
diff --git a/wp-content/themes/twentythirteen/genericons/example.html b/wp-content/themes/twentythirteen/genericons/example.html
new file mode 100644
index 000000000..cdc7d04c7
--- /dev/null
+++ b/wp-content/themes/twentythirteen/genericons/example.html
@@ -0,0 +1,464 @@
+<!DOCTYPE html>
+<html dir="ltr" lang="en">
+<head>
+<title>Genericons</title>
+<link rel="stylesheet" href="genericons.css">
+<style type="text/css">
+body {
+	font-family: sans-serif;
+	line-height: 1.5;
+	width: 800px;
+	margin: 50px auto;
+	color: #777;
+	background: white;
+}
+.icons {
+	overflow: hidden;
+	padding: 10px 0;
+}
+.icons div {
+	cursor: pointer;
+	float: left;
+	margin: 0 30px 30px 0;
+}
+.icons:hover div {
+	background: #f7f7f7;
+}
+.code {
+        display: block;
+        font: 14px/1.5 monospace;
+        width: 740px;
+        white-space: pre;
+        border: 1px solid #ccc;
+        padding: 10px;
+        color: #777;
+        overflow: auto;
+}
+.my-icon:before {
+	content: '\f408';
+        display: inline-block;
+        -webkit-font-smoothing: antialiased;
+        font: normal 32px/1 'Genericons';
+        vertical-align: middle;
+}
+/* For the Examples */
+.my-checklist {
+	list-style-type: none;
+	text-indent: -16px;
+}
+.my-checklist li:before {
+	padding-right: 16px;
+	content: '\f418';
+        display: inline-block;
+        -webkit-font-smoothing: antialiased;
+        font: normal 16px/1 'Genericons';
+        vertical-align: text-top;
+}
+.my-blockquote {
+	background: #eee;
+	border-left: 32px solid #ddd;
+	padding: 10px;
+}
+.my-blockquote:before {
+	margin-left: -42px;
+	padding-right: 10px;
+        content: '\f106';
+        display: inline-block;
+        -webkit-font-smoothing: antialiased;
+        font: normal 32px/20px 'Genericons';
+        vertical-align: bottom;
+}
+.my-button {
+	font-family: Helvetica, sans-serif;
+	font-size: 14px;
+	background: #e05d22; /* Old browsers */
+	background: -webkit-linear-gradient(top, #e05d22 0%, #d94412 100%); /* Chrome10+,Safari5.1+ */
+	background: -moz-linear-gradient(   top, #e05d22 0%, #d94412 100%); /* FF3.6+ */
+	background: -ms-linear-gradient(    top, #e05d22 0%, #d94412 100%); /* IE10+ */
+	background: -o-linear-gradient(     top, #e05d22 0%, #d94412 100%); /* Opera 11.10+ */
+	background: linear-gradient(  to bottom, #e05d22 0%, #d94412 100%); /* W3C */
+	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e05d22', endColorstr='#d94412', GradientType=0); /* IE6-9 */
+	display: inline-block;
+	padding: 10px 16px 4px 16px;
+	color: #fff;
+	text-decoration: none;
+	border: none;
+	border-bottom: 3px solid #b93207;
+	border-radius: 2px;
+}
+.my-button:hover,
+.my-button:focus {
+	background: #ed6a31; /* Old browsers */
+	background: -webkit-linear-gradient(top, #ed6a31 0%, #e55627 100%); /* Chrome10+,Safari5.1+ */
+	background: -moz-linear-gradient(   top, #ed6a31 0%, #e55627 100%); /* FF3.6+ */
+	background: -ms-linear-gradient(    top, #ed6a31 0%, #e55627 100%); /* IE10+ */
+	background: -o-linear-gradient(     top, #ed6a31 0%, #e55627 100%); /* Opera 11.10+ */
+	background: linear-gradient(  to bottom, #ed6a31 0%, #e55627 100%); /* W3C */
+	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ed6a31', endColorstr='#e55627', GradientType=0); /* IE6-9 */
+	outline: none;
+}
+.my-button:active {
+	background: #d94412; /* Old browsers */
+	background: -webkit-linear-gradient(top, #d94412 0%, #e05d22 100%); /* Chrome10+,Safari5.1+ */
+	background: -moz-linear-gradient(   top, #d94412 0%, #e05d22 100%); /* FF3.6+ */
+	background: -ms-linear-gradient(    top, #d94412 0%, #e05d22 100%); /* IE10+ */
+	background: -o-linear-gradient(     top, #d94412 0%, #e05d22 100%); /* Opera 11.10+ */
+	background: linear-gradient(  to bottom, #d94412 0%, #e05d22 100%); /* W3C */
+	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#d94412', endColorstr='#e05d22', GradientType=0); /* IE6-9 */
+	border: none;
+	border-top: 3px solid #b93207;
+	padding: 6px 16px 7px 16px;
+}
+</style>
+</head>
+<body>
+
+<div class="section">
+
+	<h1>Genericons Usage</h1>
+
+	<p>Copy the <strong>font</strong> folder and the <strong>genericons.css</strong> file together into your project. Link the CSS in your HTML:</p>
+
+	<p><code>&lt;link href="path/to/genericons.css" rel="stylesheet"&gt;</code></p>
+
+	<p>Drop in the following HTML with the name of the icon you want to display:</p>
+
+	<p><code>&lt;div class="genericon genericon-standard"&gt;&lt;/div&gt;</code></p>
+
+	<div class="icons">
+	
+		<!-- post formats -->
+		<div alt="f100" class="genericon genericon-standard"></div>
+		<div alt="f101" class="genericon genericon-aside"></div>
+		<div alt="f102" class="genericon genericon-image"></div>
+		<div alt="f103" class="genericon genericon-gallery"></div>
+		<div alt="f104" class="genericon genericon-video"></div>
+		<div alt="f105" class="genericon genericon-status"></div>
+		<div alt="f106" class="genericon genericon-quote"></div>
+		<div alt="f107" class="genericon genericon-link"></div>
+		<div alt="f108" class="genericon genericon-chat"></div>
+		<div alt="f109" class="genericon genericon-audio"></div>
+
+		<!-- social icons -->
+		<div alt="f200" class="genericon genericon-github"></div>
+		<div alt="f201" class="genericon genericon-dribbble"></div>
+		<div alt="f202" class="genericon genericon-twitter"></div>
+		<div alt="f203" class="genericon genericon-facebook"></div>
+		<div alt="f204" class="genericon genericon-facebook-alt"></div>
+		<div alt="f205" class="genericon genericon-wordpress"></div>
+		<div alt="f206" class="genericon genericon-googleplus"></div>
+		<div alt="f207" class="genericon genericon-linkedin"></div>
+		<div alt="f208" class="genericon genericon-linkedin-alt"></div>
+		<div alt="f209" class="genericon genericon-pinterest"></div>
+		<div alt="f210" class="genericon genericon-pinterest-alt"></div>
+		<div alt="f211" class="genericon genericon-flickr"></div>
+		<div alt="f212" class="genericon genericon-vimeo"></div>
+		<div alt="f213" class="genericon genericon-youtube"></div>
+		<div alt="f214" class="genericon genericon-tumblr"></div>
+		<div alt="f215" class="genericon genericon-instagram"></div>
+		<div alt="f216" class="genericon genericon-codepen"></div>
+		<div alt="f217" class="genericon genericon-polldaddy"></div>
+		<div alt="f218" class="genericon genericon-googleplus-alt"></div>
+		<div alt="f219" class="genericon genericon-path"></div>
+		<div alt="f220" class="genericon genericon-skype"></div>
+		<div alt="f221" class="genericon genericon-digg"></div>
+		<div alt="f222" class="genericon genericon-reddit"></div>
+		<div alt="f223" class="genericon genericon-stumbleupon"></div>
+		<div alt="f224" class="genericon genericon-pocket"></div>
+		<div alt="f225" class="genericon genericon-dropbox"></div>
+
+		<!-- meta icons -->
+		<div alt="f300" class="genericon genericon-comment"></div>
+		<div alt="f301" class="genericon genericon-category"></div>
+		<div alt="f302" class="genericon genericon-tag"></div>
+		<div alt="f303" class="genericon genericon-time"></div>
+		<div alt="f304" class="genericon genericon-user"></div>
+		<div alt="f305" class="genericon genericon-day"></div>
+		<div alt="f306" class="genericon genericon-week"></div>
+		<div alt="f307" class="genericon genericon-month"></div>
+		<div alt="f308" class="genericon genericon-pinned"></div>
+
+		<!-- other icons -->
+		<div alt="f400" class="genericon genericon-search"></div>
+		<div alt="f401" class="genericon genericon-unzoom"></div>
+		<div alt="f402" class="genericon genericon-zoom"></div>
+		<div alt="f403" class="genericon genericon-show"></div>
+		<div alt="f404" class="genericon genericon-hide"></div>
+		<div alt="f405" class="genericon genericon-close"></div>
+		<div alt="f406" class="genericon genericon-close-alt"></div>
+		<div alt="f407" class="genericon genericon-trash"></div>
+		<div alt="f408" class="genericon genericon-star"></div>
+		<div alt="f409" class="genericon genericon-home"></div>
+		<div alt="f410" class="genericon genericon-mail"></div>
+		<div alt="f411" class="genericon genericon-edit"></div>
+		<div alt="f412" class="genericon genericon-reply"></div>
+		<div alt="f413" class="genericon genericon-feed"></div>
+		<div alt="f414" class="genericon genericon-warning"></div>
+		<div alt="f415" class="genericon genericon-share"></div>
+		<div alt="f416" class="genericon genericon-attachment"></div>
+		<div alt="f417" class="genericon genericon-location"></div>
+		<div alt="f418" class="genericon genericon-checkmark"></div>
+		<div alt="f419" class="genericon genericon-menu"></div>
+		<div alt="f420" class="genericon genericon-refresh"></div>
+		<div alt="f421" class="genericon genericon-minimize"></div>
+		<div alt="f422" class="genericon genericon-maximize"></div>
+		<div alt="f423" class="genericon genericon-404"></div>
+		<div alt="f424" class="genericon genericon-spam"></div>
+		<div alt="f425" class="genericon genericon-summary"></div>
+		<div alt="f426" class="genericon genericon-cloud"></div>
+		<div alt="f427" class="genericon genericon-key"></div>
+		<div alt="f428" class="genericon genericon-dot"></div>
+		<div alt="f429" class="genericon genericon-next"></div>
+		<div alt="f430" class="genericon genericon-previous"></div>
+		<div alt="f431" class="genericon genericon-expand"></div>
+		<div alt="f432" class="genericon genericon-collapse"></div>
+		<div alt="f433" class="genericon genericon-dropdown"></div>
+		<div alt="f434" class="genericon genericon-dropdown-left"></div>
+		<div alt="f435" class="genericon genericon-top"></div>
+		<div alt="f436" class="genericon genericon-draggable"></div>
+		<div alt="f437" class="genericon genericon-phone"></div>
+		<div alt="f438" class="genericon genericon-send-to-phone"></div>
+		<div alt="f439" class="genericon genericon-plugin"></div>
+		<div alt="f440" class="genericon genericon-cloud-download"></div>
+		<div alt="f441" class="genericon genericon-cloud-upload"></div>
+		<div alt="f442" class="genericon genericon-external"></div>
+		<div alt="f443" class="genericon genericon-document"></div>
+		<div alt="f444" class="genericon genericon-book"></div>
+		<div alt="f445" class="genericon genericon-cog"></div>
+		<div alt="f446" class="genericon genericon-unapprove"></div>
+		<div alt="f447" class="genericon genericon-cart"></div>
+		<div alt="f448" class="genericon genericon-pause"></div>
+		<div alt="f449" class="genericon genericon-stop"></div>
+		<div alt="f450" class="genericon genericon-skip-back"></div>
+		<div alt="f451" class="genericon genericon-skip-ahead"></div>
+		<div alt="f452" class="genericon genericon-play"></div>
+		<div alt="f453" class="genericon genericon-tablet"></div>
+		<div alt="f454" class="genericon genericon-send-to-tablet"></div>
+		<div alt="f455" class="genericon genericon-info"></div>
+		<div alt="f456" class="genericon genericon-notice"></div>
+		<div alt="f457" class="genericon genericon-help"></div>
+		<div alt="f458" class="genericon genericon-fastforward"></div>
+		<div alt="f459" class="genericon genericon-rewind"></div>
+		<div alt="f460" class="genericon genericon-portfolio"></div>
+		<div alt="f461" class="genericon genericon-heart"></div>
+		<div alt="f462" class="genericon genericon-code"></div>
+		<div alt="f463" class="genericon genericon-subscribe"></div>
+		<div alt="f464" class="genericon genericon-unsubscribe"></div>
+		<div alt="f465" class="genericon genericon-subscribed"></div>
+		<div alt="f466" class="genericon genericon-reply-alt"></div>
+		<div alt="f467" class="genericon genericon-reply-single"></div>
+		<div alt="f468" class="genericon genericon-flag"></div>
+		<div alt="f469" class="genericon genericon-print"></div>
+		<div alt="f470" class="genericon genericon-lock"></div>
+		<div alt="f471" class="genericon genericon-bold"></div>
+		<div alt="f472" class="genericon genericon-italic"></div>
+		<div alt="f473" class="genericon genericon-picture"></div>
+		<div alt="f474" class="genericon genericon-fullscreen"></div>
+
+		<!-- generic shapes -->
+		<div alt="f500" class="genericon genericon-uparrow"></div>
+		<div alt="f501" class="genericon genericon-rightarrow"></div>
+		<div alt="f502" class="genericon genericon-downarrow"></div>
+		<div alt="f503" class="genericon genericon-leftarrow"></div>
+
+	</div>
+
+	<p>If you want to insert an icon manually using the <code>:before</code> selector, you can setup CSS rules like the following example. <strong>Make sure to set the size to a multiple of 16px</strong> or the icons could end up looking fuzzy:</p>
+
+<p><textarea class="code" style="min-height: 150px;" onclick="select();">.my-icon:before {
+	content: '\f408';
+        display: inline-block;
+        -webkit-font-smoothing: antialiased;
+        font: normal 32px/1 'Genericons';
+        vertical-align: middle;
+}</textarea></p>
+
+	<p>Add a matching class to your HTML:</p>
+
+	<p><code>&lt;div class="my-icon"&gt;You're a Star!&lt;/div&gt;</code></p>
+
+	<p>Here's the result: <span class="my-icon">You're a Star!</span></p>
+
+	<h2>Examples</h2>
+
+	<p>Turn every icon a <span style="color: #fa8072;">Salmon</span> color:</p>
+
+<p><textarea class="code" style="min-height: 70px" onclick="select();">
+.genericon {
+	color: #fa8072;
+}</textarea></p>
+
+	<p>Or turn the stars <span style="color: #ffd700;">Gold</span>:</p>
+
+<p><textarea class="code" style="min-height: 70px" onclick="select();">
+.genericon-star {
+	color: #fa8072;
+}</textarea></p>
+
+	<p>Use icons for bulleted lists:</p>
+
+	<ul class="my-checklist">
+		<li>One</li>
+		<li>Two</li>
+		<li>Three</li>
+		<li>Four</li>
+	</ul>
+
+<p><textarea class="code" style="min-height: 130px" onclick="select();">
+<ul class="my-checklist">
+	<li>One</li>
+	<li>Two</li>
+	<li>Three</li>
+	<li>Four</li>
+</ul></textarea></p>
+
+<p><textarea class="code" style="min-height: 260px;" onclick="select();">
+.my-checklist {
+	list-style-type: none;
+	text-indent: -16px;
+}
+.my-checklist li:before {
+	padding-right: 16px;
+	content: '\f418';
+        display: inline-block;
+        -webkit-font-smoothing: antialiased;
+        font: normal 16px/1 'Genericons';
+        vertical-align: text-top;
+}</textarea></p>
+
+	<p>Use icons to style blockquotes:</p>
+
+	<blockquote class="my-blockquote">Sometimes I've believed as many as six impossible things before breakfast. &mdash;<em>Lewis Carroll</em></blockquote>
+	<blockquote class="my-blockquote">`Twas brillig, and the slithy toves Did gyre and gimble in the wabe: All mimsy were the borogoves, And the mome raths outgrabe. "Beware the Jabberwock, my son!  The jaws that bite, the claws that catch!  Beware the Jubjub bird, and shun The frumious Bandersnatch!"</blockquote>
+
+<p><textarea class="code" style="min-height: 40px;" onclick="select();"><blockquote class="my-blockquote">Sometimes I've believed as many as six impossible things before breakfast. &mdash;<em>Lewis Carroll</em></blockquote></textarea></p>
+
+<p><textarea class="code" style="min-height: 300px;" onclick="select();">
+.my-blockquote {
+	background: #eee;
+	border-left: 32px solid #ddd;
+	padding: 10px;
+}
+.my-blockquote:before {
+	margin-left: -42px;
+	padding-right: 10px;
+        content: '\f106';
+        display: inline-block;
+        -webkit-font-smoothing: antialiased;
+        font: normal 32px/20px 'Genericons';
+        vertical-align: bottom;
+} </textarea></p>
+
+	<p>Use icons to style buttons:</p>
+
+	<a class="my-button" href="javascript:void()"><i class="genericon genericon-show"></i> View</a>
+	<a class="my-button" href="javascript:void()"><i class="genericon genericon-audio"></i> Listen</a>
+
+<p><textarea class="code" style="min-height: 40px;" onclick="select();"><a class="my-button" href="#"><i class="genericon genericon-show"></i> View</a>
+<a class="my-button" href="#"><i class="genericon genericon-audio"></i> Listen</a></textarea></p>
+
+<p><textarea class="code" style="min-height: 300px;" onclick="select();">
+.my-button {
+	font-family: Helvetica, sans-serif;
+	background: #e05d22; /* Old browsers */
+	background: -webkit-linear-gradient(top, #e05d22 0%, #d94412 100%); /* Chrome10+,Safari5.1+ */
+	background: -moz-linear-gradient(   top, #e05d22 0%, #d94412 100%); /* FF3.6+ */
+	background: -ms-linear-gradient(    top, #e05d22 0%, #d94412 100%); /* IE10+ */
+	background: -o-linear-gradient(     top, #e05d22 0%, #d94412 100%); /* Opera 11.10+ */
+	background: linear-gradient(  to bottom, #e05d22 0%, #d94412 100%); /* W3C */
+	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e05d22', endColorstr='#d94412', GradientType=0); /* IE6-9 */
+	display: inline-block;
+	padding: 10px 16px 6px 16px;
+	color: #fff;
+	text-decoration: none;
+	border: none;
+	border-bottom: 3px solid #b93207;
+	border-radius: 2px;
+}
+
+.my-button:hover,
+.my-button:focus {
+	background: #ed6a31; /* Old browsers */
+	background: -webkit-linear-gradient(top, #ed6a31 0%, #e55627 100%); /* Chrome10+,Safari5.1+ */
+	background: -moz-linear-gradient(   top, #ed6a31 0%, #e55627 100%); /* FF3.6+ */
+	background: -ms-linear-gradient(    top, #ed6a31 0%, #e55627 100%); /* IE10+ */
+	background: -o-linear-gradient(     top, #ed6a31 0%, #e55627 100%); /* Opera 11.10+ */
+	background: linear-gradient(  to bottom, #ed6a31 0%, #e55627 100%); /* W3C */
+	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ed6a31', endColorstr='#e55627', GradientType=0); /* IE6-9 */
+	outline: none;
+}
+
+.my-button:active {
+	background: #d94412; /* Old browsers */
+	background: -webkit-linear-gradient(top, #d94412 0%, #e05d22 100%); /* Chrome10+,Safari5.1+ */
+	background: -moz-linear-gradient(   top, #d94412 0%, #e05d22 100%); /* FF3.6+ */
+	background: -ms-linear-gradient(    top, #d94412 0%, #e05d22 100%); /* IE10+ */
+	background: -o-linear-gradient(     top, #d94412 0%, #e05d22 100%); /* Opera 11.10+ */
+	background: linear-gradient(  to bottom, #d94412 0%, #e05d22 100%); /* W3C */
+	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#d94412', endColorstr='#e05d22', GradientType=0); /* IE6-9 */
+	border: none;
+	border-top: 3px solid #b93207;
+	padding: 6px 16px 10px 16px;
+}</textarea>/</p>
+
+	<h2>CSS Preprocessors</h2>
+
+	<p>Preprocessing extensions such as Sass (SCSS Syntax) or LESS</a> can make it easier to manage CSS for a lot of things at once using things like variables and mixins.</p>
+
+	<p>This example will seup the basic genericon rules and sets a color you can use for all icons using Sass:</p>
+
+<p><textarea class="code" style="min-height: 360px;" onclick="select();">$icon-color: "#fa8072";
+
+.genericon {
+        color: $icon-color;
+}
+
+@mixin genericon-rules {
+        display: inline-block;
+        -webkit-font-smoothing: antialiased;
+        font: normal 16px/1 'Genericons';
+        vertical-align: middle;
+}
+
+.my-icon:before {
+	content: '\f408';
+        @include genericon-rules;
+}</textarea></p>
+
+	<p>Here is a similar example for LESS:</p>
+
+<p><textarea class="code" style="min-height: 360px;" onclick="select();">@icon-color: "#fa8072";
+
+.genericon {
+        color: @icon-color;
+}
+
+.genericon-rules {
+        display: inline-block;
+        -webkit-font-smoothing: antialiased;
+        font: normal 16px/1 'Genericons';
+        vertical-align: middle;
+}
+
+.my-icon:before {
+	content: '\f408';
+        .genericon-rules;
+}</textarea></p>
+
+	<h2>Fallback images for IE7 and below</h2>
+
+	<p>Genericons <strong>does not come with fallback icons by default</strong> -- therefore you have to create them yourself. If you are using HTML similar to this example:
+
+	<p><code>&lt;span class="genericon genericon-warning"&gt;&lt;/span&gt;</code></p>
+
+	<p>You can use the asterisk hack to serve a different icon to IE7 once you have saved the fallback icons to your project:</p>
+
+<textarea class="code" style="min-height: 85px;" onclick="select();">.genericon-warning {
+        *background: url(fallback-icon.png) no-repeat center center;
+        *text-indent: 100%;
+}</textarea>
+
+</div>
+
+</body>
+</html>
diff --git a/wp-content/themes/twentythirteen/genericons/font/genericons-regular-webfont.eot b/wp-content/themes/twentythirteen/genericons/font/genericons-regular-webfont.eot
new file mode 100644
index 0000000000000000000000000000000000000000..46574695ece5d4a4d2eb5dd29c1b09995d93e214
GIT binary patch
literal 14935
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

literal 0
HcmV?d00001

diff --git a/wp-content/themes/twentythirteen/genericons/font/genericons-regular-webfont.svg b/wp-content/themes/twentythirteen/genericons/font/genericons-regular-webfont.svg
new file mode 100644
index 000000000..ef236c102
--- /dev/null
+++ b/wp-content/themes/twentythirteen/genericons/font/genericons-regular-webfont.svg
@@ -0,0 +1,135 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="genericonsregular" horiz-adv-x="2048" >
+<font-face units-per-em="2048" ascent="1638" descent="-410" />
+<missing-glyph horiz-adv-x="500" />
+<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
+<glyph unicode="&#xf100;" d="M512 512v128h768v-128h-768zM512 768v128h256v-128h-256zM512 1024v128h640v-128h-640zM512 1280v128h1024v-128h-1024zM896 768v128h640v-128h-640zM1280 1024v128h256v-128h-256z" />
+<glyph unicode="&#xf101;" d="M256 1024q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5zM768 1024q0 -106 75 -181t181 -75t181 75t75 181t-75 181t-181 75t-181 -75t-75 -181z" />
+<glyph unicode="&#xf102;" d="M128 384v896l512 128l128 256h512l128 -256l512 -128v-896h-1792zM256 1440v160h256v-96zM576 960q0 -185 131.5 -316.5t316.5 -131.5q186 0 317 131.5t131 316.5q0 186 -131 317t-317 131q-185 0 -316.5 -131t-131.5 -317zM704 960q0 133 93.5 226.5t226.5 93.5 t226.5 -93.5t93.5 -226.5q0 -132 -93.5 -226t-226.5 -94t-226.5 94t-93.5 226z" />
+<glyph unicode="&#xf103;" d="M128 512v384h384v-384h-384zM128 1024v384h896v-384h-896zM640 512v384h384v-384h-384zM1152 512v896h896v-896h-896z" />
+<glyph unicode="&#xf104;" d="M512 384v1280l1152 -640z" />
+<glyph unicode="&#xf105;" d="M640 1408q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5q0 -124 -71.5 -222t-184.5 -138v-536l-256 -128v664q-113 40 -184.5 138t-71.5 222z" />
+<glyph unicode="&#xf106;" d="M256 896v640h640v-640q0 -212 -150 -362t-362 -150v256q106 0 181 75t75 181h-384zM1152 896v640h640v-640q0 -212 -150 -362t-362 -150v256q106 0 181 75t75 181h-384z" />
+<glyph unicode="&#xf107;" d="M512 704v384q0 97 53 176.5t139 116.5v-151q-64 -57 -64 -142v-384q0 -80 56 -136t136 -56t136 56t56 136v384q0 85 -64 142v151q86 -37 139 -116.5t53 -176.5v-384q0 -133 -93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5zM768 1088v384q0 133 93.5 226.5 t226.5 93.5t226.5 -93.5t93.5 -226.5v-384q0 -97 -53 -176.5t-139 -116.5v151q64 57 64 142v384q0 80 -56 136t-136 56t-136 -56t-56 -136v-384q0 -85 64 -142v-151q-86 37 -139 116.5t-53 176.5z" />
+<glyph unicode="&#xf108;" d="M0 1152v384q0 96 80 176t176 80h1024q96 0 176 -80t80 -176v-384q0 -96 -80 -176t-176 -80h-448l-448 -448v448h-128q-96 0 -176 80t-80 176zM768 640l128 128h384q168 0 276 108t108 276v384q96 0 176 -80t80 -176v-384q0 -96 -80 -176t-176 -80h-128v-448l-448 448 h-320z" />
+<glyph unicode="&#xf109;" d="M256 768v512h384l384 384v-1280l-384 384h-384zM1205 843q75 75 75 181t-75 181l91 91q26 -27 46.5 -57.5t35 -65t22.5 -72.5t8 -77q0 -78 -29.5 -148t-82.5 -124zM1386 662q71 71 110.5 164.5t39.5 197.5t-39.5 197.5t-110.5 164.5l91 91q88 -89 137.5 -206t49.5 -247 q0 -87 -23 -170t-64.5 -153.5t-99.5 -129.5z" />
+<glyph unicode="&#xf200;" d="M0 1024q0 208 81 398t218.5 327t327 218t397.5 81q209 0 398.5 -81t326.5 -218t218 -326.5t81 -398.5q0 -335 -195.5 -601.5t-504.5 -369.5q-36 -7 -53 8.5t-17 40.5q0 4 0.5 102t0.5 179q0 130 -69 189q77 9 137.5 24.5t124.5 51.5t107 89t70.5 140t27.5 201 q0 161 -105 274q6 15 11 35t9 56t-3.5 83.5t-26.5 96.5q-4 1 -10.5 2t-32 -1t-55.5 -11t-79.5 -33.5t-104.5 -61.5q-118 33 -256 35q-138 -2 -256 -35q-55 37 -104 61.5t-80 33t-54.5 11.5t-33.5 1l-10 -2q-58 -146 -10 -271q-105 -115 -105 -274q0 -114 27.5 -201 t70.5 -140t107 -89t124.5 -52t136.5 -24q-53 -47 -65 -137q-28 -13 -59.5 -20t-75.5 -6.5t-87.5 28.5t-75.5 83q-2 4 -6.5 10.5t-19 24t-31.5 31t-44 25.5t-56 14h-10t-18.5 -3.5t-17 -9t4 -18.5t34.5 -31q3 -1 7.5 -4t19 -14.5t27.5 -27t30 -43.5t30 -61q1 -3 2.5 -7t8 -17 t15.5 -25.5t24.5 -28t33.5 -28t45 -23.5t57.5 -16t71.5 -3.5t87 11.5q0 -50 0.5 -110t0.5 -64q0 -24 -17 -40t-53 -10q-309 103 -504.5 370t-195.5 602z" />
+<glyph unicode="&#xf201;" d="M0 1024q0 206 82 395.5t219.5 327t327 219.5t395.5 82t395.5 -82t327 -219.5t219.5 -327t82 -395.5t-82 -395.5t-219.5 -327t-327 -219.5t-395.5 -82t-395.5 82t-327 219.5t-219.5 327t-82 395.5zM128 1024q0 -167 58 -319.5t166 -272.5q125 205 339 360t445 232 q-16 48 -80 176q-282 -86 -481.5 -111t-446.5 -1v-64zM160 1232q194 -22 444 14t388 82q-141 282 -320 528q-194 -85 -329.5 -247.5t-182.5 -376.5zM480 320q216 -192 544 -192q181 0 368 80q-33 300 -208 688q-222 -74 -410 -225.5t-294 -350.5zM832 1904 q102 -166 304 -512q6 2 86 31t118.5 45t108 47t122 64t93.5 69q-126 126 -290.5 199t-349.5 73q-32 0 -96 -8t-96 -8zM1200 1248q22 -29 36.5 -54.5t34 -67.5t25.5 -54q170 33 336 30t288 -30q-26 285 -160 464q-71 -57 -162 -104.5t-214.5 -100.5t-183.5 -83zM1344 928 q14 -27 43 -103t74.5 -231t74.5 -306q156 108 258 278t126 362q-276 46 -576 0z" />
+<glyph unicode="&#xf202;" d="M128 465q48 -5 88 -5q256 0 456 157q-119 2 -213 73.5t-130 182.5q39 -7 69 -7q47 0 97 13q-127 26 -211 127t-84 233v5q80 -43 167 -46q-76 50 -120 131t-44 175q0 101 50 185q138 -170 335 -271.5t423 -112.5q-10 39 -10 84q0 152 108 259.5t260 107.5q160 0 268 -116 q128 26 233 89q-42 -132 -161 -203q109 13 211 58q-73 -111 -183 -191q0 -7 0.5 -23t0.5 -24q0 -122 -31 -246t-89.5 -241t-149.5 -218.5t-204 -177.5t-260.5 -119.5t-311.5 -43.5q-305 0 -564 165z" />
+<glyph unicode="&#xf203;" d="M128 384v1280q0 106 75 181t181 75h1280q106 0 181 -75t75 -181v-1280q0 -106 -75 -181t-181 -75h-282v711h270l12 260h-282v192v12q0 60 21.5 87.5t87.5 27.5l166 -1l6 242q-78 10 -183 10q-94 0 -167 -27.5t-117 -74.5t-66 -105.5t-22 -126.5v-236h-254v-260h254v-711 h-724q-106 0 -181 75t-75 181z" />
+<glyph unicode="&#xf204;" d="M640 969v303h222v258q0 78 26 147t77 124t136.5 87t194.5 32q55 0 108 -3t79 -6l26 -3l-7 -282h-193q-76 0 -101.5 -32t-25.5 -101v-14v-207h329l-14 -303h-315v-841h-320v841h-222z" />
+<glyph unicode="&#xf205;" d="M128 1024q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348zM218 1024q0 -236 125 -430.5t330 -294.5l-385 1053q-70 -156 -70 -328zM351 1466h52q37 0 91 2.5t89 4.5 l34 3q21 1 30.5 -14.5t2.5 -32.5t-27 -20q-44 -5 -93 -7l294 -873l176 529l-125 344l-85 7q-20 2 -27.5 19t2.5 33t30 15q133 -10 212 -10q38 0 91.5 2.5t88.5 4.5l35 3q16 1 25.5 -8.5t10 -22t-7 -23.5t-23.5 -13q-43 -5 -92 -7l291 -866l81 268q24 79 32.5 107.5 t18.5 74.5t10 79q0 46 -11.5 90.5t-23.5 71t-32 60.5q-2 4 -11.5 19t-12 20t-10.5 18.5t-11 19t-9 17.5t-8.5 19t-6.5 18t-5.5 19.5t-3 18.5t-1.5 20q0 57 39 100t97 43l10 -1q-110 101 -249.5 156.5t-294.5 55.5q-207 0 -385 -98t-288 -266zM796 251q112 -33 228 -33 q138 0 268 46q-4 6 -6 11l-248 679zM1429 328q183 106 292 291.5t109 404.5q0 207 -99 386q5 -40 5 -82q0 -135 -61 -289z" />
+<glyph unicode="&#xf206;" d="M128 486v485q125 -127 330 -127q30 0 59 3q-32 -61 -32 -118q0 -33 13 -63t28.5 -48.5t45.5 -47.5q-18 0 -54.5 -0.5t-55.5 -0.5q-183 0 -334 -83zM128 1599v65q0 106 75 181t181 75h1280q106 0 181 -75t75 -181v-128h-256v256h-128v-256h-256v-128h256v-256h128v256h256 v-1024q0 -106 -75 -181t-181 -75h-507q5 28 5 50q0 143 -46.5 230t-189.5 194q-3 2 -20.5 15t-25 19t-25.5 20t-27.5 22.5t-24 22t-23 23.5t-17 22t-12.5 22.5t-4 20.5q0 52 23 87t99 94q180 141 180 324q0 113 -45 204.5t-128 139.5h160l135 142h-607q-127 0 -241.5 -49 t-194.5 -132zM139 309q57 85 166 137.5t237 51.5q84 -1 158 -26q19 -13 62 -42.5t61 -42t48 -37t44.5 -41.5t29 -41.5t21.5 -49.5q7 -29 7 -66q0 -16 -1 -24h-588q-85 0 -153 50.5t-92 130.5zM228 1307q-21 161 50.5 269.5t194.5 104.5q121 -4 215.5 -118.5t116.5 -277.5 q21 -160 -43 -256t-187 -92q-125 4 -225.5 108t-121.5 262z" />
+<glyph unicode="&#xf207;" d="M256 1553q0 -73 50.5 -122t131.5 -49h2q84 0 135 49t51 122q-1 75 -51 123t-133 48t-134.5 -48.5t-51.5 -122.5zM275 256h330v991h-330v-991zM787 256h329v553q0 54 11 81q20 50 63 85t106 35q58 0 96 -29t54.5 -77.5t16.5 -117.5v-530h329v568q0 112 -28.5 198 t-80 139.5t-120 81t-150.5 27.5q-36 0 -69 -5.5t-58.5 -15t-49 -23t-40 -27t-32.5 -31t-26.5 -31.5t-21.5 -31v141h-329q1 -26 1.5 -138t0.5 -252.5t-0.5 -277.5t-1.5 -230v-93z" />
+<glyph unicode="&#xf208;" d="M128 384v1280q0 106 75 181t181 75h1280q106 0 181 -75t75 -181v-1280q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM384 1422q0 -58 40.5 -97.5t105.5 -39.5h1q67 0 108.5 39.5t41.5 97.5q-2 60 -42 98.5t-106 38.5q-67 0 -108 -39t-41 -98zM400 384h263 v793h-263v-793zM809 384h264v443q0 45 8 64q16 40 50.5 68t85.5 28q133 0 133 -179v-424h264v455q0 175 -83.5 266t-220.5 91q-50 0 -90.5 -12t-68.5 -34t-45 -41t-33 -44v112h-264v-793z" />
+<glyph unicode="&#xf209;" d="M171 1260q0 109 35.5 219t110 213t179 182t254 126.5t323.5 47.5q176 0 327.5 -60.5t253.5 -161t160 -231t58 -270.5q0 -246 -85 -443t-241 -309.5t-355 -112.5q-99 0 -186.5 46.5t-121.5 110.5q-73 -290 -89 -347q-34 -123 -127 -270l-149 54q-7 167 22 290l162 688 q-40 81 -40 200q0 139 70.5 232.5t172.5 93.5q83 0 127 -53.5t44 -135.5q0 -51 -18.5 -124t-49 -170t-44.5 -154q-23 -99 37.5 -171t161.5 -72q117 0 209.5 92t142 244.5t49.5 334.5q0 214 -139 349t-387 135q-139 0 -257.5 -49.5t-197 -133t-122.5 -193t-44 -229.5 q0 -147 83 -247q18 -21 21.5 -34t-3.5 -37q-16 -61 -25 -101q-7 -24 -24.5 -32t-39.5 1q-127 51 -192.5 181.5t-65.5 300.5z" />
+<glyph unicode="&#xf210;" d="M0 1024q0 208 81 398t218.5 327t327 218t397.5 81q209 0 398.5 -81t326.5 -218t218 -326.5t81 -398.5t-81 -398.5t-218 -326.5t-326.5 -218t-398.5 -81q-147 0 -290 42q74 116 103 219l72 282q28 -53 99 -90.5t151 -37.5q162 0 288.5 91.5t195.5 251t69 359.5 q0 114 -47 220t-130 187.5t-206.5 130.5t-265.5 49q-141 0 -262 -38.5t-205.5 -103t-145.5 -147.5t-89.5 -172.5t-28.5 -178.5q0 -138 53 -243.5t156 -147.5q18 -8 32.5 -1t18.5 26q2 9 10 41t11 41q5 19 2.5 30t-16.5 28q-68 78 -68 200q0 97 35.5 186t99.5 156.5t160 108 t209 40.5q201 0 313.5 -109.5t112.5 -283.5q0 -148 -40 -271.5t-115 -198t-169 -74.5q-82 0 -131.5 58.5t-30.5 138.5q11 46 35.5 125t39.5 138t15 101q0 66 -35.5 109.5t-102.5 43.5q-82 0 -139.5 -76t-57.5 -189q0 -43 8 -83.5t16 -59.5l9 -19q-113 -475 -132 -558 q-24 -97 -18 -235q-275 120 -444 374t-169 564z" />
+<glyph unicode="&#xf211;" d="M160 1024q0 -172 122 -294t294 -122t294 122t122 294t-122 294t-294 122t-294 -122t-122 -294zM1056 1024q0 -172 122 -294t294 -122t294 122t122 294t-122 294t-294 122t-294 -122t-122 -294z" />
+<glyph unicode="&#xf212;" d="M128 1379l84 -108q121 84 141 84q92 0 173 -287l144 -525q108 -287 265 -287q253 0 619 471q353 451 365 710q16 347 -260 355q-373 12 -505 -417q69 29 133 29q136 0 120 -152q-8 -92 -120 -268q-113 -176 -169 -176q-73 0 -133 271q-20 79 -72 407q-49 303 -258 284 q-89 -8 -265 -160q-127 -113 -262 -231z" />
+<glyph unicode="&#xf213;" d="M128 768v512q0 159 112.5 271.5t271.5 112.5h1024q159 0 271.5 -112.5t112.5 -271.5v-512q0 -159 -112.5 -271.5t-271.5 -112.5h-1024q-159 0 -271.5 112.5t-112.5 271.5zM768 640l640 384l-640 384v-768z" />
+<glyph unicode="&#xf214;" d="M472 1186h198v-629q0 -121 26 -187q26 -65 92 -122t161 -89q93 -31 218 -31q110 0 201 22q88 20 208 76v282q-134 -88 -271 -88q-76 0 -136 36q-44 25 -61 70q-17 46 -17 200v460h426v281h-426v453h-255q-17 -139 -62 -228q-48 -93 -121 -154q-74 -64 -181 -99v-253z" />
+<glyph unicode="&#xf215;" d="M128 384v1280q0 106 75 181t181 75h1280q106 0 181 -75t75 -181v-1280q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM256 384q0 -53 37.5 -90.5t90.5 -37.5h1280q53 0 90.5 37.5t37.5 90.5v768h-272q16 -66 16 -128q0 -212 -150 -362t-362 -150t-362 150 t-150 362q0 62 16 128h-272v-768zM640 1024q0 -159 112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5zM1408 1536q0 -53 37.5 -90.5t90.5 -37.5h128q53 0 90.5 37.5t37.5 90.5v128q0 53 -37.5 90.5t-90.5 37.5 h-128q-53 0 -90.5 -37.5t-37.5 -90.5v-128z" />
+<glyph unicode="&#xf216;" d="M256 790v467q0 31 29 55l702 467q17 11 37 11t37 -11l702 -467q29 -24 29 -55v-467q0 -32 -29 -54l-702 -468q-17 -11 -37 -11q-18 0 -37 11l-702 468q-29 22 -29 54zM388 914l165 110l-165 110v-220zM441 790l517 -344v308l-286 191zM441 1257l231 -154l286 191v307z M791 1024l233 -156l234 156l-234 156zM1090 446l517 344l-231 155l-286 -191v-308zM1090 1294l286 -191l231 154l-517 344v-307zM1495 1024l165 -110v220z" />
+<glyph unicode="&#xf217;" d="M128 1024q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348zM208 1024q0 -221 109.5 -409t297.5 -297.5t409 -109.5q236 0 432 123.5t298 327.5q59 136 59 266 q0 117 -43.5 221.5t-118.5 182.5t-175.5 131t-215.5 73q116 -48 204 -145t127 -218q54 -151 17.5 -320t-150.5 -289q-111 -123 -276 -179t-332 -27q-168 27 -307 138t-210 270q-74 156 -67.5 338.5t93.5 335.5q88 155 238.5 260t328.5 135q2 0 35 6q-208 -16 -380.5 -128 t-272.5 -293.5t-100 -392.5zM359 998q17 -148 100 -275.5t207 -200.5q120 -71 264 -78.5t267 49.5q-76 -21 -148 -21q-149 0 -275.5 74t-200.5 201t-74 276q0 214 146 373l3 3l14 14l1 1q98 114 235 178t293 64q163 0 306 -70t241 -193q-36 57 -70 96q-104 126 -250 200.5 t-305 80.5q-157 7 -306.5 -51.5t-258.5 -169.5q-109 -107 -159 -254.5t-30 -296.5zM612 1025q8 -119 85 -217t186 -128q110 -33 221.5 8.5t170.5 134.5q61 91 50 204t-86 187q-70 77 -179.5 87t-188.5 -50q-85 -62 -105 -157q-21 -98 30 -182q50 -84 142 -108q92 -23 172 26 q38 23 64 58.5t34 76.5q17 88 -34 159q-52 72 -136 77q-83 6 -142 -54q-57 -55 -45 -138q6 -37 27.5 -68.5t52.5 -47.5q40 -21 87 -16q-46 1 -82 29t-49 71l-2 3q-14 30 -9.5 67t25.5 66q22 30 56.5 46.5t72.5 14.5t73.5 -23.5t54.5 -55.5q46 -76 8 -158 q-18 -39 -53.5 -66.5t-78.5 -35.5q-43 -9 -88.5 3.5t-78.5 43.5q-74 68 -68 169q2 65 45 118.5t109.5 77t132.5 5.5q68 -16 118.5 -70.5t65 -124.5t-9.5 -144q-37 -107 -150 -158.5t-224 -8.5q-114 43 -170 158q-55 117 -17 238q35 121 152 191t246 47q131 -19 223 -128 t95 -246q6 -142 -81 -257q-86 -115 -225 -157q-114 -35 -234 -7q83 -34 174 -34q195 0 333.5 138.5t138.5 333.5v2q-10 107 -63.5 202.5t-137.5 157.5q-102 77 -236 87t-243 -49q-116 -62 -177 -167q-61 -107 -52 -231z" />
+<glyph unicode="&#xf218;" d="M128 464q0 -66 32 -125.5t92.5 -107t159 -75.5t222.5 -28q117 0 218.5 25t174 68t124 99.5t76.5 120.5t25 131q0 40 -6.5 74.5t-22.5 65t-30.5 53t-41.5 50t-45 43t-51 44.5l-85 66q-19 15 -28.5 24.5t-21 31t-11.5 45.5t12 47.5t21.5 34.5t32.5 33q37 29 59 48t52 52 t46 64t28 75.5t12 94.5q0 43 -8 82t-23.5 70.5t-30.5 55.5t-38 47.5t-35 34.5t-32 27h146l151 85h-485q-264 0 -421 -129q-73 -64 -111.5 -147.5t-38.5 -167.5q0 -56 16 -109.5t49.5 -100.5t79.5 -82.5t109 -56.5t136 -21q19 0 75 5q0 -2 -4 -10.5t-4.5 -10.5t-3.5 -9.5 t-4 -11l-3 -10.5t-2.5 -12.5t-1 -13t-0.5 -14.5q0 -26 5 -48t18.5 -45t20.5 -32.5t26 -34.5q-61 -4 -98 -7.5t-107 -14.5t-131.5 -32.5t-112.5 -53.5q-50 -29 -86.5 -66.5t-56.5 -76.5t-29 -74.5t-9 -69.5zM335 514q0 47 17 87.5t38.5 64.5t54 45t50.5 28.5t42 16.5 q35 11 76.5 19.5t77.5 12t58.5 5t34.5 1.5q35 0 54 -3q51 -36 82 -59t63.5 -50.5t50.5 -48.5t33.5 -46t21.5 -50.5t6 -55.5q0 -113 -91 -183.5t-255 -70.5q-187 0 -300.5 80t-113.5 207zM453 1591q0 110 51 174q28 35 73.5 56t91.5 21q56 0 105.5 -28.5t83.5 -74.5 t59 -103.5t36.5 -115.5t11.5 -110q0 -113 -59 -172q-18 -19 -44 -33.5t-56.5 -23.5t-58.5 -9q-58 0 -108 28.5t-83.5 73.5t-57.5 101.5t-34.5 111.5t-10.5 104zM1408 1024v128h256v256h128v-256h256v-128h-256v-256h-128v256h-256z" />
+<glyph unicode="&#xf219;" d="M134.5 1267.5q5.5 80.5 41 179.5t102.5 191q70 78 153.5 135t167 86.5t172 45.5t169 15t156.5 -8t137.5 -21t107.5 -26.5t72 -22.5l25 -9q12 -5 32 -14.5t74.5 -45.5t101 -78.5t97 -114.5t78 -153t27.5 -194.5t-40 -238.5q-43 -89 -97 -157.5t-109.5 -110t-115.5 -69 t-115.5 -37t-107.5 -12t-95.5 4t-76 13t-49.5 13.5l-18 6v-277q-1 -3 -2 -9t-6.5 -23t-14 -34t-24.5 -39.5t-36 -42t-51.5 -39.5t-68.5 -33q-52 -19 -107 -20t-97 11.5t-76.5 27.5t-53.5 27l-18 13v280q33 -34 67 -55.5t67.5 -28.5t61.5 11t44 63v946h312v-538l65 -13 q206 -32 329 60q105 78 128 243q2 76 -15.5 141t-49 110.5t-72.5 82.5t-86.5 59.5t-91.5 39t-87.5 24t-73.5 11.5t-52 5h-19l-66 -2q-217 -16 -359 -141q-57 -50 -97 -115q-27 -45 -39.5 -93t-11 -88t10 -78.5t22 -67.5t25.5 -51t21 -33l9 -12l-225 -201q-7 9 -18.5 25 t-40.5 68.5t-49.5 107.5t-34.5 137.5t-8.5 163z" />
+<glyph unicode="&#xf220;" d="M141 1431q0 133 65.5 245.5t178 178t245.5 65.5q141 0 260 -75q69 12 144 12q171 0 327 -66.5t269 -179.5t179.5 -269t66.5 -327q0 -96 -19 -181q51 -106 50 -217q0 -133 -65.5 -245.5t-178 -178t-244.5 -65.5q-123 0 -231 58q-79 -14 -155 -14q-171 0 -327 67t-269 180 t-179.5 269t-66.5 327q0 86 17 169q-67 116 -67 247zM537 775q0 -75 54 -153q52 -76 139 -123q119 -63 302 -63q150 0 263 46q111 46 171 130q59 85 59 188q0 88 -34 149q-35 62 -96 100q-58 39 -143 66q-77 25 -187 49q-89 20 -116 28q-35 9 -68 27q-33 15 -50 38 q-17 20 -17 49q0 46 52 80q54 36 146 36q97 0 141 -32q43 -32 75 -94q30 -48 51 -67q25 -22 72 -22q53 0 87 36q34 35 34 81t-25 96q-24 47 -82 92q-57 45 -139 70q-86 26 -197 26q-139 0 -247 -40q-107 -39 -164 -113q-57 -73 -57 -170q0 -102 55 -170q52 -65 144 -105 q95 -40 221 -66q93 -20 154 -38q57 -19 90 -50q33 -30 33 -80q0 -64 -62 -105q-65 -44 -170 -44q-78 0 -123 22q-47 22 -70 54q-27 34 -49 86q-21 49 -49 72q-32 26 -75 26q-52 0 -87 -33q-36 -33 -36 -79z" />
+<glyph unicode="&#xf221;" d="M384 384v640h192q49 0 104 47t103.5 127.5t80.5 204.5t32 261q0 5 0.5 13.5t4 31t9.5 39t19 30.5t31 14q33 0 77.5 -42t79.5 -119t35 -159q0 -85 -8 -165t-16 -117l-8 -38h416q53 0 90.5 -37.5t37.5 -90.5q0 -41 -24 -74t-62 -46q22 -33 22 -72q0 -41 -24 -74t-62 -46 q22 -33 22 -72q0 -53 -37.5 -90.5t-90.5 -37.5h-64q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-448q-65 0 -123 20t-93.5 44t-80.5 44t-87 20h-128z" />
+<glyph unicode="&#xf222;" d="M205 1168q0 83 59 142t142 59q100 0 160 -83q183 97 412 106l92 457q5 22 23 33q18 12 39 7l313 -72q24 41 65.5 65.5t89.5 24.5q74 0 126.5 -52.5t52.5 -126.5t-52.5 -126.5t-126.5 -52.5q-71 0 -122 48.5t-56 119.5l-262 60l-77 -386q222 -12 397 -108q60 86 163 86 q83 0 141.5 -59t58.5 -142q0 -55 -28 -100.5t-74 -72.5q14 -50 14 -99q0 -135 -98.5 -250t-267.5 -181.5t-368 -66.5t-368.5 66.5t-268 181t-98.5 249.5q0 50 16 104q-44 27 -70.5 71.5t-26.5 97.5zM307 1168q0 -47 40 -75q47 75 132 137q-29 36 -73 36q-41 0 -70 -28.5 t-29 -69.5zM388 896q0 -107 85 -198t230.5 -144t317.5 -53q171 0 316.5 53t230.5 143.5t85 197.5q0 108 -85 199t-230.5 144t-316.5 53q-172 0 -317.5 -53t-230.5 -144t-85 -198zM672 982q0 46 32.5 79t78.5 33q47 0 79.5 -33t32.5 -79t-33 -79t-79 -33t-78.5 33t-32.5 79z M737 739.5q0 21.5 15 36.5t36 15t36 -15q56 -56 199 -56q145 0 201 56q15 15 36 15t36 -15t15 -36.5t-15 -36.5q-86 -86 -271 -86q-187 0 -273 86q-15 15 -15 36.5zM1153 982q0 46 32.5 79t79.5 33t79.5 -33t32.5 -79t-33 -79t-79 -33t-79 33t-33 79zM1523 1728 q0 -32 22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5t-54.5 -22.5t-22.5 -54.5zM1567 1227q83 -61 131 -138q43 31 43 79q0 40 -28.5 69t-69.5 29q-45 0 -76 -39z" />
+<glyph unicode="&#xf223;" d="M256 849v209h263v-206q0 -33 23.5 -56.5t57.5 -23.5t57.5 23.5t23.5 56.5v487q5 136 104.5 230.5t238.5 94.5t238.5 -95.5t104.5 -231.5v-107l-157 -45l-105 48v92q0 34 -23.5 57t-57.5 23t-57.5 -23t-23.5 -57l-1 -481q-1 -138 -101.5 -235t-241.5 -97q-142 0 -242.5 99 t-100.5 238zM1105 846v210l105 -48l157 46v-212q0 -33 23.5 -56.5t57.5 -23.5t57.5 23.5t23.5 56.5v216h263v-209q0 -139 -100.5 -238t-242.5 -99t-242 97.5t-102 236.5z" />
+<glyph unicode="&#xf224;" d="M256 1152v384q0 106 75 181t181 75h1024q106 0 181 -75t75 -181v-384q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5zM512 1281q0 -53 38 -91l362 -362l4 4q37 -64 108 -64t108 64l5 -4l362 362q37 38 37 91t-37 90t-91 37 q-53 0 -90 -37l-294 -294l-293 294q-37 37 -91 37t-90 -37q-38 -37 -38 -90z" />
+<glyph unicode="&#xf225;" d="M128 930l365 291l531 -328l-369 -308zM128 1513l527 345l369 -308l-531 -329zM497 508v115l158 -103l370 307l370 -307l158 103v-115l-528 -317zM1024 893l532 328l364 -291l-527 -345zM1024 1550l369 308l527 -345l-364 -292z" />
+<glyph unicode="&#xf300;" d="M256 896v384q0 106 75 181t181 75h1024q106 0 181 -75t75 -181v-384q0 -106 -75 -181t-181 -75h-448l-448 -448v448h-128q-106 0 -181 75t-75 181z" />
+<glyph unicode="&#xf301;" d="M384 512v1024h384l64 -128h448v-128h-640l-128 -256h128l64 128h960l-256 -640h-1024z" />
+<glyph unicode="&#xf302;" d="M256 768l768 768h512v-512l-768 -768zM1152 1280q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5z" />
+<glyph unicode="&#xf303;" d="M256 1088q0 143 55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5t-55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5zM384 1088q0 -117 45.5 -223.5t123 -184t184 -123t223.5 -45.5 t223.5 45.5t184 123t123 184t45.5 223.5t-45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5zM896 1062v474h128v-421l298 -298l-90 -91z" />
+<glyph unicode="&#xf304;" d="M512 384v256q0 159 112.5 271.5t271.5 112.5h256q159 0 271.5 -112.5t112.5 -271.5v-256h-1024zM768 1408q0 106 75 181t181 75t181 -75t75 -181t-75 -181t-181 -75t-181 75t-75 181z" />
+<glyph unicode="&#xf305;" d="M256 384v1280h256v128h128v-128h640v128h128v-128h256v-1280h-1408zM384 640q0 -53 37.5 -90.5t90.5 -37.5h896q53 0 90.5 37.5t37.5 90.5v640q0 53 -37.5 90.5t-90.5 37.5h-896q-53 0 -90.5 -37.5t-37.5 -90.5v-640zM768 1216q0 26 19 45t45 19h128q26 0 45 -19t19 -45 v-512q0 -26 -19 -45t-45 -19t-45 19t-19 45v448h-64q-26 0 -45 19t-19 45z" />
+<glyph unicode="&#xf306;" d="M256 384v1280h256v128h128v-128h640v128h128v-128h256v-1280h-1408zM384 640q0 -53 37.5 -90.5t90.5 -37.5h896q53 0 90.5 37.5t37.5 90.5v640q0 53 -37.5 90.5t-90.5 37.5h-896q-53 0 -90.5 -37.5t-37.5 -90.5v-640zM768 1216q0 26 19 45t45 19h256h2h1h3 q22 -2 38.5 -18t19.5 -39v-2v-2v-1v-2q0 -5 -2 -15l-128 -512q-6 -26 -28.5 -40t-48.5 -7q-26 6 -40 28.5t-7 48.5l108 433h-174q-26 0 -45 19t-19 45z" />
+<glyph unicode="&#xf307;" d="M256 384v1280h256v128h128v-128h640v128h128v-128h256v-1280h-1408zM384 640q0 -53 37.5 -90.5t90.5 -37.5h896q53 0 90.5 37.5t37.5 90.5v640q0 53 -37.5 90.5t-90.5 37.5h-896q-53 0 -90.5 -37.5t-37.5 -90.5v-640zM512 640v128h128v-128h-128zM512 896v128h128v-128 h-128zM768 640v128h128v-128h-128zM768 896v128h128v-128h-128zM768 1152v128h128v-128h-128zM1024 640v128h128v-128h-128zM1024 896v128h128v-128h-128zM1024 1152v128h128v-128h-128zM1280 896v128h128v-128h-128zM1280 1152v128h128v-128h-128z" />
+<glyph unicode="&#xf308;" d="M342 342q12 45 22 71t38 66.5t76 88.5l395 395l-227 227l181 181q37 -37 90.5 -37t91.5 37l181 181q38 38 38 91t-38 90l181 181l543 -543l-181 -181q-37 38 -90 38t-91 -38l-181 -181q-37 -37 -37 -90t37 -91l-181 -181l-227 226l-395 -395q-68 -68 -113.5 -93 t-112.5 -43z" />
+<glyph unicode="&#xf400;" d="M256 1216q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5q0 -184 -111 -337l495 -495l-128 -128l-495 495q-153 -111 -337 -111q-117 0 -223.5 45.5t-184 123t-123 184t-45.5 223.5zM384 1216q0 -185 131.5 -316.5 t316.5 -131.5q186 0 317 131.5t131 316.5t-131 316.5t-317 131.5q-185 0 -316.5 -131.5t-131.5 -316.5z" />
+<glyph unicode="&#xf401;" d="M256 1216q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5q0 -184 -111 -337l495 -495l-128 -128l-495 495q-153 -111 -337 -111q-117 0 -223.5 45.5t-184 123t-123 184t-45.5 223.5zM384 1216q0 -185 131.5 -316.5 t316.5 -131.5q186 0 317 131.5t131 316.5t-131 316.5t-317 131.5q-185 0 -316.5 -131.5t-131.5 -316.5zM512 1152v128h640v-128h-640z" />
+<glyph unicode="&#xf402;" d="M256 1216q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5q0 -184 -111 -337l495 -495l-128 -128l-495 495q-153 -111 -337 -111q-117 0 -223.5 45.5t-184 123t-123 184t-45.5 223.5zM384 1216q0 -185 131.5 -316.5 t316.5 -131.5q186 0 317 131.5t131 316.5t-131 316.5t-317 131.5q-185 0 -316.5 -131.5t-131.5 -316.5zM512 1152v128h256v256h128v-256h256v-128h-256v-256h-128v256h-256z" />
+<glyph unicode="&#xf403;" d="M0 1024l506 506q101 103 234.5 160.5t283.5 57.5t283.5 -57.5t233.5 -159.5l507 -507l-506 -507q-101 -103 -234.5 -160t-283.5 -57t-283.5 57.5t-233.5 160.5zM272 1024l370 -371q77 -78 175.5 -119.5t206.5 -41.5t206 41.5t174 118.5l373 372l-371 371 q-158 161 -382 161q-108 0 -206.5 -41t-173.5 -119zM640 1024q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5zM1024 1152q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5 t-90.5 -37.5t-37.5 -90.5z" />
+<glyph unicode="&#xf404;" d="M0 1024l506 506q101 103 234.5 160.5t283.5 57.5q193 0 358 -95l-143 -143q-103 46 -215 46q-108 0 -206.5 -41t-173.5 -119l-372 -372l240 -240l-136 -136zM339 429l90 -90l1280 1280l-90 90zM640 1024q0 159 112.5 271.5t271.5 112.5q44 0 98 -14l-468 -468 q-14 54 -14 98zM666 395l143 143q103 -46 215 -46q108 0 206 41.5t174 118.5l373 372l-241 241l136 135l376 -376l-506 -507q-101 -103 -234.5 -160t-283.5 -57q-193 0 -358 95zM926 654l468 468q14 -54 14 -98q0 -159 -112.5 -271.5t-271.5 -112.5q-44 0 -98 14z" />
+<glyph unicode="&#xf405;" d="M640 768l320 320l-320 320l128 128l320 -320l320 320l128 -128l-320 -320l320 -320l-128 -128l-320 320l-320 -320z" />
+<glyph unicode="&#xf406;" d="M128 256l832 832l-832 832l128 128l832 -832l832 832l128 -128l-832 -832l832 -832l-128 -128l-832 832l-832 -832z" />
+<glyph unicode="&#xf407;" d="M384 1280v128l256 128q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5l256 -128v-128h-1152zM512 512v704h128v-704h128v704h128v-704h128v704h128v-704h128v704h128v-704q0 -53 -37.5 -90.5t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5zM768 1472 q0 -26 19 -45t45 -19h256q26 0 45 19t19 45t-19 45t-45 19h-256q-26 0 -45 -19t-19 -45z" />
+<glyph unicode="&#xf408;" d="M256 1151l476 -330l-183 -535l475 332l475 -332l-183 535l476 330l-587 -1l-181 535l-180 -535z" />
+<glyph unicode="&#xf409;" d="M384 1152l640 512l640 -512l-128 -128v-512h-1024v512zM896 576h256v448h-256v-448z" />
+<glyph unicode="&#xf410;" d="M256 512v704l768 -384l768 384v-704h-1536zM256 1408v128h1536v-128l-768 -384z" />
+<glyph unicode="&#xf411;" d="M384 384v448l896 896l448 -448l-896 -896h-448zM512 768l256 -256l128 128l-256 256zM685 941l96 -96l595 595l-96 96zM845 781l96 -96l595 595l-96 96z" />
+<glyph unicode="&#xf412;" d="M256 640v704l384 384v-704h640v448l640 -640l-640 -640v448h-1024z" />
+<glyph unicode="&#xf413;" d="M256 448q0 -80 56 -136t136 -56t136 56t56 136t-56 136t-136 56t-136 -56t-56 -136zM256 1024v256q209 0 398.5 -81t326.5 -218t218 -326.5t81 -398.5h-256q0 209 -103 385.5t-279.5 279.5t-385.5 103zM256 1536v256q209 0 408 -55t367.5 -154t310.5 -241t241 -310.5 t154 -367.5t55 -408h-256q0 260 -101.5 497t-273 408.5t-408.5 273t-497 101.5z" />
+<glyph unicode="&#xf414;" d="M21 358q-57 102 31 244l760 1237q57 93 134.5 126.5t155 0t135.5 -126.5l759 -1237q88 -142 31 -244t-224 -102h-1557q-168 0 -225 102zM883 1536l51 -640h179l52 640h-282zM896 640q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5z" />
+<glyph unicode="&#xf415;" d="M128 1024v256h310q75 172 233.5 278t352.5 106q130 0 246.5 -50t204.5 -139q37 -37 37 -90t-37 -91t-90 -38t-91 38q-116 114 -270 114q-159 0 -271.5 -112.5t-112.5 -271.5h-512zM536 665q0 53 38 90t91 37t90 -37q113 -115 269 -115q159 0 271.5 112.5t112.5 271.5h512 v-256h-310q-75 -172 -233.5 -278t-352.5 -106q-130 0 -246 50t-205 139l1 1q-38 38 -38 91zM832 1024q0 80 56 136t136 56t136 -56t56 -136t-56 -136t-136 -56t-136 56t-56 136z" />
+<glyph unicode="&#xf416;" d="M512 832v320h128v-320q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5t93.5 226.5v640q0 80 -56 136t-136 56t-136 -56t-56 -136v-512q0 -26 19 -45t45 -19t45 19t19 45v452h128v-452q0 -80 -56 -136t-136 -56t-136 56t-56 136v512q0 133 93.5 226.5t226.5 93.5t226.5 -93.5 t93.5 -226.5v-640q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5z" />
+<glyph unicode="&#xf417;" d="M384 1216q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5t-44.5 -222.5t-124.5 -185.5l-407 -406l-407 406q-80 80 -124.5 185.5t-44.5 222.5zM640 1216q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5t93.5 226.5t-93.5 226.5 t-226.5 93.5t-226.5 -93.5t-93.5 -226.5z" />
+<glyph unicode="&#xf418;" d="M608 1056l128 128l224 -192l448 512l128 -96l-512 -768h-128z" />
+<glyph unicode="&#xf419;" d="M0 256v256h2048v-256h-2048zM0 896v256h2048v-256h-2048zM0 1536v256h2048v-256h-2048z" />
+<glyph unicode="&#xf420;" d="M256 1024q0 155 60 294.5t167 246.5l-227 227h640v-640l-232 232q-72 -71 -112 -163.5t-40 -196.5q0 -176 108.5 -313.5t275.5 -180.5v-262q-180 30 -326 137t-230 269.5t-84 349.5zM1152 256v640l19 -19l213 -213q71 71 111.5 164t40.5 196q0 176 -108.5 313.5 t-275.5 180.5v263q180 -31 326 -137.5t230 -269.5t84 -350q0 -155 -60 -294.5t-167 -246.5l227 -227h-640z" />
+<glyph unicode="&#xf421;" d="M384 896v256h1152v-256h-1152z" />
+<glyph unicode="&#xf422;" d="M384 512v1024h1152v-1024h-1152zM512 640h896v640h-896v-640z" />
+<glyph unicode="&#xf423;" d="M83 832l373 671l112 -62l-267 -481h403v-384h-128v256h-493zM768 1024q0 87 43 160.5t116.5 116.5t160.5 43t160.5 -43t116.5 -116.5t43 -160.5t-43 -160.5t-116.5 -116.5t-160.5 -43t-160.5 43t-116.5 116.5t-43 160.5zM896 1024q0 -79 56.5 -135.5t135.5 -56.5 t135.5 56.5t56.5 135.5t-56.5 135.5t-135.5 56.5t-135.5 -56.5t-56.5 -135.5zM1427 832l373 671l112 -62l-267 -481h403v-384h-128v256h-493z" />
+<glyph unicode="&#xf424;" d="M256 640v768l384 384h768l384 -384v-768l-384 -384h-768zM883 1536l51 -640h179l52 640h-282zM896 640q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5z" />
+<glyph unicode="&#xf425;" d="M384 384v1280h256q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5h256v-1280h-1152zM512 512h896v1024h-128v-128h-640v128h-128v-1024zM640 704q0 26 19 45t45 19t45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45zM640 960q0 26 19 45t45 19t45 -19t19 -45 t-19 -45t-45 -19t-45 19t-19 45zM640 1216q0 26 19 45t45 19t45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45zM768 1600q0 -26 19 -45t45 -19h256q26 0 45 19t19 45t-19 45t-45 19h-256q-26 0 -45 -19t-19 -45zM896 640v128h384v-128h-384zM896 896v128h384v-128h-384z M896 1152v128h384v-128h-384z" />
+<glyph unicode="&#xf426;" d="M128 768q0 106 75 181t181 75h7q-7 29 -7 64q0 133 93.5 226.5t226.5 93.5q134 0 228 -96q47 101 140.5 162.5t207.5 61.5q159 0 271.5 -112.5t112.5 -271.5q0 -62 -23 -128h23q106 0 181 -75t75 -181t-75 -181t-181 -75h-1280q-106 0 -181 75t-75 181z" />
+<glyph unicode="&#xf427;" d="M384 384v288l455 455l-1 1q-74 74 -74 180t74 181l233 233q75 74 181 74t180 -74l286 -286q74 -75 74 -180.5t-74 -180.5l-233 -233q-74 -73 -178.5 -74t-179.5 71l-455 -455h-288zM1088 1360l256 -256l160 160l-256 256z" />
+<glyph unicode="&#xf428;" d="M768 1024q0 106 75 181t181 75t181 -75t75 -181t-75 -181t-181 -75t-181 75t-75 181z" />
+<glyph unicode="&#xf429;" d="M384 896v128h896l-343 343l87 86l493 -493l-493 -493l-87 86l343 343h-896z" />
+<glyph unicode="&#xf430;" d="M531 960l493 -493l87 86l-343 343h896v128h-896l343 343l-87 86z" />
+<glyph unicode="&#xf431;" d="M384 1152l128 128l448 -448l448 448l128 -128l-576 -576z" />
+<glyph unicode="&#xf432;" d="M384 768l576 576l576 -576l-128 -128l-448 448l-448 -448z" />
+<glyph unicode="&#xf433;" d="M0 0v896l896 -896h-896z" />
+<glyph unicode="&#xf434;" d="M1152 0l896 896v-896h-896z" />
+<glyph unicode="&#xf435;" d="M384 512l640 640l640 -640h-1280zM384 1280v128h1280v-128h-1280z" />
+<glyph unicode="&#xf436;" d="M512 640v128h128v-128h-128zM512 896v128h128v-128h-128zM512 1152v128h128v-128h-128zM512 1408v128h128v-128h-128zM768 640v128h128v-128h-128zM768 896v128h128v-128h-128zM768 1152v128h128v-128h-128zM768 1408v128h128v-128h-128zM1024 640v128h128v-128h-128z M1024 896v128h128v-128h-128zM1024 1152v128h128v-128h-128zM1024 1408v128h128v-128h-128zM1280 640v128h128v-128h-128zM1280 896v128h128v-128h-128zM1280 1152v128h128v-128h-128zM1280 1408v128h128v-128h-128z" />
+<glyph unicode="&#xf437;" d="M512 512v1024q0 106 75 181t181 75h512q106 0 181 -75t75 -181v-1024q0 -106 -75 -181t-181 -75h-512q-106 0 -181 75t-75 181zM640 768h768v768h-768v-768zM896 512q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5z " />
+<glyph unicode="&#xf438;" d="M256 1024v256h512v128l384 -256l-384 -256v128h-512zM512 512v384h128v-128h768v768h-768v-128h-128v128q0 106 75 181t181 75h512q106 0 181 -75t75 -181v-1024q0 -106 -75 -181t-181 -75h-512q-106 0 -181 75t-75 181zM896 512q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5 t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5z" />
+<glyph unicode="&#xf439;" d="M384 1152h1280q0 -231 -145.5 -406.5t-366.5 -220.5v-269h-256v269q-221 45 -366.5 220.5t-145.5 406.5zM640 1280v384q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5v-384h-256zM1152 1280v384q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5v-384h-256z" />
+<glyph unicode="&#xf440;" d="M128 768q0 106 75 181t181 75h6q-6 32 -6 64q0 133 93.5 226.5t226.5 93.5q134 0 228 -96q47 101 140.5 162.5t207.5 61.5q159 0 271.5 -112.5t112.5 -271.5q0 -62 -23 -128h23q106 0 181 -75t75 -181t-75 -181t-181 -75h-384v256h-512v-256h-384q-106 0 -181 75t-75 181 zM640 384h256v256h256v-256h256l-384 -384z" />
+<glyph unicode="&#xf441;" d="M128 768q0 106 75 181t181 75h6q-6 32 -6 64q0 133 93.5 226.5t226.5 93.5q134 0 228 -96q47 101 140.5 162.5t207.5 61.5q159 0 271.5 -112.5t112.5 -271.5q0 -62 -23 -128h23q106 0 181 -75t75 -181t-75 -181t-181 -75h-512v256h256l-384 384l-384 -384h256v-256h-512 q-106 0 -181 75t-75 181z" />
+<glyph unicode="&#xf442;" d="M512 512v896h512l-128 -128h-256v-640h640v256l128 128v-512h-896zM896 987l550 549h-422v128h640v-640h-128v422l-550 -550z" />
+<glyph unicode="&#xf443;" d="M512 384v1280h640l384 -384v-896h-1024zM640 512h768v640h-384v384h-384v-1024z" />
+<glyph unicode="&#xf444;" d="M384 512v1024q0 106 75 181t181 75h1024v-1152h-64q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5h64v-128h-1024q-106 0 -181 75t-75 181zM512 512q0 -53 37.5 -90.5t90.5 -37.5h818q-50 55 -50 128t50 128h-818q-53 0 -90.5 -37.5t-37.5 -90.5z" />
+<glyph unicode="&#xf445;" d="M160 747l232 201q-8 67 -8 76q0 8 8 75l-232 201l58 139l305 -21q47 60 107 107l-21 305l139 58l201 -232q67 8 75 8t75 -8l201 232l140 -58l-22 -305q56 -44 107 -107l305 22l58 -139l-232 -201q8 -67 8 -76q0 -8 -8 -75l232 -201l-58 -140l-305 22q-44 -56 -107 -107 l22 -305l-139 -58l-201 232q-67 -8 -76 -8q-8 0 -75 8l-201 -232l-139 58l21 305q-56 44 -107 107l-305 -22zM768 1024q0 -106 75 -181t181 -75t181 75t75 181t-75 181t-181 75t-181 -75t-75 -181z" />
+<glyph unicode="&#xf446;" d="M256 1024q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5zM512 1024q0 -212 150 -362t362 -150q135 0 259 72l-699 699q-72 -126 -72 -259zM765 1464l699 -699 q72 123 72 259q0 212 -150 362t-362 150q-136 0 -259 -72z" />
+<glyph unicode="&#xf447;" d="M256 1664v128h384v-256h1152l-256 -640h-896v-128h896v-128h-1024v1024h-256zM512 384q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5zM1280 384q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5t-37.5 -90.5 t-90.5 -37.5t-90.5 37.5t-37.5 90.5z" />
+<glyph unicode="&#xf448;" d="M512 384v1280h384v-1280h-384zM1152 384v1280h384v-1280h-384z" />
+<glyph unicode="&#xf449;" d="M512 512v1024h1024v-1024h-1024z" />
+<glyph unicode="&#xf450;" d="M256 384v1280h384v-1280h-384zM768 1024l1024 640v-1280z" />
+<glyph unicode="&#xf451;" d="M256 384v1280l1024 -640zM1408 384v1280h384v-1280h-384z" />
+<glyph unicode="&#xf452;" d="M512 384v1280l1024 -640z" />
+<glyph unicode="&#xf453;" d="M256 256v1536q0 106 75 181t181 75h1024q106 0 181 -75t75 -181v-1536q0 -106 -75 -181t-181 -75h-1024q-106 0 -181 75t-75 181zM512 512h1024v1280h-1024v-1280zM896 256q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5z" />
+<glyph unicode="&#xf454;" d="M128 1024v256h512v128l384 -256l-384 -256v128h-512zM256 256v640h256v-384h1024v1280h-1024v-384h-256v384q0 106 75 181t181 75h1024q106 0 181 -75t75 -181v-1536q0 -106 -75 -181t-181 -75h-1024q-106 0 -181 75t-75 181zM896 256q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5z" />
+<glyph unicode="&#xf455;" d="M256 1024q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5zM896 1408q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5zM928 512h192v640h-192v-640z" />
+<glyph unicode="&#xf456;" d="M256 1024q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5zM883 1536l51 -640h179l52 640h-282zM896 640q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5 t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5z" />
+<glyph unicode="&#xf457;" d="M256 1024q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5zM720 1442l92 -180q134 71 234 71q38 0 65 -16q26 -17 26 -44q0 -35 -24 -63q-24 -27 -77 -61 q-68 -42 -95 -87q-26 -44 -26 -109v-57h204v34q0 29 17 49q18 21 87 66q83 53 120 111t37 139q0 111 -84 176q-85 65 -232 65q-180 0 -344 -94zM896 640q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5z" />
+<glyph unicode="&#xf458;" d="M128 384v1280l768 -480v480l1024 -640l-1024 -640v480z" />
+<glyph unicode="&#xf459;" d="M128 1024l1024 -640v480l768 -480v1280l-768 -480v480z" />
+<glyph unicode="&#xf460;" d="M256 1280h128l86 256h340l86 -256l-256 -768h-128zM533 1280h214l-43 128h-128zM768 512l256 768h128l86 256h340l86 -256h128l-256 -768h-768zM1301 1280h214l-43 128h-128z" />
+<glyph unicode="&#xf461;" d="M256 1261q8 -158 120 -264l648 -613l648 613q112 106 120 264t-93 276t-251.5 126.5t-262.5 -97.5l-161 -153l-161 153q-112 106 -262.5 97.5t-251.5 -126.5t-93 -276z" />
+<glyph unicode="&#xf462;" d="M102 1024l304 -455l213 142l-209 313l209 313l-213 142zM772 543l248 -62l256 1024l-248 62zM1430 711l213 -142l303 455l-303 455l-213 -142l208 -313z" />
+<glyph unicode="&#xf463;" d="M0 512v704l768 -384l256 128v-448h-1024zM0 1408v128h1536v-128l-768 -384zM1152 384v640q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5zM1280 640h256v-256h128v256h256v128h-256 v256h-128v-256h-256v-128z" />
+<glyph unicode="&#xf464;" d="M0 512v704l768 -384l256 128v-448h-1024zM0 1408v128h1536v-128l-768 -384zM1152 384v640q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5zM1280 640h640v128h-640v-128z" />
+<glyph unicode="&#xf465;" d="M0 512v704l768 -384l256 128v-448h-1024zM0 1408v128h1536v-128l-768 -384zM1152 384v640q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5zM1260 656l272 -272l452 453l-90 90 l-362 -362l-181 181z" />
+<glyph unicode="&#xf466;" d="M0 1024l640 640v-320l-320 -320l320 -320v-320zM512 1024l640 640v-384h256q212 0 362 -150t150 -362v-300l-150 150q-74 74 -168 112t-194 38h-256v-384z" />
+<glyph unicode="&#xf467;" d="M384 1024l640 640v-384h256q212 0 362 -150t150 -362v-300l-150 150q-74 74 -168 112t-194 38h-256v-384z" />
+<glyph unicode="&#xf468;" d="M256 256v1536h256v-1536h-256zM640 896v768q35 0 63.5 13t54 32t56.5 38t85 32t125 13q70 0 125.5 -13t93 -32l75 -38t93 -32t125.5 -13h256v-768h-256q-70 0 -125.5 13t-93 32l-75 38t-93 32t-125.5 13q-71 0 -125 -13t-85 -32t-56.5 -38t-54 -32t-63.5 -13z" />
+<glyph unicode="&#xf469;" d="M256 512v768h1536v-768h-256v384h-1024v-384h-256zM640 640v128h768v-128q0 -158 113 -271l112 -113h-768l-112 113q-113 113 -113 271zM640 1408h768v256h-768v-256z" />
+<glyph unicode="&#xf470;" d="M384 384v640q0 53 37.5 90.5t90.5 37.5v128q0 212 150 362t362 150t362 -150t150 -362v-128q53 0 90.5 -37.5t37.5 -90.5v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-1024q-53 0 -90.5 37.5t-37.5 90.5zM768 1152h512v128q0 106 -75 181t-181 75t-181 -75t-75 -181v-128z" />
+<glyph unicode="&#xf471;" d="M512 512v1024h512q106 0 181 -75t75 -181q0 -87 -57 -159q83 -39 134 -117t51 -172q0 -133 -93.5 -226.5t-226.5 -93.5h-576zM768 640h192q80 0 136 56t56 136t-56 136t-136 56h-192v-384zM768 1152h128q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5h-128v-256z" />
+<glyph unicode="&#xf472;" d="M640 512l40 128h128l240 768h-128l40 128h448l-40 -128h-128l-240 -768h128l-40 -128h-448z" />
+<glyph unicode="&#xf473;" d="M384 384v1280h1280v-1280h-1280zM512 512h1024v576l-128 192l-448 -672l-192 288zM640 1280q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5z" />
+<glyph unicode="&#xf474;" d="M128 256v384l154 -154l230 154l-154 -230l154 -154h-384zM128 1408v384h384l-154 -154l154 -230l-230 154zM640 768v512h768v-512h-768zM1536 256l154 154l-154 230l230 -154l154 154v-384h-384zM1536 1408l154 230l-154 154h384v-384l-154 154z" />
+<glyph unicode="&#xf500;" d="M128 0l960 960l960 -960h-1920z" />
+<glyph unicode="&#xf501;" d="M0 128l960 960l-960 960v-1920z" />
+<glyph unicode="&#xf502;" d="M128 2048l960 -960l960 960h-1920z" />
+<glyph unicode="&#xf503;" d="M1088 1088l960 960v-1920z" />
+</font>
+</defs></svg> 
\ No newline at end of file
diff --git a/wp-content/themes/twentythirteen/genericons/font/genericons-regular-webfont.ttf b/wp-content/themes/twentythirteen/genericons/font/genericons-regular-webfont.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..b6f125e7eec0da4df8acaf85c86fc993115a4723
GIT binary patch
literal 27348
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
Jcw`b|{~sIWCISEe

literal 0
HcmV?d00001

diff --git a/wp-content/themes/twentythirteen/genericons/font/genericons-regular-webfont.woff b/wp-content/themes/twentythirteen/genericons/font/genericons-regular-webfont.woff
new file mode 100644
index 0000000000000000000000000000000000000000..da8be383d82820c6f279d9a2245b3e4303790907
GIT binary patch
literal 17224
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

literal 0
HcmV?d00001

diff --git a/wp-content/themes/twentythirteen/genericons/genericons.css b/wp-content/themes/twentythirteen/genericons/genericons.css
new file mode 100644
index 000000000..b10b86fcf
--- /dev/null
+++ b/wp-content/themes/twentythirteen/genericons/genericons.css
@@ -0,0 +1,197 @@
+/**
+
+	Genericons Helper CSS
+
+*/
+
+
+/**
+ * The font was graciously generated by Font Squirrel (http://www.fontsquirrel.com). We love those guys.
+ */
+
+@font-face {
+    font-family: 'Genericons';
+    src: url('font/genericons-regular-webfont.eot');
+}
+
+@font-face {
+    font-family: 'Genericons';
+    src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAENIABEAAAAAatQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABgAAAABwAAAAcaii0EkdERUYAAAGcAAAAHQAAACAArQAET1MvMgAAAbwAAABCAAAAYJdbaIVjbWFwAAACAAAAAJgAAAGyqWnWY2N2dCAAAAKYAAAADgAAAA4BYgHJZnBnbQAAAqgAAAGxAAACZVO0L6dnYXNwAAAEXAAAAAgAAAAIAAAAEGdseWYAAARkAAA5fgAAWkD4H3YjaGVhZAAAPeQAAAArAAAANgUfUT9oaGVhAAA+EAAAABwAAAAkEAMH3WhtdHgAAD4sAAAAiAAAAQpVkUB7bG9jYQAAPrQAAAECAAABAoDMauhtYXhwAAA/uAAAACAAAAAgAagCQm5hbWUAAD/YAAABYgAAAthC114IcG9zdAAAQTwAAAHUAAAFCuMEJONwcmVwAABDEAAAAC4AAAAusPIrFHdlYmYAAENAAAAABgAAAAbRQFLPAAAAAQAAAADMPaLPAAAAAM71j4QAAAAAzvWBvnjaY2BkYGDgA2IJBhBgYmAEwnogZgHzGAAJvwCyAAAAeNpjYGb/zDiBgZWBhdWY5QwDA8NMCM10hsEIzAdKYQeh3uF+DA6qf74ys6X9S2Ng4GBg0AAKMyIpUWBgBACOigvWAAB42mNgYGBmgGAZBkYGEFgD5DGC+SwME4C0AhCyMDCo/vnI+Ynzk+Qn1c8cXzi/SH7R/GL5xfNL5JfMLyVfmf//B6tg+MTwSeCTwmeGLwxfBL4ofDH44vAl4EvCl4KvDP//32LnZ+Hj4+PgY+LV4DHk0eZR5ZHnkeQR5uHlYeeugdqOFzCyMcCVMTIBCSZ0BQzDHgAA5FwqMwAAAQkARQBBAGYAfwC3AAB42l1Ru05bQRDdDQ8DgcTYIDnaFLOZkMZ7oQUJxNWNYmQ7heUIaTdykYtxAR9AgUQN2q8ZoKGkSJsGIRdIfEI+IRIza4iiNDs7s3POmTNLypGqd+lrz1PnJJDC3QbNNv1OSLWzAPek6+uNjLSDB1psZvTKdfv+Cwab0ZQ7agDlPW8pDxlNO4FatKf+0fwKhvv8H/M7GLQ00/TUOgnpIQTmm3FLg+8ZzbrLD/qC1eFiMDCkmKbiLj+mUv63NOdqy7C1kdG8gzMR+ck0QFNrbQSa/tQh1fNxFEuQy6axNpiYsv4kE8GFyXRVU7XM+NrBXbKz6GCDKs2BB9jDVnkMHg4PJhTStyTKLA0R9mKrxAgRkxwKOeXcyf6kQPlIEsa8SUo744a1BsaR18CgNk+z/zybTW1vHcL4WRzBd78ZSzr4yIbaGBFiO2IpgAlEQkZV+YYaz70sBuRS+89AlIDl8Y9/nQi07thEPJe1dQ4xVgh6ftvc8suKu1a5zotCd2+qaqjSKc37Xs6+xwOeHgvDQWPBm8/7/kqB+jwsrjRoDgRDejd6/6K16oirvBc+sifTv7FaAAAAAAEAAf//AA942q18C3xU1bnvWnvveSaZmT3PZJKZzHtCJpkJ88hkIIQhCAECCAQCCCooggTkjS9q3Vqpioo9tqJVK2hbsdpj90xA2mJrjtVaW0fLFbmt1h6xp1ptPcfe9rSKmc39vrVnQhBsz/39bmBm7732npm1vvU9/t9jLaIh8Ef/yj1DeKIlBlJLzIRMFP1i2Mbb/DXUZeNdIv2r0vPEE166+An4u/MJ7pnyBZeS0+R0+XVymi6HE+X4aaoQSsb9TSREyxEOvlQjwXfrSA18s424yJVEJgmZlmQhIVtSsqYki0lZn5DtKdlQkh1JuTYh15WoXJ+QhRNFoq9NJpOyrlTUCcbYcF7HG/C9xhCTdZaCncZkV6lgsiaTRbsL79sthlihgcZIx0Sa8TvO9+KgO2Xo7GnCSWVJIGWJk07DNUckiY57KZUj4Sjc1cE/GION9BLZmJDNJdkGHYR+2mEwJ6DHcp2lIEJ/dKWCg8YKYp1oHRYMRj7kypGCzQxXVKsjcNUxkVisIZ9gtXCCL0TszmRnOhKg5BW6mj5KV7/yirJfuUTZT5P7ju/bd5xPjG985RXuIWzdhyQWiEQlnaSVGHVdxE+uZ7SFvvkSciMQMyHzpWEj79DH5JqSrIfeBlhva0tyraVQD731lGSPpWCFM22pEIR+11LRWtAbczm5XpS5nOyBUfAOM/RbtoqyBsbS6IOxaKm1FtscYoHT5GBMNuAYv00jIoVtdpJKkkyaBAPEle70OR12rS8iAYHZ/0+ArHmq+8EPqVY59cMfKJ9IR6nx6FHlb0epxCPNTxNpVBJ8B1aV34a7Y0/uPnp09y3PPIPj5oh+PF9Nx3EX9LWpFDKWIYm8BYxVl6SyJSGTE7KQBErIvKWgp4wU2qRcY4GxxoBYOGsEB+AXaeWVghfQVoHuKHCEA0fwUn1XiHprVALRwSYtzgEHFyJcCvABDTAV3sNTCfimjqQJlU2sK9AvTWnYoCEwKcYS8pKhVDAD5Y1EtALFCxoDHPkccnCFdjpRI8bh207SnpN3bz1Ntt6tkfafPLn/C8+3lP8gcfe3PM94FH5JS4iROMhKImsTspgCZpStSeSJGkaZWiCIk/WCUUP9/aKRR8kxakGmgEI1QBRTSTZZZAdyUNFhwrsOEeTKpcoVEMdOgmKyM+M/cwryIynHjw/t46onQDSQr+PKcUr2DY07JRzSjNGlgaTIPoKiDnMSS8he4NA065++VNQT/GG9AN3SWwpu6Fa8VIy7sTE+ERrjlkIdNDpKxToHNtZBF2WHpRCFRn+pGPVjYzQE/c4Add164GtjfS5XqIsD/9a4PDHg30LUAc3e1hzwdawGJVYMTWQySsV0Z9ahdYgonxkxHc14KVwAH+MdmBY412XwTiSAT7kcMENkaDC/5cCW/OAQ42aCfD3WxI1QafX+8H25JYq0YMuWBVRakrsvvH+1IgFjcxqKh91K5RHKHlHUR0DWgbvIiA5pZiVB0kZkf0K2pXCKgMFrU0wThRJy/QmQ6EIY5qkgWICNGmAkDcBGKX+S9Tjop2IwEKFZPw5KbYsB2x5YJZBVBw6sUvJKXlp1gEfN8vivsEVS8sjR7Ca8K3k6ckBZJf3qcSqdaSGEp1U50EAPfWRmRctT7Kj+BOoks6XghKlpKhUCMB9mmI9ho9VWj1rEKRYafDgHFGTgsNZgdjibKrMAHabhznQ06+VRElw9NB2BC+qwm6gOf5TJZaa/f4V7gscyOXNR34UX9q1Ydnl8YBJPkNE+hVd///H+FY1TZsyNzr+z86K+o7882rdi+Qc3L33srslo/uCV1oNGIevIBiJfkZAvKcmtqEGofCXjxs6S3GkpNFKU2MJ66H0n9LPYP29BDvRko/i0xuLovmDJZUzVX3IFcJTlMrjRKuZrjDYPaWlL52cPXooD1VgPBULhjiQbnJi2klAqKRCrw0I02kgm3ZlJR3sEfOMi0Tg1cbpIVKuL82aqdWkddi/v0upMNE6jcSHaSk3U6fIKLq+uM2tHNRENkUepje765TG6i1ofVa5TfhEK0BnzrpMGs+u1Rr3ZJtSlui/PXr1nz9XZy3oSRuOkjvXZQem6uZnapqnLlvo4gyfQ6RFqGwyimzd43IE6ytdZm0OdUxbFaSCk/EK5TiC/pF+AL39U+U9l9zGlUP7jOl1zg/D8wpsnG5pnDT217ZGt5pZZl06knGCdGPZznD88UdRy3D03bN+/7amhWT594qI6E+3KCnXBxnpOV+O2wtiau/y83t3Q3OAEXZS8Vqj3addxTrRxOnxjc2MmjYzzJ5E+soDsIMU6QmJypITao7kkd6nztZDZNwuIhaVwIcxXbxLV6yKYsgtBHvJ1mto6wdnUHGppz0yexearPgLtRgOxtfZMzfcumIvT1Cwe0tMmz2Q877IW/YkLcmjj6ilMmA/mywJqHkw3b7e6Okk2Eq2l0awzlOWiWkKd/mSW47XE5rT1CNlIKBjQUi/n6hRcXNTE2bwUPmPNhr6FM0UfgpftW99SPlR2K2vg9WFox8Yb6Hffs+SVd5Wtf/c9R/+6567h55Q/U/FXdNbho/7v/Va57W9rf649MO+O9RO+qBz5gU+iC5yeqPYJOvd695f7nv77YtOkFZ6HXq5X/sQnz/3+b8HvcrMPKq9eW6Kd8zqkwWT9V5yz4tT9tyXK0U8fGFlA2+gtc5RjmvWPKY9xk3w9vaEv3mMpb/GkFtf6tY3UM5y7dEh5tPF+5ef3baSLR+JMfiTaBjjkN6DNYdgpXxY41JlKwmEKsGicZtJZp+BC/k4lXZ1ZrQ5fyLImXgj6pI4WSn52zTOhqDeRvPHxBUvnLkvuoXveMf7q/gMbpfWt11y1dvYm2rPz6XeUX39LeZUe03yDu3uzrs7981s0MT756CVXLH7iFzXR9vv/9w731Fv66to3L9D59Nd//MEv7l+KfSOAkXQSiZILCKpIUJYBMG9JWUzIvpTsLMlulXVaAHeeQDAKMNRgAVwpuwBLpQoTgHlcgOZkd47BhPHaVPTb/FNQv7qykWDAxHloEMFDICLtG9KQoX37hpR3qalWeTfW+5h2/vpL7lnWpijltqF9iBHw9qfwzr1IhZHa7iz9P8bsJTsv+JMyWs4hwAOLTyTNe9D3BjKf6VMHs+K2ZJFQNG7EBRYPUIVetexupv+5JHZdTBZd9fiMy2GIFesZNq4nYAsbKzY8JaZ7uFTS2Ux54FAP5+fRmHPSb9Nrn7wqO+R26/5tborONikvKCP8SzRBufl7NuW1PK+8m59helU5NnqEn01A21fpawbcsRiQx1qyl8h1CXlpSW5OFMJpwGSNpcKEOKD4RSqh142T0W6Q0QuT8ppSsXsN9rG7H4a0xlJYBe0guFcC7btRcA0ouDbnkuUXM6FtXorCTPUGYrcFsn0rL161BmW1UTzkjM3qR0UsL7IWWjpQaq0WaydIrROkVgtSG0GppVpbKtk5lXY6tTqtjtp40LadLqfa5qVqYw+XSaOuNSDjulCSBYpsHYnytNMKWho4WCft/YjOpRvp3I/27v1IOaR8TTn0UfpUSblx5u50eGMw4LCZ7G0TaUS+YYndbLfvvjCyIRi02KjZEptIgwvrATnU2zmbxqKt1eh5fv4k4ybl/QdfVR6iF27ZsedmgfuY3nrkjcs1U/g5n/kVOOO4Pym71gieh6hJw/G0OcBruNH7OJEu03EBHzVio63ByUHrw7T2wtxKf3x5JiB4jY019SanaDfmBukVm58/9XV/XKvhDpb3DtHtb7463NJ66wOqfzE2tzPIcnIFeYjISxNyS0qeXUK+AxA5HRyNlGwvFafbcfqme2H6GoAX16pzjJ4bOmpg8WV3Ug6Btk4WAyF8NNAF3LgO5lcHHscwb5q5AmctIOaNmhrvhFhv/+LB1WyuZ8NcF0lsJqjgAm+Cc128C+3udPEItfiDockrL2Pm1Cbi5KCZpK6ANhjgM6qkeqhfDIp+hwrrUWrBzIJ51cP9LDtNZf0BLd9DXWBPNS6cVZBgW6TTBd/k1AJrSDeUvB6fu9lrnW07cp8q2uCknGaqDyCtotFcfDcfNIdsHlHUx+ceumjgwK3lR278/YzcG9LiObbBULfHo9PR8qElt01z3L3ruh85HdKuG16i79Lf38hPyfm7wx4qaKehRlD9H/zqUfiVJufdT23g3LVNYqO93mFMz5x815GtRzr2Xnbqm0vWU9pQN7lhYmBigyds0V8hdD7ya0H4/TcPjAjCL4mKycCAap8Br94CunkWQ9owB3wCcEwVaasT5IEJ8pYYUtYBtinUmYDCHrEghhCWhepF6yGLua09rqIyu3MyBQAZp6A6bKA3gMLpbA9NJREjw3mcA2Wo0WX8XmrhAKVdsZBbvJauGRhYZ6NzlKcBls2usQ9OnTTXT2fn1t2+KNSbSvh9jhrlCIU/rTj7sstm969aferb/L+P+rkJnY3JmZNWzyj/J9e15bsbsjW2xsZgk3iX+23lPeU/Lz6LT5sAe2bJDUwDARL2x0DtdDBn0Oc7IcqdKdkG/pdFdsP4u9j4wQO2MCfYy/wG2a9yawwcEkuhTVVDOSCL18NMgOwXC/UuIE7AKmdyckwsdHQiiXxwu9CSUV3h8SYC0PbnkosRixkOoNWYyUCbQMnCaXT6ALegd/oiC9WBF/x1qtdbZqR2U/3B25MLuwIW5ePxRmSfcO2kCy+c1D1v/qdH+IbR9+jRdltL17CyjL74vafr2yINW4AZngRAtQCw1DTyXVJ0In4yJ+QJJaSQFgjSywiSKckZS6EJRg52MmAptDOXuTAdDp3uH/bUfDSHOGJGk9wAVBwp2OkncmRk2GqP2GJFePft8e0JakFMc+SQ1d7gjsTxj447l/NuWmjKgCC7clNQkANiUevswLN2a8E8AanZMQF9NNLco0o2mCoEyk6rw84J4L9EOVDQ0UjWpmIKJ3MGtKi+rSzqYOIcdhBeHaLlaIR7su/eYzT2lEwTL+94QvnZi5d/LzDbErj4Xp3n0Za71g4sC08xua67YucPLlc++PiOD7+xbMCq01kMuqDzxi8Jf7rqN688fOl1Lymf3vk35eqTF+eV3+Z2fbXz4C5OXnjNHUc3LErd81zu8q98n058+gQ1XX7wzWu/usbhrp/SUm8xpKgaXhvDsINkNymakO4AO2Yn5C60kcwmLmWkD5fksKWQAkrPLclzLYWZcDa5JE9W3V/wPZYBI85NAW1iiYHFqC9nikdMGltz1zTLArycbC04pyIBnSb0QhYDTWeDF2IwEps7PCE1eeqCz3geiGSDgWhnFoCpSj4mu+BrOV3OTmDSbGckClRmWAHJDNTPomEErgVVC/ABpsJ1tuOh+gZfvXuOZ1bT3gWPlvdc8tjf9971f75zfW5ondUjcBZeozFd0CeNbH3p5IJ9lyy63FYz0ds3fdF2i96w1VavBbT61Fl+hnIJvP7z0dYd66g703+ETv3ZtuPfvGzeTY8NL9/zWqveZDPkDTanOP/61cVbF7751Nf+fu/OBfGHr27tXXr/1thCm00JD6zecy0dZX70AW6VbpXmAChGM2khTBeyOIlJDRZRNUJjKRiA4nXV4JDV4vR1WiI+oXI88Fe67K9/VR7n7qycCN9VHv9r5ZwdK7iY6G4EF8ZPMgRjnPUl2ZqQTSwOh9E28D7ADZa1GFsrEo0FZcBkHa5r8vhUxncBdzdSaypJic0aDvFwCUyNxi3CowxopcXX2Vcu/MrGb5TpJrq61qL8Sbnjlhn52yz6LVu7Znfb0xOPLZdv1Fy+cbFysvwX5ST93/QnlKcr9LXKgOf+lbJMzRfSWTRh09+/lTD6VGOKZvDjrYRimJMgWsNgKzlXuYUNVDq5XyAYjxqFd45FfdD1xhYF35vRSUd60F8RSdsCejoAnpxsSMC3UjmYkJtOYLTSmSyEkCQWjH/VoZlJiXZmgsGsd2ZFGHUUeVFEoBpEiAYg7Vc/dbtvufTiGzatWHbtl2+f290mivQJZfC02N4xe84G4dHyHdf1Ttvma3bau6h7WaihPf4AfZk20BfuWH7xlHzwLNsRJDEymdzMbAdYCW9CjpbkhoQcSMkJFp4SSrJgAaGlcneFKAhhfcAoquCCp4ADabRgpExOMddzCkhs2AcjCuTkCeKw19PGvMpGjM2QQkMUZLnRF27BtoRYCE04nwEB9z7FAjZ+EEEwcOBP+UMVTgyrxgWckEiMgkieZUWk/oyGZPqVjyzKcWWZctyifERZFPGk8hzX3J+RMv3s7SxDMoSNPOntwXhd2/Ge3mbluZP4oerT/RlQZ4AtKGALhdiJCzzzZqBeFOgXB9+cyglGHowfWjAYL3sZ9GuB9zFz0gF0aXDA6J31Tcjsckg8pNUgnnOhHRgOhFvbEP6xSFyWdiZdFOmho8gGNDKVRm1UDPOusMi7snAe1YiarIG6MpR4uB+LLSL3Y4+n3CvarbZyr+eWb387w2mUd957j3oPvv/BB72c5j3lHep9r/wpvffbvJO+1lxPX6upUdrrm5V2n1Npq6mhx50PbdqkPK48TtPP0q4HnqWp8rMPPfRQOUCXPfgs1/TsA3RZ+dlNvzmLhzJkKXmGPMZ4yF6SexLy90rynETV9fnRONcHsYUaWLoHzq4pydeoxAKm+TGGmNqAaZbm5HvEQ88sX9d7AOlyjbVYJ1yNWqJBzNtqNXZvoCPZ3TNn3qVbbv/6Y/9aHGaAuccOtjUyaTIC5jnguD5N9RZv97zvY7xTswjudSRTuc/xjIRUMoSgOM5FUfJAxwjRSCgasWY7Q1lA1wLHJFLIwjSgYz+V70RD4oqwpwSdltPg/U40G3E0wFoA1U5mR1B44RJvZ+PgUEbQvOCVDo033AS74vJyzGTjBWWP4ldgMIFMwbhXJMSU3nl8rp436bVv/Ynetnby0n0vbd8hRztnb9usPH3wceWDvjl1S5fR9iLn/6Vy8Gf3iY994Vrq2zV31r3lr93Dm+hl1PrQN6n3slDgSuU3+7+hvH7VVWuoqH/gqk3/PnmKs3/mmxcusTtSyZUrF0TSejGVXjwwOVerjTW3JOKz6jiTweGcMbfPFo9Y+2KxFf45Wm5wd+8FV3jqw+9s3taVjQQ/uOlL3+e1Swfv2HbtwIqfUIdxw+K1yl+v2jHlc1y6t5Tb3vz7y7fdvPPYQ0P2jueuu0956tpdWzyNv93/EL3q6w/+L6/W8rZy74dfOz27z5xzfE2598R+GMU26c5duegX79Xqdm7eoPz6+mue9/oHLl7xzpx59u6eSy9bvLjeNdHVN2FZ3yyNtjs7EJ5qcWhoV4z3zvF4/UIsMHdRNKs3NDRfcMW0DQmr5ao752xYF4tt33nddXe6bG/cvnf79tZgU4A6fsJteLZnnn1yz/oNpOoj6gnw/nxyJbmR3EFvIrImIa8tyVJCvjUl31SSdyeL0k3o8kl7DLHiTRKe3vQlcBRvssjXIyoHxBlNyJtSciuIyJ0JOXFCXl8avnB9Qh+TSQkDHxeW5PWWQp6l+2SXRc6W5GwCTgo7oMlXGr7ct0PNcfkshT3QdHNSvr0k35Is3r4Hf+32W+GH99yOp3skcDvvUrGsYevIsIplZ1nkmSOFQe4TednID4UdIy1qc59FnjFSWMp/Ii8fKcyaqYeG4Zl9M2yxQt8MPXxouG/WTFtMHrQMLx1cBq2Dy/TyUsvwsqXLbTFyZMbMvlmDS5ctj1f+6DktDArn14NIZjSbUKxdYnHl2utRcH07QDeK7ihahsKeGtAFE0C0pbXQSgDRoTa4SSw6XUzKo9dDszuxfoeKGuxeQGs94P/GhQSNc2mQPowqxwX0dH0gYBhKBqNqN6G3zLlMvM7EZ9M9fLYHmsEHdoDdAQ+44tMBGNSZABXGeZphTrQDHWopf90LX9j5i39Zl6zzeTpD/iU2m6ve5gq3dfvqLc3eeL39nvuURuXjb8ye55u+8ouzbV16quUESo2NJtuUOXfuSiVnt1hfDcSmheqDA7Paa4O2VM+0UHPt0986+rurU00r4l2XX5B0TbampzRNWjO9w8EfZYAKnGP6y95rLu1KDm6VprfMmNKebfb0mm2xjoTT6Yn09ixPxuZPhQvLkpvyBxd3bbikr1XDiYJZZ6ox69xtcVuDoHPGfJ7++X2WxMKOVrOhRtTxfCiebU2mvFvvOiAc2pQPtuZWbt+R3jrZ5rHmLtq6qXzqjF+uYvovg87vAr6/CP3qvgTLrq5A9V5IA3cBgzYni+ksslw6AbyetSAUAJtQWAnKPU1hzi9cMohznhULgb4cWjorThTv5ZupVwMk16CWFE1qyB/OvBygIL/YAfoT9GtcGw12MBBkovgRXZy/qaZv+syDBwuP3L9rpbuhtuWqi6/ItsQ2br5285VLp4lWytWIvpap4fSmxTNsVv8F07sstGvaK7vWu7jg1EUrVg7k7bbeX+/NtTQ28GJjvcFwUueaNEH45iM/XTl/22QfZ2pqMBo0tllLvvLo725YfvtA1qapq9NplT/ytYFAe7SlzsY1eGvraH0gZgq188Xyu3W+lfO/PffmFXPa/WY95Sw3JKe1r1owb1JbTe1LBt/6TYg37wI6bgc6+sm14JUi3mopFRtakHANDiDchoR8eUlekmApwSXVlCCVr0vI3hPyCnBRS8WAl0WU1oGUewN46iXwyRWWQpyB+GK8jmUNe0D0rwfqB7wgTr5cIb4CjKPgaGjRz9uJAlUnymYQspYGuA1Sd/kGkCpzPMDuLRGH67ykE0/1iNiZV0oxnl1xTHVOHXOPoiA6oQh4SFlw/NH4MfSKmZ3I+H9wH6PhzuoTldvBAE6pw67ewH/wzRXkW71/15dO7r7rmhn9T9Kud3bbUvRLJ2/ZtfHCuU8qP3tntzid3tmZXnrNkX1bN3dPDgSnTFoyb9PyxqDfLwKoXLm6LebzOhoSmUCgoX5SbtHg5js2bsjlsumVl37x4ik5v79n2vr57QlXo9PR5IulgyHNfbtPfqm/dvc7ys+eXLVkaDNcTTJ9+R3a9eTgwI7yX/rnz01MjccXL1m3bEpPJNrYUG/XG6xml90TD4R8vp4OmzMUXJlMtLc3uFuic2avXnvBtJYWN4CyZm8yP6HN6fQF0hNdbr+f+QcgY1rMcSbJCiK3If4uRttYGrcOpzyVkHUnZLFUFHXYKLZiLYjYwN697D0IHKATWaEIBrvTWIihg9l0wLRGEVARllQE7QgThMoOE4laM0Wwbdfqxt5iNOlk2Bu8YSqNTNy0Ok91tW6rf/lMi15PD2T6OyJO+N+fySMeVvLTdvRd1ErB97nkkY9v14jt/qbFDyxaciAc6c9M6K3zR9kbPDrU39LRwsIBJbpXl9JtJxPJJDKbLCJryEayg9xAryaYe5xaki9LyMtLxeWXwWjI8kHg55Usgr4hJc8rFdPrrsG6mK6E/IUUxmEBYTsS8paSvEP1qr6YkNtPyN2l4WR3+5gVTZbkbkuhH2RiQUleYCmshbOhkjxkYcGdSEnehtbYVhq+LjJdj8Gwwo2VoM9P/rJLtYg6i6wfKbiFT+SGkR/++eC/PYLNBXeDHsNB9SOFWrhTN0Ke1ulr6+ob3FXL95lrZve620VrIZEGDdgvDvOaLiZbC6zF1oGlqBbXisNT+5azUP6QdXjCiktYAnW6mDdYHE3eq7Zs3/kFbIhYC6FrMOKxaDlMb3dOnicejrQnQpOnq8m7w+A4kZ3X4QUvFjVNffjdDmtB2wh2c8cW6ILNynyuSnLKBrLq0qBkO5kRjIZ5p0uNMamsgUAZhDdOs3Z4HMMgTrsTYTOGkjFH4GQhKbs2YE+D18KEGy6ZEIfSnexOtegHv5qFUkpXD6zpPvL7lRqr1UFz9QMdc9avn9O3VqOcmvfb73WvG9jZFTe9oDylbFP+9QVLW2ZtS2KJp23CpIVP0OB3n6TBJ55Q3nryu8pb26bFE9N6V3pbzV13/0uXudVrHvzB0UH6L9MugVba0Z5vb8/TgY5YbkK78JWBqwdWG+hLzppazawJE9d/bf3qvm7li7WrBq8eyK5oTE689d3du39/a7KzcXkm0dTfE8q9cuLpoaHDGzbC+ycre3tX9t4f85q7uszemHlw8H3Wwl+PP9Fe/vGUec0dLZMI1qVwGIOWiAd8wzuI3JiQ21KytlTUNqKYaikwdgtj3tpS1XE8U6pTX5Lr1cismKyk7QJqhUer6kLqeZj1RlasVJNjir1Q247soG0EC9sQCrPpFp82mC31zT4/skGtVTbm1PIwtbajh/qcLocummGlHDyLcYUzriy7PYX6WfUS+Lu6xAUJzYvU+aLmG+vhlNKX7tr7Er9w/TfwQveS8h8/4xcee8WfSPjpe7f96NnbNrR3rAzE4wGlec9zP73tf3XEj+O9Xx2746c/qdbr6DCvHSJTmL/oLMkeFm1ATzHMKCGWZFEtPACvMALjbRQxOF+LI/Q4mRVTS1Uq4QKsKOOI3UWzzmTWRTuRt3QGGgnoME0hgHtfLSSjJEKHhPDesIYOhed0ZsLKG8qb4Y0hLPZgeUvpGJab0dX01qGIsk/I5wU6FBmaA8/RSDiMGAhzf8+C39vL6rDU6j5iM2htGZeBZh2UN2glehVnU+4u/5kz063lD4WH6Ta67eHyR5Sz043lPyt3062cWfka/ygNKt9XXuYP0OXKy8qRcnb7OppSSuu2Kz/hfkxnKW8pB/kXaFo5qPwG7QTWwmCtk5U4yLgCGFuiEqSi4rklL5Xxw8iwxgXLk6oDHdqHNSz70P5wwKlarPMLsnyroYR1VMCOHHx7bQLrjUjBgHVaOrU4xQVYmAdQjaZLgi8pS5KU50dOA9ODZwRoUSpX6ge12F+B1JJ6ghWOWBkDU25EZi+YWKcN1C/SM+WAGEIrY+3KEFgNHi4VuBQyeNU/Vm/D+KeZhMnFjIMcjIOQfSIs0KCyDwaogiU5OBZeAPkp+ICRhusEuwf9i4agaD1c69A0hcIsguBxwDVmV/3hasHiWYECK3gNYELTcS5gophLxlKczT+iGvDnNT/avPlHyqfKO8qnPxJXPPj6B68/uEI90G9LtPUivvCZh+CMM5x5Cg7KQ/QNZYVyYgVRa8W0qD+A7MTLZkUoYe4ea0StCbkGa4sKts9MO6koWo6c3E/J/pNlwoopEWBgWPI04fepZZRn6FhDGkkbuapaQRnDqpJirBmVVCwKSqo+AVxQ0BiSrJRQl6RyOxNRtZaSA8qqcWMMAoZKxQmY5CQTPPDJkKWgZYSXDRbsKYa/4tVSukzKwV4irQb5QGb9oIeEdOdkqrJwIJIBFkYuAoABQ/iU9Gd4FogbZcG7iFtyRyLpCFhVCYQS/j6FZ/E+x566KB2JuBUCz7jH1WpVxtxJ7quOOZOQ0ykspjl3rNnzjvWcYXVV8ELDR19CYCCn4yY5NVJo03wit4+QYlt7CtHAMBzTYzhAqwFma4pEWya0MubLmEG+Erl/Sp2UfzLnpS4Pb9eBzo6CQbb9YyKBKaK8089zkrbd7W7SbXzq8+nF+VwcRzmNEcjWpIPnaYHUnkW3asQzQVIkSyaTqWQ6OVKlZFOiEOpIpVgx3kSgoi9RbEl3p6DFD6yRmYLYrS1R6MpDS3upkJsG1+cS/YJxRG8CmeV8cK+5VBACeLRguLzQ0gbn0VKhFQssohZmFNNdcJ4qFTon4ZEVWRS0eTifWiroe/E4NmEz/ikf2qCVh1f1+Hnnn0d56Tx/5yc7Kk+qas1zirDHtzP/mw7SQd31uusBVxDaw2WxAis5lWKlINVFAmaqtbt0UQrqabDW3tVB7/jd4fCGyOFI5DDXfDg8FDkcDh/+nbLzghV0sD29UL0fPhwZCh8un8Sn8JF34H6SjKv/tsGvzWcWx4VzzDStl2laNdbtVvVrM9abYmxbI5gsCDkMiE5IwYUlmaac3CQOU1JjUFVruodLejnw8iiLbcep1YLV0xaCzFxRiZvpf0mK+PXv73z9wfCZwmmhv6I1d37/64oo0f/avOJBjlf2Ysk02FlWOsef1Xc/WVvtvZdVzVXGEDh3DMHKGA7jGLy+84zCKw4TR00Dq5ezygYcVpG67Syy/I9GxWMd/j8e2a2c9M8Gp6iMcPb4JpDhceMLM10WTBa9TIt7W8A5bGaRgmY/qOXK2FvHjb0Fo4koTnIgWYyyGEQ0DJ9qieJpCxa3RMcoFEPpAwrJQk6OikVXE0vfua0FDdZO/P8j1ljE7Z8RrRoe+x+Q7qxYlgAS1KYn2uOkjtVYxpBLahKytYTJuWjFFrIFGUAvcMs9J8YlvMBLbMcclwd4pUbk670sgzNBPGQUrM0BptGjCC90JkeTH9c/YM2Ex4cDFymiCgCLCCqiPOCCZGcW0Cr4VDrO0ulzWrQ+axUQnbqC1tA2WrOGfqpor1D+Wzmu/PeaP9Jt81741fNz6U7lroff3vhCv1DJbu1nsEkg9NS67dvXKhpFs24bYMpTyl3zBwbm0R10+yOL5pc/VB8+yVVhFWDaKi0QzzYCLVIkzzxyoIBBpUA6gXUypNDcCi6GpUnMsenOG4nO7HJ7wpF2LO+VBWtRa7XlquME51LHBkZdZuqiUcr8TRqxZbFsAdUXkiEYsFEni76y8e77t2/fvW4LDEu586PbwhdpyEWj7Sf3t3UqbSY33sCB//k2ei0jyL5/u5QeN8FtddSX3h1fNB8/9yZ+rjyw/6RJaessH7k7juP/863KbUgTehk93tm2/yRR6w05ieHUGkIMHGbTDBS8B06ieWUE3mheUkbYmzLCk7Ov2TNErbdktQ416AvQsS+R+PzoCLzxeWl0hL2NjgDIPeuaPYMyLVUwXw1orHZyC8EqCUR5rmSyaGbCbDaBWIqOBjSkrNC8YAwzm8pkOg4uQbXm3AI8aivJtupqIcwa1LNEbSEBfGsBtFHkAkEMo7vsWMMzQV37YgDGbcPFMJwhx9zFcAVcahyIeMf/U7O0RDWczGwi0OzPUAQeZJRUrB5aOGxAJIJY7DRxoxlkWVWpTLiRcn78C9oFcxpxHbN3hHrB57kXcDAxgGtFeaqpwdbfHKFv0jeP0N+UDx8+JNyoPF1+n85VDnEuOodyrvL7aL9Uv0aCqTWSVpaf0QGVQMQ11fovdLaFEq6IKegxYEYxHm3gdLggBiuWJOQNaRTr7UF1CPCFoEUUcFHU8v8xPx+1iQFXwhgoWwpE0ZHhySm4AyOEMeJ6mnKeB3IoqL8FNtcj2hH4nJ7VqeFnhSzNoozgSwJHbWQUGQ01VvsqbmCVMg/f4ZMjvKTkR+EbMCmg3ivX4XvFR4Rvhm/1MVTGw4gNTNeDx2VE+eWJqEZyKVv0gz0m6kBxSRgu1ygzl64ssSGOszU6tsahF6tHCqbGFKsf0TN30YZpX7bogZ4o6G3AkipSNldX1bDCqka2BgIoPBYIEtkyAH+aC8EpAE03dfgtHAlRsuXAFvivVtacJuC+HztG99KFtOmnm06TXyjfUSKchT2CU6OW3hyjq18Bv4ls+qnyH8r3lG3HqEDfoEt/gWMgYHt1f9Q9xWhdX/FG7Uy7m6HjDQk0b5iLiGRpD3W6qBM9aFvKVu3q/G3LuI9zDz44ifv7sm0HP/kjd0NqOK38helbSl7eK7x+8fTpF38a2/uyhi2tGz1c1a38WG2JlURInFxKEHg0lIoNGLMnDU4wryDoTSU5jnHI1lJloaAZhbpo1uBD5loMBCcScssJuU0NAbW1YJi+IaBhtqapGUQ22qaWUfhR7zpd6AlGWcESVwnJsaVLWlZKlq36ihLt7KdTnrv5/WXhOUORHQ/sP3nl3KHw1of2nwQu/3m/8pPnbv7Dcko5NiGgY8l3j69ZHh6aG9l2cr+yZmhOeDs6lthI6TY2I6SyPoytdYpiVWIEC+2wUNtaKlrZUiYr5jhgCnxqBfpY9KuJrU1DBXZGbemZI88K0s1NoLY07gjaHrtYqG3G5CFYnAYW8NKLhRq2nqbWigqM5tSot2h3+s6sWGKxr1TFvawsaQKu5ghbjgfdB80jwQGvlE8QPvB5VPK4TIlTlyepLuXzSjdecQTvlCW2ZI/VEgFH3qNFeTERJ8w3Lj1D7ewaVwRhV7EUKOSC3YJDEmpzLBdWAUV2LYavquVXVKogoOULlPXK+gUHKwsHxxDPB68tUIbovgW0pPztKN5U7doqtGuat1E9oWJx0SC3SnqbjqB7IfikEY6sKiN/wqTqsb/qukLvuJWqmoqAj4WBcF3VmQWDevIxUV+0srL0zPs4/0EkIfAfqsE9ISkbS0UjW+ZmBHsma6BBNU6+khxKFut9rGy/CW5Zkyz8x9YI8rmCrx6OQXWNoDUb9YtRTOpaXWIkxFGxGSQ3k+aiolPAikmdi5JrN/yOk/4wa8GvDx5SfvM4L9le71sI5zT0ONwRyIPUteF3ZekPfT+4UlY+jCmnvCfojPJRDp/74TqZ2mJU1/y68sOjDyrvb/idmqvhgaYCrsF0VOmEQS0hUdCMLROkkoDqG4lAqnYIJwHp21KN5ejUaJhepQmWWOE3oJY2jH1RmNkgAQwQLrvE4NooOptobQa4vJ5o/h2+0cbQ680Ew0IupjyaWG6kOYlrHUHu/EkMP9eqS+W04wv9zpQqqTIXUIFtuFqkVCtaMeVeCCBaaPI2I48WeBfc0Zsd9erSg2GDyd6gJuCBwxCwd6Z7aNJL7SYaiFRxrKFyb4Du3KL8N/2qNDL41ae+OohvrVsf3rr1Yfpo9Q6f5/b3KM1gMcn6yiODgzSHD21VpLF7Z9klXKGcJEhTdYWykfEtx9Yp47pkdSlyQUMA7uiNcCZUlAPFhXb+RnpG0aMx5NlS1zL5yxkdz401KtLZGt6g4rbKOmnVk6hGRu5ns13L1mm5U3IOy/2wii6Qkqew7FU+Ibem5GklOcJW5iRY700p6Dqu5+1UNcf4gAgMZpgTm0IhVxJtiA8DIXBmwRhUoRujHZNLwwZzTy8+MFldK6oGPAqTu2DgWAOlclcF1zEuCzr8maC1Gj38zNE6DuHZxq8qPwvtAbbBSEaEQbdx/y8ah/suomxhMb4wFoIQ8FNQRYAGRx9jj9PIWYc32GF0XDBErS8FzIXx6kaSIGhVeLY4iGeGhTdgRpQ3ob1sYhoXjUgJK/3RvGN0sbIiiyW7wPtMVXKe0r4hne7o7i9fkji6bf9Jl6tSGcjtO77PE9x9dNUVu07u7+lVF6Gjjsc8hqBG/4GHopH0VLVcz26mJhoFRwKj4y/SOXPe7z8+h3rhOOdYv5KjByg5cBoRpQ/vHu9/f84c5Z3+1/rfn83NUnL8L0+TA8xBpYggNeia6VAn69g4eVVlVMp1q7qiast5Nd5bjfKqueXXNB9q/hVUtHtsbaohoSJBXHYqa9SkELosUabelO8spR8qtqV0Ka5KXzqo2BTbIF0K9sRGX9NK7LuA6bPUD5+KQuOHS5XvoH6iS5fyI+xZ/BjLK+S12H/0LtEjghbAlGB/yiMCAOE8O2PPoZ3K43OAvQ3sgxz4V3klzxMuXwYva0TJj9WU89BJsNciKcIFTDOgUYGRATxOXl2gTkFDQzc/5zmQeVTQ6lL2qp+gkdi2DVZWG43+ri6ByAP9ARa6YQj5U+gjR9RSX2RGC15oJC05a6+H80VJv4/UL1p8HSm2Wr8o+iei4AqJoj2UxjbAeo5wBtv0iWJ9Sxe2GQAkTshhW22i2NTGIql1paKnHSOpFJUHOVEU1L0i+FJRazSxM+b9Fe31TXhlKxWdbi87YzmRYkhVGcFSMYLR0yRmSABQFtNd3UkWQC12TuqBs8K0yn4SZ4Kenw2C/k+uOSL94z9OOnsDijL5f7tmLMGxXBPLC6EOnsryQiD5jVgXUN2zomlc+bJYjeGDFkX470Gbh1Ere+6cTFoggstXqgaCw3X9akoNa43VXTVUG0HUVBuuYNpHh3gyOj5vpfZPC7IcIV8i2JlACZExgqEIA0N6QDwqpGCl2MU6G1vgb0ZdFlXXkyN2kuuSiJSM6qYFLFeMdcahBAbyCj4jrivTaDm1ulgWwGQTIxN0meKlXIdYSo1+G2gGADLYAL8jmDl7yKExe6hu/wC+Jg5VGj/4SpoOvQK4f5qwPSKYaIyRYX/VDWLxDbXOBXNaDVg/ZgSPIIUOokNdx2ms5u60NZhrKWq0SAANNcSKWg3Lm2OBE4AXK9xvKFVXdfrtBD32CMFpwxH4K0c0Mspbb50mbylvsTlib4L0nvJIu/IXWtdOL6XrKAtFoE1Sj5X1AES1Mc0wW4tJMYKrV7zgtqWq1sb7WWsDM+Q/ARPBZiHkB1tbE0G85I0AePL5Q+ih8GKxkQVd/qEpwlL/gIYdKNBbq/2MVcK9OBRpiA5RhrsBFIG29/nG2yi1YBDe1PGcsZkBXA/sYwPxgngki16Gtr1sIF6E4z6LOkRco6AuTfD6YDAuwvpfoM5/2ntM6TJ7em7PWXcRvimqZf1sr1VOw/xnJXZjAI18NbNcGuaR4HYemAUt1rLitloLkt42tsXI+OScheHaosWMD1rAg0a3i+XdipzRipEvtuYC49UCNurVRtwKRhZVAdHhJGRFA9o6DEVjtyT0cDAIFFEugpPyG5yKfShj/ze5MJ4/Vn6D8dFYHlcgRtJVHYdRtcM1n+l2JRKFPZQ56JVRI46JKmXOgOhHg0PBcPEqHZHB4Uri1LUm3JiMiaAFZxIMIjhwmTRKlzY1TguCX6BlmsRWGjZqcVeWehYNMTKoVDCCp1VwNuTOKEMxGNDiogsH6IZORISRdBYjflhfwKrB8qPq0gsebMfoKxlVGX6KGkJCLZC9J8vWIZEDulW6VeAXd+K8Rlh5VqcahckCxDkhd5TkDgurJnWzzGqhg8e0vEZfO6EddVpaHLaE6tjSEbf1sOiob2oOshhIEgTtsIf4Qy24x4ncKQ5TTT1uqCGbrYe1xjqLzaX6KVmsZIpmNZ1ZPusCzJZ18U5X2IV1TjqXLqzV2XRYzhjVRW2RqKaq9w/8Qa//wyQ6MdHtuOOl6ZbpL93p7ErRiZNYs/Jq21QnNBv001+6w9GVUl7lIgyFcX+sNnYnzvcwfony6qTKd0M7Z6yAN/6s/ZfYbKo7MLnHrNnYnkYudQcmnDkXOG2HcQcm0c6o4jYj9bQ6YnWcswsT27EoS7U22skWEJ6zG1OSth2/9QvlGbPK3NFZyvHjt52zL1PyuHJ8Fnf0izRVnrHrtuO07Zx+byIon+D9mJn3Y8QobKW+pIJHm5jmr2Wrprlk0cjKHI2o6o0WNAg65vagodYn2Rh16MKZbKCQRLFgBqll7ipu08SwLC41dWDyyFLBxdUCNNQvAsjvKGK/is0+zA5azLOi/yKQU79gJqu/arjOyDBivCZS9dnVgJWgUv6Mz872E2ABY9XJQcj4qRqPIWNxAO/ZsYPq15XGBRFQflSPX40zs32OJLZfGa5P01U+VMGo+AmbGsmFIai/qwLWcZ/lznyWRw0w9lnKdoFSd9ZSt3Eqs2+o7PNExu/zRKr7PPGUbVSir2KuaZW9Sf7/oS46DnWdKWQaZeuEkTAV+IHICm+cUmGXhpzKjIu9Vvqo4q4bSLEJ+/j/iLx045DX58CuELDkIU6jFZqZ1J0XcdmqiMtf+Xd+xFXdb0tSR3n6rJFzn4VcZdx4ipkBtbDr1HjUdbYsukgH0yF2dY+PsRmqT7C949REkA7tvFkEg5T7nD3b+JQYPHfftiLrV2xk5LMqgn+PdWYU+nlWf8xj/bGx/piYZR/fH5Or2p/a8/VnfHj+3P58+0zs5rM9EpLj4zfj+4R5zytZnxIlrLv2sB2R1OwnatumUrGJ7UHSZMNUugWjkyj+uIFAE+CGw7yxtq6NmamI+LRBMLfGO1JqbVmqOpbW847Fxcriseod/3loCivlqxX0wYD1c8fJrfzymkiju74+c0Gj+2XROmMgHF685KuHas87dP74oT6L2Bhsagy0trdNywU8dkd7ZtKkhZunTTuTsmBreNWcBagrm8jyWgA5VKEDXvPRt1mC6O1znsWkEjwrsN0GcZdB+rbiUz/B8l7VfBnm5KzECTKJ1HawiJcJdD83tilbTRJj5hgXRtWQsvltNGhLRYM2dp6iPJzDbw/SxYMgBo4TMWmkcgmC8Ue41LCYdBmVAOKlsYtKXlHViaCy3Jir7bRGQmYajQgfW7Zwt3G3bbH8XHltyyOPbFFe09yhPD9UfpC7Yoh2/0kc+vrXh0Tmz5C19KTuAW0zKHgD7h9po1nepmbvMPlrW0s7Xj927HW66WNKPqb3vE4TyrHXfykQJbeX5mhu7+iyHoH0jD6+l75IX9yrvFipSQBtVcknNpAw2U5QNtwsWNhUwhC6L1XZqC6IMUJW82hEzizogkkgYBMjoAYVGior/GiTutGFP6lmhDGn35zAckhAB00YDMWwaDAMZzyXY1un0TBLYxrO4wenRBUL+3m2V4dWrdYcq2XK9Et0rNBCzXxKSiXxiVJXfaqfZir7iJw+z7g96B2q4/aoK8e9bJRw7VYLg21qvVGjG/dt1KGf5XZVh2LyIMQ38Ll/NpjM5w+CZUP/Yfel8/S7mZB/8HsYYYt+3i9upBb6/EXKvsP/8FdnKB/RF/AptjdeRe40oNu9LP6vHxfx1luBCryWVGoxUIR5MD1J4hCjcRrEXY9YGQOmawC37ZvzzJrTiDlYXQP+Q/yg4KaGyvF9c+YqUiWeWJUbN8uhYozdlMBELylwtZWlJoazfoee5yfO/tpxuSIeaJgmiIlslV1SixqhGgVgOsFXRT5+/E2NwPYnqSAgMclWt/ApdEDjPG7pwAr0grlUz8a+mZv7+zfPRI5Tz/o29qRyiB5OEQzvY5AaX+Wxs7G9ZHCvUZE4SD/zqNT6aFoqaulYUIIf22NSrSwQ1FwOAPOCoAPDoDfWmK02dT2GbMqNA4tZrMhvpv5ohDn80J3TmObhydYtZbJlK88qCFiUCcgGfw9vhT/+YUrO8vccIDPziGrRCzXOJMv56FXBEU7IzlJRcGJnBeysU/UYakrFGrZFVg0AHSZOLmdVnCpoDNwCH/HQ8ZhMXS+AzEvb6OO0jVU8Eqw15TD8TBm/SjDdMMWV4o9+PsOwCcbpOMLipXWsx0sYDjaxPVvVdQCc2mWgo4m5CyZ1m1bAXm7MjmtUsddYWTE6KThMIq5rkJ0iXMqeSjhbZAubdGyVUzCcQssZo5nKEbswtC83sPbobmVkBFO4I2oxCoLbfUNLZ0UfumT3UUwBS8waYn2Q2ucapHANm38OQ7cFXp9Sly2o2VGsAZ7i/NP7rAaYi8v6uMxZCgbtJ7iTJ6/9hB/meL2hUgGMFM6mbMGsXxfkUzpOapE+klroCDtwhEXRykSq1gVJDPtj5Kx3XDU4VavBAZnUlHBr10oG0QYkqqFqjZ5GLBhMqB9FARFIbS43lluMUp6r4grE+5iJUfIjFVTNPACJy4+UV1EfPYMNNGx/D+Q5DUNxDsD+VlLdv7gpUUm12ERXVufCGIorymQzG3VlRcqyttID7z7wAALWBx54l66FkcIRrh94AFrQMuMlrsiAw+i7WHOjEPUTgsSeY/VWGN8fOW98P4V1VyP4bzSv5gzgUs80JuBvbGW3Vewi5FndFsfqtli7nozm4S4V8pWaLg7zHaIAjfj6WCL/F8P1u2sAAHjaY2BkYGBgZjjy6Mpmh3h+m68M8hwMIHDua+N+ZJqDgQNCMYEoAHf+C1gAeNpjYGRg4GD4fwNEMjD8/w8kgSIogBUAY/wD9XjaNU+7FcJADJNNCvq87MMOvEdNxRyq0mWH1GEWegZhACz54nvnj+yTzvGDLQ8gKr8iEQDBRDKqgmqZMMq7/y5kd/UdCLFiC+ITZiivaz6fR0er6d054SksUgzmU3qFEXdFzV2Ez8Ywlc/m5Pilsr2VWitP/bGJ4wvDWi96P3Not+n2B3lgIYIAAAAmACYAJgAuAJIA3gFaAaABrgHkAjoC1AMkA4IEUAUiBXAFzgYgBw4H7ghiCPYJsgp4Cq4LCAs2C4AMHAyiDiAPnBBAEUYRvBMwE7wUHhRaFIYUshTcFVAVgBX6FpYXXBeSF/AYYBkCGYgaBhooGkoa1BryGyQbQBtsG5Yb+Bw2HLAdLh1yHYYdsh4cHjYeYB7iHyYf3iAgIFIgdCCaILIgxiDcIPAhBiEkIegiOCK6IxAjeCPQJDQkbCS8JVIlriYWJjomWCZ2JpQmoib0J3QnvCgGKJAopii8KQApIilMKcgqJCpiKpwqyCsUK2QrvCwWLFYsnizgLPYtBC0SLSAAAAABAAAAgAC9ABAAAAAAAAIAAQACABYAAAEAAYEAAAAAeNqNkr1OAkEUhc8CmmBhRSysNtFCTfiXqFBZiIkaQzRqZ7KaBYz8CStg4/PpC1j6EJZWfjMMwSCFmczOuWfOPffOzEpa0avi8hJJSZ/MCfaUIprgmFb15XBcZW+qSWjTKzu8pLF36/Ay/IfDSa173w6/aS2WcvhdudiOjlXTmXwNFaqvgR7UVYe4wOzC+AqIX1hboMiq/qpHoEhNUN0yESjUWPd8e0RT3RaaiNFTWVnGyI6MGuw+s5qKDfgWGSa3Q42QmYXtwabxD/SE0vi0YTZUdRWP/tTb5nTGw/Rq/LrW74K4QTVznr6KeOUYRVV0pVPd6By0KC89l7lI489prufu6Xe1mi5hJtGMbaKMnN+Q/bzdy2iPb4UTB3rE02jqsOae7nirjEp27uNR0MG/+j+BD21Xh+y24Qf2tjvcQYjr7CUnPVStm09eYLPycKb/Em9Zoq755u2fk2Pd/QGe+3ARAAB42m3S1XIUURRG4VmDBHd3d5k+Z5/uBIdAcHd3CRI0OBRPyCshmRWu6Kqp/6brm9qrutVujTy/frZS63/Pjz8/Wm3ajGEs4xhPDxOYyCQmM4WpTGM6M5jJLGYzh7nMYz4LWMgiFrOEpSxjOStYySpWs4a1rGM9G9jIJjazha1sYzsdKhKZoFDT0EsfO9jJLnazh73sYz8H6OcghxjgMEc4yjGOc4KTnOI0ZzjLOc5zgYtc4jJXuMo1rnODm9ziNne4yz3u84CHPOIxTxjkKc94zguGeMkrXvOGt7xjmPd84COf+MwXvvKN7z3DQ4OpDPT/3YGq03ErN7nZDbe4tdu4vW7fyCa9pJf0kl7SS3pJL+klvTTqVXqVXqVX6VV6lV6lV+lVepVe0kt6SS/pJb3U9bL3ZO/J3pO9J3tP7oy+X7uN2/3/0Amd0Amd0Amd0Amd+Od07wi7hF3CLmGXsEvYJewSdgm7hF3CLmGXsEvYJewSdomkl/SSXtLLelkv62W9rJf1sl7Wy3pZL/RCL/RCL/RCL/RCL/RCr+gVvaJX9Ipe0St6Ra/oFb1ar9ar9Wq9Wq/Wq/VqvVqv1mv0Gr1Gr9Frul7xuyp+V8XvqnTyb1UoNRm4Af+FsAGNAEuwCFBYsQEBjlmxRgYrWCGwEFlLsBRSWCGwgFkdsAYrXFhZsBQrAAAAAVLP0T8AAA==) format('woff'),
+         url('font/genericons-regular-webfont.ttf') format('truetype'),
+         url('font/genericons-regular-webfont.svg#genericonsregular') format('svg');
+    font-weight: normal;
+    font-style: normal;
+}
+
+
+/**
+ * All Genericons
+ */
+
+.genericon {
+	display: inline-block;
+	width: 16px;
+	height: 16px;
+	-webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
+	font-size: 16px;
+	line-height: 1;
+	font-family: 'Genericons';
+	text-decoration: inherit;
+	font-weight: normal;
+	font-style: normal;
+	vertical-align: top;
+}
+
+/**
+ * IE7 and IE6 hacks
+ */
+
+.genericon {
+	*overflow: auto;
+	*zoom: 1;
+	*display: inline;
+}
+
+/**
+ * Individual icons
+ */
+
+/* Post formats */
+.genericon-standard:before {        content: '\f100'; }
+.genericon-aside:before {           content: '\f101'; }
+.genericon-image:before {           content: '\f102'; }
+.genericon-gallery:before {         content: '\f103'; }
+.genericon-video:before {           content: '\f104'; }
+.genericon-status:before {          content: '\f105'; }
+.genericon-quote:before {           content: '\f106'; }
+.genericon-link:before {            content: '\f107'; }
+.genericon-chat:before {            content: '\f108'; }
+.genericon-audio:before {           content: '\f109'; }
+
+/* Social icons */
+.genericon-github:before {          content: '\f200'; }
+.genericon-dribbble:before {        content: '\f201'; }
+.genericon-twitter:before {         content: '\f202'; }
+.genericon-facebook:before {        content: '\f203'; }
+.genericon-facebook-alt:before {    content: '\f204'; }
+.genericon-wordpress:before {       content: '\f205'; }
+.genericon-googleplus:before {      content: '\f206'; }
+.genericon-linkedin:before {        content: '\f207'; }
+.genericon-linkedin-alt:before {    content: '\f208'; }
+.genericon-pinterest:before {       content: '\f209'; }
+.genericon-pinterest-alt:before {   content: '\f210'; }
+.genericon-flickr:before {          content: '\f211'; }
+.genericon-vimeo:before {           content: '\f212'; }
+.genericon-youtube:before {         content: '\f213'; }
+.genericon-tumblr:before {          content: '\f214'; }
+.genericon-instagram:before {       content: '\f215'; }
+.genericon-codepen:before {         content: '\f216'; }
+.genericon-polldaddy:before {       content: '\f217'; }
+.genericon-googleplus-alt:before {  content: '\f218'; }
+.genericon-path:before {            content: '\f219'; }
+.genericon-skype:before {           content: '\f220'; }
+.genericon-digg:before {            content: '\f221'; }
+.genericon-reddit:before {          content: '\f222'; }
+.genericon-stumbleupon:before {     content: '\f223'; }
+.genericon-pocket:before {          content: '\f224'; }
+.genericon-dropbox:before {         content: '\f225'; }
+
+/* Meta icons */
+.genericon-comment:before {         content: '\f300'; }
+.genericon-category:before {        content: '\f301'; }
+.genericon-tag:before {             content: '\f302'; }
+.genericon-time:before {            content: '\f303'; }
+.genericon-user:before {            content: '\f304'; }
+.genericon-day:before {             content: '\f305'; }
+.genericon-week:before {            content: '\f306'; }
+.genericon-month:before {           content: '\f307'; }
+.genericon-pinned:before {          content: '\f308'; }
+
+/* Other icons */
+.genericon-search:before {          content: '\f400'; }
+.genericon-unzoom:before {          content: '\f401'; }
+.genericon-zoom:before {            content: '\f402'; }
+.genericon-show:before {            content: '\f403'; }
+.genericon-hide:before {            content: '\f404'; }
+.genericon-close:before {           content: '\f405'; }
+.genericon-close-alt:before {       content: '\f406'; }
+.genericon-trash:before {           content: '\f407'; }
+.genericon-star:before {            content: '\f408'; }
+.genericon-home:before {            content: '\f409'; }
+.genericon-mail:before {            content: '\f410'; }
+.genericon-edit:before {            content: '\f411'; }
+.genericon-reply:before {           content: '\f412'; }
+.genericon-feed:before {            content: '\f413'; }
+.genericon-warning:before {         content: '\f414'; }
+.genericon-share:before {           content: '\f415'; }
+.genericon-attachment:before {      content: '\f416'; }
+.genericon-location:before {        content: '\f417'; }
+.genericon-checkmark:before {       content: '\f418'; }
+.genericon-menu:before {            content: '\f419'; }
+.genericon-refresh:before {         content: '\f420'; }
+.genericon-minimize:before {        content: '\f421'; }
+.genericon-maximize:before {        content: '\f422'; }
+.genericon-404:before {             content: '\f423'; }
+.genericon-spam:before {            content: '\f424'; }
+.genericon-summary:before {         content: '\f425'; }
+.genericon-cloud:before {           content: '\f426'; }
+.genericon-key:before {             content: '\f427'; }
+.genericon-dot:before {             content: '\f428'; }
+.genericon-next:before {            content: '\f429'; }
+.genericon-previous:before {        content: '\f430'; }
+.genericon-expand:before {          content: '\f431'; }
+.genericon-collapse:before {        content: '\f432'; }
+.genericon-dropdown:before {        content: '\f433'; }
+.genericon-dropdown-left:before {   content: '\f434'; }
+.genericon-top:before {             content: '\f435'; }
+.genericon-draggable:before {       content: '\f436'; }
+.genericon-phone:before {           content: '\f437'; }
+.genericon-send-to-phone:before {   content: '\f438'; }
+.genericon-plugin:before {          content: '\f439'; }
+.genericon-cloud-download:before {  content: '\f440'; }
+.genericon-cloud-upload:before {    content: '\f441'; }
+.genericon-external:before {        content: '\f442'; }
+.genericon-document:before {        content: '\f443'; }
+.genericon-book:before {            content: '\f444'; }
+.genericon-cog:before {             content: '\f445'; }
+.genericon-unapprove:before {       content: '\f446'; }
+.genericon-cart:before {            content: '\f447'; }
+.genericon-pause:before {           content: '\f448'; }
+.genericon-stop:before {            content: '\f449'; }
+.genericon-skip-back:before {       content: '\f450'; }
+.genericon-skip-ahead:before {      content: '\f451'; }
+.genericon-play:before {            content: '\f452'; }
+.genericon-tablet:before {          content: '\f453'; }
+.genericon-send-to-tablet:before {  content: '\f454'; }
+.genericon-info:before {            content: '\f455'; }
+.genericon-notice:before {          content: '\f456'; }
+.genericon-help:before {            content: '\f457'; }
+.genericon-fastforward:before {     content: '\f458'; }
+.genericon-rewind:before {          content: '\f459'; }
+.genericon-portfolio:before {       content: '\f460'; }
+.genericon-heart:before {           content: '\f461'; }
+.genericon-code:before {            content: '\f462'; }
+.genericon-subscribe:before {       content: '\f463'; }
+.genericon-unsubscribe:before {     content: '\f464'; }
+.genericon-subscribed:before {      content: '\f465'; }
+.genericon-reply-alt:before {       content: '\f466'; }
+.genericon-reply-single:before {    content: '\f467'; }
+.genericon-flag:before {            content: '\f468'; }
+.genericon-print:before {           content: '\f469'; }
+.genericon-lock:before {            content: '\f470'; }
+.genericon-bold:before {            content: '\f471'; }
+.genericon-italic:before {          content: '\f472'; }
+.genericon-picture:before {         content: '\f473'; }
+.genericon-fullscreen:before {      content: '\f474'; }
+
+/* Generic shapes */
+.genericon-uparrow:before {         content: '\f500'; }
+.genericon-rightarrow:before {      content: '\f501'; }
+.genericon-downarrow:before {       content: '\f502'; }
+.genericon-leftarrow:before {       content: '\f503'; }
+
+
+
+
+
diff --git a/wp-content/themes/twentythirteen/header.php b/wp-content/themes/twentythirteen/header.php
index e19703c79..f61c28f0f 100644
--- a/wp-content/themes/twentythirteen/header.php
+++ b/wp-content/themes/twentythirteen/header.php
@@ -15,7 +15,7 @@
 <!--[if IE 8]>
 <html class="ie ie8" <?php language_attributes(); ?>>
 <![endif]-->
-<!--[if !(IE 7) | !(IE 8)  ]><!-->
+<!--[if !(IE 7) & !(IE 8)]><!-->
 <html <?php language_attributes(); ?>>
 <!--<![endif]-->
 <head>
@@ -40,7 +40,7 @@
 
 			<div id="navbar" class="navbar">
 				<nav id="site-navigation" class="navigation main-navigation" role="navigation">
-					<h3 class="menu-toggle"><?php _e( 'Menu', 'twentythirteen' ); ?></h3>
+					<button class="menu-toggle"><?php _e( 'Menu', 'twentythirteen' ); ?></button>
 					<a class="screen-reader-text skip-link" href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentythirteen' ); ?>"><?php _e( 'Skip to content', 'twentythirteen' ); ?></a>
 					<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
 					<?php get_search_form(); ?>
diff --git a/wp-content/themes/twentythirteen/inc/custom-header.php b/wp-content/themes/twentythirteen/inc/custom-header.php
index 2fabe5bcb..58b6c559d 100644
--- a/wp-content/themes/twentythirteen/inc/custom-header.php
+++ b/wp-content/themes/twentythirteen/inc/custom-header.php
@@ -72,7 +72,7 @@ function twentythirteen_custom_header_fonts() {
 	wp_enqueue_style( 'twentythirteen-fonts', twentythirteen_fonts_url(), array(), null );
 
 	// Add Genericons font.
-	wp_enqueue_style( 'genericons', get_template_directory_uri() . '/fonts/genericons.css', array(), '2.09' );
+	wp_enqueue_style( 'genericons', get_template_directory_uri() . '/genericons/genericons.css', array(), '3.03' );
 }
 add_action( 'admin_print_styles-appearance_page_custom-header', 'twentythirteen_custom_header_fonts' );
 
@@ -101,6 +101,16 @@ function twentythirteen_header_style() {
 			background: url(<?php header_image(); ?>) no-repeat scroll top;
 			background-size: 1600px auto;
 		}
+		@media (max-width: 767px) {
+			.site-header {
+				background-size: 768px auto;
+			}
+		}
+		@media (max-width: 359px) {
+			.site-header {
+				background-size: 360px auto;
+			}
+		}
 	<?php
 		endif;
 
diff --git a/wp-content/themes/twentythirteen/js/functions.js b/wp-content/themes/twentythirteen/js/functions.js
index 78c8c848c..526c15d6b 100644
--- a/wp-content/themes/twentythirteen/js/functions.js
+++ b/wp-content/themes/twentythirteen/js/functions.js
@@ -50,6 +50,19 @@
 			nav.toggleClass( 'toggled-on' );
 		} );
 
+		// Fix sub-menus for touch devices.
+		if ( 'ontouchstart' in window ) {
+			menu.find( '.menu-item-has-children > a' ).on( 'touchstart.twentythirteen', function( e ) {
+				var el = $( this ).parent( 'li' );
+
+				if ( ! el.hasClass( 'focus' ) ) {
+					e.preventDefault();
+					el.toggleClass( 'focus' );
+					el.siblings( '.focus' ).removeClass( 'focus' );
+				}
+			} );
+		}
+
 		// Better focus for hidden submenu items for accessibility.
 		menu.find( 'a' ).on( 'focus.twentythirteen blur.twentythirteen', function() {
 			$( this ).parents( '.menu-item, .page_item' ).toggleClass( 'focus' );
diff --git a/wp-content/themes/twentythirteen/languages/twentythirteen.pot b/wp-content/themes/twentythirteen/languages/twentythirteen.pot
index 4feb1d5db..238133dcf 100644
--- a/wp-content/themes/twentythirteen/languages/twentythirteen.pot
+++ b/wp-content/themes/twentythirteen/languages/twentythirteen.pot
@@ -2,9 +2,9 @@
 # This file is distributed under the GNU General Public License v2 or later.
 msgid ""
 msgstr ""
-"Project-Id-Version: Twenty Thirteen 1.2\n"
+"Project-Id-Version: Twenty Thirteen 1.3\n"
 "Report-Msgid-Bugs-To: http://wordpress.org/tags/twentythirteen\n"
-"POT-Creation-Date: 2014-04-16 18:28:45+00:00\n"
+"POT-Creation-Date: 2014-09-03 00:45:47+00:00\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -145,7 +145,7 @@ msgid ""
 "searching can help."
 msgstr ""
 
-#. #-#-#-#-#  twentythirteen.pot (Twenty Thirteen 1.1)  #-#-#-#-#
+#. #-#-#-#-#  twentythirteen.pot (Twenty Thirteen 1.3)  #-#-#-#-#
 #. Author URI of the plugin/theme
 #: footer.php:19
 msgid "http://wordpress.org/"
diff --git a/wp-content/themes/twentythirteen/style.css b/wp-content/themes/twentythirteen/style.css
index 28df9208b..1c5ad6ef3 100644
--- a/wp-content/themes/twentythirteen/style.css
+++ b/wp-content/themes/twentythirteen/style.css
@@ -4,10 +4,10 @@ Theme URI: http://wordpress.org/themes/twentythirteen
 Author: the WordPress team
 Author URI: http://wordpress.org/
 Description: The 2013 theme for WordPress takes us back to the blog, featuring a full range of post formats, each displayed beautifully in their own unique way. Design details abound, starting with a vibrant color scheme and matching header images, beautiful typography and icons, and a flexible layout that looks great on any device, big or small.
-Version: 1.2
+Version: 1.3
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
-Tags: black, brown, orange, tan, white, yellow, light, one-column, two-columns, right-sidebar, fluid-layout, responsive-layout, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready
+Tags: black, brown, orange, tan, white, yellow, light, one-column, two-columns, right-sidebar, fluid-layout, responsive-layout, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready, accessibility-ready
 Text Domain: twentythirteen
 
 This theme, like WordPress, is licensed under the GPL.
@@ -971,7 +971,7 @@ ul.nav-menu .focus > ul,
 	position: relative;
 	-webkit-transition: width 400ms ease, background 400ms ease;
 	transition:         width 400ms ease, background 400ms ease;
-	width: 0;
+	width: 1px;
 }
 
 .site-header .search-field:focus {
@@ -2788,6 +2788,13 @@ footer.entry-meta {
 
 /* Collapse oversized image and pulled images after iPad breakpoint. */
 @media (max-width: 767px) {
+	.site-header .home-link {
+		min-height: 0;
+	}
+	.site-title {
+		font-size: 36px;
+		padding: 8px 0 10px;
+	}
 	.entry-content img.alignleft,
 	.entry-content .wp-caption.alignleft {
 		margin-left: 0;
@@ -2846,9 +2853,22 @@ footer.entry-meta {
 		display: inline-block;
 		font: bold 16px/1.3 "Source Sans Pro", Helvetica, sans-serif;
 		margin: 0;
+	}
+
+	.menu-toggle,
+	.menu-toggle:hover,
+	.menu-toggle:focus,
+	.menu-toggle:active {
+		background: none;
+		border: none;
+		color: #141412;
 		padding: 12px 0 12px 20px;
 	}
 
+	.menu-toggle:focus {
+		outline: thin dotted;
+	}
+
 	.menu-toggle:after {
 		content: "\f502";
 		font-size: 12px;
@@ -2895,12 +2915,18 @@ footer.entry-meta {
 		color: #141412;
 	}
 
-	.toggled-on .nav-menu li a:hover,
-	.toggled-on .nav-menu ul a:hover {
+	.toggled-on .nav-menu > li a:hover,
+	.toggled-on .nav-menu > ul a:hover {
 		background-color: #db572f;
 		color: #fff;
 	}
 
+	.toggled-on .nav-menu > li a:focus,
+	.toggled-on .nav-menu > ul a:focus {
+		background-color: #220e10;
+		color: #fff;
+	}
+
 	ul.nav-menu,
 	div.nav-menu > ul {
 		display: none;
@@ -2985,6 +3011,13 @@ footer.entry-meta {
 
 /* Mobile devices */
 @media (max-width: 359px) {
+	.site-title {
+		font-weight: normal;
+	}
+	.site-description {
+	    clip: rect(1px, 1px, 1px, 1px);
+	    position: absolute;
+	}
 	.gallery {
 		margin-left: 0;
 	}
@@ -3176,4 +3209,4 @@ footer.entry-meta {
 	.comment-reply-login {
 		color: #333;
 	}
-}
\ No newline at end of file
+}
diff --git a/wp-content/themes/twentytwelve/functions.php b/wp-content/themes/twentytwelve/functions.php
index c4055ba05..38ea36ec7 100644
--- a/wp-content/themes/twentytwelve/functions.php
+++ b/wp-content/themes/twentytwelve/functions.php
@@ -140,7 +140,7 @@ function twentytwelve_scripts_styles() {
 		wp_enqueue_script( 'comment-reply' );
 
 	// Adds JavaScript for handling the navigation menu hide-and-show behavior.
-	wp_enqueue_script( 'twentytwelve-navigation', get_template_directory_uri() . '/js/navigation.js', array( 'jquery' ), '20140318', true );
+	wp_enqueue_script( 'twentytwelve-navigation', get_template_directory_uri() . '/js/navigation.js', array( 'jquery' ), '20140711', true );
 
 	$font_url = twentytwelve_get_font_url();
 	if ( ! empty( $font_url ) )
@@ -209,7 +209,7 @@ function twentytwelve_wp_title( $title, $sep ) {
 		$title = "$title $sep $site_description";
 
 	// Add a page number if necessary.
-	if ( $paged >= 2 || $page >= 2 )
+	if ( ( $paged >= 2 || $page >= 2 ) && ! is_404() )
 		$title = "$title $sep " . sprintf( __( 'Page %s', 'twentytwelve' ), max( $paged, $page ) );
 
 	return $title;
diff --git a/wp-content/themes/twentytwelve/header.php b/wp-content/themes/twentytwelve/header.php
index eb64b68d5..8dcd9a99e 100644
--- a/wp-content/themes/twentytwelve/header.php
+++ b/wp-content/themes/twentytwelve/header.php
@@ -15,7 +15,7 @@
 <!--[if IE 8]>
 <html class="ie ie8" <?php language_attributes(); ?>>
 <![endif]-->
-<!--[if !(IE 7) | !(IE 8)  ]><!-->
+<!--[if !(IE 7) & !(IE 8)]><!-->
 <html <?php language_attributes(); ?>>
 <!--<![endif]-->
 <head>
@@ -40,7 +40,7 @@
 		</hgroup>
 
 		<nav id="site-navigation" class="main-navigation" role="navigation">
-			<h3 class="menu-toggle"><?php _e( 'Menu', 'twentytwelve' ); ?></h3>
+			<button class="menu-toggle"><?php _e( 'Menu', 'twentytwelve' ); ?></button>
 			<a class="assistive-text" href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentytwelve' ); ?>"><?php _e( 'Skip to content', 'twentytwelve' ); ?></a>
 			<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
 		</nav><!-- #site-navigation -->
diff --git a/wp-content/themes/twentytwelve/image.php b/wp-content/themes/twentytwelve/image.php
index 285e453c7..1dc2aa931 100644
--- a/wp-content/themes/twentytwelve/image.php
+++ b/wp-content/themes/twentytwelve/image.php
@@ -58,9 +58,9 @@ foreach ( $attachments as $k => $attachment ) :
 		break;
 endforeach;
 
-$k++;
 // If there is more than 1 attachment in a gallery
 if ( count( $attachments ) > 1 ) :
+	$k++;
 	if ( isset( $attachments[ $k ] ) ) :
 		// get the URL of the next image attachment
 		$next_attachment_url = get_attachment_link( $attachments[ $k ]->ID );
diff --git a/wp-content/themes/twentytwelve/js/navigation.js b/wp-content/themes/twentytwelve/js/navigation.js
index 2c3214108..34a640246 100644
--- a/wp-content/themes/twentytwelve/js/navigation.js
+++ b/wp-content/themes/twentytwelve/js/navigation.js
@@ -8,7 +8,7 @@
 		return;
 	}
 
-	button = nav.getElementsByTagName( 'h3' )[0];
+	button = nav.getElementsByTagName( 'button' )[0];
 	menu   = nav.getElementsByTagName( 'ul' )[0];
 	if ( ! button ) {
 		return;
@@ -40,4 +40,16 @@
 	$( '.main-navigation' ).find( 'a' ).on( 'focus.twentytwelve blur.twentytwelve', function() {
 		$( this ).parents( '.menu-item, .page_item' ).toggleClass( 'focus' );
 	} );
+
+  if ( 'ontouchstart' in window ) {
+    $( '.menu-item-has-children > a' ).on( 'touchstart.twentytwelve', function( e ) {
+      var el = $( this ).parent( 'li' );
+
+      if ( ! el.hasClass( 'focus' ) ) {
+        e.preventDefault();
+        el.toggleClass( 'focus' );
+        el.siblings( '.focus').removeClass( 'focus' );
+      }
+    } );
+  }
 } )( jQuery );
diff --git a/wp-content/themes/twentytwelve/languages/twentytwelve.pot b/wp-content/themes/twentytwelve/languages/twentytwelve.pot
index 5df8a29a9..083e0081a 100644
--- a/wp-content/themes/twentytwelve/languages/twentytwelve.pot
+++ b/wp-content/themes/twentytwelve/languages/twentytwelve.pot
@@ -2,9 +2,9 @@
 # This file is distributed under the GNU General Public License v2 or later.
 msgid ""
 msgstr ""
-"Project-Id-Version: Twenty Twelve 1.4\n"
+"Project-Id-Version: Twenty Twelve 1.5\n"
 "Report-Msgid-Bugs-To: http://wordpress.org/tags/twentytwelve\n"
-"POT-Creation-Date: 2014-04-16 18:27:55+00:00\n"
+"POT-Creation-Date: 2014-09-03 00:45:46+00:00\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -139,7 +139,7 @@ msgstr ""
 msgid "View all posts by %s <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
-#. #-#-#-#-#  twentytwelve.pot (Twenty Twelve 1.3)  #-#-#-#-#
+#. #-#-#-#-#  twentytwelve.pot (Twenty Twelve 1.5)  #-#-#-#-#
 #. Author URI of the plugin/theme
 #: footer.php:16
 msgid "http://wordpress.org/"
diff --git a/wp-content/themes/twentytwelve/style.css b/wp-content/themes/twentytwelve/style.css
index 110332867..5b2d8721c 100644
--- a/wp-content/themes/twentytwelve/style.css
+++ b/wp-content/themes/twentytwelve/style.css
@@ -4,7 +4,7 @@ Theme URI: http://wordpress.org/themes/twentytwelve
 Author: the WordPress team
 Author URI: http://wordpress.org/
 Description: The 2012 theme for WordPress is a fully responsive theme that looks great on any device. Features include a front page template with its own widgets, an optional display font, styling for post formats on both index and single views, and an optional no-sidebar page template. Make it yours with a custom menu, header image, and background.
-Version: 1.4
+Version: 1.5
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Tags: light, gray, white, one-column, two-columns, right-sidebar, fluid-layout, responsive-layout, custom-background, custom-header, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready
@@ -272,6 +272,7 @@ input[disabled] {
 	cursor: default;
 }
 .menu-toggle:hover,
+.menu-toggle:focus,
 button:hover,
 input[type="submit"]:hover,
 input[type="button"]:hover,
diff --git a/wp-cron.php b/wp-cron.php
index da2838cbd..2b965ddf5 100644
--- a/wp-cron.php
+++ b/wp-cron.php
@@ -32,8 +32,10 @@ function _get_cron_lock() {
 
 	$value = 0;
 	if ( wp_using_ext_object_cache() ) {
-		// Skip local cache and force refetch of doing_cron transient in case
-		// another processs updated the cache
+		/*
+		 * Skip local cache and force re-fetch of doing_cron transient
+		 * in case another process updated the cache.
+		 */
 		$value = wp_cache_get( 'doing_cron', 'transient', true );
 	} else {
 		$row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", '_transient_doing_cron' ) );
@@ -92,10 +94,11 @@ foreach ( $crons as $timestamp => $cronhooks ) {
 			/**
 			 * Fires scheduled events.
 			 *
+			 * @internal
 			 * @since 2.1.0
 			 *
 			 * @param string $hook Name of the hook that was scheduled to be fired.
-			 * @param array $v['args'] The arguments to be passed to the hook.
+			 * @param array  $args The arguments to be passed to the hook.
 			 */
  			do_action_ref_array( $hook, $v['args'] );
 
diff --git a/wp-includes/admin-bar.php b/wp-includes/admin-bar.php
index 2a5c3b1f8..cd1bb82a5 100644
--- a/wp-includes/admin-bar.php
+++ b/wp-includes/admin-bar.php
@@ -493,11 +493,23 @@ function wp_admin_bar_edit_menu( $wp_admin_bar ) {
 			&& ( $post_type_object->public )
 			&& ( $post_type_object->show_in_admin_bar ) )
 		{
-			$wp_admin_bar->add_menu( array(
-				'id' => 'view',
-				'title' => $post_type_object->labels->view_item,
-				'href' => get_permalink( $post->ID )
-			) );
+			if( 'draft' == $post->post_status ) {
+				$preview_link = set_url_scheme( get_permalink( $post->ID ) );
+				/** This filter is documented in wp-admin/includes/meta-boxes.php */
+				$preview_link = apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ), $post );
+				$wp_admin_bar->add_menu( array(
+					'id' => 'preview',
+					'title' => $post_type_object->labels->view_item,
+					'href' => esc_url( $preview_link ),
+					'meta' => array( 'target' => 'wp-preview-' . $post->ID ),
+				) );
+			} else {
+				$wp_admin_bar->add_menu( array(
+					'id' => 'view',
+					'title' => $post_type_object->labels->view_item,
+					'href' => get_permalink( $post->ID )
+				) );
+			}
 		} elseif ( 'edit-tags' == $current_screen->base
 			&& isset( $tag ) && is_object( $tag )
 			&& ( $tax = get_taxonomy( $tag->taxonomy ) )
@@ -648,17 +660,19 @@ function wp_admin_bar_appearance_menu( $wp_admin_bar ) {
 	if ( ! current_user_can( 'edit_theme_options' ) )
 		return;
 
-	$current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
-	$wp_admin_bar->add_menu( array(
-		'parent' => 'appearance',
-		'id'     => 'customize',
-		'title'  => __('Customize'),
-		'href'   => add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() ),
-		'meta'   => array(
-			'class' => 'hide-if-no-customize',
-		),
-	) );
-	add_action( 'wp_before_admin_bar_render', 'wp_customize_support_script' );
+	if ( current_user_can( 'customize' ) ) {
+		$current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
+		$wp_admin_bar->add_menu( array(
+			'parent' => 'appearance',
+			'id'     => 'customize',
+			'title'  => __('Customize'),
+			'href'   => add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() ),
+			'meta'   => array(
+				'class' => 'hide-if-no-customize',
+			),
+		) );
+		add_action( 'wp_before_admin_bar_render', 'wp_customize_support_script' );
+	}
 
 	if ( current_theme_supports( 'widgets' )  )
 		$wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'widgets', 'title' => __('Widgets'), 'href' => admin_url('widgets.php') ) );
diff --git a/wp-includes/author-template.php b/wp-includes/author-template.php
index dd225c0b6..1ec236abe 100644
--- a/wp-includes/author-template.php
+++ b/wp-includes/author-template.php
@@ -206,7 +206,11 @@ function the_author_link() {
  * @return int The number of posts by the author.
  */
 function get_the_author_posts() {
-	return count_user_posts( get_post()->post_author );
+	$post = get_post();
+	if ( ! $post ) {
+		return 0;
+	}
+	return count_user_posts( $post->post_author );
 }
 
 /**
@@ -300,32 +304,37 @@ function get_author_posts_url($author_id, $author_nicename = '') {
 /**
  * List all the authors of the blog, with several options available.
  *
- * <ul>
- * <li>optioncount (boolean) (false): Show the count in parenthesis next to the
- * author's name.</li>
- * <li>exclude_admin (boolean) (true): Exclude the 'admin' user that is
- * installed by default.</li>
- * <li>show_fullname (boolean) (false): Show their full names.</li>
- * <li>hide_empty (boolean) (true): Don't show authors without any posts.</li>
- * <li>feed (string) (''): If isn't empty, show links to author's feeds.</li>
- * <li>feed_image (string) (''): If isn't empty, use this image to link to
- * feeds.</li>
- * <li>echo (boolean) (true): Set to false to return the output, instead of
- * echoing.</li>
- * <li>style (string) ('list'): Whether to display list of authors in list form
- * or as a string.</li>
- * <li>html (bool) (true): Whether to list the items in html form or plaintext.
- * </li>
- * <li>exclude (array): Array of user IDs to explicitly exclude.</li>
- * <li>include (array): Array of user IDs to explicitly include.</li>
- * </ul>
- *
  * @link http://codex.wordpress.org/Template_Tags/wp_list_authors
+ *
  * @since 1.2.0
- * @param array $args The argument array.
- * @return null|string The output, if echo is set to false.
+ *
+ * @param string|array $args {
+ *     Optional. Array or string of default arguments.
+ *
+ *     @type string $orderby       How to sort the authors. Accepts 'nicename', 'email', 'url', 'registered',
+ *                                 'user_nicename', 'user_email', 'user_url', 'user_registered', 'name',
+ *                                 'display_name', 'post_count', 'ID', 'meta_value', 'user_login'. Default 'name'.
+ *     @type string $order         Sorting direction for $orderby. Accepts 'ASC', 'DESC'. Default 'ASC'.
+ *     @type int    $number        Maximum authors to return or display. Default empty (all authors).
+ *     @type bool   $optioncount   Show the count in parenthesis next to the author's name. Default false.
+ *     @type bool   $exclude_admin Whether to exclude the 'admin' account, if it exists. Default false.
+ *     @type bool   $show_fullname Whether to show the author's full name. Default false.
+ *     @type bool   $hide_empty    Whether to hide any authors with no posts. Default true.
+ *     @type string $feed          If not empty, show a link to the author's feed and use this text as the alt
+ *                                 parameter of the link. Default empty.
+ *     @type string $feed_image    If not empty, show a link to the author's feed and use this image URL as
+ *                                 clickable anchor. Default empty.
+ *     @type string $feed_type     The feed type to link to, such as 'rss2'. Defaults to default feed type.
+ *     @type bool   $echo          Whether to output the result or instead return it. Default true.
+ *     @type string $style         If 'list', each author is wrapped in an `<li>` element, otherwise the authors
+ *                                 will be separated by commas.
+ *     @type bool   $html          Whether to list the items in HTML form or plaintext. Default true.
+ *     @type string $exclude       An array, comma-, or space-separated list of author IDs to exclude. Default empty.
+ *     @type string $exclude       An array, comma-, or space-separated list of author IDs to include. Default empty.
+ * }
+ * @return null|string The output, if echo is set to false. Otherwise null.
  */
-function wp_list_authors($args = '') {
+function wp_list_authors( $args = '' ) {
 	global $wpdb;
 
 	$defaults = array(
@@ -337,7 +346,6 @@ function wp_list_authors($args = '') {
 	);
 
 	$args = wp_parse_args( $args, $defaults );
-	extract( $args, EXTR_SKIP );
 
 	$return = '';
 
@@ -346,78 +354,82 @@ function wp_list_authors($args = '') {
 	$authors = get_users( $query_args );
 
 	$author_count = array();
-	foreach ( (array) $wpdb->get_results("SELECT DISTINCT post_author, COUNT(ID) AS count FROM $wpdb->posts WHERE post_type = 'post' AND " . get_private_posts_cap_sql( 'post' ) . " GROUP BY post_author") as $row )
+	foreach ( (array) $wpdb->get_results( "SELECT DISTINCT post_author, COUNT(ID) AS count FROM $wpdb->posts WHERE post_type = 'post' AND " . get_private_posts_cap_sql( 'post' ) . " GROUP BY post_author" ) as $row ) {
 		$author_count[$row->post_author] = $row->count;
-
+	}
 	foreach ( $authors as $author_id ) {
 		$author = get_userdata( $author_id );
 
-		if ( $exclude_admin && 'admin' == $author->display_name )
+		if ( $args['exclude_admin'] && 'admin' == $author->display_name ) {
 			continue;
+		}
 
 		$posts = isset( $author_count[$author->ID] ) ? $author_count[$author->ID] : 0;
 
-		if ( !$posts && $hide_empty )
+		if ( ! $posts && $args['hide_empty'] ) {
 			continue;
+		}
 
-		$link = '';
-
-		if ( $show_fullname && $author->first_name && $author->last_name )
+		if ( $args['show_fullname'] && $author->first_name && $author->last_name ) {
 			$name = "$author->first_name $author->last_name";
-		else
+		} else {
 			$name = $author->display_name;
+		}
 
-		if ( !$html ) {
+		if ( ! $args['html'] ) {
 			$return .= $name . ', ';
 
 			continue; // No need to go further to process HTML.
 		}
 
-		if ( 'list' == $style ) {
+		if ( 'list' == $args['style'] ) {
 			$return .= '<li>';
 		}
 
 		$link = '<a href="' . get_author_posts_url( $author->ID, $author->user_nicename ) . '" title="' . esc_attr( sprintf(__("Posts by %s"), $author->display_name) ) . '">' . $name . '</a>';
 
-		if ( !empty( $feed_image ) || !empty( $feed ) ) {
+		if ( ! empty( $args['feed_image'] ) || ! empty( $args['feed'] ) ) {
 			$link .= ' ';
-			if ( empty( $feed_image ) ) {
+			if ( empty( $args['feed_image'] ) ) {
 				$link .= '(';
 			}
 
-			$link .= '<a href="' . get_author_feed_link( $author->ID, $feed_type ) . '"';
+			$link .= '<a href="' . get_author_feed_link( $author->ID, $args['feed_type'] ) . '"';
 
 			$alt = '';
-			if ( !empty( $feed ) ) {
-				$alt = ' alt="' . esc_attr( $feed ) . '"';
-				$name = $feed;
+			if ( ! empty( $args['feed'] ) ) {
+				$alt = ' alt="' . esc_attr( $args['feed'] ) . '"';
+				$name = $args['feed'];
 			}
 
 			$link .= '>';
 
-			if ( !empty( $feed_image ) )
-				$link .= '<img src="' . esc_url( $feed_image ) . '" style="border: none;"' . $alt . ' />';
-			else
+			if ( ! empty( $args['feed_image'] ) ) {
+				$link .= '<img src="' . esc_url( $args['feed_image'] ) . '" style="border: none;"' . $alt . ' />';
+			} else {
 				$link .= $name;
+			}
 
 			$link .= '</a>';
 
-			if ( empty( $feed_image ) )
+			if ( empty( $args['feed_image'] ) ) {
 				$link .= ')';
+			}
 		}
 
-		if ( $optioncount )
+		if ( $args['optioncount'] ) {
 			$link .= ' ('. $posts . ')';
+		}
 
 		$return .= $link;
-		$return .= ( 'list' == $style ) ? '</li>' : ', ';
+		$return .= ( 'list' == $args['style'] ) ? '</li>' : ', ';
 	}
 
-	$return = rtrim($return, ', ');
+	$return = rtrim( $return, ', ' );
 
-	if ( !$echo )
+	if ( ! $args['echo'] ) {
 		return $return;
-
+	}
 	echo $return;
 }
 
diff --git a/wp-includes/bookmark-template.php b/wp-includes/bookmark-template.php
index 1724590f3..a4561900b 100644
--- a/wp-includes/bookmark-template.php
+++ b/wp-includes/bookmark-template.php
@@ -19,35 +19,36 @@
  * This function is used internally by wp_list_bookmarks() and should not be
  * used by themes.
  *
- * The defaults for overwriting are:
- * 'show_updated' - Default is 0 (integer). Will show the time of when the
- *		bookmark was last updated.
- * 'show_description' - Default is 0 (integer). Whether to show the description
- *		of the bookmark.
- * 'show_images' - Default is 1 (integer). Whether to show link image if
- *		available.
- * 'show_name' - Default is 0 (integer). Whether to show link name if
- *		available.
- * 'before' - Default is '<li>' (string). The html or text to prepend to each
- *		bookmarks.
- * 'after' - Default is '</li>' (string). The html or text to append to each
- *		bookmarks.
- * 'link_before' - Default is '' (string). The html or text to prepend to each
- *		bookmarks inside the <a> tag.
- * 'link_after' - Default is '' (string). The html or text to append to each
- *		bookmarks inside the <a> tag.
- * 'between' - Default is '\n' (string). The string for use in between the link,
- *		description, and image.
- * 'show_rating' - Default is 0 (integer). Whether to show the link rating.
- *
  * @since 2.1.0
  * @access private
  *
- * @param array $bookmarks List of bookmarks to traverse
- * @param string|array $args Optional. Overwrite the defaults.
+ * @param array $bookmarks List of bookmarks to traverse.
+ * @param string|array $args {
+ *     Optional. Bookmarks arguments.
+ *
+ *     @type int|bool $show_updated     Whether to show the time the bookmark was last updated.
+ *                                      Accepts 1|true or 0|false. Default 0|false.
+ *     @type int|bool $show_description Whether to show the bookmakr description. Accepts 1|true,
+ *                                      Accepts 1|true or 0|false. Default 0|false.
+ *     @type int|bool $show_images      Whether to show the link image if available. Accepts 1|true
+ *                                      or 0|false. Default 1|true.
+ *     @type int|bool $show_name        Whether to show link name if available. Accepts 1|true or
+ *                                      0|false. Default 0|false.
+ *     @type string   $before           The HTML or text to prepend to each bookmark. Default '<li>'.
+ *     @type string   $after            The HTML or text to append to each bookmark. Default '</li>'.
+ *     @type string   $link_before      The HTML or text to prepend to each bookmark inside the anchor
+ *                                      tags. Default empty.
+ *     @type string   $link_after       The HTML or text to append to each bookmark inside the anchor
+ *                                      tags. Default empty.
+ *     @type string   $between          The string for use in between the link, description, and image.
+ *                                      Default "\n".
+ *     @type int|bool $show_rating      Whether to show the link rating. Accepts 1|true or 0|false.
+ *                                      Default 0|false.
+ *
+ * }
  * @return string Formatted output in HTML
  */
-function _walk_bookmarks($bookmarks, $args = '' ) {
+function _walk_bookmarks( $bookmarks, $args = '' ) {
 	$defaults = array(
 		'show_updated' => 0, 'show_description' => 0,
 		'show_images' => 1, 'show_name' => 0,
@@ -56,75 +57,89 @@ function _walk_bookmarks($bookmarks, $args = '' ) {
 	);
 
 	$r = wp_parse_args( $args, $defaults );
-	extract( $r, EXTR_SKIP );
 
 	$output = ''; // Blank string to start with.
 
 	foreach ( (array) $bookmarks as $bookmark ) {
-		if ( !isset($bookmark->recently_updated) )
+		if ( ! isset( $bookmark->recently_updated ) ) {
 			$bookmark->recently_updated = false;
-		$output .= $before;
-		if ( $show_updated && $bookmark->recently_updated )
+		}
+		$output .= $r['before'];
+		if ( $r['show_updated'] && $bookmark->recently_updated ) {
 			$output .= '<em>';
-
+		}
 		$the_link = '#';
-		if ( !empty($bookmark->link_url) )
-			$the_link = esc_url($bookmark->link_url);
-
-		$desc = esc_attr(sanitize_bookmark_field('link_description', $bookmark->link_description, $bookmark->link_id, 'display'));
-		$name = esc_attr(sanitize_bookmark_field('link_name', $bookmark->link_name, $bookmark->link_id, 'display'));
+		if ( ! empty( $bookmark->link_url ) ) {
+			$the_link = esc_url( $bookmark->link_url );
+		}
+		$desc = esc_attr( sanitize_bookmark_field( 'link_description', $bookmark->link_description, $bookmark->link_id, 'display' ) );
+		$name = esc_attr( sanitize_bookmark_field( 'link_name', $bookmark->link_name, $bookmark->link_id, 'display' ) );
  		$title = $desc;
 
-		if ( $show_updated )
-			if ( '00' != substr($bookmark->link_updated_f, 0, 2) ) {
+		if ( $r['show_updated'] ) {
+			if ( '00' != substr( $bookmark->link_updated_f, 0, 2 ) ) {
 				$title .= ' (';
-				$title .= sprintf(__('Last updated: %s'), date(get_option('links_updated_date_format'), $bookmark->link_updated_f + (get_option('gmt_offset') * HOUR_IN_SECONDS)));
+				$title .= sprintf(
+					__('Last updated: %s'),
+					date(
+						get_option( 'links_updated_date_format' ),
+						$bookmark->link_updated_f + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS )
+					)
+				);
 				$title .= ')';
 			}
+		}
+		$alt = ' alt="' . $name . ( $r['show_description'] ? ' ' . $title : '' ) . '"';
 
-		$alt = ' alt="' . $name . ( $show_description ? ' ' . $title : '' ) . '"';
-
-		if ( '' != $title )
+		if ( '' != $title ) {
 			$title = ' title="' . $title . '"';
-
+		}
 		$rel = $bookmark->link_rel;
-		if ( '' != $rel )
+		if ( '' != $rel ) {
 			$rel = ' rel="' . esc_attr($rel) . '"';
-
+		}
 		$target = $bookmark->link_target;
-		if ( '' != $target )
+		if ( '' != $target ) {
 			$target = ' target="' . $target . '"';
-
+		}
 		$output .= '<a href="' . $the_link . '"' . $rel . $title . $target . '>';
 
-		$output .= $link_before;
+		$output .= $r['link_before'];
 
-		if ( $bookmark->link_image != null && $show_images ) {
-			if ( strpos($bookmark->link_image, 'http') === 0 )
+		if ( $bookmark->link_image != null && $r['show_images'] ) {
+			if ( strpos( $bookmark->link_image, 'http' ) === 0 ) {
 				$output .= "<img src=\"$bookmark->link_image\" $alt $title />";
-			else // If it's a relative path
+			} else { // If it's a relative path
 				$output .= "<img src=\"" . get_option('siteurl') . "$bookmark->link_image\" $alt $title />";
-
-			if ( $show_name )
+			}
+			if ( $r['show_name'] ) {
 				$output .= " $name";
+			}
 		} else {
 			$output .= $name;
 		}
 
-		$output .= $link_after;
+		$output .= $r['link_after'];
 
 		$output .= '</a>';
 
-		if ( $show_updated && $bookmark->recently_updated )
+		if ( $r['show_updated'] && $bookmark->recently_updated ) {
 			$output .= '</em>';
+		}
 
-		if ( $show_description && '' != $desc )
-			$output .= $between . $desc;
-
-		if ( $show_rating )
-			$output .= $between . sanitize_bookmark_field('link_rating', $bookmark->link_rating, $bookmark->link_id, 'display');
+		if ( $r['show_description'] && '' != $desc ) {
+			$output .= $r['between'] . $desc;
+		}
 
-		$output .= "$after\n";
+		if ( $r['show_rating'] ) {
+			$output .= $r['between'] . sanitize_bookmark_field(
+				'link_rating',
+				$bookmark->link_rating,
+				$bookmark->link_id,
+				'display'
+			);
+		}
+		$output .= $r['after'] . "\n";
 	} // end while
 
 	return $output;
@@ -134,69 +149,55 @@ function _walk_bookmarks($bookmarks, $args = '' ) {
  * Retrieve or echo all of the bookmarks.
  *
  * List of default arguments are as follows:
- * 'orderby' - Default is 'name' (string). How to order the links by. String is
- *		based off of the bookmark scheme.
- * 'order' - Default is 'ASC' (string). Either 'ASC' or 'DESC'. Orders in either
- *		ascending or descending order.
- * 'limit' - Default is -1 (integer) or show all. The amount of bookmarks to
- *		display.
- * 'category' - Default is empty string (string). Include the links in what
- *		category ID(s).
- * 'category_name' - Default is empty string (string). Get links by category
- *		name.
- * 'hide_invisible' - Default is 1 (integer). Whether to show (default) or hide
- *		links marked as 'invisible'.
- * 'show_updated' - Default is 0 (integer). Will show the time of when the
- *		bookmark was last updated.
- * 'echo' - Default is 1 (integer). Whether to echo (default) or return the
- *		formatted bookmarks.
- * 'categorize' - Default is 1 (integer). Whether to show links listed by
- *		category (default) or show links in one column.
- * 'show_description' - Default is 0 (integer). Whether to show the description
- *		of the bookmark.
  *
  * These options define how the Category name will appear before the category
  * links are displayed, if 'categorize' is 1. If 'categorize' is 0, then it will
  * display for only the 'title_li' string and only if 'title_li' is not empty.
- * 'title_li' - Default is 'Bookmarks' (translatable string). What to show
- *		before the links appear.
- * 'title_before' - Default is '<h2>' (string). The HTML or text to show before
- *		the 'title_li' string.
- * 'title_after' - Default is '</h2>' (string). The HTML or text to show after
- *		the 'title_li' string.
- * 'class' - Default is 'linkcat' (string). The CSS class to use for the
- *		'title_li'.
- *
- * 'category_before' - Default is '<li id="%id" class="%class">'. String must
- *		contain '%id' and '%class' to get
- * the id of the category and the 'class' argument. These are used for
- *		formatting in themes.
- * Argument will be displayed before the 'title_before' argument.
- * 'category_after' - Default is '</li>' (string). The HTML or text that will
- *		appear after the list of links.
  *
- * These are only used if 'categorize' is set to 1 or true.
- * 'category_orderby' - Default is 'name'. How to order the bookmark category
- *		based on term scheme.
- * 'category_order' - Default is 'ASC'. Set the order by either ASC (ascending)
- *		or DESC (descending).
+ * @since 2.1.0
  *
- * @see _walk_bookmarks() For other arguments that can be set in this function
- *		and passed to _walk_bookmarks().
- * @see get_bookmarks() For other arguments that can be set in this function and
- *		passed to get_bookmarks().
- * @link http://codex.wordpress.org/Template_Tags/wp_list_bookmarks
+ * @see _walk_bookmarks()
  *
- * @since 2.1.0
- * @uses _walk_bookmarks() Used to iterate over all of the bookmarks and return
- *		the html
- * @uses get_terms() Gets all of the categories that are for links.
+ * @param string|array $args {
+ *     Optional. String or array of arguments to list bookmarks.
  *
- * @param string|array $args Optional. Overwrite the defaults of the function
- * @return string|null Will only return if echo option is set to not echo.
- *		Default is not return anything.
+ *     @type string   $orderby          How to order the links by. Accepts post fields. Default 'name'.
+ *     @type string   $order            Whether to order bookmarks in ascending or descending order.
+ *                                      Accepts 'ASC' (ascending) or 'DESC' (descending). Default 'ASC'.
+ *     @type int      $limit            Amount of bookmarks to display. Accepts 1+ or -1 for all.
+ *                                      Default -1.
+ *     @type string   $category         Comma-separated list of category ids to include links from.
+ *                                      Default empty.
+ *     @type string   $category_name    Category to retrieve links for by name. Default empty.
+ *     @type int|bool $hide_invisible   Whether to show or hide links marked as 'invisible'. Accepts
+ *                                      1|true or 0|false. Default 1|true.
+ *     @type int|bool $show_updated     Whether to display the time the bookmark was last updated.
+ *                                      Accepts 1|true or 0|false. Default 0|false.
+ *     @type int|bool $echo             Whether to echo or return the formatted bookmarks. Accepts
+ *                                      1|true (echo) or 0|false (return). Default 1|true.
+ *     @type int|bool $categorize       Whether to show links listed by category or in a single column.
+ *                                      Accepts 1|true (by category) or 0|false (one column). Default 1|true.
+ *     @type int|bool $show_description Whether to show the bookmark descriptions. Accepts 1|true or 0|false.
+ *                                      Default 0|false.
+ *     @type string   $title_li         What to show before the links appear. Default 'Bookmarks'.
+ *     @type string   $title_before     The HTML or text to prepend to the $title_li string. Default '<h2>'.
+ *     @type string   $title_after      The HTML or text to append to the $title_li string. Default '</h2>'.
+ *     @type string   $class            The CSS class to use for the $title_li. Default 'linkcat'.
+ *     @type string   $category_before  The HTML or text to prepend to $title_before if $categorize is true.
+ *                                      String must contain '%id' and '%class' to inherit the category ID and
+ *                                      the $class argument used for formatting in themes.
+ *                                      Default '<li id="%id" class="%class">'.
+ *     @type string   $category_after   The HTML or text to append to $title_after if $categorize is true.
+ *                                      Default '</li>'.
+ *     @type string   $category_orderby How to order the bookmark category based on term scheme if $categorize
+ *                                      is true. Default 'name'.
+ *     @type string   $category_order   Whether to order categories in ascending or descending order if
+ *                                      $categorize is true. Accepts 'ASC' (ascending) or 'DESC' (descending).
+ *                                      Default 'ASC'.
+ * }
+ * @return string|null Will only return if echo option is set to not echo. Default is not return anything.
  */
-function wp_list_bookmarks($args = '') {
+function wp_list_bookmarks( $args = '' ) {
 	$defaults = array(
 		'orderby' => 'name', 'order' => 'ASC',
 		'limit' => -1, 'category' => '', 'exclude_category' => '',
@@ -210,24 +211,36 @@ function wp_list_bookmarks($args = '') {
 	);
 
 	$r = wp_parse_args( $args, $defaults );
-	extract( $r, EXTR_SKIP );
 
 	$output = '';
 
-	if ( $categorize ) {
-		$cats = get_terms( 'link_category', array( 'name__like' => $category_name, 'include' => $category, 'exclude' => $exclude_category, 'orderby' => $category_orderby, 'order' => $category_order, 'hierarchical' => 0 ) );
-		if ( empty( $cats ) )
-			$categorize = false;
+	if ( $r['categorize'] ) {
+		$cats = get_terms( 'link_category', array(
+			'name__like' => $r['category_name'],
+			'include' => $r['category'],
+			'exclude' => $r['exclude_category'],
+			'orderby' => $r['category_orderby'],
+			'order' => $r['category_order'],
+			'hierarchical' => 0
+		) );
+		if ( empty( $cats ) ) {
+			$r['categorize'] = false;
+		}
 	}
 
-	if ( $categorize ) {
+	if ( $r['categorize'] ) {
 		// Split the bookmarks into ul's for each category
 		foreach ( (array) $cats as $cat ) {
-			$params = array_merge($r, array('category'=>$cat->term_id));
-			$bookmarks = get_bookmarks($params);
-			if ( empty($bookmarks) )
+			$params = array_merge( $r, array( 'category' => $cat->term_id ) );
+			$bookmarks = get_bookmarks( $params );
+			if ( empty( $bookmarks ) ) {
 				continue;
-			$output .= str_replace(array('%id', '%class'), array("linkcat-$cat->term_id", $class), $category_before);
+			}
+			$output .= str_replace(
+				array( '%id', '%class' ),
+				array( "linkcat-$cat->term_id", $r['class'] ),
+				$r['category_before']
+			);
 			/**
 			 * Filter the bookmarks category name.
 			 *
@@ -237,22 +250,34 @@ function wp_list_bookmarks($args = '') {
 			 */
 			$catname = apply_filters( 'link_category', $cat->name );
 
-			$output .= "$title_before$catname$title_after\n\t<ul class='xoxo blogroll'>\n";
-			$output .= _walk_bookmarks($bookmarks, $r);
-			$output .= "\n\t</ul>\n$category_after\n";
+			$output .= $r['title_before'];
+			$output .= $catname;
+			$output .= $r['title_after'];
+			$output .= "\n\t<ul class='xoxo blogroll'>\n";
+			$output .= _walk_bookmarks( $bookmarks, $r );
+			$output .= "\n\t</ul>\n";
+			$output .= $r['category_after'] . "\n";
 		}
 	} else {
 		//output one single list using title_li for the title
-		$bookmarks = get_bookmarks($r);
+		$bookmarks = get_bookmarks( $r );
 
-		if ( !empty($bookmarks) ) {
-			if ( !empty( $title_li ) ){
-				$output .= str_replace(array('%id', '%class'), array("linkcat-$category", $class), $category_before);
-				$output .= "$title_before$title_li$title_after\n\t<ul class='xoxo blogroll'>\n";
-				$output .= _walk_bookmarks($bookmarks, $r);
-				$output .= "\n\t</ul>\n$category_after\n";
+		if ( ! empty( $bookmarks ) ) {
+			if ( ! empty( $r['title_li'] ) ) {
+				$output .= str_replace(
+					array( '%id', '%class' ),
+					array( "linkcat-" . $r['category'], $r['class'] ),
+					$r['category_before']
+				);
+				$output .= $r['title_before'];
+				$output .= $r['title_li'];
+				$output .= $r['title_after'];
+				$output .= "\n\t<ul class='xoxo blogroll'>\n";
+				$output .= _walk_bookmarks( $bookmarks, $r );
+				$output .= "\n\t</ul>\n";
+				$output .= $r['category_after'] . "\n";
 			} else {
-				$output .= _walk_bookmarks($bookmarks, $r);
+				$output .= _walk_bookmarks( $bookmarks, $r );
 			}
 		}
 	}
@@ -262,11 +287,12 @@ function wp_list_bookmarks($args = '') {
 	 *
 	 * @since 2.5.0
 	 *
-	 * @param string $output The HTML list of bookmarks.
+	 * @param string $html The HTML list of bookmarks.
 	 */
-	$output = apply_filters( 'wp_list_bookmarks', $output );
+	$html = apply_filters( 'wp_list_bookmarks', $output );
 
-	if ( !$echo )
-		return $output;
-	echo $output;
+	if ( ! $r['echo'] ) {
+		return $html;
+	}
+	echo $html;
 }
diff --git a/wp-includes/bookmark.php b/wp-includes/bookmark.php
index 86ea3d22a..ec2f0b210 100644
--- a/wp-includes/bookmark.php
+++ b/wp-includes/bookmark.php
@@ -91,34 +91,31 @@ function get_bookmark_field( $field, $bookmark, $context = 'display' ) {
  * that fails, then the query will be built from the arguments and executed. The
  * results will be stored to the cache.
  *
- * List of default arguments are as follows:
- * 'orderby' - Default is 'name' (string). How to order the links by. String is
- *		based off of the bookmark scheme.
- * 'order' - Default is 'ASC' (string). Either 'ASC' or 'DESC'. Orders in either
- *		ascending or descending order.
- * 'limit' - Default is -1 (integer) or show all. The amount of bookmarks to
- *		display.
- * 'category' - Default is empty string (string). Include the links in what
- *		category ID(s).
- * 'category_name' - Default is empty string (string). Get links by category
- *		name.
- * 'hide_invisible' - Default is 1 (integer). Whether to show (default) or hide
- *		links marked as 'invisible'.
- * 'show_updated' - Default is 0 (integer). Will show the time of when the
- *		bookmark was last updated.
- * 'include' - Default is empty string (string). Include bookmark ID(s)
- *		separated by commas.
- * 'exclude' - Default is empty string (string). Exclude bookmark ID(s)
- *		separated by commas.
- *
  * @since 2.1.0
- * @uses $wpdb Database Object
- * @link http://codex.wordpress.org/Template_Tags/get_bookmarks
  *
- * @param string|array $args List of arguments to overwrite the defaults
- * @return array List of bookmark row objects
+ * @global wpdb $wpdb WordPress database access abstraction object.
+ *
+ * @param string|array $args {
+ *     Optional. String or array of arguments to retrieve bookmarks.
+ *
+ *     @type string   $orderby        How to order the links by. Accepts post fields. Default 'name'.
+ *     @type string   $order          Whether to order bookmarks in ascending or descending order.
+ *                                    Accepts 'ASC' (ascending) or 'DESC' (descending). Default 'ASC'.
+ *     @type int      $limit          Amount of bookmarks to display. Accepts 1+ or -1 for all.
+ *                                    Default -1.
+ *     @type string   $category       Comma-separated list of category ids to include links from.
+ *                                    Default empty.
+ *     @type string   $category_name  Category to retrieve links for by name. Default empty.
+ *     @type int|bool $hide_invisible Whether to show or hide links marked as 'invisible'. Accepts
+ *                                    1|true or 0|false. Default 1|true.
+ *     @type int|bool $show_updated   Whether to display the time the bookmark was last updated.
+ *                                    Accepts 1|true or 0|false. Default 0|false.
+ *     @type string   $include        Comma-separated list of bookmark IDs to include. Default empty.
+ *     @type string   $exclude        Comma-separated list of bookmark IDs to exclude. Default empty.
+ * }
+ * @return array List of bookmark row objects.
  */
-function get_bookmarks($args = '') {
+function get_bookmarks( $args = '' ) {
 	global $wpdb;
 
 	$defaults = array(
@@ -130,12 +127,10 @@ function get_bookmarks($args = '') {
 	);
 
 	$r = wp_parse_args( $args, $defaults );
-	extract( $r, EXTR_SKIP );
 
-	$cache = array();
 	$key = md5( serialize( $r ) );
 	if ( $cache = wp_cache_get( 'get_bookmarks', 'bookmark' ) ) {
-		if ( is_array($cache) && isset( $cache[ $key ] ) ) {
+		if ( is_array( $cache ) && isset( $cache[ $key ] ) ) {
 			$bookmarks = $cache[ $key ];
 			/**
 			 * Filter the returned list of bookmarks.
@@ -156,45 +151,50 @@ function get_bookmarks($args = '') {
 		}
 	}
 
-	if ( !is_array($cache) )
+	if ( ! is_array( $cache ) ) {
 		$cache = array();
+	}
 
 	$inclusions = '';
-	if ( !empty($include) ) {
-		$exclude = '';  //ignore exclude, category, and category_name params if using include
-		$category = '';
-		$category_name = '';
-		$inclinks = preg_split('/[\s,]+/',$include);
-		if ( count($inclinks) ) {
+	if ( ! empty( $r['include'] ) ) {
+		$r['exclude'] = '';  //ignore exclude, category, and category_name params if using include
+		$r['category'] = '';
+		$r['category_name'] = '';
+		$inclinks = preg_split( '/[\s,]+/', $r['include'] );
+		if ( count( $inclinks ) ) {
 			foreach ( $inclinks as $inclink ) {
-				if (empty($inclusions))
-					$inclusions = ' AND ( link_id = ' . intval($inclink) . ' ';
-				else
-					$inclusions .= ' OR link_id = ' . intval($inclink) . ' ';
+				if ( empty( $inclusions ) ) {
+					$inclusions = ' AND ( link_id = ' . intval( $inclink ) . ' ';
+				} else {
+					$inclusions .= ' OR link_id = ' . intval( $inclink ) . ' ';
+				}
 			}
 		}
 	}
-	if (!empty($inclusions))
+	if (! empty( $inclusions ) ) {
 		$inclusions .= ')';
+	}
 
 	$exclusions = '';
-	if ( !empty($exclude) ) {
-		$exlinks = preg_split('/[\s,]+/',$exclude);
-		if ( count($exlinks) ) {
+	if ( ! empty( $r['exclude'] ) ) {
+		$exlinks = preg_split( '/[\s,]+/', $r['exclude'] );
+		if ( count( $exlinks ) ) {
 			foreach ( $exlinks as $exlink ) {
-				if (empty($exclusions))
-					$exclusions = ' AND ( link_id <> ' . intval($exlink) . ' ';
-				else
-					$exclusions .= ' AND link_id <> ' . intval($exlink) . ' ';
+				if ( empty( $exclusions ) ) {
+					$exclusions = ' AND ( link_id <> ' . intval( $exlink ) . ' ';
+				} else {
+					$exclusions .= ' AND link_id <> ' . intval( $exlink ) . ' ';
+				}
 			}
 		}
 	}
-	if (!empty($exclusions))
+	if ( ! empty( $exclusions ) ) {
 		$exclusions .= ')';
+	}
 
-	if ( !empty($category_name) ) {
-		if ( $category = get_term_by('name', $category_name, 'link_category') ) {
-			$category = $category->term_id;
+	if ( ! empty( $r['category_name'] ) ) {
+		if ( $r['category'] = get_term_by('name', $r['category_name'], 'link_category') ) {
+			$r['category'] = $r['category']->term_id;
 		} else {
 			$cache[ $key ] = array();
 			wp_cache_set( 'get_bookmarks', $cache, 'bookmark' );
@@ -203,38 +203,40 @@ function get_bookmarks($args = '') {
 		}
 	}
 
-	if ( ! empty($search) ) {
-		$search = esc_sql( like_escape( $search ) );
-		$search = " AND ( (link_url LIKE '%$search%') OR (link_name LIKE '%$search%') OR (link_description LIKE '%$search%') ) ";
+	$search = '';
+	if ( ! empty( $r['search'] ) ) {
+		$like = '%' . $wpdb->esc_like( $r['search'] ) . '%';
+		$search = $wpdb->prepare(" AND ( (link_url LIKE %s) OR (link_name LIKE %s) OR (link_description LIKE %s) ) ", $like, $like, $like );
 	}
 
 	$category_query = '';
 	$join = '';
-	if ( !empty($category) ) {
-		$incategories = preg_split('/[\s,]+/',$category);
+	if ( ! empty( $r['category'] ) ) {
+		$incategories = preg_split( '/[\s,]+/', $r['category'] );
 		if ( count($incategories) ) {
 			foreach ( $incategories as $incat ) {
-				if (empty($category_query))
-					$category_query = ' AND ( tt.term_id = ' . intval($incat) . ' ';
-				else
-					$category_query .= ' OR tt.term_id = ' . intval($incat) . ' ';
+				if ( empty( $category_query ) ) {
+					$category_query = ' AND ( tt.term_id = ' . intval( $incat ) . ' ';
+				} else {
+					$category_query .= ' OR tt.term_id = ' . intval( $incat ) . ' ';
+				}
 			}
 		}
 	}
-	if (!empty($category_query)) {
+	if ( ! empty( $category_query ) ) {
 		$category_query .= ") AND taxonomy = 'link_category'";
 		$join = " INNER JOIN $wpdb->term_relationships AS tr ON ($wpdb->links.link_id = tr.object_id) INNER JOIN $wpdb->term_taxonomy as tt ON tt.term_taxonomy_id = tr.term_taxonomy_id";
 	}
 
-	if ( $show_updated ) {
+	if ( $r['show_updated'] ) {
 		$recently_updated_test = ", IF (DATE_ADD(link_updated, INTERVAL 120 MINUTE) >= NOW(), 1,0) as recently_updated ";
 	} else {
 		$recently_updated_test = '';
 	}
 
-	$get_updated = ( $show_updated ) ? ', UNIX_TIMESTAMP(link_updated) AS link_updated_f ' : '';
+	$get_updated = ( $r['show_updated'] ) ? ', UNIX_TIMESTAMP(link_updated) AS link_updated_f ' : '';
 
-	$orderby = strtolower($orderby);
+	$orderby = strtolower( $r['orderby'] );
 	$length = '';
 	switch ( $orderby ) {
 		case 'length':
@@ -248,35 +250,41 @@ function get_bookmarks($args = '') {
 			break;
 		default:
 			$orderparams = array();
-			foreach ( explode(',', $orderby) as $ordparam ) {
-				$ordparam = trim($ordparam);
-				$keys = array( 'link_id', 'link_name', 'link_url', 'link_visible', 'link_rating', 'link_owner', 'link_updated', 'link_notes' );
-				if ( in_array( 'link_' . $ordparam, $keys ) )
+			$keys = array( 'link_id', 'link_name', 'link_url', 'link_visible', 'link_rating', 'link_owner', 'link_updated', 'link_notes' );
+			foreach ( explode( ',', $orderby ) as $ordparam ) {
+				$ordparam = trim( $ordparam );
+
+				if ( in_array( 'link_' . $ordparam, $keys ) ) {
 					$orderparams[] = 'link_' . $ordparam;
-				elseif ( in_array( $ordparam, $keys ) )
+				} elseif ( in_array( $ordparam, $keys ) ) {
 					$orderparams[] = $ordparam;
+				}
 			}
-			$orderby = implode(',', $orderparams);
+			$orderby = implode( ',', $orderparams );
 	}
 
-	if ( empty( $orderby ) )
+	if ( empty( $orderby ) ) {
 		$orderby = 'link_name';
+	}
 
-	$order = strtoupper( $order );
-	if ( '' !== $order && !in_array( $order, array( 'ASC', 'DESC' ) ) )
+	$order = strtoupper( $r['order'] );
+	if ( '' !== $order && ! in_array( $order, array( 'ASC', 'DESC' ) ) ) {
 		$order = 'ASC';
+	}
 
 	$visible = '';
-	if ( $hide_invisible )
+	if ( $r['hide_invisible'] ) {
 		$visible = "AND link_visible = 'Y'";
+	}
 
 	$query = "SELECT * $length $recently_updated_test $get_updated FROM $wpdb->links $join WHERE 1=1 $visible $category_query";
 	$query .= " $exclusions $inclusions $search";
 	$query .= " ORDER BY $orderby $order";
-	if ($limit != -1)
-		$query .= " LIMIT $limit";
+	if ( $r['limit'] != -1 ) {
+		$query .= ' LIMIT ' . $r['limit'];
+	}
 
-	$results = $wpdb->get_results($query);
+	$results = $wpdb->get_results( $query );
 
 	$cache[ $key ] = $results;
 	wp_cache_set( 'get_bookmarks', $cache, 'bookmark' );
@@ -356,7 +364,7 @@ function sanitize_bookmark_field($field, $value, $bookmark_id, $context) {
 		// We return here so that the categories aren't filtered.
 		// The 'link_category' filter is for the name of a link category, not an array of a link's link categories
 		return $value;
-		break;
+
 	case 'link_visible' : // bool stored as Y|N
 		$value = preg_replace('/[^YNyn]/', '', $value);
 		break;
diff --git a/wp-includes/cache.php b/wp-includes/cache.php
index bcc9aca0e..5264fe214 100644
--- a/wp-includes/cache.php
+++ b/wp-includes/cache.php
@@ -268,7 +268,7 @@ class WP_Object_Cache {
 	 * @access private
 	 * @since 2.0.0
 	 */
-	var $cache = array ();
+	private $cache = array();
 
 	/**
 	 * The amount of times the cache data was already stored in the cache.
@@ -277,7 +277,7 @@ class WP_Object_Cache {
 	 * @access private
 	 * @var int
 	 */
-	var $cache_hits = 0;
+	private $cache_hits = 0;
 
 	/**
 	 * Amount of times the cache did not have the request in cache
@@ -286,7 +286,7 @@ class WP_Object_Cache {
 	 * @access public
 	 * @since 2.0.0
 	 */
-	var $cache_misses = 0;
+	public $cache_misses = 0;
 
 	/**
 	 * List of global groups
@@ -295,7 +295,7 @@ class WP_Object_Cache {
 	 * @access protected
 	 * @since 3.0.0
 	 */
-	var $global_groups = array();
+	protected $global_groups = array();
 
 	/**
 	 * The blog prefix to prepend to keys in non-global groups.
@@ -304,7 +304,59 @@ class WP_Object_Cache {
 	 * @access private
 	 * @since 3.5.0
 	 */
-	var $blog_prefix;
+	private $blog_prefix;
+
+	/**
+	 * Make private properties readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to get.
+	 * @return mixed Property.
+	 */
+	public function __get( $name ) {
+		return $this->$name;
+	}
+
+	/**
+	 * Make private properties settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name  Property to set.
+	 * @param mixed  $value Property value.
+	 * @return mixed Newly-set property.
+	 */
+	public function __set( $name, $value ) {
+		return $this->$name = $value;
+	}
+
+	/**
+	 * Make private properties checkable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to check if set.
+	 * @return bool Whether the property is set.
+	 */
+	public function __isset( $name ) {
+		return isset( $this->$name );
+	}
+
+	/**
+	 * Make private properties un-settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to unset.
+	 */
+	public function __unset( $name ) {
+		unset( $this->$name );
+	}
 
 	/**
 	 * Adds data to the cache if it doesn't already exist.
@@ -321,7 +373,7 @@ class WP_Object_Cache {
 	 * @param int $expire When to expire the cache contents
 	 * @return bool False if cache key and group already exist, true on success
 	 */
-	function add( $key, $data, $group = 'default', $expire = 0 ) {
+	public function add( $key, $data, $group = 'default', $expire = 0 ) {
 		if ( wp_suspend_cache_addition() )
 			return false;
 
@@ -345,7 +397,7 @@ class WP_Object_Cache {
 	 *
 	 * @param array $groups List of groups that are global.
 	 */
-	function add_global_groups( $groups ) {
+	public function add_global_groups( $groups ) {
 		$groups = (array) $groups;
 
 		$groups = array_fill_keys( $groups, true );
@@ -362,7 +414,7 @@ class WP_Object_Cache {
 	 * @param string $group The group the key is in.
 	 * @return false|int False on failure, the item's new value on success.
 	 */
-	function decr( $key, $offset = 1, $group = 'default' ) {
+	public function decr( $key, $offset = 1, $group = 'default' ) {
 		if ( empty( $group ) )
 			$group = 'default';
 
@@ -398,7 +450,7 @@ class WP_Object_Cache {
 	 *
 	 * @return bool False if the contents weren't deleted and true on success
 	 */
-	function delete( $key, $group = 'default', $deprecated = false ) {
+	public function delete( $key, $group = 'default', $deprecated = false ) {
 		if ( empty( $group ) )
 			$group = 'default';
 
@@ -419,7 +471,7 @@ class WP_Object_Cache {
 	 *
 	 * @return bool Always returns true
 	 */
-	function flush() {
+	public function flush() {
 		$this->cache = array ();
 
 		return true;
@@ -442,7 +494,7 @@ class WP_Object_Cache {
 	 * @return bool|mixed False on failure to retrieve contents or the cache
 	 *		contents on success
 	 */
-	function get( $key, $group = 'default', $force = false, &$found = null ) {
+	public function get( $key, $group = 'default', $force = false, &$found = null ) {
 		if ( empty( $group ) )
 			$group = 'default';
 
@@ -473,7 +525,7 @@ class WP_Object_Cache {
 	 * @param string $group The group the key is in.
 	 * @return false|int False on failure, the item's new value on success.
 	 */
-	function incr( $key, $offset = 1, $group = 'default' ) {
+	public function incr( $key, $offset = 1, $group = 'default' ) {
 		if ( empty( $group ) )
 			$group = 'default';
 
@@ -508,7 +560,7 @@ class WP_Object_Cache {
 	 * @param int $expire When to expire the cache contents
 	 * @return bool False if not exists, true if contents were replaced
 	 */
-	function replace( $key, $data, $group = 'default', $expire = 0 ) {
+	public function replace( $key, $data, $group = 'default', $expire = 0 ) {
 		if ( empty( $group ) )
 			$group = 'default';
 
@@ -528,7 +580,7 @@ class WP_Object_Cache {
 	 * @since 3.0.0
 	 * @deprecated 3.5.0
 	 */
-	function reset() {
+	public function reset() {
 		_deprecated_function( __FUNCTION__, '3.5', 'switch_to_blog()' );
 
 		// Clear out non-global caches since the blog ID has changed.
@@ -558,7 +610,7 @@ class WP_Object_Cache {
 	 * @param int $expire Not Used
 	 * @return bool Always returns true
 	 */
-	function set( $key, $data, $group = 'default', $expire = 0 ) {
+	public function set( $key, $data, $group = 'default', $expire = 0 ) {
 		if ( empty( $group ) )
 			$group = 'default';
 
@@ -580,7 +632,7 @@ class WP_Object_Cache {
 	 *
 	 * @since 2.0.0
 	 */
-	function stats() {
+	public function stats() {
 		echo "<p>";
 		echo "<strong>Cache Hits:</strong> {$this->cache_hits}<br />";
 		echo "<strong>Cache Misses:</strong> {$this->cache_misses}<br />";
@@ -601,7 +653,7 @@ class WP_Object_Cache {
 	 *
 	 * @param int $blog_id Blog ID
 	 */
-	function switch_to_blog( $blog_id ) {
+	public function switch_to_blog( $blog_id ) {
 		$blog_id = (int) $blog_id;
 		$this->blog_prefix = $this->multisite ? $blog_id . ':' : '';
 	}
@@ -623,7 +675,7 @@ class WP_Object_Cache {
 	 * @since 2.0.8
 	 * @return null|WP_Object_Cache If cache is disabled, returns null.
 	 */
-	function __construct() {
+	public function __construct() {
 		global $blog_id;
 
 		$this->multisite = is_multisite();
@@ -646,7 +698,7 @@ class WP_Object_Cache {
 	 *
 	 * @return bool True value. Won't be used by PHP
 	 */
-	function __destruct() {
+	public function __destruct() {
 		return true;
 	}
 }
diff --git a/wp-includes/canonical.php b/wp-includes/canonical.php
index 5aefe2ba0..c1b90251c 100644
--- a/wp-includes/canonical.php
+++ b/wp-includes/canonical.php
@@ -39,8 +39,23 @@
 function redirect_canonical( $requested_url = null, $do_redirect = true ) {
 	global $wp_rewrite, $is_IIS, $wp_query, $wpdb;
 
-	if ( is_trackback() || is_search() || is_comments_popup() || is_admin() || !empty($_POST) || is_preview() || is_robots() || ( $is_IIS && !iis7_supports_permalinks() ) )
+	if ( isset( $_SERVER['REQUEST_METHOD'] ) && ! in_array( strtoupper( $_SERVER['REQUEST_METHOD'] ), array( 'GET', 'HEAD' ) ) ) {
 		return;
+	}
+
+	// If we're not in wp-admin and the post has been published and preview nonce
+	// is non-existent or invalid then no need for preview in query
+	if ( is_preview() && get_query_var( 'p' ) && 'publish' == get_post_status( get_query_var( 'p' ) ) ) {
+		if ( ! isset( $_GET['preview_id'] )
+			|| ! isset( $_GET['preview_nonce'] )
+			|| ! wp_verify_nonce( $_GET['preview_nonce'], 'post_preview_' . (int) $_GET['preview_id'] ) ) {
+			$wp_query->is_preview = false;
+		}
+	}
+
+	if ( is_trackback() || is_search() || is_comments_popup() || is_admin() || is_preview() || is_robots() || ( $is_IIS && !iis7_supports_permalinks() ) ) {
+		return;
+	}
 
 	if ( !$requested_url ) {
 		// build the URL in the address bar
@@ -68,6 +83,11 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
 	if ( !isset($redirect['query']) )
 		$redirect['query'] = '';
 
+	// It's not a preview, so remove it from URL
+	if ( get_query_var( 'preview' ) ) {
+		$redirect['query'] = remove_query_arg( 'preview', $redirect['query'] );
+	}
+
 	if ( is_feed() && ( $id = get_query_var( 'p' ) ) ) {
 		if ( $redirect_url = get_post_comments_feed_link( $id, get_query_var( 'feed' ) ) ) {
 			$redirect['query'] = _remove_qs_args_if_not_in_url( $redirect['query'], array( 'p', 'page_id', 'attachment_id', 'pagename', 'name', 'post_type', 'feed'), $redirect_url );
@@ -295,11 +315,13 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
 		}
 
 		if ( 'wp-register.php' == basename( $redirect['path'] ) ) {
-			if ( is_multisite() )
+			if ( is_multisite() ) {
 				/** This filter is documented in wp-login.php */
 				$redirect_url = apply_filters( 'wp_signup_location', network_site_url( 'wp-signup.php' ) );
-			else
+			} else {
 				$redirect_url = site_url( 'wp-login.php?action=register' );
+			}
+
 			wp_redirect( $redirect_url, 301 );
 			die();
 		}
@@ -338,6 +360,10 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
 	else
 		unset($redirect['port']);
 
+	if ( ! empty( $user_home['scheme'] ) && $user_home['scheme'] === 'https' ) {
+		$redirect['scheme'] = 'https';
+	}
+
 	// trailing /index.php
 	$redirect['path'] = preg_replace('|/' . preg_quote( $wp_rewrite->index, '|' ) . '/*?$|', '/', $redirect['path']);
 
@@ -395,7 +421,7 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
 		( strtolower($original['host']) != 'www.' . strtolower($redirect['host']) && 'www.' . strtolower($original['host']) != strtolower($redirect['host']) ) )
 		$redirect['host'] = $original['host'];
 
-	$compare_original = array($original['host'], $original['path']);
+	$compare_original = array( $original['scheme'], $original['host'], $original['path'] );
 
 	if ( !empty( $original['port'] ) )
 		$compare_original[] = $original['port'];
@@ -403,7 +429,7 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
 	if ( !empty( $original['query'] ) )
 		$compare_original[] = $original['query'];
 
-	$compare_redirect = array($redirect['host'], $redirect['path']);
+	$compare_redirect = array( $redirect['scheme'], $redirect['host'], $redirect['path'] );
 
 	if ( !empty( $redirect['port'] ) )
 		$compare_redirect[] = $redirect['port'];
@@ -498,7 +524,7 @@ function redirect_guess_404_permalink() {
 	global $wpdb, $wp_rewrite;
 
 	if ( get_query_var('name') ) {
-		$where = $wpdb->prepare("post_name LIKE %s", like_escape( get_query_var('name') ) . '%');
+		$where = $wpdb->prepare("post_name LIKE %s", $wpdb->esc_like( get_query_var('name') ) . '%');
 
 		// if any of post_type, year, monthnum, or day are set, use them to refine the query
 		if ( get_query_var('post_type') )
diff --git a/wp-includes/capabilities.php b/wp-includes/capabilities.php
index 89e854b7a..30c38b2cb 100644
--- a/wp-includes/capabilities.php
+++ b/wp-includes/capabilities.php
@@ -34,7 +34,7 @@ class WP_Roles {
 	 * @access public
 	 * @var array
 	 */
-	var $roles;
+	public $roles;
 
 	/**
 	 * List of the role objects.
@@ -43,7 +43,7 @@ class WP_Roles {
 	 * @access public
 	 * @var array
 	 */
-	var $role_objects = array();
+	public $role_objects = array();
 
 	/**
 	 * List of role names.
@@ -52,7 +52,7 @@ class WP_Roles {
 	 * @access public
 	 * @var array
 	 */
-	var $role_names = array();
+	public $role_names = array();
 
 	/**
 	 * Option name for storing role list.
@@ -61,7 +61,7 @@ class WP_Roles {
 	 * @access public
 	 * @var string
 	 */
-	var $role_key;
+	public $role_key;
 
 	/**
 	 * Whether to use the database for retrieval and storage.
@@ -70,17 +70,31 @@ class WP_Roles {
 	 * @access public
 	 * @var bool
 	 */
-	var $use_db = true;
+	public $use_db = true;
 
 	/**
 	 * Constructor
 	 *
 	 * @since 2.0.0
 	 */
-	function __construct() {
+	public function __construct() {
 		$this->_init();
 	}
 
+	/**
+	 * Make private/protected methods readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param callable $name      Method to call.
+	 * @param array    $arguments Arguments to pass when calling.
+	 * @return mixed|bool Return value of the callback, false otherwise.
+	 */
+	public function __call( $name, $arguments ) {
+		return call_user_func_array( array( $this, $name ), $arguments );
+	}
+
 	/**
 	 * Set up the object properties.
 	 *
@@ -93,7 +107,7 @@ class WP_Roles {
 	 * @uses $wpdb Used to get the database prefix.
 	 * @global array $wp_user_roles Used to set the 'roles' property value.
 	 */
-	function _init () {
+	protected function _init() {
 		global $wpdb, $wp_user_roles;
 		$this->role_key = $wpdb->get_blog_prefix() . 'user_roles';
 		if ( ! empty( $wp_user_roles ) ) {
@@ -123,12 +137,12 @@ class WP_Roles {
 	 * @since 3.5.0
 	 * @access public
 	 */
-	function reinit() {
+	public function reinit() {
 		// There is no need to reinit if using the wp_user_roles global.
 		if ( ! $this->use_db )
 			return;
 
-		global $wpdb, $wp_user_roles;
+		global $wpdb;
 
 		// Duplicated from _init() to avoid an extra function call.
 		$this->role_key = $wpdb->get_blog_prefix() . 'user_roles';
@@ -160,7 +174,7 @@ class WP_Roles {
 	 * @param array $capabilities List of role capabilities in the above format.
 	 * @return WP_Role|null WP_Role object if role is added, null if already exists.
 	 */
-	function add_role( $role, $display_name, $capabilities = array() ) {
+	public function add_role( $role, $display_name, $capabilities = array() ) {
 		if ( isset( $this->roles[$role] ) )
 			return;
 
@@ -183,7 +197,7 @@ class WP_Roles {
 	 *
 	 * @param string $role Role name.
 	 */
-	function remove_role( $role ) {
+	public function remove_role( $role ) {
 		if ( ! isset( $this->role_objects[$role] ) )
 			return;
 
@@ -208,7 +222,7 @@ class WP_Roles {
 	 * @param string $cap Capability name.
 	 * @param bool $grant Optional, default is true. Whether role is capable of performing capability.
 	 */
-	function add_cap( $role, $cap, $grant = true ) {
+	public function add_cap( $role, $cap, $grant = true ) {
 		if ( ! isset( $this->roles[$role] ) )
 			return;
 
@@ -226,7 +240,7 @@ class WP_Roles {
 	 * @param string $role Role name.
 	 * @param string $cap Capability name.
 	 */
-	function remove_cap( $role, $cap ) {
+	public function remove_cap( $role, $cap ) {
 		if ( ! isset( $this->roles[$role] ) )
 			return;
 
@@ -244,7 +258,7 @@ class WP_Roles {
 	 * @param string $role Role name.
 	 * @return WP_Role|null WP_Role object if found, null if the role does not exist.
 	 */
-	function get_role( $role ) {
+	public function get_role( $role ) {
 		if ( isset( $this->role_objects[$role] ) )
 			return $this->role_objects[$role];
 		else
@@ -259,7 +273,7 @@ class WP_Roles {
 	 *
 	 * @return array List of role names.
 	 */
-	function get_names() {
+	public function get_names() {
 		return $this->role_names;
 	}
 
@@ -272,7 +286,7 @@ class WP_Roles {
 	 * @param string $role Role name to look up.
 	 * @return bool
 	 */
-	function is_role( $role ) {
+	public function is_role( $role ) {
 		return isset( $this->role_names[$role] );
 	}
 }
@@ -292,7 +306,7 @@ class WP_Role {
 	 * @access public
 	 * @var string
 	 */
-	var $name;
+	public $name;
 
 	/**
 	 * List of capabilities the role contains.
@@ -301,7 +315,7 @@ class WP_Role {
 	 * @access public
 	 * @var array
 	 */
-	var $capabilities;
+	public $capabilities;
 
 	/**
 	 * Constructor - Set up object properties.
@@ -315,7 +329,7 @@ class WP_Role {
 	 * @param string $role Role name.
 	 * @param array $capabilities List of capabilities.
 	 */
-	function __construct( $role, $capabilities ) {
+	public function __construct( $role, $capabilities ) {
 		$this->name = $role;
 		$this->capabilities = $capabilities;
 	}
@@ -330,7 +344,7 @@ class WP_Role {
 	 * @param string $cap Capability name.
 	 * @param bool $grant Whether role has capability privilege.
 	 */
-	function add_cap( $cap, $grant = true ) {
+	public function add_cap( $cap, $grant = true ) {
 		global $wp_roles;
 
 		if ( ! isset( $wp_roles ) )
@@ -353,7 +367,7 @@ class WP_Role {
 	 *
 	 * @param string $cap Capability name.
 	 */
-	function remove_cap( $cap ) {
+	public function remove_cap( $cap ) {
 		global $wp_roles;
 
 		if ( ! isset( $wp_roles ) )
@@ -377,7 +391,7 @@ class WP_Role {
 	 * @param string $cap Capability name.
 	 * @return bool True, if user has capability. False, if doesn't have capability.
 	 */
-	function has_cap( $cap ) {
+	public function has_cap( $cap ) {
 		/**
 		 * Filter which capabilities a role has.
 		 *
@@ -420,7 +434,7 @@ class WP_User {
 	 * @access public
 	 * @var int
 	 */
-	var $ID = 0;
+	public $ID = 0;
 
 	/**
 	 * The individual capabilities the user has been given.
@@ -429,7 +443,7 @@ class WP_User {
 	 * @access public
 	 * @var array
 	 */
-	var $caps = array();
+	public $caps = array();
 
 	/**
 	 * User metadata option name.
@@ -438,7 +452,7 @@ class WP_User {
 	 * @access public
 	 * @var string
 	 */
-	var $cap_key;
+	public $cap_key;
 
 	/**
 	 * The roles the user is part of.
@@ -447,7 +461,7 @@ class WP_User {
 	 * @access public
 	 * @var array
 	 */
-	var $roles = array();
+	public $roles = array();
 
 	/**
 	 * All capabilities the user has, including individual and role based.
@@ -456,7 +470,7 @@ class WP_User {
 	 * @access public
 	 * @var array
 	 */
-	var $allcaps = array();
+	public $allcaps = array();
 
 	/**
 	 * The filter context applied to user data fields.
@@ -482,7 +496,7 @@ class WP_User {
 	 * @param int $blog_id Optional Blog ID, defaults to current blog.
 	 * @return WP_User
 	 */
-	function __construct( $id = 0, $name = '', $blog_id = '' ) {
+	public function __construct( $id = 0, $name = '', $blog_id = '' ) {
 		if ( ! isset( self::$back_compat_keys ) ) {
 			$prefix = $GLOBALS['wpdb']->prefix;
 			self::$back_compat_keys = array(
@@ -523,7 +537,7 @@ class WP_User {
 	 * @param object $data User DB row object
 	 * @param int $blog_id Optional. The blog id to initialize for
 	 */
-	function init( $data, $blog_id = '' ) {
+	public function init( $data, $blog_id = '' ) {
 		$this->data = $data;
 		$this->ID = (int) $data->ID;
 
@@ -539,7 +553,7 @@ class WP_User {
 	 * @param string|int $value The field value
 	 * @return object Raw user object
 	 */
-	static function get_data_by( $field, $value ) {
+	public static function get_data_by( $field, $value ) {
 		global $wpdb;
 
 		if ( 'id' == $field ) {
@@ -599,7 +613,7 @@ class WP_User {
 	 *
 	 * @since 3.3.0
 	 */
-	function __isset( $key ) {
+	public function __isset( $key ) {
 		if ( 'id' == $key ) {
 			_deprecated_argument( 'WP_User->id', '2.1', __( 'Use <code>WP_User->ID</code> instead.' ) );
 			$key = 'ID';
@@ -619,7 +633,7 @@ class WP_User {
 	 *
 	 * @since 3.3.0
 	 */
-	function __get( $key ) {
+	public function __get( $key ) {
 		if ( 'id' == $key ) {
 			_deprecated_argument( 'WP_User->id', '2.1', __( 'Use <code>WP_User->ID</code> instead.' ) );
 			return $this->ID;
@@ -645,7 +659,7 @@ class WP_User {
 	 *
 	 * @since 3.3.0
 	 */
-	function __set( $key, $value ) {
+	public function __set( $key, $value ) {
 		if ( 'id' == $key ) {
 			_deprecated_argument( 'WP_User->id', '2.1', __( 'Use <code>WP_User->ID</code> instead.' ) );
 			$this->ID = $value;
@@ -663,7 +677,7 @@ class WP_User {
 	 *
 	 * @return bool True if user exists in the database, false if not.
 	 */
-	function exists() {
+	public function exists() {
 		return ! empty( $this->ID );
 	}
 
@@ -676,7 +690,7 @@ class WP_User {
 	 *
 	 * @param string $key Property
 	 */
-	function get( $key ) {
+	public function get( $key ) {
 		return $this->__get( $key );
 	}
 
@@ -689,7 +703,7 @@ class WP_User {
 	 *
 	 * @param string $key Property
 	 */
-	function has_prop( $key ) {
+	public function has_prop( $key ) {
 		return $this->__isset( $key );
 	}
 
@@ -700,7 +714,7 @@ class WP_User {
 	 *
 	 * @return array Array representation.
 	 */
-	function to_array() {
+	public function to_array() {
 		return get_object_vars( $this->data );
 	}
 
@@ -747,7 +761,7 @@ class WP_User {
 	 *
 	 * @return array List of all capabilities for the user.
 	 */
-	function get_role_caps() {
+	public function get_role_caps() {
 		global $wp_roles;
 
 		if ( ! isset( $wp_roles ) )
@@ -778,7 +792,7 @@ class WP_User {
 	 *
 	 * @param string $role Role name.
 	 */
-	function add_role( $role ) {
+	public function add_role( $role ) {
 		$this->caps[$role] = true;
 		update_user_meta( $this->ID, $this->cap_key, $this->caps );
 		$this->get_role_caps();
@@ -793,7 +807,7 @@ class WP_User {
 	 *
 	 * @param string $role Role name.
 	 */
-	function remove_role( $role ) {
+	public function remove_role( $role ) {
 		if ( !in_array($role, $this->roles) )
 			return;
 		unset( $this->caps[$role] );
@@ -814,7 +828,7 @@ class WP_User {
 	 *
 	 * @param string $role Role name.
 	 */
-	function set_role( $role ) {
+	public function set_role( $role ) {
 		if ( 1 == count( $this->roles ) && $role == current( $this->roles ) )
 			return;
 
@@ -864,7 +878,7 @@ class WP_User {
 	 * @param string $item Level capability name.
 	 * @return int Max Level.
 	 */
-	function level_reduction( $max, $item ) {
+	public function level_reduction( $max, $item ) {
 		if ( preg_match( '/^level_(10|[0-9])$/i', $item, $matches ) ) {
 			$level = intval( $matches[1] );
 			return max( $max, $level );
@@ -883,7 +897,7 @@ class WP_User {
 	 * @since 2.0.0
 	 * @access public
 	 */
-	function update_user_level_from_caps() {
+	public function update_user_level_from_caps() {
 		global $wpdb;
 		$this->user_level = array_reduce( array_keys( $this->allcaps ), array( $this, 'level_reduction' ), 0 );
 		update_user_meta( $this->ID, $wpdb->get_blog_prefix() . 'user_level', $this->user_level );
@@ -898,7 +912,7 @@ class WP_User {
 	 * @param string $cap Capability name.
 	 * @param bool $grant Whether to grant capability to user.
 	 */
-	function add_cap( $cap, $grant = true ) {
+	public function add_cap( $cap, $grant = true ) {
 		$this->caps[$cap] = $grant;
 		update_user_meta( $this->ID, $this->cap_key, $this->caps );
 	}
@@ -911,7 +925,7 @@ class WP_User {
 	 *
 	 * @param string $cap Capability name.
 	 */
-	function remove_cap( $cap ) {
+	public function remove_cap( $cap ) {
 		if ( ! isset( $this->caps[$cap] ) )
 			return;
 		unset( $this->caps[$cap] );
@@ -924,7 +938,7 @@ class WP_User {
 	 * @since 2.1.0
 	 * @access public
 	 */
-	function remove_all_caps() {
+	public function remove_all_caps() {
 		global $wpdb;
 		$this->caps = array();
 		delete_user_meta( $this->ID, $this->cap_key );
@@ -945,7 +959,7 @@ class WP_User {
 	 * @param string|int $cap Capability or role name to search.
 	 * @return bool True, if user has capability; false, if user does not have capability.
 	 */
-	function has_cap( $cap ) {
+	public function has_cap( $cap ) {
 		if ( is_numeric( $cap ) ) {
 			_deprecated_argument( __FUNCTION__, '2.0', __('Usage of user levels by plugins and themes is deprecated. Use roles and capabilities instead.') );
 			$cap = $this->translate_level_to_cap( $cap );
@@ -995,7 +1009,7 @@ class WP_User {
 	 * @param int $level Level number, 1 to 10.
 	 * @return string
 	 */
-	function translate_level_to_cap( $level ) {
+	public function translate_level_to_cap( $level ) {
 		return 'level_' . $level;
 	}
 
@@ -1006,7 +1020,7 @@ class WP_User {
 	 *
 	 * @param int $blog_id Optional Blog ID, defaults to current blog.
 	 */
-	function for_blog( $blog_id = '' ) {
+	public function for_blog( $blog_id = '' ) {
 		global $wpdb;
 		if ( ! empty( $blog_id ) )
 			$cap_key = $wpdb->get_blog_prefix( $blog_id ) . 'capabilities';
@@ -1248,18 +1262,25 @@ function map_meta_cap( $cap, $user_id ) {
 	case 'update_plugins':
 	case 'delete_plugins':
 	case 'install_plugins':
+	case 'upload_plugins':
 	case 'update_themes':
 	case 'delete_themes':
 	case 'install_themes':
+	case 'upload_themes':
 	case 'update_core':
 		// Disallow anything that creates, deletes, or updates core, plugin, or theme files.
 		// Files in uploads are excepted.
-		if ( defined( 'DISALLOW_FILE_MODS' ) && DISALLOW_FILE_MODS )
+		if ( defined( 'DISALLOW_FILE_MODS' ) && DISALLOW_FILE_MODS ) {
 			$caps[] = 'do_not_allow';
-		elseif ( is_multisite() && ! is_super_admin( $user_id ) )
+		} elseif ( is_multisite() && ! is_super_admin( $user_id ) ) {
 			$caps[] = 'do_not_allow';
-		else
+		} elseif ( 'upload_themes' === $cap ) {
+			$caps[] = 'install_themes';
+		} elseif ( 'upload_plugins' === $cap ) {
+			$caps[] = 'install_plugins';
+		} else {
 			$caps[] = $cap;
+		}
 		break;
 	case 'activate_plugins':
 		$caps[] = $cap;
@@ -1292,6 +1313,9 @@ function map_meta_cap( $cap, $user_id ) {
 		else
 			$caps[] = 'do_not_allow';
 		break;
+	case 'customize' :
+		$caps[] = 'edit_theme_options';
+		break;
 	default:
 		// Handle meta capabilities for custom post types.
 		$post_type_meta_caps = _post_type_meta_capabilities();
diff --git a/wp-includes/category-template.php b/wp-includes/category-template.php
index e627bdc35..7369fda90 100644
--- a/wp-includes/category-template.php
+++ b/wp-includes/category-template.php
@@ -56,7 +56,7 @@ function get_category_parents( $id, $link = false, $separator = '/', $nicename =
 	}
 
 	if ( $link )
-		$chain .= '<a href="' . esc_url( get_category_link( $parent->term_id ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $parent->name ) ) . '">'.$name.'</a>' . $separator;
+		$chain .= '<a href="' . esc_url( get_category_link( $parent->term_id ) ) . '">'.$name.'</a>' . $separator;
 	else
 		$chain .= $name.$separator;
 	return $chain;
@@ -183,17 +183,17 @@ function get_the_category_list( $separator = '', $parents='', $post_id = false )
 				case 'multiple':
 					if ( $category->parent )
 						$thelist .= get_category_parents( $category->parent, true, $separator );
-					$thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>' . $category->name.'</a></li>';
+					$thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" ' . $rel . '>' . $category->name.'</a></li>';
 					break;
 				case 'single':
-					$thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>';
+					$thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '"  ' . $rel . '>';
 					if ( $category->parent )
 						$thelist .= get_category_parents( $category->parent, false, $separator );
 					$thelist .= $category->name.'</a></li>';
 					break;
 				case '':
 				default:
-					$thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>' . $category->name.'</a></li>';
+					$thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" ' . $rel . '>' . $category->name.'</a></li>';
 			}
 		}
 		$thelist .= '</ul>';
@@ -206,17 +206,17 @@ function get_the_category_list( $separator = '', $parents='', $post_id = false )
 				case 'multiple':
 					if ( $category->parent )
 						$thelist .= get_category_parents( $category->parent, true, $separator );
-					$thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>' . $category->name.'</a>';
+					$thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" ' . $rel . '>' . $category->name.'</a>';
 					break;
 				case 'single':
-					$thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>';
+					$thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" ' . $rel . '>';
 					if ( $category->parent )
 						$thelist .= get_category_parents( $category->parent, false, $separator );
 					$thelist .= "$category->name</a>";
 					break;
 				case '':
 				default:
-					$thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>' . $category->name.'</a>';
+					$thelist .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" ' . $rel . '>' . $category->name.'</a>';
 			}
 			++$i;
 		}
@@ -292,6 +292,7 @@ function category_description( $category = 0 ) {
  * The list of arguments is below:
  *     'show_option_all' (string) - Text to display for showing all categories.
  *     'show_option_none' (string) - Text to display for showing no categories.
+ *     'option_none_value' (mixed) - Value to use when no category is selected.
  *     'orderby' (string) default is 'ID' - What column to use for ordering the
  * categories.
  *     'order' (string) default is 'ASC' - What direction to order categories.
@@ -331,7 +332,7 @@ function wp_dropdown_categories( $args = '' ) {
 		'name' => 'cat', 'id' => '',
 		'class' => 'postform', 'depth' => 0,
 		'tab_index' => 0, 'taxonomy' => 'category',
-		'hide_if_empty' => false
+		'hide_if_empty' => false, 'option_none_value' => -1
 	);
 
 	$defaults['selected'] = ( is_category() ) ? get_query_var( 'cat' ) : 0;
@@ -343,28 +344,29 @@ function wp_dropdown_categories( $args = '' ) {
 	}
 
 	$r = wp_parse_args( $args, $defaults );
+	$option_none_value = $r['option_none_value'];
 
-	if ( !isset( $r['pad_counts'] ) && $r['show_count'] && $r['hierarchical'] ) {
+	if ( ! isset( $r['pad_counts'] ) && $r['show_count'] && $r['hierarchical'] ) {
 		$r['pad_counts'] = true;
 	}
 
-	extract( $r );
+	$tab_index = $r['tab_index'];
 
 	$tab_index_attribute = '';
-	if ( (int) $tab_index > 0 )
+	if ( (int) $tab_index > 0 ) {
 		$tab_index_attribute = " tabindex=\"$tab_index\"";
+	}
+	$categories = get_terms( $r['taxonomy'], $r );
+	$name = esc_attr( $r['name'] );
+	$class = esc_attr( $r['class'] );
+	$id = $r['id'] ? esc_attr( $r['id'] ) : $name;
 
-	$categories = get_terms( $taxonomy, $r );
-	$name = esc_attr( $name );
-	$class = esc_attr( $class );
-	$id = $id ? esc_attr( $id ) : $name;
-
-	if ( ! $r['hide_if_empty'] || ! empty($categories) )
+	if ( ! $r['hide_if_empty'] || ! empty( $categories ) ) {
 		$output = "<select name='$name' id='$id' class='$class' $tab_index_attribute>\n";
-	else
+	} else {
 		$output = '';
-
-	if ( empty($categories) && ! $r['hide_if_empty'] && !empty($show_option_none) ) {
+	}
+	if ( empty( $categories ) && ! $r['hide_if_empty'] && ! empty( $r['show_option_none'] ) ) {
 
 		/**
 		 * Filter a taxonomy drop-down display element.
@@ -380,39 +382,39 @@ function wp_dropdown_categories( $args = '' ) {
 		 *
 		 * @param string $element Taxonomy element to list.
 		 */
-		$show_option_none = apply_filters( 'list_cats', $show_option_none );
-		$output .= "\t<option value='-1' selected='selected'>$show_option_none</option>\n";
+		$show_option_none = apply_filters( 'list_cats', $r['show_option_none'] );
+		$output .= "\t<option value='" . esc_attr( $option_none_value ) . "' selected='selected'>$show_option_none</option>\n";
 	}
 
 	if ( ! empty( $categories ) ) {
 
-		if ( $show_option_all ) {
+		if ( $r['show_option_all'] ) {
 
 			/** This filter is documented in wp-includes/category-template.php */
-			$show_option_all = apply_filters( 'list_cats', $show_option_all );
+			$show_option_all = apply_filters( 'list_cats', $r['show_option_all'] );
 			$selected = ( '0' === strval($r['selected']) ) ? " selected='selected'" : '';
 			$output .= "\t<option value='0'$selected>$show_option_all</option>\n";
 		}
 
-		if ( $show_option_none ) {
+		if ( $r['show_option_none'] ) {
 
 			/** This filter is documented in wp-includes/category-template.php */
-			$show_option_none = apply_filters( 'list_cats', $show_option_none );
-			$selected = ( '-1' === strval($r['selected']) ) ? " selected='selected'" : '';
-			$output .= "\t<option value='-1'$selected>$show_option_none</option>\n";
+			$show_option_none = apply_filters( 'list_cats', $r['show_option_none'] );
+			$selected = selected( $option_none_value, $r['selected'], false );
+			$output .= "\t<option value='" . esc_attr( $option_none_value ) . "'$selected>$show_option_none</option>\n";
 		}
 
-		if ( $hierarchical )
+		if ( $r['hierarchical'] ) {
 			$depth = $r['depth'];  // Walk the full depth.
-		else
+		} else {
 			$depth = -1; // Flat.
-
+		}
 		$output .= walk_category_dropdown_tree( $categories, $depth, $r );
 	}
 
-	if ( ! $r['hide_if_empty'] || ! empty($categories) )
+	if ( ! $r['hide_if_empty'] || ! empty( $categories ) ) {
 		$output .= "</select>\n";
-
+	}
 	/**
 	 * Filter the taxonomy drop-down output.
 	 *
@@ -423,9 +425,9 @@ function wp_dropdown_categories( $args = '' ) {
 	 */
 	$output = apply_filters( 'wp_dropdown_cats', $output, $r );
 
-	if ( $echo )
+	if ( $r['echo'] ) {
 		echo $output;
-
+	}
 	return $output;
 }
 
@@ -442,7 +444,7 @@ function wp_dropdown_categories( $args = '' ) {
  *     'hide_empty' (bool|int) default is 1 - Whether to hide categories that
  * don't have any posts attached to them.
  *     'use_desc_for_title' (bool|int) default is 1 - Whether to use the
- * description instead of the category title.
+ * category description as the title attribute.
  *     'feed' - See {@link get_categories()}.
  *     'feed_type' - See {@link get_categories()}.
  *     'feed_image' - See {@link get_categories()}.
@@ -485,52 +487,57 @@ function wp_list_categories( $args = '' ) {
 		$r['exclude'] = '';
 	}
 
-	if ( !isset( $r['class'] ) )
+	if ( ! isset( $r['class'] ) )
 		$r['class'] = ( 'category' == $r['taxonomy'] ) ? 'categories' : $r['taxonomy'];
 
-	extract( $r );
-
-	if ( !taxonomy_exists($taxonomy) )
+	if ( ! taxonomy_exists( $r['taxonomy'] ) ) {
 		return false;
+	}
+
+	$show_option_all = $r['show_option_all'];
+	$show_option_none = $r['show_option_none'];
 
 	$categories = get_categories( $r );
 
 	$output = '';
-	if ( $title_li && 'list' == $style )
-			$output = '<li class="' . esc_attr( $class ) . '">' . $title_li . '<ul>';
-
+	if ( $r['title_li'] && 'list' == $r['style'] ) {
+		$output = '<li class="' . esc_attr( $r['class'] ) . '">' . $r['title_li'] . '<ul>';
+	}
 	if ( empty( $categories ) ) {
 		if ( ! empty( $show_option_none ) ) {
-			if ( 'list' == $style )
+			if ( 'list' == $r['style'] ) {
 				$output .= '<li class="cat-item-none">' . $show_option_none . '</li>';
-			else
+			} else {
 				$output .= $show_option_none;
+			}
 		}
 	} else {
 		if ( ! empty( $show_option_all ) ) {
 			$posts_page = ( 'page' == get_option( 'show_on_front' ) && get_option( 'page_for_posts' ) ) ? get_permalink( get_option( 'page_for_posts' ) ) : home_url( '/' );
 			$posts_page = esc_url( $posts_page );
-			if ( 'list' == $style )
+			if ( 'list' == $r['style'] ) {
 				$output .= "<li class='cat-item-all'><a href='$posts_page'>$show_option_all</a></li>";
-			else
+			} else {
 				$output .= "<a href='$posts_page'>$show_option_all</a>";
+			}
 		}
 
 		if ( empty( $r['current_category'] ) && ( is_category() || is_tax() || is_tag() ) ) {
 			$current_term_object = get_queried_object();
-			if ( $current_term_object && $r['taxonomy'] === $current_term_object->taxonomy )
+			if ( $current_term_object && $r['taxonomy'] === $current_term_object->taxonomy ) {
 				$r['current_category'] = get_queried_object_id();
+			}
 		}
 
-		if ( $hierarchical )
+		if ( $r['hierarchical'] ) {
 			$depth = $r['depth'];
-		else
+		} else {
 			$depth = -1; // Flat.
-
+		}
 		$output .= walk_category_tree( $categories, $depth, $r );
 	}
 
-	if ( $title_li && 'list' == $style )
+	if ( $r['title_li'] && 'list' == $r['style'] )
 		$output .= '</ul></li>';
 
 	/**
@@ -541,12 +548,13 @@ function wp_list_categories( $args = '' ) {
 	 * @param string $output HTML output.
 	 * @param array  $args   An array of taxonomy-listing arguments.
 	 */
-	$output = apply_filters( 'wp_list_categories', $output, $args );
+	$html = apply_filters( 'wp_list_categories', $output, $args );
 
-	if ( $echo )
-		echo $output;
-	else
-		return $output;
+	if ( $r['echo'] ) {
+		echo $html;
+	} else {
+		return $html;
+	}
 }
 
 /**
@@ -679,9 +687,8 @@ function wp_generate_tag_cloud( $tags, $args = '' ) {
 	);
 
 	$args = wp_parse_args( $args, $defaults );
-	extract( $args, EXTR_SKIP );
 
-	$return = ( 'array' === $format ) ? array() : '';
+	$return = ( 'array' === $args['format'] ) ? array() : '';
 
 	if ( empty( $tags ) ) {
 		return $return;
@@ -723,37 +730,37 @@ function wp_generate_tag_cloud( $tags, $args = '' ) {
 		$tags = $tags_sorted;
 		unset( $tags_sorted );
 	} else {
-		if ( 'RAND' === $order ) {
+		if ( 'RAND' === $args['order'] ) {
 			shuffle( $tags );
 		} else {
 			// SQL cannot save you; this is a second (potentially different) sort on a subset of data.
-			if ( 'name' === $orderby ) {
+			if ( 'name' === $args['orderby'] ) {
 				uasort( $tags, '_wp_object_name_sort_cb' );
 			} else {
 				uasort( $tags, '_wp_object_count_sort_cb' );
 			}
 
-			if ( 'DESC' === $order ) {
+			if ( 'DESC' === $args['order'] ) {
 				$tags = array_reverse( $tags, true );
 			}
 		}
 	}
 
-	if ( $number > 0 )
-		$tags = array_slice($tags, 0, $number);
+	if ( $args['number'] > 0 )
+		$tags = array_slice( $tags, 0, $args['number'] );
 
 	$counts = array();
 	$real_counts = array(); // For the alt tag
 	foreach ( (array) $tags as $key => $tag ) {
 		$real_counts[ $key ] = $tag->count;
-		$counts[ $key ] = $topic_count_scale_callback($tag->count);
+		$counts[ $key ] = call_user_func( $args['topic_count_scale_callback'], $tag->count );
 	}
 
 	$min_count = min( $counts );
 	$spread = max( $counts ) - $min_count;
 	if ( $spread <= 0 )
 		$spread = 1;
-	$font_spread = $largest - $smallest;
+	$font_spread = $args['largest'] - $args['smallest'];
 	if ( $font_spread < 0 )
 		$font_spread = 1;
 	$font_step = $font_spread / $spread;
@@ -770,29 +777,29 @@ function wp_generate_tag_cloud( $tags, $args = '' ) {
 		if ( $translate_nooped_plural ) {
 			$title_attribute = sprintf( translate_nooped_plural( $translate_nooped_plural, $real_count ), number_format_i18n( $real_count ) );
 		} else {
-			$title_attribute = call_user_func( $topic_count_text_callback, $real_count, $tag, $args );
+			$title_attribute = call_user_func( $args['topic_count_text_callback'], $real_count, $tag, $args );
 		}
 
 		$a[] = "<a href='$tag_link' class='tag-link-$tag_id' title='" . esc_attr( $title_attribute ) . "' style='font-size: " .
-			str_replace( ',', '.', ( $smallest + ( ( $count - $min_count ) * $font_step ) ) )
-			. "$unit;'>$tag_name</a>";
+			str_replace( ',', '.', ( $args['smallest'] + ( ( $count - $min_count ) * $font_step ) ) )
+			. $args['unit'] . ";'>$tag_name</a>";
+	}
+
+	switch ( $args['format'] ) {
+		case 'array' :
+			$return =& $a;
+			break;
+		case 'list' :
+			$return = "<ul class='wp-tag-cloud'>\n\t<li>";
+			$return .= join( "</li>\n\t<li>", $a );
+			$return .= "</li>\n</ul>\n";
+			break;
+		default :
+			$return = join( $args['separator'], $a );
+			break;
 	}
 
-	switch ( $format ) :
-	case 'array' :
-		$return =& $a;
-		break;
-	case 'list' :
-		$return = "<ul class='wp-tag-cloud'>\n\t<li>";
-		$return .= join( "</li>\n\t<li>", $a );
-		$return .= "</li>\n</ul>\n";
-		break;
-	default :
-		$return = join( $separator, $a );
-		break;
-	endswitch;
-
-	if ( $filter ) {
+	if ( $args['filter'] ) {
 		/**
 		 * Filter the generated output of a tag cloud.
 		 *
@@ -891,7 +898,7 @@ class Walker_Category extends Walker {
 	 * @since 2.1.0
 	 * @var string
 	 */
-	var $tree_type = 'category';
+	public $tree_type = 'category';
 
 	/**
 	 * Database fields to use.
@@ -901,7 +908,7 @@ class Walker_Category extends Walker {
 	 * @todo Decouple this
 	 * @var array
 	 */
-	var $db_fields = array ('parent' => 'parent', 'id' => 'term_id');
+	public $db_fields = array ('parent' => 'parent', 'id' => 'term_id');
 
 	/**
 	 * Starts the list before the elements are added.
@@ -915,7 +922,7 @@ class Walker_Category extends Walker {
 	 * @param array  $args   An array of arguments. Will only append content if style argument value is 'list'.
 	 *                       @see wp_list_categories()
 	 */
-	function start_lvl( &$output, $depth = 0, $args = array() ) {
+	public function start_lvl( &$output, $depth = 0, $args = array() ) {
 		if ( 'list' != $args['style'] )
 			return;
 
@@ -935,7 +942,7 @@ class Walker_Category extends Walker {
 	 * @param array  $args   An array of arguments. Will only append content if style argument value is 'list'.
 	 *                       @wsee wp_list_categories()
 	 */
-	function end_lvl( &$output, $depth = 0, $args = array() ) {
+	public function end_lvl( &$output, $depth = 0, $args = array() ) {
 		if ( 'list' != $args['style'] )
 			return;
 
@@ -956,18 +963,16 @@ class Walker_Category extends Walker {
 	 * @param array  $args     An array of arguments. @see wp_list_categories()
 	 * @param int    $id       ID of the current category.
 	 */
-	function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) {
-		extract($args);
-
-		$cat_name = esc_attr( $category->name );
-
+	public function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) {
 		/** This filter is documented in wp-includes/category-template.php */
-		$cat_name = apply_filters( 'list_cats', $cat_name, $category );
-
-		$link = '<a href="' . esc_url( get_term_link($category) ) . '" ';
-		if ( $use_desc_for_title == 0 || empty($category->description) ) {
-			$link .= 'title="' . esc_attr( sprintf(__( 'View all posts filed under %s' ), $cat_name) ) . '"';
-		} else {
+		$cat_name = apply_filters(
+			'list_cats',
+			esc_attr( $category->name ),
+			$category
+		);
+
+		$link = '<a href="' . esc_url( get_term_link( $category ) ) . '" ';
+		if ( $args['use_desc_for_title'] && ! empty( $category->description ) ) {
 			/**
 			 * Filter the category description for display.
 			 *
@@ -982,48 +987,50 @@ class Walker_Category extends Walker {
 		$link .= '>';
 		$link .= $cat_name . '</a>';
 
-		if ( !empty($feed_image) || !empty($feed) ) {
+		if ( ! empty( $args['feed_image'] ) || ! empty( $args['feed'] ) ) {
 			$link .= ' ';
 
-			if ( empty($feed_image) )
+			if ( empty( $args['feed_image'] ) ) {
 				$link .= '(';
+			}
 
-			$link .= '<a href="' . esc_url( get_term_feed_link( $category->term_id, $category->taxonomy, $feed_type ) ) . '"';
+			$link .= '<a href="' . esc_url( get_term_feed_link( $category->term_id, $category->taxonomy, $args['feed_type'] ) ) . '"';
 
-			if ( empty($feed) ) {
+			if ( empty( $args['feed'] ) ) {
 				$alt = ' alt="' . sprintf(__( 'Feed for all posts filed under %s' ), $cat_name ) . '"';
 			} else {
-				$title = ' title="' . $feed . '"';
-				$alt = ' alt="' . $feed . '"';
-				$name = $feed;
-				$link .= $title;
+				$alt = ' alt="' . $args['feed'] . '"';
+				$name = $args['feed'];
+				$link .= empty( $args['title'] ) ? '' : $args['title'];
 			}
 
 			$link .= '>';
 
-			if ( empty($feed_image) )
+			if ( empty( $args['feed_image'] ) ) {
 				$link .= $name;
-			else
-				$link .= "<img src='$feed_image'$alt$title" . ' />';
-
+			} else {
+				$link .= "<img src='" . $args['feed_image'] . "'$alt" . ' />';
+			}
 			$link .= '</a>';
 
-			if ( empty($feed_image) )
+			if ( empty( $args['feed_image'] ) ) {
 				$link .= ')';
+			}
 		}
 
-		if ( !empty($show_count) )
+		if ( ! empty( $args['show_count'] ) ) {
 			$link .= ' (' . number_format_i18n( $category->count ) . ')';
-
+		}
 		if ( 'list' == $args['style'] ) {
 			$output .= "\t<li";
 			$class = 'cat-item cat-item-' . $category->term_id;
-			if ( !empty($current_category) ) {
-				$_current_category = get_term( $current_category, $category->taxonomy );
-				if ( $category->term_id == $current_category )
+			if ( ! empty( $args['current_category'] ) ) {
+				$_current_category = get_term( $args['current_category'], $category->taxonomy );
+				if ( $category->term_id == $args['current_category'] ) {
 					$class .=  ' current-cat';
-				elseif ( $category->term_id == $_current_category->parent )
+				} elseif ( $category->term_id == $_current_category->parent ) {
 					$class .=  ' current-cat-parent';
+				}
 			}
 			$output .=  ' class="' . $class . '"';
 			$output .= ">$link\n";
@@ -1044,7 +1051,7 @@ class Walker_Category extends Walker {
 	 * @param int    $depth  Depth of category. Not used.
 	 * @param array  $args   An array of arguments. Only uses 'list' for whether should append to output. @see wp_list_categories()
 	 */
-	function end_el( &$output, $page, $depth = 0, $args = array() ) {
+	public function end_el( &$output, $page, $depth = 0, $args = array() ) {
 		if ( 'list' != $args['style'] )
 			return;
 
@@ -1066,7 +1073,7 @@ class Walker_CategoryDropdown extends Walker {
 	 * @since 2.1.0
 	 * @var string
 	 */
-	var $tree_type = 'category';
+	public $tree_type = 'category';
 
 	/**
 	 * @see Walker::$db_fields
@@ -1074,7 +1081,7 @@ class Walker_CategoryDropdown extends Walker {
 	 * @todo Decouple this
 	 * @var array
 	 */
-	var $db_fields = array ('parent' => 'parent', 'id' => 'term_id');
+	public $db_fields = array ('parent' => 'parent', 'id' => 'term_id');
 
 	/**
 	 * Start the element output.
@@ -1087,7 +1094,7 @@ class Walker_CategoryDropdown extends Walker {
 	 * @param int    $depth    Depth of category. Used for padding.
 	 * @param array  $args     Uses 'selected' and 'show_count' keys, if they exist. @see wp_dropdown_categories()
 	 */
-	function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) {
+	public function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) {
 		$pad = str_repeat('&nbsp;', $depth * 3);
 
 		/** This filter is documented in wp-includes/category-template.php */
@@ -1160,7 +1167,7 @@ function get_the_tags( $id = 0 ) {
  * @param string $sep Optional. Between tags.
  * @param string $after Optional. After tags.
  * @param int $id Optional. Post ID. Defaults to the current post.
- * @return string|bool|WP_Error A list of tags on success, false or WP_Error on failure.
+ * @return string|bool|WP_Error A list of tags on success, false if there are no terms, WP_Error on failure.
  */
 function get_the_tag_list( $before = '', $sep = '', $after = '', $id = 0 ) {
 
@@ -1233,7 +1240,8 @@ function term_description( $term = 0, $taxonomy = 'post_tag' ) {
  *
  * @param int|object $post Post ID or object.
  * @param string $taxonomy Taxonomy name.
- * @return array|bool|WP_Error Array of term objects on success, false or WP_Error on failure.
+ * @return array|bool|WP_Error Array of term objects on success, false if there are no terms
+ *                             or the post does not exist, WP_Error on failure.
  */
 function get_the_terms( $post, $taxonomy ) {
 	if ( ! $post = get_post( $post ) )
@@ -1250,9 +1258,9 @@ function get_the_terms( $post, $taxonomy ) {
 	 *
 	 * @since 3.1.0
 	 *
-	 * @param array  $terms    List of attached terms.
-	 * @param int    $post_id  Post ID.
-	 * @param string $taxonomy Name of the taxonomy.
+	 * @param array|WP_Error $terms    List of attached terms, or WP_Error on failure.
+	 * @param int            $post_id  Post ID.
+	 * @param string         $taxonomy Name of the taxonomy.
 	 */
 	$terms = apply_filters( 'get_the_terms', $terms, $post->ID, $taxonomy );
 
@@ -1272,7 +1280,7 @@ function get_the_terms( $post, $taxonomy ) {
  * @param string $before Optional. Before list.
  * @param string $sep Optional. Separate items using this.
  * @param string $after Optional. After list.
- * @return string|bool|WP_Error A list of terms on success, false or WP_Error on failure.
+ * @return string|bool|WP_Error A list of terms on success, false if there are no terms, WP_Error on failure.
  */
 function get_the_term_list( $id, $taxonomy, $before = '', $sep = '', $after = '' ) {
 	$terms = get_the_terms( $id, $taxonomy );
diff --git a/wp-includes/category.php b/wp-includes/category.php
index 24cf6e8ad..fddaa6f66 100644
--- a/wp-includes/category.php
+++ b/wp-includes/category.php
@@ -5,23 +5,6 @@
  * @package WordPress
  */
 
-/**
- * Retrieves all category IDs.
- *
- * @since 2.0.0
- * @link http://codex.wordpress.org/Function_Reference/get_all_category_ids
- *
- * @return object List of all of the category IDs.
- */
-function get_all_category_ids() {
-	if ( ! $cat_ids = wp_cache_get( 'all_category_ids', 'category' ) ) {
-		$cat_ids = get_terms( 'category', array('fields' => 'ids', 'get' => 'all') );
-		wp_cache_add( 'all_category_ids', $cat_ids, 'category' );
-	}
-
-	return $cat_ids;
-}
-
 /**
  * Retrieve list of category objects.
  *
diff --git a/wp-includes/class-IXR.php b/wp-includes/class-IXR.php
index f576719c8..b0a0f28d9 100644
--- a/wp-includes/class-IXR.php
+++ b/wp-includes/class-IXR.php
@@ -358,7 +358,7 @@ class IXR_Message
                     $this->_arraystructs[count($this->_arraystructs)-1][] = $value;
                 }
             } else {
-                // Just add as a paramater
+                // Just add as a parameter
                 $this->params[] = $value;
             }
         }
@@ -451,7 +451,7 @@ EOD;
 
         // Perform the callback and send the response
         if (count($args) == 1) {
-            // If only one paramater just send that instead of the whole array
+            // If only one parameter just send that instead of the whole array
             $args = $args[0];
         }
 
diff --git a/wp-includes/class-feed.php b/wp-includes/class-feed.php
index c33b30247..9aa144a52 100644
--- a/wp-includes/class-feed.php
+++ b/wp-includes/class-feed.php
@@ -10,17 +10,17 @@ class WP_Feed_Cache extends SimplePie_Cache {
 	 * @static
 	 * @access public
 	 */
-	function create($location, $filename, $extension) {
+	public function create($location, $filename, $extension) {
 		return new WP_Feed_Cache_Transient($location, $filename, $extension);
 	}
 }
 
 class WP_Feed_Cache_Transient {
-	var $name;
-	var $mod_name;
-	var $lifetime = 43200; //Default lifetime in cache of 12 hours
+	public $name;
+	public $mod_name;
+	public $lifetime = 43200; //Default lifetime in cache of 12 hours
 
-	function __construct($location, $filename, $extension) {
+	public function __construct($location, $filename, $extension) {
 		$this->name = 'feed_' . $filename;
 		$this->mod_name = 'feed_mod_' . $filename;
 
@@ -36,7 +36,7 @@ class WP_Feed_Cache_Transient {
 		$this->lifetime = apply_filters( 'wp_feed_cache_transient_lifetime', $lifetime, $filename);
 	}
 
-	function save($data) {
+	public function save($data) {
 		if ( is_a($data, 'SimplePie') )
 			$data = $data->data;
 
@@ -45,19 +45,19 @@ class WP_Feed_Cache_Transient {
 		return true;
 	}
 
-	function load() {
+	public function load() {
 		return get_transient($this->name);
 	}
 
-	function mtime() {
+	public function mtime() {
 		return get_transient($this->mod_name);
 	}
 
-	function touch() {
+	public function touch() {
 		return set_transient($this->mod_name, time(), $this->lifetime);
 	}
 
-	function unlink() {
+	public function unlink() {
 		delete_transient($this->name);
 		delete_transient($this->mod_name);
 		return true;
@@ -66,7 +66,7 @@ class WP_Feed_Cache_Transient {
 
 class WP_SimplePie_File extends SimplePie_File {
 
-	function __construct($url, $timeout = 10, $redirects = 5, $headers = null, $useragent = null, $force_fsockopen = false) {
+	public function __construct($url, $timeout = 10, $redirects = 5, $headers = null, $useragent = null, $force_fsockopen = false) {
 		$this->url = $url;
 		$this->timeout = $timeout;
 		$this->redirects = $redirects;
diff --git a/wp-includes/class-http.php b/wp-includes/class-http.php
index 13cf1442f..8a2383638 100644
--- a/wp-includes/class-http.php
+++ b/wp-includes/class-http.php
@@ -28,43 +28,59 @@
 class WP_Http {
 
 	/**
-	 * Send a HTTP request to a URI.
+	 * Send an HTTP request to a URI.
 	 *
-	 * The body and headers are part of the arguments. The 'body' argument is for the body and will
-	 * accept either a string or an array. The 'headers' argument should be an array, but a string
-	 * is acceptable. If the 'body' argument is an array, then it will automatically be escaped
-	 * using http_build_query().
-	 *
-	 * The only URI that are supported in the HTTP Transport implementation are the HTTP and HTTPS
-	 * protocols.
-	 *
-	 * The defaults are 'method', 'timeout', 'redirection', 'httpversion', 'blocking' and
-	 * 'user-agent'.
-	 *
-	 * Accepted 'method' values are 'GET', 'POST', and 'HEAD', some transports technically allow
-	 * others, but should not be assumed. The 'timeout' is used to sent how long the connection
-	 * should stay open before failing when no response. 'redirection' is used to track how many
-	 * redirects were taken and used to sent the amount for other transports, but not all transports
-	 * accept setting that value.
-	 *
-	 * The 'httpversion' option is used to sent the HTTP version and accepted values are '1.0', and
-	 * '1.1' and should be a string. The 'user-agent' option is the user-agent and is used to
-	 * replace the default user-agent, which is 'WordPress/WP_Version', where WP_Version is the
-	 * value from $wp_version.
-	 *
-	 * The 'blocking' parameter can be used to specify if the calling code requires the result of
-	 * the HTTP request. If set to false, the request will be sent to the remote server, and
-	 * processing returned to the calling code immediately, the caller will know if the request
-	 * suceeded or failed, but will not receive any response from the remote server.
+	 * Please note: The only URI that are supported in the HTTP Transport implementation
+	 * are the HTTP and HTTPS protocols.
 	 *
 	 * @access public
 	 * @since 2.7.0
 	 *
-	 * @param string $url URI resource.
-	 * @param str|array $args Optional. Override the defaults.
-	 * @return array|object Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error
+	 * @param string       $url  The request URL.
+	 * @param string|array $args {
+	 *     Optional. Array or string of HTTP request arguments.
+	 *
+	 *     @type string       $method              Request method. Accepts 'GET', 'POST', 'HEAD', or 'PUT'.
+	 *                                             Some transports technically allow others, but should not be
+	 *                                             assumed. Default 'GET'.
+	 *     @type int          $timeout             How long the connection should stay open in seconds. Default 5.
+	 *     @type int          $redirection         Number of allowed redirects. Not supported by all transports
+	 *                                             Default 5.
+	 *     @type string       $httpversion         Version of the HTTP protocol to use. Accepts '1.0' and '1.1'.
+	 *                                             Default '1.0'.
+	 *     @type string       $user-agent          User-agent value sent.
+	 *                                             Default WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ).
+	 *     @type bool         $reject_unsafe_urls  Whether to pass URLs through {@see wp_http_validate_url()}.
+	 *                                             Default false.
+	 *     @type bool         $blocking            Whether the calling code requires the result of the request.
+	 *                                             If set to false, the request will be sent to the remote server,
+	 *                                             and processing returned to the calling code immediately, the caller
+	 *                                             will know if the request succeeded or failed, but will not receive
+	 *                                             any response from the remote server. Default true.
+	 *     @type string|array $headers             Array or string of headers to send with the request.
+	 *                                             Default empty array.
+	 *     @type array        $cookies             List of cookies to send with the request. Default empty array.
+	 *     @type string|array $body                Body to send with the request. Default null.
+	 *     @type bool         $compress            Whether to compress the $body when sending the request.
+	 *                                             Default false.
+	 *     @type bool         $decompress          Whether to decompress a compressed response. If set to false and
+	 *                                             compressed content is returned in the response anyway, it will
+	 *                                             need to be separately decompressed. Default true.
+	 *     @type bool         $sslverify           Whether to verify SSL for the request. Default true.
+	 *     @type string       sslcertificates      Absolute path to an SSL certificate .crt file.
+	 *                                             Default ABSPATH . WPINC . '/certificates/ca-bundle.crt'.
+	 *     @type bool         $stream              Whether to stream to a file. If set to true and no filename was
+	 *                                             given, it will be droped it in the WP temp dir and its name will
+	 *                                             be set using the basename of the URL. Default false.
+	 *     @type string       $filename            Filename of the file to write to when streaming. $stream must be
+	 *                                             set to true. Default null.
+	 *     @type int          $limit_response_size Size in bytes to limit the response to. Default null.
+	 *
+	 * }
+	 * @return array|WP_Error Array containing 'headers', 'body', 'response', 'cookies', 'filename'.
+	 *                        A WP_Error instance upon error.
 	 */
-	function request( $url, $args = array() ) {
+	public function request( $url, $args = array() ) {
 		global $wp_version;
 
 		$defaults = array(
@@ -139,7 +155,7 @@ class WP_Http {
 		 * @since 2.7.0
 		 *
 		 * @param array  $r   An array of HTTP request arguments.
-		 * @param string $url The request URI resource.
+		 * @param string $url The request URL.
 		 */
 		$r = apply_filters( 'http_request_args', $r, $url );
 
@@ -157,7 +173,7 @@ class WP_Http {
 		 *
 		 * @param bool   $preempt Whether to preempt an HTTP request return. Default false.
 		 * @param array  $r       HTTP request arguments.
-		 * @param string $url     The request URI resource.
+		 * @param string $url     The request URL.
 		 */
 		$pre = apply_filters( 'pre_http_request', false, $r, $url );
 		if ( false !== $pre )
@@ -177,21 +193,28 @@ class WP_Http {
 		if ( $this->block_request( $url ) )
 			return new WP_Error( 'http_request_failed', __( 'User has blocked requests through HTTP.' ) );
 
-		// Determine if this is a https call and pass that on to the transport functions
-		// so that we can blacklist the transports that do not support ssl verification
+		/*
+		 * Determine if this is a https call and pass that on to the transport functions
+		 * so that we can blacklist the transports that do not support ssl verification
+		 */
 		$r['ssl'] = $arrURL['scheme'] == 'https' || $arrURL['scheme'] == 'ssl';
 
-		// Determine if this request is to OUR install of WordPress
+		// Determine if this request is to OUR install of WordPress.
 		$homeURL = parse_url( get_bloginfo( 'url' ) );
-		$r['local'] = $homeURL['host'] == $arrURL['host'] || 'localhost' == $arrURL['host'];
+		$r['local'] = 'localhost' == $arrURL['host'] || ( isset( $homeURL['host'] ) && $homeURL['host'] == $arrURL['host'] );
 		unset( $homeURL );
 
-		// If we are streaming to a file but no filename was given drop it in the WP temp dir
-		// and pick its name using the basename of the $url
+		/*
+		 * If we are streaming to a file but no filename was given drop it in the WP temp dir
+		 * and pick its name using the basename of the $url.
+		 */
 		if ( $r['stream']  && empty( $r['filename'] ) )
 			$r['filename'] = get_temp_dir() . basename( $url );
 
-		// Force some settings if we are streaming to a file and check for existence and perms of destination directory
+		/*
+		 * Force some settings if we are streaming to a file and check for existence and perms
+		 * of destination directory.
+		 */
 		if ( $r['stream'] ) {
 			$r['blocking'] = true;
 			if ( ! wp_is_writable( dirname( $r['filename'] ) ) )
@@ -220,10 +243,10 @@ class WP_Http {
 			$r['headers']['connection'] = 'close';
 		}
 
-		// Construct Cookie: header if any cookies are set
+		// Construct Cookie: header if any cookies are set.
 		WP_Http::buildCookieHeader( $r );
 
-		// Avoid issues where mbstring.func_overload is enabled
+		// Avoid issues where mbstring.func_overload is enabled.
 		mbstring_binary_safe_encoding();
 
 		if ( ! isset( $r['headers']['Accept-Encoding'] ) ) {
@@ -290,11 +313,11 @@ class WP_Http {
 		 */
 		$request_order = apply_filters( 'http_api_transports', array( 'curl', 'streams' ), $args, $url );
 
-		// Loop over each transport on each HTTP request looking for one which will serve this request's needs
+		// Loop over each transport on each HTTP request looking for one which will serve this request's needs.
 		foreach ( $request_order as $transport ) {
 			$class = 'WP_HTTP_' . $transport;
 
-			// Check to see if this transport is a possibility, calls the transport statically
+			// Check to see if this transport is a possibility, calls the transport statically.
 			if ( !call_user_func( array( $class, 'test' ), $args, $url ) )
 				continue;
 
@@ -317,7 +340,7 @@ class WP_Http {
 	 *
 	 * @param string $url URL to Request
 	 * @param array $args Request arguments
-	 * @return array|object Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error
+	 * @return array|WP_Error Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error
 	 */
 	private function _dispatch_request( $url, $args ) {
 		static $transports = array();
@@ -337,11 +360,11 @@ class WP_Http {
 		 *
 		 * @since 2.8.0
 		 *
-		 * @param mixed  $response HTTP Response or WP_Error object.
-		 * @param string $context  Context under which the hook is fired.
-		 * @param string $class    HTTP transport used.
-		 * @param array  $args     HTTP request arguments.
-		 * @param string $url      The request URL.
+		 * @param array|WP_Error $response HTTP response or WP_Error object.
+		 * @param string         $context  Context under which the hook is fired.
+		 * @param string         $class    HTTP transport used.
+		 * @param array          $args     HTTP request arguments.
+		 * @param string         $url      The request URL.
 		 */
 		do_action( 'http_api_debug', $response, 'response', $class, $args, $url );
 
@@ -353,9 +376,9 @@ class WP_Http {
 		 *
 		 * @since 2.9.0
 		 *
-		 * @param array|obj $response HTTP Response.
-		 * @param array     $args     HTTP request arguments.
-		 * @param string    $url      The request URL.
+		 * @param array  $response HTTP response.
+		 * @param array  $args     HTTP request arguments.
+		 * @param string $url      The request URL.
 		 */
 		return apply_filters( 'http_response', $response, $args, $url );
 	}
@@ -368,11 +391,11 @@ class WP_Http {
 	 * @access public
 	 * @since 2.7.0
 	 *
-	 * @param string       $url  URI resource.
+	 * @param string       $url  The request URL.
 	 * @param string|array $args Optional. Override the defaults.
-	 * @return array|object Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error
+	 * @return array|WP_Error Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error
 	 */
-	function post($url, $args = array()) {
+	public function post($url, $args = array()) {
 		$defaults = array('method' => 'POST');
 		$r = wp_parse_args( $args, $defaults );
 		return $this->request($url, $r);
@@ -386,11 +409,11 @@ class WP_Http {
 	 * @access public
 	 * @since 2.7.0
 	 *
-	 * @param string $url URI resource.
-	 * @param str|array $args Optional. Override the defaults.
-	 * @return array|object Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error
+	 * @param string $url The request URL.
+	 * @param string|array $args Optional. Override the defaults.
+	 * @return array|WP_Error Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error
 	 */
-	function get($url, $args = array()) {
+	public function get($url, $args = array()) {
 		$defaults = array('method' => 'GET');
 		$r = wp_parse_args( $args, $defaults );
 		return $this->request($url, $r);
@@ -404,11 +427,11 @@ class WP_Http {
 	 * @access public
 	 * @since 2.7.0
 	 *
-	 * @param string $url URI resource.
-	 * @param str|array $args Optional. Override the defaults.
-	 * @return array|object Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error
+	 * @param string $url The request URL.
+	 * @param string|array $args Optional. Override the defaults.
+	 * @return array|WP_Error Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error
 	 */
-	function head($url, $args = array()) {
+	public function head($url, $args = array()) {
 		$defaults = array('method' => 'HEAD');
 		$r = wp_parse_args( $args, $defaults );
 		return $this->request($url, $r);
@@ -446,20 +469,25 @@ class WP_Http {
 	 * 					Then a numbered array is returned as the value of that header-key.
 	 */
 	public static function processHeaders( $headers, $url = '' ) {
-		// split headers, one per array element
+		// Split headers, one per array element.
 		if ( is_string($headers) ) {
-			// tolerate line terminator: CRLF = LF (RFC 2616 19.3)
+			// Tolerate line terminator: CRLF = LF (RFC 2616 19.3).
 			$headers = str_replace("\r\n", "\n", $headers);
-			// unfold folded header fields. LWS = [CRLF] 1*( SP | HT ) <US-ASCII SP, space (32)>, <US-ASCII HT, horizontal-tab (9)> (RFC 2616 2.2)
+			/*
+			 * Unfold folded header fields. LWS = [CRLF] 1*( SP | HT ) <US-ASCII SP, space (32)>,
+			 * <US-ASCII HT, horizontal-tab (9)> (RFC 2616 2.2).
+			 */
 			$headers = preg_replace('/\n[ \t]/', ' ', $headers);
-			// create the headers array
+			// Create the headers array.
 			$headers = explode("\n", $headers);
 		}
 
 		$response = array('code' => 0, 'message' => '');
 
-		// If a redirection has taken place, The headers for each page request may have been passed.
-		// In this case, determine the final HTTP header and parse from there.
+		/*
+		 * If a redirection has taken place, The headers for each page request may have been passed.
+		 * In this case, determine the final HTTP header and parse from there.
+		 */
 		for ( $i = count($headers)-1; $i >= 0; $i-- ) {
 			if ( !empty($headers[$i]) && false === strpos($headers[$i], ':') ) {
 				$headers = array_splice($headers, $i);
@@ -514,7 +542,7 @@ class WP_Http {
 	 */
 	public static function buildCookieHeader( &$r ) {
 		if ( ! empty($r['cookies']) ) {
-			// Upgrade any name => value cookie pairs to WP_HTTP_Cookie instances
+			// Upgrade any name => value cookie pairs to WP_HTTP_Cookie instances.
 			foreach ( $r['cookies'] as $name => $value ) {
 				if ( ! is_object( $value ) )
 					$r['cookies'][ $name ] = new WP_HTTP_Cookie( array( 'name' => $name, 'value' => $value ) );
@@ -550,7 +578,9 @@ class WP_Http {
 			return $body;
 
 		$parsed_body = '';
-		$body_original = $body; // We'll be altering $body, so need a backup in case of error
+
+		// We'll be altering $body, so need a backup in case of error.
+		$body_original = $body;
 
 		while ( true ) {
 			$has_chunk = (bool) preg_match( '/^([0-9a-f]+)[^\r\n]*\r\n/i', $body, $match );
@@ -560,13 +590,13 @@ class WP_Http {
 			$length = hexdec( $match[1] );
 			$chunk_length = strlen( $match[0] );
 
-			// Parse out the chunk of data
+			// Parse out the chunk of data.
 			$parsed_body .= substr( $body, $chunk_length, $length );
 
-			// Remove the chunk from the raw data
+			// Remove the chunk from the raw data.
 			$body = substr( $body, $length + $chunk_length );
 
-			// End of document
+			// End of the document.
 			if ( '0' === trim( $body ) )
 				return $parsed_body;
 		}
@@ -591,7 +621,7 @@ class WP_Http {
 	 * @param string $uri URI of url.
 	 * @return bool True to block, false to allow.
 	 */
-	function block_request($uri) {
+	public function block_request($uri) {
 		// We don't need to block requests, because nothing is blocked.
 		if ( ! defined( 'WP_HTTP_BLOCK_EXTERNAL' ) || ! WP_HTTP_BLOCK_EXTERNAL )
 			return false;
@@ -602,8 +632,8 @@ class WP_Http {
 
 		$home = parse_url( get_option('siteurl') );
 
-		// Don't block requests back to ourselves by default
-		if ( $check['host'] == 'localhost' || $check['host'] == $home['host'] ) {
+		// Don't block requests back to ourselves by default.
+		if ( 'localhost' == $check['host'] || ( isset( $home['host'] ) && $home['host'] == $check['host'] ) ) {
 			/**
 			 * Filter whether to block local requests through the proxy.
 			 *
@@ -638,11 +668,11 @@ class WP_Http {
 
 	}
 
-	static function make_absolute_url( $maybe_relative_path, $url ) {
+	public static function make_absolute_url( $maybe_relative_path, $url ) {
 		if ( empty( $url ) )
 			return $maybe_relative_path;
 
-		// Check for a scheme
+		// Check for a scheme.
 		if ( false !== strpos( $maybe_relative_path, '://' ) )
 			return $maybe_relative_path;
 
@@ -656,31 +686,31 @@ class WP_Http {
 		if ( isset( $url_parts['port'] ) )
 			$absolute_path .= ':' . $url_parts['port'];
 
-		// Start off with the Absolute URL path
+		// Start off with the Absolute URL path.
 		$path = ! empty( $url_parts['path'] ) ? $url_parts['path'] : '/';
 
-		// If it's a root-relative path, then great
+		// If it's a root-relative path, then great.
 		if ( ! empty( $relative_url_parts['path'] ) && '/' == $relative_url_parts['path'][0] ) {
 			$path = $relative_url_parts['path'];
 
-		// Else it's a relative path
+		// Else it's a relative path.
 		} elseif ( ! empty( $relative_url_parts['path'] ) ) {
-			// Strip off any file components from the absolute path
+			// Strip off any file components from the absolute path.
 			$path = substr( $path, 0, strrpos( $path, '/' ) + 1 );
 
-			// Build the new path
+			// Build the new path.
 			$path .= $relative_url_parts['path'];
 
-			// Strip all /path/../ out of the path
+			// Strip all /path/../ out of the path.
 			while ( strpos( $path, '../' ) > 1 ) {
 				$path = preg_replace( '![^/]+/\.\./!', '', $path );
 			}
 
-			// Strip any final leading ../ from the path
+			// Strip any final leading ../ from the path.
 			$path = preg_replace( '!^/(\.\./)+!', '', $path );
 		}
 
-		// Add the Query string
+		// Add the Query string.
 		if ( ! empty( $relative_url_parts['query'] ) )
 			$path .= '?' . $relative_url_parts['query'];
 
@@ -693,38 +723,38 @@ class WP_Http {
 	 * @since 3.7.0
 	 *
 	 * @param string $url The URL which was requested.
-	 * @param array $args The Arguements which were used to make the request.
+	 * @param array $args The Arguments which were used to make the request.
 	 * @param array $response The Response of the HTTP request.
 	 * @return false|object False if no redirect is present, a WP_HTTP or WP_Error result otherwise.
 	 */
-	static function handle_redirects( $url, $args, $response ) {
+	public static function handle_redirects( $url, $args, $response ) {
 		// If no redirects are present, or, redirects were not requested, perform no action.
 		if ( ! isset( $response['headers']['location'] ) || 0 === $args['_redirection'] )
 			return false;
 
-		// Only perform redirections on redirection http codes
+		// Only perform redirections on redirection http codes.
 		if ( $response['response']['code'] > 399 || $response['response']['code'] < 300 )
 			return false;
 
-		// Don't redirect if we've run out of redirects
+		// Don't redirect if we've run out of redirects.
 		if ( $args['redirection']-- <= 0 )
 			return new WP_Error( 'http_request_failed', __('Too many redirects.') );
 
 		$redirect_location = $response['headers']['location'];
 
-		// If there were multiple Location headers, use the last header specified
+		// If there were multiple Location headers, use the last header specified.
 		if ( is_array( $redirect_location ) )
 			$redirect_location = array_pop( $redirect_location );
 
 		$redirect_location = WP_HTTP::make_absolute_url( $redirect_location, $url );
 
-		// POST requests should not POST to a redirected location
+		// POST requests should not POST to a redirected location.
 		if ( 'POST' == $args['method'] ) {
 			if ( in_array( $response['response']['code'], array( 302, 303 ) ) )
 				$args['method'] = 'GET';
 		}
 
-		// Include valid cookies in the redirect process
+		// Include valid cookies in the redirect process.
 		if ( ! empty( $response['cookies'] ) ) {
 			foreach ( $response['cookies'] as $cookie ) {
 				if ( $cookie->test( $redirect_location ) )
@@ -751,7 +781,7 @@ class WP_Http {
 	 * @param string $maybe_ip A suspected IP address
 	 * @return integer|bool Upon success, '4' or '6' to represent a IPv4 or IPv6 address, false upon failure
 	 */
-	static function is_ip_address( $maybe_ip ) {
+	public static function is_ip_address( $maybe_ip ) {
 		if ( preg_match( '/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $maybe_ip ) )
 			return 4;
 
@@ -779,11 +809,11 @@ class WP_Http_Streams {
 	 * @since 3.7.0 Combined with the fsockopen transport and switched to stream_socket_client().
 	 *
 	 * @access public
-	 * @param string $url URI resource.
+	 * @param string $url The request URL.
 	 * @param string|array $args Optional. Override the defaults.
-	 * @return array 'headers', 'body', 'response', 'cookies' and 'filename' keys.
+	 * @return array|WP_Error Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error
 	 */
-	function request($url, $args = array()) {
+	public function request($url, $args = array()) {
 		$defaults = array(
 			'method' => 'GET', 'timeout' => 5,
 			'redirection' => 5, 'httpversion' => '1.0',
@@ -801,7 +831,7 @@ class WP_Http_Streams {
 			unset($r['headers']['user-agent']);
 		}
 
-		// Construct Cookie: header if any cookies are set
+		// Construct Cookie: header if any cookies are set.
 		WP_Http::buildCookieHeader( $r );
 
 		$arrURL = parse_url($url);
@@ -826,8 +856,11 @@ class WP_Http_Streams {
 			unset( $r['headers']['Host'], $r['headers']['host'] );
 		}
 
-		// Certain versions of PHP have issues with 'localhost' and IPv6, It attempts to connect to ::1,
-		// which fails when the server is not set up for it. For compatibility, always connect to the IPv4 address.
+		/*
+		 * Certain versions of PHP have issues with 'localhost' and IPv6, It attempts to connect
+		 * to ::1, which fails when the server is not set up for it. For compatibility, always
+		 * connect to the IPv4 address.
+		 */
 		if ( 'localhost' == strtolower( $connect_host ) )
 			$connect_host = '127.0.0.1';
 
@@ -872,11 +905,14 @@ class WP_Http_Streams {
 		$utimeout = $timeout == $r['timeout'] ? 0 : 1000000 * $r['timeout'] % 1000000;
 		$connect_timeout = max( $timeout, 1 );
 
-		$connection_error = null; // Store error number
-		$connection_error_str = null; // Store error string
+		// Store error number.
+		$connection_error = null;
+
+		// Store error string.
+		$connection_error_str = null;
 
 		if ( !WP_DEBUG ) {
-			// In the event that the SSL connection fails, silence the many PHP Warnings
+			// In the event that the SSL connection fails, silence the many PHP Warnings.
 			if ( $secure_transport )
 				$error_reporting = error_reporting(0);
 
@@ -896,14 +932,14 @@ class WP_Http_Streams {
 		}
 
 		if ( false === $handle ) {
-			// SSL connection failed due to expired/invalid cert, or, OpenSSL configuration is broken
+			// SSL connection failed due to expired/invalid cert, or, OpenSSL configuration is broken.
 			if ( $secure_transport && 0 === $connection_error && '' === $connection_error_str )
 				return new WP_Error( 'http_request_failed', __( 'The SSL certificate for the host could not be verified.' ) );
 
 			return new WP_Error('http_request_failed', $connection_error . ': ' . $connection_error_str );
 		}
 
-		// Verify that the SSL certificate is valid for this request
+		// Verify that the SSL certificate is valid for this request.
 		if ( $secure_transport && $ssl_verify && ! $proxy->is_enabled() ) {
 			if ( ! self::verify_ssl_certificate( $handle, $arrURL['host'] ) )
 				return new WP_Error( 'http_request_failed', __( 'The SSL certificate for the host could not be verified.' ) );
@@ -959,7 +995,7 @@ class WP_Http_Streams {
 		if ( isset( $r['limit_response_size'] ) )
 			$block_size = min( $block_size, $r['limit_response_size'] );
 
-		// If streaming to a file setup the file handle
+		// If streaming to a file setup the file handle.
 		if ( $r['stream'] ) {
 			if ( ! WP_DEBUG )
 				$stream_handle = @fopen( $r['filename'], 'w+' );
@@ -1025,13 +1061,14 @@ class WP_Http_Streams {
 
 		$response = array(
 			'headers' => $arrHeaders['headers'],
-			'body' => null, // Not yet processed
+			// Not yet processed.
+			'body' => null,
 			'response' => $arrHeaders['response'],
 			'cookies' => $arrHeaders['cookies'],
 			'filename' => $r['filename']
 		);
 
-		// Handle redirects
+		// Handle redirects.
 		if ( false !== ( $redirect_response = WP_HTTP::handle_redirects( $url, $r, $response ) ) )
 			return $redirect_response;
 
@@ -1067,7 +1104,7 @@ class WP_Http_Streams {
 	 * @param string $host The hostname being requested
 	 * @return bool If the cerficiate presented in $stream is valid for $host
 	 */
-	static function verify_ssl_certificate( $stream, $host ) {
+	public static function verify_ssl_certificate( $stream, $host ) {
 		$context_options = stream_context_get_options( $stream );
 
 		if ( empty( $context_options['ssl']['peer_certificate'] ) )
@@ -1077,7 +1114,10 @@ class WP_Http_Streams {
 		if ( ! $cert )
 			return false;
 
-		// If the request is being made to an IP address, we'll validate against IP fields in the cert (if they exist)
+		/*
+		 * If the request is being made to an IP address, we'll validate against IP fields
+		 * in the cert (if they exist)
+		 */
 		$host_type = ( WP_HTTP::is_ip_address( $host ) ? 'ip' : 'dns' );
 
 		$certificate_hostnames = array();
@@ -1089,23 +1129,23 @@ class WP_Http_Streams {
 					$certificate_hostnames[] = strtolower( trim( $match_host ) );
 			}
 		} elseif ( !empty( $cert['subject']['CN'] ) ) {
-			// Only use the CN when the certificate includes no subjectAltName extension
+			// Only use the CN when the certificate includes no subjectAltName extension.
 			$certificate_hostnames[] = strtolower( $cert['subject']['CN'] );
 		}
 
-		// Exact hostname/IP matches
+		// Exact hostname/IP matches.
 		if ( in_array( strtolower( $host ), $certificate_hostnames ) )
 			return true;
 
-		// IP's can't be wildcards, Stop processing
+		// IP's can't be wildcards, Stop processing.
 		if ( 'ip' == $host_type )
 			return false;
 
-		// Test to see if the domain is at least 2 deep for wildcard support
+		// Test to see if the domain is at least 2 deep for wildcard support.
 		if ( substr_count( $host, '.' ) < 2 )
 			return false;
 
-		// Wildcard subdomains certs (*.example.com) are valid for a.example.com but not a.b.example.com
+		// Wildcard subdomains certs (*.example.com) are valid for a.example.com but not a.b.example.com.
 		$wildcard_host = preg_replace( '/^[^.]+\./', '*.', $host );
 
 		return in_array( strtolower( $wildcard_host ), $certificate_hostnames );
@@ -1158,7 +1198,7 @@ class WP_Http_Streams {
  * @deprecated 3.7.0 Please use WP_HTTP::request() directly
  */
 class WP_HTTP_Fsockopen extends WP_HTTP_Streams {
-	// For backwards compatibility for users who are using the class directly
+	// For backwards compatibility for users who are using the class directly.
 }
 
 /**
@@ -1214,11 +1254,11 @@ class WP_Http_Curl {
 	 * @access public
 	 * @since 2.7.0
 	 *
-	 * @param string $url
-	 * @param str|array $args Optional. Override the defaults.
-	 * @return array 'headers', 'body', 'response', 'cookies' and 'filename' keys.
+	 * @param string $url The request URL.
+	 * @param string|array $args Optional. Override the defaults.
+	 * @return array|WP_Error Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error
 	 */
-	function request($url, $args = array()) {
+	public function request($url, $args = array()) {
 		$defaults = array(
 			'method' => 'GET', 'timeout' => 5,
 			'redirection' => 5, 'httpversion' => '1.0',
@@ -1266,8 +1306,10 @@ class WP_Http_Curl {
 			$ssl_verify = apply_filters( 'https_ssl_verify', $ssl_verify );
 		}
 
-		// CURLOPT_TIMEOUT and CURLOPT_CONNECTTIMEOUT expect integers. Have to use ceil since
-		// a value of 0 will allow an unlimited timeout.
+		/*
+		 * CURLOPT_TIMEOUT and CURLOPT_CONNECTTIMEOUT expect integers. Have to use ceil since.
+		 * a value of 0 will allow an unlimited timeout.
+		 */
 		$timeout = (int) ceil( $r['timeout'] );
 		curl_setopt( $handle, CURLOPT_CONNECTTIMEOUT, $timeout );
 		curl_setopt( $handle, CURLOPT_TIMEOUT, $timeout );
@@ -1278,8 +1320,11 @@ class WP_Http_Curl {
 		curl_setopt( $handle, CURLOPT_SSL_VERIFYPEER, $ssl_verify );
 		curl_setopt( $handle, CURLOPT_CAINFO, $r['sslcertificates'] );
 		curl_setopt( $handle, CURLOPT_USERAGENT, $r['user-agent'] );
-		// The option doesn't work with safe mode or when open_basedir is set, and there's a
-		// bug #17490 with redirected POST requests, so handle redirections outside Curl.
+
+		/*
+		 * The option doesn't work with safe mode or when open_basedir is set, and there's
+		 * a bug #17490 with redirected POST requests, so handle redirections outside Curl.
+		 */
 		curl_setopt( $handle, CURLOPT_FOLLOWLOCATION, false );
 		if ( defined( 'CURLOPT_PROTOCOLS' ) ) // PHP 5.2.10 / cURL 7.19.4
 			curl_setopt( $handle, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS );
@@ -1315,7 +1360,7 @@ class WP_Http_Curl {
 		else
 			$this->max_body_length = false;
 
-		// If streaming to a file open a file handle, and setup our curl streaming handler
+		// If streaming to a file open a file handle, and setup our curl streaming handler.
 		if ( $r['stream'] ) {
 			if ( ! WP_DEBUG )
 				$this->stream_handle = @fopen( $r['filename'], 'w+' );
@@ -1328,7 +1373,7 @@ class WP_Http_Curl {
 		}
 
 		if ( !empty( $r['headers'] ) ) {
-			// cURL expects full header strings in each element
+			// cURL expects full header strings in each element.
 			$headers = array();
 			foreach ( $r['headers'] as $name => $value ) {
 				$headers[] = "{$name}: $value";
@@ -1351,7 +1396,7 @@ class WP_Http_Curl {
 		 *
 		 * @param resource &$handle The cURL handle returned by curl_init().
 		 * @param array    $r       The HTTP request arguments.
-		 * @param string   $url     The destination URL.
+		 * @param string   $url     The request URL.
 		 */
 		do_action_ref_array( 'http_api_curl', array( &$handle, $r, $url ) );
 
@@ -1372,7 +1417,7 @@ class WP_Http_Curl {
 			return array( 'headers' => array(), 'body' => '', 'response' => array('code' => false, 'message' => false), 'cookies' => array() );
 		}
 
-		$theResponse = curl_exec( $handle );
+		curl_exec( $handle );
 		$theHeaders = WP_Http::processHeaders( $this->headers, $url );
 		$theBody = $this->body;
 
@@ -1381,7 +1426,7 @@ class WP_Http_Curl {
 
 		$curl_error = curl_errno( $handle );
 
-		// If an error occured, or, no response
+		// If an error occurred, or, no response.
 		if ( $curl_error || ( 0 == strlen( $theBody ) && empty( $theHeaders['headers'] ) ) ) {
 			if ( CURLE_WRITE_ERROR /* 23 */ == $curl_error &&  $r['stream'] ) {
 				fclose( $this->stream_handle );
@@ -1414,7 +1459,7 @@ class WP_Http_Curl {
 			'filename' => $r['filename']
 		);
 
-		// Handle redirects
+		// Handle redirects.
 		if ( false !== ( $redirect_response = WP_HTTP::handle_redirects( $url, $r, $response ) ) )
 			return $redirect_response;
 
@@ -1463,7 +1508,7 @@ class WP_Http_Curl {
 			$bytes_written = $data_length;
 		}
 
-		// Upon event of this function returning less than strlen( $data ) curl will error with CURLE_WRITE_ERROR
+		// Upon event of this function returning less than strlen( $data ) curl will error with CURLE_WRITE_ERROR.
 		return $bytes_written;
 	}
 
@@ -1483,7 +1528,8 @@ class WP_Http_Curl {
 
 		if ( $is_ssl ) {
 			$curl_version = curl_version();
-			if ( ! (CURL_VERSION_SSL & $curl_version['features']) ) // Does this cURL version support SSL requests?
+			// Check whether this cURL version support SSL requests.
+			if ( ! (CURL_VERSION_SSL & $curl_version['features']) )
 				return false;
 		}
 
@@ -1543,7 +1589,7 @@ class WP_HTTP_Proxy {
 	 *
 	 * @return bool
 	 */
-	function is_enabled() {
+	public function is_enabled() {
 		return defined('WP_PROXY_HOST') && defined('WP_PROXY_PORT');
 	}
 
@@ -1557,7 +1603,7 @@ class WP_HTTP_Proxy {
 	 *
 	 * @return bool
 	 */
-	function use_authentication() {
+	public function use_authentication() {
 		return defined('WP_PROXY_USERNAME') && defined('WP_PROXY_PASSWORD');
 	}
 
@@ -1568,7 +1614,7 @@ class WP_HTTP_Proxy {
 	 *
 	 * @return string
 	 */
-	function host() {
+	public function host() {
 		if ( defined('WP_PROXY_HOST') )
 			return WP_PROXY_HOST;
 
@@ -1582,7 +1628,7 @@ class WP_HTTP_Proxy {
 	 *
 	 * @return string
 	 */
-	function port() {
+	public function port() {
 		if ( defined('WP_PROXY_PORT') )
 			return WP_PROXY_PORT;
 
@@ -1596,7 +1642,7 @@ class WP_HTTP_Proxy {
 	 *
 	 * @return string
 	 */
-	function username() {
+	public function username() {
 		if ( defined('WP_PROXY_USERNAME') )
 			return WP_PROXY_USERNAME;
 
@@ -1610,7 +1656,7 @@ class WP_HTTP_Proxy {
 	 *
 	 * @return string
 	 */
-	function password() {
+	public function password() {
 		if ( defined('WP_PROXY_PASSWORD') )
 			return WP_PROXY_PASSWORD;
 
@@ -1624,7 +1670,7 @@ class WP_HTTP_Proxy {
 	 *
 	 * @return string
 	 */
-	function authentication() {
+	public function authentication() {
 		return $this->username() . ':' . $this->password();
 	}
 
@@ -1635,7 +1681,7 @@ class WP_HTTP_Proxy {
 	 *
 	 * @return string
 	 */
-	function authentication_header() {
+	public function authentication_header() {
 		return 'Proxy-Authorization: Basic ' . base64_encode( $this->authentication() );
 	}
 
@@ -1652,9 +1698,11 @@ class WP_HTTP_Proxy {
 	 * @param string $uri URI to check.
 	 * @return bool True, to send through the proxy and false if, the proxy should not be used.
 	 */
-	function send_through_proxy( $uri ) {
-		// parse_url() only handles http, https type URLs, and will emit E_WARNING on failure.
-		// This will be displayed on blogs, which is not reasonable.
+	public function send_through_proxy( $uri ) {
+		/*
+		 * parse_url() only handles http, https type URLs, and will emit E_WARNING on failure.
+		 * This will be displayed on blogs, which is not reasonable.
+		 */
 		$check = @parse_url($uri);
 
 		// Malformed URL, can not process, but this could mean ssl, so let through anyway.
@@ -1680,7 +1728,7 @@ class WP_HTTP_Proxy {
 		if ( ! is_null( $result ) )
 			return $result;
 
-		if ( $check['host'] == 'localhost' || $check['host'] == $home['host'] )
+		if ( 'localhost' == $check['host'] || ( isset( $home['host'] ) && $home['host'] == $check['host'] ) )
 			return false;
 
 		if ( !defined('WP_PROXY_BYPASS_HOSTS') )
@@ -1726,7 +1774,7 @@ class WP_Http_Cookie {
 	 * @since 2.8.0
 	 * @var string
 	 */
-	var $name;
+	public $name;
 
 	/**
 	 * Cookie value.
@@ -1734,7 +1782,7 @@ class WP_Http_Cookie {
 	 * @since 2.8.0
 	 * @var string
 	 */
-	var $value;
+	public $value;
 
 	/**
 	 * When the cookie expires.
@@ -1742,7 +1790,7 @@ class WP_Http_Cookie {
 	 * @since 2.8.0
 	 * @var string
 	 */
-	var $expires;
+	public $expires;
 
 	/**
 	 * Cookie URL path.
@@ -1750,7 +1798,7 @@ class WP_Http_Cookie {
 	 * @since 2.8.0
 	 * @var string
 	 */
-	var $path;
+	public $path;
 
 	/**
 	 * Cookie Domain.
@@ -1758,7 +1806,7 @@ class WP_Http_Cookie {
 	 * @since 2.8.0
 	 * @var string
 	 */
-	var $domain;
+	public $domain;
 
 	/**
 	 * Sets up this cookie object.
@@ -1766,23 +1814,23 @@ class WP_Http_Cookie {
 	 * The parameter $data should be either an associative array containing the indices names below
 	 * or a header string detailing it.
 	 *
-	 * If it's an array, it should include the following elements:
-	 * <ol>
-	 * <li>Name</li>
-	 * <li>Value - should NOT be urlencoded already.</li>
-	 * <li>Expires - (optional) String or int (UNIX timestamp).</li>
-	 * <li>Path (optional)</li>
-	 * <li>Domain (optional)</li>
-	 * <li>Port (optional)</li>
-	 * </ol>
-	 *
-	 * @access public
 	 * @since 2.8.0
+	 * @access public
 	 *
-	 * @param string|array $data Raw cookie data.
-	 * @param string $requested_url The URL which the cookie was set on, used for default 'domain' and 'port' values
+	 * @param string|array $data {
+	 *     Raw cookie data as header string or data array.
+	 *
+	 *     @type string     $name    Cookie name.
+	 *     @type mixed      $value   Value. Should NOT already be urlencoded.
+	 *     @type string|int $expires Optional. Unix timestamp or formatted date. Default null.
+	 *     @type string     $path    Optional. Path. Default '/'.
+	 *     @type string     $domain  Optional. Domain. Default host of parsed $requested_url.
+	 *     @type int        $port    Optional. Port. Default null.
+	 * }
+	 * @param string       $requested_url The URL which the cookie was set on, used for default $domain
+	 *                                    and $port values.
 	 */
-	function __construct( $data, $requested_url = '' ) {
+	public function __construct( $data, $requested_url = '' ) {
 		if ( $requested_url )
 			$arrURL = @parse_url( $requested_url );
 		if ( isset( $arrURL['host'] ) )
@@ -1792,20 +1840,24 @@ class WP_Http_Cookie {
 			$this->path = dirname( $this->path ) . '/';
 
 		if ( is_string( $data ) ) {
-			// Assume it's a header string direct from a previous request
+			// Assume it's a header string direct from a previous request.
 			$pairs = explode( ';', $data );
 
-			// Special handling for first pair; name=value. Also be careful of "=" in value
+			// Special handling for first pair; name=value. Also be careful of "=" in value.
 			$name  = trim( substr( $pairs[0], 0, strpos( $pairs[0], '=' ) ) );
 			$value = substr( $pairs[0], strpos( $pairs[0], '=' ) + 1 );
 			$this->name  = $name;
 			$this->value = urldecode( $value );
-			array_shift( $pairs ); //Removes name=value from items.
 
-			// Set everything else as a property
+			// Removes name=value from items.
+			array_shift( $pairs );
+
+			// Set everything else as a property.
 			foreach ( $pairs as $pair ) {
 				$pair = rtrim($pair);
-				if ( empty($pair) ) //Handles the cookie ending in ; which results in a empty final pair
+
+				// Handle the cookie ending in ; which results in a empty final pair.
+				if ( empty($pair) )
 					continue;
 
 				list( $key, $val ) = strpos( $pair, '=' ) ? explode( '=', $pair ) : array( $pair, '' );
@@ -1818,7 +1870,7 @@ class WP_Http_Cookie {
 			if ( !isset( $data['name'] ) )
 				return false;
 
-			// Set properties based directly on parameters
+			// Set properties based directly on parameters.
 			foreach ( array( 'name', 'value', 'path', 'domain', 'port' ) as $field ) {
 				if ( isset( $data[ $field ] ) )
 					$this->$field = $data[ $field ];
@@ -1842,36 +1894,36 @@ class WP_Http_Cookie {
 	 * @param string $url URL you intend to send this cookie to
 	 * @return boolean true if allowed, false otherwise.
 	 */
-	function test( $url ) {
+	public function test( $url ) {
 		if ( is_null( $this->name ) )
 			return false;
 
-		// Expires - if expired then nothing else matters
+		// Expires - if expired then nothing else matters.
 		if ( isset( $this->expires ) && time() > $this->expires )
 			return false;
 
-		// Get details on the URL we're thinking about sending to
+		// Get details on the URL we're thinking about sending to.
 		$url = parse_url( $url );
 		$url['port'] = isset( $url['port'] ) ? $url['port'] : ( 'https' == $url['scheme'] ? 443 : 80 );
 		$url['path'] = isset( $url['path'] ) ? $url['path'] : '/';
 
-		// Values to use for comparison against the URL
+		// Values to use for comparison against the URL.
 		$path   = isset( $this->path )   ? $this->path   : '/';
 		$port   = isset( $this->port )   ? $this->port   : null;
 		$domain = isset( $this->domain ) ? strtolower( $this->domain ) : strtolower( $url['host'] );
 		if ( false === stripos( $domain, '.' ) )
 			$domain .= '.local';
 
-		// Host - very basic check that the request URL ends with the domain restriction (minus leading dot)
+		// Host - very basic check that the request URL ends with the domain restriction (minus leading dot).
 		$domain = substr( $domain, 0, 1 ) == '.' ? substr( $domain, 1 ) : $domain;
 		if ( substr( $url['host'], -strlen( $domain ) ) != $domain )
 			return false;
 
-		// Port - supports "port-lists" in the format: "80,8000,8080"
+		// Port - supports "port-lists" in the format: "80,8000,8080".
 		if ( !empty( $port ) && !in_array( $url['port'], explode( ',', $port) ) )
 			return false;
 
-		// Path - request path must start with path restriction
+		// Path - request path must start with path restriction.
 		if ( substr( $url['path'], 0, strlen( $path ) ) != $path )
 			return false;
 
@@ -1886,7 +1938,7 @@ class WP_Http_Cookie {
 	 *
 	 * @return string Header encoded cookie name and value.
 	 */
-	function getHeaderValue() {
+	public function getHeaderValue() {
 		if ( ! isset( $this->name ) || ! isset( $this->value ) )
 			return '';
 
@@ -1909,7 +1961,7 @@ class WP_Http_Cookie {
 	 *
 	 * @return string
 	 */
-	function getFullHeader() {
+	public function getFullHeader() {
 		return 'Cookie: ' . $this->getHeaderValue();
 	}
 }
@@ -2001,7 +2053,7 @@ class WP_Http_Encoding {
 	 */
 	public static function compatible_gzinflate($gzData) {
 
-		// Compressed data might contain a full header, if so strip it for gzinflate()
+		// Compressed data might contain a full header, if so strip it for gzinflate().
 		if ( substr($gzData, 0, 3) == "\x1f\x8b\x08" ) {
 			$i = 10;
 			$flg = ord( substr($gzData, 3, 1) );
@@ -2041,11 +2093,11 @@ class WP_Http_Encoding {
 		$type = array();
 		$compression_enabled = WP_Http_Encoding::is_available();
 
-		if ( ! $args['decompress'] ) // decompression specifically disabled
+		if ( ! $args['decompress'] ) // Decompression specifically disabled.
 			$compression_enabled = false;
-		elseif ( $args['stream'] ) // disable when streaming to file
+		elseif ( $args['stream'] ) // Disable when streaming to file.
 			$compression_enabled = false;
-		elseif ( isset( $args['limit_response_size'] ) ) // If only partial content is being requested, we won't be able to decompress it
+		elseif ( isset( $args['limit_response_size'] ) ) // If only partial content is being requested, we won't be able to decompress it.
 			$compression_enabled = false;
 
 		if ( $compression_enabled ) {
diff --git a/wp-includes/class-oembed.php b/wp-includes/class-oembed.php
index 353837ff2..b6bfeb75d 100644
--- a/wp-includes/class-oembed.php
+++ b/wp-includes/class-oembed.php
@@ -18,52 +18,132 @@
  * @since 2.9.0
  */
 class WP_oEmbed {
-	var $providers = array();
+	public $providers = array();
+	public static $early_providers = array();
 
 	/**
 	 * Constructor
 	 *
-	 * @uses apply_filters() Filters a list of pre-defined oEmbed providers.
+	 * @since 2.9.0
 	 */
-	function __construct() {
+	public function __construct() {
 		$providers = array(
 			'#http://(www\.)?youtube\.com/watch.*#i'              => array( 'http://www.youtube.com/oembed',                      true  ),
 			'#https://(www\.)?youtube\.com/watch.*#i'             => array( 'http://www.youtube.com/oembed?scheme=https',         true  ),
+			'#http://(www\.)?youtube\.com/playlist.*#i'           => array( 'http://www.youtube.com/oembed',                      true  ),
+			'#https://(www\.)?youtube\.com/playlist.*#i'          => array( 'http://www.youtube.com/oembed?scheme=https',         true  ),
 			'#http://youtu\.be/.*#i'                              => array( 'http://www.youtube.com/oembed',                      true  ),
 			'#https://youtu\.be/.*#i'                             => array( 'http://www.youtube.com/oembed?scheme=https',         true  ),
 			'http://blip.tv/*'                                    => array( 'http://blip.tv/oembed/',                             false ),
 			'#https?://(.+\.)?vimeo\.com/.*#i'                    => array( 'http://vimeo.com/api/oembed.{format}',               true  ),
 			'#https?://(www\.)?dailymotion\.com/.*#i'             => array( 'http://www.dailymotion.com/services/oembed',         true  ),
 			'http://dai.ly/*'                                     => array( 'http://www.dailymotion.com/services/oembed',         false ),
-			'#https?://(www\.)?flickr\.com/.*#i'                  => array( 'http://www.flickr.com/services/oembed/',             true  ),
-			'http://flic.kr/*'                                    => array( 'http://www.flickr.com/services/oembed/',             false ),
+			'#https?://(www\.)?flickr\.com/.*#i'                  => array( 'https://www.flickr.com/services/oembed/',            true  ),
+			'#https?://flic\.kr/.*#i'                             => array( 'https://www.flickr.com/services/oembed/',            true  ),
 			'#https?://(.+\.)?smugmug\.com/.*#i'                  => array( 'http://api.smugmug.com/services/oembed/',            true  ),
 			'#https?://(www\.)?hulu\.com/watch/.*#i'              => array( 'http://www.hulu.com/api/oembed.{format}',            true  ),
-			'#https?://(www\.)?viddler\.com/.*#i'                 => array( 'http://lab.viddler.com/services/oembed/',            true  ),
 			'http://revision3.com/*'                              => array( 'http://revision3.com/api/oembed/',                   false ),
 			'http://i*.photobucket.com/albums/*'                  => array( 'http://photobucket.com/oembed',                      false ),
 			'http://gi*.photobucket.com/groups/*'                 => array( 'http://photobucket.com/oembed',                      false ),
-			'#https?://(www\.)?scribd\.com/.*#i'                  => array( 'http://www.scribd.com/services/oembed',              true  ),
-			'http://wordpress.tv/*'                               => array( 'http://wordpress.tv/oembed/',                        false ),
-			'#https?://(.+\.)?polldaddy\.com/.*#i'                => array( 'http://polldaddy.com/oembed/',                       true  ),
+			'#https?://(www\.)?scribd\.com/doc/.*#i'              => array( 'http://www.scribd.com/services/oembed',              true  ),
+			'#https?://wordpress.tv/.*#i'                         => array( 'http://wordpress.tv/oembed/',                        true ),
+			'#https?://(.+\.)?polldaddy\.com/.*#i'                => array( 'https://polldaddy.com/oembed/',                      true  ),
+			'#https?://poll\.fm/.*#i'                             => array( 'https://polldaddy.com/oembed/',                      true  ),
 			'#https?://(www\.)?funnyordie\.com/videos/.*#i'       => array( 'http://www.funnyordie.com/oembed',                   true  ),
 			'#https?://(www\.)?twitter\.com/.+?/status(es)?/.*#i' => array( 'https://api.twitter.com/1/statuses/oembed.{format}', true  ),
  			'#https?://(www\.)?soundcloud\.com/.*#i'              => array( 'http://soundcloud.com/oembed',                       true  ),
-			'#https?://(www\.)?slideshare\.net/*#'                => array( 'http://www.slideshare.net/api/oembed/2',             true  ),
+			'#https?://(www\.)?slideshare\.net/.*#i'              => array( 'https://www.slideshare.net/api/oembed/2',            true  ),
 			'#http://instagr(\.am|am\.com)/p/.*#i'                => array( 'http://api.instagram.com/oembed',                    true  ),
 			'#https?://(www\.)?rdio\.com/.*#i'                    => array( 'http://www.rdio.com/api/oembed/',                    true  ),
 			'#https?://rd\.io/x/.*#i'                             => array( 'http://www.rdio.com/api/oembed/',                    true  ),
 			'#https?://(open|play)\.spotify\.com/.*#i'            => array( 'https://embed.spotify.com/oembed/',                  true  ),
 			'#https?://(.+\.)?imgur\.com/.*#i'                    => array( 'http://api.imgur.com/oembed',                        true  ),
 			'#https?://(www\.)?meetu(\.ps|p\.com)/.*#i'           => array( 'http://api.meetup.com/oembed',                       true  ),
+			'#https?://(www\.)?issuu\.com/.+/docs/.+#i'           => array( 'http://issuu.com/oembed_wp',                         true  ),
+			'#https?://(www\.)?collegehumor\.com/video/.*#i'      => array( 'http://www.collegehumor.com/oembed.{format}',        true  ),
+			'#https?://(www\.)?mixcloud\.com/.*#i'                => array( 'http://www.mixcloud.com/oembed',                     true  ),
+			'#https?://(www\.|embed\.)?ted\.com/talks/.*#i'       => array( 'http://www.ted.com/talks/oembed.{format}',           true  ),
+			'#https?://(www\.)?(animoto|video214)\.com/play/.*#i' => array( 'http://animoto.com/oembeds/create',                  true  ),
 		);
 
+		if ( ! empty( self::$early_providers['add'] ) ) {
+			foreach ( self::$early_providers['add'] as $format => $data ) {
+				$providers[ $format ] = $data;
+			}
+		}
+
+		if ( ! empty( self::$early_providers['remove'] ) ) {
+			foreach ( self::$early_providers['remove'] as $format ) {
+				unset( $providers[ $format ] );
+			}
+		}
+
+		self::$early_providers = array();
+
 		/**
 		 * Filter the list of oEmbed providers.
 		 *
 		 * Discovery is disabled for users lacking the unfiltered_html capability.
 		 * Only providers in this array will be used for those users.
 		 *
+		 * Supported providers:
+		 *
+		 * | ------------ | -------------------- | ----- | --------- |
+		 * |   Provider   |        Flavor        |  SSL  |   Since   |
+		 * | ------------ | -------------------- | ----- | --------- |
+		 * | Blip         | blip.tv              |       | 2.9.0     |
+		 * | Dailymotion  | dailymotion.com      |  Yes  | 2.9.0     |
+		 * | Flickr       | flickr.com           |  Yes  | 2.9.0     |
+		 * | Hulu         | hulu.com             |  Yes  | 2.9.0     |
+		 * | Photobucket  | photobucket.com      |       | 2.9.0     |
+		 * | Revision3    | revision3.com        |       | 2.9.0     |
+		 * | Scribd       | scribd.com           |  Yes  | 2.9.0     |
+		 * | Vimeo        | vimeo.com            |  Yes  | 2.9.0     |
+		 * | WordPress.tv | wordpress.tv         |  Yes  | 2.9.0     |
+		 * | YouTube      | youtube.com/watch    |  Yes  | 2.9.0     |
+		 * | ------------ | -------------------- | ----- | --------- |
+		 * | Funny or Die | funnyordie.com       |  Yes  | 3.0.0     |
+		 * | Polldaddy    | polldaddy.com        |  Yes  | 3.0.0     |
+		 * | SmugMug      | smugmug.com          |  Yes  | 3.0.0     |
+		 * | YouTube      | youtu.be             |  Yes  | 3.0.0     |
+		 * | ------------ | -------------------- | ----- | --------- |
+		 * | Twitter      | twitter.com          |  Yes  | 3.4.0     |
+		 * | ------------ | -------------------- | ----- | --------- |
+		 * | Instagram    | instagram.com        |       | 3.5.0     |
+		 * | Instagram    | instagr.am           |       | 3.5.0     |
+		 * | Slideshare   | slideshare.net       |  Yes  | 3.5.0     |
+		 * | SoundCloud   | soundcloud.com       |  Yes  | 3.5.0     |
+		 * | ------------ | -------------------- | ----- | --------- |
+		 * | Dailymotion  | dai.ly               |       | 3.6.0     |
+		 * | Flickr       | flic.kr              |  Yes  | 3.6.0     |
+		 * | Rdio         | rdio.com             |  Yes  | 3.6.0     |
+		 * | Rdio         | rd.io                |  Yes  | 3.6.0     |
+		 * | Spotify      | spotify.com          |  Yes  | 3.6.0     |
+		 * | ------------ | -------------------- | ----- | --------- |
+		 * | Imgur        | imgur.com            |  Yes  | 3.9.0     |
+		 * | Meetup.com   | meetup.com           |  Yes  | 3.9.0     |
+		 * | Meetup.com   | meetu.ps             |  Yes  | 3.9.0     |
+		 * | ------------ | -------------------- | ----- | --------- |
+		 * | Animoto      | animoto.com          |  Yes  | 4.0.0     |
+		 * | Animoto      | video214.com         |  Yes  | 4.0.0     |
+		 * | CollegeHumor | collegehumor.com     |  Yes  | 4.0.0     |
+		 * | Issuu        | issuu.com            |  Yes  | 4.0.0     |
+		 * | Mixcloud     | mixcloud.com         |  Yes  | 4.0.0     |
+		 * | Polldaddy    | poll.fm              |  Yes  | 4.0.0     |
+		 * | TED          | ted.com              |  Yes  | 4.0.0     |
+		 * | YouTube      | youtube.com/playlist |  Yes  | 4.0.0     |
+		 * | ------------ | -------------------- | ----- | --------- |
+		 *
+		 * No longer supported providers:
+		 *
+		 * | ------------ | -------------------- | ----- | --------- | --------- |
+		 * |   Provider   |        Flavor        |  SSL  |   Since   |  Removed  |
+		 * | ------------ | -------------------- | ----- | --------- | --------- |
+		 * | Qik          | qik.com              |  Yes  | 2.9.0     | 3.9.0     |
+		 * | ------------ | -------------------- | ----- | --------- | --------- |
+		 * | Viddler      | viddler.com          |  Yes  | 2.9.0     | 4.0.0     |
+		 * | ------------ | -------------------- | ----- | --------- | --------- |
+		 *
 		 * @see wp_oembed_add_provider()
 		 *
 		 * @since 2.9.0
@@ -77,17 +157,33 @@ class WP_oEmbed {
 	}
 
 	/**
-	 * The do-it-all function that takes a URL and attempts to return the HTML.
+	 * Make private/protected methods readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param callable $name      Method to call.
+	 * @param array    $arguments Arguments to pass when calling.
+	 * @return mixed|bool Return value of the callback, false otherwise.
+	 */
+	public function __call( $name, $arguments ) {
+		return call_user_func_array( array( $this, $name ), $arguments );
+	}
+
+	/**
+	 * Takes a URL and returns the corresponding oEmbed provider's URL, if there is one.
+	 *
+	 * @since 4.0.0
+	 * @access public
 	 *
 	 * @see WP_oEmbed::discover()
-	 * @see WP_oEmbed::fetch()
-	 * @see WP_oEmbed::data2html()
 	 *
-	 * @param string $url The URL to the content that should be attempted to be embedded.
-	 * @param array $args Optional arguments. Usually passed from a shortcode.
-	 * @return bool|string False on failure, otherwise the UNSANITIZED (and potentially unsafe) HTML that should be used to embed.
+	 * @param string        $url  The URL to the content.
+	 * @param string|array  $args Optional provider arguments.
+	 * @return bool|string False on failure, otherwise the oEmbed provider URL.
 	 */
-	function get_html( $url, $args = '' ) {
+	public function get_provider( $url, $args = '' ) {
+
 		$provider = false;
 
 		if ( !isset($args['discover']) )
@@ -111,6 +207,71 @@ class WP_oEmbed {
 		if ( !$provider && $args['discover'] )
 			$provider = $this->discover( $url );
 
+		return $provider;
+	}
+
+	/**
+	 * Add an oEmbed provider just-in-time when wp_oembed_add_provider() is called
+	 * before the 'plugins_loaded' hook.
+	 *
+	 * The just-in-time addition is for the benefit of the 'oembed_providers' filter.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 * @static
+	 *
+	 * @see wp_oembed_add_provider()
+	 *
+	 * @param string $format   Format of URL that this provider can handle. You can use
+	 *                         asterisks as wildcards.
+	 * @param string $provider The URL to the oEmbed provider..
+	 * @param bool   $regex    Optional. Whether the $format parameter is in a regex format.
+	 *                         Default false.
+	 */
+	public static function _add_provider_early( $format, $provider, $regex = false ) {
+		if ( empty( self::$early_providers['add'] ) ) {
+			self::$early_providers['add'] = array();
+		}
+
+		self::$early_providers['add'][ $format ] = array( $provider, $regex );
+	}
+
+	/**
+	 * Remove an oEmbed provider just-in-time when wp_oembed_remove_provider() is called
+	 * before the 'plugins_loaded' hook.
+	 *
+	 * The just-in-time removal is for the benefit of the 'oembed_providers' filter.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 * @static
+	 *
+	 * @see wp_oembed_remove_provider()
+	 *
+	 * @param string $format The format of URL that this provider can handle. You can use
+	 *                       asterisks as wildcards.
+	 */
+	public static function _remove_provider_early( $format ) {
+		if ( empty( self::$early_providers['remove'] ) ) {
+			self::$early_providers['remove'] = array();
+		}
+
+		self::$early_providers['remove'][] = $format;
+	}
+
+	/**
+	 * The do-it-all function that takes a URL and attempts to return the HTML.
+	 *
+	 * @see WP_oEmbed::fetch()
+	 * @see WP_oEmbed::data2html()
+	 *
+	 * @param string $url The URL to the content that should be attempted to be embedded.
+	 * @param array $args Optional arguments. Usually passed from a shortcode.
+	 * @return bool|string False on failure, otherwise the UNSANITIZED (and potentially unsafe) HTML that should be used to embed.
+	 */
+	function get_html( $url, $args = '' ) {
+		$provider = $this->get_provider( $url, $args );
+
 		if ( !$provider || false === $data = $this->fetch( $provider, $url, $args ) )
 			return false;
 
@@ -132,11 +293,23 @@ class WP_oEmbed {
 	 * @param string $url The URL that should be inspected for discovery <link> tags.
 	 * @return bool|string False on failure, otherwise the oEmbed provider URL.
 	 */
-	function discover( $url ) {
+	public function discover( $url ) {
 		$providers = array();
 
+		/**
+		 * Filter oEmbed remote get arguments.
+		 *
+		 * @since 4.0.0
+		 *
+		 * @see WP_Http::request()
+		 *
+		 * @param array  $args oEmbed remote get arguments.
+		 * @param string $url  URL to be inspected.
+		 */
+		$args = apply_filters( 'oembed_remote_get_args', array(), $url );
+
 		// Fetch URL content
-		$request = wp_safe_remote_get( $url );
+		$request = wp_safe_remote_get( $url, $args );
 		if ( $html = wp_remote_retrieve_body( $request ) ) {
 
 			/**
@@ -198,8 +371,8 @@ class WP_oEmbed {
 	 * @param array $args Optional arguments. Usually passed from a shortcode.
 	 * @return bool|object False on failure, otherwise the result in the form of an object.
 	 */
-	function fetch( $provider, $url, $args = '' ) {
-		$args = wp_parse_args( $args, wp_embed_defaults() );
+	public function fetch( $provider, $url, $args = '' ) {
+		$args = wp_parse_args( $args, wp_embed_defaults( $url ) );
 
 		$provider = add_query_arg( 'maxwidth', (int) $args['width'], $provider );
 		$provider = add_query_arg( 'maxheight', (int) $args['height'], $provider );
@@ -234,9 +407,13 @@ class WP_oEmbed {
 	 * @param string $format Format to use
 	 * @return bool|object False on failure, otherwise the result in the form of an object.
 	 */
-	function _fetch_with_format( $provider_url_with_args, $format ) {
+	private function _fetch_with_format( $provider_url_with_args, $format ) {
 		$provider_url_with_args = add_query_arg( 'format', $format, $provider_url_with_args );
-		$response = wp_safe_remote_get( $provider_url_with_args );
+
+		/** This filter is documented in wp-includes/class-oembed.php */
+		$args = apply_filters( 'oembed_remote_get_args', array(), $provider_url_with_args );
+
+		$response = wp_safe_remote_get( $provider_url_with_args, $args );
 		if ( 501 == wp_remote_retrieve_response_code( $response ) )
 			return new WP_Error( 'not-implemented' );
 		if ( ! $body = wp_remote_retrieve_body( $response ) )
@@ -251,7 +428,7 @@ class WP_oEmbed {
 	 * @since 3.0.0
 	 * @access private
 	 */
-	function _parse_json( $response_body ) {
+	private function _parse_json( $response_body ) {
 		return ( ( $data = json_decode( trim( $response_body ) ) ) && is_object( $data ) ) ? $data : false;
 	}
 
@@ -261,7 +438,7 @@ class WP_oEmbed {
 	 * @since 3.0.0
 	 * @access private
 	 */
-	function _parse_xml( $response_body ) {
+	private function _parse_xml( $response_body ) {
 		if ( ! function_exists( 'libxml_disable_entity_loader' ) )
 			return false;
 
@@ -318,7 +495,7 @@ class WP_oEmbed {
 	 * @param string $url The URL to the content that is desired to be embedded.
 	 * @return bool|string False on error, otherwise the HTML needed to embed.
 	 */
-	function data2html( $data, $url ) {
+	public function data2html( $data, $url ) {
 		if ( ! is_object( $data ) || empty( $data->type ) )
 			return false;
 
@@ -373,7 +550,7 @@ class WP_oEmbed {
 	 * @param string $url The original URL passed to oEmbed.
 	 * @return string Possibly modified $html
 	 */
-	function _strip_newlines( $html, $data, $url ) {
+	private function _strip_newlines( $html, $data, $url ) {
 		if ( false !== strpos( $html, "\n" ) )
 			$html = str_replace( array( "\r\n", "\n" ), '', $html );
 
diff --git a/wp-includes/class-simplepie.php b/wp-includes/class-simplepie.php
index ba6f28dba..64f9fa9be 100644
--- a/wp-includes/class-simplepie.php
+++ b/wp-includes/class-simplepie.php
@@ -26,7 +26,7 @@ function wp_simplepie_autoload( $class ) {
 		return;
 
 	$file = ABSPATH . WPINC . '/' . str_replace( '_', '/', $class ) . '.php';
-	include $file;
+	include( $file );
 }
 
 if ( function_exists( 'spl_autoload_register' ) ) {
@@ -1612,7 +1612,7 @@ class SimplePie
 	}
 
 	/**
-	 * Get the error message for the occured error
+	 * Get the error message for the occurred error.
 	 *
 	 * @return string|array Error message, or array of messages for multifeeds
 	 */
diff --git a/wp-includes/class-wp-admin-bar.php b/wp-includes/class-wp-admin-bar.php
index 050b0f1c0..749e48de7 100644
--- a/wp-includes/class-wp-admin-bar.php
+++ b/wp-includes/class-wp-admin-bar.php
@@ -16,11 +16,10 @@ class WP_Admin_Bar {
 		switch ( $name ) {
 			case 'proto' :
 				return is_ssl() ? 'https://' : 'http://';
-				break;
+
 			case 'menu' :
 				_deprecated_argument( 'WP_Admin_Bar', '3.3', 'Modify admin bar nodes with WP_Admin_Bar::get_node(), WP_Admin_Bar::add_node(), and WP_Admin_Bar::remove_node(), not the <code>menu</code> property.' );
 				return array(); // Sorry, folks.
-				break;
 		}
 	}
 
diff --git a/wp-includes/class-wp-ajax-response.php b/wp-includes/class-wp-ajax-response.php
index 24eb687f1..7bed81c7b 100644
--- a/wp-includes/class-wp-ajax-response.php
+++ b/wp-includes/class-wp-ajax-response.php
@@ -13,7 +13,7 @@ class WP_Ajax_Response {
 	 * @var array
 	 * @access private
 	 */
-	var $responses = array();
+	private $responses = array();
 
 	/**
 	 * Constructor - Passes args to {@link WP_Ajax_Response::add()}.
@@ -24,11 +24,63 @@ class WP_Ajax_Response {
 	 * @param string|array $args Optional. Will be passed to add() method.
 	 * @return WP_Ajax_Response
 	 */
-	function __construct( $args = '' ) {
+	public function __construct( $args = '' ) {
 		if ( !empty($args) )
 			$this->add($args);
 	}
 
+	/**
+	 * Make private properties readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to get.
+	 * @return mixed Property.
+	 */
+	public function __get( $name ) {
+		return $this->$name;
+	}
+
+	/**
+	 * Make private properties settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name  Property to set.
+	 * @param mixed  $value Property value.
+	 * @return mixed Newly-set property.
+	 */
+	public function __set( $name, $value ) {
+		return $this->$name = $value;
+	}
+
+	/**
+	 * Make private properties checkable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to check if set.
+	 * @return bool Whether the property is set.
+	 */
+	public function __isset( $name ) {
+		return isset( $this->$name );
+	}
+
+	/**
+	 * Make private properties un-settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to unset.
+	 */
+	public function __unset( $name ) {
+		unset( $this->$name );
+	}
+
 	/**
 	 * Append to XML response based on given arguments.
 	 *
@@ -52,7 +104,7 @@ class WP_Ajax_Response {
 	 * @param string|array $args Override defaults.
 	 * @return string XML response.
 	 */
-	function add( $args = '' ) {
+	public function add( $args = '' ) {
 		$defaults = array(
 			'what' => 'object', 'action' => false,
 			'id' => '0', 'old_id' => false,
@@ -61,33 +113,40 @@ class WP_Ajax_Response {
 		);
 
 		$r = wp_parse_args( $args, $defaults );
-		extract( $r, EXTR_SKIP );
-		$position = preg_replace( '/[^a-z0-9:_-]/i', '', $position );
 
-		if ( is_wp_error($id) ) {
+		$position = preg_replace( '/[^a-z0-9:_-]/i', '', $r['position'] );
+		$id = $r['id'];
+		$what = $r['what'];
+		$action = $r['action'];
+		$old_id = $r['old_id'];
+		$data = $r['data'];
+
+		if ( is_wp_error( $id ) ) {
 			$data = $id;
 			$id = 0;
 		}
 
 		$response = '';
-		if ( is_wp_error($data) ) {
+		if ( is_wp_error( $data ) ) {
 			foreach ( (array) $data->get_error_codes() as $code ) {
-				$response .= "<wp_error code='$code'><![CDATA[" . $data->get_error_message($code) . "]]></wp_error>";
-				if ( !$error_data = $data->get_error_data($code) )
+				$response .= "<wp_error code='$code'><![CDATA[" . $data->get_error_message( $code ) . "]]></wp_error>";
+				if ( ! $error_data = $data->get_error_data( $code ) ) {
 					continue;
+				}
 				$class = '';
-				if ( is_object($error_data) ) {
-					$class = ' class="' . get_class($error_data) . '"';
-					$error_data = get_object_vars($error_data);
+				if ( is_object( $error_data ) ) {
+					$class = ' class="' . get_class( $error_data ) . '"';
+					$error_data = get_object_vars( $error_data );
 				}
 
 				$response .= "<wp_error_data code='$code'$class>";
 
-				if ( is_scalar($error_data) ) {
+				if ( is_scalar( $error_data ) ) {
 					$response .= "<![CDATA[$error_data]]>";
-				} elseif ( is_array($error_data) ) {
-					foreach ( $error_data as $k => $v )
+				} elseif ( is_array( $error_data ) ) {
+					foreach ( $error_data as $k => $v ) {
 						$response .= "<$k><![CDATA[$v]]></$k>";
+					}
 				}
 
 				$response .= "</wp_error_data>";
@@ -97,15 +156,16 @@ class WP_Ajax_Response {
 		}
 
 		$s = '';
-		if ( is_array($supplemental) ) {
-			foreach ( $supplemental as $k => $v )
+		if ( is_array( $r['supplemental'] ) ) {
+			foreach ( $r['supplemental'] as $k => $v ) {
 				$s .= "<$k><![CDATA[$v]]></$k>";
+			}
 			$s = "<supplemental>$s</supplemental>";
 		}
 
-		if ( false === $action )
+		if ( false === $action ) {
 			$action = $_POST['action'];
-
+		}
 		$x = '';
 		$x .= "<response action='{$action}_$id'>"; // The action attribute in the xml output is formatted like a nonce action
 		$x .=	"<$what id='$id' " . ( false === $old_id ? '' : "old_id='$old_id' " ) . "position='$position'>";
@@ -125,7 +185,7 @@ class WP_Ajax_Response {
 	 *
 	 * @since 2.1.0
 	 */
-	function send() {
+	public function send() {
 		header( 'Content-Type: text/xml; charset=' . get_option( 'blog_charset' ) );
 		echo "<?xml version='1.0' encoding='" . get_option( 'blog_charset' ) . "' standalone='yes'?><wp_ajax>";
 		foreach ( (array) $this->responses as $response )
diff --git a/wp-includes/class-wp-customize-control.php b/wp-includes/class-wp-customize-control.php
index df440744b..216ceafbf 100644
--- a/wp-includes/class-wp-customize-control.php
+++ b/wp-includes/class-wp-customize-control.php
@@ -53,6 +53,12 @@ class WP_Customize_Control {
 	 */
 	public $label = '';
 
+	/**
+	 * @access public
+	 * @var string
+	 */
+	public $description = '';
+
 	/**
 	 * @todo: Remove choices
 	 *
@@ -61,6 +67,12 @@ class WP_Customize_Control {
 	 */
 	public $choices = array();
 
+	/**
+	 * @access public
+	 * @var array
+	 */
+	public $input_attrs = array();
+
 	/**
 	 * @access public
 	 * @var array
@@ -73,6 +85,20 @@ class WP_Customize_Control {
 	 */
 	public $type = 'text';
 
+	/**
+	 * Callback.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @see WP_Customize_Control::active()
+	 *
+	 * @var callable Callback is called with one argument, the instance of
+	 *               WP_Customize_Control, and returns bool to indicate whether
+	 *               the control is active (such as it relates to the URL
+	 *               currently being previewed).
+	 */
+	public $active_callback = '';
 
 	/**
 	 * Constructor.
@@ -87,19 +113,24 @@ class WP_Customize_Control {
 	 * @param string $id
 	 * @param array $args
 	 */
-	function __construct( $manager, $id, $args = array() ) {
+	public function __construct( $manager, $id, $args = array() ) {
 		$keys = array_keys( get_object_vars( $this ) );
 		foreach ( $keys as $key ) {
-			if ( isset( $args[ $key ] ) )
+			if ( isset( $args[ $key ] ) ) {
 				$this->$key = $args[ $key ];
+			}
 		}
 
 		$this->manager = $manager;
 		$this->id = $id;
+		if ( empty( $this->active_callback ) ) {
+			$this->active_callback = array( $this, 'active_callback' );
+		}
 
 		// Process settings.
-		if ( empty( $this->settings ) )
+		if ( empty( $this->settings ) ) {
 			$this->settings = $id;
+		}
 
 		$settings = array();
 		if ( is_array( $this->settings ) ) {
@@ -120,6 +151,45 @@ class WP_Customize_Control {
 	 */
 	public function enqueue() {}
 
+	/**
+	 * Check whether control is active to current customizer preview.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @return bool Whether the control is active to the current preview.
+	 */
+	public final function active() {
+		$control = $this;
+		$active = call_user_func( $this->active_callback, $this );
+
+		/**
+		 * Filter response of WP_Customize_Control::active().
+		 *
+		 * @since 4.0.0
+		 *
+		 * @param bool                 $active  Whether the Customizer control is active.
+		 * @param WP_Customize_Control $control WP_Customize_Control instance.
+		 */
+		$active = apply_filters( 'customize_control_active', $active, $control );
+
+		return $active;
+	}
+
+	/**
+	 * Default callback used when invoking WP_Customize_Control::active().
+	 *
+	 * Subclasses can override this with their specific logic, or they may
+	 * provide an 'active_callback' argument to the constructor.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @return bool Always true.
+	 */
+	public function active_callback() {
+		return true;
+	}
 
 	/**
 	 * Fetch a setting's value.
@@ -131,8 +201,9 @@ class WP_Customize_Control {
 	 * @return mixed The requested setting's value, if the setting exists.
 	 */
 	public final function value( $setting_key = 'default' ) {
-		if ( isset( $this->settings[ $setting_key ] ) )
+		if ( isset( $this->settings[ $setting_key ] ) ) {
 			return $this->settings[ $setting_key ]->value();
+		}
 	}
 
 	/**
@@ -147,6 +218,7 @@ class WP_Customize_Control {
 		}
 
 		$this->json['type'] = $this->type;
+		$this->json['active'] = $this->active();
 	}
 
 	/**
@@ -244,30 +316,38 @@ class WP_Customize_Control {
 		echo $this->get_link( $setting_key );
 	}
 
+	/**
+	 * Render the custom attributes for the control's input element.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 */
+	public function input_attrs() {
+		foreach( $this->input_attrs as $attr => $value ) {
+			echo $attr . '="' . esc_attr( $value ) . '" ';
+		}
+	}
+
 	/**
 	 * Render the control's content.
 	 *
 	 * Allows the content to be overriden without having to rewrite the wrapper in $this->render().
 	 *
-	 * Supports basic input types `text`, `checkbox`, `radio`, `select` and `dropdown-pages`.
+	 * Supports basic input types `text`, `checkbox`, `textarea`, `radio`, `select` and `dropdown-pages`.
+	 * Additional input types such as `email`, `url`, `number`, `hidden` and `date` are supported implicitly.
 	 *
 	 * @since 3.4.0
 	 */
 	protected function render_content() {
 		switch( $this->type ) {
-			case 'text':
-				?>
-				<label>
-					<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
-					<input type="text" value="<?php echo esc_attr( $this->value() ); ?>" <?php $this->link(); ?> />
-				</label>
-				<?php
-				break;
 			case 'checkbox':
 				?>
 				<label>
 					<input type="checkbox" value="<?php echo esc_attr( $this->value() ); ?>" <?php $this->link(); checked( $this->value() ); ?> />
 					<?php echo esc_html( $this->label ); ?>
+					<?php if ( ! empty( $this->description ) ) : ?>
+						<span class="description customize-control-description"><?php echo $this->description; ?></span>
+					<?php endif; ?>
 				</label>
 				<?php
 				break;
@@ -277,9 +357,13 @@ class WP_Customize_Control {
 
 				$name = '_customize-radio-' . $this->id;
 
-				?>
-				<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
-				<?php
+				if ( ! empty( $this->label ) ) : ?>
+					<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+				<?php endif;
+				if ( ! empty( $this->description ) ) : ?>
+					<span class="description customize-control-description"><?php echo $this->description ; ?></span>
+				<?php endif;
+
 				foreach ( $this->choices as $value => $label ) :
 					?>
 					<label>
@@ -295,7 +379,13 @@ class WP_Customize_Control {
 
 				?>
 				<label>
-					<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+					<?php if ( ! empty( $this->label ) ) : ?>
+						<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+					<?php endif;
+					if ( ! empty( $this->description ) ) : ?>
+						<span class="description customize-control-description"><?php echo $this->description; ?></span>
+					<?php endif; ?>
+
 					<select <?php $this->link(); ?>>
 						<?php
 						foreach ( $this->choices as $value => $label )
@@ -305,6 +395,19 @@ class WP_Customize_Control {
 				</label>
 				<?php
 				break;
+			case 'textarea':
+				?>
+				<label>
+					<?php if ( ! empty( $this->label ) ) : ?>
+						<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+					<?php endif;
+					if ( ! empty( $this->description ) ) : ?>
+						<span class="description customize-control-description"><?php echo $this->description; ?></span>
+					<?php endif; ?>
+					<textarea rows="5" <?php $this->link(); ?>><?php echo esc_textarea( $this->value() ); ?></textarea>
+				</label>
+				<?php
+				break;
 			case 'dropdown-pages':
 				$dropdown = wp_dropdown_pages(
 					array(
@@ -325,6 +428,19 @@ class WP_Customize_Control {
 					$dropdown
 				);
 				break;
+			default:
+				?>
+				<label>
+					<?php if ( ! empty( $this->label ) ) : ?>
+						<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+					<?php endif;
+					if ( ! empty( $this->description ) ) : ?>
+						<span class="description customize-control-description"><?php echo $this->description; ?></span>
+					<?php endif; ?>
+					<input type="<?php echo esc_attr( $this->type ); ?>" <?php $this->input_attrs(); ?> value="<?php echo esc_attr( $this->value() ); ?>" <?php $this->link(); ?> />
+				</label>
+				<?php
+				break;
 		}
 	}
 }
@@ -401,7 +517,13 @@ class WP_Customize_Color_Control extends WP_Customize_Control {
 		// The input's value gets set by JS. Don't fill it.
 		?>
 		<label>
-			<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+			<?php if ( ! empty( $this->label ) ) : ?>
+				<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+			<?php endif;
+			if ( ! empty( $this->description ) ) : ?>
+				<span class="description customize-control-description"><?php echo $this->description; ?></span>
+			<?php endif; ?>
+
 			<div class="customize-control-content">
 				<input class="color-picker-hex" type="text" maxlength="7" placeholder="<?php esc_attr_e( 'Hex Value' ); ?>"<?php echo $default_attr; ?> />
 			</div>
@@ -458,7 +580,12 @@ class WP_Customize_Upload_Control extends WP_Customize_Control {
 	public function render_content() {
 		?>
 		<label>
-			<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+			<?php if ( ! empty( $this->label ) ) : ?>
+				<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+			<?php endif;
+			if ( ! empty( $this->description ) ) : ?>
+				<span class="description customize-control-description"><?php echo $this->description; ?></span>
+			<?php endif; ?>
 			<div>
 				<a href="#" class="button-secondary upload"><?php _e( 'Upload' ); ?></a>
 				<a href="#" class="remove"><?php _e( 'Remove' ); ?></a>
@@ -540,7 +667,12 @@ class WP_Customize_Image_Control extends WP_Customize_Upload_Control {
 
 		?>
 		<div class="customize-image-picker">
-			<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+			<?php if ( ! empty( $this->label ) ) : ?>
+				<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+			<?php endif;
+			if ( ! empty( $this->description ) ) : ?>
+				<span class="description customize-control-description"><?php echo $this->description; ?></span>
+			<?php endif; ?>
 
 			<div class="customize-control-content">
 				<div class="dropdown preview-thumbnail" tabindex="0">
@@ -610,7 +742,7 @@ class WP_Customize_Image_Control extends WP_Customize_Upload_Control {
 	 */
 	public function tab_upload_new() {
 		if ( ! _device_can_upload() ) {
-			echo '<p>' . sprintf( __('The web browser on your device cannot be used to upload files. You may be able to use the <a href="%s">native app for your device</a> instead.'), 'https://wordpress.org/mobile/' ) . '</p>';
+			echo '<p>' . sprintf( __('The web browser on your device cannot be used to upload files. You may be able to use the <a href="%s">native app for your device</a> instead.'), 'http://apps.wordpress.org/' ) . '</p>';
 		} else {
 			?>
 			<div class="upload-dropzone">
@@ -853,11 +985,11 @@ class WP_Customize_Header_Image_Control extends WP_Customize_Image_Control {
 			<p class="customizer-section-intro">
 				<?php
 				if ( $width && $height ) {
-					printf( __( 'While you can crop images to your liking after clicking <strong>Add new</strong>, your theme recommends a header size of <strong>%s &times; %s</strong> pixels.' ), $width, $height );
+					printf( __( 'While you can crop images to your liking after clicking <strong>Add new image</strong>, your theme recommends a header size of <strong>%s &times; %s</strong> pixels.' ), $width, $height );
 				} elseif ( $width ) {
-					printf( __( 'While you can crop images to your liking after clicking <strong>Add new</strong>, your theme recommends a header width of <strong>%s</strong> pixels.' ), $width );
+					printf( __( 'While you can crop images to your liking after clicking <strong>Add new image</strong>, your theme recommends a header width of <strong>%s</strong> pixels.' ), $width );
 				} else {
-					printf( __( 'While you can crop images to your liking after clicking <strong>Add new</strong>, your theme recommends a header height of <strong>%s</strong> pixels.' ), $height );
+					printf( __( 'While you can crop images to your liking after clicking <strong>Add new image</strong>, your theme recommends a header height of <strong>%s</strong> pixels.' ), $height );
 				}
 				?>
 			</p>
@@ -924,6 +1056,18 @@ class WP_Widget_Area_Customize_Control extends WP_Customize_Control {
 		</span>
 		<?php
 	}
+
+	/**
+	 * Whether the current sidebar is rendered on the page.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @return bool Whether sidebar is rendered.
+	 */
+	public function active_callback() {
+		return $this->manager->widgets->is_sidebar_rendered( $this->sidebar_id );
+	}
 }
 
 /**
@@ -964,5 +1108,17 @@ class WP_Widget_Form_Customize_Control extends WP_Customize_Control {
 		$args = wp_list_widget_controls_dynamic_sidebar( array( 0 => $args, 1 => $widget['params'][0] ) );
 		echo $this->manager->widgets->get_widget_control( $args );
 	}
+
+	/**
+	 * Whether the current widget is rendered on the page.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @return bool Whether the widget is rendered.
+	 */
+	function active_callback() {
+		return $this->manager->widgets->is_widget_rendered( $this->widget_id );
+	}
 }
 
diff --git a/wp-includes/class-wp-customize-manager.php b/wp-includes/class-wp-customize-manager.php
index 8ed4e699a..4465a8054 100644
--- a/wp-includes/class-wp-customize-manager.php
+++ b/wp-includes/class-wp-customize-manager.php
@@ -16,7 +16,7 @@
  */
 final class WP_Customize_Manager {
 	/**
-	 * An instance of the theme that is being customized.
+	 * An instance of the theme being previewed.
 	 *
 	 * @var WP_Theme
 	 */
@@ -30,8 +30,7 @@ final class WP_Customize_Manager {
 	protected $original_stylesheet;
 
 	/**
-	 * Whether filters have been set to change the active theme to the theme being
-	 * customized.
+	 * Whether this is a Customizer pageload.
 	 *
 	 * @var boolean
 	 */
@@ -44,9 +43,11 @@ final class WP_Customize_Manager {
 	 */
 	public $widgets;
 
-	protected $settings = array();
-	protected $sections = array();
-	protected $controls = array();
+	protected $settings   = array();
+	protected $containers = array();
+	protected $panels     = array();
+	protected $sections   = array();
+	protected $controls   = array();
 
 	protected $nonce_tick;
 
@@ -66,6 +67,7 @@ final class WP_Customize_Manager {
 	 */
 	public function __construct() {
 		require( ABSPATH . WPINC . '/class-wp-customize-setting.php' );
+		require( ABSPATH . WPINC . '/class-wp-customize-panel.php' );
 		require( ABSPATH . WPINC . '/class-wp-customize-section.php' );
 		require( ABSPATH . WPINC . '/class-wp-customize-control.php' );
 		require( ABSPATH . WPINC . '/class-wp-customize-widgets.php' );
@@ -156,8 +158,9 @@ final class WP_Customize_Manager {
 
 		show_admin_bar( false );
 
-		if ( ! current_user_can( 'edit_theme_options' ) )
+		if ( ! current_user_can( 'customize' ) ) {
 			$this->wp_die( -1 );
+		}
 
 		$this->original_stylesheet = get_stylesheet();
 
@@ -181,7 +184,6 @@ final class WP_Customize_Manager {
 				$this->wp_die( -1 );
 		}
 
-		// All good, let's do some internal business to preview the theme.
 		$this->start_previewing_theme();
 	}
 
@@ -190,7 +192,7 @@ final class WP_Customize_Manager {
 	 *
 	 * @since 3.4.0
 	 */
-	function after_setup_theme() {
+	public function after_setup_theme() {
 		if ( ! $this->doing_ajax() && ! validate_current_theme() ) {
 			wp_redirect( 'themes.php?broken=true' );
 			exit;
@@ -198,7 +200,8 @@ final class WP_Customize_Manager {
 	}
 
 	/**
-	 * Start previewing the selected theme by adding filters to change the current theme.
+	 * If the theme to be previewed isn't the active theme, add filter callbacks
+	 * to swap it out at runtime.
 	 *
 	 * @since 3.4.0
 	 */
@@ -303,6 +306,17 @@ final class WP_Customize_Manager {
 		return $this->controls;
 	}
 
+	/**
+	 * Get the registered containers.
+	 *
+	 * @since 4.0.0
+	 *
+	 * @return array
+	 */
+	public function containers() {
+		return $this->containers;
+	}
+
 	/**
 	 * Get the registered sections.
 	 *
@@ -314,6 +328,18 @@ final class WP_Customize_Manager {
 		return $this->sections;
 	}
 
+	/**
+	 * Get the registered panels.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @return array Panels.
+	 */
+	public function panels() {
+		return $this->panels;
+	}
+
 	/**
 	 * Checks if the current theme is active.
 	 *
@@ -394,6 +420,7 @@ final class WP_Customize_Manager {
 		$this->prepare_controls();
 
 		wp_enqueue_script( 'customize-preview' );
+		add_action( 'wp', array( $this, 'customize_preview_override_404_status' ) );
 		add_action( 'wp_head', array( $this, 'customize_preview_base' ) );
 		add_action( 'wp_head', array( $this, 'customize_preview_html5' ) );
 		add_action( 'wp_footer', array( $this, 'customize_preview_settings' ), 20 );
@@ -415,6 +442,19 @@ final class WP_Customize_Manager {
 		do_action( 'customize_preview_init', $this );
 	}
 
+	/**
+	 * Prevent sending a 404 status when returning the response for the customize
+	 * preview, since it causes the jQuery AJAX to fail. Send 200 instead.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 */
+	public function customize_preview_override_404_status() {
+		if ( is_404() ) {
+			status_header( 200 );
+		}
+	}
+
 	/**
 	 * Print base element for preview frame.
 	 *
@@ -450,7 +490,8 @@ final class WP_Customize_Manager {
 	public function customize_preview_settings() {
 		$settings = array(
 			'values'  => array(),
-			'channel' => esc_js( $_POST['customize_messenger_channel'] ),
+			'channel' => wp_unslash( $_POST['customize_messenger_channel'] ),
+			'activeControls' => array(),
 		);
 
 		if ( 2 == $this->nonce_tick ) {
@@ -463,6 +504,9 @@ final class WP_Customize_Manager {
 		foreach ( $this->settings as $id => $setting ) {
 			$settings['values'][ $id ] = $setting->js_value();
 		}
+		foreach ( $this->controls as $id => $control ) {
+			$settings['activeControls'][ $id ] = $control->active();
+		}
 
 		?>
 		<script type="text/javascript">
@@ -647,6 +691,53 @@ final class WP_Customize_Manager {
 		unset( $this->settings[ $id ] );
 	}
 
+	/**
+	 * Add a customize panel.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param WP_Customize_Panel|string $id   Customize Panel object, or Panel ID.
+	 * @param array                     $args Optional. Panel arguments. Default empty array.
+	 */
+	public function add_panel( $id, $args = array() ) {
+		if ( is_a( $id, 'WP_Customize_Panel' ) ) {
+			$panel = $id;
+		}
+		else {
+			$panel = new WP_Customize_Panel( $this, $id, $args );
+		}
+
+		$this->panels[ $panel->id ] = $panel;
+	}
+
+	/**
+	 * Retrieve a customize panel.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $id Panel ID to get.
+	 * @return WP_Customize_Panel Requested panel instance.
+	 */
+	public function get_panel( $id ) {
+		if ( isset( $this->panels[ $id ] ) ) {
+			return $this->panels[ $id ];
+		}
+	}
+
+	/**
+	 * Remove a customize panel.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $id Panel ID to remove.
+	 */
+	public function remove_panel( $id ) {
+		unset( $this->panels[ $id ] );
+	}
+
 	/**
 	 * Add a customize section.
 	 *
@@ -749,7 +840,7 @@ final class WP_Customize_Manager {
 	}
 
 	/**
-	 * Prepare settings and sections.
+	 * Prepare panels, sections, and controls.
 	 *
 	 * For each, check if required related components exist,
 	 * whether the user has the necessary capabilities,
@@ -763,8 +854,9 @@ final class WP_Customize_Manager {
 		$controls = array();
 
 		foreach ( $this->controls as $id => $control ) {
-			if ( ! isset( $this->sections[ $control->section ] ) || ! $control->check_capabilities() )
+			if ( ! isset( $this->sections[ $control->section ] ) || ! $control->check_capabilities() ) {
 				continue;
+			}
 
 			$this->sections[ $control->section ]->controls[] = $control;
 			$controls[ $id ] = $control;
@@ -778,13 +870,43 @@ final class WP_Customize_Manager {
 		$sections = array();
 
 		foreach ( $this->sections as $section ) {
-			if ( ! $section->check_capabilities() || ! $section->controls )
+			if ( ! $section->check_capabilities() || ! $section->controls ) {
 				continue;
+			}
 
 			usort( $section->controls, array( $this, '_cmp_priority' ) );
-			$sections[] = $section;
+
+			if ( ! $section->panel ) {
+				// Top-level section.
+				$sections[] = $section;
+			} else {
+				// This section belongs to a panel.
+				if ( isset( $this->panels [ $section->panel ] ) ) {
+					$this->panels[ $section->panel ]->sections[] = $section;
+				}
+			}
 		}
 		$this->sections = $sections;
+
+		// Prepare panels.
+		// Reversing makes uasort sort by time added when conflicts occur.
+		$this->panels = array_reverse( $this->panels );
+		uasort( $this->panels, array( $this, '_cmp_priority' ) );
+		$panels = array();
+
+		foreach ( $this->panels as $panel ) {
+			if ( ! $panel->check_capabilities() || ! $panel->sections ) {
+				continue;
+			}
+
+			usort( $panel->sections, array( $this, '_cmp_priority' ) );
+			$panels[] = $panel;
+		}
+		$this->panels = $panels;
+
+		// Sort panels and top-level sections together.
+		$this->containers = array_merge( $this->panels, $this->sections );
+		uasort( $this->containers, array( $this, '_cmp_priority' ) );
 	}
 
 	/**
@@ -919,7 +1041,7 @@ final class WP_Customize_Manager {
 		$this->add_control( new WP_Customize_Background_Image_Control( $this ) );
 
 		$this->add_setting( 'background_repeat', array(
-			'default'        => 'repeat',
+			'default'        => get_theme_support( 'custom-background', 'default-repeat' ),
 			'theme_supports' => 'custom-background',
 		) );
 
@@ -936,7 +1058,7 @@ final class WP_Customize_Manager {
 		) );
 
 		$this->add_setting( 'background_position_x', array(
-			'default'        => 'left',
+			'default'        => get_theme_support( 'custom-background', 'default-position-x' ),
 			'theme_supports' => 'custom-background',
 		) );
 
@@ -952,7 +1074,7 @@ final class WP_Customize_Manager {
 		) );
 
 		$this->add_setting( 'background_attachment', array(
-			'default'        => 'fixed',
+			'default'        => get_theme_support( 'custom-background', 'default-attachment' ),
 			'theme_supports' => 'custom-background',
 		) );
 
@@ -961,8 +1083,8 @@ final class WP_Customize_Manager {
 			'section'    => 'background_image',
 			'type'       => 'radio',
 			'choices'    => array(
-				'fixed'      => __('Fixed'),
 				'scroll'     => __('Scroll'),
+				'fixed'      => __('Fixed'),
 			),
 		) );
 
@@ -978,7 +1100,6 @@ final class WP_Customize_Manager {
 
 		$locations      = get_registered_nav_menus();
 		$menus          = wp_get_nav_menus();
-		$menu_locations = get_nav_menu_locations();
 		$num_locations  = count( array_keys( $locations ) );
 
 		$this->add_section( 'nav', array(
@@ -1084,7 +1205,7 @@ final class WP_Customize_Manager {
 
 		return $color;
 	}
-};
+}
 
 /**
  * Sanitizes a hex color.
diff --git a/wp-includes/class-wp-customize-panel.php b/wp-includes/class-wp-customize-panel.php
new file mode 100644
index 000000000..8f85049dc
--- /dev/null
+++ b/wp-includes/class-wp-customize-panel.php
@@ -0,0 +1,200 @@
+<?php
+/**
+ * Customize Panel Class.
+ *
+ * A UI container for sections, managed by the WP_Customize_Manager.
+ *
+ * @package WordPress
+ * @subpackage Customize
+ * @since 4.0.0
+ */
+class WP_Customize_Panel {
+
+	/**
+	 * WP_Customize_Manager instance.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 * @var WP_Customize_Manager
+	 */
+	public $manager;
+
+	/**
+	 * Unique identifier.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 * @var string
+	 */
+	public $id;
+
+	/**
+	 * Priority of the panel, defining the display order of panels and sections.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 * @var integer
+	 */
+	public $priority = 160;
+
+	/**
+	 * Capability required for the panel.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 * @var string
+	 */
+	public $capability = 'edit_theme_options';
+
+	/**
+	 * Theme feature support for the panel.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 * @var string|array
+	 */
+	public $theme_supports = '';
+
+	/**
+	 * Title of the panel to show in UI.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 * @var string
+	 */
+	public $title = '';
+
+	/**
+	 * Description to show in the UI.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 * @var string
+	 */
+	public $description = '';
+
+	/**
+	 * Customizer sections for this panel.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 * @var array
+	 */
+	public $sections;
+
+	/**
+	 * Constructor.
+	 *
+	 * Any supplied $args override class property defaults.
+	 *
+	 * @since 4.0.0
+	 *
+	 * @param WP_Customize_Manager $manager Customizer bootstrap instance.
+	 * @param string               $id      An specific ID for the panel.
+	 * @param array                $args    Panel arguments.
+	 */
+	public function __construct( $manager, $id, $args = array() ) {
+		$keys = array_keys( get_object_vars( $this ) );
+		foreach ( $keys as $key ) {
+			if ( isset( $args[ $key ] ) ) {
+				$this->$key = $args[ $key ];
+			}
+		}
+
+		$this->manager = $manager;
+		$this->id = $id;
+
+		$this->sections = array(); // Users cannot customize the $sections array.
+
+		return $this;
+	}
+
+	/**
+	 * Checks required user capabilities and whether the theme has the
+	 * feature support required by the panel.
+	 *
+	 * @since 4.0.0
+	 *
+	 * @return bool False if theme doesn't support the panel or the user doesn't have the capability.
+	 */
+	public final function check_capabilities() {
+		if ( $this->capability && ! call_user_func_array( 'current_user_can', (array) $this->capability ) ) {
+			return false;
+		}
+
+		if ( $this->theme_supports && ! call_user_func_array( 'current_theme_supports', (array) $this->theme_supports ) ) {
+			return false;
+		}
+
+		return true;
+	}
+
+	/**
+	 * Check capabilities and render the panel.
+	 *
+	 * @since 4.0.0
+	 */
+	public final function maybe_render() {
+		if ( ! $this->check_capabilities() ) {
+			return;
+		}
+
+		/**
+		 * Fires before rendering a Customizer panel.
+		 *
+		 * @since 4.0.0
+		 *
+		 * @param WP_Customize_Panel $this WP_Customize_Panel instance.
+		 */
+		do_action( 'customize_render_panel', $this );
+
+		/**
+		 * Fires before rendering a specific Customizer panel.
+		 *
+		 * The dynamic portion of the hook name, $this->id, refers to the ID
+		 * of the specific Customizer panel to be rendered.
+		 *
+		 * @since 4.0.0
+		 */
+		do_action( "customize_render_panel_{$this->id}" );
+
+		$this->render();
+	}
+
+	/**
+	 * Render the panel, and the sections that have been added to it.
+	 *
+	 * @since 4.0.0
+	 * @access protected
+	 */
+	protected function render() {
+		?>
+		<li id="accordion-panel-<?php echo esc_attr( $this->id ); ?>" class="control-section control-panel accordion-section">
+			<h3 class="accordion-section-title" tabindex="0">
+				<?php echo esc_html( $this->title ); ?>
+				<span class="screen-reader-text"><?php _e( 'Press return or enter to open this panel' ); ?></span>
+			</h3>
+			<ul class="accordion-sub-container control-panel-content">
+				<li class="accordion-section control-section<?php if ( empty( $this->description ) ) echo ' cannot-expand'; ?>">
+					<div class="accordion-section-title" tabindex="0">
+						<span class="preview-notice"><?php
+							/* translators: %s is the site/panel title in the Customizer */
+							echo sprintf( __( 'You are customizing %s' ), '<strong class="panel-title">' . esc_html( $this->title ) . '</strong>' );
+						?></span>
+					</div>
+					<?php if ( ! empty( $this->description ) ) : ?>
+						<div class="accordion-section-content description">
+							<?php echo $this->description; ?>
+						</div>
+					<?php endif; ?>
+				</li>
+				<?php
+				foreach ( $this->sections as $section ) {
+					$section->maybe_render();
+				}
+				?>
+			</ul>
+		</li>
+		<?php
+	}
+}
\ No newline at end of file
diff --git a/wp-includes/class-wp-customize-section.php b/wp-includes/class-wp-customize-section.php
index e96f3865e..d740ddba6 100644
--- a/wp-includes/class-wp-customize-section.php
+++ b/wp-includes/class-wp-customize-section.php
@@ -35,7 +35,16 @@ class WP_Customize_Section {
 	 * @access public
 	 * @var integer
 	 */
-	public $priority = 10;
+	public $priority = 160;
+
+	/**
+	 * Panel in which to show the section, making it a sub-section.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 * @var string
+	 */
+	public $panel = '';
 
 	/**
 	 * Capability required for the section.
@@ -93,8 +102,8 @@ class WP_Customize_Section {
 	 * @param string               $id      An specific ID of the section.
 	 * @param array                $args    Section arguments.
 	 */
-	function __construct( $manager, $id, $args = array() ) {
-		$keys = array_keys( get_class_vars( __CLASS__ ) );
+	public function __construct( $manager, $id, $args = array() ) {
+		$keys = array_keys( get_object_vars( $this ) );
 		foreach ( $keys as $key ) {
 			if ( isset( $args[ $key ] ) )
 				$this->$key = $args[ $key ];
@@ -162,12 +171,19 @@ class WP_Customize_Section {
 	 * @since 3.4.0
 	 */
 	protected function render() {
+		$classes = 'control-section accordion-section';
+		if ( $this->panel ) {
+			$classes .= ' control-subsection';
+		}
 		?>
-		<li id="accordion-section-<?php echo esc_attr( $this->id ); ?>" class="control-section accordion-section">
-			<h3 class="accordion-section-title" tabindex="0"><?php echo esc_html( $this->title ); ?></h3>
+		<li id="accordion-section-<?php echo esc_attr( $this->id ); ?>" class="<?php echo esc_attr( $classes ); ?>">
+			<h3 class="accordion-section-title" tabindex="0">
+				<?php echo esc_html( $this->title ); ?>
+				<span class="screen-reader-text"><?php _e( 'Press return or enter to expand' ); ?></span>
+			</h3>
 			<ul class="accordion-section-content">
 				<?php if ( ! empty( $this->description ) ) : ?>
-				<li><p class="description"><?php echo $this->description; ?></p></li>
+				<li><p class="description customize-section-description"><?php echo $this->description; ?></p></li>
 				<?php endif; ?>
 				<?php
 				foreach ( $this->controls as $control )
diff --git a/wp-includes/class-wp-customize-setting.php b/wp-includes/class-wp-customize-setting.php
index bf75426a1..a516b2186 100644
--- a/wp-includes/class-wp-customize-setting.php
+++ b/wp-includes/class-wp-customize-setting.php
@@ -75,8 +75,8 @@ class WP_Customize_Setting {
 	 * @param array                $args    Setting arguments.
 	 * @return WP_Customize_Setting $setting
 	 */
-	function __construct( $manager, $id, $args = array() ) {
-		$keys = array_keys( get_class_vars( __CLASS__ ) );
+	public function __construct( $manager, $id, $args = array() ) {
+		$keys = array_keys( get_object_vars( $this ) );
 		foreach ( $keys as $key ) {
 			if ( isset( $args[ $key ] ) )
 				$this->$key = $args[ $key ];
@@ -130,8 +130,10 @@ class WP_Customize_Setting {
 				 * The dynamic portion of the hook name, $this->id, refers to the setting ID.
 				 *
 				 * @since 3.4.0
+				 *
+				 * @param WP_Customize_Setting $this WP_Customize_Setting instance.
 				 */
-				do_action( 'customize_preview_' . $this->id );
+				do_action( 'customize_preview_' . $this->id, $this );
 		}
 	}
 
@@ -163,15 +165,16 @@ class WP_Customize_Setting {
 			return false;
 
 		/**
-		 * Fires when the WP_Customize_Setting::save() method is called for settings
-		 * not handled as theme_mods or options.
+		 * Fires when the WP_Customize_Setting::save() method is called.
 		 *
 		 * The dynamic portion of the hook name, $this->id_data['base'] refers to
 		 * the base slug of the setting name.
 		 *
 		 * @since 3.4.0
+		 *
+		 * @param WP_Customize_Setting $this WP_Customize_Setting instance.
 		 */
-		do_action( 'customize_save_' . $this->id_data[ 'base' ] );
+		do_action( 'customize_save_' . $this->id_data[ 'base' ], $this );
 
 		$this->update( $value );
 	}
@@ -232,10 +235,10 @@ class WP_Customize_Setting {
 		switch( $this->type ) {
 			case 'theme_mod' :
 				return $this->_update_theme_mod( $value );
-				break;
+
 			case 'option' :
 				return $this->_update_option( $value );
-				break;
+
 			default :
 
 				/**
@@ -246,9 +249,10 @@ class WP_Customize_Setting {
 				 *
 				 * @since 3.4.0
 				 *
-				 * @param mixed $value Value of the setting.
+				 * @param mixed                $value Value of the setting.
+				 * @param WP_Customize_Setting $this  WP_Customize_Setting instance.
 				 */
-				return do_action( 'customize_update_' . $this->type, $value );
+				return do_action( 'customize_update_' . $this->type, $value, $this );
 		}
 	}
 
diff --git a/wp-includes/class-wp-customize-widgets.php b/wp-includes/class-wp-customize-widgets.php
index 40663f293..4413ee6b9 100644
--- a/wp-includes/class-wp-customize-widgets.php
+++ b/wp-includes/class-wp-customize-widgets.php
@@ -433,6 +433,12 @@ final class WP_Customize_Widgets {
 			$this->manager->add_setting( $setting_id, $setting_args );
 		}
 
+		$this->manager->add_panel( 'widgets', array(
+			'title'       => __( 'Widgets' ),
+			'description' => __( 'Widgets are independent sections of content that can be placed into widgetized areas provided by your theme (commonly called sidebars).' ),
+			'priority'    => 110,
+		) );
+
 		foreach ( $sidebars_widgets as $sidebar_id => $sidebar_widget_ids ) {
 			if ( empty( $sidebar_widget_ids ) ) {
 				$sidebar_widget_ids = array();
@@ -458,10 +464,10 @@ final class WP_Customize_Widgets {
 				if ( $is_active_sidebar ) {
 
 					$section_args = array(
-						/* translators: %s: sidebar name */
-						'title' => sprintf( __( 'Widgets: %s' ), $GLOBALS['wp_registered_sidebars'][$sidebar_id]['name'] ),
-						'description' => $GLOBALS['wp_registered_sidebars'][$sidebar_id]['description'],
-						'priority' => 1000 + array_search( $sidebar_id, array_keys( $wp_registered_sidebars ) ),
+						'title' => $GLOBALS['wp_registered_sidebars'][ $sidebar_id ]['name'],
+						'description' => $GLOBALS['wp_registered_sidebars'][ $sidebar_id ]['description'],
+						'priority' => array_search( $sidebar_id, array_keys( $wp_registered_sidebars ) ),
+						'panel' => 'widgets',
 					);
 
 					/**
@@ -1063,7 +1069,33 @@ final class WP_Customize_Widgets {
 	 * @param array $widget Rendered widget to tally.
 	 */
 	public function tally_rendered_widgets( $widget ) {
-		$this->rendered_widgets[$widget['id']] = true;
+		$this->rendered_widgets[ $widget['id'] ] = true;
+	}
+
+	/**
+	 * Determine if a widget is rendered on the page.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $widget_id Widget ID to check.
+	 * @return bool Whether the widget is rendered.
+	 */
+	public function is_widget_rendered( $widget_id ) {
+		return in_array( $widget_id, $this->rendered_widgets );
+	}
+
+	/**
+	 * Determine if a sidebar is rendered on the page.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $sidebar_id Sidebar ID to check.
+	 * @return bool Whether the sidebar is rendered.
+	 */
+	public function is_sidebar_rendered( $sidebar_id ) {
+		return in_array( $sidebar_id, $this->rendered_sidebars );
 	}
 
 	/**
@@ -1077,8 +1109,8 @@ final class WP_Customize_Widgets {
 	 * @since 3.9.0
 	 * @access public
 	 *
-	 * @param bool    $is_active  Whether the sidebar is active.
-	 * @pasram string $sidebar_id Sidebar ID.
+	 * @param bool   $is_active  Whether the sidebar is active.
+	 * @param string $sidebar_id Sidebar ID.
 	 */
 	public function tally_sidebars_via_is_active_sidebar_calls( $is_active, $sidebar_id ) {
 		if ( isset( $GLOBALS['wp_registered_sidebars'][$sidebar_id] ) ) {
diff --git a/wp-includes/class-wp-editor.php b/wp-includes/class-wp-editor.php
index b74e76276..200031bbd 100644
--- a/wp-includes/class-wp-editor.php
+++ b/wp-includes/class-wp-editor.php
@@ -62,7 +62,20 @@ final class _WP_Editors {
 	 * @return array Parsed arguments array.
 	 */
 	public static function parse_settings( $editor_id, $settings ) {
-		$set = wp_parse_args( $settings,  array(
+
+		/**
+		 * Filter the wp_editor() settings.
+		 *
+		 * @since 4.0.0
+		 *
+		 * @see _WP_Editors()::parse_settings()
+		 *
+		 * @param array  $settings  Array of editor arguments.
+		 * @param string $editor_id ID for the current editor instance.
+		 */
+		$settings = apply_filters( 'wp_editor_settings', $settings, $editor_id );
+
+		$set = wp_parse_args( $settings, array(
 			'wpautop'           => true,
 			'media_buttons'     => true,
 			'default_editor'    => '',
@@ -99,7 +112,7 @@ final class _WP_Editors {
 		if ( empty( $set['editor_height'] ) )
 			return $set;
 
-		if ( 'content' === $editor_id ) {
+		if ( 'content' === $editor_id && empty( $set['tinymce']['wp_autoresize_on'] ) ) {
 			// A cookie (set when a user resizes the editor) overrides the height.
 			$cookie = (int) get_user_setting( 'ed_size' );
 
@@ -303,7 +316,7 @@ final class _WP_Editors {
 					 * @param array  $plugins   An array of teenyMCE plugins.
 					 * @param string $editor_id Unique editor identifier, e.g. 'content'.
 					 */
-					self::$plugins = $plugins = apply_filters( 'teeny_mce_plugins', array( 'fullscreen', 'image', 'wordpress', 'wpeditimage', 'wplink' ), $editor_id );
+					self::$plugins = $plugins = apply_filters( 'teeny_mce_plugins', array( 'colorpicker', 'lists', 'fullscreen', 'image', 'wordpress', 'wpeditimage', 'wplink' ), $editor_id );
 				} else {
 
 					/**
@@ -327,13 +340,16 @@ final class _WP_Editors {
 
 					$plugins = array(
 						'charmap',
+						'colorpicker',
 						'hr',
+						'lists',
 						'media',
 						'paste',
 						'tabfocus',
 						'textcolor',
 						'fullscreen',
 						'wordpress',
+						'wpautoresize',
 						'wpeditimage',
 						'wpgallery',
 						'wplink',
@@ -473,7 +489,6 @@ final class _WP_Editors {
 					'entities' => '38,amp,60,lt,62,gt',
 					'entity_encoding' => 'raw',
 					'keep_styles' => false,
-					'paste_webkit_styles' => 'font-weight font-style color',
 
 					// Limit the preview styles in the menu/toolbar
 					'preview_styles' => 'font-family font-size font-weight font-style text-decoration text-transform',
@@ -490,47 +505,17 @@ final class _WP_Editors {
 				$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
 				$version = 'ver=' . $GLOBALS['wp_version'];
 				$dashicons = includes_url( "css/dashicons$suffix.css?$version" );
-				$mediaelement = includes_url( "js/mediaelement/mediaelementplayer.min.css?$version" );
-				$wpmediaelement = includes_url( "js/mediaelement/wp-mediaelement.css?$version" );
 
 				// WordPress default stylesheet and dashicons
 				$mce_css = array(
 					$dashicons,
-					$mediaelement,
-					$wpmediaelement,
 					self::$baseurl . '/skins/wordpress/wp-content.css?' . $version
 				);
 
-				// load editor_style.css if the current theme supports it
-				if ( ! empty( $GLOBALS['editor_styles'] ) && is_array( $GLOBALS['editor_styles'] ) ) {
-					$editor_styles = $GLOBALS['editor_styles'];
-
-					$editor_styles = array_unique( array_filter( $editor_styles ) );
-					$style_uri = get_stylesheet_directory_uri();
-					$style_dir = get_stylesheet_directory();
-
-					// Support externally referenced styles (like, say, fonts).
-					foreach ( $editor_styles as $key => $file ) {
-						if ( preg_match( '~^(https?:)?//~', $file ) ) {
-							$mce_css[] = esc_url_raw( $file );
-							unset( $editor_styles[ $key ] );
-						}
-					}
-
-					// Look in a parent theme first, that way child theme CSS overrides.
-					if ( is_child_theme() ) {
-						$template_uri = get_template_directory_uri();
-						$template_dir = get_template_directory();
-
-						foreach ( $editor_styles as $key => $file ) {
-							if ( $file && file_exists( "$template_dir/$file" ) )
-								$mce_css[] = "$template_uri/$file";
-						}
-					}
-
-					foreach ( $editor_styles as $file ) {
-						if ( $file && file_exists( "$style_dir/$file" ) )
-							$mce_css[] = "$style_uri/$file";
+				$editor_styles = get_editor_stylesheets();
+				if ( ! empty( $editor_styles ) ) {
+					foreach ( $editor_styles as $style ) {
+						$mce_css[] = $style;
 					}
 				}
 
@@ -944,7 +929,7 @@ final class _WP_Editors {
 			'Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.' => __( 'Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.' ) . "\n\n" . __( 'If you&#8217;re looking to paste rich content from Microsoft Word, try turning this option off. The editor will clean up text pasted from Word automatically.' ),
 			'Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help' => __( 'Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help' ),
 			'You have unsaved changes are you sure you want to navigate away?' => __( 'The changes you made will be lost if you navigate away from this page.' ),
-			'Your browser doesn\'t support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.' => __( 'Your browser does not support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.' ),
+			'Your browser doesn\'t support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.' => __( 'Your browser does not support direct access to the clipboard. Please use keyboard shortcuts or your browser&#8217;s edit menu instead.' ),
 
 			// TinyMCE menus
 			'Insert' => _x( 'Insert', 'TinyMCE menu' ),
@@ -959,6 +944,7 @@ final class _WP_Editors {
 			'Keyboard Shortcuts' => __( 'Keyboard Shortcuts' ),
 			'Toolbar Toggle' => __( 'Toolbar Toggle' ),
 			'Insert Read More tag' => __( 'Insert Read More tag' ),
+			'Read more...' => __( 'Read more...' ), // Title on the placeholder inside the editor
 			'Distraction Free Writing' => __( 'Distraction Free Writing' ),
 		);
 
@@ -1390,7 +1376,7 @@ final class _WP_Editors {
 		<?php wp_nonce_field( 'internal-linking', '_ajax_linking_nonce', false ); ?>
 		<div id="link-modal-title">
 			<?php _e( 'Insert/edit link' ) ?>
-			<div id="wp-link-close" tabindex="0"></div>
+			<button type="button" id="wp-link-close"><span class="screen-reader-text"><?php _e( 'Close' ); ?></span></button>
 	 	</div>
 		<div id="link-selector">
 			<div id="link-options">
@@ -1405,7 +1391,7 @@ final class _WP_Editors {
 					<label><span>&nbsp;</span><input type="checkbox" id="link-target-checkbox" /> <?php _e( 'Open link in a new window/tab' ); ?></label>
 				</div>
 			</div>
-			<p class="howto" id="wp-link-search-toggle"><?php _e( 'Or link to existing content' ); ?></p>
+			<p class="howto"><a href="#" id="wp-link-search-toggle"><?php _e( 'Or link to existing content' ); ?></a></p>
 			<div id="search-panel">
 				<div class="link-search-wrapper">
 					<label>
@@ -1414,14 +1400,17 @@ final class _WP_Editors {
 						<span class="spinner"></span>
 					</label>
 				</div>
-				<div id="search-results" class="query-results">
+				<div id="search-results" class="query-results" tabindex="0">
 					<ul></ul>
 					<div class="river-waiting">
 						<span class="spinner"></span>
 					</div>
 				</div>
-				<div id="most-recent-results" class="query-results">
-					<div class="query-notice"><em><?php _e( 'No search term specified. Showing recent items.' ); ?></em></div>
+				<div id="most-recent-results" class="query-results" tabindex="0">
+					<div class="query-notice" id="query-notice-message">
+						<em class="query-notice-default"><?php _e( 'No search term specified. Showing recent items.' ); ?></em>
+						<em class="query-notice-hint screen-reader-text"><?php _e( 'Search or use up and down arrow keys to select an item.' ); ?></em>
+					</div>
 					<ul></ul>
 					<div class="river-waiting">
 						<span class="spinner"></span>
@@ -1430,12 +1419,12 @@ final class _WP_Editors {
 			</div>
 		</div>
 		<div class="submitbox">
-			<div id="wp-link-update">
-				<input type="submit" value="<?php esc_attr_e( 'Add Link' ); ?>" class="button button-primary" id="wp-link-submit" name="wp-link-submit">
-			</div>
 			<div id="wp-link-cancel">
 				<a class="submitdelete deletion" href="#"><?php _e( 'Cancel' ); ?></a>
 			</div>
+			<div id="wp-link-update">
+				<input type="submit" value="<?php esc_attr_e( 'Add Link' ); ?>" class="button button-primary" id="wp-link-submit" name="wp-link-submit">
+			</div>
 		</div>
 		</form>
 		</div>
diff --git a/wp-includes/class-wp-embed.php b/wp-includes/class-wp-embed.php
index 66b2820f3..6b5a51a71 100644
--- a/wp-includes/class-wp-embed.php
+++ b/wp-includes/class-wp-embed.php
@@ -7,15 +7,21 @@
  * @since 2.9.0
  */
 class WP_Embed {
-	var $handlers = array();
-	var $post_ID;
-	var $usecache = true;
-	var $linkifunknown = true;
+	public $handlers = array();
+	public $post_ID;
+	public $usecache = true;
+	public $linkifunknown = true;
+
+	/**
+	 * When an URL cannot be embedded, return false instead of returning a link
+	 * or the URL. Bypasses the 'embed_maybe_make_link' filter.
+	 */
+	public $return_false_on_fail = false;
 
 	/**
 	 * Constructor
 	 */
-	function __construct() {
+	public function __construct() {
 		// Hack to get the [embed] shortcode to run before wpautop()
 		add_filter( 'the_content', array( $this, 'run_shortcode' ), 8 );
 
@@ -25,9 +31,6 @@ class WP_Embed {
 		// Attempts to embed all URLs in a post
 		add_filter( 'the_content', array( $this, 'autoembed' ), 8 );
 
-		// When a post is saved, invalidate the oEmbed cache
-		add_action( 'pre_post_update', array( $this, 'delete_oembed_caches' ) );
-
 		// After a post is saved, cache oEmbed items via AJAX
 		add_action( 'edit_form_advanced', array( $this, 'maybe_run_ajax_cache' ) );
 	}
@@ -47,7 +50,7 @@ class WP_Embed {
 	 * @param string $content Content to parse
 	 * @return string Content with shortcode parsed
 	 */
-	function run_shortcode( $content ) {
+	public function run_shortcode( $content ) {
 		global $shortcode_tags;
 
 		// Back up current registered shortcodes and clear them all out
@@ -69,10 +72,10 @@ class WP_Embed {
 	 * If a post/page was saved, then output JavaScript to make
 	 * an AJAX request that will call WP_Embed::cache_oembed().
 	 */
-	function maybe_run_ajax_cache() {
+	public function maybe_run_ajax_cache() {
 		$post = get_post();
 
-		if ( ! $post || empty($_GET['message']) || 1 != $_GET['message'] )
+		if ( ! $post || empty( $_GET['message'] ) )
 			return;
 
 ?>
@@ -95,7 +98,7 @@ class WP_Embed {
 	 * @param callback $callback The callback function that will be called if the regex is matched.
 	 * @param int $priority Optional. Used to specify the order in which the registered handlers will be tested (default: 10). Lower numbers correspond with earlier testing, and handlers with the same priority are tested in the order in which they were added to the action.
 	 */
-	function register_handler( $id, $regex, $callback, $priority = 10 ) {
+	public function register_handler( $id, $regex, $callback, $priority = 10 ) {
 		$this->handlers[$priority][$id] = array(
 			'regex'    => $regex,
 			'callback' => $callback,
@@ -108,7 +111,7 @@ class WP_Embed {
 	 * @param string $id The handler ID that should be removed.
 	 * @param int $priority Optional. The priority of the handler to be removed (default: 10).
 	 */
-	function unregister_handler( $id, $priority = 10 ) {
+	public function unregister_handler( $id, $priority = 10 ) {
 		if ( isset($this->handlers[$priority][$id]) )
 			unset($this->handlers[$priority][$id]);
 	}
@@ -139,14 +142,18 @@ class WP_Embed {
 	 * @param string $url The URL attempting to be embedded.
 	 * @return string The embed HTML on success, otherwise the original URL.
 	 */
-	function shortcode( $attr, $url = '' ) {
+	public function shortcode( $attr, $url = '' ) {
 		$post = get_post();
 
+		if ( empty( $url ) && ! empty( $attr['src'] ) ) {
+			$url = $attr['src'];
+		}
+
 		if ( empty( $url ) )
 			return '';
 
 		$rawattr = $attr;
-		$attr = wp_parse_args( $attr, wp_embed_defaults() );
+		$attr = wp_parse_args( $attr, wp_embed_defaults( $url ) );
 
 		// kses converts & into &amp; and we need to undo this
 		// See http://core.trac.wordpress.org/ticket/11311
@@ -182,15 +189,37 @@ class WP_Embed {
 		if ( $post_ID ) {
 
 			// Check for a cached result (stored in the post meta)
-			$cachekey = '_oembed_' . md5( $url . serialize( $attr ) );
-			if ( $this->usecache ) {
-				$cache = get_post_meta( $post_ID, $cachekey, true );
+			$key_suffix = md5( $url . serialize( $attr ) );
+			$cachekey = '_oembed_' . $key_suffix;
+			$cachekey_time = '_oembed_time_' . $key_suffix;
+
+			/**
+			 * Filter the oEmbed TTL value (time to live).
+			 *
+			 * @since 4.0.0
+			 *
+			 * @param int    $time    Time to live (in seconds).
+			 * @param string $url     The attempted embed URL.
+			 * @param array  $attr    An array of shortcode attributes.
+			 * @param int    $post_ID Post ID.
+			 */
+			$ttl = apply_filters( 'oembed_ttl', DAY_IN_SECONDS, $url, $attr, $post_ID );
 
-				// Failures are cached
+			$cache = get_post_meta( $post_ID, $cachekey, true );
+			$cache_time = get_post_meta( $post_ID, $cachekey_time, true );
+
+			if ( ! $cache_time ) {
+				$cache_time = 0;
+			}
+
+			$cached_recently = ( time() - $cache_time ) < $ttl;
+
+			if ( $this->usecache || $cached_recently ) {
+				// Failures are cached. Serve one if we're using the cache.
 				if ( '{{unknown}}' === $cache )
 					return $this->maybe_make_link( $url );
 
-				if ( ! empty( $cache ) )
+				if ( ! empty( $cache ) ) {
 					/**
 					 * Filter the cached oEmbed HTML.
 					 *
@@ -204,6 +233,7 @@ class WP_Embed {
 					 * @param int    $post_ID Post ID.
 					 */
 					return apply_filters( 'embed_oembed_html', $cache, $url, $attr, $post_ID );
+				}
 			}
 
 			/**
@@ -213,16 +243,20 @@ class WP_Embed {
 			 *
 			 * @see WP_oEmbed::discover()
 			 *
-			 * @param bool false Whether to enable <link> tag discovery. Default false.
+			 * @param bool $enable Whether to enable <link> tag discovery. Default false.
 			 */
 			$attr['discover'] = ( apply_filters( 'embed_oembed_discover', false ) && author_can( $post_ID, 'unfiltered_html' ) );
 
 			// Use oEmbed to get the HTML
 			$html = wp_oembed_get( $url, $attr );
 
-			// Cache the result
-			$cache = ( $html ) ? $html : '{{unknown}}';
-			update_post_meta( $post_ID, $cachekey, $cache );
+			// Maybe cache the result
+			if ( $html ) {
+				update_post_meta( $post_ID, $cachekey, $html );
+				update_post_meta( $post_ID, $cachekey_time, time() );
+			} elseif ( ! $cache ) {
+				update_post_meta( $post_ID, $cachekey, '{{unknown}}' );
+			}
 
 			// If there was a result, return it
 			if ( $html ) {
@@ -236,11 +270,11 @@ class WP_Embed {
 	}
 
 	/**
-	 * Delete all oEmbed caches.
+	 * Delete all oEmbed caches. Unused by core as of 4.0.0.
 	 *
 	 * @param int $post_ID Post ID to delete the caches for.
 	 */
-	function delete_oembed_caches( $post_ID ) {
+	public function delete_oembed_caches( $post_ID ) {
 		$post_metas = get_post_custom_keys( $post_ID );
 		if ( empty($post_metas) )
 			return;
@@ -256,22 +290,23 @@ class WP_Embed {
 	 *
 	 * @param int $post_ID Post ID to do the caching for.
 	 */
-	function cache_oembed( $post_ID ) {
+	public function cache_oembed( $post_ID ) {
 		$post = get_post( $post_ID );
 
-		$post_types = array( 'post', 'page' );
+		$post_types = get_post_types( array( 'show_ui' => true ) );
 		/**
 		 * Filter the array of post types to cache oEmbed results for.
 		 *
 		 * @since 2.9.0
 		 *
-		 * @param array $post_types Array of post types to cache oEmbed results for. Default 'post', 'page'.
+		 * @param array $post_types Array of post types to cache oEmbed results for. Defaults to post types with `show_ui` set to true.
 		 */
-		if ( empty($post->ID) || !in_array( $post->post_type, apply_filters( 'embed_cache_oembed_types', $post_types ) ) )
+		if ( empty( $post->ID ) || ! in_array( $post->post_type, apply_filters( 'embed_cache_oembed_types', $post_types ) ) ){
 			return;
+		}
 
 		// Trigger a caching
-		if ( !empty($post->post_content) ) {
+		if ( ! empty( $post->post_content ) ) {
 			$this->post_ID = $post->ID;
 			$this->usecache = false;
 
@@ -290,7 +325,7 @@ class WP_Embed {
 	 * @param string $content The content to be searched.
 	 * @return string Potentially modified $content.
 	 */
-	function autoembed( $content ) {
+	public function autoembed( $content ) {
 		return preg_replace_callback( '|^\s*(https?://[^\s"]+)\s*$|im', array( $this, 'autoembed_callback' ), $content );
 	}
 
@@ -302,7 +337,7 @@ class WP_Embed {
 	 * @param array $match A regex match array.
 	 * @return string The embed HTML on success, otherwise the original URL.
 	 */
-	function autoembed_callback( $match ) {
+	public function autoembed_callback( $match ) {
 		$oldval = $this->linkifunknown;
 		$this->linkifunknown = false;
 		$return = $this->shortcode( array(), $match[1] );
@@ -317,7 +352,11 @@ class WP_Embed {
 	 * @param string $url URL to potentially be linked.
 	 * @return string Linked URL or the original URL.
 	 */
-	function maybe_make_link( $url ) {
+	public function maybe_make_link( $url ) {
+		if ( $this->return_false_on_fail ) {
+			return false;
+		}
+
 		$output = ( $this->linkifunknown ) ? '<a href="' . esc_url($url) . '">' . esc_html($url) . '</a>' : $url;
 
 		/**
diff --git a/wp-includes/class-wp-error.php b/wp-includes/class-wp-error.php
index bbfcebc44..971a4c7a9 100644
--- a/wp-includes/class-wp-error.php
+++ b/wp-includes/class-wp-error.php
@@ -26,7 +26,7 @@ class WP_Error {
 	 * @var array
 	 * @access private
 	 */
-	var $errors = array();
+	private $errors = array();
 
 	/**
 	 * Stores the list of data for error codes.
@@ -35,17 +35,18 @@ class WP_Error {
 	 * @var array
 	 * @access private
 	 */
-	var $error_data = array();
+	private $error_data = array();
 
 	/**
-	 * Constructor - Sets up error message.
+	 * Initialize the error.
 	 *
-	 * If code parameter is empty then nothing will be done. It is possible to
-	 * add multiple messages to the same code, but with other methods in the
-	 * class.
+	 * If `$code` is empty, the other parameters will be ignored.
+	 * When `$code` is not empty, `$message` will be used even if
+	 * it is empty. The `$data` parameter will be used only if it
+	 * is not empty.
 	 *
-	 * All parameters are optional, but if the code parameter is set, then the
-	 * data parameter is optional.
+	 * Though the class is constructed with a single error code and
+	 * message, multiple codes can be added using the `add()` method.
 	 *
 	 * @since 2.1.0
 	 *
@@ -54,7 +55,7 @@ class WP_Error {
 	 * @param mixed $data Optional. Error data.
 	 * @return WP_Error
 	 */
-	function __construct($code = '', $message = '', $data = '') {
+	public function __construct( $code = '', $message = '', $data = '' ) {
 		if ( empty($code) )
 			return;
 
@@ -64,6 +65,58 @@ class WP_Error {
 			$this->error_data[$code] = $data;
 	}
 
+	/**
+	 * Make private properties readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to get.
+	 * @return mixed Property.
+	 */
+	public function __get( $name ) {
+		return $this->$name;
+	}
+
+	/**
+	 * Make private properties settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name  Property to set.
+	 * @param mixed  $value Property value.
+	 * @return mixed Newly-set property.
+	 */
+	public function __set( $name, $value ) {
+		return $this->$name = $value;
+	}
+
+	/**
+	 * Make private properties checkable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to check if set.
+	 * @return bool Whether the property is set.
+	 */
+	public function __isset( $name ) {
+		return isset( $this->$name );
+	}
+
+	/**
+	 * Make private properties un-settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to unset.
+	 */
+	public function __unset( $name ) {
+		unset( $this->$name );
+	}
+
 	/**
 	 * Retrieve all error codes.
 	 *
@@ -72,7 +125,7 @@ class WP_Error {
 	 *
 	 * @return array List of error codes, if available.
 	 */
-	function get_error_codes() {
+	public function get_error_codes() {
 		if ( empty($this->errors) )
 			return array();
 
@@ -87,7 +140,7 @@ class WP_Error {
 	 *
 	 * @return string|int Empty string, if no error codes.
 	 */
-	function get_error_code() {
+	public function get_error_code() {
 		$codes = $this->get_error_codes();
 
 		if ( empty($codes) )
@@ -104,7 +157,7 @@ class WP_Error {
 	 * @param string|int $code Optional. Retrieve messages matching code, if exists.
 	 * @return array Error strings on success, or empty array on failure (if using code parameter).
 	 */
-	function get_error_messages($code = '') {
+	public function get_error_messages($code = '') {
 		// Return all messages if no code specified.
 		if ( empty($code) ) {
 			$all_messages = array();
@@ -131,7 +184,7 @@ class WP_Error {
 	 * @param string|int $code Optional. Error code to retrieve message.
 	 * @return string
 	 */
-	function get_error_message($code = '') {
+	public function get_error_message($code = '') {
 		if ( empty($code) )
 			$code = $this->get_error_code();
 		$messages = $this->get_error_messages($code);
@@ -148,7 +201,7 @@ class WP_Error {
 	 * @param string|int $code Optional. Error code.
 	 * @return mixed Null, if no errors.
 	 */
-	function get_error_data($code = '') {
+	public function get_error_data($code = '') {
 		if ( empty($code) )
 			$code = $this->get_error_code();
 
@@ -158,7 +211,7 @@ class WP_Error {
 	}
 
 	/**
-	 * Append more error messages to list of error messages.
+	 * Add an error or append additional message to an existing error.
 	 *
 	 * @since 2.1.0
 	 * @access public
@@ -167,7 +220,7 @@ class WP_Error {
 	 * @param string $message Error message.
 	 * @param mixed $data Optional. Error data.
 	 */
-	function add($code, $message, $data = '') {
+	public function add($code, $message, $data = '') {
 		$this->errors[$code][] = $message;
 		if ( ! empty($data) )
 			$this->error_data[$code] = $data;
@@ -183,7 +236,7 @@ class WP_Error {
 	 * @param mixed $data Error data.
 	 * @param string|int $code Error code.
 	 */
-	function add_data($data, $code = '') {
+	public function add_data($data, $code = '') {
 		if ( empty($code) )
 			$code = $this->get_error_code();
 
diff --git a/wp-includes/class-wp-http-ixr-client.php b/wp-includes/class-wp-http-ixr-client.php
index b412e2a2f..2a18716c4 100644
--- a/wp-includes/class-wp-http-ixr-client.php
+++ b/wp-includes/class-wp-http-ixr-client.php
@@ -8,7 +8,7 @@
  */
 class WP_HTTP_IXR_Client extends IXR_Client {
 
-	function __construct($server, $path = false, $port = false, $timeout = 15) {
+	public function __construct($server, $path = false, $port = false, $timeout = 15) {
 		if ( ! $path ) {
 			// Assume we have been given a URL instead
 			$bits = parse_url($server);
@@ -21,7 +21,7 @@ class WP_HTTP_IXR_Client extends IXR_Client {
 			if ( ! $this->path ) {
 				$this->path = '/';
 			}
-				
+
 			if ( ! empty( $bits['query'] ) ) {
 				$this->path .= '?' . $bits['query'];
 			}
@@ -35,7 +35,7 @@ class WP_HTTP_IXR_Client extends IXR_Client {
 		$this->timeout = $timeout;
 	}
 
-	function query() {
+	public function query() {
 		$args = func_get_args();
 		$method = array_shift($args);
 		$request = new IXR_Request($method, $args);
diff --git a/wp-includes/class-wp-image-editor-gd.php b/wp-includes/class-wp-image-editor-gd.php
index 303f5004c..ef804571c 100644
--- a/wp-includes/class-wp-image-editor-gd.php
+++ b/wp-includes/class-wp-image-editor-gd.php
@@ -18,7 +18,7 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
 
 	protected $image = false; // GD Resource
 
-	function __destruct() {
+	public function __destruct() {
 		if ( $this->image ) {
 			// we don't need the original in memory anymore
 			imagedestroy( $this->image );
@@ -114,7 +114,7 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
 		$this->update_size( $size[0], $size[1] );
 		$this->mime_type = $size['mime'];
 
-		return $this->set_quality( $this->quality );
+		return true;
 	}
 
 	/**
@@ -387,7 +387,7 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
 				return new WP_Error( 'image_save_error', __('Image Editor Save Failed') );
 		}
 		elseif ( 'image/jpeg' == $mime_type ) {
-			if ( ! $this->make_image( $filename, 'imagejpeg', array( $image, $filename, $this->quality ) ) )
+			if ( ! $this->make_image( $filename, 'imagejpeg', array( $image, $filename, $this->get_quality() ) ) )
 				return new WP_Error( 'image_save_error', __('Image Editor Save Failed') );
 		}
 		else {
@@ -435,7 +435,7 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
 				return imagegif( $this->image );
 			default:
 				header( 'Content-Type: image/jpeg' );
-				return imagejpeg( $this->image, null, $this->quality );
+				return imagejpeg( $this->image, null, $this->get_quality() );
 		}
 	}
 
diff --git a/wp-includes/class-wp-image-editor-imagick.php b/wp-includes/class-wp-image-editor-imagick.php
index 4ebed4bae..8bd6e3886 100644
--- a/wp-includes/class-wp-image-editor-imagick.php
+++ b/wp-includes/class-wp-image-editor-imagick.php
@@ -18,7 +18,7 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
 
 	protected $image = null; // Imagick Object
 
-	function __destruct() {
+	public function __destruct() {
 		if ( $this->image instanceof Imagick ) {
 			// we don't need the original in memory anymore
 			$this->image->clear();
@@ -143,7 +143,7 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
 		if ( is_wp_error( $updated_size ) )
 				return $updated_size;
 
-		return $this->set_quality( $this->quality );
+		return true;
 	}
 
 	/**
@@ -160,7 +160,7 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
 		if ( is_wp_error( $quality_result ) ) {
 			return $quality_result;
 		} else {
-			$quality = $this->quality;
+			$quality = $this->get_quality();
 		}
 
 		try {
diff --git a/wp-includes/class-wp-image-editor.php b/wp-includes/class-wp-image-editor.php
index 5affba48c..5792df316 100644
--- a/wp-includes/class-wp-image-editor.php
+++ b/wp-includes/class-wp-image-editor.php
@@ -16,7 +16,8 @@ abstract class WP_Image_Editor {
 	protected $size = null;
 	protected $mime_type = null;
 	protected $default_mime_type = 'image/jpeg';
-	protected $quality = 90;
+	protected $quality = false;
+	protected $default_quality = 90;
 
 	/**
 	 * Each instance handles a single file.
@@ -203,50 +204,64 @@ abstract class WP_Image_Editor {
 	}
 
 	/**
-	 * Sets Image Compression quality on a 1-100% scale.
+	 * Gets the Image Compression quality on a 1-100% scale.
 	 *
-	 * @since 3.5.0
+	 * @since 4.0.0
 	 * @access public
 	 *
-	 * @param int $quality Compression Quality. Range: [1,100]
-	 * @return boolean|WP_Error True if set successfully; WP_Error on failure.
+	 * @return int $quality Compression Quality. Range: [1,100]
 	 */
-	public function set_quality( $quality = null ) {
-		if ( $quality == null ) {
-			$quality = $this->quality;
-		}
-
-		/**
-		 * Filter the default image compression quality setting.
-		 *
-		 * @since 3.5.0
-		 *
-		 * @param int    $quality   Quality level between 1 (low) and 100 (high).
-		 * @param string $mime_type Image mime type.
-		 */
-		$quality = apply_filters( 'wp_editor_set_quality', $quality, $this->mime_type );
-
-		if ( 'image/jpeg' == $this->mime_type ) {
+	public function get_quality() {
+		if ( ! $this->quality ) {
 			/**
-			 * Filter the JPEG compression quality for backward-compatibility.
-			 *
-			 * The filter is evaluated under two contexts: 'image_resize', and 'edit_image',
-			 * (when a JPEG image is saved to file).
+			 * Filter the default image compression quality setting.
 			 *
-			 * @since 2.5.0
+			 * @since 3.5.0
 			 *
-			 * @param int    $quality Quality level between 0 (low) and 100 (high) of the JPEG.
-			 * @param string $context Context of the filter.
+			 * @param int    $quality   Quality level between 1 (low) and 100 (high).
+			 * @param string $mime_type Image mime type.
 			 */
-			$quality = apply_filters( 'jpeg_quality', $quality, 'image_resize' );
-
-			// Allow 0, but squash to 1 due to identical images in GD, and for backwards compatibility.
-			if ( $quality == 0 ) {
-				$quality = 1;
+			$quality = apply_filters( 'wp_editor_set_quality', $this->default_quality, $this->mime_type );
+
+			if ( 'image/jpeg' == $this->mime_type ) {
+				/**
+				 * Filter the JPEG compression quality for backward-compatibility.
+				 *
+				 * The filter is evaluated under two contexts: 'image_resize', and 'edit_image',
+				 * (when a JPEG image is saved to file).
+				 *
+				 * @since 2.5.0
+				 *
+				 * @param int    $quality Quality level between 0 (low) and 100 (high) of the JPEG.
+				 * @param string $context Context of the filter.
+				 */
+				$quality = apply_filters( 'jpeg_quality', $quality, 'image_resize' );
+
+				if ( ! $this->set_quality( $quality ) ) {
+					$this->quality = $this->default_quality;
+				}
 			}
 		}
 
-		if ( ( $quality >= 1 ) && ( $quality <= 100 ) ){
+		return $this->quality;
+	}
+
+	/**
+	 * Sets Image Compression quality on a 1-100% scale.
+	 *
+	 * @since 3.5.0
+	 * @access public
+	 *
+	 * @param int $quality Compression Quality. Range: [1,100]
+	 * @return boolean|WP_Error True if set successfully; WP_Error on failure.
+	 */
+	public function set_quality( $quality = null ) {
+		// Allow 0, but squash to 1 due to identical images in GD, and for backwards compatibility.
+		if ( $quality == 0 ) {
+			$quality = 1;
+		}
+
+		if ( ( $quality >= 1 ) && ( $quality <= 100 ) ) {
 			$this->quality = $quality;
 			return true;
 		} else {
@@ -270,8 +285,7 @@ abstract class WP_Image_Editor {
 	 * @return array { filename|null, extension, mime-type }
 	 */
 	protected function get_output_format( $filename = null, $mime_type = null ) {
-		$new_ext = $file_ext = null;
-		$file_mime = null;
+		$new_ext = null;
 
 		// By default, assume specified type takes priority
 		if ( $mime_type ) {
diff --git a/wp-includes/class-wp-theme.php b/wp-includes/class-wp-theme.php
index 6af098fe3..eaf244b78 100644
--- a/wp-includes/class-wp-theme.php
+++ b/wp-includes/class-wp-theme.php
@@ -662,10 +662,7 @@ final class WP_Theme implements ArrayAccess {
 				break;
 			case 'Author' :
 				if ( $this->get('AuthorURI') ) {
-					static $attr = null;
-					if ( ! isset( $attr ) )
-						$attr = esc_attr__( 'Visit author homepage' );
-					$value = sprintf( '<a href="%1$s" title="%2$s">%3$s</a>', $this->display( 'AuthorURI', true, $translate ), $attr, $value );
+					$value = sprintf( '<a href="%1$s">%2$s</a>', $this->display( 'AuthorURI', true, $translate ), $value );
 				} elseif ( ! $value ) {
 					$value = __( 'Anonymous' );
 				}
@@ -726,7 +723,7 @@ final class WP_Theme implements ArrayAccess {
 				}
 
 				return $value;
-				break;
+
 			default :
 				$value = translate( $value, $this->get('TextDomain') );
 		}
diff --git a/wp-includes/class-wp-walker.php b/wp-includes/class-wp-walker.php
index 547defee8..25191641c 100644
--- a/wp-includes/class-wp-walker.php
+++ b/wp-includes/class-wp-walker.php
@@ -16,28 +16,91 @@ class Walker {
 	 * What the class handles.
 	 *
 	 * @since 2.1.0
-	 * @var string
 	 * @access public
+	 * @var string
 	 */
-	var $tree_type;
+	public $tree_type;
 
 	/**
 	 * DB fields to use.
 	 *
 	 * @since 2.1.0
-	 * @var array
 	 * @access protected
+	 * @var array
 	 */
-	var $db_fields;
+	protected $db_fields;
 
 	/**
 	 * Max number of pages walked by the paged walker
 	 *
 	 * @since 2.7.0
+	 * @access protected
 	 * @var int
+	 */
+	protected $max_pages = 1;
+
+	/**
+	 * Whether the current element has children or not.
+	 *
+	 * To be used in start_el().
+	 *
+	 * @since 4.0.0
 	 * @access protected
+	 * @var bool
+	 */
+	protected $has_children;
+
+	/**
+	 * Make private properties readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to get.
+	 * @return mixed Property.
 	 */
-	var $max_pages = 1;
+	public function __get( $name ) {
+		return $this->$name;
+	}
+
+	/**
+	 * Make private properties settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name  Property to set.
+	 * @param mixed  $value Property value.
+	 * @return mixed Newly-set property.
+	 */
+	public function __set( $name, $value ) {
+		return $this->$name = $value;
+	}
+
+	/**
+	 * Make private properties checkable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to check if set.
+	 * @return bool Whether the property is set.
+	 */
+	public function __isset( $name ) {
+		return isset( $this->$name );
+	}
+
+	/**
+	 * Make private properties un-settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to unset.
+	 */
+	public function __unset( $name ) {
+		unset( $this->$name );
+	}
 
 	/**
 	 * Starts the list before the elements are added.
@@ -52,7 +115,7 @@ class Walker {
 	 * @param int    $depth  Depth of the item.
 	 * @param array  $args   An array of additional arguments.
 	 */
-	function start_lvl( &$output, $depth = 0, $args = array() ) {}
+	public function start_lvl( &$output, $depth = 0, $args = array() ) {}
 
 	/**
 	 * Ends the list of after the elements are added.
@@ -67,7 +130,7 @@ class Walker {
 	 * @param int    $depth  Depth of the item.
 	 * @param array  $args   An array of additional arguments.
 	 */
-	function end_lvl( &$output, $depth = 0, $args = array() ) {}
+	public function end_lvl( &$output, $depth = 0, $args = array() ) {}
 
 	/**
 	 * Start the element output.
@@ -84,7 +147,7 @@ class Walker {
 	 * @param array  $args              An array of additional arguments.
 	 * @param int    $current_object_id ID of the current item.
 	 */
-	function start_el( &$output, $object, $depth = 0, $args = array(), $current_object_id = 0 ) {}
+	public function start_el( &$output, $object, $depth = 0, $args = array(), $current_object_id = 0 ) {}
 
 	/**
 	 * Ends the element output, if needed.
@@ -99,7 +162,7 @@ class Walker {
 	 * @param int    $depth  Depth of the item.
 	 * @param array  $args   An array of additional arguments.
 	 */
-	function end_el( &$output, $object, $depth = 0, $args = array() ) {}
+	public function end_el( &$output, $object, $depth = 0, $args = array() ) {}
 
 	/**
 	 * Traverse elements to create list from elements.
@@ -121,21 +184,23 @@ class Walker {
 	 * @param string $output            Passed by reference. Used to append additional content.
 	 * @return null Null on failure with no changes to parameters.
 	 */
-	function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) {
+	public function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) {
 
 		if ( !$element )
 			return;
 
 		$id_field = $this->db_fields['id'];
+		$id       = $element->$id_field;
 
 		//display this element
-		if ( isset( $args[0] ) && is_array( $args[0] ) )
-			$args[0]['has_children'] = ! empty( $children_elements[$element->$id_field] );
+		$this->has_children = ! empty( $children_elements[ $id ] );
+		if ( isset( $args[0] ) && is_array( $args[0] ) ) {
+			$args[0]['has_children'] = $this->has_children; // Backwards compatibility.
+		}
+
 		$cb_args = array_merge( array(&$output, $element, $depth), $args);
 		call_user_func_array(array($this, 'start_el'), $cb_args);
 
-		$id = $element->$id_field;
-
 		// descend only when the depth is right and there are childrens for this element
 		if ( ($max_depth == 0 || $max_depth > $depth+1 ) && isset( $children_elements[$id]) ) {
 
@@ -178,7 +243,7 @@ class Walker {
 	 * @param int   $max_depth The maximum hierarchical depth.
 	 * @return string The hierarchical item output.
 	 */
-	function walk( $elements, $max_depth) {
+	public function walk( $elements, $max_depth) {
 
 		$args = array_slice(func_get_args(), 2);
 		$output = '';
@@ -189,7 +254,6 @@ class Walker {
 		if (empty($elements)) //nothing to walk
 			return $output;
 
-		$id_field = $this->db_fields['id'];
 		$parent_field = $this->db_fields['parent'];
 
 		// flat display
@@ -267,7 +331,7 @@ class Walker {
  	 * @param int $page_num  The specific page number, beginning with 1.
  	 * @return string XHTML of the specified page of elements
  	 */
-	function paged_walk( $elements, $max_depth, $page_num, $per_page ) {
+	public function paged_walk( $elements, $max_depth, $page_num, $per_page ) {
 
 		/* sanity check */
 		if ( empty($elements) || $max_depth < -1 )
@@ -276,7 +340,6 @@ class Walker {
 		$args = array_slice( func_get_args(), 4 );
 		$output = '';
 
-		$id_field = $this->db_fields['id'];
 		$parent_field = $this->db_fields['parent'];
 
 		$count = -1;
@@ -375,7 +438,7 @@ class Walker {
 		return $output;
 	}
 
-	function get_number_of_root_elements( $elements ){
+	public function get_number_of_root_elements( $elements ){
 
 		$num = 0;
 		$parent_field = $this->db_fields['parent'];
@@ -388,7 +451,7 @@ class Walker {
 	}
 
 	// Unset all the children for a given top level element.
-	function unset_children( $e, &$children_elements ){
+	public function unset_children( $e, &$children_elements ){
 
 		if ( !$e || !$children_elements )
 			return;
diff --git a/wp-includes/class-wp-xmlrpc-server.php b/wp-includes/class-wp-xmlrpc-server.php
index 0f617dbf9..4ea5df60f 100644
--- a/wp-includes/class-wp-xmlrpc-server.php
+++ b/wp-includes/class-wp-xmlrpc-server.php
@@ -33,7 +33,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *
 	 * @return wp_xmlrpc_server
 	 */
-	function __construct() {
+	public function __construct() {
 		$this->methods = array(
 			// WordPress API
 			'wp.getUsersBlogs'		=> 'this:wp_getUsersBlogs',
@@ -66,6 +66,7 @@ class wp_xmlrpc_server extends IXR_Server {
 			'wp.deleteCategory'		=> 'this:wp_deleteCategory',
 			'wp.suggestCategories'	=> 'this:wp_suggestCategories',
 			'wp.uploadFile'			=> 'this:mw_newMediaObject',	// Alias
+			'wp.deleteFile'			=> 'this:wp_deletePost',		// Alias
 			'wp.getCommentCount'	=> 'this:wp_getCommentCount',
 			'wp.getPostStatusList'	=> 'this:wp_getPostStatusList',
 			'wp.getPageStatusList'	=> 'this:wp_getPageStatusList',
@@ -140,7 +141,21 @@ class wp_xmlrpc_server extends IXR_Server {
 		$this->methods = apply_filters( 'xmlrpc_methods', $this->methods );
 	}
 
-	function serve_request() {
+	/**
+	 * Make private/protected methods readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param callable $name      Method to call.
+	 * @param array    $arguments Arguments to pass when calling.
+	 * @return mixed|bool Return value of the callback, false otherwise.
+	 */
+	public function __call( $name, $arguments ) {
+		return call_user_func_array( array( $this, $name ), $arguments );
+	}
+
+	public function serve_request() {
 		$this->IXR_Server($this->methods);
 	}
 
@@ -152,7 +167,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method Parameters.
 	 * @return string
 	 */
-	function sayHello($args) {
+	public function sayHello($args) {
 		return 'Hello!';
 	}
 
@@ -164,7 +179,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method Parameters.
 	 * @return int
 	 */
-	function addTwoNumbers($args) {
+	public function addTwoNumbers($args) {
 		$number1 = $args[0];
 		$number2 = $args[1];
 		return $number1 + $number2;
@@ -179,7 +194,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param string $password User's password.
 	 * @return mixed WP_User object if authentication passed, false otherwise
 	 */
-	function login( $username, $password ) {
+	public function login( $username, $password ) {
 		/*
 		 * Respect old get_option() filters left for back-compat when the 'enable_xmlrpc'
 		 * option was deprecated in 3.5.0. Use the 'xmlrpc_enabled' hook instead.
@@ -238,7 +253,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param string $password User's password.
 	 * @return bool Whether authentication passed.
 	 */
-	function login_pass_ok( $username, $password ) {
+	public function login_pass_ok( $username, $password ) {
 		return (bool) $this->login( $username, $password );
 	}
 
@@ -250,7 +265,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param string|array $data Escape single string or array of strings.
 	 * @return string|array Type matches $data and sanitized for the database.
 	 */
-	function escape( &$data ) {
+	public function escape( &$data ) {
 		if ( ! is_array( $data ) )
 			return wp_slash( $data );
 
@@ -270,7 +285,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param int $post_id Post ID.
 	 * @return array Custom fields, if exist.
 	 */
-	function get_custom_fields($post_id) {
+	public function get_custom_fields($post_id) {
 		$post_id = (int) $post_id;
 
 		$custom_fields = array();
@@ -298,7 +313,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param int $post_id Post ID.
 	 * @param array $fields Custom fields.
 	 */
-	function set_custom_fields($post_id, $fields) {
+	public function set_custom_fields($post_id, $fields) {
 		$post_id = (int) $post_id;
 
 		foreach ( (array) $fields as $meta ) {
@@ -328,7 +343,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *
 	 * @since 2.6.0
 	 */
-	function initialise_blog_option_info() {
+	public function initialise_blog_option_info() {
 		global $wp_version;
 
 		$this->blog_options = array(
@@ -497,7 +512,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - 'blogName'
 	 *  - 'xmlrpc' - url of xmlrpc endpoint
 	 */
-	function wp_getUsersBlogs( $args ) {
+	public function wp_getUsersBlogs( $args ) {
 		// If this isn't on WPMU then just use blogger_getUsersBlogs
 		if ( !is_multisite() ) {
 			array_unshift( $args, 1 );
@@ -1075,7 +1090,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *      - any other fields supported by wp_insert_post()
 	 * @return string post_id
 	 */
-	function wp_newPost( $args ) {
+	public function wp_newPost( $args ) {
 		if ( ! $this->minimum_args( $args, 4 ) )
 			return $this->error;
 
@@ -1089,6 +1104,21 @@ class wp_xmlrpc_server extends IXR_Server {
 		if ( ! $user = $this->login( $username, $password ) )
 			return $this->error;
 
+		// convert the date field back to IXR form
+		if ( isset( $content_struct['post_date'] ) && ! is_a( $content_struct['post_date'], 'IXR_Date' ) ) {
+			$content_struct['post_date'] = $this->_convert_date( $content_struct['post_date'] );
+		}
+
+		// ignore the existing GMT date if it is empty or a non-GMT date was supplied in $content_struct,
+		// since _insert_post will ignore the non-GMT date if the GMT date is set
+		if ( isset( $content_struct['post_date_gmt'] ) && ! is_a( $content_struct['post_date_gmt'], 'IXR_Date' ) ) {
+			if ( $content_struct['post_date_gmt'] == '0000-00-00 00:00:00' || isset( $content_struct['post_date'] ) ) {
+				unset( $content_struct['post_date_gmt'] );
+			} else {
+				$content_struct['post_date_gmt'] = $this->_convert_date( $content_struct['post_date_gmt'] );
+			}
+		}
+
 		/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
 		do_action( 'xmlrpc_call', 'wp.newPost' );
 
@@ -1369,7 +1399,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - array   $content_struct
 	 * @return true on success
 	 */
-	function wp_editPost( $args ) {
+	public function wp_editPost( $args ) {
 		if ( ! $this->minimum_args( $args, 5 ) )
 			return $this->error;
 
@@ -1432,7 +1462,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - int     $post_id
 	 * @return true on success
 	 */
-	function wp_deletePost( $args ) {
+	public function wp_deletePost( $args ) {
 		if ( ! $this->minimum_args( $args, 4 ) )
 			return $this->error;
 
@@ -1508,7 +1538,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - 'tags'
 	 *  - 'enclosure'
 	 */
-	function wp_getPost( $args ) {
+	public function wp_getPost( $args ) {
 		if ( ! $this->minimum_args( $args, 4 ) )
 			return $this->error;
 
@@ -1574,7 +1604,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - array   $fields optional
 	 * @return array contains a collection of posts.
 	 */
-	function wp_getPosts( $args ) {
+	public function wp_getPosts( $args ) {
 		if ( ! $this->minimum_args( $args, 3 ) )
 			return $this->error;
 
@@ -1671,7 +1701,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *      - 'slug'
 	 * @return string term_id
 	 */
-	function wp_newTerm( $args ) {
+	public function wp_newTerm( $args ) {
 		if ( ! $this->minimum_args( $args, 4 ) )
 			return $this->error;
 
@@ -1759,7 +1789,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *      - 'slug'
 	 * @return bool True, on success.
 	 */
-	function wp_editTerm( $args ) {
+	public function wp_editTerm( $args ) {
 		if ( ! $this->minimum_args( $args, 5 ) )
 			return $this->error;
 
@@ -1852,7 +1882,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - string     $term_id
 	 * @return boolean|IXR_Error If it suceeded true else a reason why not
 	 */
-	function wp_deleteTerm( $args ) {
+	public function wp_deleteTerm( $args ) {
 		if ( ! $this->minimum_args( $args, 5 ) )
 			return $this->error;
 
@@ -1920,7 +1950,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - 'parent'
 	 *  - 'count'
 	 */
-	function wp_getTerm( $args ) {
+	public function wp_getTerm( $args ) {
 		if ( ! $this->minimum_args( $args, 5 ) )
 			return $this->error;
 
@@ -1974,7 +2004,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - array   $filter optional
 	 * @return array terms
 	 */
-	function wp_getTerms( $args ) {
+	public function wp_getTerms( $args ) {
 		if ( ! $this->minimum_args( $args, 4 ) )
 			return $this->error;
 
@@ -2050,7 +2080,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - string  $taxonomy
 	 * @return array (@see get_taxonomy())
 	 */
-	function wp_getTaxonomy( $args ) {
+	public function wp_getTaxonomy( $args ) {
 		if ( ! $this->minimum_args( $args, 4 ) )
 			return $this->error;
 
@@ -2104,7 +2134,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - string  $password
 	 * @return array taxonomies
 	 */
-	function wp_getTaxonomies( $args ) {
+	public function wp_getTaxonomies( $args ) {
 		if ( ! $this->minimum_args( $args, 3 ) )
 			return $this->error;
 
@@ -2176,7 +2206,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - 'display_name'
 	 *  - 'roles'
 	 */
-	function wp_getUser( $args ) {
+	public function wp_getUser( $args ) {
 		if ( ! $this->minimum_args( $args, 4 ) )
 			return $this->error;
 
@@ -2239,7 +2269,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - array   $fields optional
 	 * @return array users data
 	 */
-	function wp_getUsers( $args ) {
+	public function wp_getUsers( $args ) {
 		if ( ! $this->minimum_args( $args, 3 ) )
 			return $this->error;
 
@@ -2310,7 +2340,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - array   $fields optional
 	 * @return array (@see wp_getUser)
 	 */
-	function wp_getProfile( $args ) {
+	public function wp_getProfile( $args ) {
 		if ( ! $this->minimum_args( $args, 3 ) )
 			return $this->error;
 
@@ -2360,7 +2390,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *      - 'bio'
 	 * @return bool True, on success.
 	 */
-	function wp_editProfile( $args ) {
+	public function wp_editProfile( $args ) {
 		if ( ! $this->minimum_args( $args, 4 ) )
 			return $this->error;
 
@@ -2429,7 +2459,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - password
 	 * @return array
 	 */
-	function wp_getPage($args) {
+	public function wp_getPage($args) {
 		$this->escape($args);
 
 		$blog_id	= (int) $args[0];
@@ -2457,7 +2487,7 @@ class wp_xmlrpc_server extends IXR_Server {
 		}
 		// If the page doesn't exist indicate that.
 		else {
-			return(new IXR_Error(404, __('Sorry, no such page.')));
+			return new IXR_Error( 404, __( 'Sorry, no such page.' ) );
 		}
 	}
 
@@ -2473,7 +2503,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - num_pages
 	 * @return array
 	 */
-	function wp_getPages($args) {
+	public function wp_getPages($args) {
 		$this->escape($args);
 
 		$blog_id	= (int) $args[0];
@@ -2518,7 +2548,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters. See {@link wp_xmlrpc_server::mw_newPost()}
 	 * @return unknown
 	 */
-	function wp_newPage($args) {
+	public function wp_newPage($args) {
 		// Items not escaped here will be escaped in newPost.
 		$username	= $this->escape($args[1]);
 		$password	= $this->escape($args[2]);
@@ -2546,7 +2576,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return bool True, if success.
 	 */
-	function wp_deletePage($args) {
+	public function wp_deletePage($args) {
 		$this->escape($args);
 
 		$blog_id	= (int) $args[0];
@@ -2596,7 +2626,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return unknown
 	 */
-	function wp_editPage($args) {
+	public function wp_editPage($args) {
 		// Items not escaped here will be escaped in editPost.
 		$blog_id	= (int) $args[0];
 		$page_id	= (int) $this->escape($args[1]);
@@ -2644,7 +2674,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return unknown
 	 */
-	function wp_getPageList($args) {
+	public function wp_getPageList($args) {
 		global $wpdb;
 
 		$this->escape($args);
@@ -2697,7 +2727,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function wp_getAuthors($args) {
+	public function wp_getAuthors($args) {
 
 		$this->escape($args);
 
@@ -2734,7 +2764,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function wp_getTags( $args ) {
+	public function wp_getTags( $args ) {
 		$this->escape( $args );
 
 		$blog_id		= (int) $args[0];
@@ -2776,7 +2806,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return int Category ID.
 	 */
-	function wp_newCategory($args) {
+	public function wp_newCategory($args) {
 		$this->escape($args);
 
 		$blog_id				= (int) $args[0];
@@ -2846,7 +2876,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return mixed See {@link wp_delete_term()} for return info.
 	 */
-	function wp_deleteCategory($args) {
+	public function wp_deleteCategory($args) {
 		$this->escape($args);
 
 		$blog_id		= (int) $args[0];
@@ -2888,7 +2918,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function wp_suggestCategories($args) {
+	public function wp_suggestCategories($args) {
 		$this->escape($args);
 
 		$blog_id				= (int) $args[0];
@@ -2926,7 +2956,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function wp_getComment($args) {
+	public function wp_getComment($args) {
 		$this->escape($args);
 
 		$blog_id	= (int) $args[0];
@@ -2968,7 +2998,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array. Contains a collection of comments. See {@link wp_xmlrpc_server::wp_getComment()} for a description of each item contents
 	 */
-	function wp_getComments($args) {
+	public function wp_getComments($args) {
 		$this->escape($args);
 
 		$blog_id	= (int) $args[0];
@@ -3029,7 +3059,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - comment_id
 	 * @return mixed {@link wp_delete_comment()}
 	 */
-	function wp_deleteComment($args) {
+	public function wp_deleteComment($args) {
 		$this->escape($args);
 
 		$blog_id	= (int) $args[0];
@@ -3093,7 +3123,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - content_struct
 	 * @return bool True, on success.
 	 */
-	function wp_editComment($args) {
+	public function wp_editComment($args) {
 		$this->escape($args);
 
 		$blog_id	= (int) $args[0];
@@ -3177,9 +3207,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return mixed {@link wp_new_comment()}
 	 */
-	function wp_newComment($args) {
-		global $wpdb;
-
+	public function wp_newComment($args) {
 		$this->escape($args);
 
 		$blog_id	= (int) $args[0];
@@ -3281,7 +3309,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function wp_getCommentStatusList($args) {
+	public function wp_getCommentStatusList($args) {
 		$this->escape( $args );
 
 		$blog_id	= (int) $args[0];
@@ -3308,7 +3336,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function wp_getCommentCount( $args ) {
+	public function wp_getCommentCount( $args ) {
 		$this->escape($args);
 
 		$blog_id	= (int) $args[0];
@@ -3342,7 +3370,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function wp_getPostStatusList( $args ) {
+	public function wp_getPostStatusList( $args ) {
 		$this->escape( $args );
 
 		$blog_id	= (int) $args[0];
@@ -3369,7 +3397,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function wp_getPageStatusList( $args ) {
+	public function wp_getPageStatusList( $args ) {
 		$this->escape( $args );
 
 		$blog_id	= (int) $args[0];
@@ -3396,7 +3424,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function wp_getPageTemplates( $args ) {
+	public function wp_getPageTemplates( $args ) {
 		$this->escape( $args );
 
 		$blog_id	= (int) $args[0];
@@ -3423,7 +3451,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function wp_getOptions( $args ) {
+	public function wp_getOptions( $args ) {
 		$this->escape( $args );
 
 		$blog_id	= (int) $args[0];
@@ -3449,7 +3477,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $options Options to retrieve.
 	 * @return array
 	 */
-	function _getOptions($options) {
+	public function _getOptions($options) {
 		$data = array();
 		$can_manage = current_user_can( 'manage_options' );
 		foreach ( $options as $option ) {
@@ -3477,7 +3505,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return unknown
 	 */
-	function wp_setOptions( $args ) {
+	public function wp_setOptions( $args ) {
 		$this->escape( $args );
 
 		$blog_id	= (int) $args[0];
@@ -3526,7 +3554,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - 'description'
 	 *  - 'metadata'
 	 */
-	function wp_getMediaItem($args) {
+	public function wp_getMediaItem($args) {
 		$this->escape($args);
 
 		$blog_id		= (int) $args[0];
@@ -3572,7 +3600,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - filter
 	 * @return array. Contains a collection of media items. See {@link wp_xmlrpc_server::wp_getMediaItem()} for a description of each item contents
 	 */
-	function wp_getMediaLibrary($args) {
+	public function wp_getMediaLibrary($args) {
 		$this->escape($args);
 
 		$blog_id	= (int) $args[0];
@@ -3615,7 +3643,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	  *  - password
 	  * @return array
 	  */
-	function wp_getPostFormats( $args ) {
+	public function wp_getPostFormats( $args ) {
 		$this->escape( $args );
 
 		$blog_id = (int) $args[0];
@@ -3673,7 +3701,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - 'taxonomies'
 	 *  - 'supports'
 	 */
-	function wp_getPostType( $args ) {
+	public function wp_getPostType( $args ) {
 		if ( ! $this->minimum_args( $args, 4 ) )
 			return $this->error;
 
@@ -3729,7 +3757,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - array   $fields
 	 * @return array
 	 */
-	function wp_getPostTypes( $args ) {
+	public function wp_getPostTypes( $args ) {
 		if ( ! $this->minimum_args( $args, 3 ) )
 			return $this->error;
 
@@ -3786,7 +3814,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - array   $fields
 	 * @return array contains a collection of posts.
 	 */
-	function wp_getRevisions( $args ) {
+	public function wp_getRevisions( $args ) {
 		if ( ! $this->minimum_args( $args, 4 ) )
 			return $this->error;
 
@@ -3862,7 +3890,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - int     $post_id
 	 * @return bool false if there was an error restoring, true if success.
 	 */
-	function wp_restoreRevision( $args ) {
+	public function wp_restoreRevision( $args ) {
 		if ( ! $this->minimum_args( $args, 3 ) )
 			return $this->error;
 
@@ -3914,7 +3942,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function blogger_getUsersBlogs($args) {
+	public function blogger_getUsersBlogs($args) {
 		if ( is_multisite() )
 			return $this->_multisite_getUsersBlogs($args);
 
@@ -3947,7 +3975,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *
 	 * @access protected
 	 */
-	function _multisite_getUsersBlogs($args) {
+	protected function _multisite_getUsersBlogs($args) {
 		$current_blog = get_blog_details();
 
 		$domain = $current_blog->domain;
@@ -3981,7 +4009,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function blogger_getUserInfo($args) {
+	public function blogger_getUserInfo($args) {
 
 		$this->escape($args);
 
@@ -4016,7 +4044,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function blogger_getPost($args) {
+	public function blogger_getPost($args) {
 
 		$this->escape($args);
 
@@ -4061,7 +4089,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function blogger_getRecentPosts($args) {
+	public function blogger_getRecentPosts($args) {
 
 		$this->escape($args);
 
@@ -4124,7 +4152,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @since 1.5.0
 	 * @deprecated 3.5.0
 	 */
-	function blogger_getTemplate($args) {
+	public function blogger_getTemplate($args) {
 		return new IXR_Error( 403, __('Sorry, that file cannot be edited.' ) );
 	}
 
@@ -4134,7 +4162,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @since 1.5.0
 	 * @deprecated 3.5.0
 	 */
-	function blogger_setTemplate($args) {
+	public function blogger_setTemplate($args) {
 		return new IXR_Error( 403, __('Sorry, that file cannot be edited.' ) );
 	}
 
@@ -4146,7 +4174,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return int
 	 */
-	function blogger_newPost($args) {
+	public function blogger_newPost($args) {
 
 		$this->escape($args);
 
@@ -4209,7 +4237,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return bool true when done.
 	 */
-	function blogger_editPost($args) {
+	public function blogger_editPost( $args ) {
 
 		$this->escape($args);
 
@@ -4219,39 +4247,42 @@ class wp_xmlrpc_server extends IXR_Server {
 		$content     = $args[4];
 		$publish     = $args[5];
 
-		if ( !$user = $this->login($username, $password) )
+		if ( ! $user = $this->login( $username, $password ) ) {
 			return $this->error;
+		}
 
 		/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
 		do_action( 'xmlrpc_call', 'blogger.editPost' );
 
-		$actual_post = get_post($post_ID,ARRAY_A);
+		$actual_post = get_post( $post_ID, ARRAY_A );
 
-		if ( !$actual_post || $actual_post['post_type'] != 'post' )
-			return new IXR_Error(404, __('Sorry, no such post.'));
+		if ( ! $actual_post || $actual_post['post_type'] != 'post' ) {
+			return new IXR_Error( 404, __( 'Sorry, no such post.' ) );
+		}
 
 		$this->escape($actual_post);
 
-		if ( !current_user_can('edit_post', $post_ID) )
+		if ( ! current_user_can( 'edit_post', $post_ID ) ) {
 			return new IXR_Error(401, __('Sorry, you do not have the right to edit this post.'));
+		}
+		if ( 'publish' == $actual_post['post_status'] && ! current_user_can( 'publish_posts' ) ) {
+			return new IXR_Error( 401, __( 'Sorry, you do not have the right to publish this post.' ) );
+		}
 
-		extract($actual_post, EXTR_SKIP);
-
-		if ( ('publish' == $post_status) && !current_user_can('publish_posts') )
-			return new IXR_Error(401, __('Sorry, you do not have the right to publish this post.'));
-
-		$post_title = xmlrpc_getposttitle($content);
-		$post_category = xmlrpc_getpostcategory($content);
-		$post_content = xmlrpc_removepostdata($content);
-
-		$postdata = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt');
+		$postdata = array();
+		$postdata['ID'] = $actual_post['ID'];
+		$postdata['post_content'] = xmlrpc_removepostdata( $content );
+		$postdata['post_title'] = xmlrpc_getposttitle( $content );
+		$postdata['post_category'] = xmlrpc_getpostcategory( $content );
+		$postdata['post_status'] = $actual_post['post_status'];
+		$postdata['post_excerpt'] = $actual_post['post_excerpt'];
 
-		$result = wp_update_post($postdata);
+		$result = wp_update_post( $postdata );
 
-		if ( !$result )
+		if ( ! $result ) {
 			return new IXR_Error(500, __('For some strange yet very annoying reason, this post could not be edited.'));
-
-		$this->attach_uploads( $ID, $post_content );
+		}
+		$this->attach_uploads( $actual_post['ID'], $postdata['post_content'] );
 
 		/**
 		 * Fires after a post has been successfully updated via the XML-RPC Blogger API.
@@ -4274,7 +4305,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return bool True when post is deleted.
 	 */
-	function blogger_deletePost($args) {
+	public function blogger_deletePost($args) {
 		$this->escape($args);
 
 		$post_ID     = (int) $args[1];
@@ -4353,7 +4384,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *  - publish
 	 * @return int
 	 */
-	function mw_newPost($args) {
+	public function mw_newPost($args) {
 		$this->escape($args);
 
 		$blog_ID     = (int) $args[0];
@@ -4633,7 +4664,7 @@ class wp_xmlrpc_server extends IXR_Server {
 		return strval($post_ID);
 	}
 
-	function add_enclosure_if_new( $post_ID, $enclosure ) {
+	public function add_enclosure_if_new( $post_ID, $enclosure ) {
 		if ( is_array( $enclosure ) && isset( $enclosure['url'] ) && isset( $enclosure['length'] ) && isset( $enclosure['type'] ) ) {
 			$encstring = $enclosure['url'] . "\n" . $enclosure['length'] . "\n" . $enclosure['type'] . "\n";
 			$found = false;
@@ -4659,7 +4690,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param int $post_ID Post ID.
 	 * @param string $post_content Post Content for attachment.
 	 */
-	function attach_uploads( $post_ID, $post_content ) {
+	public function attach_uploads( $post_ID, $post_content ) {
 		global $wpdb;
 
 		// find any unattached files
@@ -4680,7 +4711,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return bool True on success.
 	 */
-	function mw_editPost($args) {
+	public function mw_editPost($args) {
 
 		$this->escape($args);
 
@@ -4724,7 +4755,15 @@ class wp_xmlrpc_server extends IXR_Server {
 		}
 
 		$this->escape($postdata);
-		extract($postdata, EXTR_SKIP);
+
+		$ID = $postdata['ID'];
+		$post_content = $postdata['post_content'];
+		$post_title = $postdata['post_title'];
+		$post_excerpt = $postdata['post_excerpt'];
+		$post_password = $postdata['post_password'];
+		$post_parent = $postdata['post_parent'];
+		$post_type = $postdata['post_type'];
+		$menu_order = $postdata['menu_order'];
 
 		// Let WordPress manage slug if none was provided.
 		$post_name = "";
@@ -4744,6 +4783,7 @@ class wp_xmlrpc_server extends IXR_Server {
 		if ( isset($content_struct['wp_page_order']) )
 			$menu_order = $content_struct['wp_page_order'];
 
+		$page_template = null;
 		if ( ! empty( $content_struct['wp_page_template'] ) && 'page' == $post_type )
 			$page_template = $content_struct['wp_page_template'];
 
@@ -4958,7 +4998,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function mw_getPost($args) {
+	public function mw_getPost($args) {
 
 		$this->escape($args);
 
@@ -5083,7 +5123,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function mw_getRecentPosts($args) {
+	public function mw_getRecentPosts($args) {
 
 		$this->escape($args);
 
@@ -5203,7 +5243,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function mw_getCategories($args) {
+	public function mw_getCategories($args) {
 
 		$this->escape($args);
 
@@ -5251,7 +5291,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function mw_newMediaObject($args) {
+	public function mw_newMediaObject($args) {
 		global $wpdb;
 
 		$blog_ID     = (int) $args[0];
@@ -5365,7 +5405,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function mt_getRecentPostTitles($args) {
+	public function mt_getRecentPostTitles($args) {
 
 		$this->escape($args);
 
@@ -5426,7 +5466,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function mt_getCategoryList($args) {
+	public function mt_getCategoryList($args) {
 
 		$this->escape($args);
 
@@ -5465,7 +5505,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function mt_getPostCategories($args) {
+	public function mt_getPostCategories($args) {
 
 		$this->escape($args);
 
@@ -5509,7 +5549,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return bool True on success.
 	 */
-	function mt_setPostCategories($args) {
+	public function mt_setPostCategories($args) {
 
 		$this->escape($args);
 
@@ -5548,7 +5588,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function mt_supportedMethods($args) {
+	public function mt_supportedMethods($args) {
 
 		/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
 		do_action( 'xmlrpc_call', 'mt.supportedMethods' );
@@ -5568,7 +5608,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 *
 	 * @param array $args Method parameters.
 	 */
-	function mt_supportedTextFilters($args) {
+	public function mt_supportedTextFilters($args) {
 		/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
 		do_action( 'xmlrpc_call', 'mt.supportedTextFilters' );
 
@@ -5590,7 +5630,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return mixed
 	 */
-	function mt_getTrackbackPings($args) {
+	public function mt_getTrackbackPings($args) {
 
 		global $wpdb;
 
@@ -5633,7 +5673,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return int
 	 */
-	function mt_publishPost($args) {
+	public function mt_publishPost($args) {
 
 		$this->escape($args);
 
@@ -5678,7 +5718,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function pingback_ping($args) {
+	public function pingback_ping($args) {
 		global $wpdb;
 
 		/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
@@ -5719,7 +5759,7 @@ class wp_xmlrpc_server extends IXR_Server {
 		$urltest = parse_url($pagelinkedto);
 		if ( $post_ID = url_to_postid($pagelinkedto) ) {
 			$way = 'url_to_postid()';
-		} elseif ( preg_match('#p/[0-9]{1,}#', $urltest['path'], $match) ) {
+		} elseif ( isset( $urltest['path'] ) && preg_match('#p/[0-9]{1,}#', $urltest['path'], $match) ) {
 			// the path defines the post_ID (archives/p/XXXX)
 			$blah = explode('/', $match[0]);
 			$post_ID = (int) $blah[1];
@@ -5742,7 +5782,7 @@ class wp_xmlrpc_server extends IXR_Server {
 			} elseif ( is_string($urltest['fragment']) ) {
 				// ...or a string #title, a little more complicated
 				$title = preg_replace('/[^a-z0-9]/i', '.', $urltest['fragment']);
-				$sql = $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_title RLIKE %s", like_escape( $title ) );
+				$sql = $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_title RLIKE %s", $title );
 				if (! ($post_ID = $wpdb->get_var($sql)) ) {
 					// returning unknown error '0' is better than die()ing
 			  		return $this->pingback_error( 0, '' );
@@ -5891,7 +5931,7 @@ class wp_xmlrpc_server extends IXR_Server {
 	 * @param array $args Method parameters.
 	 * @return array
 	 */
-	function pingback_extensions_getPingbacks($args) {
+	public function pingback_extensions_getPingbacks($args) {
 
 		global $wpdb;
 
diff --git a/wp-includes/class-wp.php b/wp-includes/class-wp.php
index 033aa16d6..4edcaf730 100644
--- a/wp-includes/class-wp.php
+++ b/wp-includes/class-wp.php
@@ -15,7 +15,7 @@ class WP {
 	 * @access public
 	 * @var array
 	 */
-	var $public_query_vars = array('m', 'p', 'posts', 'w', 'cat', 'withcomments', 'withoutcomments', 's', 'search', 'exact', 'sentence', 'calendar', 'page', 'paged', 'more', 'tb', 'pb', 'author', 'order', 'orderby', 'year', 'monthnum', 'day', 'hour', 'minute', 'second', 'name', 'category_name', 'tag', 'feed', 'author_name', 'static', 'pagename', 'page_id', 'error', 'comments_popup', 'attachment', 'attachment_id', 'subpost', 'subpost_id', 'preview', 'robots', 'taxonomy', 'term', 'cpage', 'post_type');
+	public $public_query_vars = array('m', 'p', 'posts', 'w', 'cat', 'withcomments', 'withoutcomments', 's', 'search', 'exact', 'sentence', 'calendar', 'page', 'paged', 'more', 'tb', 'pb', 'author', 'order', 'orderby', 'year', 'monthnum', 'day', 'hour', 'minute', 'second', 'name', 'category_name', 'tag', 'feed', 'author_name', 'static', 'pagename', 'page_id', 'error', 'comments_popup', 'attachment', 'attachment_id', 'subpost', 'subpost_id', 'preview', 'robots', 'taxonomy', 'term', 'cpage', 'post_type');
 
 	/**
 	 * Private query variables.
@@ -25,7 +25,7 @@ class WP {
 	 * @since 2.0.0
 	 * @var array
 	 */
-	var $private_query_vars = array( 'offset', 'posts_per_page', 'posts_per_archive_page', 'showposts', 'nopaging', 'post_type', 'post_status', 'category__in', 'category__not_in', 'category__and', 'tag__in', 'tag__not_in', 'tag__and', 'tag_slug__in', 'tag_slug__and', 'tag_id', 'post_mime_type', 'perm', 'comments_per_page', 'post__in', 'post__not_in', 'post_parent', 'post_parent__in', 'post_parent__not_in' );
+	public $private_query_vars = array( 'offset', 'posts_per_page', 'posts_per_archive_page', 'showposts', 'nopaging', 'post_type', 'post_status', 'category__in', 'category__not_in', 'category__and', 'tag__in', 'tag__not_in', 'tag__and', 'tag_slug__in', 'tag_slug__and', 'tag_id', 'post_mime_type', 'perm', 'comments_per_page', 'post__in', 'post__not_in', 'post_parent', 'post_parent__in', 'post_parent__not_in' );
 
 	/**
 	 * Extra query variables set by the user.
@@ -33,7 +33,7 @@ class WP {
 	 * @since 2.1.0
 	 * @var array
 	 */
-	var $extra_query_vars = array();
+	public $extra_query_vars = array();
 
 	/**
 	 * Query variables for setting up the WordPress Query Loop.
@@ -41,7 +41,7 @@ class WP {
 	 * @since 2.0.0
 	 * @var array
 	 */
-	var $query_vars;
+	public $query_vars;
 
 	/**
 	 * String parsed to set the query variables.
@@ -49,7 +49,7 @@ class WP {
 	 * @since 2.0.0
 	 * @var string
 	 */
-	var $query_string;
+	public $query_string;
 
 	/**
 	 * Permalink or requested URI.
@@ -57,7 +57,7 @@ class WP {
 	 * @since 2.0.0
 	 * @var string
 	 */
-	var $request;
+	public $request;
 
 	/**
 	 * Rewrite rule the request matched.
@@ -65,7 +65,7 @@ class WP {
 	 * @since 2.0.0
 	 * @var string
 	 */
-	var $matched_rule;
+	public $matched_rule;
 
 	/**
 	 * Rewrite query the request matched.
@@ -73,7 +73,7 @@ class WP {
 	 * @since 2.0.0
 	 * @var string
 	 */
-	var $matched_query;
+	public $matched_query;
 
 	/**
 	 * Whether already did the permalink.
@@ -81,7 +81,7 @@ class WP {
 	 * @since 2.0.0
 	 * @var bool
 	 */
-	var $did_permalink = false;
+	public $did_permalink = false;
 
 	/**
 	 * Add name to list of public query variables.
@@ -90,7 +90,7 @@ class WP {
 	 *
 	 * @param string $qv Query variable name.
 	 */
-	function add_query_var($qv) {
+	public function add_query_var($qv) {
 		if ( !in_array($qv, $this->public_query_vars) )
 			$this->public_query_vars[] = $qv;
 	}
@@ -103,7 +103,7 @@ class WP {
 	 * @param string $key Query variable name.
 	 * @param mixed $value Query variable value.
 	 */
-	function set_query_var($key, $value) {
+	public function set_query_var($key, $value) {
 		$this->query_vars[$key] = $value;
 	}
 
@@ -117,7 +117,7 @@ class WP {
 	 *
 	 * @param array|string $extra_query_vars Set the extra query variables.
 	 */
-	function parse_request($extra_query_vars = '') {
+	public function parse_request($extra_query_vars = '') {
 		global $wp_rewrite;
 
 		/**
@@ -341,7 +341,7 @@ class WP {
 	 *
 	 * @since 2.0.0
 	 */
-	function send_headers() {
+	public function send_headers() {
 		$headers = array('X-Pingback' => get_bloginfo('pingback_url'));
 		$status = null;
 		$exit_required = false;
@@ -456,7 +456,7 @@ class WP {
 	 *
 	 * @since 2.0.0
 	 */
-	function build_query_string() {
+	public function build_query_string() {
 		$this->query_string = '';
 		foreach ( (array) array_keys($this->query_vars) as $wpvar) {
 			if ( '' != $this->query_vars[$wpvar] ) {
@@ -498,7 +498,7 @@ class WP {
 	 *
 	 * @since 2.0.0
 	 */
-	function register_globals() {
+	public function register_globals() {
 		global $wp_query;
 
 		// Extract updated query vars back into global namespace.
@@ -525,7 +525,7 @@ class WP {
 	 *
 	 * @since 2.0.0
 	 */
-	function init() {
+	public function init() {
 		wp_get_current_user();
 	}
 
@@ -535,7 +535,7 @@ class WP {
 	 * @uses WP::$query_vars
 	 * @since 2.0.0
 	 */
-	function query_posts() {
+	public function query_posts() {
 		global $wp_the_query;
 		$this->build_query_string();
 		$wp_the_query->query($this->query_vars);
@@ -552,7 +552,7 @@ class WP {
 	 *
 	 * @since 2.0.0
  	 */
-	function handle_404() {
+	public function handle_404() {
 		global $wp_query;
 
 		// If we've already issued a 404, bail.
@@ -582,7 +582,7 @@ class WP {
 			}
 
 			// Don't 404 for these queries either.
-			if ( is_home() || is_search() ) {
+			if ( is_home() || is_search() || is_feed() ) {
 				status_header( 200 );
 				return;
 			}
@@ -605,7 +605,7 @@ class WP {
 	 *
 	 * @param string|array $query_args Passed to {@link parse_request()}
 	 */
-	function main($query_args = '') {
+	public function main($query_args = '') {
 		$this->init();
 		$this->parse_request($query_args);
 		$this->send_headers();
@@ -637,7 +637,7 @@ class WP_MatchesMapRegex {
 	 * @access private
 	 * @var array
 	 */
-	var $_matches;
+	private $_matches;
 
 	/**
 	 * store for mapping result
@@ -645,7 +645,7 @@ class WP_MatchesMapRegex {
 	 * @access public
 	 * @var string
 	 */
-	var $output;
+	public $output;
 
 	/**
 	 * subject to perform mapping on (query string containing $matches[] references
@@ -653,14 +653,80 @@ class WP_MatchesMapRegex {
 	 * @access private
 	 * @var string
 	 */
-	var $_subject;
+	private $_subject;
 
 	/**
 	 * regexp pattern to match $matches[] references
 	 *
 	 * @var string
 	 */
-	var $_pattern = '(\$matches\[[1-9]+[0-9]*\])'; // magic number
+	public $_pattern = '(\$matches\[[1-9]+[0-9]*\])'; // magic number
+
+	/**
+	 * Make private properties readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to get.
+	 * @return mixed Property.
+	 */
+	public function __get( $name ) {
+		return $this->$name;
+	}
+
+	/**
+	 * Make private properties settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name  Property to set.
+	 * @param mixed  $value Property value.
+	 * @return mixed Newly-set property.
+	 */
+	public function __set( $name, $value ) {
+		return $this->$name = $value;
+	}
+
+	/**
+	 * Make private properties checkable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to check if set.
+	 * @return bool Whether the property is set.
+	 */
+	public function __isset( $name ) {
+		return isset( $this->$name );
+	}
+
+	/**
+	 * Make private properties un-settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to unset.
+	 */
+	public function __unset( $name ) {
+		unset( $this->$name );
+	}
+
+	/**
+	 * Make private/protected methods readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param callable $name      Method to call.
+	 * @param array    $arguments Arguments to pass when calling.
+	 * @return mixed|bool Return value of the callback, false otherwise.
+	 */
+	public function __call( $name, $arguments ) {
+		return call_user_func_array( array( $this, $name ), $arguments );
+	}
 
 	/**
 	 * constructor
@@ -669,7 +735,7 @@ class WP_MatchesMapRegex {
 	 * @param array  $matches data to use in map
 	 * @return self
 	 */
-	function WP_MatchesMapRegex($subject, $matches) {
+	public function WP_MatchesMapRegex($subject, $matches) {
 		$this->_subject = $subject;
 		$this->_matches = $matches;
 		$this->output = $this->_map();
@@ -696,7 +762,7 @@ class WP_MatchesMapRegex {
 	 * @access private
 	 * @return string
 	 */
-	function _map() {
+	private function _map() {
 		$callback = array($this, 'callback');
 		return preg_replace_callback($this->_pattern, $callback, $this->_subject);
 	}
@@ -708,7 +774,7 @@ class WP_MatchesMapRegex {
 	 * @param  array $matches preg_replace regexp matches
 	 * @return string
 	 */
-	function callback($matches) {
+	public function callback($matches) {
 		$index = intval(substr($matches[0], 9, -1));
 		return ( isset( $this->_matches[$index] ) ? urlencode($this->_matches[$index]) : '' );
 	}
diff --git a/wp-includes/class.wp-dependencies.php b/wp-includes/class.wp-dependencies.php
index 158d3e03e..c1bac65ba 100644
--- a/wp-includes/class.wp-dependencies.php
+++ b/wp-includes/class.wp-dependencies.php
@@ -18,7 +18,7 @@ class WP_Dependencies {
 	 * @since 2.6.8
 	 * @var array
 	 */
-	var $registered = array();
+	public $registered = array();
 
 	/**
 	 * An array of queued _WP_Dependency handle objects.
@@ -27,7 +27,7 @@ class WP_Dependencies {
 	 * @since 2.6.8
 	 * @var array
 	 */
-	var $queue = array();
+	public $queue = array();
 
 	/**
 	 * An array of _WP_Dependency handle objects to queue.
@@ -36,7 +36,7 @@ class WP_Dependencies {
 	 * @since 2.6.0
 	 * @var array
 	 */
-	var $to_do = array();
+	public $to_do = array();
 
 	/**
 	 * An array of _WP_Dependency handle objects already queued.
@@ -45,7 +45,7 @@ class WP_Dependencies {
 	 * @since 2.6.0
 	 * @var array
 	 */
-	var $done = array();
+	public $done = array();
 
 	/**
 	 * An array of additional arguments passed when a handle is registered.
@@ -56,7 +56,7 @@ class WP_Dependencies {
 	 * @since 2.6.0
 	 * @var array
 	 */
-	var $args = array();
+	public $args = array();
 
 	/**
 	 * An array of handle groups to enqueue.
@@ -65,7 +65,7 @@ class WP_Dependencies {
 	 * @since 2.8.0
 	 * @var array
 	 */
-	var $groups = array();
+	public $groups = array();
 
 	/**
 	 * A handle group to enqueue.
@@ -74,7 +74,7 @@ class WP_Dependencies {
 	 * @since 2.8.0
 	 * @var int
 	 */
-	var $group = 0;
+	public $group = 0;
 
 	/**
 	 * Process the items and dependencies.
@@ -324,6 +324,31 @@ class WP_Dependencies {
 		}
 	}
 
+	/**
+	 * Recursively search the passed dependency tree for $handle
+	 *
+	 * @since 4.0.0
+	 *
+	 * @param array  $queue  An array of queued _WP_Dependency handle objects.
+	 * @param string $handle Name of the item. Should be unique.
+	 * @return boolean Whether the handle is found after recursively searching the dependency tree.
+	 */
+	protected function recurse_deps( $queue, $handle ) {
+		foreach ( $queue as $queued ) {
+			if ( ! isset( $this->registered[ $queued ] ) ) {
+				continue;
+			}
+
+			if ( in_array( $handle, $this->registered[ $queued ]->deps ) ) {
+				return true;
+			} elseif ( $this->recurse_deps( $this->registered[ $queued ]->deps, $handle ) ) {
+				return true;
+			}
+		}
+
+		return false;
+	}
+
 	/**
 	 * Query list for an item.
 	 *
@@ -344,7 +369,10 @@ class WP_Dependencies {
 
 			case 'enqueued' :
 			case 'queue' :
-				return in_array( $handle, $this->queue );
+				if ( in_array( $handle, $this->queue ) ) {
+					return true;
+				}
+				return $this->recurse_deps( $this->queue, $handle );
 
 			case 'to_do' :
 			case 'to_print': // back compat
@@ -401,7 +429,7 @@ class _WP_Dependency {
 	 * @since 2.6.0
 	 * @var null
 	 */
-	var $handle;
+	public $handle;
 
 	/**
 	 * The handle source.
@@ -410,7 +438,7 @@ class _WP_Dependency {
 	 * @since 2.6.0
 	 * @var null
 	 */
-	var $src;
+	public $src;
 
 	/**
 	 * An array of handle dependencies.
@@ -419,7 +447,7 @@ class _WP_Dependency {
 	 * @since 2.6.0
 	 * @var array
 	 */
-	var $deps = array();
+	public $deps = array();
 
 	/**
 	 * The handle version.
@@ -430,7 +458,7 @@ class _WP_Dependency {
 	 * @since 2.6.0
 	 * @var bool|string
 	 */
-	var $ver = false;
+	public $ver = false;
 
 	/**
 	 * Additional arguments for the handle.
@@ -439,7 +467,7 @@ class _WP_Dependency {
 	 * @since 2.6.0
 	 * @var null
 	 */
-	var $args = null;  // Custom property, such as $in_footer or $media.
+	public $args = null;  // Custom property, such as $in_footer or $media.
 
 	/**
 	 * Extra data to supply to the handle.
@@ -448,14 +476,14 @@ class _WP_Dependency {
 	 * @since 2.6.0
 	 * @var array
 	 */
-	var $extra = array();
+	public $extra = array();
 
 	/**
 	 * Setup dependencies.
 	 *
 	 * @since 2.6.0
 	 */
-	function __construct() {
+	public function __construct() {
 		@list( $this->handle, $this->src, $this->deps, $this->ver, $this->args ) = func_get_args();
 		if ( ! is_array($this->deps) )
 			$this->deps = array();
@@ -471,7 +499,7 @@ class _WP_Dependency {
 	 * @param mixed  $data The data value to add.
 	 * @return bool False if not scalar, true otherwise.
 	 */
-	function add_data( $name, $data ) {
+	public function add_data( $name, $data ) {
 		if ( !is_scalar($name) )
 			return false;
 		$this->extra[$name] = $data;
diff --git a/wp-includes/class.wp-scripts.php b/wp-includes/class.wp-scripts.php
index 1ceb51d88..89a9ec91d 100644
--- a/wp-includes/class.wp-scripts.php
+++ b/wp-includes/class.wp-scripts.php
@@ -17,25 +17,25 @@
  * @since r16
  */
 class WP_Scripts extends WP_Dependencies {
-	var $base_url; // Full URL with trailing slash
-	var $content_url;
-	var $default_version;
-	var $in_footer = array();
-	var $concat = '';
-	var $concat_version = '';
-	var $do_concat = false;
-	var $print_html = '';
-	var $print_code = '';
-	var $ext_handles = '';
-	var $ext_version = '';
-	var $default_dirs;
-
-	function __construct() {
+	public $base_url; // Full URL with trailing slash
+	public $content_url;
+	public $default_version;
+	public $in_footer = array();
+	public $concat = '';
+	public $concat_version = '';
+	public $do_concat = false;
+	public $print_html = '';
+	public $print_code = '';
+	public $ext_handles = '';
+	public $ext_version = '';
+	public $default_dirs;
+
+	public function __construct() {
 		$this->init();
 		add_action( 'init', array( $this, 'init' ), 0 );
 	}
 
-	function init() {
+	public function init() {
 		/**
 		 * Fires when the WP_Scripts instance is initialized.
 		 *
@@ -55,17 +55,17 @@ class WP_Scripts extends WP_Dependencies {
 	 * @param int $group (optional) If scripts were queued in groups prints this group number.
 	 * @return array Scripts that have been printed
 	 */
-	function print_scripts( $handles = false, $group = false ) {
+	public function print_scripts( $handles = false, $group = false ) {
 		return $this->do_items( $handles, $group );
 	}
 
 	// Deprecated since 3.3, see print_extra_script()
-	function print_scripts_l10n( $handle, $echo = true ) {
+	public function print_scripts_l10n( $handle, $echo = true ) {
 		_deprecated_function( __FUNCTION__, '3.3', 'print_extra_script()' );
 		return $this->print_extra_script( $handle, $echo );
 	}
 
-	function print_extra_script( $handle, $echo = true ) {
+	public function print_extra_script( $handle, $echo = true ) {
 		if ( !$output = $this->get_data( $handle, 'data' ) )
 			return;
 
@@ -81,7 +81,7 @@ class WP_Scripts extends WP_Dependencies {
 		return true;
 	}
 
-	function do_item( $handle, $group = false ) {
+	public function do_item( $handle, $group = false ) {
 		if ( !parent::do_item($handle) )
 			return false;
 
@@ -151,7 +151,7 @@ class WP_Scripts extends WP_Dependencies {
 	 *
 	 * Localizes only if the script has already been added
 	 */
-	function localize( $handle, $object_name, $l10n ) {
+	public function localize( $handle, $object_name, $l10n ) {
 		if ( $handle === 'jquery' )
 			$handle = 'jquery-core';
 
@@ -180,7 +180,7 @@ class WP_Scripts extends WP_Dependencies {
 		return $this->add_data( $handle, 'data', $script );
 	}
 
-	function set_group( $handle, $recursion, $group = false ) {
+	public function set_group( $handle, $recursion, $group = false ) {
 
 		if ( $this->registered[$handle]->args === 1 )
 			$grp = 1;
@@ -193,7 +193,7 @@ class WP_Scripts extends WP_Dependencies {
 		return parent::set_group( $handle, $recursion, $grp );
 	}
 
-	function all_deps( $handles, $recursion = false, $group = false ) {
+	public function all_deps( $handles, $recursion = false, $group = false ) {
 		$r = parent::all_deps( $handles, $recursion );
 		if ( ! $recursion ) {
 			/**
@@ -208,31 +208,34 @@ class WP_Scripts extends WP_Dependencies {
 		return $r;
 	}
 
-	function do_head_items() {
+	public function do_head_items() {
 		$this->do_items(false, 0);
 		return $this->done;
 	}
 
-	function do_footer_items() {
+	public function do_footer_items() {
 		$this->do_items(false, 1);
 		return $this->done;
 	}
 
-	function in_default_dir($src) {
-		if ( ! $this->default_dirs )
+	public function in_default_dir( $src ) {
+		if ( ! $this->default_dirs ) {
 			return true;
+		}
 
-		if ( 0 === strpos( $src, '/wp-includes/js/l10n' ) )
+		if ( 0 === strpos( $src, '/' . WPINC . '/js/l10n' ) ) {
 			return false;
+		}
 
 		foreach ( (array) $this->default_dirs as $test ) {
-			if ( 0 === strpos($src, $test) )
+			if ( 0 === strpos( $src, $test ) ) {
 				return true;
+			}
 		}
 		return false;
 	}
 
-	function reset() {
+	public function reset() {
 		$this->do_concat = false;
 		$this->print_code = '';
 		$this->concat = '';
diff --git a/wp-includes/class.wp-styles.php b/wp-includes/class.wp-styles.php
index dbdc82984..1a017ac5a 100644
--- a/wp-includes/class.wp-styles.php
+++ b/wp-includes/class.wp-styles.php
@@ -17,18 +17,18 @@
  * @since r74
  */
 class WP_Styles extends WP_Dependencies {
-	var $base_url;
-	var $content_url;
-	var $default_version;
-	var $text_direction = 'ltr';
-	var $concat = '';
-	var $concat_version = '';
-	var $do_concat = false;
-	var $print_html = '';
-	var $print_code = '';
-	var $default_dirs;
-
-	function __construct() {
+	public $base_url;
+	public $content_url;
+	public $default_version;
+	public $text_direction = 'ltr';
+	public $concat = '';
+	public $concat_version = '';
+	public $do_concat = false;
+	public $print_html = '';
+	public $print_code = '';
+	public $default_dirs;
+
+	public function __construct() {
 		/**
 		 * Fires when the WP_Styles instance is initialized.
 		 *
@@ -39,7 +39,7 @@ class WP_Styles extends WP_Dependencies {
 		do_action_ref_array( 'wp_default_styles', array(&$this) );
 	}
 
-	function do_item( $handle ) {
+	public function do_item( $handle ) {
 		if ( !parent::do_item($handle) )
 			return false;
 
@@ -93,14 +93,7 @@ class WP_Styles extends WP_Dependencies {
 				$rtl_href = $this->_css_href( $obj->extra['rtl'], $ver, "$handle-rtl" );
 			}
 
-			/**
-			 * Filter the right-to-left (RTL) HTML link tag of an enqueued style.
-			 *
-			 * @since 2.6.0
-			 *
-			 * @param string $rtl_style The right to left link tag for the enqueued style.
-			 * @param string $handle    The style's registered handle.
-			 */
+			/** This filter is documented in wp-includes/class.wp-styles.php */
 			$rtl_tag = apply_filters( 'style_loader_tag', "<link rel='$rel' id='$handle-rtl-css' $title href='$rtl_href' type='text/css' media='$media' />\n", $handle );
 
 			if ( $obj->extra['rtl'] === 'replace' ) {
@@ -126,7 +119,7 @@ class WP_Styles extends WP_Dependencies {
 		return true;
 	}
 
-	function add_inline_style( $handle, $code ) {
+	public function add_inline_style( $handle, $code ) {
 		if ( !$code )
 			return false;
 
@@ -139,7 +132,7 @@ class WP_Styles extends WP_Dependencies {
 		return $this->add_data( $handle, 'after', $after );
 	}
 
-	function print_inline_style( $handle, $echo = true ) {
+	public function print_inline_style( $handle, $echo = true ) {
 		$output = $this->get_data( $handle, 'after' );
 
 		if ( empty( $output ) )
@@ -157,7 +150,7 @@ class WP_Styles extends WP_Dependencies {
 		return true;
 	}
 
-	function all_deps( $handles, $recursion = false, $group = false ) {
+	public function all_deps( $handles, $recursion = false, $group = false ) {
 		$r = parent::all_deps( $handles, $recursion );
 		if ( !$recursion ) {
 			/**
@@ -172,7 +165,7 @@ class WP_Styles extends WP_Dependencies {
 		return $r;
 	}
 
-	function _css_href( $src, $ver, $handle ) {
+	public function _css_href( $src, $ver, $handle ) {
 		if ( !is_bool($src) && !preg_match('|^(https?:)?//|', $src) && ! ( $this->content_url && 0 === strpos($src, $this->content_url) ) ) {
 			$src = $this->base_url . $src;
 		}
@@ -192,7 +185,7 @@ class WP_Styles extends WP_Dependencies {
 		return esc_url( $src );
 	}
 
-	function in_default_dir($src) {
+	public function in_default_dir($src) {
 		if ( ! $this->default_dirs )
 			return true;
 
@@ -203,12 +196,12 @@ class WP_Styles extends WP_Dependencies {
 		return false;
 	}
 
-	function do_footer_items() { // HTML 5 allows styles in the body, grab late enqueued items and output them in the footer.
+	public function do_footer_items() { // HTML 5 allows styles in the body, grab late enqueued items and output them in the footer.
 		$this->do_items(false, 1);
 		return $this->done;
 	}
 
-	function reset() {
+	public function reset() {
 		$this->do_concat = false;
 		$this->concat = '';
 		$this->concat_version = '';
diff --git a/wp-includes/comment-template.php b/wp-includes/comment-template.php
index 978221f98..0d44376b2 100644
--- a/wp-includes/comment-template.php
+++ b/wp-includes/comment-template.php
@@ -641,7 +641,7 @@ function get_comment_link( $comment = null, $args = array() ) {
  *
  * @since 1.5.0
  *
- * @param int|WP_Post $post_id Post ID or WP_Post object. Default current post.
+ * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is global $post.
  * @return string The link to the comments.
  */
 function get_comments_link( $post_id = 0 ) {
@@ -678,28 +678,26 @@ function comments_link( $deprecated = '', $deprecated_2 = '' ) {
  *
  * @since 1.5.0
  *
- * @param int|WP_Post $post_id Post ID or WP_Post object. Default current post.
+ * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is global $post.
  * @return int The number of comments a post has.
  */
 function get_comments_number( $post_id = 0 ) {
-	$post_id = absint( $post_id );
-
-	if ( !$post_id )
-		$post_id = get_the_ID();
+	$post = get_post( $post_id );
 
-	$post = get_post($post_id);
-	if ( ! isset($post->comment_count) )
+	if ( ! $post ) {
 		$count = 0;
-	else
+	} else {
 		$count = $post->comment_count;
+		$post_id = $post->ID;
+	}
 
 	/**
 	 * Filter the returned comment count for a post.
 	 *
 	 * @since 1.5.0
 	 *
-	 * @param int         $count   Nnumber of comments a post has.
-	 * @param int|WP_Post $post_id Post ID or WP_Post object.
+	 * @param int $count   Number of comments a post has.
+	 * @param int $post_id Post ID.
 	 */
 	return apply_filters( 'get_comments_number', $count, $post_id );
 }
@@ -715,18 +713,31 @@ function get_comments_number( $post_id = 0 ) {
  * @param string $deprecated Not used.
  */
 function comments_number( $zero = false, $one = false, $more = false, $deprecated = '' ) {
-	if ( !empty( $deprecated ) )
+	if ( ! empty( $deprecated ) ) {
 		_deprecated_argument( __FUNCTION__, '1.3' );
+	}
+	echo get_comments_number_text( $zero, $one, $more );
+}
 
+/**
+ * Display the language string for the number of comments the current post has.
+ *
+ * @since 4.0.0
+ *
+ * @param string $zero Optional. Text for no comments. Default false.
+ * @param string $one  Optional. Text for one comment. Default false.
+ * @param string $more Optional. Text for more than one comment. Default false.
+ */
+function get_comments_number_text( $zero = false, $one = false, $more = false ) {
 	$number = get_comments_number();
 
-	if ( $number > 1 )
-		$output = str_replace('%', number_format_i18n($number), ( false === $more ) ? __('% Comments') : $more);
-	elseif ( $number == 0 )
-		$output = ( false === $zero ) ? __('No Comments') : $zero;
-	else // must be one
-		$output = ( false === $one ) ? __('1 Comment') : $one;
-
+	if ( $number > 1 ) {
+		$output = str_replace( '%', number_format_i18n( $number ), ( false === $more ) ? __( '% Comments' ) : $more );
+	} elseif ( $number == 0 ) {
+		$output = ( false === $zero ) ? __( 'No Comments' ) : $zero;
+	} else { // must be one
+		$output = ( false === $one ) ? __( '1 Comment' ) : $one;
+	}
 	/**
 	 * Filter the comments count for display.
 	 *
@@ -738,7 +749,7 @@ function comments_number( $zero = false, $one = false, $more = false, $deprecate
 	 *                       is equal to 0, 1, or 1+.
 	 * @param int    $number The number of post comments.
 	 */
-	echo apply_filters( 'comments_number', $output, $number );
+	return apply_filters( 'comments_number', $output, $number );
 }
 
 /**
@@ -1291,7 +1302,7 @@ function comments_popup_link( $zero = false, $one = false, $more = false, $css_c
  *                             Default current post.
  * @return mixed Link to show comment form, if successful. False, if comments are closed.
  */
-function get_comment_reply_link($args = array(), $comment = null, $post = null) {
+function get_comment_reply_link( $args = array(), $comment = null, $post = null ) {
 
 	$defaults = array(
 		'add_below'  => 'comment',
@@ -1303,28 +1314,31 @@ function get_comment_reply_link($args = array(), $comment = null, $post = null)
 		'after'      => ''
 	);
 
-	$args = wp_parse_args($args, $defaults);
+	$args = wp_parse_args( $args, $defaults );
 
-	if ( 0 == $args['depth'] || $args['max_depth'] <= $args['depth'] )
+	if ( 0 == $args['depth'] || $args['max_depth'] <= $args['depth'] ) {
 		return;
+	}
 
-	extract($args, EXTR_SKIP);
+	$add_below = $args['add_below'];
+	$respond_id = $args['respond_id'];
+	$reply_text = $args['reply_text'];
 
-	$comment = get_comment($comment);
-	if ( empty($post) )
+	$comment = get_comment( $comment );
+	if ( empty( $post ) ) {
 		$post = $comment->comment_post_ID;
-	$post = get_post($post);
+	}
+	$post = get_post( $post );
 
-	if ( !comments_open($post->ID) )
+	if ( ! comments_open( $post->ID ) ) {
 		return false;
+	}
 
-	$link = '';
-
-	if ( get_option('comment_registration') && ! is_user_logged_in() )
-		$link = '<a rel="nofollow" class="comment-reply-login" href="' . esc_url( wp_login_url( get_permalink() ) ) . '">' . $login_text . '</a>';
-	else
+	if ( get_option( 'comment_registration' ) && ! is_user_logged_in() ) {
+		$link = '<a rel="nofollow" class="comment-reply-login" href="' . esc_url( wp_login_url( get_permalink() ) ) . '">' . $args['login_text'] . '</a>';
+	} else {
 		$link = "<a class='comment-reply-link' href='" . esc_url( add_query_arg( 'replytocom', $comment->comment_ID ) ) . "#" . $respond_id . "' onclick='return addComment.moveForm(\"$add_below-$comment->comment_ID\", \"$comment->comment_ID\", \"$respond_id\", \"$post->ID\")'>$reply_text</a>";
-
+	}
 	/**
 	 * Filter the comment reply link.
 	 *
@@ -1335,7 +1349,7 @@ function get_comment_reply_link($args = array(), $comment = null, $post = null)
 	 * @param object  $comment The object of the comment being replied.
 	 * @param WP_Post $post    The WP_Post object.
 	 */
-	return apply_filters( 'comment_reply_link', $before . $link . $after, $args, $comment, $post );
+	return apply_filters( 'comment_reply_link', $args['before'] . $link . $args['after'], $args, $comment, $post );
 }
 
 /**
@@ -1389,18 +1403,21 @@ function get_post_reply_link($args = array(), $post = null) {
 	);
 
 	$args = wp_parse_args($args, $defaults);
-	extract($args, EXTR_SKIP);
+	$add_below = $args['add_below'];
+	$respond_id = $args['respond_id'];
+	$reply_text = $args['reply_text'];
 	$post = get_post($post);
 
-	if ( !comments_open($post->ID) )
+	if ( ! comments_open( $post->ID ) ) {
 		return false;
+	}
 
-	if ( get_option('comment_registration') && ! is_user_logged_in() )
-		$link = '<a rel="nofollow" href="' . wp_login_url( get_permalink() ) . '">' . $login_text . '</a>';
-	else
+	if ( get_option('comment_registration') && ! is_user_logged_in() ) {
+		$link = '<a rel="nofollow" href="' . wp_login_url( get_permalink() ) . '">' . $args['login_text'] . '</a>';
+	} else {
 		$link = "<a rel='nofollow' class='comment-reply-link' href='" . get_permalink($post->ID) . "#$respond_id' onclick='return addComment.moveForm(\"$add_below-$post->ID\", \"0\", \"$respond_id\", \"$post->ID\")'>$reply_text</a>";
-
-	$formatted_link = $before . $link . $after;
+	}
+	$formatted_link = $args['before'] . $link . $args['after'];
 	/**
 	 * Filter the formatted post comments link HTML.
 	 *
@@ -1552,7 +1569,7 @@ class Walker_Comment extends Walker {
 	 * @since 2.7.0
 	 * @var string
 	 */
-	var $tree_type = 'comment';
+	public $tree_type = 'comment';
 
 	/**
 	 * DB fields to use.
@@ -1562,7 +1579,7 @@ class Walker_Comment extends Walker {
 	 * @since 2.7.0
 	 * @var array
 	 */
-	var $db_fields = array ('parent' => 'comment_parent', 'id' => 'comment_ID');
+	public $db_fields = array ('parent' => 'comment_parent', 'id' => 'comment_ID');
 
 	/**
 	 * Start the list before the elements are added.
@@ -1575,7 +1592,7 @@ class Walker_Comment extends Walker {
 	 * @param int $depth Depth of comment.
 	 * @param array $args Uses 'style' argument for type of HTML list.
 	 */
-	function start_lvl( &$output, $depth = 0, $args = array() ) {
+	public function start_lvl( &$output, $depth = 0, $args = array() ) {
 		$GLOBALS['comment_depth'] = $depth + 1;
 
 		switch ( $args['style'] ) {
@@ -1584,8 +1601,8 @@ class Walker_Comment extends Walker {
 			case 'ol':
 				$output .= '<ol class="children">' . "\n";
 				break;
-			default:
 			case 'ul':
+			default:
 				$output .= '<ul class="children">' . "\n";
 				break;
 		}
@@ -1602,7 +1619,7 @@ class Walker_Comment extends Walker {
 	 * @param int    $depth  Depth of comment.
 	 * @param array  $args   Will only append content if style argument value is 'ol' or 'ul'.
 	 */
-	function end_lvl( &$output, $depth = 0, $args = array() ) {
+	public function end_lvl( &$output, $depth = 0, $args = array() ) {
 		$GLOBALS['comment_depth'] = $depth + 1;
 
 		switch ( $args['style'] ) {
@@ -1611,8 +1628,8 @@ class Walker_Comment extends Walker {
 			case 'ol':
 				$output .= "</ol><!-- .children -->\n";
 				break;
-			default:
 			case 'ul':
+			default:
 				$output .= "</ul><!-- .children -->\n";
 				break;
 		}
@@ -1650,7 +1667,7 @@ class Walker_Comment extends Walker {
 	 * @param string $output            Passed by reference. Used to append additional content.
 	 * @return null Null on failure with no changes to parameters.
 	 */
-	function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) {
+	public function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) {
 
 		if ( !$element )
 			return;
@@ -1684,7 +1701,7 @@ class Walker_Comment extends Walker {
 	 * @param int    $depth   Depth of comment in reference to parents.
 	 * @param array  $args    An array of arguments.
 	 */
-	function start_el( &$output, $comment, $depth = 0, $args = array(), $id = 0 ) {
+	public function start_el( &$output, $comment, $depth = 0, $args = array(), $id = 0 ) {
 		$depth++;
 		$GLOBALS['comment_depth'] = $depth;
 		$GLOBALS['comment'] = $comment;
@@ -1724,7 +1741,7 @@ class Walker_Comment extends Walker {
 	 * @param int    $depth   Depth of comment.
 	 * @param array  $args    An array of arguments.
 	 */
-	function end_el( &$output, $comment, $depth = 0, $args = array() ) {
+	public function end_el( &$output, $comment, $depth = 0, $args = array() ) {
 		if ( !empty( $args['end-callback'] ) ) {
 			ob_start();
 			call_user_func( $args['end-callback'], $comment, $args, $depth );
@@ -1780,7 +1797,7 @@ class Walker_Comment extends Walker {
 			$add_below = 'div-comment';
 		}
 ?>
-		<<?php echo $tag; ?> <?php comment_class( empty( $args['has_children'] ) ? '' : 'parent' ); ?> id="comment-<?php comment_ID(); ?>">
+		<<?php echo $tag; ?> <?php comment_class( $this->has_children ? 'parent' : '' ); ?> id="comment-<?php comment_ID(); ?>">
 		<?php if ( 'div' != $args['style'] ) : ?>
 		<div id="div-comment-<?php comment_ID(); ?>" class="comment-body">
 		<?php endif; ?>
@@ -1826,7 +1843,7 @@ class Walker_Comment extends Walker {
 	protected function html5_comment( $comment, $depth, $args ) {
 		$tag = ( 'div' === $args['style'] ) ? 'div' : 'li';
 ?>
-		<<?php echo $tag; ?> id="comment-<?php comment_ID(); ?>" <?php comment_class( empty( $args['has_children'] ) ? '' : 'parent' ); ?>>
+		<<?php echo $tag; ?> id="comment-<?php comment_ID(); ?>" <?php comment_class( $this->has_children ? 'parent' : '' ); ?>>
 			<article id="div-comment-<?php comment_ID(); ?>" class="comment-body">
 				<footer class="comment-meta">
 					<div class="comment-author vcard">
@@ -1872,7 +1889,7 @@ class Walker_Comment extends Walker {
  * @param string|array $args {
  *     Optional. Formatting options.
  *
- *     @type string $walker            The Walker class used to list comments. Default null.
+ *     @type object $walker            Instance of a Walker class to list comments. Default null.
  *     @type int    $max_depth         The maximum comments depth. Default empty.
  *     @type string $style             The style of list ordering. Default 'ul'. Accepts 'ul', 'ol'.
  *     @type string $callback          Callback function to use. Default null.
@@ -1918,6 +1935,17 @@ function wp_list_comments( $args = array(), $comments = null ) {
 
 	$r = wp_parse_args( $args, $defaults );
 
+	/**
+	 * Filter the arguments used in retrieving the comment list.
+	 *
+	 * @since 4.0.0
+	 *
+	 * @see wp_list_comments()
+	 *
+	 * @param array $r An array of arguments for displaying comments.
+	 */
+	$r = apply_filters( 'wp_list_comments_args', $r );
+
 	// Figure out what comments we'll be looping through ($_comments)
 	if ( null !== $comments ) {
 		$comments = (array) $comments;
@@ -1977,20 +2005,22 @@ function wp_list_comments( $args = array(), $comments = null ) {
 	if ( null === $r['reverse_top_level'] )
 		$r['reverse_top_level'] = ( 'desc' == get_option('comment_order') );
 
-	extract( $r, EXTR_SKIP );
-
-	if ( empty($walker) )
+	if ( empty( $r['walker'] ) ) {
 		$walker = new Walker_Comment;
+	} else {
+		$walker = $r['walker'];
+	}
 
-	$output = $walker->paged_walk($_comments, $max_depth, $page, $per_page, $r);
+	$output = $walker->paged_walk( $_comments, $r['max_depth'], $r['page'], $r['per_page'], $r );
 	$wp_query->max_num_comment_pages = $walker->max_pages;
 
 	$in_comment_loop = false;
 
-	if ( $r['echo'] )
+	if ( $r['echo'] ) {
 		echo $output;
-	else
+	} else {
 		return $output;
+	}
 }
 
 /**
@@ -2024,6 +2054,7 @@ function wp_list_comments( $args = array(), $comments = null ) {
  *                                        Default 'You may use these HTML tags and attributes ...'.
  *     @type string $id_form              The comment form element id attribute. Default 'commentform'.
  *     @type string $id_submit            The comment submit element id attribute. Default 'submit'.
+ *     @type string $name_submit          The comment submit element name attribute. Default 'submit'.
  *     @type string $title_reply          The translatable 'reply' button label. Default 'Leave a Reply'.
  *     @type string $title_reply_to       The translatable 'reply-to' button label. Default 'Leave a Reply to %s',
  *                                        where %s is the author of the comment being replied to.
@@ -2036,8 +2067,6 @@ function wp_list_comments( $args = array(), $comments = null ) {
 function comment_form( $args = array(), $post_id = null ) {
 	if ( null === $post_id )
 		$post_id = get_the_ID();
-	else
-		$id = $post_id;
 
 	$commenter = wp_get_current_commenter();
 	$user = wp_get_current_user();
@@ -2080,6 +2109,7 @@ function comment_form( $args = array(), $post_id = null ) {
 		'comment_notes_after'  => '<p class="form-allowed-tags">' . sprintf( __( 'You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: %s' ), ' <code>' . allowed_tags() . '</code>' ) . '</p>',
 		'id_form'              => 'commentform',
 		'id_submit'            => 'submit',
+		'name_submit'          => 'submit',
 		'title_reply'          => __( 'Leave a Reply' ),
 		'title_reply_to'       => __( 'Leave a Reply to %s' ),
 		'cancel_reply_link'    => __( 'Cancel reply' ),
@@ -2200,7 +2230,7 @@ function comment_form( $args = array(), $post_id = null ) {
 						?>
 						<?php echo $args['comment_notes_after']; ?>
 						<p class="form-submit">
-							<input name="submit" type="submit" id="<?php echo esc_attr( $args['id_submit'] ); ?>" value="<?php echo esc_attr( $args['label_submit'] ); ?>" />
+							<input name="<?php echo esc_attr( $args['name_submit'] ); ?>" type="submit" id="<?php echo esc_attr( $args['id_submit'] ); ?>" value="<?php echo esc_attr( $args['label_submit'] ); ?>" />
 							<?php comment_id_fields( $post_id ); ?>
 						</p>
 						<?php
diff --git a/wp-includes/comment.php b/wp-includes/comment.php
index f7ddbc478..a4cc7e2b2 100644
--- a/wp-includes/comment.php
+++ b/wp-includes/comment.php
@@ -209,7 +209,7 @@ class WP_Comment_Query {
 	 * @access public
 	 * @var object WP_Meta_Query
 	 */
-	var $meta_query = false;
+	public $meta_query = false;
 
 	/**
 	 * Date query container
@@ -218,7 +218,21 @@ class WP_Comment_Query {
 	 * @access public
 	 * @var object WP_Date_Query
 	 */
-	var $date_query = false;
+	public $date_query = false;
+
+	/**
+	 * Make private/protected methods readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param callable $name      Method to call.
+	 * @param array    $arguments Arguments to pass when calling.
+	 * @return mixed|bool Return value of the callback, false otherwise.
+	 */
+	public function __call( $name, $arguments ) {
+		return call_user_func_array( array( $this, $name ), $arguments );
+	}
 
 	/**
 	 * Execute the query
@@ -228,11 +242,12 @@ class WP_Comment_Query {
 	 * @param string|array $query_vars
 	 * @return int|array
 	 */
-	function query( $query_vars ) {
+	public function query( $query_vars ) {
 		global $wpdb;
 
 		$defaults = array(
 			'author_email' => '',
+			'fields' => '',
 			'ID' => '',
 			'karma' => '',
 			'number' => '',
@@ -274,10 +289,9 @@ class WP_Comment_Query {
 		 * @param WP_Comment_Query &$this Current instance of WP_Comment_Query, passed by reference.
 		 */
 		do_action_ref_array( 'pre_get_comments', array( &$this ) );
-		extract( $this->query_vars, EXTR_SKIP );
 
 		// $args can be whatever, only use the args defined in defaults to compute the key
-		$key = md5( serialize( compact(array_keys($defaults)) )  );
+		$key = md5( serialize( wp_array_slice_assoc( $this->query_vars, array_keys( $defaults ) ) )  );
 		$last_changed = wp_cache_get( 'last_changed', 'comment' );
 		if ( ! $last_changed ) {
 			$last_changed = microtime();
@@ -285,24 +299,27 @@ class WP_Comment_Query {
 		}
 		$cache_key = "get_comments:$key:$last_changed";
 
-		if ( $cache = wp_cache_get( $cache_key, 'comment' ) )
+		if ( $cache = wp_cache_get( $cache_key, 'comment' ) ) {
 			return $cache;
+		}
 
-		$post_id = absint($post_id);
-
-		if ( 'hold' == $status )
+		$status = $this->query_vars['status'];
+		if ( 'hold' == $status ) {
 			$approved = "comment_approved = '0'";
-		elseif ( 'approve' == $status )
+		} elseif ( 'approve' == $status ) {
 			$approved = "comment_approved = '1'";
-		elseif ( ! empty( $status ) && 'all' != $status )
+		} elseif ( ! empty( $status ) && 'all' != $status ) {
 			$approved = $wpdb->prepare( "comment_approved = %s", $status );
-		else
+		} else {
 			$approved = "( comment_approved = '0' OR comment_approved = '1' )";
+		}
+		$order = ( 'ASC' == strtoupper( $this->query_vars['order'] ) ) ? 'ASC' : 'DESC';
 
-		$order = ( 'ASC' == strtoupper($order) ) ? 'ASC' : 'DESC';
+		if ( ! empty( $this->query_vars['orderby'] ) ) {
+			$ordersby = is_array( $this->query_vars['orderby'] ) ?
+				$this->query_vars['orderby'] :
+				preg_split( '/[,\s]/', $this->query_vars['orderby'] );
 
-		if ( ! empty( $orderby ) ) {
-			$ordersby = is_array($orderby) ? $orderby : preg_split('/[,\s]/', $orderby);
 			$allowed_keys = array(
 				'comment_agent',
 				'comment_approved',
@@ -338,52 +355,76 @@ class WP_Comment_Query {
 			$orderby = 'comment_date_gmt';
 		}
 
-		$number = absint($number);
-		$offset = absint($offset);
+		$number = absint( $this->query_vars['number'] );
+		$offset = absint( $this->query_vars['offset'] );
 
-		if ( !empty($number) ) {
-			if ( $offset )
+		if ( ! empty( $number ) ) {
+			if ( $offset ) {
 				$limits = 'LIMIT ' . $offset . ',' . $number;
-			else
+			} else {
 				$limits = 'LIMIT ' . $number;
+			}
 		} else {
 			$limits = '';
 		}
 
-		if ( $count )
+		if ( $this->query_vars['count'] ) {
 			$fields = 'COUNT(*)';
-		else
-			$fields = '*';
+		} else {
+			switch ( strtolower( $this->query_vars['fields'] ) ) {
+				case 'ids':
+					$fields = "$wpdb->comments.comment_ID";
+					break;
+				default:
+					$fields = "*";
+					break;
+			}
+		}
 
 		$join = '';
 		$where = $approved;
 
-		if ( ! empty($post_id) )
+		$post_id = absint( $this->query_vars['post_id'] );
+		if ( ! empty( $post_id ) ) {
 			$where .= $wpdb->prepare( ' AND comment_post_ID = %d', $post_id );
-		if ( '' !== $author_email )
-			$where .= $wpdb->prepare( ' AND comment_author_email = %s', $author_email );
-		if ( '' !== $karma )
-			$where .= $wpdb->prepare( ' AND comment_karma = %d', $karma );
-		if ( 'comment' == $type ) {
+		}
+
+		if ( '' !== $this->query_vars['author_email'] ) {
+			$where .= $wpdb->prepare( ' AND comment_author_email = %s', $this->query_vars['author_email'] );
+		}
+
+		if ( '' !== $this->query_vars['karma'] ) {
+			$where .= $wpdb->prepare( ' AND comment_karma = %d', $this->query_vars['karma'] );
+		}
+
+		if ( 'comment' == $this->query_vars['type'] ) {
 			$where .= " AND comment_type = ''";
-		} elseif( 'pings' == $type ) {
+		} elseif( 'pings' == $this->query_vars['type'] ) {
 			$where .= ' AND comment_type IN ("pingback", "trackback")';
-		} elseif ( ! empty( $type ) ) {
-			$where .= $wpdb->prepare( ' AND comment_type = %s', $type );
+		} elseif ( ! empty( $this->query_vars['type'] ) ) {
+			$where .= $wpdb->prepare( ' AND comment_type = %s', $this->query_vars['type'] );
+		}
+
+		if ( '' !== $this->query_vars['parent'] ) {
+			$where .= $wpdb->prepare( ' AND comment_parent = %d', $this->query_vars['parent'] );
 		}
-		if ( '' !== $parent )
-			$where .= $wpdb->prepare( ' AND comment_parent = %d', $parent );
 
-		if ( is_array( $user_id ) ) {
-			$where .= ' AND user_id IN (' . implode( ',', array_map( 'absint', $user_id ) ) . ')';
-		} elseif ( '' !== $user_id ) {
-			$where .= $wpdb->prepare( ' AND user_id = %d', $user_id );
+		if ( is_array( $this->query_vars['user_id'] ) ) {
+			$where .= ' AND user_id IN (' . implode( ',', array_map( 'absint', $this->query_vars['user_id'] ) ) . ')';
+		} elseif ( '' !== $this->query_vars['user_id'] ) {
+			$where .= $wpdb->prepare( ' AND user_id = %d', $this->query_vars['user_id'] );
 		}
 
-		if ( '' !== $search )
-			$where .= $this->get_search_sql( $search, array( 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_author_IP', 'comment_content' ) );
+		if ( '' !== $this->query_vars['search'] ) {
+			$where .= $this->get_search_sql(
+				$this->query_vars['search'],
+				array( 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_author_IP', 'comment_content' )
+			);
+		}
+
+		$plucked = wp_array_slice_assoc( $this->query_vars, array( 'post_author', 'post_name', 'post_parent', 'post_status', 'post_type' ) );
+		$post_fields = array_filter( $plucked );
 
-		$post_fields = array_filter( compact( array( 'post_author', 'post_name', 'post_parent', 'post_status', 'post_type', ) ) );
 		if ( ! empty( $post_fields ) ) {
 			$join = "JOIN $wpdb->posts ON $wpdb->posts.ID = $wpdb->comments.comment_post_ID";
 			foreach( $post_fields as $field_name => $field_value )
@@ -397,6 +438,7 @@ class WP_Comment_Query {
 			$groupby = "{$wpdb->comments}.comment_ID";
 		}
 
+		$date_query = $this->query_vars['date_query'];
 		if ( ! empty( $date_query ) && is_array( $date_query ) ) {
 			$date_query_object = new WP_Date_Query( $date_query, 'comment_date' );
 			$where .= $date_query_object->get_sql();
@@ -412,27 +454,39 @@ class WP_Comment_Query {
 		 * @param WP_Comment_Query &$this  Current instance of WP_Comment_Query, passed by reference.
 		 */
 		$clauses = apply_filters_ref_array( 'comments_clauses', array( compact( $pieces ), &$this ) );
-		foreach ( $pieces as $piece )
-			$$piece = isset( $clauses[ $piece ] ) ? $clauses[ $piece ] : '';
 
-		if ( $groupby )
-			$groupby = 'GROUP BY ' . $groupby;
+		$fields = isset( $clauses[ 'fields' ] ) ? $clauses[ 'fields' ] : '';
+		$join = isset( $clauses[ 'join' ] ) ? $clauses[ 'join' ] : '';
+		$where = isset( $clauses[ 'where' ] ) ? $clauses[ 'where' ] : '';
+		$orderby = isset( $clauses[ 'orderby' ] ) ? $clauses[ 'orderby' ] : '';
+		$order = isset( $clauses[ 'order' ] ) ? $clauses[ 'order' ] : '';
+		$limits = isset( $clauses[ 'limits' ] ) ? $clauses[ 'limits' ] : '';
+		$groupby = isset( $clauses[ 'groupby' ] ) ? $clauses[ 'groupby' ] : '';
 
+		if ( $groupby ) {
+			$groupby = 'GROUP BY ' . $groupby;
+		}
 		$query = "SELECT $fields FROM $wpdb->comments $join WHERE $where $groupby ORDER BY $orderby $order $limits";
 
-		if ( $count )
+		if ( $this->query_vars['count'] ) {
 			return $wpdb->get_var( $query );
+		}
+
+		if ( 'ids' == $this->query_vars['fields'] ) {
+			$this->comments = $wpdb->get_col( $query );
+			return array_map( 'intval', $this->comments );
+		}
 
-		$comments = $wpdb->get_results( $query );
+		$results = $wpdb->get_results( $query );
 		/**
 		 * Filter the comment query results.
 		 *
 		 * @since 3.1.0
 		 *
-		 * @param array            $comments An array of comments.
+		 * @param array            $results  An array of comments.
 		 * @param WP_Comment_Query &$this    Current instance of WP_Comment_Query, passed by reference.
 		 */
-		$comments = apply_filters_ref_array( 'the_comments', array( $comments, &$this ) );
+		$comments = apply_filters_ref_array( 'the_comments', array( $results, &$this ) );
 
 		wp_cache_add( $cache_key, $comments, 'comment' );
 
@@ -449,12 +503,15 @@ class WP_Comment_Query {
 	 * @param array $cols
 	 * @return string
 	 */
-	function get_search_sql( $string, $cols ) {
-		$string = esc_sql( like_escape( $string ) );
+	protected function get_search_sql( $string, $cols ) {
+		global $wpdb;
+
+		$like = '%' . $wpdb->esc_like( $string ) . '%';
 
 		$searches = array();
-		foreach ( $cols as $col )
-			$searches[] = "$col LIKE '%$string%'";
+		foreach ( $cols as $col ) {
+			$searches[] = $wpdb->prepare( "$col LIKE %s", $like );
+		}
 
 		return ' AND (' . implode(' OR ', $searches) . ')';
 	}
@@ -678,9 +735,10 @@ function wp_set_comment_cookies($comment, $user) {
 	 * @param int $seconds Comment cookie lifetime. Default 30000000.
 	 */
 	$comment_cookie_lifetime = apply_filters( 'comment_cookie_lifetime', 30000000 );
-	setcookie('comment_author_' . COOKIEHASH, $comment->comment_author, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
-	setcookie('comment_author_email_' . COOKIEHASH, $comment->comment_author_email, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
-	setcookie('comment_author_url_' . COOKIEHASH, esc_url($comment->comment_author_url), time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
+	$secure = ( 'https' === parse_url( home_url(), PHP_URL_SCHEME ) );
+	setcookie( 'comment_author_' . COOKIEHASH, $comment->comment_author, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN, $secure );
+	setcookie( 'comment_author_email_' . COOKIEHASH, $comment->comment_author_email, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN, $secure );
+	setcookie( 'comment_author_url_' . COOKIEHASH, esc_url($comment->comment_author_url), time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN, $secure );
 }
 
 /**
@@ -752,17 +810,28 @@ function sanitize_comment_cookies() {
  * @param array $commentdata Contains information on the comment
  * @return mixed Signifies the approval status (0|1|'spam')
  */
-function wp_allow_comment($commentdata) {
+function wp_allow_comment( $commentdata ) {
 	global $wpdb;
-	extract($commentdata, EXTR_SKIP);
 
 	// Simple duplicate check
 	// expected_slashed ($comment_post_ID, $comment_author, $comment_author_email, $comment_content)
-	$dupe = $wpdb->prepare( "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_parent = %s AND comment_approved != 'trash' AND ( comment_author = %s ", wp_unslash( $comment_post_ID ), wp_unslash( $comment_parent ), wp_unslash( $comment_author ) );
-	if ( $comment_author_email )
-		$dupe .= $wpdb->prepare( "OR comment_author_email = %s ", wp_unslash( $comment_author_email ) );
-	$dupe .= $wpdb->prepare( ") AND comment_content = %s LIMIT 1", wp_unslash( $comment_content ) );
-	if ( $wpdb->get_var($dupe) ) {
+	$dupe = $wpdb->prepare(
+		"SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_parent = %s AND comment_approved != 'trash' AND ( comment_author = %s ",
+		wp_unslash( $commentdata['comment_post_ID'] ),
+		wp_unslash( $commentdata['comment_parent'] ),
+		wp_unslash( $commentdata['comment_author'] )
+	);
+	if ( $commentdata['comment_author_email'] ) {
+		$dupe .= $wpdb->prepare(
+			"OR comment_author_email = %s ",
+			wp_unslash( $commentdata['comment_author_email'] )
+		);
+	}
+	$dupe .= $wpdb->prepare(
+		") AND comment_content = %s LIMIT 1",
+		wp_unslash( $commentdata['comment_content'] )
+	);
+	if ( $wpdb->get_var( $dupe ) ) {
 		/**
 		 * Fires immediately after a duplicate comment is detected.
 		 *
@@ -771,9 +840,9 @@ function wp_allow_comment($commentdata) {
 		 * @param array $commentdata Comment data.
 		 */
 		do_action( 'comment_duplicate_trigger', $commentdata );
-		if ( defined('DOING_AJAX') )
+		if ( defined( 'DOING_AJAX' ) ) {
 			die( __('Duplicate comment detected; it looks as though you&#8217;ve already said that!') );
-
+		}
 		wp_die( __('Duplicate comment detected; it looks as though you&#8217;ve already said that!') );
 	}
 
@@ -788,24 +857,50 @@ function wp_allow_comment($commentdata) {
 	 * @param string $comment_author_email Comment author's email.
 	 * @param string $comment_date_gmt     GMT date the comment was posted.
 	 */
-	do_action( 'check_comment_flood', $comment_author_IP, $comment_author_email, $comment_date_gmt );
+	do_action(
+		'check_comment_flood',
+		$commentdata['comment_author_IP'],
+		$commentdata['comment_author_email'],
+		$commentdata['comment_date_gmt']
+	);
 
-	if ( ! empty( $user_id ) ) {
-		$user = get_userdata( $user_id );
-		$post_author = $wpdb->get_var($wpdb->prepare("SELECT post_author FROM $wpdb->posts WHERE ID = %d LIMIT 1", $comment_post_ID));
+	if ( ! empty( $commentdata['user_id'] ) ) {
+		$user = get_userdata( $commentdata['user_id'] );
+		$post_author = $wpdb->get_var( $wpdb->prepare(
+			"SELECT post_author FROM $wpdb->posts WHERE ID = %d LIMIT 1",
+			$commentdata['comment_post_ID']
+		) );
 	}
 
-	if ( isset( $user ) && ( $user_id == $post_author || $user->has_cap( 'moderate_comments' ) ) ) {
+	if ( isset( $user ) && ( $commentdata['user_id'] == $post_author || $user->has_cap( 'moderate_comments' ) ) ) {
 		// The author and the admins get respect.
 		$approved = 1;
 	} else {
 		// Everyone else's comments will be checked.
-		if ( check_comment($comment_author, $comment_author_email, $comment_author_url, $comment_content, $comment_author_IP, $comment_agent, $comment_type) )
+		if ( check_comment(
+			$commentdata['comment_author'],
+			$commentdata['comment_author_email'],
+			$commentdata['comment_author_url'],
+			$commentdata['comment_content'],
+			$commentdata['comment_author_IP'],
+			$commentdata['comment_agent'],
+			$commentdata['comment_type']
+		) ) {
 			$approved = 1;
-		else
+		} else {
 			$approved = 0;
-		if ( wp_blacklist_check($comment_author, $comment_author_email, $comment_author_url, $comment_content, $comment_author_IP, $comment_agent) )
+		}
+
+		if ( wp_blacklist_check(
+			$commentdata['comment_author'],
+			$commentdata['comment_author_email'],
+			$commentdata['comment_author_url'],
+			$commentdata['comment_content'],
+			$commentdata['comment_author_IP'],
+			$commentdata['comment_agent']
+		) ) {
 			$approved = 'spam';
+		}
 	}
 
 	/**
@@ -1187,15 +1282,9 @@ function wp_delete_comment($comment_id, $force_delete = false) {
 
 	clean_comment_cache($comment_id);
 
-	/**
-	 * Fires immediately before changing the comment's status to 'delete'.
-	 *
-	 * @since 1.5.0
-	 *
-	 * @param int    $comment_id The comment ID.
-	 * @param string $status     The new 'delete' comment status.
-	 */
+	/** This action is documented in wp-includes/comment.php */
 	do_action( 'wp_set_comment_status', $comment_id, 'delete' );
+
 	wp_transition_comment_status('delete', $comment->comment_approved, $comment);
 	return true;
 }
@@ -1520,38 +1609,41 @@ function wp_get_current_commenter() {
  * @uses $wpdb
  *
  * @param array $commentdata Contains information on the comment.
- * @return int The new comment's ID.
+ * @return int|bool The new comment's ID on success, false on failure.
  */
-function wp_insert_comment($commentdata) {
+function wp_insert_comment( $commentdata ) {
 	global $wpdb;
-	extract(wp_unslash($commentdata), EXTR_SKIP);
-
-	if ( ! isset($comment_author_IP) )
-		$comment_author_IP = '';
-	if ( ! isset($comment_date) )
-		$comment_date = current_time('mysql');
-	if ( ! isset($comment_date_gmt) )
-		$comment_date_gmt = get_gmt_from_date($comment_date);
-	if ( ! isset($comment_parent) )
-		$comment_parent = 0;
-	if ( ! isset($comment_approved) )
-		$comment_approved = 1;
-	if ( ! isset($comment_karma) )
-		$comment_karma = 0;
-	if ( ! isset($user_id) )
-		$user_id = 0;
-	if ( ! isset($comment_type) )
-		$comment_type = '';
-
-	$data = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_author_IP', 'comment_date', 'comment_date_gmt', 'comment_content', 'comment_karma', 'comment_approved', 'comment_agent', 'comment_type', 'comment_parent', 'user_id');
-	$wpdb->insert($wpdb->comments, $data);
+	$data = wp_unslash( $commentdata );
 
-	$id = (int) $wpdb->insert_id;
+	$comment_author       = ! isset( $data['comment_author'] )       ? '' : $data['comment_author'];
+	$comment_author_email = ! isset( $data['comment_author_email'] ) ? '' : $data['comment_author_email'];
+	$comment_author_url   = ! isset( $data['comment_author_url'] )   ? '' : $data['comment_author_url'];
+	$comment_author_IP    = ! isset( $data['comment_author_IP'] )    ? '' : $data['comment_author_IP'];
+
+	$comment_date     = ! isset( $data['comment_date'] )     ? current_time( 'mysql' )            : $data['comment_date'];
+	$comment_date_gmt = ! isset( $data['comment_date_gmt'] ) ? get_gmt_from_date( $comment_date ) : $data['comment_date_gmt'];
+
+	$comment_post_ID  = ! isset( $data['comment_post_ID'] )  ? '' : $data['comment_post_ID'];
+	$comment_content  = ! isset( $data['comment_content'] )  ? '' : $data['comment_content'];
+	$comment_karma    = ! isset( $data['comment_karma'] )    ? 0  : $data['comment_karma'];
+	$comment_approved = ! isset( $data['comment_approved'] ) ? 1  : $data['comment_approved'];
+	$comment_agent    = ! isset( $data['comment_agent'] )    ? '' : $data['comment_agent'];
+	$comment_type     = ! isset( $data['comment_type'] )     ? '' : $data['comment_type'];
+	$comment_parent   = ! isset( $data['comment_parent'] )   ? 0  : $data['comment_parent'];
+
+	$user_id  = ! isset( $data['user_id'] ) ? 0 : $data['user_id'];
 
-	if ( $comment_approved == 1 )
-		wp_update_comment_count($comment_post_ID);
+	$compacted = compact( 'comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_author_IP', 'comment_date', 'comment_date_gmt', 'comment_content', 'comment_karma', 'comment_approved', 'comment_agent', 'comment_type', 'comment_parent', 'user_id' );
+	if ( ! $wpdb->insert( $wpdb->comments, $compacted ) ) {
+		return false;
+	}
 
-	$comment = get_comment($id);
+	$id = (int) $wpdb->insert_id;
+
+	if ( $comment_approved == 1 ) {
+		wp_update_comment_count( $comment_post_ID );
+	}
+	$comment = get_comment( $id );
 
 	/**
 	 * Fires immediately after a comment is inserted into the database.
@@ -1664,9 +1756,15 @@ function wp_throttle_comment_flood($block, $time_lastcomment, $time_newcomment)
  *
  * @since 1.5.0
  * @param array $commentdata Contains information on the comment.
- * @return int The ID of the comment after adding.
+ * @return int|bool The ID of the comment on success, false on failure.
  */
 function wp_new_comment( $commentdata ) {
+	if ( isset( $commentdata['user_ID'] ) ) {
+		$commentdata['user_id'] = $commentdata['user_ID'] = (int) $commentdata['user_ID'];
+	}
+
+	$prefiltered_user_id = ( isset( $commentdata['user_id'] ) ) ? (int) $commentdata['user_id'] : 0;
+
 	/**
 	 * Filter a comment's data before it is sanitized and inserted into the database.
 	 *
@@ -1677,10 +1775,11 @@ function wp_new_comment( $commentdata ) {
 	$commentdata = apply_filters( 'preprocess_comment', $commentdata );
 
 	$commentdata['comment_post_ID'] = (int) $commentdata['comment_post_ID'];
-	if ( isset($commentdata['user_ID']) )
+	if ( isset( $commentdata['user_ID'] ) && $prefiltered_user_id !== (int) $commentdata['user_ID'] ) {
 		$commentdata['user_id'] = $commentdata['user_ID'] = (int) $commentdata['user_ID'];
-	elseif ( isset($commentdata['user_id']) )
+	} elseif ( isset( $commentdata['user_id'] ) ) {
 		$commentdata['user_id'] = (int) $commentdata['user_id'];
+	}
 
 	$commentdata['comment_parent'] = isset($commentdata['comment_parent']) ? absint($commentdata['comment_parent']) : 0;
 	$parent_status = ( 0 < $commentdata['comment_parent'] ) ? wp_get_comment_status($commentdata['comment_parent']) : '';
@@ -1697,6 +1796,9 @@ function wp_new_comment( $commentdata ) {
 	$commentdata['comment_approved'] = wp_allow_comment($commentdata);
 
 	$comment_ID = wp_insert_comment($commentdata);
+	if ( ! $comment_ID ) {
+		return false;
+	}
 
 	/**
 	 * Fires immediately after a comment is inserted into the database.
@@ -1740,7 +1842,6 @@ function wp_new_comment( $commentdata ) {
 function wp_set_comment_status($comment_id, $comment_status, $wp_error = false) {
 	global $wpdb;
 
-	$status = '0';
 	switch ( $comment_status ) {
 		case 'hold':
 		case '0':
@@ -1777,17 +1878,17 @@ function wp_set_comment_status($comment_id, $comment_status, $wp_error = false)
 	$comment = get_comment($comment_id);
 
 	/**
-	 * Fires after a comment status has been updated in the database.
-	 *
-	 * The hook also fires immediately before comment status transition hooks are fired.
+	 * Fires immediately before transitioning a comment's status from one to another
+	 * in the database.
 	 *
 	 * @since 1.5.0
 	 *
-	 * @param int         $comment_id     The comment ID.
-	 * @param string|bool $comment_status The comment status. Possible values include 'hold',
-	 *                                    'approve', 'spam', 'trash', or false.
+	 * @param int         $comment_id     Comment ID.
+	 * @param string|bool $comment_status Current comment status. Possible values include
+	 *                                    'hold', 'approve', 'spam', 'trash', or false.
 	 */
 	do_action( 'wp_set_comment_status', $comment_id, $comment_status );
+
 	wp_transition_comment_status($comment_status, $comment_old->comment_approved, $comment);
 
 	wp_update_comment_count($comment->comment_post_ID);
@@ -1812,9 +1913,9 @@ function wp_update_comment($commentarr) {
 
 	// First, get all of the original fields
 	$comment = get_comment($commentarr['comment_ID'], ARRAY_A);
-	if ( empty( $comment ) )
+	if ( empty( $comment ) ) {
 		return 0;
-
+	}
 	// Escape data pulled from DB.
 	$comment = wp_slash($comment);
 
@@ -1826,7 +1927,7 @@ function wp_update_comment($commentarr) {
 	$commentarr = wp_filter_comment( $commentarr );
 
 	// Now extract the merged array.
-	extract(wp_unslash($commentarr), EXTR_SKIP);
+	$data = wp_unslash( $commentarr );
 
 	/**
 	 * Filter the comment content before it is updated in the database.
@@ -1835,22 +1936,26 @@ function wp_update_comment($commentarr) {
 	 *
 	 * @param string $comment_content The comment data.
 	 */
-	$comment_content = apply_filters( 'comment_save_pre', $comment_content );
+	$data['comment_content'] = apply_filters( 'comment_save_pre', $data['comment_content'] );
 
-	$comment_date_gmt = get_gmt_from_date($comment_date);
+	$data['comment_date_gmt'] = get_gmt_from_date( $data['comment_date'] );
 
-	if ( !isset($comment_approved) )
-		$comment_approved = 1;
-	else if ( 'hold' == $comment_approved )
-		$comment_approved = 0;
-	else if ( 'approve' == $comment_approved )
-		$comment_approved = 1;
+	if ( ! isset( $data['comment_approved'] ) ) {
+		$data['comment_approved'] = 1;
+	} else if ( 'hold' == $data['comment_approved'] ) {
+		$data['comment_approved'] = 0;
+	} else if ( 'approve' == $data['comment_approved'] ) {
+		$data['comment_approved'] = 1;
+	}
 
-	$data = compact( 'comment_content', 'comment_author', 'comment_author_email', 'comment_approved', 'comment_karma', 'comment_author_url', 'comment_date', 'comment_date_gmt', 'comment_parent' );
+	$comment_ID = $data['comment_ID'];
+	$comment_post_ID = $data['comment_post_ID'];
+	$keys = array( 'comment_content', 'comment_author', 'comment_author_email', 'comment_approved', 'comment_karma', 'comment_author_url', 'comment_date', 'comment_date_gmt', 'comment_parent' );
+	$data = wp_array_slice_assoc( $data, $keys );
 	$rval = $wpdb->update( $wpdb->comments, $data, compact( 'comment_ID' ) );
 
-	clean_comment_cache($comment_ID);
-	wp_update_comment_count($comment_post_ID);
+	clean_comment_cache( $comment_ID );
+	wp_update_comment_count( $comment_post_ID );
 	/**
 	 * Fires immediately after a comment is updated in the database.
 	 *
@@ -2097,10 +2202,10 @@ function do_trackbacks($post_id) {
 	}
 
 	if ( empty($post->post_excerpt) ) {
-		/** This filter is documented in wp-admin/post-template.php */
+		/** This filter is documented in wp-includes/post-template.php */
 		$excerpt = apply_filters( 'the_content', $post->post_content, $post->ID );
 	} else {
-		/** This filter is documented in wp-admin/post-template.php */
+		/** This filter is documented in wp-includes/post-template.php */
 		$excerpt = apply_filters( 'the_excerpt', $post->post_excerpt );
 	}
 
@@ -2129,10 +2234,10 @@ function do_trackbacks($post_id) {
  *
  * @since 1.2.0
  *
- * @param int $post_id Post ID. Not actually used.
+ * @param int $post_id Post ID.
  * @return int Same as Post ID from parameter
  */
-function generic_ping($post_id = 0) {
+function generic_ping( $post_id = 0 ) {
 	$services = get_option('ping_sites');
 
 	$services = explode("\n", $services);
diff --git a/wp-includes/cron.php b/wp-includes/cron.php
index cd39a0899..fc876147c 100644
--- a/wp-includes/cron.php
+++ b/wp-includes/cron.php
@@ -100,28 +100,32 @@ function wp_schedule_event( $timestamp, $recurrence, $hook, $args = array()) {
  * @param array $args Optional. Arguments to pass to the hook's callback function.
  * @return bool|null False on failure. Null when event is rescheduled.
  */
-function wp_reschedule_event( $timestamp, $recurrence, $hook, $args = array()) {
+function wp_reschedule_event( $timestamp, $recurrence, $hook, $args = array() ) {
 	$crons = _get_cron_array();
 	$schedules = wp_get_schedules();
-	$key = md5(serialize($args));
+	$key = md5( serialize( $args ) );
 	$interval = 0;
 
 	// First we try to get it from the schedule
-	if ( 0 == $interval )
-		$interval = $schedules[$recurrence]['interval'];
+	if ( isset( $schedules[ $recurrence ] ) ) {
+		$interval = $schedules[ $recurrence ]['interval'];
+	}
 	// Now we try to get it from the saved interval in case the schedule disappears
-	if ( 0 == $interval )
-		$interval = $crons[$timestamp][$hook][$key]['interval'];
+	if ( 0 == $interval ) {
+		$interval = $crons[ $timestamp ][ $hook ][ $key ]['interval'];
+	}
 	// Now we assume something is wrong and fail to schedule
-	if ( 0 == $interval )
+	if ( 0 == $interval ) {
 		return false;
+	}
 
 	$now = time();
 
-	if ( $timestamp >= $now )
+	if ( $timestamp >= $now ) {
 		$timestamp = $now + $interval;
-	else
-		$timestamp = $now + ($interval - (($now - $timestamp) % $interval));
+	} else {
+		$timestamp = $now + ( $interval - ( ( $now - $timestamp ) % $interval ) );
+	}
 
 	wp_schedule_event( $timestamp, $recurrence, $hook, $args );
 }
@@ -278,7 +282,7 @@ function spawn_cron( $gmt_time = 0 ) {
 	 *
 	 *         @type int  $timeout   The request timeout in seconds. Default .01 seconds.
 	 *         @type bool $blocking  Whether to set blocking for the request. Default false.
-	 *         @type bool $sslverify Whether to sslverify. Default true.
+	 *         @type bool $sslverify Whether SSL should be verified for the request. Default false.
 	 *     }
 	 * }
 	 */
@@ -289,7 +293,7 @@ function spawn_cron( $gmt_time = 0 ) {
 			'timeout'   => 0.01,
 			'blocking'  => false,
 			/** This filter is documented in wp-includes/class-http.php */
-			'sslverify' => apply_filters( 'https_local_ssl_verify', true )
+			'sslverify' => apply_filters( 'https_local_ssl_verify', false )
 		)
 	) );
 
diff --git a/wp-includes/css/admin-bar-rtl.css b/wp-includes/css/admin-bar-rtl.css
index 6a1e82728..9a9c6e60b 100644
--- a/wp-includes/css/admin-bar-rtl.css
+++ b/wp-includes/css/admin-bar-rtl.css
@@ -65,6 +65,8 @@ html:lang(he-il) .rtl #wpadminbar *  {
 #wpadminbar select,
 #wpadminbar textarea,
 #wpadminbar div {
+	-webkit-box-shadow: none;
+	box-shadow: none;
 	outline: none;
 }
 
@@ -99,13 +101,6 @@ html:lang(he-il) .rtl #wpadminbar *  {
 	margin-left: 0;
 }
 
-/* Prevent a Chrome bug that inadvertantly activates
-   :hover states on an element that touches the extreme
-   top left corner of the viewport. See #18868 */
-#wpadminbar .quicklinks {
-	border-right: 1px solid transparent;
-}
-
 #wpadminbar .quicklinks ul {
 	text-align: right;
 }
@@ -509,6 +504,10 @@ html:lang(he-il) .rtl #wpadminbar *  {
 }
 
 #wpadminbar #wp-admin-bar-site-name > .ab-item:before {
+	content: "\f226";
+}
+
+.wp-admin #wpadminbar #wp-admin-bar-site-name > .ab-item:before {
 	content: "\f102";
 }
 
diff --git a/wp-includes/css/admin-bar-rtl.min.css b/wp-includes/css/admin-bar-rtl.min.css
index ef223e996..06290bc21 100644
--- a/wp-includes/css/admin-bar-rtl.min.css
+++ b/wp-includes/css/admin-bar-rtl.min.css
@@ -1 +1 @@
-#wpadminbar *{height:auto;width:auto;margin:0;padding:0;position:static;text-shadow:none;text-transform:none;letter-spacing:normal;font:400 13px/32px "Open Sans",sans-serif;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transition:none;transition:none;-webkit-font-smoothing:subpixel-antialiased}.rtl #wpadminbar *{font-family:Tahoma,sans-serif}html:lang(he-il) .rtl #wpadminbar *{font-family:Arial,sans-serif}#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#eee}#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wpadminbar ul li:after,#wpadminbar ul li:before{content:normal}#wpadminbar a,#wpadminbar a img,#wpadminbar a img:hover,#wpadminbar a:hover{outline:0;border:0;text-decoration:none;background:0 0}#wpadminbar a:active,#wpadminbar a:focus,#wpadminbar div,#wpadminbar input[type=email],#wpadminbar input[type=number],#wpadminbar input[type=password],#wpadminbar input[type=search],#wpadminbar input[type=text],#wpadminbar input[type=url],#wpadminbar select,#wpadminbar textarea{outline:0}#wpadminbar{direction:rtl;color:#ccc;font:400 13px/32px "Open Sans",sans-serif;height:32px;position:fixed;top:0;right:0;width:100%;min-width:600px;z-index:99999;background:#222}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:0 0;clear:none;list-style:none;margin:0;padding:0;position:relative;text-indent:0;z-index:99999}#wpadminbar ul#wp-admin-bar-root-default>li{margin-left:0}#wpadminbar .quicklinks{border-right:1px solid transparent}#wpadminbar .quicklinks ul{text-align:right}#wpadminbar li{float:right}#wpadminbar .ab-empty-item{outline:0}#wpadminbar .quicklinks .ab-top-secondary>li{float:left}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks a,#wpadminbar .shortlink-input{height:32px;display:block;padding:0 10px;margin:0}#wpadminbar .quicklinks>ul>li>a{padding:0 7px 0 8px}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0;padding:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);background:#333;display:none;position:absolute;float:none}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:32px;right:0}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:100%}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{left:0;right:auto}#wpadminbar .ab-submenu{padding:6px 0}#wpadminbar .selected .shortlink-input{display:block}#wpadminbar .quicklinks .menupop ul li{float:none}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:700}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar .shortlink-input,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item{line-height:26px;height:26px;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar li.hover>.ab-sub-wrapper,#wpadminbar.nojs li:hover>.ab-sub-wrapper{display:block}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-right:100%;margin-top:-32px}#wpadminbar .ab-top-secondary .menupop li.hover>.ab-sub-wrapper,#wpadminbar .ab-top-secondary .menupop li:hover>.ab-sub-wrapper{margin-right:0;right:inherit;left:100%}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#333;color:#2ea2cc}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#2ea2cc}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{position:relative;float:right;font:400 20px/1 dashicons;speak:none;padding:4px 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:none!important;margin-left:6px}#wpadminbar #adminbarsearch:before,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:before{color:#999;position:relative;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#wpadminbar .ab-label{display:inline-block;height:32px}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#eee}#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#2ea2cc}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before,#wpadminbar .menupop .menupop>.ab-item:before{position:absolute;font:400 17px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar .menupop .menupop>.ab-item{display:block;padding-left:2em}#wpadminbar .menupop .menupop>.ab-item:before{top:1px;left:4px;content:'\f139';color:inherit}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{padding-right:2em;padding-left:1em}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:5px;right:3px;content:'\f141'}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{display:block;position:relative;left:auto;margin:0;-webkit-box-shadow:none;box-shadow:none}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4b4b4b}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus a,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover{color:#2ea2cc}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#333;display:inline;padding:2px 5px;font-size:10px;font-weight:700;-webkit-border-radius:10px;border-radius:10px}#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000}#wpadminbar .ab-top-secondary{float:left}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{-webkit-box-shadow:none;box-shadow:none}#wp-admin-bar-my-account>ul{min-width:198px}#wp-admin-bar-my-account>.ab-item:before{content:"\f110";top:2px;float:left;margin-right:6px;margin-left:0}#wp-admin-bar-my-account.with-avatar>.ab-item:before{display:none;content:none}#wp-admin-bar-my-account.with-avatar>ul{min-width:270px}#wpadminbar #wp-admin-bar-user-actions>li{margin-right:16px;margin-left:16px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:6px 0 12px}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-right:88px}#wpadminbar #wp-admin-bar-user-info{margin-top:6px;margin-bottom:15px;height:auto;background:0 0}#wp-admin-bar-user-info .avatar{position:absolute;right:-72px;top:4px;width:64px;height:64px}#wpadminbar #wp-admin-bar-user-info a{background:0 0;height:auto}#wpadminbar #wp-admin-bar-user-info span{background:0 0;padding:0;height:18px}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info .username{display:block}#wpadminbar #wp-admin-bar-user-info .username{color:#999;font-size:11px}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{width:16px;height:16px;padding:0;border:1px solid #888;background:#eee;line-height:24px;vertical-align:middle;margin:-4px 6px 0 0;float:none;display:inline}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{width:15px;height:20px;margin-left:0;padding:6px 0 5px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0 7px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{content:'\f120';top:2px}#wpadminbar .quicklinks li .blavatar{float:right;font:400 16px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#eee}#wpadminbar .quicklinks li a:hover .blavatar{color:#2ea2cc}#wpadminbar .quicklinks li .blavatar:before{content:'\f120';height:16px;width:16px;display:inline-block;margin:6px -2px 0 8px}#wpadminbar #wp-admin-bar-appearance{margin-top:-12px}#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:'\f112';top:2px}#wpadminbar #wp-admin-bar-edit>.ab-item:before{content:'\f464';top:2px}#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f102"}#wpadminbar #wp-admin-bar-comments .ab-icon{margin-left:6px}#wpadminbar #wp-admin-bar-comments .ab-icon:before{content:'\f101';top:3px}#wpadminbar #wp-admin-bar-comments .count-0{opacity:.5}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{content:'\f132';top:4px}#wpadminbar #wp-admin-bar-updates .ab-icon:before{content:'\f463';top:2px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:0 0}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px}#wpadminbar #adminbarsearch:before{position:absolute;top:6px;right:5px;z-index:20;font:400 20px/1 dashicons!important;content:'\f179';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{position:relative;z-index:30;font:13px/24px "Open Sans",sans-serif;height:24px;width:24px;padding:0 24px 0 3px;margin:0;color:#ccc;background-color:rgba(255,255,255,0);border:0;outline:0;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transition-property:width,background;transition-property:width,background;-webkit-transition-timing-function:ease;transition-timing-function:ease}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{z-index:10;color:#000;width:200px;background-color:rgba(255,255,255,.9);cursor:text;border:0}#wpadminbar.ie7>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:3px;width:120px}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:4px;background-color:#464646}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{background-color:#fff}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-button,.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#wpadminbar .screen-reader-text,#wpadminbar .screen-reader-text span{position:absolute;right:-1000em;top:-1000em;height:1px;width:1px;overflow:hidden}#wpadminbar .screen-reader-shortcut{position:absolute;top:-1000em}#wpadminbar .screen-reader-shortcut:focus{right:6px;top:7px;height:auto;width:auto;display:block;font-size:14px;font-weight:700;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;text-decoration:none;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6)}* html #wpadminbar{overflow:hidden;position:absolute}* html #wpadminbar .quicklinks ul li a{float:right}* html #wpadminbar .menupop a span{background-image:none}.no-font-face #wpadminbar ul.ab-top-menu>li>a.ab-item{display:block;width:45px;text-align:center;overflow:hidden;margin:0 3px}.no-font-face #wpadminbar #wp-admin-bar-edit>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-my-sites>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:0}.no-font-face #wpadminbar #wp-admin-bar-wp-logo>.ab-item,.no-font-face #wpadminbar .ab-icon,.no-font-face #wpadminbar .ab-icon:before,.no-font-face #wpadminbar a.ab-item:before{display:none!important}.no-font-face #wpadminbar ul.ab-top-menu>li>a>span.ab-label{display:inline}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon{display:inline!important}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon:before{content:"Menu";font:14px/45px sans-serif!important;display:inline-block!important;color:#fff}.no-font-face #wpadminbar #wp-admin-bar-site-name a.ab-item{color:#fff}@media screen and (max-width:782px){html #wpadminbar{right:0!important;z-index:500!important;height:46px;min-width:300px}#wpadminbar *{font:400 14px/32px "Open Sans",sans-serif}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks>ul>li>a{padding:0;height:46px;line-height:46px;width:auto}#wpadminbar .ab-icon{font:40px/1 dashicons!important;margin:0;width:52px;height:46px;text-align:center}#wpadminbar .ab-icon:before{text-align:center}#wpadminbar .ab-submenu{padding:0}#wpadminbar #wp-admin-bar-my-account a.ab-item,#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{text-overflow:clip}#wpadminbar .ab-label{display:none}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-top:-46px}#wpadminbar .ab-top-menu .menupop .ab-sub-wrapper .menupop>.ab-item{padding-left:30px}#wpadminbar .menupop .menupop>.ab-item:before{top:10px;left:6px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 12px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper a:empty{display:none}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{padding:0;width:52px;height:46px;text-align:center;vertical-align:top}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{font:28px/1 dashicons!important;top:-3px}#wpadminbar #wp-admin-bar-edit>.ab-item,#wpadminbar #wp-admin-bar-my-account>.ab-item,#wpadminbar #wp-admin-bar-my-sites>.ab-item,#wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:100%;white-space:nowrap;overflow:hidden;width:52px;padding:0;color:#999;position:relative}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{padding:0;margin-left:0}#wpadminbar #wp-admin-bar-edit>.ab-item:before,#wpadminbar #wp-admin-bar-my-account>.ab-item:before,#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{display:block;text-indent:0;font:400 32px/1 dashicons;speak:none;top:7px;width:52px;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar #wp-admin-bar-appearance{margin-top:0}#wpadminbar #wp-admin-bar-search,#wpadminbar .quicklinks li .blavatar:before{display:none}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{top:0;line-height:53px;height:46px!important;text-align:center;width:52px;display:block}#wpadminbar #wp-admin-bar-updates{text-align:center}#wpadminbar #wp-admin-bar-updates .ab-icon:before{top:3px}#wpadminbar #wp-admin-bar-comments .ab-icon{margin:0}#wpadminbar #wp-admin-bar-comments .ab-icon:before{display:block;font-size:34px;height:46px;line-height:47px;top:0}#wpadminbar #wp-admin-bar-my-account>a{position:relative;white-space:nowrap;text-indent:150%;width:28px;padding:0 10px;overflow:hidden}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{position:absolute;top:13px;left:10px;width:26px;height:26px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:0}#wpadminbar #wp-admin-bar-user-actions.ab-submenu img.avatar{display:none}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin:0}#wpadminbar #wp-admin-bar-user-info .display-name{height:auto;font-size:16px;line-height:24px;color:#eee}#wpadminbar #wp-admin-bar-user-info a{padding-top:4px}#wpadminbar #wp-admin-bar-user-info .username{line-height:.8!important;margin-bottom:-2px}#wp-toolbar>ul>li{display:none}#wpadminbar li#wp-admin-bar-comments,#wpadminbar li#wp-admin-bar-edit,#wpadminbar li#wp-admin-bar-menu-toggle,#wpadminbar li#wp-admin-bar-my-account,#wpadminbar li#wp-admin-bar-my-sites,#wpadminbar li#wp-admin-bar-new-content,#wpadminbar li#wp-admin-bar-site-name,#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:block}#wpadminbar li.hover ul li,#wpadminbar li:hover ul li,#wpadminbar li:hover ul li:hover ul li{display:list-item}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}#wpadminbar ul#wp-admin-bar-root-default>li{margin-left:0}#wpadminbar #wp-admin-bar-comments,#wpadminbar #wp-admin-bar-edit,#wpadminbar #wp-admin-bar-my-account,#wpadminbar #wp-admin-bar-my-sites,#wpadminbar #wp-admin-bar-new-content,#wpadminbar #wp-admin-bar-site-name,#wpadminbar #wp-admin-bar-updates,#wpadminbar #wp-admin-bar-wp-logo,#wpadminbar .ab-top-menu,#wpadminbar .ab-top-secondary{position:static}#wpadminbar #wp-admin-bar-my-account{float:left}.network-admin #wpadminbar ul#wp-admin-bar-top-secondary>li#wp-admin-bar-my-account{margin-left:0}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:10px;right:0}}@media screen and (max-width:600px){#wpadminbar{position:absolute}#wp-responsive-overlay{position:fixed;top:0;right:0;width:100%;height:100%;z-index:400}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{position:fixed;width:100%;right:0}#wpadminbar .menupop .menupop>.ab-item:before{display:none}#wpadminbar #wp-admin-bar-wp-logo.menupop .ab-sub-wrapper{margin-right:0}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{margin:0;width:100%;top:auto;right:auto}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 30px 19px 15px}#wpadminbar li:hover ul li ul li{display:list-item}#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:none}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{position:static;-webkit-box-shadow:none;box-shadow:none}}
\ No newline at end of file
+#wpadminbar *{height:auto;width:auto;margin:0;padding:0;position:static;text-shadow:none;text-transform:none;letter-spacing:normal;font:400 13px/32px "Open Sans",sans-serif;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transition:none;transition:none;-webkit-font-smoothing:subpixel-antialiased}.rtl #wpadminbar *{font-family:Tahoma,sans-serif}html:lang(he-il) .rtl #wpadminbar *{font-family:Arial,sans-serif}#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#eee}#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wpadminbar ul li:after,#wpadminbar ul li:before{content:normal}#wpadminbar a,#wpadminbar a img,#wpadminbar a img:hover,#wpadminbar a:hover{outline:0;border:none;text-decoration:none;background:0 0}#wpadminbar a:active,#wpadminbar a:focus,#wpadminbar div,#wpadminbar input[type=email],#wpadminbar input[type=number],#wpadminbar input[type=password],#wpadminbar input[type=search],#wpadminbar input[type=text],#wpadminbar input[type=url],#wpadminbar select,#wpadminbar textarea{-webkit-box-shadow:none;box-shadow:none;outline:0}#wpadminbar{direction:rtl;color:#ccc;font:400 13px/32px "Open Sans",sans-serif;height:32px;position:fixed;top:0;right:0;width:100%;min-width:600px;z-index:99999;background:#222}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:0 0;clear:none;list-style:none;margin:0;padding:0;position:relative;text-indent:0;z-index:99999}#wpadminbar ul#wp-admin-bar-root-default>li{margin-left:0}#wpadminbar .quicklinks ul{text-align:right}#wpadminbar li{float:right}#wpadminbar .ab-empty-item{outline:0}#wpadminbar .quicklinks .ab-top-secondary>li{float:left}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks a,#wpadminbar .shortlink-input{height:32px;display:block;padding:0 10px;margin:0}#wpadminbar .quicklinks>ul>li>a{padding:0 7px 0 8px}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0;padding:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);background:#333;display:none;position:absolute;float:none}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:32px;right:0}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:100%}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{left:0;right:auto}#wpadminbar .ab-submenu{padding:6px 0}#wpadminbar .selected .shortlink-input{display:block}#wpadminbar .quicklinks .menupop ul li{float:none}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:700}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar .shortlink-input,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item{line-height:26px;height:26px;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar li.hover>.ab-sub-wrapper,#wpadminbar.nojs li:hover>.ab-sub-wrapper{display:block}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-right:100%;margin-top:-32px}#wpadminbar .ab-top-secondary .menupop li.hover>.ab-sub-wrapper,#wpadminbar .ab-top-secondary .menupop li:hover>.ab-sub-wrapper{margin-right:0;right:inherit;left:100%}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#333;color:#2ea2cc}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#2ea2cc}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{position:relative;float:right;font:400 20px/1 dashicons;speak:none;padding:4px 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:none!important;margin-left:6px}#wpadminbar #adminbarsearch:before,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:before{color:#999;position:relative;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#wpadminbar .ab-label{display:inline-block;height:32px}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#eee}#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#2ea2cc}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before,#wpadminbar .menupop .menupop>.ab-item:before{position:absolute;font:400 17px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar .menupop .menupop>.ab-item{display:block;padding-left:2em}#wpadminbar .menupop .menupop>.ab-item:before{top:1px;left:4px;content:'\f139';color:inherit}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{padding-right:2em;padding-left:1em}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:5px;right:3px;content:'\f141'}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{display:block;position:relative;left:auto;margin:0;-webkit-box-shadow:none;box-shadow:none}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4b4b4b}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus a,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover{color:#2ea2cc}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#333;display:inline;padding:2px 5px;font-size:10px;font-weight:700;-webkit-border-radius:10px;border-radius:10px}#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000}#wpadminbar .ab-top-secondary{float:left}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{-webkit-box-shadow:none;box-shadow:none}#wp-admin-bar-my-account>ul{min-width:198px}#wp-admin-bar-my-account>.ab-item:before{content:"\f110";top:2px;float:left;margin-right:6px;margin-left:0}#wp-admin-bar-my-account.with-avatar>.ab-item:before{display:none;content:none}#wp-admin-bar-my-account.with-avatar>ul{min-width:270px}#wpadminbar #wp-admin-bar-user-actions>li{margin-right:16px;margin-left:16px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:6px 0 12px}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-right:88px}#wpadminbar #wp-admin-bar-user-info{margin-top:6px;margin-bottom:15px;height:auto;background:0 0}#wp-admin-bar-user-info .avatar{position:absolute;right:-72px;top:4px;width:64px;height:64px}#wpadminbar #wp-admin-bar-user-info a{background:0 0;height:auto}#wpadminbar #wp-admin-bar-user-info span{background:0 0;padding:0;height:18px}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info .username{display:block}#wpadminbar #wp-admin-bar-user-info .username{color:#999;font-size:11px}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{width:16px;height:16px;padding:0;border:1px solid #888;background:#eee;line-height:24px;vertical-align:middle;margin:-4px 6px 0 0;float:none;display:inline}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{width:15px;height:20px;margin-left:0;padding:6px 0 5px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0 7px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{content:'\f120';top:2px}#wpadminbar .quicklinks li .blavatar{float:right;font:400 16px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#eee}#wpadminbar .quicklinks li a:hover .blavatar{color:#2ea2cc}#wpadminbar .quicklinks li .blavatar:before{content:'\f120';height:16px;width:16px;display:inline-block;margin:6px -2px 0 8px}#wpadminbar #wp-admin-bar-appearance{margin-top:-12px}#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:'\f112';top:2px}#wpadminbar #wp-admin-bar-edit>.ab-item:before{content:'\f464';top:2px}#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f226"}.wp-admin #wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f102"}#wpadminbar #wp-admin-bar-comments .ab-icon{margin-left:6px}#wpadminbar #wp-admin-bar-comments .ab-icon:before{content:'\f101';top:3px}#wpadminbar #wp-admin-bar-comments .count-0{opacity:.5}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{content:'\f132';top:4px}#wpadminbar #wp-admin-bar-updates .ab-icon:before{content:'\f463';top:2px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:0 0}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px}#wpadminbar #adminbarsearch:before{position:absolute;top:6px;right:5px;z-index:20;font:400 20px/1 dashicons!important;content:'\f179';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{position:relative;z-index:30;font:13px/24px "Open Sans",sans-serif;height:24px;width:24px;padding:0 24px 0 3px;margin:0;color:#ccc;background-color:transparent;border:none;outline:0;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transition-property:width,background;transition-property:width,background;-webkit-transition-timing-function:ease;transition-timing-function:ease}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{z-index:10;color:#000;width:200px;background-color:rgba(255,255,255,.9);cursor:text;border:0}#wpadminbar.ie7>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:3px;width:120px}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:4px;background-color:#464646}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{background-color:#fff}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-button,.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#wpadminbar .screen-reader-text,#wpadminbar .screen-reader-text span{position:absolute;right:-1000em;top:-1000em;height:1px;width:1px;overflow:hidden}#wpadminbar .screen-reader-shortcut{position:absolute;top:-1000em}#wpadminbar .screen-reader-shortcut:focus{right:6px;top:7px;height:auto;width:auto;display:block;font-size:14px;font-weight:700;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;text-decoration:none;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6)}* html #wpadminbar{overflow:hidden;position:absolute}* html #wpadminbar .quicklinks ul li a{float:right}* html #wpadminbar .menupop a span{background-image:none}.no-font-face #wpadminbar ul.ab-top-menu>li>a.ab-item{display:block;width:45px;text-align:center;overflow:hidden;margin:0 3px}.no-font-face #wpadminbar #wp-admin-bar-edit>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-my-sites>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:0}.no-font-face #wpadminbar #wp-admin-bar-wp-logo>.ab-item,.no-font-face #wpadminbar .ab-icon,.no-font-face #wpadminbar .ab-icon:before,.no-font-face #wpadminbar a.ab-item:before{display:none!important}.no-font-face #wpadminbar ul.ab-top-menu>li>a>span.ab-label{display:inline}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon{display:inline!important}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon:before{content:"Menu";font:14px/45px sans-serif!important;display:inline-block!important;color:#fff}.no-font-face #wpadminbar #wp-admin-bar-site-name a.ab-item{color:#fff}@media screen and (max-width:782px){html #wpadminbar{right:0!important;z-index:500!important;height:46px;min-width:300px}#wpadminbar *{font:400 14px/32px "Open Sans",sans-serif}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks>ul>li>a{padding:0;height:46px;line-height:46px;width:auto}#wpadminbar .ab-icon{font:40px/1 dashicons!important;margin:0;width:52px;height:46px;text-align:center}#wpadminbar .ab-icon:before{text-align:center}#wpadminbar .ab-submenu{padding:0}#wpadminbar #wp-admin-bar-my-account a.ab-item,#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{text-overflow:clip}#wpadminbar .ab-label{display:none}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-top:-46px}#wpadminbar .ab-top-menu .menupop .ab-sub-wrapper .menupop>.ab-item{padding-left:30px}#wpadminbar .menupop .menupop>.ab-item:before{top:10px;left:6px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 12px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper a:empty{display:none}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{padding:0;width:52px;height:46px;text-align:center;vertical-align:top}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{font:28px/1 dashicons!important;top:-3px}#wpadminbar #wp-admin-bar-edit>.ab-item,#wpadminbar #wp-admin-bar-my-account>.ab-item,#wpadminbar #wp-admin-bar-my-sites>.ab-item,#wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:100%;white-space:nowrap;overflow:hidden;width:52px;padding:0;color:#999;position:relative}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{padding:0;margin-left:0}#wpadminbar #wp-admin-bar-edit>.ab-item:before,#wpadminbar #wp-admin-bar-my-account>.ab-item:before,#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{display:block;text-indent:0;font:400 32px/1 dashicons;speak:none;top:7px;width:52px;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar #wp-admin-bar-appearance{margin-top:0}#wpadminbar #wp-admin-bar-search,#wpadminbar .quicklinks li .blavatar:before{display:none}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{top:0;line-height:53px;height:46px!important;text-align:center;width:52px;display:block}#wpadminbar #wp-admin-bar-updates{text-align:center}#wpadminbar #wp-admin-bar-updates .ab-icon:before{top:3px}#wpadminbar #wp-admin-bar-comments .ab-icon{margin:0}#wpadminbar #wp-admin-bar-comments .ab-icon:before{display:block;font-size:34px;height:46px;line-height:47px;top:0}#wpadminbar #wp-admin-bar-my-account>a{position:relative;white-space:nowrap;text-indent:150%;width:28px;padding:0 10px;overflow:hidden}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{position:absolute;top:13px;left:10px;width:26px;height:26px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:0}#wpadminbar #wp-admin-bar-user-actions.ab-submenu img.avatar{display:none}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin:0}#wpadminbar #wp-admin-bar-user-info .display-name{height:auto;font-size:16px;line-height:24px;color:#eee}#wpadminbar #wp-admin-bar-user-info a{padding-top:4px}#wpadminbar #wp-admin-bar-user-info .username{line-height:.8!important;margin-bottom:-2px}#wp-toolbar>ul>li{display:none}#wpadminbar li#wp-admin-bar-comments,#wpadminbar li#wp-admin-bar-edit,#wpadminbar li#wp-admin-bar-menu-toggle,#wpadminbar li#wp-admin-bar-my-account,#wpadminbar li#wp-admin-bar-my-sites,#wpadminbar li#wp-admin-bar-new-content,#wpadminbar li#wp-admin-bar-site-name,#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:block}#wpadminbar li.hover ul li,#wpadminbar li:hover ul li,#wpadminbar li:hover ul li:hover ul li{display:list-item}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}#wpadminbar ul#wp-admin-bar-root-default>li{margin-left:0}#wpadminbar #wp-admin-bar-comments,#wpadminbar #wp-admin-bar-edit,#wpadminbar #wp-admin-bar-my-account,#wpadminbar #wp-admin-bar-my-sites,#wpadminbar #wp-admin-bar-new-content,#wpadminbar #wp-admin-bar-site-name,#wpadminbar #wp-admin-bar-updates,#wpadminbar #wp-admin-bar-wp-logo,#wpadminbar .ab-top-menu,#wpadminbar .ab-top-secondary{position:static}#wpadminbar #wp-admin-bar-my-account{float:left}.network-admin #wpadminbar ul#wp-admin-bar-top-secondary>li#wp-admin-bar-my-account{margin-left:0}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:10px;right:0}}@media screen and (max-width:600px){#wpadminbar{position:absolute}#wp-responsive-overlay{position:fixed;top:0;right:0;width:100%;height:100%;z-index:400}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{position:fixed;width:100%;right:0}#wpadminbar .menupop .menupop>.ab-item:before{display:none}#wpadminbar #wp-admin-bar-wp-logo.menupop .ab-sub-wrapper{margin-right:0}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{margin:0;width:100%;top:auto;right:auto}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 30px 19px 15px}#wpadminbar li:hover ul li ul li{display:list-item}#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:none}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{position:static;-webkit-box-shadow:none;box-shadow:none}}
\ No newline at end of file
diff --git a/wp-includes/css/admin-bar.css b/wp-includes/css/admin-bar.css
index e9f0299a1..4f5343c60 100644
--- a/wp-includes/css/admin-bar.css
+++ b/wp-includes/css/admin-bar.css
@@ -65,6 +65,8 @@ html:lang(he-il) .rtl #wpadminbar *  {
 #wpadminbar select,
 #wpadminbar textarea,
 #wpadminbar div {
+	-webkit-box-shadow: none;
+	box-shadow: none;
 	outline: none;
 }
 
@@ -99,13 +101,6 @@ html:lang(he-il) .rtl #wpadminbar *  {
 	margin-right: 0;
 }
 
-/* Prevent a Chrome bug that inadvertantly activates
-   :hover states on an element that touches the extreme
-   top left corner of the viewport. See #18868 */
-#wpadminbar .quicklinks {
-	border-left: 1px solid transparent;
-}
-
 #wpadminbar .quicklinks ul {
 	text-align: left;
 }
@@ -509,6 +504,10 @@ html:lang(he-il) .rtl #wpadminbar *  {
 }
 
 #wpadminbar #wp-admin-bar-site-name > .ab-item:before {
+	content: "\f226";
+}
+
+.wp-admin #wpadminbar #wp-admin-bar-site-name > .ab-item:before {
 	content: "\f102";
 }
 
diff --git a/wp-includes/css/admin-bar.min.css b/wp-includes/css/admin-bar.min.css
index e09e520de..8907308a6 100644
--- a/wp-includes/css/admin-bar.min.css
+++ b/wp-includes/css/admin-bar.min.css
@@ -1 +1 @@
-#wpadminbar *{height:auto;width:auto;margin:0;padding:0;position:static;text-shadow:none;text-transform:none;letter-spacing:normal;font:400 13px/32px "Open Sans",sans-serif;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transition:none;transition:none;-webkit-font-smoothing:subpixel-antialiased}.rtl #wpadminbar *{font-family:Tahoma,sans-serif}html:lang(he-il) .rtl #wpadminbar *{font-family:Arial,sans-serif}#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#eee}#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wpadminbar ul li:after,#wpadminbar ul li:before{content:normal}#wpadminbar a,#wpadminbar a img,#wpadminbar a img:hover,#wpadminbar a:hover{outline:0;border:0;text-decoration:none;background:0 0}#wpadminbar a:active,#wpadminbar a:focus,#wpadminbar div,#wpadminbar input[type=email],#wpadminbar input[type=number],#wpadminbar input[type=password],#wpadminbar input[type=search],#wpadminbar input[type=text],#wpadminbar input[type=url],#wpadminbar select,#wpadminbar textarea{outline:0}#wpadminbar{direction:ltr;color:#ccc;font:400 13px/32px "Open Sans",sans-serif;height:32px;position:fixed;top:0;left:0;width:100%;min-width:600px;z-index:99999;background:#222}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:0 0;clear:none;list-style:none;margin:0;padding:0;position:relative;text-indent:0;z-index:99999}#wpadminbar ul#wp-admin-bar-root-default>li{margin-right:0}#wpadminbar .quicklinks{border-left:1px solid transparent}#wpadminbar .quicklinks ul{text-align:left}#wpadminbar li{float:left}#wpadminbar .ab-empty-item{outline:0}#wpadminbar .quicklinks .ab-top-secondary>li{float:right}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks a,#wpadminbar .shortlink-input{height:32px;display:block;padding:0 10px;margin:0}#wpadminbar .quicklinks>ul>li>a{padding:0 8px 0 7px}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0;padding:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);background:#333;display:none;position:absolute;float:none}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:32px;left:0}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:100%}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{right:0;left:auto}#wpadminbar .ab-submenu{padding:6px 0}#wpadminbar .selected .shortlink-input{display:block}#wpadminbar .quicklinks .menupop ul li{float:none}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:700}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar .shortlink-input,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item{line-height:26px;height:26px;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar li.hover>.ab-sub-wrapper,#wpadminbar.nojs li:hover>.ab-sub-wrapper{display:block}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-left:100%;margin-top:-32px}#wpadminbar .ab-top-secondary .menupop li.hover>.ab-sub-wrapper,#wpadminbar .ab-top-secondary .menupop li:hover>.ab-sub-wrapper{margin-left:0;left:inherit;right:100%}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#333;color:#2ea2cc}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#2ea2cc}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{position:relative;float:left;font:400 20px/1 dashicons;speak:none;padding:4px 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:none!important;margin-right:6px}#wpadminbar #adminbarsearch:before,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:before{color:#999;position:relative;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#wpadminbar .ab-label{display:inline-block;height:32px}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#eee}#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#2ea2cc}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before,#wpadminbar .menupop .menupop>.ab-item:before{position:absolute;font:400 17px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar .menupop .menupop>.ab-item{display:block;padding-right:2em}#wpadminbar .menupop .menupop>.ab-item:before{top:1px;right:4px;content:'\f139';color:inherit}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{padding-left:2em;padding-right:1em}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:5px;left:3px;content:'\f141'}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{display:block;position:relative;right:auto;margin:0;-webkit-box-shadow:none;box-shadow:none}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4b4b4b}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus a,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover{color:#2ea2cc}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#333;display:inline;padding:2px 5px;font-size:10px;font-weight:700;-webkit-border-radius:10px;border-radius:10px}#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000}#wpadminbar .ab-top-secondary{float:right}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{-webkit-box-shadow:none;box-shadow:none}#wp-admin-bar-my-account>ul{min-width:198px}#wp-admin-bar-my-account>.ab-item:before{content:"\f110";top:2px;float:right;margin-left:6px;margin-right:0}#wp-admin-bar-my-account.with-avatar>.ab-item:before{display:none;content:none}#wp-admin-bar-my-account.with-avatar>ul{min-width:270px}#wpadminbar #wp-admin-bar-user-actions>li{margin-left:16px;margin-right:16px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:6px 0 12px}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-left:88px}#wpadminbar #wp-admin-bar-user-info{margin-top:6px;margin-bottom:15px;height:auto;background:0 0}#wp-admin-bar-user-info .avatar{position:absolute;left:-72px;top:4px;width:64px;height:64px}#wpadminbar #wp-admin-bar-user-info a{background:0 0;height:auto}#wpadminbar #wp-admin-bar-user-info span{background:0 0;padding:0;height:18px}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info .username{display:block}#wpadminbar #wp-admin-bar-user-info .username{color:#999;font-size:11px}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{width:16px;height:16px;padding:0;border:1px solid #888;background:#eee;line-height:24px;vertical-align:middle;margin:-4px 0 0 6px;float:none;display:inline}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{width:15px;height:20px;margin-right:0;padding:6px 0 5px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0 7px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{content:'\f120';top:2px}#wpadminbar .quicklinks li .blavatar{float:left;font:400 16px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#eee}#wpadminbar .quicklinks li a:hover .blavatar{color:#2ea2cc}#wpadminbar .quicklinks li .blavatar:before{content:'\f120';height:16px;width:16px;display:inline-block;margin:6px 8px 0 -2px}#wpadminbar #wp-admin-bar-appearance{margin-top:-12px}#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:'\f112';top:2px}#wpadminbar #wp-admin-bar-edit>.ab-item:before{content:'\f464';top:2px}#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f102"}#wpadminbar #wp-admin-bar-comments .ab-icon{margin-right:6px}#wpadminbar #wp-admin-bar-comments .ab-icon:before{content:'\f101';top:3px}#wpadminbar #wp-admin-bar-comments .count-0{opacity:.5}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{content:'\f132';top:4px}#wpadminbar #wp-admin-bar-updates .ab-icon:before{content:'\f463';top:2px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:0 0}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px}#wpadminbar #adminbarsearch:before{position:absolute;top:6px;left:5px;z-index:20;font:400 20px/1 dashicons!important;content:'\f179';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{position:relative;z-index:30;font:13px/24px "Open Sans",sans-serif;height:24px;width:24px;padding:0 3px 0 24px;margin:0;color:#ccc;background-color:rgba(255,255,255,0);border:0;outline:0;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transition-property:width,background;transition-property:width,background;-webkit-transition-timing-function:ease;transition-timing-function:ease}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{z-index:10;color:#000;width:200px;background-color:rgba(255,255,255,.9);cursor:text;border:0}#wpadminbar.ie7>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:3px;width:120px}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:4px;background-color:#464646}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{background-color:#fff}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-button,.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#wpadminbar .screen-reader-text,#wpadminbar .screen-reader-text span{position:absolute;left:-1000em;top:-1000em;height:1px;width:1px;overflow:hidden}#wpadminbar .screen-reader-shortcut{position:absolute;top:-1000em}#wpadminbar .screen-reader-shortcut:focus{left:6px;top:7px;height:auto;width:auto;display:block;font-size:14px;font-weight:700;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;text-decoration:none;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6)}* html #wpadminbar{overflow:hidden;position:absolute}* html #wpadminbar .quicklinks ul li a{float:left}* html #wpadminbar .menupop a span{background-image:none}.no-font-face #wpadminbar ul.ab-top-menu>li>a.ab-item{display:block;width:45px;text-align:center;overflow:hidden;margin:0 3px}.no-font-face #wpadminbar #wp-admin-bar-edit>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-my-sites>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:0}.no-font-face #wpadminbar #wp-admin-bar-wp-logo>.ab-item,.no-font-face #wpadminbar .ab-icon,.no-font-face #wpadminbar .ab-icon:before,.no-font-face #wpadminbar a.ab-item:before{display:none!important}.no-font-face #wpadminbar ul.ab-top-menu>li>a>span.ab-label{display:inline}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon{display:inline!important}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon:before{content:"Menu";font:14px/45px sans-serif!important;display:inline-block!important;color:#fff}.no-font-face #wpadminbar #wp-admin-bar-site-name a.ab-item{color:#fff}@media screen and (max-width:782px){html #wpadminbar{left:0!important;z-index:500!important;height:46px;min-width:300px}#wpadminbar *{font:400 14px/32px "Open Sans",sans-serif}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks>ul>li>a{padding:0;height:46px;line-height:46px;width:auto}#wpadminbar .ab-icon{font:40px/1 dashicons!important;margin:0;width:52px;height:46px;text-align:center}#wpadminbar .ab-icon:before{text-align:center}#wpadminbar .ab-submenu{padding:0}#wpadminbar #wp-admin-bar-my-account a.ab-item,#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{text-overflow:clip}#wpadminbar .ab-label{display:none}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-top:-46px}#wpadminbar .ab-top-menu .menupop .ab-sub-wrapper .menupop>.ab-item{padding-right:30px}#wpadminbar .menupop .menupop>.ab-item:before{top:10px;right:6px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 12px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper a:empty{display:none}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{padding:0;width:52px;height:46px;text-align:center;vertical-align:top}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{font:28px/1 dashicons!important;top:-3px}#wpadminbar #wp-admin-bar-edit>.ab-item,#wpadminbar #wp-admin-bar-my-account>.ab-item,#wpadminbar #wp-admin-bar-my-sites>.ab-item,#wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:100%;white-space:nowrap;overflow:hidden;width:52px;padding:0;color:#999;position:relative}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{padding:0;margin-right:0}#wpadminbar #wp-admin-bar-edit>.ab-item:before,#wpadminbar #wp-admin-bar-my-account>.ab-item:before,#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{display:block;text-indent:0;font:400 32px/1 dashicons;speak:none;top:7px;width:52px;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar #wp-admin-bar-appearance{margin-top:0}#wpadminbar #wp-admin-bar-search,#wpadminbar .quicklinks li .blavatar:before{display:none}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{top:0;line-height:53px;height:46px!important;text-align:center;width:52px;display:block}#wpadminbar #wp-admin-bar-updates{text-align:center}#wpadminbar #wp-admin-bar-updates .ab-icon:before{top:3px}#wpadminbar #wp-admin-bar-comments .ab-icon{margin:0}#wpadminbar #wp-admin-bar-comments .ab-icon:before{display:block;font-size:34px;height:46px;line-height:47px;top:0}#wpadminbar #wp-admin-bar-my-account>a{position:relative;white-space:nowrap;text-indent:150%;width:28px;padding:0 10px;overflow:hidden}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{position:absolute;top:13px;right:10px;width:26px;height:26px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:0}#wpadminbar #wp-admin-bar-user-actions.ab-submenu img.avatar{display:none}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin:0}#wpadminbar #wp-admin-bar-user-info .display-name{height:auto;font-size:16px;line-height:24px;color:#eee}#wpadminbar #wp-admin-bar-user-info a{padding-top:4px}#wpadminbar #wp-admin-bar-user-info .username{line-height:.8!important;margin-bottom:-2px}#wp-toolbar>ul>li{display:none}#wpadminbar li#wp-admin-bar-comments,#wpadminbar li#wp-admin-bar-edit,#wpadminbar li#wp-admin-bar-menu-toggle,#wpadminbar li#wp-admin-bar-my-account,#wpadminbar li#wp-admin-bar-my-sites,#wpadminbar li#wp-admin-bar-new-content,#wpadminbar li#wp-admin-bar-site-name,#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:block}#wpadminbar li.hover ul li,#wpadminbar li:hover ul li,#wpadminbar li:hover ul li:hover ul li{display:list-item}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}#wpadminbar ul#wp-admin-bar-root-default>li{margin-right:0}#wpadminbar #wp-admin-bar-comments,#wpadminbar #wp-admin-bar-edit,#wpadminbar #wp-admin-bar-my-account,#wpadminbar #wp-admin-bar-my-sites,#wpadminbar #wp-admin-bar-new-content,#wpadminbar #wp-admin-bar-site-name,#wpadminbar #wp-admin-bar-updates,#wpadminbar #wp-admin-bar-wp-logo,#wpadminbar .ab-top-menu,#wpadminbar .ab-top-secondary{position:static}#wpadminbar #wp-admin-bar-my-account{float:right}.network-admin #wpadminbar ul#wp-admin-bar-top-secondary>li#wp-admin-bar-my-account{margin-right:0}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:10px;left:0}}@media screen and (max-width:600px){#wpadminbar{position:absolute}#wp-responsive-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:400}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{position:fixed;width:100%;left:0}#wpadminbar .menupop .menupop>.ab-item:before{display:none}#wpadminbar #wp-admin-bar-wp-logo.menupop .ab-sub-wrapper{margin-left:0}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{margin:0;width:100%;top:auto;left:auto}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 19px 30px}#wpadminbar li:hover ul li ul li{display:list-item}#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:none}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{position:static;-webkit-box-shadow:none;box-shadow:none}}
\ No newline at end of file
+#wpadminbar *{height:auto;width:auto;margin:0;padding:0;position:static;text-shadow:none;text-transform:none;letter-spacing:normal;font:400 13px/32px "Open Sans",sans-serif;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transition:none;transition:none;-webkit-font-smoothing:subpixel-antialiased}.rtl #wpadminbar *{font-family:Tahoma,sans-serif}html:lang(he-il) .rtl #wpadminbar *{font-family:Arial,sans-serif}#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#eee}#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wpadminbar ul li:after,#wpadminbar ul li:before{content:normal}#wpadminbar a,#wpadminbar a img,#wpadminbar a img:hover,#wpadminbar a:hover{outline:0;border:none;text-decoration:none;background:0 0}#wpadminbar a:active,#wpadminbar a:focus,#wpadminbar div,#wpadminbar input[type=email],#wpadminbar input[type=number],#wpadminbar input[type=password],#wpadminbar input[type=search],#wpadminbar input[type=text],#wpadminbar input[type=url],#wpadminbar select,#wpadminbar textarea{-webkit-box-shadow:none;box-shadow:none;outline:0}#wpadminbar{direction:ltr;color:#ccc;font:400 13px/32px "Open Sans",sans-serif;height:32px;position:fixed;top:0;left:0;width:100%;min-width:600px;z-index:99999;background:#222}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:0 0;clear:none;list-style:none;margin:0;padding:0;position:relative;text-indent:0;z-index:99999}#wpadminbar ul#wp-admin-bar-root-default>li{margin-right:0}#wpadminbar .quicklinks ul{text-align:left}#wpadminbar li{float:left}#wpadminbar .ab-empty-item{outline:0}#wpadminbar .quicklinks .ab-top-secondary>li{float:right}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks a,#wpadminbar .shortlink-input{height:32px;display:block;padding:0 10px;margin:0}#wpadminbar .quicklinks>ul>li>a{padding:0 8px 0 7px}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0;padding:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);background:#333;display:none;position:absolute;float:none}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:32px;left:0}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:100%}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{right:0;left:auto}#wpadminbar .ab-submenu{padding:6px 0}#wpadminbar .selected .shortlink-input{display:block}#wpadminbar .quicklinks .menupop ul li{float:none}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:700}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar .shortlink-input,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item{line-height:26px;height:26px;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar li.hover>.ab-sub-wrapper,#wpadminbar.nojs li:hover>.ab-sub-wrapper{display:block}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-left:100%;margin-top:-32px}#wpadminbar .ab-top-secondary .menupop li.hover>.ab-sub-wrapper,#wpadminbar .ab-top-secondary .menupop li:hover>.ab-sub-wrapper{margin-left:0;left:inherit;right:100%}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#333;color:#2ea2cc}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#2ea2cc}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{position:relative;float:left;font:400 20px/1 dashicons;speak:none;padding:4px 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:none!important;margin-right:6px}#wpadminbar #adminbarsearch:before,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:before{color:#999;position:relative;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#wpadminbar .ab-label{display:inline-block;height:32px}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#eee}#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#2ea2cc}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before,#wpadminbar .menupop .menupop>.ab-item:before{position:absolute;font:400 17px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar .menupop .menupop>.ab-item{display:block;padding-right:2em}#wpadminbar .menupop .menupop>.ab-item:before{top:1px;right:4px;content:'\f139';color:inherit}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{padding-left:2em;padding-right:1em}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:5px;left:3px;content:'\f141'}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{display:block;position:relative;right:auto;margin:0;-webkit-box-shadow:none;box-shadow:none}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4b4b4b}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus a,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover{color:#2ea2cc}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#333;display:inline;padding:2px 5px;font-size:10px;font-weight:700;-webkit-border-radius:10px;border-radius:10px}#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000}#wpadminbar .ab-top-secondary{float:right}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{-webkit-box-shadow:none;box-shadow:none}#wp-admin-bar-my-account>ul{min-width:198px}#wp-admin-bar-my-account>.ab-item:before{content:"\f110";top:2px;float:right;margin-left:6px;margin-right:0}#wp-admin-bar-my-account.with-avatar>.ab-item:before{display:none;content:none}#wp-admin-bar-my-account.with-avatar>ul{min-width:270px}#wpadminbar #wp-admin-bar-user-actions>li{margin-left:16px;margin-right:16px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:6px 0 12px}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-left:88px}#wpadminbar #wp-admin-bar-user-info{margin-top:6px;margin-bottom:15px;height:auto;background:0 0}#wp-admin-bar-user-info .avatar{position:absolute;left:-72px;top:4px;width:64px;height:64px}#wpadminbar #wp-admin-bar-user-info a{background:0 0;height:auto}#wpadminbar #wp-admin-bar-user-info span{background:0 0;padding:0;height:18px}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info .username{display:block}#wpadminbar #wp-admin-bar-user-info .username{color:#999;font-size:11px}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{width:16px;height:16px;padding:0;border:1px solid #888;background:#eee;line-height:24px;vertical-align:middle;margin:-4px 0 0 6px;float:none;display:inline}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{width:15px;height:20px;margin-right:0;padding:6px 0 5px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0 7px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{content:'\f120';top:2px}#wpadminbar .quicklinks li .blavatar{float:left;font:400 16px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#eee}#wpadminbar .quicklinks li a:hover .blavatar{color:#2ea2cc}#wpadminbar .quicklinks li .blavatar:before{content:'\f120';height:16px;width:16px;display:inline-block;margin:6px 8px 0 -2px}#wpadminbar #wp-admin-bar-appearance{margin-top:-12px}#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:'\f112';top:2px}#wpadminbar #wp-admin-bar-edit>.ab-item:before{content:'\f464';top:2px}#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f226"}.wp-admin #wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f102"}#wpadminbar #wp-admin-bar-comments .ab-icon{margin-right:6px}#wpadminbar #wp-admin-bar-comments .ab-icon:before{content:'\f101';top:3px}#wpadminbar #wp-admin-bar-comments .count-0{opacity:.5}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{content:'\f132';top:4px}#wpadminbar #wp-admin-bar-updates .ab-icon:before{content:'\f463';top:2px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:0 0}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px}#wpadminbar #adminbarsearch:before{position:absolute;top:6px;left:5px;z-index:20;font:400 20px/1 dashicons!important;content:'\f179';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{position:relative;z-index:30;font:13px/24px "Open Sans",sans-serif;height:24px;width:24px;padding:0 3px 0 24px;margin:0;color:#ccc;background-color:transparent;border:none;outline:0;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transition-property:width,background;transition-property:width,background;-webkit-transition-timing-function:ease;transition-timing-function:ease}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{z-index:10;color:#000;width:200px;background-color:rgba(255,255,255,.9);cursor:text;border:0}#wpadminbar.ie7>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:3px;width:120px}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:4px;background-color:#464646}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{background-color:#fff}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-button,.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#wpadminbar .screen-reader-text,#wpadminbar .screen-reader-text span{position:absolute;left:-1000em;top:-1000em;height:1px;width:1px;overflow:hidden}#wpadminbar .screen-reader-shortcut{position:absolute;top:-1000em}#wpadminbar .screen-reader-shortcut:focus{left:6px;top:7px;height:auto;width:auto;display:block;font-size:14px;font-weight:700;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;text-decoration:none;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6)}* html #wpadminbar{overflow:hidden;position:absolute}* html #wpadminbar .quicklinks ul li a{float:left}* html #wpadminbar .menupop a span{background-image:none}.no-font-face #wpadminbar ul.ab-top-menu>li>a.ab-item{display:block;width:45px;text-align:center;overflow:hidden;margin:0 3px}.no-font-face #wpadminbar #wp-admin-bar-edit>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-my-sites>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:0}.no-font-face #wpadminbar #wp-admin-bar-wp-logo>.ab-item,.no-font-face #wpadminbar .ab-icon,.no-font-face #wpadminbar .ab-icon:before,.no-font-face #wpadminbar a.ab-item:before{display:none!important}.no-font-face #wpadminbar ul.ab-top-menu>li>a>span.ab-label{display:inline}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon{display:inline!important}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon:before{content:"Menu";font:14px/45px sans-serif!important;display:inline-block!important;color:#fff}.no-font-face #wpadminbar #wp-admin-bar-site-name a.ab-item{color:#fff}@media screen and (max-width:782px){html #wpadminbar{left:0!important;z-index:500!important;height:46px;min-width:300px}#wpadminbar *{font:400 14px/32px "Open Sans",sans-serif}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks>ul>li>a{padding:0;height:46px;line-height:46px;width:auto}#wpadminbar .ab-icon{font:40px/1 dashicons!important;margin:0;width:52px;height:46px;text-align:center}#wpadminbar .ab-icon:before{text-align:center}#wpadminbar .ab-submenu{padding:0}#wpadminbar #wp-admin-bar-my-account a.ab-item,#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{text-overflow:clip}#wpadminbar .ab-label{display:none}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-top:-46px}#wpadminbar .ab-top-menu .menupop .ab-sub-wrapper .menupop>.ab-item{padding-right:30px}#wpadminbar .menupop .menupop>.ab-item:before{top:10px;right:6px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 12px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper a:empty{display:none}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{padding:0;width:52px;height:46px;text-align:center;vertical-align:top}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{font:28px/1 dashicons!important;top:-3px}#wpadminbar #wp-admin-bar-edit>.ab-item,#wpadminbar #wp-admin-bar-my-account>.ab-item,#wpadminbar #wp-admin-bar-my-sites>.ab-item,#wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:100%;white-space:nowrap;overflow:hidden;width:52px;padding:0;color:#999;position:relative}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{padding:0;margin-right:0}#wpadminbar #wp-admin-bar-edit>.ab-item:before,#wpadminbar #wp-admin-bar-my-account>.ab-item:before,#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{display:block;text-indent:0;font:400 32px/1 dashicons;speak:none;top:7px;width:52px;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar #wp-admin-bar-appearance{margin-top:0}#wpadminbar #wp-admin-bar-search,#wpadminbar .quicklinks li .blavatar:before{display:none}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{top:0;line-height:53px;height:46px!important;text-align:center;width:52px;display:block}#wpadminbar #wp-admin-bar-updates{text-align:center}#wpadminbar #wp-admin-bar-updates .ab-icon:before{top:3px}#wpadminbar #wp-admin-bar-comments .ab-icon{margin:0}#wpadminbar #wp-admin-bar-comments .ab-icon:before{display:block;font-size:34px;height:46px;line-height:47px;top:0}#wpadminbar #wp-admin-bar-my-account>a{position:relative;white-space:nowrap;text-indent:150%;width:28px;padding:0 10px;overflow:hidden}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{position:absolute;top:13px;right:10px;width:26px;height:26px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:0}#wpadminbar #wp-admin-bar-user-actions.ab-submenu img.avatar{display:none}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin:0}#wpadminbar #wp-admin-bar-user-info .display-name{height:auto;font-size:16px;line-height:24px;color:#eee}#wpadminbar #wp-admin-bar-user-info a{padding-top:4px}#wpadminbar #wp-admin-bar-user-info .username{line-height:.8!important;margin-bottom:-2px}#wp-toolbar>ul>li{display:none}#wpadminbar li#wp-admin-bar-comments,#wpadminbar li#wp-admin-bar-edit,#wpadminbar li#wp-admin-bar-menu-toggle,#wpadminbar li#wp-admin-bar-my-account,#wpadminbar li#wp-admin-bar-my-sites,#wpadminbar li#wp-admin-bar-new-content,#wpadminbar li#wp-admin-bar-site-name,#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:block}#wpadminbar li.hover ul li,#wpadminbar li:hover ul li,#wpadminbar li:hover ul li:hover ul li{display:list-item}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}#wpadminbar ul#wp-admin-bar-root-default>li{margin-right:0}#wpadminbar #wp-admin-bar-comments,#wpadminbar #wp-admin-bar-edit,#wpadminbar #wp-admin-bar-my-account,#wpadminbar #wp-admin-bar-my-sites,#wpadminbar #wp-admin-bar-new-content,#wpadminbar #wp-admin-bar-site-name,#wpadminbar #wp-admin-bar-updates,#wpadminbar #wp-admin-bar-wp-logo,#wpadminbar .ab-top-menu,#wpadminbar .ab-top-secondary{position:static}#wpadminbar #wp-admin-bar-my-account{float:right}.network-admin #wpadminbar ul#wp-admin-bar-top-secondary>li#wp-admin-bar-my-account{margin-right:0}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:10px;left:0}}@media screen and (max-width:600px){#wpadminbar{position:absolute}#wp-responsive-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:400}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{position:fixed;width:100%;left:0}#wpadminbar .menupop .menupop>.ab-item:before{display:none}#wpadminbar #wp-admin-bar-wp-logo.menupop .ab-sub-wrapper{margin-left:0}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{margin:0;width:100%;top:auto;left:auto}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 19px 30px}#wpadminbar li:hover ul li ul li{display:list-item}#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:none}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{position:static;-webkit-box-shadow:none;box-shadow:none}}
\ No newline at end of file
diff --git a/wp-includes/css/buttons-rtl.css b/wp-includes/css/buttons-rtl.css
index c24eade35..d4e0b53c5 100644
--- a/wp-includes/css/buttons-rtl.css
+++ b/wp-includes/css/buttons-rtl.css
@@ -67,9 +67,8 @@ TABLE OF CONTENTS:
 .wp-core-ui input[type="reset"]::-moz-focus-inner,
 .wp-core-ui input[type="button"]::-moz-focus-inner,
 .wp-core-ui input[type="submit"]::-moz-focus-inner {
-	border-width: 1px 0;
-	border-style: solid none;
-	border-color: transparent;
+	border-width: 0;
+	border-style: none;
 	padding: 0;
 }
 
@@ -96,7 +95,8 @@ TABLE OF CONTENTS:
 	padding: 0 36px;
 }
 
-.wp-core-ui .button:active {
+.wp-core-ui .button:active,
+.wp-core-ui .button:focus {
 	outline: none;
 }
 
@@ -127,8 +127,8 @@ TABLE OF CONTENTS:
 	color: #555;
 	border-color: #cccccc;
 	background: #f7f7f7;
-	-webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
-	box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
+	-webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
+	box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
  	vertical-align: top;
 }
 
@@ -150,13 +150,16 @@ TABLE OF CONTENTS:
 .wp-core-ui .button.focus,
 .wp-core-ui .button:focus,
 .wp-core-ui .button-secondary:focus {
-	-webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.2);
-	box-shadow: 1px 1px 1px rgba(0,0,0,.2);
+	-webkit-box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
+	box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
 }
 
 .wp-core-ui .button.active,
 .wp-core-ui .button.active:hover,
-.wp-core-ui .button.active:focus,
 .wp-core-ui .button:active,
 .wp-core-ui .button-secondary:active {
 	background: #eee;
@@ -166,6 +169,17 @@ TABLE OF CONTENTS:
  	box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
 }
 
+.wp-core-ui .button.active:focus {
+	-webkit-box-shadow:
+		inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 ),
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
+	box-shadow:
+		inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 ),
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
+}
+
 .wp-core-ui .button[disabled],
 .wp-core-ui .button:disabled,
 .wp-core-ui .button.disabled,
@@ -189,8 +203,8 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-primary {
 	background: #2ea2cc;
 	border-color: #0074a2;
- 	-webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
- 	box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
+ 	-webkit-box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5), 0 1px 0 rgba( 0, 0, 0, 0.15 );
+ 	box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5 ), 0 1px 0 rgba( 0, 0, 0, 0.15 );
  	color: #fff;
 	text-decoration: none;
 }
@@ -201,16 +215,22 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-primary:focus {
 	background: #1e8cbe;
 	border-color: #0074a2;
- 	-webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
- 	box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
+ 	-webkit-box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.6 );
+ 	box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.6 );
 	color: #fff;
 }
 
 .wp-core-ui .button-primary.focus,
 .wp-core-ui .button-primary:focus {
 	border-color: #0e3950;
-	-webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6), 1px 1px 2px rgba(0,0,0,0.4);
-	box-shadow: inset 0 1px 0 rgba(120,200,230,0.6), 1px 1px 2px rgba(0,0,0,0.4);
+	-webkit-box-shadow:
+		inset 0 1px 0 rgba( 120, 200, 230, 0.6 ),
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
+	box-shadow:
+		inset 0 1px 0 rgba( 120, 200, 230, 0.6 ),
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
 }
 
 .wp-core-ui .button-primary.active,
@@ -219,9 +239,9 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-primary:active {
 	background: #1b7aa6;
 	border-color: #005684;
-	color: rgba(255,255,255,0.95);
- 	-webkit-box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
- 	box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
+	color: rgba( 255, 255, 255, 0.95 );
+ 	-webkit-box-shadow: inset 0 1px 0 rgba( 0, 0, 0, 0.1 );
+ 	box-shadow: inset 0 1px 0 rgba( 0, 0, 0, 0.1 );
  	vertical-align: top;
 }
 
@@ -234,7 +254,7 @@ TABLE OF CONTENTS:
 	border-color: #1b607f !important;
 	-webkit-box-shadow: none !important;
 	box-shadow: none !important;
-	text-shadow: 0 -1px 0 rgba(0,0,0,0.1) !important;
+	text-shadow: 0 -1px 0 rgba( 0, 0, 0, 0.1 ) !important;
 	cursor: default;
 }
 
@@ -276,6 +296,11 @@ TABLE OF CONTENTS:
 	border-radius: 3px 0 0 3px;
 }
 
+.wp-core-ui .button-group > .button:focus {
+	position: relative;
+	z-index: 1;
+}
+
 /* ----------------------------------------------------------------------------
   5.0 - Responsive Button Styles
 ---------------------------------------------------------------------------- */
@@ -303,6 +328,10 @@ TABLE OF CONTENTS:
 		font-size: 13px;
 	}
 
+	.media-frame.mode-grid .bulk-select .button {
+		margin-bottom: 0;
+	}
+
 	/* Publish Metabox Options */
 	.wp-core-ui .save-post-status.button {
 		position: relative;
diff --git a/wp-includes/css/buttons-rtl.min.css b/wp-includes/css/buttons-rtl.min.css
index f708de83b..f37e37123 100644
--- a/wp-includes/css/buttons-rtl.min.css
+++ b/wp-includes/css/buttons-rtl.min.css
@@ -1 +1 @@
-.wp-core-ui .button,.wp-core-ui .button-primary,.wp-core-ui .button-secondary{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-core-ui button::-moz-focus-inner,.wp-core-ui input[type=button]::-moz-focus-inner,.wp-core-ui input[type=reset]::-moz-focus-inner,.wp-core-ui input[type=submit]::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.wp-core-ui .button-group.button-large .button,.wp-core-ui .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}.wp-core-ui .button-group.button-small .button,.wp-core-ui .button.button-small{height:24px;line-height:22px;padding:0 8px 1px;font-size:11px}.wp-core-ui .button-group.button-hero .button,.wp-core-ui .button.button-hero{font-size:14px;height:46px;line-height:44px;padding:0 36px}.wp-core-ui .button:active{outline:0}.wp-core-ui .button.hidden{display:none}.wp-core-ui input[type=reset],.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:focus,.wp-core-ui input[type=reset]:hover{background:0 0;border:0;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.wp-core-ui .button,.wp-core-ui .button-secondary{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.wp-core-ui p .button{vertical-align:baseline}.wp-core-ui .button-secondary:focus,.wp-core-ui .button-secondary:hover,.wp-core-ui .button.focus,.wp-core-ui .button.hover,.wp-core-ui .button:focus,.wp-core-ui .button:hover{background:#fafafa;border-color:#999;color:#222}.wp-core-ui .button-secondary:focus,.wp-core-ui .button.focus,.wp-core-ui .button:focus{-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2)}.wp-core-ui .button-secondary:active,.wp-core-ui .button.active,.wp-core-ui .button.active:focus,.wp-core-ui .button.active:hover,.wp-core-ui .button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button-disabled,.wp-core-ui .button-secondary.disabled,.wp-core-ui .button-secondary:disabled,.wp-core-ui .button-secondary[disabled],.wp-core-ui .button.disabled,.wp-core-ui .button:disabled,.wp-core-ui .button[disabled]{color:#aaa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}.wp-core-ui .button-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary.hover,.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4)}.wp-core-ui .button-primary.active,.wp-core-ui .button-primary.active:focus,.wp-core-ui .button-primary.active:hover,.wp-core-ui .button-primary:active{background:#1b7aa6;border-color:#005684;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);vertical-align:top}.wp-core-ui .button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#94cde7!important;background:#298cba!important;border-color:#1b607f!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important;cursor:default}.wp-core-ui .button-group{position:relative;display:inline-block;white-space:nowrap;font-size:0;vertical-align:middle}.wp-core-ui .button-group>.button{display:inline-block;-webkit-border-radius:0;border-radius:0;margin-left:-1px;z-index:10}.wp-core-ui .button-group>.button-primary{z-index:100}.wp-core-ui .button-group>.button:hover{z-index:20}.wp-core-ui .button-group>.button:first-child{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.wp-core-ui .button-group>.button:last-child{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}@media screen and (max-width:782px){.wp-core-ui .button,.wp-core-ui .button.button-large,.wp-core-ui .button.button-small,a.preview,input#publish,input#save-post{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}#media-upload.wp-core-ui .button{padding:0 10px 1px;height:24px;line-height:22px;font-size:13px}.wp-core-ui .save-post-status.button{position:relative;margin:0 10px 0 14px}.press-this a.preview,.press-this input#publish,.press-this input#save-post,.press-this.wp-core-ui .button,.wp-core-ui.wp-customizer .button{padding:0 10px 1px;font-size:13px;line-height:26px;height:28px;margin:0;vertical-align:inherit}.interim-login .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}}
\ No newline at end of file
+.wp-core-ui .button,.wp-core-ui .button-primary,.wp-core-ui .button-secondary{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-core-ui button::-moz-focus-inner,.wp-core-ui input[type=button]::-moz-focus-inner,.wp-core-ui input[type=reset]::-moz-focus-inner,.wp-core-ui input[type=submit]::-moz-focus-inner{border-width:0;border-style:none;padding:0}.wp-core-ui .button-group.button-large .button,.wp-core-ui .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}.wp-core-ui .button-group.button-small .button,.wp-core-ui .button.button-small{height:24px;line-height:22px;padding:0 8px 1px;font-size:11px}.wp-core-ui .button-group.button-hero .button,.wp-core-ui .button.button-hero{font-size:14px;height:46px;line-height:44px;padding:0 36px}.wp-core-ui .button:active,.wp-core-ui .button:focus{outline:0}.wp-core-ui .button.hidden{display:none}.wp-core-ui input[type=reset],.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:focus,.wp-core-ui input[type=reset]:hover{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.wp-core-ui .button,.wp-core-ui .button-secondary{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.wp-core-ui p .button{vertical-align:baseline}.wp-core-ui .button-secondary:focus,.wp-core-ui .button-secondary:hover,.wp-core-ui .button.focus,.wp-core-ui .button.hover,.wp-core-ui .button:focus,.wp-core-ui .button:hover{background:#fafafa;border-color:#999;color:#222}.wp-core-ui .button-secondary:focus,.wp-core-ui .button.focus,.wp-core-ui .button:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-secondary:active,.wp-core-ui .button.active,.wp-core-ui .button.active:hover,.wp-core-ui .button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button.active:focus{-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-disabled,.wp-core-ui .button-secondary.disabled,.wp-core-ui .button-secondary:disabled,.wp-core-ui .button-secondary[disabled],.wp-core-ui .button.disabled,.wp-core-ui .button:disabled,.wp-core-ui .button[disabled]{color:#aaa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}.wp-core-ui .button-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary.hover,.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.active,.wp-core-ui .button-primary.active:focus,.wp-core-ui .button-primary.active:hover,.wp-core-ui .button-primary:active{background:#1b7aa6;border-color:#005684;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);vertical-align:top}.wp-core-ui .button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#94cde7!important;background:#298cba!important;border-color:#1b607f!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important;cursor:default}.wp-core-ui .button-group{position:relative;display:inline-block;white-space:nowrap;font-size:0;vertical-align:middle}.wp-core-ui .button-group>.button{display:inline-block;-webkit-border-radius:0;border-radius:0;margin-left:-1px;z-index:10}.wp-core-ui .button-group>.button-primary{z-index:100}.wp-core-ui .button-group>.button:hover{z-index:20}.wp-core-ui .button-group>.button:first-child{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.wp-core-ui .button-group>.button:last-child{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.wp-core-ui .button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:782px){.wp-core-ui .button,.wp-core-ui .button.button-large,.wp-core-ui .button.button-small,a.preview,input#publish,input#save-post{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}#media-upload.wp-core-ui .button{padding:0 10px 1px;height:24px;line-height:22px;font-size:13px}.media-frame.mode-grid .bulk-select .button{margin-bottom:0}.wp-core-ui .save-post-status.button{position:relative;margin:0 10px 0 14px}.press-this a.preview,.press-this input#publish,.press-this input#save-post,.press-this.wp-core-ui .button,.wp-core-ui.wp-customizer .button{padding:0 10px 1px;font-size:13px;line-height:26px;height:28px;margin:0;vertical-align:inherit}.interim-login .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}}
\ No newline at end of file
diff --git a/wp-includes/css/buttons.css b/wp-includes/css/buttons.css
index 1642491f6..e84a0b52a 100644
--- a/wp-includes/css/buttons.css
+++ b/wp-includes/css/buttons.css
@@ -67,9 +67,8 @@ TABLE OF CONTENTS:
 .wp-core-ui input[type="reset"]::-moz-focus-inner,
 .wp-core-ui input[type="button"]::-moz-focus-inner,
 .wp-core-ui input[type="submit"]::-moz-focus-inner {
-	border-width: 1px 0;
-	border-style: solid none;
-	border-color: transparent;
+	border-width: 0;
+	border-style: none;
 	padding: 0;
 }
 
@@ -96,7 +95,8 @@ TABLE OF CONTENTS:
 	padding: 0 36px;
 }
 
-.wp-core-ui .button:active {
+.wp-core-ui .button:active,
+.wp-core-ui .button:focus {
 	outline: none;
 }
 
@@ -127,8 +127,8 @@ TABLE OF CONTENTS:
 	color: #555;
 	border-color: #cccccc;
 	background: #f7f7f7;
-	-webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
-	box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
+	-webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
+	box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
  	vertical-align: top;
 }
 
@@ -150,13 +150,16 @@ TABLE OF CONTENTS:
 .wp-core-ui .button.focus,
 .wp-core-ui .button:focus,
 .wp-core-ui .button-secondary:focus {
-	-webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.2);
-	box-shadow: 1px 1px 1px rgba(0,0,0,.2);
+	-webkit-box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
+	box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
 }
 
 .wp-core-ui .button.active,
 .wp-core-ui .button.active:hover,
-.wp-core-ui .button.active:focus,
 .wp-core-ui .button:active,
 .wp-core-ui .button-secondary:active {
 	background: #eee;
@@ -166,6 +169,17 @@ TABLE OF CONTENTS:
  	box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
 }
 
+.wp-core-ui .button.active:focus {
+	-webkit-box-shadow:
+		inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 ),
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
+	box-shadow:
+		inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 ),
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
+}
+
 .wp-core-ui .button[disabled],
 .wp-core-ui .button:disabled,
 .wp-core-ui .button.disabled,
@@ -189,8 +203,8 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-primary {
 	background: #2ea2cc;
 	border-color: #0074a2;
- 	-webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
- 	box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
+ 	-webkit-box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5), 0 1px 0 rgba( 0, 0, 0, 0.15 );
+ 	box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5 ), 0 1px 0 rgba( 0, 0, 0, 0.15 );
  	color: #fff;
 	text-decoration: none;
 }
@@ -201,16 +215,22 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-primary:focus {
 	background: #1e8cbe;
 	border-color: #0074a2;
- 	-webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
- 	box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
+ 	-webkit-box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.6 );
+ 	box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.6 );
 	color: #fff;
 }
 
 .wp-core-ui .button-primary.focus,
 .wp-core-ui .button-primary:focus {
 	border-color: #0e3950;
-	-webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6), 1px 1px 2px rgba(0,0,0,0.4);
-	box-shadow: inset 0 1px 0 rgba(120,200,230,0.6), 1px 1px 2px rgba(0,0,0,0.4);
+	-webkit-box-shadow:
+		inset 0 1px 0 rgba( 120, 200, 230, 0.6 ),
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
+	box-shadow:
+		inset 0 1px 0 rgba( 120, 200, 230, 0.6 ),
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
 }
 
 .wp-core-ui .button-primary.active,
@@ -219,9 +239,9 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-primary:active {
 	background: #1b7aa6;
 	border-color: #005684;
-	color: rgba(255,255,255,0.95);
- 	-webkit-box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
- 	box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
+	color: rgba( 255, 255, 255, 0.95 );
+ 	-webkit-box-shadow: inset 0 1px 0 rgba( 0, 0, 0, 0.1 );
+ 	box-shadow: inset 0 1px 0 rgba( 0, 0, 0, 0.1 );
  	vertical-align: top;
 }
 
@@ -234,7 +254,7 @@ TABLE OF CONTENTS:
 	border-color: #1b607f !important;
 	-webkit-box-shadow: none !important;
 	box-shadow: none !important;
-	text-shadow: 0 -1px 0 rgba(0,0,0,0.1) !important;
+	text-shadow: 0 -1px 0 rgba( 0, 0, 0, 0.1 ) !important;
 	cursor: default;
 }
 
@@ -276,6 +296,11 @@ TABLE OF CONTENTS:
 	border-radius: 0 3px 3px 0;
 }
 
+.wp-core-ui .button-group > .button:focus {
+	position: relative;
+	z-index: 1;
+}
+
 /* ----------------------------------------------------------------------------
   5.0 - Responsive Button Styles
 ---------------------------------------------------------------------------- */
@@ -303,6 +328,10 @@ TABLE OF CONTENTS:
 		font-size: 13px;
 	}
 
+	.media-frame.mode-grid .bulk-select .button {
+		margin-bottom: 0;
+	}
+
 	/* Publish Metabox Options */
 	.wp-core-ui .save-post-status.button {
 		position: relative;
diff --git a/wp-includes/css/buttons.min.css b/wp-includes/css/buttons.min.css
index 514460a78..96804805f 100644
--- a/wp-includes/css/buttons.min.css
+++ b/wp-includes/css/buttons.min.css
@@ -1 +1 @@
-.wp-core-ui .button,.wp-core-ui .button-primary,.wp-core-ui .button-secondary{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-core-ui button::-moz-focus-inner,.wp-core-ui input[type=button]::-moz-focus-inner,.wp-core-ui input[type=reset]::-moz-focus-inner,.wp-core-ui input[type=submit]::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.wp-core-ui .button-group.button-large .button,.wp-core-ui .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}.wp-core-ui .button-group.button-small .button,.wp-core-ui .button.button-small{height:24px;line-height:22px;padding:0 8px 1px;font-size:11px}.wp-core-ui .button-group.button-hero .button,.wp-core-ui .button.button-hero{font-size:14px;height:46px;line-height:44px;padding:0 36px}.wp-core-ui .button:active{outline:0}.wp-core-ui .button.hidden{display:none}.wp-core-ui input[type=reset],.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:focus,.wp-core-ui input[type=reset]:hover{background:0 0;border:0;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.wp-core-ui .button,.wp-core-ui .button-secondary{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.wp-core-ui p .button{vertical-align:baseline}.wp-core-ui .button-secondary:focus,.wp-core-ui .button-secondary:hover,.wp-core-ui .button.focus,.wp-core-ui .button.hover,.wp-core-ui .button:focus,.wp-core-ui .button:hover{background:#fafafa;border-color:#999;color:#222}.wp-core-ui .button-secondary:focus,.wp-core-ui .button.focus,.wp-core-ui .button:focus{-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2)}.wp-core-ui .button-secondary:active,.wp-core-ui .button.active,.wp-core-ui .button.active:focus,.wp-core-ui .button.active:hover,.wp-core-ui .button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button-disabled,.wp-core-ui .button-secondary.disabled,.wp-core-ui .button-secondary:disabled,.wp-core-ui .button-secondary[disabled],.wp-core-ui .button.disabled,.wp-core-ui .button:disabled,.wp-core-ui .button[disabled]{color:#aaa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}.wp-core-ui .button-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary.hover,.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4)}.wp-core-ui .button-primary.active,.wp-core-ui .button-primary.active:focus,.wp-core-ui .button-primary.active:hover,.wp-core-ui .button-primary:active{background:#1b7aa6;border-color:#005684;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);vertical-align:top}.wp-core-ui .button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#94cde7!important;background:#298cba!important;border-color:#1b607f!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important;cursor:default}.wp-core-ui .button-group{position:relative;display:inline-block;white-space:nowrap;font-size:0;vertical-align:middle}.wp-core-ui .button-group>.button{display:inline-block;-webkit-border-radius:0;border-radius:0;margin-right:-1px;z-index:10}.wp-core-ui .button-group>.button-primary{z-index:100}.wp-core-ui .button-group>.button:hover{z-index:20}.wp-core-ui .button-group>.button:first-child{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.wp-core-ui .button-group>.button:last-child{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}@media screen and (max-width:782px){.wp-core-ui .button,.wp-core-ui .button.button-large,.wp-core-ui .button.button-small,a.preview,input#publish,input#save-post{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}#media-upload.wp-core-ui .button{padding:0 10px 1px;height:24px;line-height:22px;font-size:13px}.wp-core-ui .save-post-status.button{position:relative;margin:0 14px 0 10px}.press-this a.preview,.press-this input#publish,.press-this input#save-post,.press-this.wp-core-ui .button,.wp-core-ui.wp-customizer .button{padding:0 10px 1px;font-size:13px;line-height:26px;height:28px;margin:0;vertical-align:inherit}.interim-login .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}}
\ No newline at end of file
+.wp-core-ui .button,.wp-core-ui .button-primary,.wp-core-ui .button-secondary{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-core-ui button::-moz-focus-inner,.wp-core-ui input[type=button]::-moz-focus-inner,.wp-core-ui input[type=reset]::-moz-focus-inner,.wp-core-ui input[type=submit]::-moz-focus-inner{border-width:0;border-style:none;padding:0}.wp-core-ui .button-group.button-large .button,.wp-core-ui .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}.wp-core-ui .button-group.button-small .button,.wp-core-ui .button.button-small{height:24px;line-height:22px;padding:0 8px 1px;font-size:11px}.wp-core-ui .button-group.button-hero .button,.wp-core-ui .button.button-hero{font-size:14px;height:46px;line-height:44px;padding:0 36px}.wp-core-ui .button:active,.wp-core-ui .button:focus{outline:0}.wp-core-ui .button.hidden{display:none}.wp-core-ui input[type=reset],.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:focus,.wp-core-ui input[type=reset]:hover{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.wp-core-ui .button,.wp-core-ui .button-secondary{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.wp-core-ui p .button{vertical-align:baseline}.wp-core-ui .button-secondary:focus,.wp-core-ui .button-secondary:hover,.wp-core-ui .button.focus,.wp-core-ui .button.hover,.wp-core-ui .button:focus,.wp-core-ui .button:hover{background:#fafafa;border-color:#999;color:#222}.wp-core-ui .button-secondary:focus,.wp-core-ui .button.focus,.wp-core-ui .button:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-secondary:active,.wp-core-ui .button.active,.wp-core-ui .button.active:hover,.wp-core-ui .button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button.active:focus{-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-disabled,.wp-core-ui .button-secondary.disabled,.wp-core-ui .button-secondary:disabled,.wp-core-ui .button-secondary[disabled],.wp-core-ui .button.disabled,.wp-core-ui .button:disabled,.wp-core-ui .button[disabled]{color:#aaa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}.wp-core-ui .button-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary.hover,.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.active,.wp-core-ui .button-primary.active:focus,.wp-core-ui .button-primary.active:hover,.wp-core-ui .button-primary:active{background:#1b7aa6;border-color:#005684;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);vertical-align:top}.wp-core-ui .button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#94cde7!important;background:#298cba!important;border-color:#1b607f!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important;cursor:default}.wp-core-ui .button-group{position:relative;display:inline-block;white-space:nowrap;font-size:0;vertical-align:middle}.wp-core-ui .button-group>.button{display:inline-block;-webkit-border-radius:0;border-radius:0;margin-right:-1px;z-index:10}.wp-core-ui .button-group>.button-primary{z-index:100}.wp-core-ui .button-group>.button:hover{z-index:20}.wp-core-ui .button-group>.button:first-child{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.wp-core-ui .button-group>.button:last-child{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.wp-core-ui .button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:782px){.wp-core-ui .button,.wp-core-ui .button.button-large,.wp-core-ui .button.button-small,a.preview,input#publish,input#save-post{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}#media-upload.wp-core-ui .button{padding:0 10px 1px;height:24px;line-height:22px;font-size:13px}.media-frame.mode-grid .bulk-select .button{margin-bottom:0}.wp-core-ui .save-post-status.button{position:relative;margin:0 14px 0 10px}.press-this a.preview,.press-this input#publish,.press-this input#save-post,.press-this.wp-core-ui .button,.wp-core-ui.wp-customizer .button{padding:0 10px 1px;font-size:13px;line-height:26px;height:28px;margin:0;vertical-align:inherit}.interim-login .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}}
\ No newline at end of file
diff --git a/wp-includes/css/dashicons.css b/wp-includes/css/dashicons.css
index 4fe64f2da..22ed1ee20 100644
--- a/wp-includes/css/dashicons.css
+++ b/wp-includes/css/dashicons.css
@@ -5,7 +5,7 @@
 
 @font-face {
 	font-family: "dashicons";
-	src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff'),
+	src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff'),
 		url(../fonts/dashicons.ttf) format("truetype"),
 		url(../fonts/dashicons.svg#dashicons) format("svg");
 	font-weight: normal;
@@ -34,15 +34,15 @@
 /* Admin Menu Icons */
 
 .dashicons-menu:before {
-	content:"\f333";
+	content: "\f333";
 }
 
 .dashicons-admin-site:before {
-	content:"\f319";
+	content: "\f319";
 }
 
 .dashicons-dashboard:before {
-	content:"\f226";
+	content: "\f226";
 }
 
 .dashicons-admin-media:before {
@@ -90,7 +90,7 @@
 }
 
 .dashicons-admin-collapse:before {
-	content:"\f148";
+	content: "\f148";
 }
 
 
@@ -146,103 +146,103 @@
 
 .dashicons-welcome-write-blog:before,
 .dashicons-welcome-edit-page:before {
-	content:"\f119";
+	content: "\f119";
 }
 
 .dashicons-welcome-add-page:before {
-	content:"\f133";
+	content: "\f133";
 }
 
 .dashicons-welcome-view-site:before {
-	content:"\f115";
+	content: "\f115";
 }
 
 .dashicons-welcome-widgets-menus:before {
-	content:"\f116";
+	content: "\f116";
 }
 
 .dashicons-welcome-comments:before {
-	content:"\f117";
+	content: "\f117";
 }
 
 .dashicons-welcome-learn-more:before {
-	content:"\f118";
+	content: "\f118";
 }
 
 
 /* Image Editing Icons */
 
 .dashicons-image-crop:before {
-	content:"\f165";
+	content: "\f165";
 }
 
 .dashicons-image-rotate-left:before {
-	content:"\f166";
+	content: "\f166";
 }
 
 .dashicons-image-rotate-right:before {
-	content:"\f167";
+	content: "\f167";
 }
 
 .dashicons-image-flip-vertical:before {
-	content:"\f168";
+	content: "\f168";
 }
 
 .dashicons-image-flip-horizontal:before {
-	content:"\f169";
+	content: "\f169";
 }
 
 
 /* Both Image Editing and TinyMCE */
 
 .dashicons-undo:before {
-	content:"\f171";
+	content: "\f171";
 }
 
 .dashicons-redo:before {
-	content:"\f172";
+	content: "\f172";
 }
 
 /* TinyMCE Icons */
 
 .dashicons-editor-bold:before {
-	content:"\f200";
+	content: "\f200";
 }
 
 .dashicons-editor-italic:before {
-	content:"\f201";
+	content: "\f201";
 }
 
 .dashicons-editor-ul:before {
-	content:"\f203";
+	content: "\f203";
 }
 
 .dashicons-editor-ol:before {
-	content:"\f204";
+	content: "\f204";
 }
 
 .dashicons-editor-quote:before {
-	content:"\f205";
+	content: "\f205";
 }
 
 .dashicons-editor-alignleft:before {
-	content:"\f206";
+	content: "\f206";
 }
 
 .dashicons-editor-aligncenter:before {
-	content:"\f207";
+	content: "\f207";
 }
 
 .dashicons-editor-alignright:before {
-	content:"\f208";
+	content: "\f208";
 }
 
 .dashicons-editor-insertmore:before {
-	content:"\f209";
+	content: "\f209";
 }
 
 .dashicons-editor-spellcheck:before {
-	content:"\f210";
+	content: "\f210";
 }
 
 .dashicons-editor-distractionfree:before,
@@ -255,118 +255,122 @@
 }
 
 .dashicons-editor-kitchensink:before {
-	content:"\f212";
+	content: "\f212";
 }
 
 .dashicons-editor-underline:before {
-	content:"\f213";
+	content: "\f213";
 }
 
 .dashicons-editor-justify:before {
-	content:"\f214";
+	content: "\f214";
 }
 
 .dashicons-editor-textcolor:before {
-	content:"\f215";
+	content: "\f215";
 }
 
 .dashicons-editor-paste-word:before {
-	content:"\f216";
+	content: "\f216";
 }
 
 .dashicons-editor-paste-text:before {
-	content:"\f217";
+	content: "\f217";
 }
 
 .dashicons-editor-removeformatting:before {
-	content:"\f218";
+	content: "\f218";
 }
 
 .dashicons-editor-video:before {
-	content:"\f219";
+	content: "\f219";
 }
 
 .dashicons-editor-customchar:before {
-	content:"\f220";
+	content: "\f220";
 }
 
 .dashicons-editor-outdent:before {
-	content:"\f221";
+	content: "\f221";
 }
 
 .dashicons-editor-indent:before {
-	content:"\f222";
+	content: "\f222";
 }
 
 .dashicons-editor-help:before {
-	content:"\f223";
+	content: "\f223";
 }
 
 .dashicons-editor-strikethrough:before {
-	content:"\f224";
+	content: "\f224";
 }
 
 .dashicons-editor-unlink:before {
-	content:"\f225";
+	content: "\f225";
 }
 
 .dashicons-editor-rtl:before {
-	content:"\f320";
+	content: "\f320";
 }
 
 .dashicons-editor-break:before {
-	content:"\f474";
+	content: "\f474";
 }
 
 .dashicons-editor-code:before {
-	content:"\f475";
+	content: "\f475";
 }
 
 .dashicons-editor-paragraph:before {
-	content:"\f476";
+	content: "\f476";
 }
 
 /* Post Icons */
 
 .dashicons-align-left:before {
-	content:"\f135";
+	content: "\f135";
 }
 
 .dashicons-align-right:before {
-	content:"\f136";
+	content: "\f136";
 }
 
 .dashicons-align-center:before {
-	content:"\f134";
+	content: "\f134";
 }
 
 .dashicons-align-none:before {
-	content:"\f138";
+	content: "\f138";
 }
 
 .dashicons-lock:before {
-	content:"\f160";
+	content: "\f160";
 }
 
 .dashicons-calendar:before {
-	content:"\f145";
+	content: "\f145";
+}
+
+.dashicons-calendar-alt:before {
+	content: "\f508";
 }
 
 .dashicons-visibility:before {
-	content:"\f177";
+	content: "\f177";
 }
 
 .dashicons-post-status:before {
-	content:"\f173";
+	content: "\f173";
 }
 
 .dashicons-edit:before {
-	content:"\f464";
+	content: "\f464";
 }
 
 .dashicons-post-trash:before,
 .dashicons-trash:before {
-	content:"\f182";
+	content: "\f182";
 }
 
 
@@ -377,59 +381,59 @@
 }
 
 .dashicons-arrow-up:before {
-	content:"\f142";
+	content: "\f142";
 }
 
 .dashicons-arrow-down:before {
-	content:"\f140";
+	content: "\f140";
 }
 
 .dashicons-arrow-left:before {
-	content:"\f141";
+	content: "\f141";
 }
 
 .dashicons-arrow-right:before {
-	content:"\f139";
+	content: "\f139";
 }
 
 .dashicons-arrow-up-alt:before {
-	content:"\f342";
+	content: "\f342";
 }
 
 .dashicons-arrow-down-alt:before {
-	content:"\f346";
+	content: "\f346";
 }
 
 .dashicons-arrow-left-alt:before {
-	content:"\f340";
+	content: "\f340";
 }
 
 .dashicons-arrow-right-alt:before {
-	content:"\f344";
+	content: "\f344";
 }
 
 .dashicons-arrow-up-alt2:before {
-	content:"\f343";
+	content: "\f343";
 }
 
 .dashicons-arrow-down-alt2:before {
-	content:"\f347";
+	content: "\f347";
 }
 
 .dashicons-arrow-left-alt2:before {
-	content:"\f341";
+	content: "\f341";
 }
 
 .dashicons-arrow-right-alt2:before {
-	content:"\f345";
+	content: "\f345";
 }
 
 .dashicons-leftright:before {
-	content:"\f229";
+	content: "\f229";
 }
 
 .dashicons-sort:before {
-	content:"\f156";
+	content: "\f156";
 }
 
 .dashicons-randomize:before {
@@ -437,11 +441,15 @@
 }
 
 .dashicons-list-view:before {
-	content:"\f163";
+	content: "\f163";
 }
 
 .dashicons-exerpt-view:before {
-	content:"\f164";
+	content: "\f164";
+}
+
+.dashicons-grid-view:before {
+	content: "\f509";
 }
 
 
@@ -499,69 +507,69 @@
 /* Internal/Products */
 
 .dashicons-wordpress:before {
-	content:"\f120";
+	content: "\f120";
 }
 
 .dashicons-wordpress-alt:before {
-	content:"\f324";
+	content: "\f324";
 }
 
 .dashicons-pressthis:before {
-	content:"\f157";
+	content: "\f157";
 }
 
 .dashicons-update:before {
-	content:"\f463";
+	content: "\f463";
 }
 
 .dashicons-screenoptions:before {
-	content:"\f180";
+	content: "\f180";
 }
 
 .dashicons-info:before {
-	content:"\f348";
+	content: "\f348";
 }
 
 .dashicons-cart:before {
-	content:"\f174";
+	content: "\f174";
 }
 
 .dashicons-feedback:before {
-	content:"\f175";
+	content: "\f175";
 }
 
 .dashicons-cloud:before {
-	content:"\f176";
+	content: "\f176";
 }
 
 .dashicons-translation:before {
-	content:"\f326";
+	content: "\f326";
 }
 
 
 /* Taxonomies */
 
 .dashicons-tag:before {
-	content:"\f323";
+	content: "\f323";
 }
 
 .dashicons-category:before {
-	content:"\f318";
+	content: "\f318";
 }
 
 
 /* Widget icons */
 
 .dashicons-archive:before {
-	content:"\f480";
+	content: "\f480";
 }
 
 .dashicons-tagcloud:before {
-	content:"\f479";
+	content: "\f479";
 }
 
 .dashicons-text:before {
-	content:"\f478";
+	content: "\f478";
 }
 
 
@@ -615,19 +623,19 @@
 /* Alerts/Notifications/Flags */
 
 .dashicons-yes:before {
-	content:"\f147";
+	content: "\f147";
 }
 
 .dashicons-no:before {
-	content:"\f158";
+	content: "\f158";
 }
 
 .dashicons-no-alt:before {
-	content:"\f335";
+	content: "\f335";
 }
 
 .dashicons-plus:before {
-	content:"\f132";
+	content: "\f132";
 }
 
 .dashicons-plus-alt:before {
@@ -635,225 +643,225 @@
 }
 
 .dashicons-minus:before {
-	content:"\f460";
+	content: "\f460";
 }
 
 .dashicons-dismiss:before {
-	content:"\f153";
+	content: "\f153";
 }
 
 .dashicons-marker:before {
-	content:"\f159";
+	content: "\f159";
 }
 
 .dashicons-star-filled:before {
-	content:"\f155";
+	content: "\f155";
 }
 
 .dashicons-star-half:before {
-	content:"\f459";
+	content: "\f459";
 }
 
 .dashicons-star-empty:before {
-	content:"\f154";
+	content: "\f154";
 }
 
 .dashicons-flag:before {
-	content:"\f227";
+	content: "\f227";
 }
 
 
 /* Social Icons */
 
 .dashicons-share:before {
-	content:"\f237";
+	content: "\f237";
 }
 
 .dashicons-share1:before {
-	content:"\f237";
+	content: "\f237";
 }
 
 .dashicons-share-alt:before {
-	content:"\f240";
+	content: "\f240";
 }
 
 .dashicons-share-alt2:before {
-	content:"\f242";
+	content: "\f242";
 }
 
 .dashicons-twitter:before {
-	content:"\f301";
+	content: "\f301";
 }
 
 .dashicons-rss:before {
-	content:"\f303";
+	content: "\f303";
 }
 
 .dashicons-email:before {
-	content:"\f465";
+	content: "\f465";
 }
 
 .dashicons-email-alt:before {
-	content:"\f466";
+	content: "\f466";
 }
 
 .dashicons-facebook:before {
-	content:"\f304";
+	content: "\f304";
 }
 
 .dashicons-facebook-alt:before {
-	content:"\f305";
+	content: "\f305";
 }
 
 .dashicons-networking:before {
-	content:"\f325";
+	content: "\f325";
 }
 
 .dashicons-googleplus:before {
-	content:"\f462";
+	content: "\f462";
 }
 
 
 /* Misc/CPT */
 
 .dashicons-location:before {
-	content:"\f230";
+	content: "\f230";
 }
 
 .dashicons-location-alt:before {
-	content:"\f231";
+	content: "\f231";
 }
 
 .dashicons-camera:before {
-	content:"\f306";
+	content: "\f306";
 }
 
 .dashicons-images-alt:before {
-	content:"\f232";
+	content: "\f232";
 }
 
 .dashicons-images-alt2:before {
-	content:"\f233";
+	content: "\f233";
 }
 
 .dashicons-video-alt:before {
-	content:"\f234";
+	content: "\f234";
 }
 
 .dashicons-video-alt2:before {
-	content:"\f235";
+	content: "\f235";
 }
 
 .dashicons-video-alt3:before {
-	content:"\f236";
+	content: "\f236";
 }
 
 .dashicons-vault:before {
-	content:"\f178";
+	content: "\f178";
 }
 
 .dashicons-shield:before {
-	content:"\f332";
+	content: "\f332";
 }
 
 .dashicons-shield-alt:before {
-	content:"\f334";
+	content: "\f334";
 }
 
 .dashicons-sos:before {
-	content:"\f468";
+	content: "\f468";
 }
 
 .dashicons-search:before {
-	content:"\f179";
+	content: "\f179";
 }
 
 .dashicons-slides:before {
-	content:"\f181";
+	content: "\f181";
 }
 
 .dashicons-analytics:before {
-	content:"\f183";
+	content: "\f183";
 }
 
 .dashicons-chart-pie:before {
-	content:"\f184";
+	content: "\f184";
 }
 
 .dashicons-chart-bar:before {
-	content:"\f185";
+	content: "\f185";
 }
 
 .dashicons-chart-line:before {
-	content:"\f238";
+	content: "\f238";
 }
 
 .dashicons-chart-area:before {
-	content:"\f239";
+	content: "\f239";
 }
 
 .dashicons-groups:before {
-	content:"\f307";
+	content: "\f307";
 }
 
 .dashicons-businessman:before {
-	content:"\f338";
+	content: "\f338";
 }
 
 .dashicons-id:before {
-	content:"\f336";
+	content: "\f336";
 }
 
 .dashicons-id-alt:before {
-	content:"\f337";
+	content: "\f337";
 }
 
 .dashicons-products:before {
-	content:"\f312";
+	content: "\f312";
 }
 
 .dashicons-awards:before {
-	content:"\f313";
+	content: "\f313";
 }
 
 .dashicons-forms:before {
-	content:"\f314";
+	content: "\f314";
 }
 
 .dashicons-testimonial:before {
-	content:"\f473";
+	content: "\f473";
 }
 
 .dashicons-portfolio:before {
-	content:"\f322";
+	content: "\f322";
 }
 
 .dashicons-book:before {
-	content:"\f330";
+	content: "\f330";
 }
 
 .dashicons-book-alt:before {
-	content:"\f331";
+	content: "\f331";
 }
 
 .dashicons-download:before {
-	content:"\f316";
+	content: "\f316";
 }
 
 .dashicons-upload:before {
-	content:"\f317";
+	content: "\f317";
 }
 
 .dashicons-backup:before {
-	content:"\f321";
+	content: "\f321";
 }
 
 .dashicons-clock:before {
-	content:"\f469";
+	content: "\f469";
 }
 
 .dashicons-lightbulb:before {
-	content:"\f339";
+	content: "\f339";
 }
 
 .dashicons-microphone:before {
@@ -861,17 +869,25 @@
 }
 
 .dashicons-desktop:before {
-	content:"\f472";
+	content: "\f472";
 }
 
 .dashicons-tablet:before {
-	content:"\f471";
+	content: "\f471";
 }
 
 .dashicons-smartphone:before {
-	content:"\f470";
+	content: "\f470";
 }
 
 .dashicons-smiley:before {
-	content:"\f328";
+	content: "\f328";
+}
+
+.dashicons-index-card:before {
+	content: "\f510";
+}
+
+.dashicons-carrot:before {
+	content: "\f511";
 }
diff --git a/wp-includes/css/dashicons.min.css b/wp-includes/css/dashicons.min.css
index 51afaf0d0..b360187af 100644
--- a/wp-includes/css/dashicons.min.css
+++ b/wp-includes/css/dashicons.min.css
@@ -1 +1 @@
-@font-face{font-family:dashicons;src:url(../fonts/dashicons.eot)}@font-face{font-family:dashicons;src:url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff'),url(../fonts/dashicons.ttf) format("truetype"),url(../fonts/dashicons.svg#dashicons) format("svg");font-weight:400;font-style:normal}.dashicons,.dashicons-before:before{display:inline-block;width:20px;height:20px;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;text-align:center;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dashicons-menu:before{content:"\f333"}.dashicons-admin-site:before{content:"\f319"}.dashicons-dashboard:before{content:"\f226"}.dashicons-admin-media:before{content:"\f104"}.dashicons-admin-page:before{content:"\f105"}.dashicons-admin-comments:before{content:"\f101"}.dashicons-admin-appearance:before{content:"\f100"}.dashicons-admin-plugins:before{content:"\f106"}.dashicons-admin-users:before{content:"\f110"}.dashicons-admin-tools:before{content:"\f107"}.dashicons-admin-settings:before{content:"\f108"}.dashicons-admin-network:before{content:"\f112"}.dashicons-admin-generic:before{content:"\f111"}.dashicons-admin-home:before{content:"\f102"}.dashicons-admin-collapse:before{content:"\f148"}.dashicons-admin-links:before,.dashicons-format-links:before{content:"\f103"}.dashicons-admin-post:before,.dashicons-format-standard:before{content:"\f109"}.dashicons-format-image:before{content:"\f128"}.dashicons-format-gallery:before{content:"\f161"}.dashicons-format-audio:before{content:"\f127"}.dashicons-format-video:before{content:"\f126"}.dashicons-format-chat:before{content:"\f125"}.dashicons-format-status:before{content:"\f130"}.dashicons-format-aside:before{content:"\f123"}.dashicons-format-quote:before{content:"\f122"}.dashicons-welcome-edit-page:before,.dashicons-welcome-write-blog:before{content:"\f119"}.dashicons-welcome-add-page:before{content:"\f133"}.dashicons-welcome-view-site:before{content:"\f115"}.dashicons-welcome-widgets-menus:before{content:"\f116"}.dashicons-welcome-comments:before{content:"\f117"}.dashicons-welcome-learn-more:before{content:"\f118"}.dashicons-image-crop:before{content:"\f165"}.dashicons-image-rotate-left:before{content:"\f166"}.dashicons-image-rotate-right:before{content:"\f167"}.dashicons-image-flip-vertical:before{content:"\f168"}.dashicons-image-flip-horizontal:before{content:"\f169"}.dashicons-undo:before{content:"\f171"}.dashicons-redo:before{content:"\f172"}.dashicons-editor-bold:before{content:"\f200"}.dashicons-editor-italic:before{content:"\f201"}.dashicons-editor-ul:before{content:"\f203"}.dashicons-editor-ol:before{content:"\f204"}.dashicons-editor-quote:before{content:"\f205"}.dashicons-editor-alignleft:before{content:"\f206"}.dashicons-editor-aligncenter:before{content:"\f207"}.dashicons-editor-alignright:before{content:"\f208"}.dashicons-editor-insertmore:before{content:"\f209"}.dashicons-editor-spellcheck:before{content:"\f210"}.dashicons-editor-distractionfree:before,.dashicons-editor-expand:before{content:"\f211"}.dashicons-editor-contract:before{content:"\f506"}.dashicons-editor-kitchensink:before{content:"\f212"}.dashicons-editor-underline:before{content:"\f213"}.dashicons-editor-justify:before{content:"\f214"}.dashicons-editor-textcolor:before{content:"\f215"}.dashicons-editor-paste-word:before{content:"\f216"}.dashicons-editor-paste-text:before{content:"\f217"}.dashicons-editor-removeformatting:before{content:"\f218"}.dashicons-editor-video:before{content:"\f219"}.dashicons-editor-customchar:before{content:"\f220"}.dashicons-editor-outdent:before{content:"\f221"}.dashicons-editor-indent:before{content:"\f222"}.dashicons-editor-help:before{content:"\f223"}.dashicons-editor-strikethrough:before{content:"\f224"}.dashicons-editor-unlink:before{content:"\f225"}.dashicons-editor-rtl:before{content:"\f320"}.dashicons-editor-break:before{content:"\f474"}.dashicons-editor-code:before{content:"\f475"}.dashicons-editor-paragraph:before{content:"\f476"}.dashicons-align-left:before{content:"\f135"}.dashicons-align-right:before{content:"\f136"}.dashicons-align-center:before{content:"\f134"}.dashicons-align-none:before{content:"\f138"}.dashicons-lock:before{content:"\f160"}.dashicons-calendar:before{content:"\f145"}.dashicons-visibility:before{content:"\f177"}.dashicons-post-status:before{content:"\f173"}.dashicons-edit:before{content:"\f464"}.dashicons-post-trash:before,.dashicons-trash:before{content:"\f182"}.dashicons-external:before{content:"\f504"}.dashicons-arrow-up:before{content:"\f142"}.dashicons-arrow-down:before{content:"\f140"}.dashicons-arrow-left:before{content:"\f141"}.dashicons-arrow-right:before{content:"\f139"}.dashicons-arrow-up-alt:before{content:"\f342"}.dashicons-arrow-down-alt:before{content:"\f346"}.dashicons-arrow-left-alt:before{content:"\f340"}.dashicons-arrow-right-alt:before{content:"\f344"}.dashicons-arrow-up-alt2:before{content:"\f343"}.dashicons-arrow-down-alt2:before{content:"\f347"}.dashicons-arrow-left-alt2:before{content:"\f341"}.dashicons-arrow-right-alt2:before{content:"\f345"}.dashicons-leftright:before{content:"\f229"}.dashicons-sort:before{content:"\f156"}.dashicons-randomize:before{content:"\f503"}.dashicons-list-view:before{content:"\f163"}.dashicons-exerpt-view:before{content:"\f164"}.dashicons-hammer:before{content:"\f308"}.dashicons-art:before{content:"\f309"}.dashicons-migrate:before{content:"\f310"}.dashicons-performance:before{content:"\f311"}.dashicons-universal-access:before{content:"\f483"}.dashicons-universal-access-alt:before{content:"\f507"}.dashicons-tickets:before{content:"\f486"}.dashicons-nametag:before{content:"\f484"}.dashicons-clipboard:before{content:"\f481"}.dashicons-heart:before{content:"\f487"}.dashicons-megaphone:before{content:"\f488"}.dashicons-schedule:before{content:"\f489"}.dashicons-wordpress:before{content:"\f120"}.dashicons-wordpress-alt:before{content:"\f324"}.dashicons-pressthis:before{content:"\f157"}.dashicons-update:before{content:"\f463"}.dashicons-screenoptions:before{content:"\f180"}.dashicons-info:before{content:"\f348"}.dashicons-cart:before{content:"\f174"}.dashicons-feedback:before{content:"\f175"}.dashicons-cloud:before{content:"\f176"}.dashicons-translation:before{content:"\f326"}.dashicons-tag:before{content:"\f323"}.dashicons-category:before{content:"\f318"}.dashicons-archive:before{content:"\f480"}.dashicons-tagcloud:before{content:"\f479"}.dashicons-text:before{content:"\f478"}.dashicons-media-archive:before{content:"\f501"}.dashicons-media-audio:before{content:"\f500"}.dashicons-media-code:before{content:"\f499"}.dashicons-media-default:before{content:"\f498"}.dashicons-media-document:before{content:"\f497"}.dashicons-media-interactive:before{content:"\f496"}.dashicons-media-spreadsheet:before{content:"\f495"}.dashicons-media-text:before{content:"\f491"}.dashicons-media-video:before{content:"\f490"}.dashicons-playlist-audio:before{content:"\f492"}.dashicons-playlist-video:before{content:"\f493"}.dashicons-yes:before{content:"\f147"}.dashicons-no:before{content:"\f158"}.dashicons-no-alt:before{content:"\f335"}.dashicons-plus:before{content:"\f132"}.dashicons-plus-alt:before{content:"\f502"}.dashicons-minus:before{content:"\f460"}.dashicons-dismiss:before{content:"\f153"}.dashicons-marker:before{content:"\f159"}.dashicons-star-filled:before{content:"\f155"}.dashicons-star-half:before{content:"\f459"}.dashicons-star-empty:before{content:"\f154"}.dashicons-flag:before{content:"\f227"}.dashicons-share1:before,.dashicons-share:before{content:"\f237"}.dashicons-share-alt:before{content:"\f240"}.dashicons-share-alt2:before{content:"\f242"}.dashicons-twitter:before{content:"\f301"}.dashicons-rss:before{content:"\f303"}.dashicons-email:before{content:"\f465"}.dashicons-email-alt:before{content:"\f466"}.dashicons-facebook:before{content:"\f304"}.dashicons-facebook-alt:before{content:"\f305"}.dashicons-networking:before{content:"\f325"}.dashicons-googleplus:before{content:"\f462"}.dashicons-location:before{content:"\f230"}.dashicons-location-alt:before{content:"\f231"}.dashicons-camera:before{content:"\f306"}.dashicons-images-alt:before{content:"\f232"}.dashicons-images-alt2:before{content:"\f233"}.dashicons-video-alt:before{content:"\f234"}.dashicons-video-alt2:before{content:"\f235"}.dashicons-video-alt3:before{content:"\f236"}.dashicons-vault:before{content:"\f178"}.dashicons-shield:before{content:"\f332"}.dashicons-shield-alt:before{content:"\f334"}.dashicons-sos:before{content:"\f468"}.dashicons-search:before{content:"\f179"}.dashicons-slides:before{content:"\f181"}.dashicons-analytics:before{content:"\f183"}.dashicons-chart-pie:before{content:"\f184"}.dashicons-chart-bar:before{content:"\f185"}.dashicons-chart-line:before{content:"\f238"}.dashicons-chart-area:before{content:"\f239"}.dashicons-groups:before{content:"\f307"}.dashicons-businessman:before{content:"\f338"}.dashicons-id:before{content:"\f336"}.dashicons-id-alt:before{content:"\f337"}.dashicons-products:before{content:"\f312"}.dashicons-awards:before{content:"\f313"}.dashicons-forms:before{content:"\f314"}.dashicons-testimonial:before{content:"\f473"}.dashicons-portfolio:before{content:"\f322"}.dashicons-book:before{content:"\f330"}.dashicons-book-alt:before{content:"\f331"}.dashicons-download:before{content:"\f316"}.dashicons-upload:before{content:"\f317"}.dashicons-backup:before{content:"\f321"}.dashicons-clock:before{content:"\f469"}.dashicons-lightbulb:before{content:"\f339"}.dashicons-microphone:before{content:"\f482"}.dashicons-desktop:before{content:"\f472"}.dashicons-tablet:before{content:"\f471"}.dashicons-smartphone:before{content:"\f470"}.dashicons-smiley:before{content:"\f328"}
\ No newline at end of file
+@font-face{font-family:dashicons;src:url(../fonts/dashicons.eot)}@font-face{font-family:dashicons;src:url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff'),url(../fonts/dashicons.ttf) format("truetype"),url(../fonts/dashicons.svg#dashicons) format("svg");font-weight:400;font-style:normal}.dashicons,.dashicons-before:before{display:inline-block;width:20px;height:20px;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;text-align:center;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dashicons-menu:before{content:"\f333"}.dashicons-admin-site:before{content:"\f319"}.dashicons-dashboard:before{content:"\f226"}.dashicons-admin-media:before{content:"\f104"}.dashicons-admin-page:before{content:"\f105"}.dashicons-admin-comments:before{content:"\f101"}.dashicons-admin-appearance:before{content:"\f100"}.dashicons-admin-plugins:before{content:"\f106"}.dashicons-admin-users:before{content:"\f110"}.dashicons-admin-tools:before{content:"\f107"}.dashicons-admin-settings:before{content:"\f108"}.dashicons-admin-network:before{content:"\f112"}.dashicons-admin-generic:before{content:"\f111"}.dashicons-admin-home:before{content:"\f102"}.dashicons-admin-collapse:before{content:"\f148"}.dashicons-admin-links:before,.dashicons-format-links:before{content:"\f103"}.dashicons-admin-post:before,.dashicons-format-standard:before{content:"\f109"}.dashicons-format-image:before{content:"\f128"}.dashicons-format-gallery:before{content:"\f161"}.dashicons-format-audio:before{content:"\f127"}.dashicons-format-video:before{content:"\f126"}.dashicons-format-chat:before{content:"\f125"}.dashicons-format-status:before{content:"\f130"}.dashicons-format-aside:before{content:"\f123"}.dashicons-format-quote:before{content:"\f122"}.dashicons-welcome-edit-page:before,.dashicons-welcome-write-blog:before{content:"\f119"}.dashicons-welcome-add-page:before{content:"\f133"}.dashicons-welcome-view-site:before{content:"\f115"}.dashicons-welcome-widgets-menus:before{content:"\f116"}.dashicons-welcome-comments:before{content:"\f117"}.dashicons-welcome-learn-more:before{content:"\f118"}.dashicons-image-crop:before{content:"\f165"}.dashicons-image-rotate-left:before{content:"\f166"}.dashicons-image-rotate-right:before{content:"\f167"}.dashicons-image-flip-vertical:before{content:"\f168"}.dashicons-image-flip-horizontal:before{content:"\f169"}.dashicons-undo:before{content:"\f171"}.dashicons-redo:before{content:"\f172"}.dashicons-editor-bold:before{content:"\f200"}.dashicons-editor-italic:before{content:"\f201"}.dashicons-editor-ul:before{content:"\f203"}.dashicons-editor-ol:before{content:"\f204"}.dashicons-editor-quote:before{content:"\f205"}.dashicons-editor-alignleft:before{content:"\f206"}.dashicons-editor-aligncenter:before{content:"\f207"}.dashicons-editor-alignright:before{content:"\f208"}.dashicons-editor-insertmore:before{content:"\f209"}.dashicons-editor-spellcheck:before{content:"\f210"}.dashicons-editor-distractionfree:before,.dashicons-editor-expand:before{content:"\f211"}.dashicons-editor-contract:before{content:"\f506"}.dashicons-editor-kitchensink:before{content:"\f212"}.dashicons-editor-underline:before{content:"\f213"}.dashicons-editor-justify:before{content:"\f214"}.dashicons-editor-textcolor:before{content:"\f215"}.dashicons-editor-paste-word:before{content:"\f216"}.dashicons-editor-paste-text:before{content:"\f217"}.dashicons-editor-removeformatting:before{content:"\f218"}.dashicons-editor-video:before{content:"\f219"}.dashicons-editor-customchar:before{content:"\f220"}.dashicons-editor-outdent:before{content:"\f221"}.dashicons-editor-indent:before{content:"\f222"}.dashicons-editor-help:before{content:"\f223"}.dashicons-editor-strikethrough:before{content:"\f224"}.dashicons-editor-unlink:before{content:"\f225"}.dashicons-editor-rtl:before{content:"\f320"}.dashicons-editor-break:before{content:"\f474"}.dashicons-editor-code:before{content:"\f475"}.dashicons-editor-paragraph:before{content:"\f476"}.dashicons-align-left:before{content:"\f135"}.dashicons-align-right:before{content:"\f136"}.dashicons-align-center:before{content:"\f134"}.dashicons-align-none:before{content:"\f138"}.dashicons-lock:before{content:"\f160"}.dashicons-calendar:before{content:"\f145"}.dashicons-calendar-alt:before{content:"\f508"}.dashicons-visibility:before{content:"\f177"}.dashicons-post-status:before{content:"\f173"}.dashicons-edit:before{content:"\f464"}.dashicons-post-trash:before,.dashicons-trash:before{content:"\f182"}.dashicons-external:before{content:"\f504"}.dashicons-arrow-up:before{content:"\f142"}.dashicons-arrow-down:before{content:"\f140"}.dashicons-arrow-left:before{content:"\f141"}.dashicons-arrow-right:before{content:"\f139"}.dashicons-arrow-up-alt:before{content:"\f342"}.dashicons-arrow-down-alt:before{content:"\f346"}.dashicons-arrow-left-alt:before{content:"\f340"}.dashicons-arrow-right-alt:before{content:"\f344"}.dashicons-arrow-up-alt2:before{content:"\f343"}.dashicons-arrow-down-alt2:before{content:"\f347"}.dashicons-arrow-left-alt2:before{content:"\f341"}.dashicons-arrow-right-alt2:before{content:"\f345"}.dashicons-leftright:before{content:"\f229"}.dashicons-sort:before{content:"\f156"}.dashicons-randomize:before{content:"\f503"}.dashicons-list-view:before{content:"\f163"}.dashicons-exerpt-view:before{content:"\f164"}.dashicons-grid-view:before{content:"\f509"}.dashicons-hammer:before{content:"\f308"}.dashicons-art:before{content:"\f309"}.dashicons-migrate:before{content:"\f310"}.dashicons-performance:before{content:"\f311"}.dashicons-universal-access:before{content:"\f483"}.dashicons-universal-access-alt:before{content:"\f507"}.dashicons-tickets:before{content:"\f486"}.dashicons-nametag:before{content:"\f484"}.dashicons-clipboard:before{content:"\f481"}.dashicons-heart:before{content:"\f487"}.dashicons-megaphone:before{content:"\f488"}.dashicons-schedule:before{content:"\f489"}.dashicons-wordpress:before{content:"\f120"}.dashicons-wordpress-alt:before{content:"\f324"}.dashicons-pressthis:before{content:"\f157"}.dashicons-update:before{content:"\f463"}.dashicons-screenoptions:before{content:"\f180"}.dashicons-info:before{content:"\f348"}.dashicons-cart:before{content:"\f174"}.dashicons-feedback:before{content:"\f175"}.dashicons-cloud:before{content:"\f176"}.dashicons-translation:before{content:"\f326"}.dashicons-tag:before{content:"\f323"}.dashicons-category:before{content:"\f318"}.dashicons-archive:before{content:"\f480"}.dashicons-tagcloud:before{content:"\f479"}.dashicons-text:before{content:"\f478"}.dashicons-media-archive:before{content:"\f501"}.dashicons-media-audio:before{content:"\f500"}.dashicons-media-code:before{content:"\f499"}.dashicons-media-default:before{content:"\f498"}.dashicons-media-document:before{content:"\f497"}.dashicons-media-interactive:before{content:"\f496"}.dashicons-media-spreadsheet:before{content:"\f495"}.dashicons-media-text:before{content:"\f491"}.dashicons-media-video:before{content:"\f490"}.dashicons-playlist-audio:before{content:"\f492"}.dashicons-playlist-video:before{content:"\f493"}.dashicons-yes:before{content:"\f147"}.dashicons-no:before{content:"\f158"}.dashicons-no-alt:before{content:"\f335"}.dashicons-plus:before{content:"\f132"}.dashicons-plus-alt:before{content:"\f502"}.dashicons-minus:before{content:"\f460"}.dashicons-dismiss:before{content:"\f153"}.dashicons-marker:before{content:"\f159"}.dashicons-star-filled:before{content:"\f155"}.dashicons-star-half:before{content:"\f459"}.dashicons-star-empty:before{content:"\f154"}.dashicons-flag:before{content:"\f227"}.dashicons-share1:before,.dashicons-share:before{content:"\f237"}.dashicons-share-alt:before{content:"\f240"}.dashicons-share-alt2:before{content:"\f242"}.dashicons-twitter:before{content:"\f301"}.dashicons-rss:before{content:"\f303"}.dashicons-email:before{content:"\f465"}.dashicons-email-alt:before{content:"\f466"}.dashicons-facebook:before{content:"\f304"}.dashicons-facebook-alt:before{content:"\f305"}.dashicons-networking:before{content:"\f325"}.dashicons-googleplus:before{content:"\f462"}.dashicons-location:before{content:"\f230"}.dashicons-location-alt:before{content:"\f231"}.dashicons-camera:before{content:"\f306"}.dashicons-images-alt:before{content:"\f232"}.dashicons-images-alt2:before{content:"\f233"}.dashicons-video-alt:before{content:"\f234"}.dashicons-video-alt2:before{content:"\f235"}.dashicons-video-alt3:before{content:"\f236"}.dashicons-vault:before{content:"\f178"}.dashicons-shield:before{content:"\f332"}.dashicons-shield-alt:before{content:"\f334"}.dashicons-sos:before{content:"\f468"}.dashicons-search:before{content:"\f179"}.dashicons-slides:before{content:"\f181"}.dashicons-analytics:before{content:"\f183"}.dashicons-chart-pie:before{content:"\f184"}.dashicons-chart-bar:before{content:"\f185"}.dashicons-chart-line:before{content:"\f238"}.dashicons-chart-area:before{content:"\f239"}.dashicons-groups:before{content:"\f307"}.dashicons-businessman:before{content:"\f338"}.dashicons-id:before{content:"\f336"}.dashicons-id-alt:before{content:"\f337"}.dashicons-products:before{content:"\f312"}.dashicons-awards:before{content:"\f313"}.dashicons-forms:before{content:"\f314"}.dashicons-testimonial:before{content:"\f473"}.dashicons-portfolio:before{content:"\f322"}.dashicons-book:before{content:"\f330"}.dashicons-book-alt:before{content:"\f331"}.dashicons-download:before{content:"\f316"}.dashicons-upload:before{content:"\f317"}.dashicons-backup:before{content:"\f321"}.dashicons-clock:before{content:"\f469"}.dashicons-lightbulb:before{content:"\f339"}.dashicons-microphone:before{content:"\f482"}.dashicons-desktop:before{content:"\f472"}.dashicons-tablet:before{content:"\f471"}.dashicons-smartphone:before{content:"\f470"}.dashicons-smiley:before{content:"\f328"}.dashicons-index-card:before{content:"\f510"}.dashicons-carrot:before{content:"\f511"}
\ No newline at end of file
diff --git a/wp-includes/css/editor-rtl.css b/wp-includes/css/editor-rtl.css
index 50d139df2..7c0665647 100644
--- a/wp-includes/css/editor-rtl.css
+++ b/wp-includes/css/editor-rtl.css
@@ -79,19 +79,21 @@
 }
 
 .mce-textbox,
-.mce-checkbox i.mce-i-checkbox {
+.mce-checkbox i.mce-i-checkbox,
+#wp-link .query-results {
 	border: 1px solid #ddd;
 	-webkit-border-radius: 0;
 	border-radius: 0;
 	-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
 	box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
-	-webkit-transition: .05s border-color ease-in-out;
-	transition: .05s border-color ease-in-out;
+	-webkit-transition: .05s all ease-in-out;
+	transition: .05s all ease-in-out;
 }
 
 .mce-textbox:focus,
 .mce-textbox.mce-focus,
-.mce-checkbox:focus i.mce-i-checkbox {
+.mce-checkbox:focus i.mce-i-checkbox,
+#wp-link .query-results:focus {
 	border-color: #5b9dd9;
 	-webkit-box-shadow: 0 0 2px rgba(30,140,190,0.8);
 	box-shadow: 0 0 2px rgba(30,140,190,0.8);
@@ -148,10 +150,14 @@ div.mce-tab {
 div.mce-toolbar-grp {
 	border-bottom: 1px solid #dedede;
 	background: #f5f5f5;
-	padding: 3px;
+	padding: 0;
 	position: relative;
 }
 
+div.mce-toolbar-grp > div {
+	padding: 3px;
+}
+
 .has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first {
 	padding-left: 32px;
 }
@@ -161,14 +167,21 @@ div.mce-toolbar-grp {
 }
 
 div.mce-statusbar {
-	border-top: 1px solid #eee;
+	border-top: 1px solid #e5e5e5;
 }
 
 div.mce-path {
-	padding: 0 8px 2px;
+	padding: 2px 10px;
 	margin: 0;
 }
 
+.mce-path,
+.mce-path-item,
+.mce-path .mce-divider {
+	font-size: 12px;
+	line-height: 18px;
+}
+
 .mce-toolbar .mce-btn,
 .qt-fullscreen {
 	border-color: transparent;
@@ -258,9 +271,13 @@ div.mce-path {
 }
 
 .mce-toolbar .mce-colorbutton .mce-preview {
-	margin-right: -17px;
+	margin: 0;
 	padding: 0;
-	width: 18px;
+	top: auto;
+	bottom: 2px;
+	right: 3px;
+	height: 3px;
+	width: 20px;
 }
 
 /* mce listbox */
@@ -350,6 +367,8 @@ div.mce-path {
 /* Menubar */
 .mce-menubar {
 	border-color: #e5e5e5;
+	background: #fff;
+	border-width: 0px 0px 1px;
 }
 
 .mce-menubar .mce-btn:focus {
@@ -395,8 +414,8 @@ div.mce-menu .mce-menu-item-sep,
 	-webkit-border-radius: 3px;
 	border-radius: 3px;
 	white-space: nowrap;
-	-webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
-	box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
+	-webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
+	box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
 	background-image: none;
 }
 
@@ -408,28 +427,34 @@ div.mce-menu .mce-menu-item-sep,
 	padding: 0;
 }
 
-.mce-window .mce-btn:hover {
+.mce-window .mce-btn:hover,
+.mce-window .mce-btn:focus {
 	background: #fafafa;
 	border-color: #999;
 	color: #222;
 }
 
 .mce-window .mce-btn:focus {
-	-webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.2);
-	box-shadow: 1px 1px 1px rgba(0,0,0,.2);
+	-webkit-box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba( 30, 140, 190, 0.8 );
+	box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba( 30, 140, 190, 0.8 );
 }
 
 .mce-window .mce-btn:active {
 	background: #eee;
 	border-color: #999;
 	color: #333;
- 	-webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
- 	box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
+	-webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
+	box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
 }
 
 .mce-window .mce-btn.mce-disabled {
 	color: #aaa;
 	border-color: #ddd;
+	background: #f7f7f7;
 	-webkit-box-shadow: none;
 	box-shadow: none;
 	text-shadow: 0 1px 0 #fff;
@@ -439,39 +464,50 @@ div.mce-menu .mce-menu-item-sep,
 .mce-window .mce-btn.mce-primary {
 	background: #2ea2cc;
 	border-color: #0074a2;
-	-webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
-	box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
+	-webkit-box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5), 0 1px 0 rgba( 0, 0, 0, 0.15 );
+	box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5 ), 0 1px 0 rgba( 0, 0, 0, 0.15 );
 	color: #fff;
 	text-decoration: none;
 }
 
-.mce-window .mce-btn.mce-primary:hover {
+.mce-window .mce-btn.mce-primary:hover,
+.mce-window .mce-btn.mce-primary:focus {
 	background: #1e8cbe;
 	border-color: #0074a2;
-	-webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
-	box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
+	-webkit-box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.6 );
+	box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.6 );
 	color: #fff;
 }
 
 .mce-window .mce-btn.mce-primary:focus {
 	border-color: #0e3950;
-	-webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6), 1px 1px 2px rgba(0,0,0,0.4);
-	box-shadow: inset 0 1px 0 rgba(120,200,230,0.6), 1px 1px 2px rgba(0,0,0,0.4);
+	-webkit-box-shadow:
+		inset 0 1px 0 rgba( 120, 200, 230, 0.6 ),
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba( 30, 140, 190, 0.8 );
+	box-shadow:
+		inset 0 1px 0 rgba( 120, 200, 230, 0.6 ),
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba( 30, 140, 190, 0.8 );
 }
 
 .mce-window .mce-btn.mce-primary:active {
 	background: #1b7aa6;
 	border-color: #005684;
-	color: rgba(255,255,255,0.95);
-	-webkit-box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
-	box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
+	color: rgba( 255, 255, 255, 0.95 );
+	-webkit-box-shadow: inset 0 1px 0 rgba( 0, 0, 0, 0.1 );
+	box-shadow: inset 0 1px 0 rgba( 0, 0, 0, 0.1 );
+	vertical-align: top;
 }
 
 .mce-window .mce-btn.mce-primary.mce-disabled {
 	color: #94cde7;
 	background: #298cba;
 	border-color: #1b607f;
-	text-shadow: 0 -1px 0 rgba(0,0,0,0.1);
+	-webkit-box-shadow: none;
+	box-shadow: none;
+	text-shadow: 0 -1px 0 rgba( 0, 0, 0, 0.1 );
+	cursor: default;
 }
 
 .mce-menubtn.mce-fixed-width button span {
@@ -570,6 +606,7 @@ i.mce-i-wp_adv,
 i.mce-i-underline,
 i.mce-i-alignjustify,
 i.mce-i-forecolor,
+i.mce-i-backcolor,
 i.mce-i-pastetext,
 i.mce-i-pasteword,
 i.mce-i-removeformat,
@@ -673,7 +710,8 @@ i.mce-i-alignjustify:before {
 	content: '\f214';
 }
 
-i.mce-i-forecolor:before {
+i.mce-i-forecolor:before,
+i.mce-i-backcolor:before {
 	content: '\f215';
 }
 
@@ -731,7 +769,7 @@ i.mce-i-hr:before {
 }
 
 .mce-i-wp_code:before {
-	content: '\e017';
+	content: '\f475';
 }
 
 /* Editors */
@@ -744,6 +782,12 @@ i.mce-i-hr:before {
 	z-index: 1;
 }
 
+.wp-editor-tools:after {
+	clear: both;
+	content: '';
+	display: table;
+}
+
 .wp-editor-container {
 	clear: both;
 }
@@ -763,10 +807,6 @@ i.mce-i-hr:before {
 	box-sizing: border-box;
 }
 
-.wp-editor-tools {
-	padding: 0;
-}
-
 .wp-editor-container textarea.wp-editor-area {
 	width: 100%;
 	margin: 0;
@@ -910,32 +950,41 @@ i.mce-i-hr:before {
 	position: absolute;
 	top: 0;
 	left: 0;
-	margin-top: 5px;
-	margin-left: 5px;
+	margin: 5px 0 0 5px;
 }
 
 @media screen and ( max-width: 782px ) {
 	.mce-toolbar .mce-btn button,
 	.qt-fullscreen {
-		padding: 7px 8px;
+		padding: 6px 7px;
+	}
+
+	#wp-fullscreen-buttons .mce-btn,
+	.mce-toolbar .mce-btn-group .mce-btn {
+		margin: 1px;
 	}
 
 	.qt-fullscreen {
-		width: 38px;
+		width: 36px;
 		height: 34px;
 	}
 
+	.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen {
+		margin: 4px 0 0 4px;
+	}
+
 	.mce-toolbar .mce-colorbutton .mce-preview {
-		margin-right: -21px;
+		right: 8px;
+		bottom: 6px;
 	}
 
 	.mce-window .mce-btn {
 		padding: 2px 0;
 	}
 
-	div.mce-toolbar-grp,
-	.quicktags-toolbar {
-		padding-left: 46px;
+	.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first,
+	.has-dfw .quicktags-toolbar {
+		padding-left: 40px;
 	}
 }
 
@@ -1039,7 +1088,6 @@ i.mce-i-hr:before {
 
 #wp-link-close {
 	color: #666;
-	cursor: pointer;
 	padding: 0;
 	position: absolute;
 	top: 0;
@@ -1047,6 +1095,9 @@ i.mce-i-hr:before {
 	width: 36px;
 	height: 36px;
 	text-align: center;
+	background: none;
+	border: none;
+	cursor: pointer;
 }
 
 #wp-link-close:before {
@@ -1065,6 +1116,16 @@ i.mce-i-hr:before {
 	color: #2ea2cc;
 }
 
+#wp-link-close:focus {
+	outline: none;
+	-webkit-box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
+	box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
+}
+
 #link-selector {
 	padding: 0 16px 50px;
 }
@@ -1085,7 +1146,8 @@ i.mce-i-hr:before {
 	padding: 0;
 }
 
-#wp-link-search-toggle::after {
+#wp-link-search-toggle:after {
+	display: inline-block;
 	font: normal 20px/1 'dashicons';
 	vertical-align: top;
 	speak: none;
@@ -1094,7 +1156,7 @@ i.mce-i-hr:before {
 	content: '\f140';
 }
 
-.search-panel-visible #wp-link-search-toggle::after {
+.search-panel-visible #wp-link-search-toggle:after {
 	content: '\f142';
 }
 
@@ -1112,6 +1174,11 @@ i.mce-i-hr:before {
 	margin: 3px 0;
 }
 
+#wp-link p.howto a {
+	text-decoration: none;
+	color: inherit;
+}
+
 #wp-link-search-toggle {
 	cursor: pointer;
 }
@@ -1175,17 +1242,46 @@ i.mce-i-hr:before {
 	top: 205px;
 }
 
-#wp-link li,
-#wp-link .query-notice {
+#wp-link li {
 	clear: both;
 	margin-bottom: 0;
 	border-bottom: 1px solid #f1f1f1;
 	color: #333;
-	padding: 4px 6px;
+	padding: 4px 10px 4px 6px;
 	cursor: pointer;
 	position: relative;
 }
 
+#wp-link .query-notice {
+	padding: 0;
+	border-bottom: 1px solid #dfdfdf;
+	background-color: #f7fcfe;
+	color: #000;
+}
+
+#wp-link .query-notice .query-notice-default,
+#wp-link .query-notice .query-notice-hint {
+	display: block;
+	padding: 6px;
+	border-right: 4px solid #2ea2cc;
+}
+
+#wp-link .unselectable.no-matches-found {
+	padding: 0;
+	border-bottom: 1px solid #dfdfdf;
+	background-color: #fef7f1;
+}
+
+#wp-link .no-matches-found .item-title {
+	display: block;
+	padding: 6px;
+	border-right: 4px solid #d54e21;
+}
+
+#wp-link .query-results em {
+	font-style: normal;
+}
+
 #wp-link li:hover {
 	background: #eaf2fa;
 	color: #151515;
@@ -1262,6 +1358,7 @@ i.mce-i-hr:before {
 
 #wp-link-cancel {
 	line-height: 25px;
+	float: right;
 }
 
 #wp-link-update {
diff --git a/wp-includes/css/editor-rtl.min.css b/wp-includes/css/editor-rtl.min.css
index cf18046c1..0dde7891e 100644
--- a/wp-includes/css/editor-rtl.min.css
+++ b/wp-includes/css/editor-rtl.min.css
@@ -1 +1 @@
-.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}#mce-modal-block.mce-in{opacity:.7;filter:alpha(opacity=70)}.mce-window{-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);-webkit-font-smoothing:subpixel-antialiased}.mce-window .mce-container-body.mce-abs-layout{overflow:visible}.mce-window .mce-window-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;padding:0;min-height:36px}.mce-window .mce-window-head .mce-title{color:#444;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 16px 0 36px}.mce-window .mce-window-head .mce-close{color:transparent;top:0;left:0;width:36px;height:36px;line-height:36px;text-align:center}.mce-window .mce-window-head .mce-close:before{font:400 20px/36px dashicons;text-align:center;color:#666;width:36px;height:36px;display:block}.mce-window .mce-window-head .mce-close:hover:before{color:#2ea2cc}.mce-window .mce-window-head .mce-dragh{width:-webkit-calc(100% - 36px);width:calc(100% - 36px)}.mce-wp-help .mce-window-head{border-bottom:0}.mce-checkbox i.mce-i-checkbox,.mce-textbox{border:1px solid #ddd;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}.mce-checkbox:focus i.mce-i-checkbox,.mce-textbox.mce-focus,.mce-textbox:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.mce-floatpanel.mce-popover,.mce-menu{border-color:rgba(0,0,0,.15);-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:2px}.mce-floatpanel .mce-arrow{display:none}.mce-menu .mce-container-body{min-width:160px}.mce-menu-item{border:0;margin-bottom:2px}.mce-menu-has-icons i.mce-ico{line-height:20px}div.mce-panel{border:0;background:#fff;-webkit-filter:none;filter:none}.mce-panel.mce-menu{border:1px solid #ddd}div.mce-tab{line-height:13px}div.mce-toolbar-grp{border-bottom:1px solid #dedede;background:#f5f5f5;padding:3px;position:relative}.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-left:32px}.mce-toolbar .mce-btn-group{margin:0}div.mce-statusbar{border-top:1px solid #eee}div.mce-path{padding:0 8px 2px;margin:0}.mce-toolbar .mce-btn,.qt-fullscreen{border-color:transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;cursor:pointer}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn,.qt-fullscreen{border:1px solid transparent;margin:2px;background-image:none;-webkit-border-radius:2px;border-radius:2px;-webkit-filter:none;filter:none}#wp-fullscreen-buttons .mce-btn:focus,#wp-fullscreen-buttons .mce-btn:hover,.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-fullscreen:focus,.qt-fullscreen:hover{background:#fafafa;border-color:#999;color:#222;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08)}#wp-fullscreen-buttons .mce-btn.mce-active,#wp-fullscreen-buttons .mce-btn:active,.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active{background:#ebebeb;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3)}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover{border-color:#555}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover i.mce-ico{color:#555}#wp-fullscreen-buttons .mce-btn.mce-disabled:focus,#wp-fullscreen-buttons .mce-btn.mce-disabled:hover,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#aaa;background:0 0;border-color:#ddd;text-shadow:0 1px 0 #fff;-webkit-box-shadow:none;box-shadow:none}.mce-toolbar .mce-btn-group .mce-first,.mce-toolbar .mce-btn-group .mce-last{border-color:transparent}.mce-toolbar .mce-btn button,.qt-fullscreen{padding:2px 3px;line-height:normal}.mce-toolbar .mce-btn i{text-shadow:none}.mce-toolbar .mce-btn-group>div{white-space:normal}.mce-toolbar .mce-colorbutton .mce-open{border-left:0}.mce-toolbar .mce-colorbutton .mce-preview{margin-right:-17px;padding:0;width:18px}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox{-webkit-border-radius:0;border-radius:0;direction:rtl;background:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2)}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover{background-image:none;border-color:#bbb}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox span{font-size:13px}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #777;margin-right:2px;margin-left:2px}.mce-listbox i.mce-caret{left:6px}.mce-panel .mce-btn button.mce-open i.mce-caret,.mce-panel .mce-btn.mce-listbox i.mce-caret{margin-right:0;margin-left:0}.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#333}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #333;margin-top:7px}.mce-listbox.mce-active i.mce-caret{margin-top:-3px}.mce-toolbar .mce-splitbtn:hover .mce-open{border-left-color:transparent}.mce-toolbar .mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:none;box-shadow:none}.mce-menu .mce-menu-item-normal.mce-active{background-color:#e5e5e5;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{color:#000;background-color:#bbb;background-image:none;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-active:hover .mce-text,.mce-menu .mce-menu-item.mce-selected .mce-ico,.mce-menu .mce-menu-item.mce-selected .mce-text,.mce-menu .mce-menu-item:focus .mce-ico,.mce-menu .mce-menu-item:hover .mce-ico,.mce-menu .mce-menu-item:hover .mce-text{color:#000}.mce-menubar{border-color:#e5e5e5}.mce-menubar .mce-btn:focus{outline:0}.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{margin:5px 0 4px}.mce-menubtn span{margin-left:0;padding-right:3px}.mce-menu-has-icons i.mce-ico:before{margin-right:-2px}.mce-primary button,.mce-primary button i{text-align:center;color:#fff;text-shadow:none;padding:0;line-height:26px}.mce-window .mce-btn{color:#555;background:#f7f7f7;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0;cursor:pointer;border:1px solid #ccc;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);background-image:none}.mce-window .mce-btn::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.mce-window .mce-btn:hover{background:#fafafa;border-color:#999;color:#222}.mce-window .mce-btn:focus{-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2)}.mce-window .mce-btn:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.mce-window .mce-btn.mce-disabled{color:#aaa;border-color:#ddd;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 1px 0 #fff;cursor:default}.mce-window .mce-btn.mce-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.mce-window .mce-btn.mce-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.mce-window .mce-btn.mce-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4)}.mce-window .mce-btn.mce-primary:active{background:#1b7aa6;border-color:#005684;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1)}.mce-window .mce-btn.mce-primary.mce-disabled{color:#94cde7;background:#298cba;border-color:#1b607f;text-shadow:0 -1px 0 rgba(0,0,0,.1)}.mce-menubtn.mce-fixed-width button span{max-width:80px;padding-left:16px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#dfdfdf;cursor:pointer}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-tooltip{margin-top:2px}.mce-tooltip-inner{-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);color:#fff;font-size:12px}.mce-ico{font-family:tinymce,Arial}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-toolbar .mce-ico{color:#777;line-height:20px;width:20px;height:20px;text-align:center;text-shadow:none;margin:0;padding:0}.qt-fullscreen{color:#777;line-height:20px;width:28px;height:26px;text-align:center;text-shadow:none}.mce-toolbar .mce-btn .mce-open{line-height:20px}.mce-toolbar .mce-btn.mce-active .mce-open,.mce-toolbar .mce-btn:focus .mce-open,.mce-toolbar .mce-btn:hover .mce-open{border-right-color:#999}.mce-close,i.mce-i-aligncenter,i.mce-i-alignjustify,i.mce-i-alignleft,i.mce-i-alignright,i.mce-i-blockquote,i.mce-i-bold,i.mce-i-bullist,i.mce-i-charmap,i.mce-i-forecolor,i.mce-i-fullscreen,i.mce-i-help,i.mce-i-hr,i.mce-i-indent,i.mce-i-italic,i.mce-i-link,i.mce-i-ltr,i.mce-i-numlist,i.mce-i-outdent,i.mce-i-pastetext,i.mce-i-pasteword,i.mce-i-redo,i.mce-i-removeformat,i.mce-i-spellchecker,i.mce-i-strikethrough,i.mce-i-underline,i.mce-i-undo,i.mce-i-unlink,i.mce-i-wp-media-library,i.mce-i-wp_adv,i.mce-i-wp_fullscreen,i.mce-i-wp_help,i.mce-i-wp_more,i.mce-i-wp_page{font:400 20px/1 dashicons;padding:0;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-right:-2px;padding-left:2px}.qt-fullscreen{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i.mce-i-bold:before{content:'\f200'}i.mce-i-italic:before{content:'\f201'}i.mce-i-bullist:before{content:'\f203'}i.mce-i-numlist:before{content:'\f204'}i.mce-i-blockquote:before{content:'\f205'}i.mce-i-alignleft:before{content:'\f206'}i.mce-i-aligncenter:before{content:'\f207'}i.mce-i-alignright:before{content:'\f208'}i.mce-i-link:before{content:'\f103'}i.mce-i-unlink:before{content:'\f225'}i.mce-i-wp_more:before{content:'\f209'}i.mce-i-strikethrough:before{content:'\f224'}i.mce-i-spellchecker:before{content:'\f210'}.qt-fullscreen:before,i.mce-i-fullscreen:before,i.mce-i-wp_fullscreen:before{content:'\f211'}i.mce-i-wp_adv:before{content:'\f212'}i.mce-i-underline:before{content:'\f213'}i.mce-i-alignjustify:before{content:'\f214'}i.mce-i-forecolor:before{content:'\f215'}i.mce-i-pastetext:before{content:'\f217'}i.mce-i-removeformat:before{content:'\f218'}i.mce-i-charmap:before{content:'\f220'}i.mce-i-outdent:before{content:'\f221'}i.mce-i-indent:before{content:'\f222'}i.mce-i-undo:before{content:'\f171'}i.mce-i-redo:before{content:'\f172'}i.mce-i-help:before,i.mce-i-wp_help:before{content:'\f223'}i.mce-i-wp-media-library:before{content:'\f104'}i.mce-i-ltr:before{content:'\f320'}i.mce-i-wp_page:before{content:'\f105'}i.mce-i-hr:before{content:'\f460'}.mce-close:before{content:'\f158'}.mce-i-wp_code:before{content:'\e017'}.wp-editor-wrap{position:relative}.wp-editor-tools{position:relative;z-index:1}.wp-editor-container{clear:both}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0 none;outline:0;display:block;resize:vertical;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-editor-tools{padding:0}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none}.wp-editor-tabs{float:left}.wp-switch-editor{background:#ebebeb;border:1px solid #dedede;color:#777;cursor:pointer;float:left;font:13px/19px "Open Sans",sans-serif;height:19px;margin:5px 5px 0 0;padding:3px 8px 4px;position:relative;top:1px}.wp-switch-editor:active{background-color:#f1f1f1}.wp-switch-editor:hover{text-decoration:none!important;background:#fff}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.html-active .switch-html,.tmce-active .switch-tmce{background:#f5f5f5;color:#555;height:20px;border-bottom:0}.wp-media-buttons{float:right}.wp-media-buttons .button{margin-left:5px;margin-bottom:4px;padding-right:7px;padding-left:7px}.wp-media-buttons .button:active{position:relative;top:1px;margin-top:-1px;margin-bottom:1px}.wp-media-buttons .insert-media{padding-right:5px}.wp-media-buttons a{text-decoration:none;color:#464646;font-size:12px}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.wp-media-buttons span.wp-media-buttons-icon{display:inline-block;width:18px;height:18px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f104'}.quicktags-toolbar{padding:3px;position:relative;border-bottom:1px solid #dedede;background:#f5f5f5}.has-dfw .quicktags-toolbar{padding-left:35px}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:2px}.quicktags-toolbar input[value=link]{text-decoration:underline}.quicktags-toolbar input[value=del]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:700}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen,.qt-fullscreen{position:absolute;top:0;left:0;margin-top:5px;margin-left:5px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-fullscreen{padding:7px 8px}.qt-fullscreen{width:38px;height:34px}.mce-toolbar .mce-colorbutton .mce-preview{margin-right:-21px}.mce-window .mce-btn{padding:2px 0}.quicktags-toolbar,div.mce-toolbar-grp{padding-left:46px}}@media screen and (min-width:782px){.wp-core-ui .quicktags-toolbar input.button.button-small{font-size:12px;height:26px;line-height:24px}}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:100020}#wp_delgallery,#wp_delimgbtn,#wp_editgallery,#wp_editimgbtn{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_delgallery:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_editimgbtn:hover{border-color:#555;background-color:#ccc}#wp-link-wrap{display:none;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:500px;height:250px;overflow:hidden;margin-right:-250px;margin-top:-125px;position:fixed;top:50%;right:50%;z-index:100105;-webkit-transition:height .2s,margin-top .2s;transition:height .2s,margin-top .2s}#wp-link-backdrop{display:none;position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}#wp-link{position:relative;height:100%}#wp-link-wrap.search-panel-visible{height:500px;margin-top:-250px}#link-modal-title{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px;top:0;left:0;right:0}#wp-link-close{color:#666;cursor:pointer;padding:0;position:absolute;top:0;left:0;width:36px;height:36px;text-align:center}#wp-link-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:'\f158'}#wp-link-close:focus,#wp-link-close:hover{color:#2ea2cc}#link-selector{padding:0 16px 50px}#wp-link-wrap.search-panel-visible #link-selector{padding:0 16px;position:absolute;top:36px;right:0;left:0;bottom:44px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link-search-toggle::after{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140'}.search-panel-visible #wp-link-search-toggle::after{content:'\f142'}#wp-link input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wp-link #link-options{padding:8px 0 12px}#wp-link p.howto{margin:3px 0}#wp-link-search-toggle{cursor:pointer}#wp-link label input[type=text]{margin-top:5px;width:70%}#wp-link #link-options label span,#wp-link #search-panel label span.search-label{display:inline-block;width:80px;text-align:left;padding-left:5px;max-width:24%}#wp-link .link-search-field{float:right;width:250px;max-width:70%}#wp-link .link-search-wrapper{margin:5px 0 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:right;margin-top:4px}#wp-link .link-search-wrapper .spinner{display:none;vertical-align:text-bottom}#wp-link .link-target{padding:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wp-link .link-target label{max-width:70%}#wp-link .query-results{border:1px #dfdfdf solid;margin:0;background:#fff;overflow:auto;position:absolute;right:16px;left:16px;bottom:16px;top:205px}#wp-link .query-notice,#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#333;padding:4px 6px;cursor:pointer;position:relative}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#333}#wp-link li.selected{background:#ddd;color:#333}#wp-link li.selected .item-title{font-weight:700}#wp-link li:last-child{border:0}#wp-link .item-title{display:inline-block;width:80%;width:-webkit-calc(100% - 68px);width:calc(100% - 68px)}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;left:5px;top:5px}#wp-link #search-panel,#wp-link #search-results{display:none}#wp-link-wrap.search-panel-visible #search-panel{display:block}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .river-waiting .spinner{margin:0 auto;display:block;float:none}#wp-link .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;right:0;left:0}#wp-link-cancel{line-height:25px}#wp-link-update{line-height:23px;float:left}#wp-link-submit{float:left;margin-bottom:0}@media screen and (max-width:782px){#wp-link-wrap{height:280px;margin-top:-140px}#wp-link-wrap.search-panel-visible .query-results{top:235px}#link-selector{padding:0 16px 60px}#wp-link-wrap.search-panel-visible #link-selector{bottom:52px}#wp-link-cancel{line-height:32px}}@media screen and (max-width:520px){#wp-link-wrap{width:auto;margin-right:0;right:10px;left:10px;max-width:500px}}@media screen and (max-height:520px){#wp-link-wrap{-webkit-transition:none;transition:none}#wp-link-wrap.search-panel-visible{height:auto;margin-top:0;top:10px;bottom:10px}.search-panel-visible #link-selector{overflow:auto}.search-panel-visible #search-panel .query-results{position:static}}@media screen and (max-height:290px){#wp-link-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto;height:-webkit-calc(100% - 92px);height:calc(100% - 92px);padding-bottom:2px}#search-panel .query-results{position:static}}.fullscreen-overlay{z-index:100005;display:none;position:fixed;top:0;bottom:0;right:0;left:0;-webkit-filter:inherit;filter:inherit}.wp-fullscreen-active #wp-fullscreen-body,.wp-fullscreen-active .fullscreen-overlay{display:block}.fullscreen-fader{z-index:200000}.wp-core-ui.wp-fullscreen-active .postbox-container,.wp-fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body,.mce-fullscreen{z-index:100010}#wp-fullscreen-body{display:none}.wp-fullscreen-wrap{margin:0;padding:0;position:absolute;right:0;left:0;bottom:30px;top:60px;z-index:100015}#wp-fullscreen-central-toolbar,.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%}.wp-fullscreen-active .mce-statusbar,.wp-fullscreen-active .mce-toolbar-grp,.wp-fullscreen-active .quicktags-toolbar,.wp-fullscreen-active .wp-editor-tools{display:none}#wp-fullscreen-statusbar{position:fixed;right:0;left:0;bottom:0;height:30px;z-index:100020;background:#fff;-webkit-transition:height .2s;transition:height .2s}#wp-fullscreen-status{margin:0 auto;padding:0}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title,.wp-fullscreen-active .wp-fullscreen-title:focus{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color .4s;transition:border-color .4s}.wp-fullscreen-active .wp-editor-container{margin:0 auto 40px}.wp-fullscreen-active .wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:medium none;padding:3px 7px;margin:10px auto 30px;display:block}#wp-fullscreen-tagline{color:#888;font-size:18px;float:left;padding:4px 0 0}#fullscreen-topbar{background:#f5f5f5;border-bottom:1px solid #dedede;height:45px;position:fixed;right:0;left:0;top:0;width:100%;z-index:100020;-webkit-transition:opacity .4s;transition:opacity .4s}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;margin:0 auto}#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-mode-bar{float:right}#wp-fullscreen-count,#wp-fullscreen-tagline{display:inline-block}#wp-fullscreen-button-bar{margin-top:2px}#wp-fullscreen-save{float:left;padding:2px 0 0;min-width:95px}#wp-fullscreen-close,#wp-fullscreen-count{padding:5px 0 0}#wp-fullscreen-central-toolbar{margin:auto;padding:0;min-width:620px}#wp-fullscreen-buttons>div{float:right}#wp-fullscreen-mode-bar{padding:3px 0 0 14px}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}#wp-fullscreen-buttons .mce-btn button{margin:0;outline:0 none;border:0 none;white-space:nowrap;width:auto;background:0 0;color:#333;cursor:pointer;font-size:18px;line-height:20px;overflow:visible;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save span{display:none;margin:5px 6px 0;float:right}.wp-fullscreen-active #TB_overlay{z-index:100050}.wp-fullscreen-active #TB_window{z-index:100051}.fullscreen-overlay{background:#fff}.wp-fullscreen-active #fullscreen-topbar{-webkit-transition-duration:.8s;transition-duration:.8s;opacity:0;filter:alpha(opacity=0)}.wp-fullscreen-active #wp-fullscreen-statusbar{height:0}.wp-fullscreen-active.wp-dfw-show-ui #fullscreen-topbar{-webkit-transition-duration:.4s;transition-duration:.4s;opacity:1;filter:alpha(opacity=100)}.wp-fullscreen-active.wp-dfw-show-ui #wp-fullscreen-statusbar{height:29px;background:#f8f8f8;border-top:1px solid #eee}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title{-webkit-transition-duration:.8s;transition-duration:.8s;border-color:transparent}.wp-fullscreen-active.wp-dfw-show-ui .wp-editor-container,.wp-fullscreen-active.wp-dfw-show-ui .wp-fullscreen-title{-webkit-transition-duration:.4s;transition-duration:.4s;border-color:#ccc}.fade-1000,.fade-300,.fade-400,.fade-600{opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-1000{-webkit-transition-duration:1s;transition-duration:1s}.fade-600{-webkit-transition-duration:.6s;transition-duration:.6s}.fade-400{-webkit-transition-duration:.4s;transition-duration:.4s}.fade-300{-webkit-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.wp-dfw-touch #fullscreen-topbar{position:absolute;opacity:1}.wp-dfw-touch .wp-fullscreen-title,.wp-dfw-touch .wp-fullscreen-wrap .wp-editor-container{max-width:700px}.wp-fullscreen-active.wp-dfw-touch .wp-editor-container,.wp-fullscreen-active.wp-dfw-touch .wp-fullscreen-title{border-color:#ccc}.wp-dfw-touch #wp-fullscreen-statusbar{height:30px}@media screen and (max-width:782px){#wp-fullscreen-button-bar,#wp-fullscreen-central-toolbar,#wp-fullscreen-close,#wp-fullscreen-mode-bar,#wp-fullscreen-save{display:inline-block}#fullscreen-topbar{height:85px}#wp-fullscreen-central-toolbar{width:auto!important;min-width:0}#wp-fullscreen-close{line-height:30px;vertical-align:top;padding:0 12px}#wp-fullscreen-button-bar{position:absolute;top:45px;right:0}.wp-fullscreen-wrap{top:95px}#wp-fullscreen-save{position:absolute;left:10px}}@media screen and (max-width:480px){#wp_fs_help{display:none}.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{width:480px!important}body.wp-fullscreen-active{width:480px;overflow:auto}#fullscreen-topbar,.wp-fullscreen-wrap{width:480px}#fullscreen-topbar{position:absolute}#wp-fullscreen-status{width:auto!important;max-width:100%;padding:0 10px}}.rtl .quicktags-toolbar input,.rtl .wp-switch-editor{font-family:Tahoma,sans-serif}.mce-rtl .mce-flow-layout .mce-flow-layout-item>div{direction:rtl}.mce-rtl .mce-listbox i.mce-caret{left:6px}html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .wp-switch-editor{font-family:Arial,sans-serif}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#wp-fullscreen-buttons #wp_fs_image span.mce_image,.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
+.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}#mce-modal-block.mce-in{opacity:.7;filter:alpha(opacity=70)}.mce-window{-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);-webkit-font-smoothing:subpixel-antialiased}.mce-window .mce-container-body.mce-abs-layout{overflow:visible}.mce-window .mce-window-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;padding:0;min-height:36px}.mce-window .mce-window-head .mce-title{color:#444;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 16px 0 36px}.mce-window .mce-window-head .mce-close{color:transparent;top:0;left:0;width:36px;height:36px;line-height:36px;text-align:center}.mce-window .mce-window-head .mce-close:before{font:400 20px/36px dashicons;text-align:center;color:#666;width:36px;height:36px;display:block}.mce-window .mce-window-head .mce-close:hover:before{color:#2ea2cc}.mce-window .mce-window-head .mce-dragh{width:-webkit-calc(100% - 36px);width:calc(100% - 36px)}.mce-wp-help .mce-window-head{border-bottom:none}#wp-link .query-results,.mce-checkbox i.mce-i-checkbox,.mce-textbox{border:1px solid #ddd;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);-webkit-transition:.05s all ease-in-out;transition:.05s all ease-in-out}#wp-link .query-results:focus,.mce-checkbox:focus i.mce-i-checkbox,.mce-textbox.mce-focus,.mce-textbox:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.mce-floatpanel.mce-popover,.mce-menu{border-color:rgba(0,0,0,.15);-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:2px}.mce-floatpanel .mce-arrow{display:none}.mce-menu .mce-container-body{min-width:160px}.mce-menu-item{border:none;margin-bottom:2px}.mce-menu-has-icons i.mce-ico{line-height:20px}div.mce-panel{border:0;background:#fff;-webkit-filter:none;filter:none}.mce-panel.mce-menu{border:1px solid #ddd}div.mce-tab{line-height:13px}div.mce-toolbar-grp{border-bottom:1px solid #dedede;background:#f5f5f5;padding:0;position:relative}div.mce-toolbar-grp>div{padding:3px}.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-left:32px}.mce-toolbar .mce-btn-group{margin:0}div.mce-statusbar{border-top:1px solid #e5e5e5}div.mce-path{padding:2px 10px;margin:0}.mce-path,.mce-path .mce-divider,.mce-path-item{font-size:12px;line-height:18px}.mce-toolbar .mce-btn,.qt-fullscreen{border-color:transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;cursor:pointer}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn,.qt-fullscreen{border:1px solid transparent;margin:2px;background-image:none;-webkit-border-radius:2px;border-radius:2px;-webkit-filter:none;filter:none}#wp-fullscreen-buttons .mce-btn:focus,#wp-fullscreen-buttons .mce-btn:hover,.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-fullscreen:focus,.qt-fullscreen:hover{background:#fafafa;border-color:#999;color:#222;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08)}#wp-fullscreen-buttons .mce-btn.mce-active,#wp-fullscreen-buttons .mce-btn:active,.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active{background:#ebebeb;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3)}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover{border-color:#555}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover i.mce-ico{color:#555}#wp-fullscreen-buttons .mce-btn.mce-disabled:focus,#wp-fullscreen-buttons .mce-btn.mce-disabled:hover,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#aaa;background:0 0;border-color:#ddd;text-shadow:0 1px 0 #fff;-webkit-box-shadow:none;box-shadow:none}.mce-toolbar .mce-btn-group .mce-first,.mce-toolbar .mce-btn-group .mce-last{border-color:transparent}.mce-toolbar .mce-btn button,.qt-fullscreen{padding:2px 3px;line-height:normal}.mce-toolbar .mce-btn i{text-shadow:none}.mce-toolbar .mce-btn-group>div{white-space:normal}.mce-toolbar .mce-colorbutton .mce-open{border-left:0}.mce-toolbar .mce-colorbutton .mce-preview{margin:0;padding:0;top:auto;bottom:2px;right:3px;height:3px;width:20px}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox{-webkit-border-radius:0;border-radius:0;direction:rtl;background:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2)}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover{background-image:none;border-color:#bbb}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox span{font-size:13px}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #777;margin-right:2px;margin-left:2px}.mce-listbox i.mce-caret{left:6px}.mce-panel .mce-btn button.mce-open i.mce-caret,.mce-panel .mce-btn.mce-listbox i.mce-caret{margin-right:0;margin-left:0}.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#333}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #333;margin-top:7px}.mce-listbox.mce-active i.mce-caret{margin-top:-3px}.mce-toolbar .mce-splitbtn:hover .mce-open{border-left-color:transparent}.mce-toolbar .mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:none;box-shadow:none}.mce-menu .mce-menu-item-normal.mce-active{background-color:#e5e5e5;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{color:#000;background-color:#bbb;background-image:none;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-active:hover .mce-text,.mce-menu .mce-menu-item.mce-selected .mce-ico,.mce-menu .mce-menu-item.mce-selected .mce-text,.mce-menu .mce-menu-item:focus .mce-ico,.mce-menu .mce-menu-item:hover .mce-ico,.mce-menu .mce-menu-item:hover .mce-text{color:#000}.mce-menubar{border-color:#e5e5e5;background:#fff;border-width:0 0 1px}.mce-menubar .mce-btn:focus{outline:0}.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{margin:5px 0 4px}.mce-menubtn span{margin-left:0;padding-right:3px}.mce-menu-has-icons i.mce-ico:before{margin-right:-2px}.mce-primary button,.mce-primary button i{text-align:center;color:#fff;text-shadow:none;padding:0;line-height:26px}.mce-window .mce-btn{color:#555;background:#f7f7f7;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0;cursor:pointer;border:1px solid #ccc;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08)}.mce-window .mce-btn::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.mce-window .mce-btn:focus,.mce-window .mce-btn:hover{background:#fafafa;border-color:#999;color:#222}.mce-window .mce-btn:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.mce-window .mce-btn.mce-disabled{color:#aaa;border-color:#ddd;background:#f7f7f7;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 1px 0 #fff;cursor:default}.mce-window .mce-btn.mce-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.mce-window .mce-btn.mce-primary:focus,.mce-window .mce-btn.mce-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.mce-window .mce-btn.mce-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn.mce-primary:active{background:#1b7aa6;border-color:#005684;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);vertical-align:top}.mce-window .mce-btn.mce-primary.mce-disabled{color:#94cde7;background:#298cba;border-color:#1b607f;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 -1px 0 rgba(0,0,0,.1);cursor:default}.mce-menubtn.mce-fixed-width button span{max-width:80px;padding-left:16px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#dfdfdf;cursor:pointer}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-tooltip{margin-top:2px}.mce-tooltip-inner{-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);color:#fff;font-size:12px}.mce-ico{font-family:tinymce,Arial}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-toolbar .mce-ico{color:#777;line-height:20px;width:20px;height:20px;text-align:center;text-shadow:none;margin:0;padding:0}.qt-fullscreen{color:#777;line-height:20px;width:28px;height:26px;text-align:center;text-shadow:none}.mce-toolbar .mce-btn .mce-open{line-height:20px}.mce-toolbar .mce-btn.mce-active .mce-open,.mce-toolbar .mce-btn:focus .mce-open,.mce-toolbar .mce-btn:hover .mce-open{border-right-color:#999}.mce-close,i.mce-i-aligncenter,i.mce-i-alignjustify,i.mce-i-alignleft,i.mce-i-alignright,i.mce-i-backcolor,i.mce-i-blockquote,i.mce-i-bold,i.mce-i-bullist,i.mce-i-charmap,i.mce-i-forecolor,i.mce-i-fullscreen,i.mce-i-help,i.mce-i-hr,i.mce-i-indent,i.mce-i-italic,i.mce-i-link,i.mce-i-ltr,i.mce-i-numlist,i.mce-i-outdent,i.mce-i-pastetext,i.mce-i-pasteword,i.mce-i-redo,i.mce-i-removeformat,i.mce-i-spellchecker,i.mce-i-strikethrough,i.mce-i-underline,i.mce-i-undo,i.mce-i-unlink,i.mce-i-wp-media-library,i.mce-i-wp_adv,i.mce-i-wp_fullscreen,i.mce-i-wp_help,i.mce-i-wp_more,i.mce-i-wp_page{font:400 20px/1 dashicons;padding:0 0 0 2px;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-right:-2px}.qt-fullscreen{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i.mce-i-bold:before{content:'\f200'}i.mce-i-italic:before{content:'\f201'}i.mce-i-bullist:before{content:'\f203'}i.mce-i-numlist:before{content:'\f204'}i.mce-i-blockquote:before{content:'\f205'}i.mce-i-alignleft:before{content:'\f206'}i.mce-i-aligncenter:before{content:'\f207'}i.mce-i-alignright:before{content:'\f208'}i.mce-i-link:before{content:'\f103'}i.mce-i-unlink:before{content:'\f225'}i.mce-i-wp_more:before{content:'\f209'}i.mce-i-strikethrough:before{content:'\f224'}i.mce-i-spellchecker:before{content:'\f210'}.qt-fullscreen:before,i.mce-i-fullscreen:before,i.mce-i-wp_fullscreen:before{content:'\f211'}i.mce-i-wp_adv:before{content:'\f212'}i.mce-i-underline:before{content:'\f213'}i.mce-i-alignjustify:before{content:'\f214'}i.mce-i-backcolor:before,i.mce-i-forecolor:before{content:'\f215'}i.mce-i-pastetext:before{content:'\f217'}i.mce-i-removeformat:before{content:'\f218'}i.mce-i-charmap:before{content:'\f220'}i.mce-i-outdent:before{content:'\f221'}i.mce-i-indent:before{content:'\f222'}i.mce-i-undo:before{content:'\f171'}i.mce-i-redo:before{content:'\f172'}i.mce-i-help:before,i.mce-i-wp_help:before{content:'\f223'}i.mce-i-wp-media-library:before{content:'\f104'}i.mce-i-ltr:before{content:'\f320'}i.mce-i-wp_page:before{content:'\f105'}i.mce-i-hr:before{content:'\f460'}.mce-close:before{content:'\f158'}.mce-i-wp_code:before{content:'\f475'}.wp-editor-wrap{position:relative}.wp-editor-tools{position:relative;z-index:1}.wp-editor-tools:after{clear:both;content:'';display:table}.wp-editor-container{clear:both}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0;outline:0;display:block;resize:vertical;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none}.wp-editor-tabs{float:left}.wp-switch-editor{background:#ebebeb;border:1px solid #dedede;color:#777;cursor:pointer;float:left;font:13px/19px "Open Sans",sans-serif;height:19px;margin:5px 5px 0 0;padding:3px 8px 4px;position:relative;top:1px}.wp-switch-editor:active{background-color:#f1f1f1}.wp-switch-editor:hover{text-decoration:none!important;background:#fff}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.html-active .switch-html,.tmce-active .switch-tmce{background:#f5f5f5;color:#555;height:20px;border-bottom:none}.wp-media-buttons{float:right}.wp-media-buttons .button{margin-left:5px;margin-bottom:4px;padding-right:7px;padding-left:7px}.wp-media-buttons .button:active{position:relative;top:1px;margin-top:-1px;margin-bottom:1px}.wp-media-buttons .insert-media{padding-right:5px}.wp-media-buttons a{text-decoration:none;color:#464646;font-size:12px}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.wp-media-buttons span.wp-media-buttons-icon{display:inline-block;width:18px;height:18px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f104'}.quicktags-toolbar{padding:3px;position:relative;border-bottom:1px solid #dedede;background:#f5f5f5}.has-dfw .quicktags-toolbar{padding-left:35px}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:2px}.quicktags-toolbar input[value=link]{text-decoration:underline}.quicktags-toolbar input[value=del]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:700}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen,.qt-fullscreen{position:absolute;top:0;left:0;margin:5px 0 0 5px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-fullscreen{padding:6px 7px}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn{margin:1px}.qt-fullscreen{width:36px;height:34px}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen{margin:4px 0 0 4px}.mce-toolbar .mce-colorbutton .mce-preview{right:8px;bottom:6px}.mce-window .mce-btn{padding:2px 0}.has-dfw .quicktags-toolbar,.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-left:40px}}@media screen and (min-width:782px){.wp-core-ui .quicktags-toolbar input.button.button-small{font-size:12px;height:26px;line-height:24px}}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:100020}#wp_delgallery,#wp_delimgbtn,#wp_editgallery,#wp_editimgbtn{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_delgallery:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_editimgbtn:hover{border-color:#555;background-color:#ccc}#wp-link-wrap{display:none;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:500px;height:250px;overflow:hidden;margin-right:-250px;margin-top:-125px;position:fixed;top:50%;right:50%;z-index:100105;-webkit-transition:height .2s,margin-top .2s;transition:height .2s,margin-top .2s}#wp-link-backdrop{display:none;position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}#wp-link{position:relative;height:100%}#wp-link-wrap.search-panel-visible{height:500px;margin-top:-250px}#link-modal-title{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px;top:0;left:0;right:0}#wp-link-close{color:#666;padding:0;position:absolute;top:0;left:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}#wp-link-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:'\f158'}#wp-link-close:focus,#wp-link-close:hover{color:#2ea2cc}#wp-link-close:focus{outline:0;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#link-selector{padding:0 16px 50px}#wp-link-wrap.search-panel-visible #link-selector{padding:0 16px;position:absolute;top:36px;right:0;left:0;bottom:44px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link-search-toggle:after{display:inline-block;font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140'}.search-panel-visible #wp-link-search-toggle:after{content:'\f142'}#wp-link input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wp-link #link-options{padding:8px 0 12px}#wp-link p.howto{margin:3px 0}#wp-link p.howto a{text-decoration:none;color:inherit}#wp-link-search-toggle{cursor:pointer}#wp-link label input[type=text]{margin-top:5px;width:70%}#wp-link #link-options label span,#wp-link #search-panel label span.search-label{display:inline-block;width:80px;text-align:left;padding-left:5px;max-width:24%}#wp-link .link-search-field{float:right;width:250px;max-width:70%}#wp-link .link-search-wrapper{margin:5px 0 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:right;margin-top:4px}#wp-link .link-search-wrapper .spinner{display:none;vertical-align:text-bottom}#wp-link .link-target{padding:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wp-link .link-target label{max-width:70%}#wp-link .query-results{border:1px solid #dfdfdf;margin:0;background:#fff;overflow:auto;position:absolute;right:16px;left:16px;bottom:16px;top:205px}#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#333;padding:4px 10px 4px 6px;cursor:pointer;position:relative}#wp-link .query-notice{padding:0;border-bottom:1px solid #dfdfdf;background-color:#f7fcfe;color:#000}#wp-link .query-notice .query-notice-default,#wp-link .query-notice .query-notice-hint{display:block;padding:6px;border-right:4px solid #2ea2cc}#wp-link .unselectable.no-matches-found{padding:0;border-bottom:1px solid #dfdfdf;background-color:#fef7f1}#wp-link .no-matches-found .item-title{display:block;padding:6px;border-right:4px solid #d54e21}#wp-link .query-results em{font-style:normal}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#333}#wp-link li.selected{background:#ddd;color:#333}#wp-link li.selected .item-title{font-weight:700}#wp-link li:last-child{border:none}#wp-link .item-title{display:inline-block;width:80%;width:-webkit-calc(100% - 68px);width:calc(100% - 68px)}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;left:5px;top:5px}#wp-link #search-panel,#wp-link #search-results{display:none}#wp-link-wrap.search-panel-visible #search-panel{display:block}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .river-waiting .spinner{margin:0 auto;display:block;float:none}#wp-link .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;right:0;left:0}#wp-link-cancel{line-height:25px;float:right}#wp-link-update{line-height:23px;float:left}#wp-link-submit{float:left;margin-bottom:0}@media screen and (max-width:782px){#wp-link-wrap{height:280px;margin-top:-140px}#wp-link-wrap.search-panel-visible .query-results{top:235px}#link-selector{padding:0 16px 60px}#wp-link-wrap.search-panel-visible #link-selector{bottom:52px}#wp-link-cancel{line-height:32px}}@media screen and (max-width:520px){#wp-link-wrap{width:auto;margin-right:0;right:10px;left:10px;max-width:500px}}@media screen and (max-height:520px){#wp-link-wrap{-webkit-transition:none;transition:none}#wp-link-wrap.search-panel-visible{height:auto;margin-top:0;top:10px;bottom:10px}.search-panel-visible #link-selector{overflow:auto}.search-panel-visible #search-panel .query-results{position:static}}@media screen and (max-height:290px){#wp-link-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto;height:-webkit-calc(100% - 92px);height:calc(100% - 92px);padding-bottom:2px}#search-panel .query-results{position:static}}.fullscreen-overlay{z-index:100005;display:none;position:fixed;top:0;bottom:0;right:0;left:0;-webkit-filter:inherit;filter:inherit}.wp-fullscreen-active #wp-fullscreen-body,.wp-fullscreen-active .fullscreen-overlay{display:block}.fullscreen-fader{z-index:200000}.wp-core-ui.wp-fullscreen-active .postbox-container,.wp-fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body,.mce-fullscreen{z-index:100010}#wp-fullscreen-body{display:none}.wp-fullscreen-wrap{margin:0;padding:0;position:absolute;right:0;left:0;bottom:30px;top:60px;z-index:100015}#wp-fullscreen-central-toolbar,.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%}.wp-fullscreen-active .mce-statusbar,.wp-fullscreen-active .mce-toolbar-grp,.wp-fullscreen-active .quicktags-toolbar,.wp-fullscreen-active .wp-editor-tools{display:none}#wp-fullscreen-statusbar{position:fixed;right:0;left:0;bottom:0;height:30px;z-index:100020;background:#fff;-webkit-transition:height .2s;transition:height .2s}#wp-fullscreen-status{margin:0 auto;padding:0}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title,.wp-fullscreen-active .wp-fullscreen-title:focus{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color .4s;transition:border-color .4s}.wp-fullscreen-active .wp-editor-container{margin:0 auto 40px}.wp-fullscreen-active .wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:0;padding:3px 7px;margin:10px auto 30px;display:block}#wp-fullscreen-tagline{color:#888;font-size:18px;float:left;padding:4px 0 0}#fullscreen-topbar{background:#f5f5f5;border-bottom:1px solid #dedede;height:45px;position:fixed;right:0;left:0;top:0;width:100%;z-index:100020;-webkit-transition:opacity .4s;transition:opacity .4s}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;margin:0 auto}#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-mode-bar{float:right}#wp-fullscreen-count,#wp-fullscreen-tagline{display:inline-block}#wp-fullscreen-button-bar{margin-top:2px}#wp-fullscreen-save{float:left;padding:2px 0 0;min-width:95px}#wp-fullscreen-close,#wp-fullscreen-count{padding:5px 0 0}#wp-fullscreen-central-toolbar{margin:auto;padding:0;min-width:620px}#wp-fullscreen-buttons>div{float:right}#wp-fullscreen-mode-bar{padding:3px 0 0 14px}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}#wp-fullscreen-buttons .mce-btn button{margin:0;outline:0;border:0;white-space:nowrap;width:auto;background:0 0;color:#333;cursor:pointer;font-size:18px;line-height:20px;overflow:visible;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save span{display:none;margin:5px 6px 0;float:right}.wp-fullscreen-active #TB_overlay{z-index:100050}.wp-fullscreen-active #TB_window{z-index:100051}.fullscreen-overlay{background:#fff}.wp-fullscreen-active #fullscreen-topbar{-webkit-transition-duration:.8s;transition-duration:.8s;opacity:0;filter:alpha(opacity=0)}.wp-fullscreen-active #wp-fullscreen-statusbar{height:0}.wp-fullscreen-active.wp-dfw-show-ui #fullscreen-topbar{-webkit-transition-duration:.4s;transition-duration:.4s;opacity:1;filter:alpha(opacity=100)}.wp-fullscreen-active.wp-dfw-show-ui #wp-fullscreen-statusbar{height:29px;background:#f8f8f8;border-top:1px solid #eee}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title{-webkit-transition-duration:.8s;transition-duration:.8s;border-color:transparent}.wp-fullscreen-active.wp-dfw-show-ui .wp-editor-container,.wp-fullscreen-active.wp-dfw-show-ui .wp-fullscreen-title{-webkit-transition-duration:.4s;transition-duration:.4s;border-color:#ccc}.fade-1000,.fade-300,.fade-400,.fade-600{opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-1000{-webkit-transition-duration:1s;transition-duration:1s}.fade-600{-webkit-transition-duration:.6s;transition-duration:.6s}.fade-400{-webkit-transition-duration:.4s;transition-duration:.4s}.fade-300{-webkit-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.wp-dfw-touch #fullscreen-topbar{position:absolute;opacity:1}.wp-dfw-touch .wp-fullscreen-title,.wp-dfw-touch .wp-fullscreen-wrap .wp-editor-container{max-width:700px}.wp-fullscreen-active.wp-dfw-touch .wp-editor-container,.wp-fullscreen-active.wp-dfw-touch .wp-fullscreen-title{border-color:#ccc}.wp-dfw-touch #wp-fullscreen-statusbar{height:30px}@media screen and (max-width:782px){#wp-fullscreen-button-bar,#wp-fullscreen-central-toolbar,#wp-fullscreen-close,#wp-fullscreen-mode-bar,#wp-fullscreen-save{display:inline-block}#fullscreen-topbar{height:85px}#wp-fullscreen-central-toolbar{width:auto!important;min-width:0}#wp-fullscreen-close{line-height:30px;vertical-align:top;padding:0 12px}#wp-fullscreen-button-bar{position:absolute;top:45px;right:0}.wp-fullscreen-wrap{top:95px}#wp-fullscreen-save{position:absolute;left:10px}}@media screen and (max-width:480px){#wp_fs_help{display:none}.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{width:480px!important}body.wp-fullscreen-active{width:480px;overflow:auto}#fullscreen-topbar,.wp-fullscreen-wrap{width:480px}#fullscreen-topbar{position:absolute}#wp-fullscreen-status{width:auto!important;max-width:100%;padding:0 10px}}.rtl .quicktags-toolbar input,.rtl .wp-switch-editor{font-family:Tahoma,sans-serif}.mce-rtl .mce-flow-layout .mce-flow-layout-item>div{direction:rtl}.mce-rtl .mce-listbox i.mce-caret{left:6px}html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .wp-switch-editor{font-family:Arial,sans-serif}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#wp-fullscreen-buttons #wp_fs_image span.mce_image,.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
diff --git a/wp-includes/css/editor.css b/wp-includes/css/editor.css
index 57f78d134..b05def96f 100644
--- a/wp-includes/css/editor.css
+++ b/wp-includes/css/editor.css
@@ -79,19 +79,21 @@
 }
 
 .mce-textbox,
-.mce-checkbox i.mce-i-checkbox {
+.mce-checkbox i.mce-i-checkbox,
+#wp-link .query-results {
 	border: 1px solid #ddd;
 	-webkit-border-radius: 0;
 	border-radius: 0;
 	-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
 	box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
-	-webkit-transition: .05s border-color ease-in-out;
-	transition: .05s border-color ease-in-out;
+	-webkit-transition: .05s all ease-in-out;
+	transition: .05s all ease-in-out;
 }
 
 .mce-textbox:focus,
 .mce-textbox.mce-focus,
-.mce-checkbox:focus i.mce-i-checkbox {
+.mce-checkbox:focus i.mce-i-checkbox,
+#wp-link .query-results:focus {
 	border-color: #5b9dd9;
 	-webkit-box-shadow: 0 0 2px rgba(30,140,190,0.8);
 	box-shadow: 0 0 2px rgba(30,140,190,0.8);
@@ -148,10 +150,14 @@ div.mce-tab {
 div.mce-toolbar-grp {
 	border-bottom: 1px solid #dedede;
 	background: #f5f5f5;
-	padding: 3px;
+	padding: 0;
 	position: relative;
 }
 
+div.mce-toolbar-grp > div {
+	padding: 3px;
+}
+
 .has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first {
 	padding-right: 32px;
 }
@@ -161,14 +167,21 @@ div.mce-toolbar-grp {
 }
 
 div.mce-statusbar {
-	border-top: 1px solid #eee;
+	border-top: 1px solid #e5e5e5;
 }
 
 div.mce-path {
-	padding: 0 8px 2px;
+	padding: 2px 10px;
 	margin: 0;
 }
 
+.mce-path,
+.mce-path-item,
+.mce-path .mce-divider {
+	font-size: 12px;
+	line-height: 18px;
+}
+
 .mce-toolbar .mce-btn,
 .qt-fullscreen {
 	border-color: transparent;
@@ -258,9 +271,13 @@ div.mce-path {
 }
 
 .mce-toolbar .mce-colorbutton .mce-preview {
-	margin-left: -17px;
+	margin: 0;
 	padding: 0;
-	width: 18px;
+	top: auto;
+	bottom: 2px;
+	left: 3px;
+	height: 3px;
+	width: 20px;
 }
 
 /* mce listbox */
@@ -350,6 +367,8 @@ div.mce-path {
 /* Menubar */
 .mce-menubar {
 	border-color: #e5e5e5;
+	background: #fff;
+	border-width: 0px 0px 1px;
 }
 
 .mce-menubar .mce-btn:focus {
@@ -395,8 +414,8 @@ div.mce-menu .mce-menu-item-sep,
 	-webkit-border-radius: 3px;
 	border-radius: 3px;
 	white-space: nowrap;
-	-webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
-	box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
+	-webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
+	box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
 	background-image: none;
 }
 
@@ -408,28 +427,34 @@ div.mce-menu .mce-menu-item-sep,
 	padding: 0;
 }
 
-.mce-window .mce-btn:hover {
+.mce-window .mce-btn:hover,
+.mce-window .mce-btn:focus {
 	background: #fafafa;
 	border-color: #999;
 	color: #222;
 }
 
 .mce-window .mce-btn:focus {
-	-webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.2);
-	box-shadow: 1px 1px 1px rgba(0,0,0,.2);
+	-webkit-box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba( 30, 140, 190, 0.8 );
+	box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba( 30, 140, 190, 0.8 );
 }
 
 .mce-window .mce-btn:active {
 	background: #eee;
 	border-color: #999;
 	color: #333;
- 	-webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
- 	box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
+	-webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
+	box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
 }
 
 .mce-window .mce-btn.mce-disabled {
 	color: #aaa;
 	border-color: #ddd;
+	background: #f7f7f7;
 	-webkit-box-shadow: none;
 	box-shadow: none;
 	text-shadow: 0 1px 0 #fff;
@@ -439,39 +464,50 @@ div.mce-menu .mce-menu-item-sep,
 .mce-window .mce-btn.mce-primary {
 	background: #2ea2cc;
 	border-color: #0074a2;
-	-webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
-	box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
+	-webkit-box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5), 0 1px 0 rgba( 0, 0, 0, 0.15 );
+	box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5 ), 0 1px 0 rgba( 0, 0, 0, 0.15 );
 	color: #fff;
 	text-decoration: none;
 }
 
-.mce-window .mce-btn.mce-primary:hover {
+.mce-window .mce-btn.mce-primary:hover,
+.mce-window .mce-btn.mce-primary:focus {
 	background: #1e8cbe;
 	border-color: #0074a2;
-	-webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
-	box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
+	-webkit-box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.6 );
+	box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.6 );
 	color: #fff;
 }
 
 .mce-window .mce-btn.mce-primary:focus {
 	border-color: #0e3950;
-	-webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6), 1px 1px 2px rgba(0,0,0,0.4);
-	box-shadow: inset 0 1px 0 rgba(120,200,230,0.6), 1px 1px 2px rgba(0,0,0,0.4);
+	-webkit-box-shadow:
+		inset 0 1px 0 rgba( 120, 200, 230, 0.6 ),
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba( 30, 140, 190, 0.8 );
+	box-shadow:
+		inset 0 1px 0 rgba( 120, 200, 230, 0.6 ),
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba( 30, 140, 190, 0.8 );
 }
 
 .mce-window .mce-btn.mce-primary:active {
 	background: #1b7aa6;
 	border-color: #005684;
-	color: rgba(255,255,255,0.95);
-	-webkit-box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
-	box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
+	color: rgba( 255, 255, 255, 0.95 );
+	-webkit-box-shadow: inset 0 1px 0 rgba( 0, 0, 0, 0.1 );
+	box-shadow: inset 0 1px 0 rgba( 0, 0, 0, 0.1 );
+	vertical-align: top;
 }
 
 .mce-window .mce-btn.mce-primary.mce-disabled {
 	color: #94cde7;
 	background: #298cba;
 	border-color: #1b607f;
-	text-shadow: 0 -1px 0 rgba(0,0,0,0.1);
+	-webkit-box-shadow: none;
+	box-shadow: none;
+	text-shadow: 0 -1px 0 rgba( 0, 0, 0, 0.1 );
+	cursor: default;
 }
 
 .mce-menubtn.mce-fixed-width button span {
@@ -570,6 +606,7 @@ i.mce-i-wp_adv,
 i.mce-i-underline,
 i.mce-i-alignjustify,
 i.mce-i-forecolor,
+i.mce-i-backcolor,
 i.mce-i-pastetext,
 i.mce-i-pasteword,
 i.mce-i-removeformat,
@@ -673,7 +710,8 @@ i.mce-i-alignjustify:before {
 	content: '\f214';
 }
 
-i.mce-i-forecolor:before {
+i.mce-i-forecolor:before,
+i.mce-i-backcolor:before {
 	content: '\f215';
 }
 
@@ -731,7 +769,7 @@ i.mce-i-hr:before {
 }
 
 .mce-i-wp_code:before {
-	content: '\e017';
+	content: '\f475';
 }
 
 /* Editors */
@@ -744,6 +782,12 @@ i.mce-i-hr:before {
 	z-index: 1;
 }
 
+.wp-editor-tools:after {
+	clear: both;
+	content: '';
+	display: table;
+}
+
 .wp-editor-container {
 	clear: both;
 }
@@ -763,10 +807,6 @@ i.mce-i-hr:before {
 	box-sizing: border-box;
 }
 
-.wp-editor-tools {
-	padding: 0;
-}
-
 .wp-editor-container textarea.wp-editor-area {
 	width: 100%;
 	margin: 0;
@@ -910,32 +950,41 @@ i.mce-i-hr:before {
 	position: absolute;
 	top: 0;
 	right: 0;
-	margin-top: 5px;
-	margin-right: 5px;
+	margin: 5px 5px 0 0;
 }
 
 @media screen and ( max-width: 782px ) {
 	.mce-toolbar .mce-btn button,
 	.qt-fullscreen {
-		padding: 7px 8px;
+		padding: 6px 7px;
+	}
+
+	#wp-fullscreen-buttons .mce-btn,
+	.mce-toolbar .mce-btn-group .mce-btn {
+		margin: 1px;
 	}
 
 	.qt-fullscreen {
-		width: 38px;
+		width: 36px;
 		height: 34px;
 	}
 
+	.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen {
+		margin: 4px 4px 0 0;
+	}
+
 	.mce-toolbar .mce-colorbutton .mce-preview {
-		margin-left: -21px;
+		left: 8px;
+		bottom: 6px;
 	}
 
 	.mce-window .mce-btn {
 		padding: 2px 0;
 	}
 
-	div.mce-toolbar-grp,
-	.quicktags-toolbar {
-		padding-right: 46px;
+	.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first,
+	.has-dfw .quicktags-toolbar {
+		padding-right: 40px;
 	}
 }
 
@@ -1039,7 +1088,6 @@ i.mce-i-hr:before {
 
 #wp-link-close {
 	color: #666;
-	cursor: pointer;
 	padding: 0;
 	position: absolute;
 	top: 0;
@@ -1047,6 +1095,9 @@ i.mce-i-hr:before {
 	width: 36px;
 	height: 36px;
 	text-align: center;
+	background: none;
+	border: none;
+	cursor: pointer;
 }
 
 #wp-link-close:before {
@@ -1065,6 +1116,16 @@ i.mce-i-hr:before {
 	color: #2ea2cc;
 }
 
+#wp-link-close:focus {
+	outline: none;
+	-webkit-box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
+	box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba(30, 140, 190, .8);
+}
+
 #link-selector {
 	padding: 0 16px 50px;
 }
@@ -1085,7 +1146,8 @@ i.mce-i-hr:before {
 	padding: 0;
 }
 
-#wp-link-search-toggle::after {
+#wp-link-search-toggle:after {
+	display: inline-block;
 	font: normal 20px/1 'dashicons';
 	vertical-align: top;
 	speak: none;
@@ -1094,7 +1156,7 @@ i.mce-i-hr:before {
 	content: '\f140';
 }
 
-.search-panel-visible #wp-link-search-toggle::after {
+.search-panel-visible #wp-link-search-toggle:after {
 	content: '\f142';
 }
 
@@ -1112,6 +1174,11 @@ i.mce-i-hr:before {
 	margin: 3px 0;
 }
 
+#wp-link p.howto a {
+	text-decoration: none;
+	color: inherit;
+}
+
 #wp-link-search-toggle {
 	cursor: pointer;
 }
@@ -1175,17 +1242,46 @@ i.mce-i-hr:before {
 	top: 205px;
 }
 
-#wp-link li,
-#wp-link .query-notice {
+#wp-link li {
 	clear: both;
 	margin-bottom: 0;
 	border-bottom: 1px solid #f1f1f1;
 	color: #333;
-	padding: 4px 6px;
+	padding: 4px 6px 4px 10px;
 	cursor: pointer;
 	position: relative;
 }
 
+#wp-link .query-notice {
+	padding: 0;
+	border-bottom: 1px solid #dfdfdf;
+	background-color: #f7fcfe;
+	color: #000;
+}
+
+#wp-link .query-notice .query-notice-default,
+#wp-link .query-notice .query-notice-hint {
+	display: block;
+	padding: 6px;
+	border-left: 4px solid #2ea2cc;
+}
+
+#wp-link .unselectable.no-matches-found {
+	padding: 0;
+	border-bottom: 1px solid #dfdfdf;
+	background-color: #fef7f1;
+}
+
+#wp-link .no-matches-found .item-title {
+	display: block;
+	padding: 6px;
+	border-left: 4px solid #d54e21;
+}
+
+#wp-link .query-results em {
+	font-style: normal;
+}
+
 #wp-link li:hover {
 	background: #eaf2fa;
 	color: #151515;
@@ -1262,6 +1358,7 @@ i.mce-i-hr:before {
 
 #wp-link-cancel {
 	line-height: 25px;
+	float: left;
 }
 
 #wp-link-update {
diff --git a/wp-includes/css/editor.min.css b/wp-includes/css/editor.min.css
index b6efc3040..c9af89ff3 100644
--- a/wp-includes/css/editor.min.css
+++ b/wp-includes/css/editor.min.css
@@ -1 +1 @@
-.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}#mce-modal-block.mce-in{opacity:.7;filter:alpha(opacity=70)}.mce-window{-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);-webkit-font-smoothing:subpixel-antialiased}.mce-window .mce-container-body.mce-abs-layout{overflow:visible}.mce-window .mce-window-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;padding:0;min-height:36px}.mce-window .mce-window-head .mce-title{color:#444;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 36px 0 16px}.mce-window .mce-window-head .mce-close{color:transparent;top:0;right:0;width:36px;height:36px;line-height:36px;text-align:center}.mce-window .mce-window-head .mce-close:before{font:400 20px/36px dashicons;text-align:center;color:#666;width:36px;height:36px;display:block}.mce-window .mce-window-head .mce-close:hover:before{color:#2ea2cc}.mce-window .mce-window-head .mce-dragh{width:-webkit-calc(100% - 36px);width:calc(100% - 36px)}.mce-wp-help .mce-window-head{border-bottom:0}.mce-checkbox i.mce-i-checkbox,.mce-textbox{border:1px solid #ddd;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}.mce-checkbox:focus i.mce-i-checkbox,.mce-textbox.mce-focus,.mce-textbox:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.mce-floatpanel.mce-popover,.mce-menu{border-color:rgba(0,0,0,.15);-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:2px}.mce-floatpanel .mce-arrow{display:none}.mce-menu .mce-container-body{min-width:160px}.mce-menu-item{border:0;margin-bottom:2px}.mce-menu-has-icons i.mce-ico{line-height:20px}div.mce-panel{border:0;background:#fff;-webkit-filter:none;filter:none}.mce-panel.mce-menu{border:1px solid #ddd}div.mce-tab{line-height:13px}div.mce-toolbar-grp{border-bottom:1px solid #dedede;background:#f5f5f5;padding:3px;position:relative}.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-right:32px}.mce-toolbar .mce-btn-group{margin:0}div.mce-statusbar{border-top:1px solid #eee}div.mce-path{padding:0 8px 2px;margin:0}.mce-toolbar .mce-btn,.qt-fullscreen{border-color:transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;cursor:pointer}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn,.qt-fullscreen{border:1px solid transparent;margin:2px;background-image:none;-webkit-border-radius:2px;border-radius:2px;-webkit-filter:none;filter:none}#wp-fullscreen-buttons .mce-btn:focus,#wp-fullscreen-buttons .mce-btn:hover,.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-fullscreen:focus,.qt-fullscreen:hover{background:#fafafa;border-color:#999;color:#222;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08)}#wp-fullscreen-buttons .mce-btn.mce-active,#wp-fullscreen-buttons .mce-btn:active,.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active{background:#ebebeb;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3)}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover{border-color:#555}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover i.mce-ico{color:#555}#wp-fullscreen-buttons .mce-btn.mce-disabled:focus,#wp-fullscreen-buttons .mce-btn.mce-disabled:hover,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#aaa;background:0 0;border-color:#ddd;text-shadow:0 1px 0 #fff;-webkit-box-shadow:none;box-shadow:none}.mce-toolbar .mce-btn-group .mce-first,.mce-toolbar .mce-btn-group .mce-last{border-color:transparent}.mce-toolbar .mce-btn button,.qt-fullscreen{padding:2px 3px;line-height:normal}.mce-toolbar .mce-btn i{text-shadow:none}.mce-toolbar .mce-btn-group>div{white-space:normal}.mce-toolbar .mce-colorbutton .mce-open{border-right:0}.mce-toolbar .mce-colorbutton .mce-preview{margin-left:-17px;padding:0;width:18px}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox{-webkit-border-radius:0;border-radius:0;direction:ltr;background:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2)}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover{background-image:none;border-color:#bbb}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox span{font-size:13px}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #777;margin-left:2px;margin-right:2px}.mce-listbox i.mce-caret{right:6px}.mce-panel .mce-btn button.mce-open i.mce-caret,.mce-panel .mce-btn.mce-listbox i.mce-caret{margin-left:0;margin-right:0}.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#333}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #333;margin-top:7px}.mce-listbox.mce-active i.mce-caret{margin-top:-3px}.mce-toolbar .mce-splitbtn:hover .mce-open{border-right-color:transparent}.mce-toolbar .mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:none;box-shadow:none}.mce-menu .mce-menu-item-normal.mce-active{background-color:#e5e5e5;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{color:#000;background-color:#bbb;background-image:none;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-active:hover .mce-text,.mce-menu .mce-menu-item.mce-selected .mce-ico,.mce-menu .mce-menu-item.mce-selected .mce-text,.mce-menu .mce-menu-item:focus .mce-ico,.mce-menu .mce-menu-item:hover .mce-ico,.mce-menu .mce-menu-item:hover .mce-text{color:#000}.mce-menubar{border-color:#e5e5e5}.mce-menubar .mce-btn:focus{outline:0}.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{margin:5px 0 4px}.mce-menubtn span{margin-right:0;padding-left:3px}.mce-menu-has-icons i.mce-ico:before{margin-left:-2px}.mce-primary button,.mce-primary button i{text-align:center;color:#fff;text-shadow:none;padding:0;line-height:26px}.mce-window .mce-btn{color:#555;background:#f7f7f7;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0;cursor:pointer;border:1px solid #ccc;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);background-image:none}.mce-window .mce-btn::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.mce-window .mce-btn:hover{background:#fafafa;border-color:#999;color:#222}.mce-window .mce-btn:focus{-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2)}.mce-window .mce-btn:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.mce-window .mce-btn.mce-disabled{color:#aaa;border-color:#ddd;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 1px 0 #fff;cursor:default}.mce-window .mce-btn.mce-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.mce-window .mce-btn.mce-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.mce-window .mce-btn.mce-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4)}.mce-window .mce-btn.mce-primary:active{background:#1b7aa6;border-color:#005684;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1)}.mce-window .mce-btn.mce-primary.mce-disabled{color:#94cde7;background:#298cba;border-color:#1b607f;text-shadow:0 -1px 0 rgba(0,0,0,.1)}.mce-menubtn.mce-fixed-width button span{max-width:80px;padding-right:16px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#dfdfdf;cursor:pointer}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-tooltip{margin-top:2px}.mce-tooltip-inner{-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);color:#fff;font-size:12px}.mce-ico{font-family:tinymce,Arial}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-toolbar .mce-ico{color:#777;line-height:20px;width:20px;height:20px;text-align:center;text-shadow:none;margin:0;padding:0}.qt-fullscreen{color:#777;line-height:20px;width:28px;height:26px;text-align:center;text-shadow:none}.mce-toolbar .mce-btn .mce-open{line-height:20px}.mce-toolbar .mce-btn.mce-active .mce-open,.mce-toolbar .mce-btn:focus .mce-open,.mce-toolbar .mce-btn:hover .mce-open{border-left-color:#999}.mce-close,i.mce-i-aligncenter,i.mce-i-alignjustify,i.mce-i-alignleft,i.mce-i-alignright,i.mce-i-blockquote,i.mce-i-bold,i.mce-i-bullist,i.mce-i-charmap,i.mce-i-forecolor,i.mce-i-fullscreen,i.mce-i-help,i.mce-i-hr,i.mce-i-indent,i.mce-i-italic,i.mce-i-link,i.mce-i-ltr,i.mce-i-numlist,i.mce-i-outdent,i.mce-i-pastetext,i.mce-i-pasteword,i.mce-i-redo,i.mce-i-removeformat,i.mce-i-spellchecker,i.mce-i-strikethrough,i.mce-i-underline,i.mce-i-undo,i.mce-i-unlink,i.mce-i-wp-media-library,i.mce-i-wp_adv,i.mce-i-wp_fullscreen,i.mce-i-wp_help,i.mce-i-wp_more,i.mce-i-wp_page{font:400 20px/1 dashicons;padding:0;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:-2px;padding-right:2px}.qt-fullscreen{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i.mce-i-bold:before{content:'\f200'}i.mce-i-italic:before{content:'\f201'}i.mce-i-bullist:before{content:'\f203'}i.mce-i-numlist:before{content:'\f204'}i.mce-i-blockquote:before{content:'\f205'}i.mce-i-alignleft:before{content:'\f206'}i.mce-i-aligncenter:before{content:'\f207'}i.mce-i-alignright:before{content:'\f208'}i.mce-i-link:before{content:'\f103'}i.mce-i-unlink:before{content:'\f225'}i.mce-i-wp_more:before{content:'\f209'}i.mce-i-strikethrough:before{content:'\f224'}i.mce-i-spellchecker:before{content:'\f210'}.qt-fullscreen:before,i.mce-i-fullscreen:before,i.mce-i-wp_fullscreen:before{content:'\f211'}i.mce-i-wp_adv:before{content:'\f212'}i.mce-i-underline:before{content:'\f213'}i.mce-i-alignjustify:before{content:'\f214'}i.mce-i-forecolor:before{content:'\f215'}i.mce-i-pastetext:before{content:'\f217'}i.mce-i-removeformat:before{content:'\f218'}i.mce-i-charmap:before{content:'\f220'}i.mce-i-outdent:before{content:'\f221'}i.mce-i-indent:before{content:'\f222'}i.mce-i-undo:before{content:'\f171'}i.mce-i-redo:before{content:'\f172'}i.mce-i-help:before,i.mce-i-wp_help:before{content:'\f223'}i.mce-i-wp-media-library:before{content:'\f104'}i.mce-i-ltr:before{content:'\f320'}i.mce-i-wp_page:before{content:'\f105'}i.mce-i-hr:before{content:'\f460'}.mce-close:before{content:'\f158'}.mce-i-wp_code:before{content:'\e017'}.wp-editor-wrap{position:relative}.wp-editor-tools{position:relative;z-index:1}.wp-editor-container{clear:both}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0 none;outline:0;display:block;resize:vertical;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-editor-tools{padding:0}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none}.wp-editor-tabs{float:right}.wp-switch-editor{background:#ebebeb;border:1px solid #dedede;color:#777;cursor:pointer;float:right;font:13px/19px "Open Sans",sans-serif;height:19px;margin:5px 0 0 5px;padding:3px 8px 4px;position:relative;top:1px}.wp-switch-editor:active{background-color:#f1f1f1}.wp-switch-editor:hover{text-decoration:none!important;background:#fff}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.html-active .switch-html,.tmce-active .switch-tmce{background:#f5f5f5;color:#555;height:20px;border-bottom:0}.wp-media-buttons{float:left}.wp-media-buttons .button{margin-right:5px;margin-bottom:4px;padding-left:7px;padding-right:7px}.wp-media-buttons .button:active{position:relative;top:1px;margin-top:-1px;margin-bottom:1px}.wp-media-buttons .insert-media{padding-left:5px}.wp-media-buttons a{text-decoration:none;color:#464646;font-size:12px}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.wp-media-buttons span.wp-media-buttons-icon{display:inline-block;width:18px;height:18px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f104'}.quicktags-toolbar{padding:3px;position:relative;border-bottom:1px solid #dedede;background:#f5f5f5}.has-dfw .quicktags-toolbar{padding-right:35px}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:2px}.quicktags-toolbar input[value=link]{text-decoration:underline}.quicktags-toolbar input[value=del]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:700}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen,.qt-fullscreen{position:absolute;top:0;right:0;margin-top:5px;margin-right:5px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-fullscreen{padding:7px 8px}.qt-fullscreen{width:38px;height:34px}.mce-toolbar .mce-colorbutton .mce-preview{margin-left:-21px}.mce-window .mce-btn{padding:2px 0}.quicktags-toolbar,div.mce-toolbar-grp{padding-right:46px}}@media screen and (min-width:782px){.wp-core-ui .quicktags-toolbar input.button.button-small{font-size:12px;height:26px;line-height:24px}}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:100020}#wp_delgallery,#wp_delimgbtn,#wp_editgallery,#wp_editimgbtn{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_delgallery:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_editimgbtn:hover{border-color:#555;background-color:#ccc}#wp-link-wrap{display:none;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:500px;height:250px;overflow:hidden;margin-left:-250px;margin-top:-125px;position:fixed;top:50%;left:50%;z-index:100105;-webkit-transition:height .2s,margin-top .2s;transition:height .2s,margin-top .2s}#wp-link-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}#wp-link{position:relative;height:100%}#wp-link-wrap.search-panel-visible{height:500px;margin-top:-250px}#link-modal-title{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px;top:0;right:0;left:0}#wp-link-close{color:#666;cursor:pointer;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center}#wp-link-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:'\f158'}#wp-link-close:focus,#wp-link-close:hover{color:#2ea2cc}#link-selector{padding:0 16px 50px}#wp-link-wrap.search-panel-visible #link-selector{padding:0 16px;position:absolute;top:36px;left:0;right:0;bottom:44px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link-search-toggle::after{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140'}.search-panel-visible #wp-link-search-toggle::after{content:'\f142'}#wp-link input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wp-link #link-options{padding:8px 0 12px}#wp-link p.howto{margin:3px 0}#wp-link-search-toggle{cursor:pointer}#wp-link label input[type=text]{margin-top:5px;width:70%}#wp-link #link-options label span,#wp-link #search-panel label span.search-label{display:inline-block;width:80px;text-align:right;padding-right:5px;max-width:24%}#wp-link .link-search-field{float:left;width:250px;max-width:70%}#wp-link .link-search-wrapper{margin:5px 0 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:left;margin-top:4px}#wp-link .link-search-wrapper .spinner{display:none;vertical-align:text-bottom}#wp-link .link-target{padding:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wp-link .link-target label{max-width:70%}#wp-link .query-results{border:1px #dfdfdf solid;margin:0;background:#fff;overflow:auto;position:absolute;left:16px;right:16px;bottom:16px;top:205px}#wp-link .query-notice,#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#333;padding:4px 6px;cursor:pointer;position:relative}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#333}#wp-link li.selected{background:#ddd;color:#333}#wp-link li.selected .item-title{font-weight:700}#wp-link li:last-child{border:0}#wp-link .item-title{display:inline-block;width:80%;width:-webkit-calc(100% - 68px);width:calc(100% - 68px)}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;right:5px;top:5px}#wp-link #search-panel,#wp-link #search-results{display:none}#wp-link-wrap.search-panel-visible #search-panel{display:block}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .river-waiting .spinner{margin:0 auto;display:block;float:none}#wp-link .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;left:0;right:0}#wp-link-cancel{line-height:25px}#wp-link-update{line-height:23px;float:right}#wp-link-submit{float:right;margin-bottom:0}@media screen and (max-width:782px){#wp-link-wrap{height:280px;margin-top:-140px}#wp-link-wrap.search-panel-visible .query-results{top:235px}#link-selector{padding:0 16px 60px}#wp-link-wrap.search-panel-visible #link-selector{bottom:52px}#wp-link-cancel{line-height:32px}}@media screen and (max-width:520px){#wp-link-wrap{width:auto;margin-left:0;left:10px;right:10px;max-width:500px}}@media screen and (max-height:520px){#wp-link-wrap{-webkit-transition:none;transition:none}#wp-link-wrap.search-panel-visible{height:auto;margin-top:0;top:10px;bottom:10px}.search-panel-visible #link-selector{overflow:auto}.search-panel-visible #search-panel .query-results{position:static}}@media screen and (max-height:290px){#wp-link-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto;height:-webkit-calc(100% - 92px);height:calc(100% - 92px);padding-bottom:2px}#search-panel .query-results{position:static}}.fullscreen-overlay{z-index:100005;display:none;position:fixed;top:0;bottom:0;left:0;right:0;-webkit-filter:inherit;filter:inherit}.wp-fullscreen-active #wp-fullscreen-body,.wp-fullscreen-active .fullscreen-overlay{display:block}.fullscreen-fader{z-index:200000}.wp-core-ui.wp-fullscreen-active .postbox-container,.wp-fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body,.mce-fullscreen{z-index:100010}#wp-fullscreen-body{display:none}.wp-fullscreen-wrap{margin:0;padding:0;position:absolute;left:0;right:0;bottom:30px;top:60px;z-index:100015}#wp-fullscreen-central-toolbar,.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%}.wp-fullscreen-active .mce-statusbar,.wp-fullscreen-active .mce-toolbar-grp,.wp-fullscreen-active .quicktags-toolbar,.wp-fullscreen-active .wp-editor-tools{display:none}#wp-fullscreen-statusbar{position:fixed;left:0;right:0;bottom:0;height:30px;z-index:100020;background:#fff;-webkit-transition:height .2s;transition:height .2s}#wp-fullscreen-status{margin:0 auto;padding:0}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title,.wp-fullscreen-active .wp-fullscreen-title:focus{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color .4s;transition:border-color .4s}.wp-fullscreen-active .wp-editor-container{margin:0 auto 40px}.wp-fullscreen-active .wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:medium none;padding:3px 7px;margin:10px auto 30px;display:block}#wp-fullscreen-tagline{color:#888;font-size:18px;float:right;padding:4px 0 0}#fullscreen-topbar{background:#f5f5f5;border-bottom:1px solid #dedede;height:45px;position:fixed;left:0;right:0;top:0;width:100%;z-index:100020;-webkit-transition:opacity .4s;transition:opacity .4s}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;margin:0 auto}#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-mode-bar{float:left}#wp-fullscreen-count,#wp-fullscreen-tagline{display:inline-block}#wp-fullscreen-button-bar{margin-top:2px}#wp-fullscreen-save{float:right;padding:2px 0 0;min-width:95px}#wp-fullscreen-close,#wp-fullscreen-count{padding:5px 0 0}#wp-fullscreen-central-toolbar{margin:auto;padding:0;min-width:620px}#wp-fullscreen-buttons>div{float:left}#wp-fullscreen-mode-bar{padding:3px 14px 0 0}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}#wp-fullscreen-buttons .mce-btn button{margin:0;outline:0 none;border:0 none;white-space:nowrap;width:auto;background:0 0;color:#333;cursor:pointer;font-size:18px;line-height:20px;overflow:visible;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save span{display:none;margin:5px 6px 0;float:left}.wp-fullscreen-active #TB_overlay{z-index:100050}.wp-fullscreen-active #TB_window{z-index:100051}.fullscreen-overlay{background:#fff}.wp-fullscreen-active #fullscreen-topbar{-webkit-transition-duration:.8s;transition-duration:.8s;opacity:0;filter:alpha(opacity=0)}.wp-fullscreen-active #wp-fullscreen-statusbar{height:0}.wp-fullscreen-active.wp-dfw-show-ui #fullscreen-topbar{-webkit-transition-duration:.4s;transition-duration:.4s;opacity:1;filter:alpha(opacity=100)}.wp-fullscreen-active.wp-dfw-show-ui #wp-fullscreen-statusbar{height:29px;background:#f8f8f8;border-top:1px solid #eee}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title{-webkit-transition-duration:.8s;transition-duration:.8s;border-color:transparent}.wp-fullscreen-active.wp-dfw-show-ui .wp-editor-container,.wp-fullscreen-active.wp-dfw-show-ui .wp-fullscreen-title{-webkit-transition-duration:.4s;transition-duration:.4s;border-color:#ccc}.fade-1000,.fade-300,.fade-400,.fade-600{opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-1000{-webkit-transition-duration:1s;transition-duration:1s}.fade-600{-webkit-transition-duration:.6s;transition-duration:.6s}.fade-400{-webkit-transition-duration:.4s;transition-duration:.4s}.fade-300{-webkit-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.wp-dfw-touch #fullscreen-topbar{position:absolute;opacity:1}.wp-dfw-touch .wp-fullscreen-title,.wp-dfw-touch .wp-fullscreen-wrap .wp-editor-container{max-width:700px}.wp-fullscreen-active.wp-dfw-touch .wp-editor-container,.wp-fullscreen-active.wp-dfw-touch .wp-fullscreen-title{border-color:#ccc}.wp-dfw-touch #wp-fullscreen-statusbar{height:30px}@media screen and (max-width:782px){#wp-fullscreen-button-bar,#wp-fullscreen-central-toolbar,#wp-fullscreen-close,#wp-fullscreen-mode-bar,#wp-fullscreen-save{display:inline-block}#fullscreen-topbar{height:85px}#wp-fullscreen-central-toolbar{width:auto!important;min-width:0}#wp-fullscreen-close{line-height:30px;vertical-align:top;padding:0 12px}#wp-fullscreen-button-bar{position:absolute;top:45px;left:0}.wp-fullscreen-wrap{top:95px}#wp-fullscreen-save{position:absolute;right:10px}}@media screen and (max-width:480px){#wp_fs_help{display:none}.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{width:480px!important}body.wp-fullscreen-active{width:480px;overflow:auto}#fullscreen-topbar,.wp-fullscreen-wrap{width:480px}#fullscreen-topbar{position:absolute}#wp-fullscreen-status{width:auto!important;max-width:100%;padding:0 10px}}.rtl .quicktags-toolbar input,.rtl .wp-switch-editor{font-family:Tahoma,sans-serif}.mce-rtl .mce-flow-layout .mce-flow-layout-item>div{direction:rtl}.mce-rtl .mce-listbox i.mce-caret{left:6px}html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .wp-switch-editor{font-family:Arial,sans-serif}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#wp-fullscreen-buttons #wp_fs_image span.mce_image,.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
+.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}#mce-modal-block.mce-in{opacity:.7;filter:alpha(opacity=70)}.mce-window{-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);-webkit-font-smoothing:subpixel-antialiased}.mce-window .mce-container-body.mce-abs-layout{overflow:visible}.mce-window .mce-window-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;padding:0;min-height:36px}.mce-window .mce-window-head .mce-title{color:#444;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 36px 0 16px}.mce-window .mce-window-head .mce-close{color:transparent;top:0;right:0;width:36px;height:36px;line-height:36px;text-align:center}.mce-window .mce-window-head .mce-close:before{font:400 20px/36px dashicons;text-align:center;color:#666;width:36px;height:36px;display:block}.mce-window .mce-window-head .mce-close:hover:before{color:#2ea2cc}.mce-window .mce-window-head .mce-dragh{width:-webkit-calc(100% - 36px);width:calc(100% - 36px)}.mce-wp-help .mce-window-head{border-bottom:none}#wp-link .query-results,.mce-checkbox i.mce-i-checkbox,.mce-textbox{border:1px solid #ddd;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);-webkit-transition:.05s all ease-in-out;transition:.05s all ease-in-out}#wp-link .query-results:focus,.mce-checkbox:focus i.mce-i-checkbox,.mce-textbox.mce-focus,.mce-textbox:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.mce-floatpanel.mce-popover,.mce-menu{border-color:rgba(0,0,0,.15);-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:2px}.mce-floatpanel .mce-arrow{display:none}.mce-menu .mce-container-body{min-width:160px}.mce-menu-item{border:none;margin-bottom:2px}.mce-menu-has-icons i.mce-ico{line-height:20px}div.mce-panel{border:0;background:#fff;-webkit-filter:none;filter:none}.mce-panel.mce-menu{border:1px solid #ddd}div.mce-tab{line-height:13px}div.mce-toolbar-grp{border-bottom:1px solid #dedede;background:#f5f5f5;padding:0;position:relative}div.mce-toolbar-grp>div{padding:3px}.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-right:32px}.mce-toolbar .mce-btn-group{margin:0}div.mce-statusbar{border-top:1px solid #e5e5e5}div.mce-path{padding:2px 10px;margin:0}.mce-path,.mce-path .mce-divider,.mce-path-item{font-size:12px;line-height:18px}.mce-toolbar .mce-btn,.qt-fullscreen{border-color:transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;cursor:pointer}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn,.qt-fullscreen{border:1px solid transparent;margin:2px;background-image:none;-webkit-border-radius:2px;border-radius:2px;-webkit-filter:none;filter:none}#wp-fullscreen-buttons .mce-btn:focus,#wp-fullscreen-buttons .mce-btn:hover,.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-fullscreen:focus,.qt-fullscreen:hover{background:#fafafa;border-color:#999;color:#222;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08)}#wp-fullscreen-buttons .mce-btn.mce-active,#wp-fullscreen-buttons .mce-btn:active,.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active{background:#ebebeb;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3)}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover{border-color:#555}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover i.mce-ico{color:#555}#wp-fullscreen-buttons .mce-btn.mce-disabled:focus,#wp-fullscreen-buttons .mce-btn.mce-disabled:hover,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#aaa;background:0 0;border-color:#ddd;text-shadow:0 1px 0 #fff;-webkit-box-shadow:none;box-shadow:none}.mce-toolbar .mce-btn-group .mce-first,.mce-toolbar .mce-btn-group .mce-last{border-color:transparent}.mce-toolbar .mce-btn button,.qt-fullscreen{padding:2px 3px;line-height:normal}.mce-toolbar .mce-btn i{text-shadow:none}.mce-toolbar .mce-btn-group>div{white-space:normal}.mce-toolbar .mce-colorbutton .mce-open{border-right:0}.mce-toolbar .mce-colorbutton .mce-preview{margin:0;padding:0;top:auto;bottom:2px;left:3px;height:3px;width:20px}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox{-webkit-border-radius:0;border-radius:0;direction:ltr;background:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2)}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover{background-image:none;border-color:#bbb}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox span{font-size:13px}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #777;margin-left:2px;margin-right:2px}.mce-listbox i.mce-caret{right:6px}.mce-panel .mce-btn button.mce-open i.mce-caret,.mce-panel .mce-btn.mce-listbox i.mce-caret{margin-left:0;margin-right:0}.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#333}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #333;margin-top:7px}.mce-listbox.mce-active i.mce-caret{margin-top:-3px}.mce-toolbar .mce-splitbtn:hover .mce-open{border-right-color:transparent}.mce-toolbar .mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:none;box-shadow:none}.mce-menu .mce-menu-item-normal.mce-active{background-color:#e5e5e5;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{color:#000;background-color:#bbb;background-image:none;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-active:hover .mce-text,.mce-menu .mce-menu-item.mce-selected .mce-ico,.mce-menu .mce-menu-item.mce-selected .mce-text,.mce-menu .mce-menu-item:focus .mce-ico,.mce-menu .mce-menu-item:hover .mce-ico,.mce-menu .mce-menu-item:hover .mce-text{color:#000}.mce-menubar{border-color:#e5e5e5;background:#fff;border-width:0 0 1px}.mce-menubar .mce-btn:focus{outline:0}.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{margin:5px 0 4px}.mce-menubtn span{margin-right:0;padding-left:3px}.mce-menu-has-icons i.mce-ico:before{margin-left:-2px}.mce-primary button,.mce-primary button i{text-align:center;color:#fff;text-shadow:none;padding:0;line-height:26px}.mce-window .mce-btn{color:#555;background:#f7f7f7;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0;cursor:pointer;border:1px solid #ccc;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08)}.mce-window .mce-btn::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.mce-window .mce-btn:focus,.mce-window .mce-btn:hover{background:#fafafa;border-color:#999;color:#222}.mce-window .mce-btn:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.mce-window .mce-btn.mce-disabled{color:#aaa;border-color:#ddd;background:#f7f7f7;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 1px 0 #fff;cursor:default}.mce-window .mce-btn.mce-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.mce-window .mce-btn.mce-primary:focus,.mce-window .mce-btn.mce-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.mce-window .mce-btn.mce-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn.mce-primary:active{background:#1b7aa6;border-color:#005684;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);vertical-align:top}.mce-window .mce-btn.mce-primary.mce-disabled{color:#94cde7;background:#298cba;border-color:#1b607f;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 -1px 0 rgba(0,0,0,.1);cursor:default}.mce-menubtn.mce-fixed-width button span{max-width:80px;padding-right:16px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#dfdfdf;cursor:pointer}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-tooltip{margin-top:2px}.mce-tooltip-inner{-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);color:#fff;font-size:12px}.mce-ico{font-family:tinymce,Arial}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-toolbar .mce-ico{color:#777;line-height:20px;width:20px;height:20px;text-align:center;text-shadow:none;margin:0;padding:0}.qt-fullscreen{color:#777;line-height:20px;width:28px;height:26px;text-align:center;text-shadow:none}.mce-toolbar .mce-btn .mce-open{line-height:20px}.mce-toolbar .mce-btn.mce-active .mce-open,.mce-toolbar .mce-btn:focus .mce-open,.mce-toolbar .mce-btn:hover .mce-open{border-left-color:#999}.mce-close,i.mce-i-aligncenter,i.mce-i-alignjustify,i.mce-i-alignleft,i.mce-i-alignright,i.mce-i-backcolor,i.mce-i-blockquote,i.mce-i-bold,i.mce-i-bullist,i.mce-i-charmap,i.mce-i-forecolor,i.mce-i-fullscreen,i.mce-i-help,i.mce-i-hr,i.mce-i-indent,i.mce-i-italic,i.mce-i-link,i.mce-i-ltr,i.mce-i-numlist,i.mce-i-outdent,i.mce-i-pastetext,i.mce-i-pasteword,i.mce-i-redo,i.mce-i-removeformat,i.mce-i-spellchecker,i.mce-i-strikethrough,i.mce-i-underline,i.mce-i-undo,i.mce-i-unlink,i.mce-i-wp-media-library,i.mce-i-wp_adv,i.mce-i-wp_fullscreen,i.mce-i-wp_help,i.mce-i-wp_more,i.mce-i-wp_page{font:400 20px/1 dashicons;padding:0 2px 0 0;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:-2px}.qt-fullscreen{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i.mce-i-bold:before{content:'\f200'}i.mce-i-italic:before{content:'\f201'}i.mce-i-bullist:before{content:'\f203'}i.mce-i-numlist:before{content:'\f204'}i.mce-i-blockquote:before{content:'\f205'}i.mce-i-alignleft:before{content:'\f206'}i.mce-i-aligncenter:before{content:'\f207'}i.mce-i-alignright:before{content:'\f208'}i.mce-i-link:before{content:'\f103'}i.mce-i-unlink:before{content:'\f225'}i.mce-i-wp_more:before{content:'\f209'}i.mce-i-strikethrough:before{content:'\f224'}i.mce-i-spellchecker:before{content:'\f210'}.qt-fullscreen:before,i.mce-i-fullscreen:before,i.mce-i-wp_fullscreen:before{content:'\f211'}i.mce-i-wp_adv:before{content:'\f212'}i.mce-i-underline:before{content:'\f213'}i.mce-i-alignjustify:before{content:'\f214'}i.mce-i-backcolor:before,i.mce-i-forecolor:before{content:'\f215'}i.mce-i-pastetext:before{content:'\f217'}i.mce-i-removeformat:before{content:'\f218'}i.mce-i-charmap:before{content:'\f220'}i.mce-i-outdent:before{content:'\f221'}i.mce-i-indent:before{content:'\f222'}i.mce-i-undo:before{content:'\f171'}i.mce-i-redo:before{content:'\f172'}i.mce-i-help:before,i.mce-i-wp_help:before{content:'\f223'}i.mce-i-wp-media-library:before{content:'\f104'}i.mce-i-ltr:before{content:'\f320'}i.mce-i-wp_page:before{content:'\f105'}i.mce-i-hr:before{content:'\f460'}.mce-close:before{content:'\f158'}.mce-i-wp_code:before{content:'\f475'}.wp-editor-wrap{position:relative}.wp-editor-tools{position:relative;z-index:1}.wp-editor-tools:after{clear:both;content:'';display:table}.wp-editor-container{clear:both}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0;outline:0;display:block;resize:vertical;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none}.wp-editor-tabs{float:right}.wp-switch-editor{background:#ebebeb;border:1px solid #dedede;color:#777;cursor:pointer;float:right;font:13px/19px "Open Sans",sans-serif;height:19px;margin:5px 0 0 5px;padding:3px 8px 4px;position:relative;top:1px}.wp-switch-editor:active{background-color:#f1f1f1}.wp-switch-editor:hover{text-decoration:none!important;background:#fff}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.html-active .switch-html,.tmce-active .switch-tmce{background:#f5f5f5;color:#555;height:20px;border-bottom:none}.wp-media-buttons{float:left}.wp-media-buttons .button{margin-right:5px;margin-bottom:4px;padding-left:7px;padding-right:7px}.wp-media-buttons .button:active{position:relative;top:1px;margin-top:-1px;margin-bottom:1px}.wp-media-buttons .insert-media{padding-left:5px}.wp-media-buttons a{text-decoration:none;color:#464646;font-size:12px}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.wp-media-buttons span.wp-media-buttons-icon{display:inline-block;width:18px;height:18px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f104'}.quicktags-toolbar{padding:3px;position:relative;border-bottom:1px solid #dedede;background:#f5f5f5}.has-dfw .quicktags-toolbar{padding-right:35px}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:2px}.quicktags-toolbar input[value=link]{text-decoration:underline}.quicktags-toolbar input[value=del]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:700}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen,.qt-fullscreen{position:absolute;top:0;right:0;margin:5px 5px 0 0}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-fullscreen{padding:6px 7px}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn{margin:1px}.qt-fullscreen{width:36px;height:34px}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen{margin:4px 4px 0 0}.mce-toolbar .mce-colorbutton .mce-preview{left:8px;bottom:6px}.mce-window .mce-btn{padding:2px 0}.has-dfw .quicktags-toolbar,.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-right:40px}}@media screen and (min-width:782px){.wp-core-ui .quicktags-toolbar input.button.button-small{font-size:12px;height:26px;line-height:24px}}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:100020}#wp_delgallery,#wp_delimgbtn,#wp_editgallery,#wp_editimgbtn{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_delgallery:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_editimgbtn:hover{border-color:#555;background-color:#ccc}#wp-link-wrap{display:none;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:500px;height:250px;overflow:hidden;margin-left:-250px;margin-top:-125px;position:fixed;top:50%;left:50%;z-index:100105;-webkit-transition:height .2s,margin-top .2s;transition:height .2s,margin-top .2s}#wp-link-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}#wp-link{position:relative;height:100%}#wp-link-wrap.search-panel-visible{height:500px;margin-top:-250px}#link-modal-title{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px;top:0;right:0;left:0}#wp-link-close{color:#666;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}#wp-link-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:'\f158'}#wp-link-close:focus,#wp-link-close:hover{color:#2ea2cc}#wp-link-close:focus{outline:0;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#link-selector{padding:0 16px 50px}#wp-link-wrap.search-panel-visible #link-selector{padding:0 16px;position:absolute;top:36px;left:0;right:0;bottom:44px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link-search-toggle:after{display:inline-block;font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140'}.search-panel-visible #wp-link-search-toggle:after{content:'\f142'}#wp-link input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wp-link #link-options{padding:8px 0 12px}#wp-link p.howto{margin:3px 0}#wp-link p.howto a{text-decoration:none;color:inherit}#wp-link-search-toggle{cursor:pointer}#wp-link label input[type=text]{margin-top:5px;width:70%}#wp-link #link-options label span,#wp-link #search-panel label span.search-label{display:inline-block;width:80px;text-align:right;padding-right:5px;max-width:24%}#wp-link .link-search-field{float:left;width:250px;max-width:70%}#wp-link .link-search-wrapper{margin:5px 0 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:left;margin-top:4px}#wp-link .link-search-wrapper .spinner{display:none;vertical-align:text-bottom}#wp-link .link-target{padding:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wp-link .link-target label{max-width:70%}#wp-link .query-results{border:1px solid #dfdfdf;margin:0;background:#fff;overflow:auto;position:absolute;left:16px;right:16px;bottom:16px;top:205px}#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#333;padding:4px 6px 4px 10px;cursor:pointer;position:relative}#wp-link .query-notice{padding:0;border-bottom:1px solid #dfdfdf;background-color:#f7fcfe;color:#000}#wp-link .query-notice .query-notice-default,#wp-link .query-notice .query-notice-hint{display:block;padding:6px;border-left:4px solid #2ea2cc}#wp-link .unselectable.no-matches-found{padding:0;border-bottom:1px solid #dfdfdf;background-color:#fef7f1}#wp-link .no-matches-found .item-title{display:block;padding:6px;border-left:4px solid #d54e21}#wp-link .query-results em{font-style:normal}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#333}#wp-link li.selected{background:#ddd;color:#333}#wp-link li.selected .item-title{font-weight:700}#wp-link li:last-child{border:none}#wp-link .item-title{display:inline-block;width:80%;width:-webkit-calc(100% - 68px);width:calc(100% - 68px)}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;right:5px;top:5px}#wp-link #search-panel,#wp-link #search-results{display:none}#wp-link-wrap.search-panel-visible #search-panel{display:block}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .river-waiting .spinner{margin:0 auto;display:block;float:none}#wp-link .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;left:0;right:0}#wp-link-cancel{line-height:25px;float:left}#wp-link-update{line-height:23px;float:right}#wp-link-submit{float:right;margin-bottom:0}@media screen and (max-width:782px){#wp-link-wrap{height:280px;margin-top:-140px}#wp-link-wrap.search-panel-visible .query-results{top:235px}#link-selector{padding:0 16px 60px}#wp-link-wrap.search-panel-visible #link-selector{bottom:52px}#wp-link-cancel{line-height:32px}}@media screen and (max-width:520px){#wp-link-wrap{width:auto;margin-left:0;left:10px;right:10px;max-width:500px}}@media screen and (max-height:520px){#wp-link-wrap{-webkit-transition:none;transition:none}#wp-link-wrap.search-panel-visible{height:auto;margin-top:0;top:10px;bottom:10px}.search-panel-visible #link-selector{overflow:auto}.search-panel-visible #search-panel .query-results{position:static}}@media screen and (max-height:290px){#wp-link-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto;height:-webkit-calc(100% - 92px);height:calc(100% - 92px);padding-bottom:2px}#search-panel .query-results{position:static}}.fullscreen-overlay{z-index:100005;display:none;position:fixed;top:0;bottom:0;left:0;right:0;-webkit-filter:inherit;filter:inherit}.wp-fullscreen-active #wp-fullscreen-body,.wp-fullscreen-active .fullscreen-overlay{display:block}.fullscreen-fader{z-index:200000}.wp-core-ui.wp-fullscreen-active .postbox-container,.wp-fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body,.mce-fullscreen{z-index:100010}#wp-fullscreen-body{display:none}.wp-fullscreen-wrap{margin:0;padding:0;position:absolute;left:0;right:0;bottom:30px;top:60px;z-index:100015}#wp-fullscreen-central-toolbar,.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%}.wp-fullscreen-active .mce-statusbar,.wp-fullscreen-active .mce-toolbar-grp,.wp-fullscreen-active .quicktags-toolbar,.wp-fullscreen-active .wp-editor-tools{display:none}#wp-fullscreen-statusbar{position:fixed;left:0;right:0;bottom:0;height:30px;z-index:100020;background:#fff;-webkit-transition:height .2s;transition:height .2s}#wp-fullscreen-status{margin:0 auto;padding:0}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title,.wp-fullscreen-active .wp-fullscreen-title:focus{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color .4s;transition:border-color .4s}.wp-fullscreen-active .wp-editor-container{margin:0 auto 40px}.wp-fullscreen-active .wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:0;padding:3px 7px;margin:10px auto 30px;display:block}#wp-fullscreen-tagline{color:#888;font-size:18px;float:right;padding:4px 0 0}#fullscreen-topbar{background:#f5f5f5;border-bottom:1px solid #dedede;height:45px;position:fixed;left:0;right:0;top:0;width:100%;z-index:100020;-webkit-transition:opacity .4s;transition:opacity .4s}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;margin:0 auto}#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-mode-bar{float:left}#wp-fullscreen-count,#wp-fullscreen-tagline{display:inline-block}#wp-fullscreen-button-bar{margin-top:2px}#wp-fullscreen-save{float:right;padding:2px 0 0;min-width:95px}#wp-fullscreen-close,#wp-fullscreen-count{padding:5px 0 0}#wp-fullscreen-central-toolbar{margin:auto;padding:0;min-width:620px}#wp-fullscreen-buttons>div{float:left}#wp-fullscreen-mode-bar{padding:3px 14px 0 0}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}#wp-fullscreen-buttons .mce-btn button{margin:0;outline:0;border:0;white-space:nowrap;width:auto;background:0 0;color:#333;cursor:pointer;font-size:18px;line-height:20px;overflow:visible;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save span{display:none;margin:5px 6px 0;float:left}.wp-fullscreen-active #TB_overlay{z-index:100050}.wp-fullscreen-active #TB_window{z-index:100051}.fullscreen-overlay{background:#fff}.wp-fullscreen-active #fullscreen-topbar{-webkit-transition-duration:.8s;transition-duration:.8s;opacity:0;filter:alpha(opacity=0)}.wp-fullscreen-active #wp-fullscreen-statusbar{height:0}.wp-fullscreen-active.wp-dfw-show-ui #fullscreen-topbar{-webkit-transition-duration:.4s;transition-duration:.4s;opacity:1;filter:alpha(opacity=100)}.wp-fullscreen-active.wp-dfw-show-ui #wp-fullscreen-statusbar{height:29px;background:#f8f8f8;border-top:1px solid #eee}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title{-webkit-transition-duration:.8s;transition-duration:.8s;border-color:transparent}.wp-fullscreen-active.wp-dfw-show-ui .wp-editor-container,.wp-fullscreen-active.wp-dfw-show-ui .wp-fullscreen-title{-webkit-transition-duration:.4s;transition-duration:.4s;border-color:#ccc}.fade-1000,.fade-300,.fade-400,.fade-600{opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-1000{-webkit-transition-duration:1s;transition-duration:1s}.fade-600{-webkit-transition-duration:.6s;transition-duration:.6s}.fade-400{-webkit-transition-duration:.4s;transition-duration:.4s}.fade-300{-webkit-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.wp-dfw-touch #fullscreen-topbar{position:absolute;opacity:1}.wp-dfw-touch .wp-fullscreen-title,.wp-dfw-touch .wp-fullscreen-wrap .wp-editor-container{max-width:700px}.wp-fullscreen-active.wp-dfw-touch .wp-editor-container,.wp-fullscreen-active.wp-dfw-touch .wp-fullscreen-title{border-color:#ccc}.wp-dfw-touch #wp-fullscreen-statusbar{height:30px}@media screen and (max-width:782px){#wp-fullscreen-button-bar,#wp-fullscreen-central-toolbar,#wp-fullscreen-close,#wp-fullscreen-mode-bar,#wp-fullscreen-save{display:inline-block}#fullscreen-topbar{height:85px}#wp-fullscreen-central-toolbar{width:auto!important;min-width:0}#wp-fullscreen-close{line-height:30px;vertical-align:top;padding:0 12px}#wp-fullscreen-button-bar{position:absolute;top:45px;left:0}.wp-fullscreen-wrap{top:95px}#wp-fullscreen-save{position:absolute;right:10px}}@media screen and (max-width:480px){#wp_fs_help{display:none}.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{width:480px!important}body.wp-fullscreen-active{width:480px;overflow:auto}#fullscreen-topbar,.wp-fullscreen-wrap{width:480px}#fullscreen-topbar{position:absolute}#wp-fullscreen-status{width:auto!important;max-width:100%;padding:0 10px}}.rtl .quicktags-toolbar input,.rtl .wp-switch-editor{font-family:Tahoma,sans-serif}.mce-rtl .mce-flow-layout .mce-flow-layout-item>div{direction:rtl}.mce-rtl .mce-listbox i.mce-caret{left:6px}html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .wp-switch-editor{font-family:Arial,sans-serif}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#wp-fullscreen-buttons #wp_fs_image span.mce_image,.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
diff --git a/wp-includes/css/jquery-ui-dialog-rtl.css b/wp-includes/css/jquery-ui-dialog-rtl.css
index 24e2c8bec..b40887761 100644
--- a/wp-includes/css/jquery-ui-dialog-rtl.css
+++ b/wp-includes/css/jquery-ui-dialog-rtl.css
@@ -181,11 +181,16 @@
 	color: #555;
 	border-color: #cccccc;
 	background: #f7f7f7;
-	-webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
-	box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
+	-webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
+	box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
 	vertical-align: top;
 }
 
+.ui-button:active,
+.ui-button:focus {
+	outline: none;
+}
+
 /* Remove the dotted border on :focus and the extra padding in Firefox */
 .ui-button::-moz-focus-inner {
 	border-width: 1px 0;
@@ -194,24 +199,28 @@
 	padding: 0;
 }
 
-.ui-button:hover {
+.ui-button:hover,
+.ui-button:focus {
 	background: #fafafa;
 	border-color: #999;
 	color: #222;
 }
 
 .ui-button:focus {
-	-webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.2);
-	box-shadow: 1px 1px 1px rgba(0,0,0,.2);
+	-webkit-box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba( 30, 140, 190, 0.8 );
+	box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba( 30, 140, 190, 0.8 );
 }
 
 .ui-button:active {
 	background: #eee;
 	border-color: #999;
 	color: #333;
- 	-webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
- 	box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
- 	outline: none;
+	-webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
+	box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
 }
 
 .ui-button[disabled],
diff --git a/wp-includes/css/jquery-ui-dialog-rtl.min.css b/wp-includes/css/jquery-ui-dialog-rtl.min.css
index e7b482937..67b4304ac 100644
--- a/wp-includes/css/jquery-ui-dialog-rtl.min.css
+++ b/wp-includes/css/jquery-ui-dialog-rtl.min.css
@@ -16,4 +16,4 @@
  * http://jquery.org/license
  *
  * http://docs.jquery.com/UI/Resizable#theming
- */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;right:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;right:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:9px;height:9px;right:-5px;bottom:-5px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-button{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.ui-button::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.ui-button:hover{background:#fafafa;border-color:#999;color:#222}.ui-button:focus{-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2)}.ui-button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);outline:0}.ui-button:disabled,.ui-button[disabled]{color:#aaa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}@media screen and (max-width:782px){.ui-button{padding:10px 14px;line-height:1;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}}.ui-dialog{position:absolute;top:0;right:0;z-index:100102;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}.ui-dialog-titlebar{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px}.ui-button.ui-dialog-titlebar-close{background:0 0;border:0;-webkit-box-shadow:none;box-shadow:none;color:#666;cursor:pointer;display:block;padding:0;position:absolute;top:0;left:0;width:36px;height:36px;text-align:center}.ui-dialog-titlebar-close:before{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:36px;width:36px;height:36px;content:'\f158'}.ui-button.ui-dialog-titlebar-close:hover{color:#2ea2cc}.ui-dialog-titlebar-close .ui-button-text{display:none}.ui-dialog-content{padding:16px;overflow:auto}.ui-dialog-buttonpane{background:#fcfcfc;border-top:1px solid #dfdfdf;padding:16px}.ui-dialog-buttonpane .ui-button{margin-right:16px}.ui-dialog-buttonpane .ui-dialog-buttonset{float:left}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-widget-overlay{position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100101}
\ No newline at end of file
+ */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;right:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;right:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:9px;height:9px;right:-5px;bottom:-5px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-button{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.ui-button:active,.ui-button:focus{outline:0}.ui-button::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.ui-button:focus,.ui-button:hover{background:#fafafa;border-color:#999;color:#222}.ui-button:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ui-button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.ui-button:disabled,.ui-button[disabled]{color:#aaa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}@media screen and (max-width:782px){.ui-button{padding:10px 14px;line-height:1;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}}.ui-dialog{position:absolute;top:0;right:0;z-index:100102;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}.ui-dialog-titlebar{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px}.ui-button.ui-dialog-titlebar-close{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;color:#666;cursor:pointer;display:block;padding:0;position:absolute;top:0;left:0;width:36px;height:36px;text-align:center}.ui-dialog-titlebar-close:before{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:36px;width:36px;height:36px;content:'\f158'}.ui-button.ui-dialog-titlebar-close:hover{color:#2ea2cc}.ui-dialog-titlebar-close .ui-button-text{display:none}.ui-dialog-content{padding:16px;overflow:auto}.ui-dialog-buttonpane{background:#fcfcfc;border-top:1px solid #dfdfdf;padding:16px}.ui-dialog-buttonpane .ui-button{margin-right:16px}.ui-dialog-buttonpane .ui-dialog-buttonset{float:left}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-widget-overlay{position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100101}
\ No newline at end of file
diff --git a/wp-includes/css/jquery-ui-dialog.css b/wp-includes/css/jquery-ui-dialog.css
index 94c655ff3..78e974165 100644
--- a/wp-includes/css/jquery-ui-dialog.css
+++ b/wp-includes/css/jquery-ui-dialog.css
@@ -181,11 +181,16 @@
 	color: #555;
 	border-color: #cccccc;
 	background: #f7f7f7;
-	-webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
-	box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
+	-webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
+	box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
 	vertical-align: top;
 }
 
+.ui-button:active,
+.ui-button:focus {
+	outline: none;
+}
+
 /* Remove the dotted border on :focus and the extra padding in Firefox */
 .ui-button::-moz-focus-inner {
 	border-width: 1px 0;
@@ -194,24 +199,28 @@
 	padding: 0;
 }
 
-.ui-button:hover {
+.ui-button:hover,
+.ui-button:focus {
 	background: #fafafa;
 	border-color: #999;
 	color: #222;
 }
 
 .ui-button:focus {
-	-webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.2);
-	box-shadow: 1px 1px 1px rgba(0,0,0,.2);
+	-webkit-box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba( 30, 140, 190, 0.8 );
+	box-shadow:
+		0 0 0 1px #5b9dd9,
+		0 0 2px 1px rgba( 30, 140, 190, 0.8 );
 }
 
 .ui-button:active {
 	background: #eee;
 	border-color: #999;
 	color: #333;
- 	-webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
- 	box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
- 	outline: none;
+	-webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
+	box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
 }
 
 .ui-button[disabled],
diff --git a/wp-includes/css/jquery-ui-dialog.min.css b/wp-includes/css/jquery-ui-dialog.min.css
index 51f392265..2f9d67e6e 100644
--- a/wp-includes/css/jquery-ui-dialog.min.css
+++ b/wp-includes/css/jquery-ui-dialog.min.css
@@ -16,4 +16,4 @@
  * http://jquery.org/license
  *
  * http://docs.jquery.com/UI/Resizable#theming
- */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:9px;height:9px;right:-5px;bottom:-5px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-button{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.ui-button::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.ui-button:hover{background:#fafafa;border-color:#999;color:#222}.ui-button:focus{-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2)}.ui-button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);outline:0}.ui-button:disabled,.ui-button[disabled]{color:#aaa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}@media screen and (max-width:782px){.ui-button{padding:10px 14px;line-height:1;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}}.ui-dialog{position:absolute;top:0;left:0;z-index:100102;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}.ui-dialog-titlebar{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px}.ui-button.ui-dialog-titlebar-close{background:0 0;border:0;-webkit-box-shadow:none;box-shadow:none;color:#666;cursor:pointer;display:block;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center}.ui-dialog-titlebar-close:before{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:36px;width:36px;height:36px;content:'\f158'}.ui-button.ui-dialog-titlebar-close:hover{color:#2ea2cc}.ui-dialog-titlebar-close .ui-button-text{display:none}.ui-dialog-content{padding:16px;overflow:auto}.ui-dialog-buttonpane{background:#fcfcfc;border-top:1px solid #dfdfdf;padding:16px}.ui-dialog-buttonpane .ui-button{margin-left:16px}.ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-widget-overlay{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100101}
\ No newline at end of file
+ */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:9px;height:9px;right:-5px;bottom:-5px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-button{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.ui-button:active,.ui-button:focus{outline:0}.ui-button::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.ui-button:focus,.ui-button:hover{background:#fafafa;border-color:#999;color:#222}.ui-button:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ui-button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.ui-button:disabled,.ui-button[disabled]{color:#aaa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}@media screen and (max-width:782px){.ui-button{padding:10px 14px;line-height:1;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}}.ui-dialog{position:absolute;top:0;left:0;z-index:100102;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}.ui-dialog-titlebar{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px}.ui-button.ui-dialog-titlebar-close{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;color:#666;cursor:pointer;display:block;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center}.ui-dialog-titlebar-close:before{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:36px;width:36px;height:36px;content:'\f158'}.ui-button.ui-dialog-titlebar-close:hover{color:#2ea2cc}.ui-dialog-titlebar-close .ui-button-text{display:none}.ui-dialog-content{padding:16px;overflow:auto}.ui-dialog-buttonpane{background:#fcfcfc;border-top:1px solid #dfdfdf;padding:16px}.ui-dialog-buttonpane .ui-button{margin-left:16px}.ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-widget-overlay{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100101}
\ No newline at end of file
diff --git a/wp-includes/css/media-views-rtl.css b/wp-includes/css/media-views-rtl.css
index e692a7888..d19093981 100644
--- a/wp-includes/css/media-views-rtl.css
+++ b/wp-includes/css/media-views-rtl.css
@@ -16,7 +16,6 @@
 .media-frame input,
 .media-frame textarea {
 	padding: 6px 8px;
-	line-height: 16px;
 }
 
 .media-frame select,
@@ -65,6 +64,17 @@
 	border-color: #dfdfdf;
 }
 
+.media-frame input[type="text"]:focus,
+.media-frame input[type="password"]:focus,
+.media-frame input[type="number"]:focus,
+.media-frame input[type="search"]:focus,
+.media-frame input[type="email"]:focus,
+.media-frame input[type="url"]:focus,
+.media-frame textarea:focus,
+.media-frame select:focus {
+	border-color: #5b9dd9;
+}
+
 .media-frame select {
 	height: 24px;
 	padding: 2px;
@@ -141,19 +151,27 @@
 .media-modal-close {
 	position: absolute;
 	text-decoration: none;
-	top: 5px;
+	top: 10px;
 	left: 10px;
 	width: 30px;
 	height: 30px;
 	z-index: 1000;
+	-webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
+	transition: color .1s ease-in-out, background .1s ease-in-out;
+}
+
+.media-modal-close:active {
+	-webkit-box-shadow: none;
+	box-shadow: none;
 }
 
 .media-modal-close span.media-modal-icon {
 	display: block;
-	margin: 8px auto 0;
-	width: 15px;
+	margin-top: 5px;
+	width: 30px;
 	height: 15px;
 	background-image: none;
+	text-align: center;
 }
 
 .media-modal-close .media-modal-icon:before {
@@ -228,7 +246,6 @@
 .media-toolbar-secondary > .media-button,
 .media-toolbar-secondary > .media-button-group {
 	margin-left: 10px;
-	float: right;
 	margin-top: 15px;
 }
 
@@ -280,64 +297,106 @@
 	margin: 24px 0 8px;
 }
 
-.media-sidebar .setting {
+.media-sidebar .setting,
+.attachment-details .setting {
 	display: block;
 	float: right;
 	width: 100%;
 	margin: 1px 0;
 }
 
-.media-sidebar .setting label {
+.media-sidebar .setting label,
+.attachment-details .setting label {
 	display: block;
 }
 
-.media-sidebar .setting .link-to-custom {
-	margin: 3px 0;
+.media-sidebar .setting .link-to-custom,
+.attachment-details .setting .link-to-custom {
+	margin: 3px 2px 0;
 }
 
-.media-sidebar .setting span {
+.media-sidebar .setting span,
+.attachment-details .setting span {
 	min-width: 30%;
 	margin-left: 4%;
 	font-size: 12px;
+	text-align: left;
 }
 
-.media-sidebar .setting select {
+.media-sidebar .setting select,
+.attachment-details .setting select {
 	max-width: 65%;
 }
 
 .media-sidebar .setting input[type="checkbox"],
-.media-sidebar .field input[type="checkbox"] {
-	width: 16px;
+.media-sidebar .field input[type="checkbox"],
+.media-sidebar .setting input[type="radio"],
+.media-sidebar .field input[type="radio"],
+.attachment-details .setting input[type="checkbox"],
+.attachment-details .field input[type="checkbox"],
+.attachment-details .setting input[type="radio"],
+.attachment-details .field input[type="radio"] {
 	float: none;
 	margin: 8px 3px 0;
 	padding: 0;
 }
 
 .media-sidebar .setting span,
+.attachment-details .setting span,
 .compat-item label span {
 	float: right;
 	min-height: 22px;
 	padding-top: 8px;
 	line-height: 16px;
-	text-align: left;
 	font-weight: normal;
 	color: #666;
 }
 
-.media-sidebar .setting input,
-.media-sidebar .setting textarea {
+.compat-item label span  {
+	text-align: left;
+}
+
+.media-sidebar .setting input[type="text"],
+.media-sidebar .setting input[type="password"],
+.media-sidebar .setting input[type="email"],
+.media-sidebar .setting input[type="number"],
+.media-sidebar .setting input[type="search"],
+.media-sidebar .setting input[type="tel"],
+.media-sidebar .setting input[type="url"],
+.media-sidebar .setting textarea,
+.media-sidebar .setting .value,
+.attachment-details .setting input[type="text"],
+.attachment-details .setting input[type="password"],
+.attachment-details .setting input[type="email"],
+.attachment-details .setting input[type="number"],
+.attachment-details .setting input[type="search"],
+.attachment-details .setting input[type="tel"],
+.attachment-details .setting input[type="url"],
+.attachment-details .setting textarea,
+.attachment-details .setting .value {
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
 	margin: 1px;
 	width: 65%;
 	float: left;
 }
 
+.media-sidebar .setting .value,
+.attachment-details .setting .value {
+	margin: 0 1px;
+	text-align: right;
+}
+
 .media-sidebar .setting textarea,
+.attachment-details .setting textarea,
 .compat-item .field textarea {
 	height: 62px;
 	resize: vertical;
 }
 
-.media-sidebar select {
+.media-sidebar select,
+.attachment-details select {
 	margin-top: 3px;
 }
 
@@ -384,11 +443,23 @@
 	width: 66%;
 }
 
-.compat-item .field input {
+.compat-item .field input[type="text"],
+.compat-item .field input[type="password"],
+.compat-item .field input[type="email"],
+.compat-item .field input[type="number"],
+.compat-item .field input[type="search"],
+.compat-item .field input[type="tel"],
+.compat-item .field input[type="url"] {
 	width: 100%;
 	margin: 0;
 }
 
+.sidebar-for-errors .attachment-details,
+.sidebar-for-errors .compat-item,
+.sidebar-for-errors .media-sidebar .media-progress-bar,
+.sidebar-for-errors .upload-details {
+	display: none !important;
+}
 
 /**
  * Menu
@@ -400,7 +471,7 @@
 	left: 0;
 	bottom: 0;
 	margin: 0;
-	padding: 16px 0;
+	padding: 10px 0;
 	background: #f3f3f3;
 	border-left-width: 1px;
 	border-left-style: solid;
@@ -478,8 +549,7 @@
 	border-left: 0;
 }
 
-.media-router > a:active,
-.media-router > a:focus {
+.media-router > a:active {
 	outline: none;
 }
 
@@ -526,13 +596,13 @@
 	top: 0;
 	right: 200px;
 	left: 0;
-	height: 56px;
+	height: 50px;
 	z-index: 200;
 }
 
 .media-frame-router {
 	position: absolute;
-	top: 56px;
+	top: 50px;
 	right: 200px;
 	left: 0;
 	height: 36px;
@@ -541,7 +611,7 @@
 
 .media-frame-content {
 	position: absolute;
-	top: 90px;
+	top: 84px;
 	right: 200px;
 	left: 0;
 	bottom: 61px;
@@ -583,7 +653,7 @@
 }
 
 .media-frame.hide-router .media-frame-content {
-	top: 56px;
+	top: 50px;
 }
 
 .media-frame.hide-router .media-frame-router {
@@ -596,10 +666,14 @@
 	box-shadow: 0 4px 4px -4px rgba( 0, 0, 0, 0.1 );
 }
 
+.media-frame-title .dashicons {
+	display: none;
+}
+
 .media-frame-title h1 {
 	padding: 0 16px;
 	font-size: 22px;
-	line-height: 60px;
+	line-height: 50px;
 	margin: 0;
 }
 
@@ -659,7 +733,6 @@
 .media-frame .search {
 	margin-top: 11px;
 	padding: 4px;
-	line-height: 18px;
 	font-size: 13px;
 	color: #464646;
 	font-family: "Open Sans", sans-serif;
@@ -675,7 +748,6 @@
  */
 .attachments {
 	margin: 0;
-	padding-left: 16px;
 	-webkit-overflow-scrolling: touch;
 }
 
@@ -685,30 +757,54 @@
 .attachment {
 	position: relative;
 	float: right;
-	padding: 0;
-	margin: 0 10px 20px;
+	padding: 8px;
+	margin: 0;
 	color: #464646;
+	cursor: pointer;
 	list-style: none;
 	text-align: center;
 	-webkit-user-select: none;
 	-moz-user-select: none;
 	-ms-user-select: none;
 	user-select: none;
+	width: 25%;
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
+
+.attachment:focus,
+.selected.attachment:focus,
+.attachment.details:focus {
+	-webkit-box-shadow:
+		inset 0 0 2px 3px #fff,
+		inset 0 0 0 7px #5b9dd9;
+	box-shadow:
+		inset 0 0 2px 3px #fff,
+		inset 0 0 0 7px #5b9dd9;
+	outline: none;
 }
 
 .selected.attachment {
 	-webkit-box-shadow:
-		0 0 0 1px #fff,
-		0 0 0 3px #ccc;
+		inset 0 0 0 5px #fff,
+		inset 0 0 0 7px #ccc;
 	box-shadow:
-		0 0 0 1px #fff,
-		0 0 0 3px #ccc;
+		inset 0 0 0 5px #fff,
+		inset 0 0 0 7px #ccc;
+}
+
+.attachment.details {
+	-webkit-box-shadow:
+		inset 0 0 0 3px #fff,
+		inset 0 0 0 7px #1e8cbe;
+	box-shadow:
+		inset 0 0 0 3px #fff,
+		inset 0 0 0 7px #1e8cbe;
 }
 
 .attachment-preview {
 	position: relative;
-	width: 199px;
-	height: 199px;
 	-webkit-box-shadow:
 		inset 0 0 15px rgba( 0, 0, 0, 0.1 ),
 		inset 0 0 0 1px rgba( 0, 0, 0, 0.05 );
@@ -719,24 +815,38 @@
 	cursor: pointer;
 }
 
+.attachment-preview:before {
+	content: '';
+	display: block;
+	padding-top: 100%;
+}
+
 .attachment .icon {
 	margin: 0 auto;
 	overflow: hidden;
-	padding-top: 20%;
 }
 
 .attachment .thumbnail {
-	display: block;
+	overflow: hidden;
 	position: absolute;
 	top: 0;
+	left: 0;
+	bottom: 0;
 	right: 0;
-	margin: 0 auto;
-	overflow: hidden;
+	opacity: 1;
+	-webkit-transition: opacity .1s;
+	transition: opacity .1s;
+}
+
+.attachment .portrait img {
 	max-width: 100%;
+}
+
+.attachment .landscape img {
 	max-height: 100%;
 }
 
-.attachment-preview .thumbnail:after {
+.attachment .thumbnail:after {
 	content: '';
 	display: block;
 	position: absolute;
@@ -763,16 +873,27 @@
 	width: 100%;
 	height: 100%;
 	-webkit-transform: translate( 50%, 50% );
-	-ms-transform: translate( 50%, 50% );
+	-ms-transform: translate(50%,50%); /* Fails with spaces?? Weird! */
 	transform: translate( 50%, 50% );
 }
 
 .attachment .thumbnail .centered img {
 	-webkit-transform: translate( -50%, -50% );
-	-ms-transform: translate( -50%, -50% );
+	-ms-transform: translate(-50%,-50%);
 	transform: translate( -50%, -50% );
 }
 
+.attachment .thumbnail .centered img.icon {
+	-webkit-transform: translate( -50%, -70% );
+	-ms-transform: translate(-50%,-70%);
+	transform: translate( -50%, -70% );
+}
+
+.ie8 .attachment img.icon {
+	top: 20%;
+	position: relative;
+}
+
 .attachment .filename {
 	position: absolute;
 	right: 0;
@@ -780,7 +901,6 @@
 	bottom: 0;
 	overflow: hidden;
 	max-height: 100%;
-
 	word-wrap: break-word;
 	text-align: center;
 	font-weight: bold;
@@ -793,11 +913,6 @@
 	padding: 5px 10px;
 }
 
-.attachment-preview .thumbnail {
-	width: 199px;
-	height: 199px;
-}
-
 .attachment .thumbnail img {
 	position: absolute;
 }
@@ -838,12 +953,13 @@
 	height: 24px;
 	width: 24px;
 	position: absolute;
-	top: -6px;
-	left: -6px;
+	z-index: 10;
+	top: 0;
+	left: 0;
 	outline: none;
 	background: #eee;
-	-webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba( 0, 0, 0, 0.4 );
-	box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba( 0, 0, 0, 0.4 );
+	-webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba( 0, 0, 0, 0.15 );
+	box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba( 0, 0, 0, 0.15 );
 }
 
 .attachment .check div {
@@ -861,26 +977,26 @@
 	display: block;
 }
 
-.attachment.details {
-	-webkit-box-shadow: 0 0 0 1px #fff,
-				0 0 0 5px #1e8cbe;
-	box-shadow: 0 0 0 1px #fff,
-				0 0 0 5px #1e8cbe;
-}
-
-.attachment.details .check {
+.attachment.details .check,
+.attachment.selected .check:focus,
+.media-frame.mode-grid .attachment.selected .check {
 	background-color: #1e8cbe;
-	-webkit-box-shadow: 0 0 0 1px #fff,
-				0 0 0 2px #1e8cbe;
-	box-shadow: 0 0 0 1px #fff,
-				0 0 0 2px #1e8cbe;
+	-webkit-box-shadow:
+		0 0 0 1px #fff,
+		0 0 0 2px #1e8cbe;
+	box-shadow:
+		0 0 0 1px #fff,
+		0 0 0 2px #1e8cbe;
 }
 
-.attachment.details .check div {
+.attachment.details .check div,
+.media-frame.mode-grid .attachment.selected .check div {
 	background-position: -21px 0;
 }
 
-.attachment.details .check:hover div {
+.attachment.details .check:hover div,
+.attachment.selected .check:focus div,
+.media-frame.mode-grid .attachment.selected .check:hover div {
 	background-position: -60px 0;
 }
 
@@ -888,7 +1004,7 @@
 	position: relative;
 	display: block;
 	width: 100%;
-	margin: -1px 0 0;
+	margin: 0;
 	padding: 8px;
 	font-size: 12px;
 	-webkit-border-radius: 0;
@@ -910,11 +1026,19 @@
 	height: 50px;
 }
 
+.attachments-browser.hide-sidebar .media-toolbar {
+	left: 0;
+}
+
 .attachments-browser .media-toolbar-primary > .media-button,
 .attachments-browser .media-toolbar-primary > .media-button-group,
 .attachments-browser .media-toolbar-secondary > .media-button,
 .attachments-browser .media-toolbar-secondary > .media-button-group {
-	margin-top: 10px;
+	margin: 11px 0;
+}
+
+.attachments-browser .attachments {
+	padding: 2px 8px 8px;
 }
 
 .attachments-browser .attachments,
@@ -925,6 +1049,38 @@
 	left: 300px;
 	bottom: 0;
 	overflow: auto;
+	outline: none;
+}
+
+.attachments-browser .uploader-inline.hidden {
+	display: none;
+}
+
+.uploader-inline .close {
+	background-color: transparent;
+	border: 0;
+	cursor: pointer;
+	height: 48px;
+	position: absolute;
+	left: 0;
+	text-align: center;
+	top: 0;
+	width: 50px;
+	z-index: 1;
+}
+
+.uploader-inline .close:before {
+	font: normal 30px/50px 'dashicons' !important;
+	color: #777;
+	display: inline-block;
+	content: '\f335';
+	font-weight: 300;
+}
+
+.attachments-browser.hide-sidebar .attachments,
+.attachments-browser.hide-sidebar .uploader-inline {
+	left: 0;
+	margin-left: 0;
 }
 
 .attachments-browser .instructions {
@@ -936,6 +1092,10 @@
 	margin-left: 0.5em;
 }
 
+.attachments-browser .no-media {
+	padding: 2em 2em 0 0;
+}
+
 /**
  * Progress Bar
  */
@@ -957,8 +1117,8 @@
 	background: #1e8cbe;
 	-webkit-border-radius: 10px;
 	border-radius: 10px;
-	-webkit-transition:         width 300ms;
-	transition:         width 300ms;
+	-webkit-transition: width 300ms;
+	transition: width 300ms;
 }
 
 .media-uploader-status .media-progress-bar {
@@ -987,8 +1147,6 @@
 
 .media-sidebar .media-uploader-status {
 	border-bottom: 1px solid #dfdfdf;
-	-webkit-box-shadow: 0 1px 0 #fff;
-	box-shadow: 0 1px 0 #fff;
 }
 
 .uploader-inline .media-uploader-status h3 {
@@ -1093,7 +1251,7 @@
 	right: 0;
 	left: 0;
 	-webkit-transform: translateY( -50% );
-	-ms-transform: translateY( -50% );
+	-ms-transform: translateY(-50%);
 	transform: translateY( -50% );
 	font-size: 40px;
 	color: #fff;
@@ -1117,8 +1275,8 @@
 }
 
 .media-frame .uploader-inline {
-	margin: 20px;
-	padding: 20px;
+	margin-bottom: 20px;
+	padding: 0;
 	text-align: center;
 }
 
@@ -1130,7 +1288,7 @@
 }
 
 .uploader-inline-content .upload-ui {
-	margin: 4em 0;
+	margin: 2em 0;
 }
 
 .uploader-inline-content .post-upload-ui {
@@ -1145,7 +1303,7 @@
 	font-size: 20px;
 	line-height: 28px;
 	font-weight: 400;
-	margin-bottom: 1.6em;
+	margin: 0;
 }
 
 .uploader-inline .has-upload-message .upload-instructions {
@@ -1164,6 +1322,7 @@
 
 .uploader-inline p {
 	font-size: 12px;
+	margin: 0.5em 0;
 }
 
 .uploader-inline .media-progress-bar {
@@ -1255,30 +1414,38 @@
 .media-selection .attachments {
 	display: inline-block;
 	height: 48px;
-	margin-top: 5px;
+	margin: 6px;
+	padding: 0;
 	overflow: hidden;
 	vertical-align: top;
 }
 
+.media-selection .attachment {
+	width: 48px;
+	padding: 0;
+	margin: 0;
+	-webkit-box-shadow: none;
+	box-shadow: none;
+}
+
+.media-selection .attachment .thumbnail {
+	top: 4px;
+	left: 4px;
+	bottom: 4px;
+	right: 4px;
+}
+
 .media-selection .attachment .icon {
 	width: 50%;
 }
 
-.attachment.selection.selected {
+.media-selection .attachment-preview {
 	-webkit-box-shadow: none;
 	box-shadow: none;
+	background: none;
 }
 
-.attachment.selection.details {
-	-webkit-box-shadow:
-		0 0 0 1px #fff,
-		0 0 0 4px #1e8cbe;
-	box-shadow:
-		0 0 0 1px #fff,
-		0 0 0 4px #1e8cbe;
-}
-
-.media-selection .attachment.selection.details {
+.media-selection .attachment.selection.details .thumbnail {
 	-webkit-box-shadow:
 		0 0 0 1px #fff,
 		0 0 0 3px #1e8cbe;
@@ -1307,7 +1474,6 @@
 /**
  * Spinner
  */
-
 .media-frame .spinner {
 	background: url(../images/spinner.gif) no-repeat;
 	-webkit-background-size: 20px 20px;
@@ -1324,35 +1490,34 @@
 	margin-top: 14px;
 }
 
-.media-sidebar .settings-save-status {
-	background: #f5f5f5;
+/**
+ * Attachment Details
+ */
+.attachment-details {
+	position: relative;
+	overflow: auto;
+}
+
+.attachment-details .settings-save-status {
 	float: left;
 	text-transform: none;
 	z-index: 10;
 }
 
-.media-sidebar .settings-save-status .spinner {
+.attachment-details .settings-save-status .spinner {
 	margin: 0 5px 0;
 }
 
-.media-sidebar .settings-save-status .saved {
+.attachment-details .settings-save-status .saved {
 	float: left;
 	display: none;
 }
 
-.media-sidebar .save-waiting .settings-save-status .spinner,
-.media-sidebar .save-complete .settings-save-status .saved {
+.attachment-details.save-waiting .settings-save-status .spinner,
+.attachment-details.save-complete .settings-save-status .saved {
 	display: block;
 }
 
-/**
- * Attachment Details
- */
-.attachment-details {
-	position: relative;
-	overflow: auto;
-}
-
 .attachment-info {
 	overflow: hidden;
 	min-height: 60px;
@@ -1390,7 +1555,7 @@
 	margin-top: 35px;
 }
 
-.attachment-info .thumbnail:after {
+.attachment-info .thumbnail-image:after {
 	content: '';
 	display: block;
 	position: absolute;
@@ -1419,7 +1584,8 @@
 .attachment-info .edit-attachment,
 .attachment-info .refresh-attachment,
 .attachment-info .delete-attachment,
-.attachment-info .trash-attachment {
+.attachment-info .trash-attachment,
+.attachment-info .untrash-attachment {
 	display: block;
 	text-decoration: none;
 	white-space: nowrap;
@@ -1435,13 +1601,15 @@
 	display: block;
 }
 
-.attachment-info .delete-attachment,
-.attachment-info .trash-attachment {
+.media-modal .delete-attachment,
+.media-modal .trash-attachment,
+.media-modal .untrash-attachment {
 	color: #bc0b0b;
 }
 
-.attachment-info .delete-attachment:hover,
-.attachment-info .trash-attachment:hover {
+.media-modal .delete-attachment:hover,
+.media-modal .trash-attachment:hover,
+.media-modal .untrash-attachment:hover {
 	color: red;
 }
 
@@ -1474,19 +1642,18 @@
 /**
  * Image Editor
  */
-
-.media-frame .imgedit-wrap {
+.media-modal .imgedit-wrap {
 	position: static;
 }
 
-.media-frame .imgedit-wait {
+.media-modal .imgedit-wait {
 	height: auto !important;
 	left: 0;
 	bottom: 0;
 	right: 0;
 }
 
-.media-frame .imgedit-wrap .imgedit-panel-content {
+.media-modal .imgedit-wrap .imgedit-panel-content {
 	padding: 16px;
 	position: absolute;
 	top: 0;
@@ -1496,7 +1663,7 @@
 	overflow: auto;
 }
 
-.media-frame .imgedit-wrap .imgedit-settings {
+.media-modal .imgedit-wrap .imgedit-settings {
 	background: #f3f3f3;
 	border-right: 1px solid #ddd;
 	padding: 0 16px 16px;
@@ -1508,7 +1675,7 @@
 	overflow: auto;
 }
 
-.media-frame .imgedit-group {
+.media-modal .imgedit-group {
 	background: none;
 	border: none;
 	border-bottom: 1px solid #ddd;
@@ -1518,15 +1685,16 @@
 	margin-bottom: 16px;
 	padding: 0;
 	padding-bottom: 16px;
+	position: relative; /* RTL fix, #WP29352 */
 }
 
-.media-frame .imgedit-group:last-of-type {
+.media-modal .imgedit-group:last-of-type {
 	border: none;
 	margin: 0;
 	padding: 0;
 }
 
-.media-frame .imgedit-group-top h3 {
+.media-modal .imgedit-group-top h3 {
 	text-transform: uppercase;
 	font-size: 12px;
 	color: #666;
@@ -1534,26 +1702,26 @@
 	margin-top: 24px;
 }
 
-.media-frame .imgedit-group-top h3 a {
+.media-modal .imgedit-group-top h3 a {
 	text-decoration: none;
 	color: #666;
 }
 
-.media-frame .imgedit-help-toggle {
+.media-modal .imgedit-help-toggle {
 	margin-top: -2px;
 	cursor: pointer;
 	color: #666;
 }
 
-.media-frame .imgedit-help-toggled span.dashicons:before {
+.media-modal .imgedit-help-toggled span.dashicons:before {
 	content: '\f142';
 }
 
-.media-frame .imgedit-group img {
+.media-modal .imgedit-group img {
 	margin-top: 5px;
 }
 
-.media-frame .imgedit-wrap div.updated {
+.media-modal .imgedit-wrap div.updated {
 	margin: 0;
 	margin-bottom: 16px;
 }
@@ -1583,7 +1751,7 @@
 
 .media-frame .embed-url .spinner {
 	position: absolute;
-	top: 16px;
+	top: 32px;
 	left: 26px;
 }
 
@@ -1594,7 +1762,7 @@
 .embed-link-settings,
 .embed-media-settings {
 	position: absolute;
-	top: 60px;
+	top: 70px;
 	right: 0;
 	left: 0;
 	bottom: 0;
@@ -1602,15 +1770,19 @@
 	overflow: auto;
 }
 
+.embed-preview img, .embed-preview iframe, .embed-preview embed {
+	max-width: 100%;
+}
+
+.embed-preview img {
+	height: auto;
+}
+
 .image-details .media-modal {
 	right: 140px;
 	left: 140px;
 }
 
-.image-details .media-frame-menu {
-	display: none;
-}
-
 .image-details .media-frame-title,
 .image-details .media-frame-content,
 .image-details .media-frame-router {
@@ -1623,11 +1795,18 @@
 	padding: 0;
 }
 
+.image-details .embed-media-settings,
+.image-details .embed-media-settings div {
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
+
 .image-details .column-settings {
 	background: #f3f3f3;
 	border-left: 1px solid #ddd;
 	min-height: 100%;
-	width: 52%;
+	width: 55%;
 	position: absolute;
 	top: 0;
 	right: 0;
@@ -1640,9 +1819,9 @@
 }
 
 .image-details .column-image {
-	width: 48%;
+	width: 45%;
 	position: absolute;
-	right: 52%;
+	right: 55%;
 	top: 0;
 }
 
@@ -1661,7 +1840,7 @@
 	display: block;
 }
 
-.image-details .advanced-toggle::after {
+.image-details .advanced-toggle:after {
 	font: normal 20px/1 'dashicons';
 	speak: none;
 	vertical-align: top;
@@ -1672,9 +1851,8 @@
 	margin-top: -2px;
 }
 
-.image-details .advanced-visible .advanced-toggle::after {
+.image-details .advanced-visible .advanced-toggle:after {
 	content: '\f142';
-	margin-top: 0;
 }
 
 .image-details .embed-media-settings .size {
@@ -1704,10 +1882,10 @@
 	margin: 26px 6px 0 6px;
 }
 
-.image-details .custom-size::after {
-    content: '';
+.image-details .custom-size:after {
+	content: '';
 	display: table;
-    clear: both;
+	clear: both;
 }
 
 .media-embed .thumbnail {
@@ -1858,7 +2036,7 @@
 	right: 0;
 	left: 0;
 	-webkit-transform: translateY( -50% );
-	-ms-transform: translateY( -50% );
+	-ms-transform: translateY(-50%);
 	transform: translateY( -50% );
 	font-size: 3em;
 	line-height: 1.3;
@@ -1912,7 +2090,13 @@
 	max-width: 55%;
 }
 
-.ie7 .media-sidebar .setting input,
+.ie7 .media-sidebar .setting input[type="text"],
+.ie7 .media-sidebar .setting input[type="password"],
+.ie7 .media-sidebar .setting input[type="email"],
+.ie7 .media-sidebar .setting input[type="number"],
+.ie7 .media-sidebar .setting input[type="search"],
+.ie7 .media-sidebar .setting input[type="tel"],
+.ie7 .media-sidebar .setting input[type="url"],
 .ie7 .media-sidebar .setting textarea {
 	width: 55%;
 }
@@ -1933,6 +2117,7 @@
 .rtl .media-frame input[type="search"],
 .rtl .media-frame input[type="email"],
 .rtl .media-frame input[type="url"],
+.rtl .media-frame input[type="tel"],
 .rtl .media-frame textarea,
 .rtl .media-frame select {
 	font-family: Tahoma, sans-serif;
@@ -1952,13 +2137,10 @@
 	font-family: Arial, sans-serif;
 }
 
-
-
-
-@media only screen and (max-width: 960px) {
+@media only screen and (max-width: 940px) {
 	.media-frame-content .media-toolbar-primary .search,
 	.media-frame-content .media-toolbar-secondary .attachment-filters {
-		max-width: 120px;
+		max-width: 134px;
 	}
 }
 
@@ -1966,56 +2148,134 @@
  * Responsive layout
  */
 @media only screen and (max-width: 900px) {
-	.media-frame-menu {
-		width: 139px;
+
+	/* Drop-down menu */
+	.media-frame:not(.hide-menu) .media-frame-title,
+	.media-frame:not(.hide-menu) .media-frame-router,
+	.media-frame:not(.hide-menu) .media-frame-content,
+	.media-frame:not(.hide-menu) .media-frame-toolbar {
+		right: 0;
 	}
 
-	.media-menu > a {
-		padding: 4px 5px;
+	.media-frame:not(.hide-menu) .media-frame-menu {
+		position: static;
+		width: 0;
 	}
 
-	.media-frame-title,
-	.media-frame-router,
-	.media-frame-content,
-	.media-frame-toolbar {
-		right: 140px;
+	.media-frame:not(.hide-menu) .media-menu {
+		width: auto;
+		max-width: 80%;
+		overflow: auto;
+		z-index: 2000;
+		top: 50px;
+		right: -300px;
+		left: auto;
+		bottom: auto;
+		padding: 5px 0;
+		border: 1px solid #ccc;
+	}
+
+	.media-frame:not(.hide-menu) .media-menu.visible {
+		right: 0;
+	}
+
+	.media-frame:not(.hide-menu) .media-menu > a {
+		padding: 12px 16px;
+		font-size: 16px;
+	}
+
+	.media-frame:not(.hide-menu) .media-menu > a.active {
+		display: none;
+	}
+
+	.media-frame:not(.hide-menu) .media-menu .separator {
+		margin: 5px 10px;
 	}
 
+	.media-frame:not(.hide-menu) .media-frame-title {
+		right: 0;
+		color: #21759b;
+	}
+
+	.media-frame:not(.hide-menu) .media-frame-title .dashicons {
+		display: inline-block;
+		line-height: 50px;
+	}
+
+	.media-frame:not(.hide-menu) .media-frame-title h1 {
+		line-height: 3;
+		font-size: 18px;
+		float: right;
+		cursor: pointer;
+	}
+	/* End drop-down menu */
+
 	.media-sidebar {
-		width: 159px;
-		padding: 0 10px 24px;
+		width: 230px;
 	}
 
 	.attachments-browser .attachments,
 	.attachments-browser .uploader-inline,
 	.attachments-browser .media-toolbar {
-		left: 180px;
+		left: 262px;
+	}
+
+	.media-sidebar .setting,
+	.attachment-details .setting {
+		margin: 6px 0px;
 	}
 
 	.media-sidebar .setting input,
 	.media-sidebar .setting textarea,
 	.media-sidebar .setting span,
+	.attachment-details .setting input,
+	.attachment-details .setting textarea,
+	.attachment-details .setting span,
 	.compat-item label span {
 		float: none;
 	}
 
 	.media-sidebar .setting span,
+	.attachment-details .setting span,
 	.compat-item label span {
 		text-align: inherit;
-		display: block;
 		min-height: 16px;
 		margin: 0;
 		padding: 8px 2px 0;
 	}
 
-	.media-sidebar .setting input,
+	.media-sidebar .setting .value,
+	.attachment-details .setting .value {
+		float: none;
+		width: auto;
+	}
+
+	.media-sidebar .setting input[type="text"],
+	.media-sidebar .setting input[type="password"],
+	.media-sidebar .setting input[type="email"],
+	.media-sidebar .setting input[type="number"],
+	.media-sidebar .setting input[type="search"],
+	.media-sidebar .setting input[type="tel"],
+	.media-sidebar .setting input[type="url"],
 	.media-sidebar .setting textarea,
-	.media-sidebar .setting select {
+	.media-sidebar .setting select,
+	.attachment-details .setting input[type="text"],
+	.attachment-details .setting input[type="password"],
+	.attachment-details .setting input[type="email"],
+	.attachment-details .setting input[type="number"],
+	.attachment-details .setting input[type="search"],
+	.attachment-details .setting input[type="tel"],
+	.attachment-details .setting input[type="url"],
+	.attachment-details .setting textarea,
+	.attachment-details .setting select {
+		float: none;
 		width: 98%;
 		max-width: none;
+		height: auto;
 	}
 
-	.media-sidebar .setting select.columns {
+	.media-sidebar .setting select.columns,
+	.attachment-details .setting select.columns {
 		width: auto;
 	}
 
@@ -2025,8 +2285,13 @@
 		padding: 3px 6px;
 	}
 
-	.media-frame-content .attachment .icon {
-		top: 40%;
+	.image-details .column-image {
+		width: 30%;
+		right: 70%;
+	}
+
+	.image-details .column-settings {
+		width: 70%;
 	}
 
 	.image-details .media-modal {
@@ -2056,6 +2321,10 @@
 		margin-right: 20px;
 	}
 
+	.collection-settings .setting input[type="checkbox"] {
+		margin-top: 0;
+	}
+
 	.media-selection {
 		min-width: 120px;
 	}
@@ -2068,12 +2337,27 @@
 		display: none;
 	}
 
-	.media-menu .separator {
-		margin: 12px 10px;
+	.media-modal .attachments-browser .media-toolbar-primary,
+	.media-modal .attachments-browser .media-toolbar-secondary {
+		width: 50%;
 	}
 
-	.media-modal-close {
-		left: 10px;
+	.media-modal .attachments-browser .media-toolbar .search {
+		max-width: 100%;
+		height: auto;
+		float: left;
+	}
+
+	.media-modal .attachments-browser .media-toolbar .attachment-filters {
+		margin: 11px 0 0;
+		height: auto;
+		max-width: 65%;
+		max-width: -webkit-calc(100% - 38px);
+		max-width: calc(100% - 38px);
+	}
+
+	.media-modal .attachments-browser .media-toolbar .spinner {
+		margin: 14px 8px 0;
 	}
 
 	/* Text inputs need to be 16px, or they force zooming on iOS */
@@ -2091,37 +2375,38 @@
 
 /* Responsive on portrait and landscape */
 @media only screen and (max-width: 640px), screen and (max-height: 400px) {
-
-	/* Media tabs on the top */
-	.media-frame-content .media-toolbar .instructions {
-		display: none;
+	/* Full-bleed modal */
+	.media-modal,
+	.image-details .media-modal {
+		position: fixed;
+		top: 0;
+		right: 0;
+		left: 0;
+		bottom: 0;
 	}
 
-	.media-frame-menu {
-		width: auto;
-		bottom: auto;
-		left: 0;
-		height: 60px;
+	.media-modal-backdrop {
+		position: fixed;
 	}
 
-	.media-menu {
-		border-left: none;
-		position: relative;
-		border-bottom: 1px solid #dddddd;
-		overflow: hidden;
-		padding: 10px 10px 10px 0;
+	.media-sidebar {
+		z-index: 1900;
+		max-width: 70%;
+		bottom: 120%;
+		-webkit-box-sizing: border-box;
+		-moz-box-sizing: border-box;
+		box-sizing: border-box;
+		padding-bottom: 0;
 	}
 
-	.media-menu a {
-		float: right;
-		width: 42%;
-		white-space: nowrap;
-		text-overflow: ellipsis;
-		overflow: hidden;
+	.media-sidebar.visible {
+		bottom: 0;
 	}
 
-	.media-frame-title {
-		display: none;
+	.attachments-browser .attachments,
+	.attachments-browser .uploader-inline,
+	.attachments-browser .media-toolbar {
+		left: 0;
 	}
 
 	.image-details .media-frame-title {
@@ -2130,223 +2415,149 @@
 		font-size: 14px;
 	}
 
-	.media-frame-toolbar {
-		position: absolute;
-		bottom: 0px;
-		right: 0;
-		left: 0;
-		background: #FFF;
-		border-top: 1px solid #DEDEDE;
-	}
-
-	.media-toolbar {
+	.image-details .column-image,
+	.image-details .column-settings {
+		width: 100%;
 		position: relative;
+		right: 0;
 	}
 
-	.media-frame {
-		overflow: hidden;
-	}
-
-	.attachments-browser .attachments {
-		top: 42px;
-	}
-
-	.attachment-details h3 {
-		margin-top: 45px;
-	}
-
-	/* Shorten right-side links so they don't overlap the close button */
-	.media-menu a:nth-child(2),
-	.media-menu a:last-child {
-		width: 40%;
+	.image-details .column-settings {
+		padding: 4px 0;
 	}
 
-	.media-menu .separator {
+	/* Media tabs on the top */
+	.media-frame-content .media-toolbar .instructions {
 		display: none;
 	}
+}
 
-	.media-frame-title {
-		top: 72px;
-		right: auto;
-		height: auto;
-	}
-
-	.media-frame-title h1 {
-		line-height: 3;
-		font-size: 18px;
+/* Landscape specific header override */
+@media screen and (max-height: 400px) {
+	.media-menu {
+		padding: 0;
 	}
 
 	.media-frame-router {
-		top: 84px;
-		right: 0;
+		top: 44px;
 	}
 
 	.media-frame-content {
-		right: 0;
-		top: 118px;
+		top: 78px;
 	}
 
-	.image-details .media-frame.hide-router .media-frame-content {
+	.attachments-browser .attachments {
 		top: 40px;
 	}
 
-	.media-frame .attachments-browser {
-		padding-bottom: 300px;
-	}
-
-	.media-sidebar {
-		border-bottom: 1px solid #dddddd;
-	}
-
-	.media-modal {
-		width: auto;
-	}
-
-	.media-toolbar-primary, .media-toolbar-secondary {
-		height: auto;
-	}
-
-	.uploader-inline h3 {
-		margin: 0 0 .8em 0;
-	}
-
-	.uploader-inline-content {
-		top: auto;
-	}
-
-	.uploader-inline-content .upload-ui {
-		margin: 0;
-	}
-
-	.attachments-browser .attachments, .attachments-browser .uploader-inline {
-		position: relative;
-		margin-left: 180px;
+	/* Prevent unnecessary scrolling on title input */
+	.embed-link-settings {
+		overflow: visible;
 	}
+}
 
-	/* Full-bleed modal */
-	.media-modal,
-	.image-details .media-modal {
-		position: fixed;
-		top: 0;
-		right: 0;
-		left: 0;
-		bottom: 0;
+@media only screen and (max-width: 480px) {
+	.media-frame-content .media-toolbar .search,
+	.media-frame-content .media-toolbar .attachment-filters {
+		max-width: 90px;
 	}
 
-	.media-modal-backdrop {
-		position: fixed;
+	.media-modal-close {
+		top: 5px;
+		left: 5px;
 	}
 
-	.attachments-browser .attachment,
-	.attachments-browser .attachment-preview {
-		max-width: 100%;
+	.media-modal .media-frame-title {
+		height: 40px;
 	}
 
-	.attachments-browser .media-toolbar-primary input.search {
-		max-width: 150px;
+	.media-modal .media-frame-title h1,
+	.media-frame:not(.hide-menu) .media-frame-title h1 {
+		font-size: 18px;
+		line-height: 40px;
 	}
 
-	.uploader-inline-content {
-		position: relative;
+	.media-frame:not(.hide-menu) .media-frame-title .dashicons {
+		line-height: 40px;
 	}
 
-	.media-sidebar .setting input[type="checkbox"],
-	.media-sidebar .field input[type="checkbox"] {
-		width: 25px;
+	.media-frame-router,
+	.media-frame:not(.hide-menu) .media-menu {
+		top: 40px;
 	}
 
-	/* Image From Link */
-	.embed-link-settings,
-	.embed-media-settings {
-		padding-bottom: 52px;
+	.media-frame-content {
+		top: 74px;
 	}
 
-	.image-details .column-settings,
-	.image-details .column-image {
-		position: relative;
-		padding: 10px 0 20px 0;
-		right: 0;
-		width: 100%;
-		min-height: inherit;
+	.media-frame.hide-router .media-frame-content {
+		top: 40px;
 	}
+}
 
+/**
+ * HiDPI Displays
+ */
+@media print,
+  (-o-min-device-pixel-ratio: 5/4),
+  (-webkit-min-device-pixel-ratio: 1.25),
+  (min-resolution: 120dpi) {
 
-	/* Gallery */
-	.media-frame.hide-router .media-frame-content {
-		top: 73px;
-		border-top: none;
+	.media-modal-icon {
+		background-image: url(../images/uploader-icons-2x.png);
+		-webkit-background-size: 134px 15px;
+		background-size: 134px 15px;
 	}
 
-	.collection-settings h3 {
-		margin-top: 45px;
+	.media-frame .spinner {
+		background-image: url(../images/spinner-2x.gif);
 	}
-
 }
 
-/* Landscape specific header override */
-@media screen and (max-height: 400px) {
-	.media-menu {
-		padding: 0 10px 0 0;
-	}
+.media-frame-content[data-columns="1"] .attachment {
+	width: 100%;
+}
 
-	.media-menu a {
-		float: right;
-		width: 21%;
-		white-space: nowrap;
-		text-overflow: ellipsis;
-		overflow: hidden;
-		padding: 10px inherit;
-	}
+.media-frame-content[data-columns="2"] .attachment {
+	width: 50%;
+}
 
-	.media-menu a:nth-child(2),
-	.media-menu a:last-child {
-		width: 21%;
-	}
+.media-frame-content[data-columns="3"] .attachment {
+	width: 33.33%;
+}
 
-	.media-modal-close {
-		top: 2px;
-	}
+.media-frame-content[data-columns="4"] .attachment {
+	width: 25%;
+}
 
-	.media-frame-router {
-		top: 44px;
-	}
+.media-frame-content[data-columns="5"] .attachment {
+	width: 20%;
+}
 
-	.media-frame-content {
-		top: 78px;
-	}
+.media-frame-content[data-columns="6"] .attachment {
+	width: 16.66%;
+}
 
-	.attachments-browser .attachments {
-		top: 2px;
-	}
+.media-frame-content[data-columns="7"] .attachment {
+	width: 14.28%;
+}
 
-	/* Prevent unnecessary scrolling on title input */
-	.embed-link-settings {
-		overflow: visible;
-	}
+.media-frame-content[data-columns="8"] .attachment {
+	width: 12.5%;
 }
 
-@media only screen and (max-width: 680px) {
-	.media-frame-content .media-toolbar .search,
-	.media-frame-content .media-toolbar .attachment-filters {
-		max-width: 85px;
-	}
+.media-frame-content[data-columns="9"] .attachment {
+	width: 11.11%;
 }
 
-/**
- * HiDPI Displays
- */
-@media print,
-  (-o-min-device-pixel-ratio: 5/4),
-  (-webkit-min-device-pixel-ratio: 1.25),
-  (min-resolution: 120dpi) {
+.media-frame-content[data-columns="10"] .attachment {
+	width: 10%;
+}
 
-  	.media-modal-icon {
-  		background-image: url(../images/uploader-icons-2x.png);
-  		-webkit-background-size: 134px 15px;
-  		background-size: 134px 15px;
-  	}
+.media-frame-content[data-columns="11"] .attachment {
+	width: 9.09%;
+}
 
-  	.media-frame .spinner {
-  		background-image: url(../images/spinner-2x.gif);
-  	}
+.media-frame-content[data-columns="12"] .attachment {
+	width: 8.33%;
 }
diff --git a/wp-includes/css/media-views-rtl.min.css b/wp-includes/css/media-views-rtl.min.css
index 57fe78de5..d34655998 100644
--- a/wp-includes/css/media-views-rtl.min.css
+++ b/wp-includes/css/media-views-rtl.min.css
@@ -1 +1 @@
-.media-modal *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.media-frame,.media-modal{font-family:"Open Sans",sans-serif;font-size:12px}.media-frame input,.media-frame textarea{padding:6px 8px;line-height:16px}.media-frame select,.wp-admin .media-frame select{line-height:28px;margin-top:3px}.media-frame a{border-bottom:0;color:#21759b}.media-frame a:hover{color:#d54e21}.media-frame a.button{color:#333}.media-frame a.button:hover{color:#222}.media-frame a.button-primary,.media-frame a.button-primary:hover{color:#fff}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-family:"Open Sans",sans-serif;font-size:12px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-width:1px;border-style:solid;border-color:#dfdfdf}.media-frame select{height:24px;padding:2px}.media-frame input:disabled,.media-frame input[readonly],.media-frame textarea:disabled,.media-frame textarea[readonly]{background-color:#eee}.media-frame input[type=search]{-webkit-appearance:textfield}.media-frame :-moz-placeholder{color:#a9a9a9}.media-frame .hidden{display:none}.ui-draggable,.ui-sortable{-ms-touch-action:none;touch-action:none}.meta-box-sortables.ui-sortable{-ms-touch-action:auto;touch-action:auto}.meta-box-sortables.ui-sortable .hndle{-ms-touch-action:none;touch-action:none}.media-modal{position:fixed;top:30px;right:30px;left:30px;bottom:30px;z-index:160000}.wp-customizer .media-modal{z-index:560000}.media-modal-backdrop{position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:159900}.wp-customizer .media-modal-backdrop{z-index:559900}.media-modal-close{position:absolute;text-decoration:none;top:5px;left:10px;width:30px;height:30px;z-index:1000}.media-modal-close span.media-modal-icon{display:block;margin:8px auto 0;width:15px;height:15px;background-image:none}.media-modal-close .media-modal-icon:before{content:'\f158';font:400 20px/1 dashicons;speak:none;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#666}.media-modal-close:hover .media-modal-icon:before{color:#2ea2cc}.media-modal-close:active{outline:0}.media-modal-content{position:absolute;top:0;right:0;left:0;bottom:0;overflow:auto;min-height:300px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.7);box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc;-webkit-font-smoothing:subpixel-antialiased}.media-modal-icon{background-image:url(../images/uploader-icons.png);background-repeat:no-repeat}.media-toolbar{position:absolute;top:0;right:0;left:0;z-index:100;height:60px;padding:0 16px;border:0 solid #dfdfdf;overflow:hidden}.media-toolbar-primary{float:left;height:100%}.media-toolbar-secondary{float:right;height:100%}.media-toolbar-primary>.media-button,.media-toolbar-primary>.media-button-group{margin-right:10px;float:right;margin-top:15px}.media-toolbar-secondary>.media-button,.media-toolbar-secondary>.media-button-group{margin-left:10px;float:right;margin-top:15px}.media-sidebar{position:absolute;top:0;left:0;bottom:0;width:267px;padding:0 16px 24px;z-index:75;background:#f3f3f3;border-right:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch}.hide-toolbar .media-sidebar{bottom:0}.media-sidebar .sidebar-title{font-size:20px;margin:0;padding:12px 10px 10px;line-height:28px}.media-sidebar .sidebar-content{padding:0 10px;margin-bottom:130px}.media-sidebar .search{display:block;width:100%}.image-details h3,.media-sidebar h3{position:relative;font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}.media-sidebar .setting{display:block;float:right;width:100%;margin:1px 0}.media-sidebar .setting label{display:block}.media-sidebar .setting .link-to-custom{margin:3px 0}.media-sidebar .setting span{min-width:30%;margin-left:4%;font-size:12px}.media-sidebar .setting select{max-width:65%}.media-sidebar .field input[type=checkbox],.media-sidebar .setting input[type=checkbox]{width:16px;float:none;margin:8px 3px 0;padding:0}.compat-item label span,.media-sidebar .setting span{float:right;min-height:22px;padding-top:8px;line-height:16px;text-align:left;font-weight:400;color:#666}.media-sidebar .setting input,.media-sidebar .setting textarea{margin:1px;width:65%;float:left}.compat-item .field textarea,.media-sidebar .setting textarea{height:62px;resize:vertical}.media-sidebar select{margin-top:3px}.compat-item{float:right;width:100%;overflow:hidden}.compat-item table{width:100%;table-layout:fixed;border-spacing:0;border:0}.compat-item tr{padding:2px 0;display:block;overflow:hidden}.compat-item .field,.compat-item .label{display:block;margin:0;padding:0}.compat-item .label{min-width:30%;margin-left:4%;float:right;text-align:left}.compat-item .label span{display:block;width:100%}.compat-item .field{float:left;width:66%}.compat-item .field input{width:100%;margin:0}.media-menu{position:absolute;top:0;right:0;left:0;bottom:0;margin:0;padding:16px 0;background:#f3f3f3;border-left-width:1px;border-left-style:solid;border-left-color:#ccc;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-menu>a{display:block;position:relative;padding:8px 20px;margin:0;line-height:18px;font-size:14px;color:#0074a2;text-decoration:none}.media-menu>a:hover{color:#21759B;background:rgba(0,0,0,.04)}.media-menu>a:active{outline:0}.media-menu .active,.media-menu .active:hover{color:#222;font-weight:700}.media-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #ddd}.media-router{position:relative;padding:0 6px;margin:0;clear:both;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-router a{-webkit-transition:none;transition:none}.media-router>a{position:relative;float:right;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none}.media-router>a:last-child{border-left:0}.media-router>a:active,.media-router>a:focus{outline:0}.media-router .active,.media-router .active:hover{color:#333}.media-router .active,.media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:0}.media-router .active:after{display:none}.media-frame{overflow:hidden;position:absolute;top:0;right:0;left:0;bottom:0}.media-frame-menu{position:absolute;top:0;right:0;bottom:0;width:200px;z-index:150}.media-frame-title{position:absolute;top:0;right:200px;left:0;height:56px;z-index:200}.media-frame-router{position:absolute;top:56px;right:200px;left:0;height:36px;z-index:200}.media-frame-content{position:absolute;top:90px;right:200px;left:0;bottom:61px;height:auto;width:auto;margin:0;overflow:auto;background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.media-frame-toolbar{position:absolute;right:200px;left:0;bottom:0;height:60px;z-index:100}.media-frame.hide-menu .media-frame-content,.media-frame.hide-menu .media-frame-router,.media-frame.hide-menu .media-frame-title,.media-frame.hide-menu .media-frame-toolbar{right:0}.media-frame.hide-menu .media-frame-menu{right:-200px}.media-frame.hide-toolbar .media-frame-content{bottom:0}.media-frame.hide-toolbar .media-frame-toolbar{bottom:-61px}.media-frame.hide-router .media-frame-content{top:56px}.media-frame.hide-router .media-frame-router{display:none}.media-frame.hide-router .media-frame-title{border-bottom:1px solid #dfdfdf;-webkit-box-shadow:0 4px 4px -4px rgba(0,0,0,.1);box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.media-frame-title h1{padding:0 16px;font-size:22px;line-height:60px;margin:0}.media-frame-title .suggested-dimensions{font-size:14px;float:left;margin-left:20px}.media-frame-content .crop-content{height:100%}.media-frame-content .crop-content .crop-image{display:block;margin:auto;max-width:100%;max-height:100%}.media-frame-content .crop-content .upload-errors{position:absolute;width:300px;top:50%;right:50%;margin-right:-150px;margin-left:-150px;z-index:600000}.media-frame .media-iframe{overflow:hidden}.media-frame .media-iframe,.media-frame .media-iframe iframe{height:100%;width:100%;border:0}.media-frame select.attachment-filters{margin-top:11px;margin-left:10px}.media-frame .search{margin-top:11px;padding:4px;line-height:18px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.media-toolbar-secondary .search{margin-left:16px}.attachments{margin:0;padding-left:16px;-webkit-overflow-scrolling:touch}.attachment{position:relative;float:right;padding:0;margin:0 10px 20px;color:#464646;list-style:none;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.selected.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #ccc;box-shadow:0 0 0 1px #fff,0 0 0 3px #ccc}.attachment-preview{position:relative;width:199px;height:199px;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);background:#eee;cursor:pointer}.attachment .icon{margin:0 auto;overflow:hidden;padding-top:20%}.attachment .thumbnail{display:block;position:absolute;top:0;right:0;margin:0 auto;overflow:hidden;max-width:100%;max-height:100%}.attachment-preview .thumbnail:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.attachment .thumbnail img{top:0;left:0}.attachment .thumbnail .centered{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate(50%,50%);-ms-transform:translate(50%,50%);transform:translate(50%,50%)}.attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.attachment .filename{position:absolute;right:0;left:0;bottom:0;overflow:hidden;max-height:100%;word-wrap:break-word;text-align:center;font-weight:700;background:rgba(255,255,255,.8);-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.attachment .filename div{padding:5px 10px}.attachment-preview .thumbnail{width:199px;height:199px}.attachment .thumbnail img{position:absolute}.attachment .close{display:none;position:absolute;top:5px;left:5px;height:22px;width:22px;padding:0;font-size:20px;line-height:20px;text-align:center;text-decoration:none;color:#464646;background-color:#fff;background-position:-96px 4px;border-width:0;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3)}.attachment .close:hover{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.6);box-shadow:0 0 0 1px rgba(0,0,0,.6)}.attachment:hover .close{display:block}.attachment .check{display:none;height:24px;width:24px;position:absolute;top:-6px;left:-6px;outline:0;background:#eee;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4);box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment .check div{background-position:-1px 0;height:15px;width:15px;margin:5px}.attachment .check:hover div{background-position:-40px 0}.attachment.selected .check{display:block}.attachment.details{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment.details .check{background-color:#1e8cbe;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.attachment.details .check div{background-position:-21px 0}.attachment.details .check:hover div{background-position:-60px 0}.media-frame .attachment .describe{position:relative;display:block;width:100%;margin:-1px 0 0;padding:8px;font-size:12px;-webkit-border-radius:0;border-radius:0}.media-frame .attachments-browser{position:relative;width:100%;height:100%;overflow:hidden}.attachments-browser .media-toolbar{left:300px;height:50px}.attachments-browser .media-toolbar-primary>.media-button,.attachments-browser .media-toolbar-primary>.media-button-group,.attachments-browser .media-toolbar-secondary>.media-button,.attachments-browser .media-toolbar-secondary>.media-button-group{margin-top:10px}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:absolute;top:50px;right:0;left:300px;bottom:0;overflow:auto}.attachments-browser .instructions{display:inline-block;margin-top:16px;line-height:18px;font-size:13px;color:#666;margin-left:.5em}.media-progress-bar{position:relative;height:10px;width:70%;margin:10px auto;-webkit-border-radius:10px;border-radius:10px;background:#dfdfdf;background:rgba(0,0,0,.1)}.media-progress-bar div{height:10px;min-width:20px;width:0;background:#1e8cbe;-webkit-border-radius:10px;border-radius:10px;-webkit-transition:width 300ms;transition:width 300ms}.media-uploader-status .media-progress-bar{display:none;width:100%}.uploading.media-uploader-status .media-progress-bar{display:block}.attachment-preview .media-progress-bar{position:absolute;top:50%;right:15%;width:70%;margin:-5px 0 0 0}.media-uploader-status{position:relative;margin:0 auto;padding-bottom:10px;max-width:400px}.media-sidebar .media-uploader-status{border-bottom:1px solid #dfdfdf;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}.uploader-inline .media-uploader-status h3{display:none}.media-uploader-status .upload-details{display:none;font-size:12px;color:#666}.uploading.media-uploader-status .upload-details{display:block}.media-uploader-status .upload-detail-separator{padding:0 4px}.media-uploader-status .upload-count{color:#464646}.media-uploader-status .upload-dismiss-errors,.media-uploader-status .upload-errors{display:none}.errors.media-uploader-status .upload-dismiss-errors,.errors.media-uploader-status .upload-errors{display:block}.media-uploader-status .upload-dismiss-errors{text-decoration:none}.media-sidebar .media-uploader-status .upload-dismiss-errors{position:absolute;top:0;left:0}.upload-errors .upload-error{margin:8px auto 0;padding:8px;border:1px #c00 solid;background:#ffebe8;-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-label{padding:2px 4px;margin-left:8px;font-weight:700;color:#fff;background:#e00;background-image:-webkit-gradient(linear,right top,right bottom,from(#e00),to(#a00));background-image:-webkit-linear-gradient(top,#e00,#a00);background-image:linear-gradient(to bottom,#e00,#a00);-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-message{display:block;padding-top:8px;color:#b44;word-wrap:break-word}.uploader-window{position:fixed;top:0;right:0;left:0;bottom:0;background:rgba(0,86,132,.9);z-index:250000;display:none;text-align:center;opacity:0;-webkit-transition:opacity 250ms;transition:opacity 250ms}.uploader-window-content{position:absolute;top:10px;right:10px;left:10px;bottom:10px;border:1px dashed #fff}.uploader-window h3{margin:-.5em 0 0;position:absolute;top:50%;right:0;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:40px;color:#fff;padding:0}.uploader-window .media-progress-bar{margin-top:20px;max-width:300px;background:0 0;border-color:#fff;display:none}.uploader-window .media-progress-bar div{background:#fff}.uploading .uploader-window .media-progress-bar{display:block}.media-frame .uploader-inline{margin:20px;padding:20px;text-align:center}.uploader-inline-content{position:absolute;top:30%;right:0;left:0}.uploader-inline-content .upload-ui{margin:4em 0}.uploader-inline-content .post-upload-ui{margin-bottom:2em}.uploader-inline .has-upload-message .upload-ui{margin:0 0 4em}.uploader-inline h3{font-size:20px;line-height:28px;font-weight:400;margin-bottom:1.6em}.uploader-inline .has-upload-message .upload-instructions{font-size:14px;color:#464646;font-weight:400}.uploader-inline .drop-instructions{display:none}.supports-drag-drop .uploader-inline .drop-instructions{display:block}.uploader-inline p{font-size:12px}.uploader-inline .media-progress-bar{display:none}.uploading.uploader-inline .media-progress-bar{display:block}.uploader-inline .browser{display:inline-block!important}.media-selection{position:absolute;top:0;right:0;left:350px;height:60px;padding:0 16px 0 0;overflow:hidden;white-space:nowrap}.media-selection .selection-info{display:inline-block;font-size:12px;height:60px;margin-left:10px;vertical-align:top}.media-selection.editing,.media-selection.empty,.media-selection.one .edit-selection{display:none}.media-selection .count{display:block;padding-top:12px;font-size:14px;line-height:20px;font-weight:700}.media-selection .selection-info a{display:block;float:right;padding:1px 8px;margin:1px -8px 1px 8px;line-height:16px;text-decoration:none;border-left:1px solid #dfdfdf;color:#21759B}.media-selection .selection-info a:hover{background:#21759B;color:#fff;border-color:transparent}.media-selection .selection-info a:last-child{border-left:0;margin-left:0}.media-selection .selection-info .clear-selection{color:red}.media-selection .selection-info .clear-selection:hover{background:red}.media-selection .selection-view{display:inline-block;vertical-align:top}.media-selection .attachments{display:inline-block;height:48px;margin-top:5px;overflow:hidden;vertical-align:top}.media-selection .attachment .icon{width:50%}.attachment.selection.selected{-webkit-box-shadow:none;box-shadow:none}.attachment.selection.details{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 4px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 4px #1e8cbe}.media-selection .attachment.selection.details{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe}.media-selection:after{content:'';display:block;position:absolute;top:0;left:0;bottom:0;width:25px;background-image:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,1)),to(rgba(255,255,255,0)));background-image:-webkit-linear-gradient(left,rgba(255,255,255,1),rgba(255,255,255,0));background-image:linear-gradient(to right,rgba(255,255,255,1),rgba(255,255,255,0))}.media-selection .attachment .filename{display:none}.media-frame .spinner{background:url(../images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:0}.media-toolbar .spinner{margin-top:14px}.media-sidebar .settings-save-status{background:#f5f5f5;float:left;text-transform:none;z-index:10}.media-sidebar .settings-save-status .spinner{margin:0 5px}.media-sidebar .settings-save-status .saved{float:left;display:none}.media-sidebar .save-complete .settings-save-status .saved,.media-sidebar .save-waiting .settings-save-status .spinner{display:block}.attachment-details{position:relative;overflow:auto}.attachment-info{overflow:hidden;min-height:60px;margin-bottom:16px;line-height:18px;color:#666;border-bottom:1px solid #ddd;padding-bottom:11px}.attachment-info .filename{font-weight:700;color:#464646;word-wrap:break-word}.attachment-info .thumbnail{position:relative;float:right;max-width:120px;max-height:120px;margin-top:5px;margin-left:10px;margin-bottom:5px}.uploading .attachment-info .thumbnail{width:120px;height:80px;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1);box-shadow:inset 0 0 15px rgba(0,0,0,.1)}.uploading .attachment-info .media-progress-bar{margin-top:35px}.attachment-info .thumbnail:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);overflow:hidden}.attachment-info .thumbnail img{display:block;max-width:120px;max-height:120px;margin:0 auto}.attachment-info .details{float:right;font-size:12px;max-width:100%}.attachment-info .delete-attachment,.attachment-info .edit-attachment,.attachment-info .refresh-attachment,.attachment-info .trash-attachment{display:block;text-decoration:none;white-space:nowrap}.attachment-details.needs-refresh .attachment-info .edit-attachment,.attachment-info .refresh-attachment{display:none}.attachment-details.needs-refresh .attachment-info .refresh-attachment,.attachment-info .edit-attachment{display:block}.attachment-info .delete-attachment,.attachment-info .trash-attachment{color:#bc0b0b}.attachment-info .delete-attachment:hover,.attachment-info .trash-attachment:hover{color:red}.attachment-display-settings{width:100%;float:right;overflow:hidden}.attachment-display-settings h4{margin:1.4em 0 .4em}.collection-settings{overflow:hidden}.collection-settings .setting input[type=checkbox]{float:right;margin-left:8px}.collection-settings .setting span{min-width:inherit}.media-frame .imgedit-wrap{position:static}.media-frame .imgedit-wait{height:auto!important;left:0;bottom:0;right:0}.media-frame .imgedit-wrap .imgedit-panel-content{padding:16px;position:absolute;top:0;left:282px;bottom:0;right:0;overflow:auto}.media-frame .imgedit-wrap .imgedit-settings{background:#f3f3f3;border-right:1px solid #ddd;padding:0 16px 16px;position:absolute;top:0;left:0;bottom:0;width:250px;overflow:auto}.media-frame .imgedit-group{background:0 0;border:0;border-bottom:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;margin:0;margin-bottom:16px;padding:0;padding-bottom:16px}.media-frame .imgedit-group:last-of-type{border:0;margin:0;padding:0}.media-frame .imgedit-group-top h3{text-transform:uppercase;font-size:12px;color:#666;margin:0;margin-top:24px}.media-frame .imgedit-group-top h3 a{text-decoration:none;color:#666}.media-frame .imgedit-help-toggle{margin-top:-2px;cursor:pointer;color:#666}.media-frame .imgedit-help-toggled span.dashicons:before{content:'\f142'}.media-frame .imgedit-group img{margin-top:5px}.media-frame .imgedit-wrap div.updated{margin:0;margin-bottom:16px}.embed-url{display:block;position:relative;padding:16px;margin:0;z-index:250;background:#fff;font-size:18px}.media-frame .embed-url input{font-size:18px;padding:12px 14px;width:100%;min-width:200px;-webkit-box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1);box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1)}.media-frame .embed-url .spinner{position:absolute;top:16px;left:26px}.media-frame .embed-loading .embed-url .spinner{display:block}.embed-link-settings,.embed-media-settings{position:absolute;top:60px;right:0;left:0;bottom:0;padding:16px 16px 32px;overflow:auto}.image-details .media-modal{right:140px;left:140px}.image-details .media-frame-menu{display:none}.image-details .media-frame-content,.image-details .media-frame-router,.image-details .media-frame-title{right:0}.image-details .embed-media-settings{top:0;overflow:visible;padding:0}.image-details .column-settings{background:#f3f3f3;border-left:1px solid #ddd;min-height:100%;width:52%;position:absolute;top:0;right:0}.image-details .column-settings h3{margin:20px;padding-top:20px;border-top:1px solid #ddd}.image-details .column-image{width:48%;position:absolute;right:52%;top:0}.image-details .image{margin:20px}.image-details .image img{max-width:100%;max-height:500px}.image-details .advanced-toggle{color:#666;text-decoration:none;display:block}.image-details .advanced-toggle::after{font:400 20px/1 dashicons;speak:none;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140';display:inline-block;margin-top:-2px}.image-details .advanced-visible .advanced-toggle::after{content:'\f142';margin-top:0}.image-details .embed-media-settings .size{margin-bottom:4px}.image-details .custom-size span{display:block}.image-details .custom-size label{display:block;float:right}.image-details .custom-size span small{color:#999;font-size:inherit}.image-details .custom-size input{width:5em}.image-details .custom-size .sep{float:right;margin:26px 6px 0}.image-details .custom-size::after{content:'';display:table;clear:both}.media-embed .thumbnail{max-width:100%;max-height:200px;position:relative;float:right}.media-embed .thumbnail img{max-height:200px;display:block}.media-embed .thumbnail:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.media-embed .setting{width:100%;margin:10px 0;float:right;display:block;clear:both}.image-details .embed-media-settings .setting{float:none;width:auto}.image-details .actions{margin:10px 0}.image-details .hidden{display:none}.media-embed .setting input[type=text],.media-embed .setting textarea{display:block;width:100%;max-width:400px;margin:1px 0}.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{max-width:inherit;width:70%}.image-details .embed-media-settings .custom-size,.image-details .embed-media-settings .link-target,.image-details .embed-media-settings .setting input.link-to-custom{margin-right:27%;width:70%}.image-details .embed-media-settings .link-target{margin-top:24px}.media-embed .setting input.hidden,.media-embed .setting textarea.hidden{display:none}.media-embed .setting span{display:block;width:200px;font-size:13px;line-height:24px;color:#666}.image-details .embed-media-settings .setting span{float:right;width:25%;text-align:left;margin:8px 1% 0;line-height:1.1}.media-embed .setting .button-group{margin:2px 0}.media-embed-sidebar{position:absolute;top:0;right:440px}.advanced-section,.link-settings{margin-top:10px}#wp-fullscreen-body .uploader-editor,.wp-editor-wrap .uploader-editor{background:rgba(150,150,150,.9);position:absolute;top:0;right:0;width:100%;height:100%;z-index:99998;display:none;text-align:center}#wp-fullscreen-body .uploader-editor{background:rgba(0,86,132,.9);position:fixed;z-index:100050}.wp-editor-wrap.wp-fullscreen-wrap .uploader-editor{opacity:0}#wp-fullscreen-body .uploader-editor-content,.wp-editor-wrap .uploader-editor-content{border:1px dashed #fff;position:absolute;top:10px;right:10px;left:10px;bottom:10px}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor .uploader-editor-title{position:absolute;top:50%;right:0;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:3em;line-height:1.3;font-weight:700;color:#fff;padding:0;margin:0;display:none}.wp-editor-wrap .uploader-editor.droppable{background:rgba(0,86,132,.9)}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor.droppable .uploader-editor-title{display:block}.ie7 .media-frame .attachments-browser{position:static}.ie7 .media-frame .embed-url input{margin-top:4px;width:90%}.ie7 .compat-item{width:99%}.ie7 .attachment-display-settings{width:auto}.ie7 .attachment-preview,.ie7 .attachment-preview .thumbnail{width:120px;height:120px}.ie7 .media-frame .attachment .describe{width:102px}.ie7 .media-sidebar .setting select{max-width:55%}.ie7 .media-sidebar .setting input,.ie7 .media-sidebar .setting textarea{width:55%}.ie7 .media-sidebar .setting .link-to-custom{float:right}.rtl .media-frame,.rtl .media-frame .search,.rtl .media-frame input[type=email],.rtl .media-frame input[type=number],.rtl .media-frame input[type=password],.rtl .media-frame input[type=search],.rtl .media-frame input[type=text],.rtl .media-frame input[type=url],.rtl .media-frame select,.rtl .media-frame textarea,.rtl .media-modal{font-family:Tahoma,sans-serif}:lang(he-il) .rtl .media-frame,:lang(he-il) .rtl .media-frame .search,:lang(he-il) .rtl .media-frame input[type=email],:lang(he-il) .rtl .media-frame input[type=number],:lang(he-il) .rtl .media-frame input[type=password],:lang(he-il) .rtl .media-frame input[type=search],:lang(he-il) .rtl .media-frame input[type=text],:lang(he-il) .rtl .media-frame input[type=url],:lang(he-il) .rtl .media-frame select,:lang(he-il) .rtl .media-frame textarea,:lang(he-il) .rtl .media-modal{font-family:Arial,sans-serif}@media only screen and (max-width:960px){.media-frame-content .media-toolbar-primary .search,.media-frame-content .media-toolbar-secondary .attachment-filters{max-width:120px}}@media only screen and (max-width:900px){.media-frame-menu{width:139px}.media-menu>a{padding:4px 5px}.media-frame-content,.media-frame-router,.media-frame-title,.media-frame-toolbar{right:140px}.media-sidebar{width:159px;padding:0 10px 24px}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{left:180px}.compat-item label span,.media-sidebar .setting input,.media-sidebar .setting span,.media-sidebar .setting textarea{float:none}.compat-item label span,.media-sidebar .setting span{text-align:inherit;display:block;min-height:16px;margin:0;padding:8px 2px 0}.media-sidebar .setting input,.media-sidebar .setting select,.media-sidebar .setting textarea{width:98%;max-width:none}.media-sidebar .setting select.columns{width:auto}.media-frame .search,.media-frame input,.media-frame textarea{padding:3px 6px}.media-frame-content .attachment .icon{top:40%}.image-details .media-modal{right:30px;left:30px}.image-details .embed-media-settings .setting{margin:20px}.image-details .embed-media-settings .setting span{float:none;text-align:right;width:100%;margin-bottom:4px}.image-details .embed-media-settings .setting input.link-to-custom,.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{width:100%;margin-right:0}.image-details .embed-media-settings .custom-size{margin-right:20px}.media-selection{min-width:120px}.media-selection:after{background:0 0}.media-selection .attachments{display:none}.media-menu .separator{margin:12px 10px}.media-modal-close{left:10px}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-size:16px}}@media only screen and (max-width:640px),screen and (max-height:400px){.media-frame-content .media-toolbar .instructions{display:none}.media-frame-menu{width:auto;bottom:auto;left:0;height:60px}.media-menu{border-left:0;position:relative;border-bottom:1px solid #ddd;overflow:hidden;padding:10px 10px 10px 0}.media-menu a{float:right;width:42%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.media-frame-title{display:none}.image-details .media-frame-title{display:block;top:0;font-size:14px}.media-frame-toolbar{position:absolute;bottom:0;right:0;left:0;background:#FFF;border-top:1px solid #DEDEDE}.media-toolbar{position:relative}.media-frame{overflow:hidden}.attachments-browser .attachments{top:42px}.attachment-details h3{margin-top:45px}.media-menu a:last-child,.media-menu a:nth-child(2){width:40%}.media-menu .separator{display:none}.media-frame-title{top:72px;right:auto;height:auto}.media-frame-title h1{line-height:3;font-size:18px}.media-frame-router{top:84px;right:0}.media-frame-content{right:0;top:118px}.image-details .media-frame.hide-router .media-frame-content{top:40px}.media-frame .attachments-browser{padding-bottom:300px}.media-sidebar{border-bottom:1px solid #ddd}.media-modal{width:auto}.media-toolbar-primary,.media-toolbar-secondary{height:auto}.uploader-inline h3{margin:0 0 .8em}.uploader-inline-content{top:auto}.uploader-inline-content .upload-ui{margin:0}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:relative;margin-left:180px}.image-details .media-modal,.media-modal{position:fixed;top:0;right:0;left:0;bottom:0}.media-modal-backdrop{position:fixed}.attachments-browser .attachment,.attachments-browser .attachment-preview{max-width:100%}.attachments-browser .media-toolbar-primary input.search{max-width:150px}.uploader-inline-content{position:relative}.media-sidebar .field input[type=checkbox],.media-sidebar .setting input[type=checkbox]{width:25px}.embed-link-settings,.embed-media-settings{padding-bottom:52px}.image-details .column-image,.image-details .column-settings{position:relative;padding:10px 0 20px;right:0;width:100%;min-height:inherit}.media-frame.hide-router .media-frame-content{top:73px;border-top:0}.collection-settings h3{margin-top:45px}}@media screen and (max-height:400px){.media-menu{padding:0 10px 0 0}.media-menu a{float:right;width:21%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding:10px inherit}.media-menu a:last-child,.media-menu a:nth-child(2){width:21%}.media-modal-close{top:2px}.media-frame-router{top:44px}.media-frame-content{top:78px}.attachments-browser .attachments{top:2px}.embed-link-settings{overflow:visible}}@media only screen and (max-width:680px){.media-frame-content .media-toolbar .attachment-filters,.media-frame-content .media-toolbar .search{max-width:85px}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.media-modal-icon{background-image:url(../images/uploader-icons-2x.png);-webkit-background-size:134px 15px;background-size:134px 15px}.media-frame .spinner{background-image:url(../images/spinner-2x.gif)}}
\ No newline at end of file
+.media-modal *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.media-frame,.media-modal{font-family:"Open Sans",sans-serif;font-size:12px}.media-frame input,.media-frame textarea{padding:6px 8px}.media-frame select,.wp-admin .media-frame select{line-height:28px;margin-top:3px}.media-frame a{border-bottom:none;color:#21759b}.media-frame a:hover{color:#d54e21}.media-frame a.button{color:#333}.media-frame a.button:hover{color:#222}.media-frame a.button-primary,.media-frame a.button-primary:hover{color:#fff}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-family:"Open Sans",sans-serif;font-size:12px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-width:1px;border-style:solid;border-color:#dfdfdf}.media-frame input[type=email]:focus,.media-frame input[type=number]:focus,.media-frame input[type=password]:focus,.media-frame input[type=search]:focus,.media-frame input[type=text]:focus,.media-frame input[type=url]:focus,.media-frame select:focus,.media-frame textarea:focus{border-color:#5b9dd9}.media-frame select{height:24px;padding:2px}.media-frame input:disabled,.media-frame input[readonly],.media-frame textarea:disabled,.media-frame textarea[readonly]{background-color:#eee}.media-frame input[type=search]{-webkit-appearance:textfield}.media-frame :-moz-placeholder{color:#a9a9a9}.media-frame .hidden{display:none}.ui-draggable,.ui-sortable{-ms-touch-action:none;touch-action:none}.meta-box-sortables.ui-sortable{-ms-touch-action:auto;touch-action:auto}.meta-box-sortables.ui-sortable .hndle{-ms-touch-action:none;touch-action:none}.media-modal{position:fixed;top:30px;right:30px;left:30px;bottom:30px;z-index:160000}.wp-customizer .media-modal{z-index:560000}.media-modal-backdrop{position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:159900}.wp-customizer .media-modal-backdrop{z-index:559900}.media-modal-close{position:absolute;text-decoration:none;top:10px;left:10px;width:30px;height:30px;z-index:1000;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.media-modal-close:active{-webkit-box-shadow:none;box-shadow:none}.media-modal-close span.media-modal-icon{display:block;margin-top:5px;width:30px;height:15px;background-image:none;text-align:center}.media-modal-close .media-modal-icon:before{content:'\f158';font:400 20px/1 dashicons;speak:none;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#666}.media-modal-close:hover .media-modal-icon:before{color:#2ea2cc}.media-modal-close:active{outline:0}.media-modal-content{position:absolute;top:0;right:0;left:0;bottom:0;overflow:auto;min-height:300px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.7);box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc;-webkit-font-smoothing:subpixel-antialiased}.media-modal-icon{background-image:url(../images/uploader-icons.png);background-repeat:no-repeat}.media-toolbar{position:absolute;top:0;right:0;left:0;z-index:100;height:60px;padding:0 16px;border:0 solid #dfdfdf;overflow:hidden}.media-toolbar-primary{float:left;height:100%}.media-toolbar-secondary{float:right;height:100%}.media-toolbar-primary>.media-button,.media-toolbar-primary>.media-button-group{margin-right:10px;float:right;margin-top:15px}.media-toolbar-secondary>.media-button,.media-toolbar-secondary>.media-button-group{margin-left:10px;margin-top:15px}.media-sidebar{position:absolute;top:0;left:0;bottom:0;width:267px;padding:0 16px 24px;z-index:75;background:#f3f3f3;border-right:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch}.hide-toolbar .media-sidebar{bottom:0}.media-sidebar .sidebar-title{font-size:20px;margin:0;padding:12px 10px 10px;line-height:28px}.media-sidebar .sidebar-content{padding:0 10px;margin-bottom:130px}.media-sidebar .search{display:block;width:100%}.image-details h3,.media-sidebar h3{position:relative;font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}.attachment-details .setting,.media-sidebar .setting{display:block;float:right;width:100%;margin:1px 0}.attachment-details .setting label,.media-sidebar .setting label{display:block}.attachment-details .setting .link-to-custom,.media-sidebar .setting .link-to-custom{margin:3px 2px 0}.attachment-details .setting span,.media-sidebar .setting span{min-width:30%;margin-left:4%;font-size:12px;text-align:left}.attachment-details .setting select,.media-sidebar .setting select{max-width:65%}.attachment-details .field input[type=checkbox],.attachment-details .field input[type=radio],.attachment-details .setting input[type=checkbox],.attachment-details .setting input[type=radio],.media-sidebar .field input[type=checkbox],.media-sidebar .field input[type=radio],.media-sidebar .setting input[type=checkbox],.media-sidebar .setting input[type=radio]{float:none;margin:8px 3px 0;padding:0}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{float:right;min-height:22px;padding-top:8px;line-height:16px;font-weight:400;color:#666}.compat-item label span{text-align:left}.attachment-details .setting .value,.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting textarea,.media-sidebar .setting .value,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px;width:65%;float:left}.attachment-details .setting .value,.media-sidebar .setting .value{margin:0 1px;text-align:right}.attachment-details .setting textarea,.compat-item .field textarea,.media-sidebar .setting textarea{height:62px;resize:vertical}.attachment-details select,.media-sidebar select{margin-top:3px}.compat-item{float:right;width:100%;overflow:hidden}.compat-item table{width:100%;table-layout:fixed;border-spacing:0;border:0}.compat-item tr{padding:2px 0;display:block;overflow:hidden}.compat-item .field,.compat-item .label{display:block;margin:0;padding:0}.compat-item .label{min-width:30%;margin-left:4%;float:right;text-align:left}.compat-item .label span{display:block;width:100%}.compat-item .field{float:left;width:66%}.compat-item .field input[type=email],.compat-item .field input[type=number],.compat-item .field input[type=password],.compat-item .field input[type=search],.compat-item .field input[type=tel],.compat-item .field input[type=text],.compat-item .field input[type=url]{width:100%;margin:0}.sidebar-for-errors .attachment-details,.sidebar-for-errors .compat-item,.sidebar-for-errors .media-sidebar .media-progress-bar,.sidebar-for-errors .upload-details{display:none!important}.media-menu{position:absolute;top:0;right:0;left:0;bottom:0;margin:0;padding:10px 0;background:#f3f3f3;border-left-width:1px;border-left-style:solid;border-left-color:#ccc;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-menu>a{display:block;position:relative;padding:8px 20px;margin:0;line-height:18px;font-size:14px;color:#0074a2;text-decoration:none}.media-menu>a:hover{color:#21759B;background:rgba(0,0,0,.04)}.media-menu>a:active{outline:0}.media-menu .active,.media-menu .active:hover{color:#222;font-weight:700}.media-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #ddd}.media-router{position:relative;padding:0 6px;margin:0;clear:both;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-router a{-webkit-transition:none;transition:none}.media-router>a{position:relative;float:right;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none}.media-router>a:last-child{border-left:0}.media-router>a:active{outline:0}.media-router .active,.media-router .active:hover{color:#333}.media-router .active,.media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:none}.media-router .active:after{display:none}.media-frame{overflow:hidden;position:absolute;top:0;right:0;left:0;bottom:0}.media-frame-menu{position:absolute;top:0;right:0;bottom:0;width:200px;z-index:150}.media-frame-title{position:absolute;top:0;right:200px;left:0;height:50px;z-index:200}.media-frame-router{position:absolute;top:50px;right:200px;left:0;height:36px;z-index:200}.media-frame-content{position:absolute;top:84px;right:200px;left:0;bottom:61px;height:auto;width:auto;margin:0;overflow:auto;background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.media-frame-toolbar{position:absolute;right:200px;left:0;bottom:0;height:60px;z-index:100}.media-frame.hide-menu .media-frame-content,.media-frame.hide-menu .media-frame-router,.media-frame.hide-menu .media-frame-title,.media-frame.hide-menu .media-frame-toolbar{right:0}.media-frame.hide-menu .media-frame-menu{right:-200px}.media-frame.hide-toolbar .media-frame-content{bottom:0}.media-frame.hide-toolbar .media-frame-toolbar{bottom:-61px}.media-frame.hide-router .media-frame-content{top:50px}.media-frame.hide-router .media-frame-router{display:none}.media-frame.hide-router .media-frame-title{border-bottom:1px solid #dfdfdf;-webkit-box-shadow:0 4px 4px -4px rgba(0,0,0,.1);box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.media-frame-title .dashicons{display:none}.media-frame-title h1{padding:0 16px;font-size:22px;line-height:50px;margin:0}.media-frame-title .suggested-dimensions{font-size:14px;float:left;margin-left:20px}.media-frame-content .crop-content{height:100%}.media-frame-content .crop-content .crop-image{display:block;margin:auto;max-width:100%;max-height:100%}.media-frame-content .crop-content .upload-errors{position:absolute;width:300px;top:50%;right:50%;margin-right:-150px;margin-left:-150px;z-index:600000}.media-frame .media-iframe{overflow:hidden}.media-frame .media-iframe,.media-frame .media-iframe iframe{height:100%;width:100%;border:0}.media-frame select.attachment-filters{margin-top:11px;margin-left:10px}.media-frame .search{margin-top:11px;padding:4px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.media-toolbar-secondary .search{margin-left:16px}.attachments{margin:0;-webkit-overflow-scrolling:touch}.attachment{position:relative;float:right;padding:8px;margin:0;color:#464646;cursor:pointer;list-style:none;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:25%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.attachment.details:focus,.attachment:focus,.selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;outline:0}.selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc}.attachment.details{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe}.attachment-preview{position:relative;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);background:#eee;cursor:pointer}.attachment-preview:before{content:'';display:block;padding-top:100%}.attachment .icon{margin:0 auto;overflow:hidden}.attachment .thumbnail{overflow:hidden;position:absolute;top:0;left:0;bottom:0;right:0;opacity:1;-webkit-transition:opacity .1s;transition:opacity .1s}.attachment .portrait img{max-width:100%}.attachment .landscape img{max-height:100%}.attachment .thumbnail:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.attachment .thumbnail img{top:0;left:0}.attachment .thumbnail .centered{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate(50%,50%);-ms-transform:translate(50%,50%);transform:translate(50%,50%)}.attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.attachment .thumbnail .centered img.icon{-webkit-transform:translate(-50%,-70%);-ms-transform:translate(-50%,-70%);transform:translate(-50%,-70%)}.ie8 .attachment img.icon{top:20%;position:relative}.attachment .filename{position:absolute;right:0;left:0;bottom:0;overflow:hidden;max-height:100%;word-wrap:break-word;text-align:center;font-weight:700;background:rgba(255,255,255,.8);-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.attachment .filename div{padding:5px 10px}.attachment .thumbnail img{position:absolute}.attachment .close{display:none;position:absolute;top:5px;left:5px;height:22px;width:22px;padding:0;font-size:20px;line-height:20px;text-align:center;text-decoration:none;color:#464646;background-color:#fff;background-position:-96px 4px;border-width:0;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3)}.attachment .close:hover{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.6);box-shadow:0 0 0 1px rgba(0,0,0,.6)}.attachment:hover .close{display:block}.attachment .check{display:none;height:24px;width:24px;position:absolute;z-index:10;top:0;left:0;outline:0;background:#eee;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15);box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15)}.attachment .check div{background-position:-1px 0;height:15px;width:15px;margin:5px}.attachment .check:hover div{background-position:-40px 0}.attachment.selected .check{display:block}.attachment.details .check,.attachment.selected .check:focus,.media-frame.mode-grid .attachment.selected .check{background-color:#1e8cbe;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.attachment.details .check div,.media-frame.mode-grid .attachment.selected .check div{background-position:-21px 0}.attachment.details .check:hover div,.attachment.selected .check:focus div,.media-frame.mode-grid .attachment.selected .check:hover div{background-position:-60px 0}.media-frame .attachment .describe{position:relative;display:block;width:100%;margin:0;padding:8px;font-size:12px;-webkit-border-radius:0;border-radius:0}.media-frame .attachments-browser{position:relative;width:100%;height:100%;overflow:hidden}.attachments-browser .media-toolbar{left:300px;height:50px}.attachments-browser.hide-sidebar .media-toolbar{left:0}.attachments-browser .media-toolbar-primary>.media-button,.attachments-browser .media-toolbar-primary>.media-button-group,.attachments-browser .media-toolbar-secondary>.media-button,.attachments-browser .media-toolbar-secondary>.media-button-group{margin:11px 0}.attachments-browser .attachments{padding:2px 8px 8px}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:absolute;top:50px;right:0;left:300px;bottom:0;overflow:auto;outline:0}.attachments-browser .uploader-inline.hidden{display:none}.uploader-inline .close{background-color:transparent;border:0;cursor:pointer;height:48px;position:absolute;left:0;text-align:center;top:0;width:50px;z-index:1}.uploader-inline .close:before{font:400 30px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.attachments-browser.hide-sidebar .attachments,.attachments-browser.hide-sidebar .uploader-inline{left:0;margin-left:0}.attachments-browser .instructions{display:inline-block;margin-top:16px;line-height:18px;font-size:13px;color:#666;margin-left:.5em}.attachments-browser .no-media{padding:2em 2em 0 0}.media-progress-bar{position:relative;height:10px;width:70%;margin:10px auto;-webkit-border-radius:10px;border-radius:10px;background:#dfdfdf;background:rgba(0,0,0,.1)}.media-progress-bar div{height:10px;min-width:20px;width:0;background:#1e8cbe;-webkit-border-radius:10px;border-radius:10px;-webkit-transition:width 300ms;transition:width 300ms}.media-uploader-status .media-progress-bar{display:none;width:100%}.uploading.media-uploader-status .media-progress-bar{display:block}.attachment-preview .media-progress-bar{position:absolute;top:50%;right:15%;width:70%;margin:-5px 0 0}.media-uploader-status{position:relative;margin:0 auto;padding-bottom:10px;max-width:400px}.media-sidebar .media-uploader-status{border-bottom:1px solid #dfdfdf}.uploader-inline .media-uploader-status h3{display:none}.media-uploader-status .upload-details{display:none;font-size:12px;color:#666}.uploading.media-uploader-status .upload-details{display:block}.media-uploader-status .upload-detail-separator{padding:0 4px}.media-uploader-status .upload-count{color:#464646}.media-uploader-status .upload-dismiss-errors,.media-uploader-status .upload-errors{display:none}.errors.media-uploader-status .upload-dismiss-errors,.errors.media-uploader-status .upload-errors{display:block}.media-uploader-status .upload-dismiss-errors{text-decoration:none}.media-sidebar .media-uploader-status .upload-dismiss-errors{position:absolute;top:0;left:0}.upload-errors .upload-error{margin:8px auto 0;padding:8px;border:1px solid #c00;background:#ffebe8;-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-label{padding:2px 4px;margin-left:8px;font-weight:700;color:#fff;background:#e00;background:#e00 -webkit-gradient(linear,right top,right bottom,from(#e00),to(#a00));background:#e00 -webkit-linear-gradient(top,#e00,#a00);background:#e00 linear-gradient(to bottom,#e00,#a00);-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-message{display:block;padding-top:8px;color:#b44;word-wrap:break-word}.uploader-window{position:fixed;top:0;right:0;left:0;bottom:0;background:rgba(0,86,132,.9);z-index:250000;display:none;text-align:center;opacity:0;-webkit-transition:opacity 250ms;transition:opacity 250ms}.uploader-window-content{position:absolute;top:10px;right:10px;left:10px;bottom:10px;border:1px dashed #fff}.uploader-window h3{margin:-.5em 0 0;position:absolute;top:50%;right:0;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:40px;color:#fff;padding:0}.uploader-window .media-progress-bar{margin-top:20px;max-width:300px;background:0 0;border-color:#fff;display:none}.uploader-window .media-progress-bar div{background:#fff}.uploading .uploader-window .media-progress-bar{display:block}.media-frame .uploader-inline{margin-bottom:20px;padding:0;text-align:center}.uploader-inline-content{position:absolute;top:30%;right:0;left:0}.uploader-inline-content .upload-ui{margin:2em 0}.uploader-inline-content .post-upload-ui{margin-bottom:2em}.uploader-inline .has-upload-message .upload-ui{margin:0 0 4em}.uploader-inline h3{font-size:20px;line-height:28px;font-weight:400;margin:0}.uploader-inline .has-upload-message .upload-instructions{font-size:14px;color:#464646;font-weight:400}.uploader-inline .drop-instructions{display:none}.supports-drag-drop .uploader-inline .drop-instructions{display:block}.uploader-inline p{font-size:12px;margin:.5em 0}.uploader-inline .media-progress-bar{display:none}.uploading.uploader-inline .media-progress-bar{display:block}.uploader-inline .browser{display:inline-block!important}.media-selection{position:absolute;top:0;right:0;left:350px;height:60px;padding:0 16px 0 0;overflow:hidden;white-space:nowrap}.media-selection .selection-info{display:inline-block;font-size:12px;height:60px;margin-left:10px;vertical-align:top}.media-selection.editing,.media-selection.empty,.media-selection.one .edit-selection{display:none}.media-selection .count{display:block;padding-top:12px;font-size:14px;line-height:20px;font-weight:700}.media-selection .selection-info a{display:block;float:right;padding:1px 8px;margin:1px -8px 1px 8px;line-height:16px;text-decoration:none;border-left:1px solid #dfdfdf;color:#21759B}.media-selection .selection-info a:hover{background:#21759B;color:#fff;border-color:transparent}.media-selection .selection-info a:last-child{border-left:0;margin-left:0}.media-selection .selection-info .clear-selection{color:red}.media-selection .selection-info .clear-selection:hover{background:red}.media-selection .selection-view{display:inline-block;vertical-align:top}.media-selection .attachments{display:inline-block;height:48px;margin:6px;padding:0;overflow:hidden;vertical-align:top}.media-selection .attachment{width:48px;padding:0;margin:0;-webkit-box-shadow:none;box-shadow:none}.media-selection .attachment .thumbnail{top:4px;left:4px;bottom:4px;right:4px}.media-selection .attachment .icon{width:50%}.media-selection .attachment-preview{-webkit-box-shadow:none;box-shadow:none;background:0 0}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe}.media-selection:after{content:'';display:block;position:absolute;top:0;left:0;bottom:0;width:25px;background-image:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,1)),to(rgba(255,255,255,0)));background-image:-webkit-linear-gradient(left,rgba(255,255,255,1),rgba(255,255,255,0));background-image:linear-gradient(to right,rgba(255,255,255,1),rgba(255,255,255,0))}.media-selection .attachment .filename{display:none}.media-frame .spinner{background:url(../images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:0}.media-toolbar .spinner{margin-top:14px}.attachment-details{position:relative;overflow:auto}.attachment-details .settings-save-status{float:left;text-transform:none;z-index:10}.attachment-details .settings-save-status .spinner{margin:0 5px}.attachment-details .settings-save-status .saved{float:left;display:none}.attachment-details.save-complete .settings-save-status .saved,.attachment-details.save-waiting .settings-save-status .spinner{display:block}.attachment-info{overflow:hidden;min-height:60px;margin-bottom:16px;line-height:18px;color:#666;border-bottom:1px solid #ddd;padding-bottom:11px}.attachment-info .filename{font-weight:700;color:#464646;word-wrap:break-word}.attachment-info .thumbnail{position:relative;float:right;max-width:120px;max-height:120px;margin-top:5px;margin-left:10px;margin-bottom:5px}.uploading .attachment-info .thumbnail{width:120px;height:80px;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1);box-shadow:inset 0 0 15px rgba(0,0,0,.1)}.uploading .attachment-info .media-progress-bar{margin-top:35px}.attachment-info .thumbnail-image:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);overflow:hidden}.attachment-info .thumbnail img{display:block;max-width:120px;max-height:120px;margin:0 auto}.attachment-info .details{float:right;font-size:12px;max-width:100%}.attachment-info .delete-attachment,.attachment-info .edit-attachment,.attachment-info .refresh-attachment,.attachment-info .trash-attachment,.attachment-info .untrash-attachment{display:block;text-decoration:none;white-space:nowrap}.attachment-details.needs-refresh .attachment-info .edit-attachment,.attachment-info .refresh-attachment{display:none}.attachment-details.needs-refresh .attachment-info .refresh-attachment,.attachment-info .edit-attachment{display:block}.media-modal .delete-attachment,.media-modal .trash-attachment,.media-modal .untrash-attachment{color:#bc0b0b}.media-modal .delete-attachment:hover,.media-modal .trash-attachment:hover,.media-modal .untrash-attachment:hover{color:red}.attachment-display-settings{width:100%;float:right;overflow:hidden}.attachment-display-settings h4{margin:1.4em 0 .4em}.collection-settings{overflow:hidden}.collection-settings .setting input[type=checkbox]{float:right;margin-left:8px}.collection-settings .setting span{min-width:inherit}.media-modal .imgedit-wrap{position:static}.media-modal .imgedit-wait{height:auto!important;left:0;bottom:0;right:0}.media-modal .imgedit-wrap .imgedit-panel-content{padding:16px;position:absolute;top:0;left:282px;bottom:0;right:0;overflow:auto}.media-modal .imgedit-wrap .imgedit-settings{background:#f3f3f3;border-right:1px solid #ddd;padding:0 16px 16px;position:absolute;top:0;left:0;bottom:0;width:250px;overflow:auto}.media-modal .imgedit-group{background:0 0;border:none;border-bottom:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;margin:0 0 16px;padding:0 0 16px;position:relative}.media-modal .imgedit-group:last-of-type{border:none;margin:0;padding:0}.media-modal .imgedit-group-top h3{text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 0}.media-modal .imgedit-group-top h3 a{text-decoration:none;color:#666}.media-modal .imgedit-help-toggle{margin-top:-2px;cursor:pointer;color:#666}.media-modal .imgedit-help-toggled span.dashicons:before{content:'\f142'}.media-modal .imgedit-group img{margin-top:5px}.media-modal .imgedit-wrap div.updated{margin:0 0 16px}.embed-url{display:block;position:relative;padding:16px;margin:0;z-index:250;background:#fff;font-size:18px}.media-frame .embed-url input{font-size:18px;padding:12px 14px;width:100%;min-width:200px;-webkit-box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1);box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1)}.media-frame .embed-url .spinner{position:absolute;top:32px;left:26px}.media-frame .embed-loading .embed-url .spinner{display:block}.embed-link-settings,.embed-media-settings{position:absolute;top:70px;right:0;left:0;bottom:0;padding:16px 16px 32px;overflow:auto}.embed-preview embed,.embed-preview iframe,.embed-preview img{max-width:100%}.embed-preview img{height:auto}.image-details .media-modal{right:140px;left:140px}.image-details .media-frame-content,.image-details .media-frame-router,.image-details .media-frame-title{right:0}.image-details .embed-media-settings{top:0;overflow:visible;padding:0}.image-details .embed-media-settings,.image-details .embed-media-settings div{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.image-details .column-settings{background:#f3f3f3;border-left:1px solid #ddd;min-height:100%;width:55%;position:absolute;top:0;right:0}.image-details .column-settings h3{margin:20px;padding-top:20px;border-top:1px solid #ddd}.image-details .column-image{width:45%;position:absolute;right:55%;top:0}.image-details .image{margin:20px}.image-details .image img{max-width:100%;max-height:500px}.image-details .advanced-toggle{color:#666;text-decoration:none;display:block}.image-details .advanced-toggle:after{font:400 20px/1 dashicons;speak:none;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140';display:inline-block;margin-top:-2px}.image-details .advanced-visible .advanced-toggle:after{content:'\f142'}.image-details .embed-media-settings .size{margin-bottom:4px}.image-details .custom-size span{display:block}.image-details .custom-size label{display:block;float:right}.image-details .custom-size span small{color:#999;font-size:inherit}.image-details .custom-size input{width:5em}.image-details .custom-size .sep{float:right;margin:26px 6px 0}.image-details .custom-size:after{content:'';display:table;clear:both}.media-embed .thumbnail{max-width:100%;max-height:200px;position:relative;float:right}.media-embed .thumbnail img{max-height:200px;display:block}.media-embed .thumbnail:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.media-embed .setting{width:100%;margin:10px 0;float:right;display:block;clear:both}.image-details .embed-media-settings .setting{float:none;width:auto}.image-details .actions{margin:10px 0}.image-details .hidden{display:none}.media-embed .setting input[type=text],.media-embed .setting textarea{display:block;width:100%;max-width:400px;margin:1px 0}.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{max-width:inherit;width:70%}.image-details .embed-media-settings .custom-size,.image-details .embed-media-settings .link-target,.image-details .embed-media-settings .setting input.link-to-custom{margin-right:27%;width:70%}.image-details .embed-media-settings .link-target{margin-top:24px}.media-embed .setting input.hidden,.media-embed .setting textarea.hidden{display:none}.media-embed .setting span{display:block;width:200px;font-size:13px;line-height:24px;color:#666}.image-details .embed-media-settings .setting span{float:right;width:25%;text-align:left;margin:8px 1% 0;line-height:1.1}.media-embed .setting .button-group{margin:2px 0}.media-embed-sidebar{position:absolute;top:0;right:440px}.advanced-section,.link-settings{margin-top:10px}#wp-fullscreen-body .uploader-editor,.wp-editor-wrap .uploader-editor{background:rgba(150,150,150,.9);position:absolute;top:0;right:0;width:100%;height:100%;z-index:99998;display:none;text-align:center}#wp-fullscreen-body .uploader-editor{background:rgba(0,86,132,.9);position:fixed;z-index:100050}.wp-editor-wrap.wp-fullscreen-wrap .uploader-editor{opacity:0}#wp-fullscreen-body .uploader-editor-content,.wp-editor-wrap .uploader-editor-content{border:1px dashed #fff;position:absolute;top:10px;right:10px;left:10px;bottom:10px}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor .uploader-editor-title{position:absolute;top:50%;right:0;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:3em;line-height:1.3;font-weight:700;color:#fff;padding:0;margin:0;display:none}.wp-editor-wrap .uploader-editor.droppable{background:rgba(0,86,132,.9)}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor.droppable .uploader-editor-title{display:block}.ie7 .media-frame .attachments-browser{position:static}.ie7 .media-frame .embed-url input{margin-top:4px;width:90%}.ie7 .compat-item{width:99%}.ie7 .attachment-display-settings{width:auto}.ie7 .attachment-preview,.ie7 .attachment-preview .thumbnail{width:120px;height:120px}.ie7 .media-frame .attachment .describe{width:102px}.ie7 .media-sidebar .setting select{max-width:55%}.ie7 .media-sidebar .setting input[type=email],.ie7 .media-sidebar .setting input[type=number],.ie7 .media-sidebar .setting input[type=password],.ie7 .media-sidebar .setting input[type=search],.ie7 .media-sidebar .setting input[type=tel],.ie7 .media-sidebar .setting input[type=text],.ie7 .media-sidebar .setting input[type=url],.ie7 .media-sidebar .setting textarea{width:55%}.ie7 .media-sidebar .setting .link-to-custom{float:right}.rtl .media-frame,.rtl .media-frame .search,.rtl .media-frame input[type=email],.rtl .media-frame input[type=number],.rtl .media-frame input[type=password],.rtl .media-frame input[type=search],.rtl .media-frame input[type=tel],.rtl .media-frame input[type=text],.rtl .media-frame input[type=url],.rtl .media-frame select,.rtl .media-frame textarea,.rtl .media-modal{font-family:Tahoma,sans-serif}:lang(he-il) .rtl .media-frame,:lang(he-il) .rtl .media-frame .search,:lang(he-il) .rtl .media-frame input[type=email],:lang(he-il) .rtl .media-frame input[type=number],:lang(he-il) .rtl .media-frame input[type=password],:lang(he-il) .rtl .media-frame input[type=search],:lang(he-il) .rtl .media-frame input[type=text],:lang(he-il) .rtl .media-frame input[type=url],:lang(he-il) .rtl .media-frame select,:lang(he-il) .rtl .media-frame textarea,:lang(he-il) .rtl .media-modal{font-family:Arial,sans-serif}@media only screen and (max-width:940px){.media-frame-content .media-toolbar-primary .search,.media-frame-content .media-toolbar-secondary .attachment-filters{max-width:134px}}@media only screen and (max-width:900px){.media-frame:not(.hide-menu) .media-frame-content,.media-frame:not(.hide-menu) .media-frame-router,.media-frame:not(.hide-menu) .media-frame-title,.media-frame:not(.hide-menu) .media-frame-toolbar{right:0}.media-frame:not(.hide-menu) .media-frame-menu{position:static;width:0}.media-frame:not(.hide-menu) .media-menu{width:auto;max-width:80%;overflow:auto;z-index:2000;top:50px;right:-300px;left:auto;bottom:auto;padding:5px 0;border:1px solid #ccc}.media-frame:not(.hide-menu) .media-menu.visible{right:0}.media-frame:not(.hide-menu) .media-menu>a{padding:12px 16px;font-size:16px}.media-frame:not(.hide-menu) .media-menu>a.active{display:none}.media-frame:not(.hide-menu) .media-menu .separator{margin:5px 10px}.media-frame:not(.hide-menu) .media-frame-title{right:0;color:#21759b}.media-frame:not(.hide-menu) .media-frame-title .dashicons{display:inline-block;line-height:50px}.media-frame:not(.hide-menu) .media-frame-title h1{line-height:3;font-size:18px;float:right;cursor:pointer}.media-sidebar{width:230px}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{left:262px}.attachment-details .setting,.media-sidebar .setting{margin:6px 0}.attachment-details .setting input,.attachment-details .setting span,.attachment-details .setting textarea,.compat-item label span,.media-sidebar .setting input,.media-sidebar .setting span,.media-sidebar .setting textarea{float:none}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{text-align:inherit;min-height:16px;margin:0;padding:8px 2px 0}.attachment-details .setting .value,.media-sidebar .setting .value{float:none;width:auto}.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting select,.attachment-details .setting textarea,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting select,.media-sidebar .setting textarea{float:none;width:98%;max-width:none;height:auto}.attachment-details .setting select.columns,.media-sidebar .setting select.columns{width:auto}.media-frame .search,.media-frame input,.media-frame textarea{padding:3px 6px}.image-details .column-image{width:30%;right:70%}.image-details .column-settings{width:70%}.image-details .media-modal{right:30px;left:30px}.image-details .embed-media-settings .setting{margin:20px}.image-details .embed-media-settings .setting span{float:none;text-align:right;width:100%;margin-bottom:4px}.image-details .embed-media-settings .setting input.link-to-custom,.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{width:100%;margin-right:0}.image-details .embed-media-settings .custom-size{margin-right:20px}.collection-settings .setting input[type=checkbox]{margin-top:0}.media-selection{min-width:120px}.media-selection:after{background:0 0}.media-selection .attachments{display:none}.media-modal .attachments-browser .media-toolbar-primary,.media-modal .attachments-browser .media-toolbar-secondary{width:50%}.media-modal .attachments-browser .media-toolbar .search{max-width:100%;height:auto;float:left}.media-modal .attachments-browser .media-toolbar .attachment-filters{margin:11px 0 0;height:auto;max-width:65%;max-width:-webkit-calc(100% - 38px);max-width:calc(100% - 38px)}.media-modal .attachments-browser .media-toolbar .spinner{margin:14px 8px 0}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-size:16px}}@media only screen and (max-width:640px),screen and (max-height:400px){.image-details .media-modal,.media-modal{position:fixed;top:0;right:0;left:0;bottom:0}.media-modal-backdrop{position:fixed}.media-sidebar{z-index:1900;max-width:70%;bottom:120%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding-bottom:0}.media-sidebar.visible{bottom:0}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{left:0}.image-details .media-frame-title{display:block;top:0;font-size:14px}.image-details .column-image,.image-details .column-settings{width:100%;position:relative;right:0}.image-details .column-settings{padding:4px 0}.media-frame-content .media-toolbar .instructions{display:none}}@media screen and (max-height:400px){.media-menu{padding:0}.media-frame-router{top:44px}.media-frame-content{top:78px}.attachments-browser .attachments{top:40px}.embed-link-settings{overflow:visible}}@media only screen and (max-width:480px){.media-frame-content .media-toolbar .attachment-filters,.media-frame-content .media-toolbar .search{max-width:90px}.media-modal-close{top:5px;left:5px}.media-modal .media-frame-title{height:40px}.media-frame:not(.hide-menu) .media-frame-title h1,.media-modal .media-frame-title h1{font-size:18px;line-height:40px}.media-frame:not(.hide-menu) .media-frame-title .dashicons{line-height:40px}.media-frame-router,.media-frame:not(.hide-menu) .media-menu{top:40px}.media-frame-content{top:74px}.media-frame.hide-router .media-frame-content{top:40px}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.media-modal-icon{background-image:url(../images/uploader-icons-2x.png);-webkit-background-size:134px 15px;background-size:134px 15px}.media-frame .spinner{background-image:url(../images/spinner-2x.gif)}}.media-frame-content[data-columns="1"] .attachment{width:100%}.media-frame-content[data-columns="2"] .attachment{width:50%}.media-frame-content[data-columns="3"] .attachment{width:33.33%}.media-frame-content[data-columns="4"] .attachment{width:25%}.media-frame-content[data-columns="5"] .attachment{width:20%}.media-frame-content[data-columns="6"] .attachment{width:16.66%}.media-frame-content[data-columns="7"] .attachment{width:14.28%}.media-frame-content[data-columns="8"] .attachment{width:12.5%}.media-frame-content[data-columns="9"] .attachment{width:11.11%}.media-frame-content[data-columns="10"] .attachment{width:10%}.media-frame-content[data-columns="11"] .attachment{width:9.09%}.media-frame-content[data-columns="12"] .attachment{width:8.33%}
\ No newline at end of file
diff --git a/wp-includes/css/media-views.css b/wp-includes/css/media-views.css
index 64893d290..ced0c8fc2 100644
--- a/wp-includes/css/media-views.css
+++ b/wp-includes/css/media-views.css
@@ -16,7 +16,6 @@
 .media-frame input,
 .media-frame textarea {
 	padding: 6px 8px;
-	line-height: 16px;
 }
 
 .media-frame select,
@@ -65,6 +64,17 @@
 	border-color: #dfdfdf;
 }
 
+.media-frame input[type="text"]:focus,
+.media-frame input[type="password"]:focus,
+.media-frame input[type="number"]:focus,
+.media-frame input[type="search"]:focus,
+.media-frame input[type="email"]:focus,
+.media-frame input[type="url"]:focus,
+.media-frame textarea:focus,
+.media-frame select:focus {
+	border-color: #5b9dd9;
+}
+
 .media-frame select {
 	height: 24px;
 	padding: 2px;
@@ -141,19 +151,27 @@
 .media-modal-close {
 	position: absolute;
 	text-decoration: none;
-	top: 5px;
+	top: 10px;
 	right: 10px;
 	width: 30px;
 	height: 30px;
 	z-index: 1000;
+	-webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
+	transition: color .1s ease-in-out, background .1s ease-in-out;
+}
+
+.media-modal-close:active {
+	-webkit-box-shadow: none;
+	box-shadow: none;
 }
 
 .media-modal-close span.media-modal-icon {
 	display: block;
-	margin: 8px auto 0;
-	width: 15px;
+	margin-top: 5px;
+	width: 30px;
 	height: 15px;
 	background-image: none;
+	text-align: center;
 }
 
 .media-modal-close .media-modal-icon:before {
@@ -228,7 +246,6 @@
 .media-toolbar-secondary > .media-button,
 .media-toolbar-secondary > .media-button-group {
 	margin-right: 10px;
-	float: left;
 	margin-top: 15px;
 }
 
@@ -280,64 +297,106 @@
 	margin: 24px 0 8px;
 }
 
-.media-sidebar .setting {
+.media-sidebar .setting,
+.attachment-details .setting {
 	display: block;
 	float: left;
 	width: 100%;
 	margin: 1px 0;
 }
 
-.media-sidebar .setting label {
+.media-sidebar .setting label,
+.attachment-details .setting label {
 	display: block;
 }
 
-.media-sidebar .setting .link-to-custom {
-	margin: 3px 0;
+.media-sidebar .setting .link-to-custom,
+.attachment-details .setting .link-to-custom {
+	margin: 3px 2px 0;
 }
 
-.media-sidebar .setting span {
+.media-sidebar .setting span,
+.attachment-details .setting span {
 	min-width: 30%;
 	margin-right: 4%;
 	font-size: 12px;
+	text-align: right;
 }
 
-.media-sidebar .setting select {
+.media-sidebar .setting select,
+.attachment-details .setting select {
 	max-width: 65%;
 }
 
 .media-sidebar .setting input[type="checkbox"],
-.media-sidebar .field input[type="checkbox"] {
-	width: 16px;
+.media-sidebar .field input[type="checkbox"],
+.media-sidebar .setting input[type="radio"],
+.media-sidebar .field input[type="radio"],
+.attachment-details .setting input[type="checkbox"],
+.attachment-details .field input[type="checkbox"],
+.attachment-details .setting input[type="radio"],
+.attachment-details .field input[type="radio"] {
 	float: none;
 	margin: 8px 3px 0;
 	padding: 0;
 }
 
 .media-sidebar .setting span,
+.attachment-details .setting span,
 .compat-item label span {
 	float: left;
 	min-height: 22px;
 	padding-top: 8px;
 	line-height: 16px;
-	text-align: right;
 	font-weight: normal;
 	color: #666;
 }
 
-.media-sidebar .setting input,
-.media-sidebar .setting textarea {
+.compat-item label span  {
+	text-align: right;
+}
+
+.media-sidebar .setting input[type="text"],
+.media-sidebar .setting input[type="password"],
+.media-sidebar .setting input[type="email"],
+.media-sidebar .setting input[type="number"],
+.media-sidebar .setting input[type="search"],
+.media-sidebar .setting input[type="tel"],
+.media-sidebar .setting input[type="url"],
+.media-sidebar .setting textarea,
+.media-sidebar .setting .value,
+.attachment-details .setting input[type="text"],
+.attachment-details .setting input[type="password"],
+.attachment-details .setting input[type="email"],
+.attachment-details .setting input[type="number"],
+.attachment-details .setting input[type="search"],
+.attachment-details .setting input[type="tel"],
+.attachment-details .setting input[type="url"],
+.attachment-details .setting textarea,
+.attachment-details .setting .value {
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
 	margin: 1px;
 	width: 65%;
 	float: right;
 }
 
+.media-sidebar .setting .value,
+.attachment-details .setting .value {
+	margin: 0 1px;
+	text-align: left;
+}
+
 .media-sidebar .setting textarea,
+.attachment-details .setting textarea,
 .compat-item .field textarea {
 	height: 62px;
 	resize: vertical;
 }
 
-.media-sidebar select {
+.media-sidebar select,
+.attachment-details select {
 	margin-top: 3px;
 }
 
@@ -384,11 +443,23 @@
 	width: 66%;
 }
 
-.compat-item .field input {
+.compat-item .field input[type="text"],
+.compat-item .field input[type="password"],
+.compat-item .field input[type="email"],
+.compat-item .field input[type="number"],
+.compat-item .field input[type="search"],
+.compat-item .field input[type="tel"],
+.compat-item .field input[type="url"] {
 	width: 100%;
 	margin: 0;
 }
 
+.sidebar-for-errors .attachment-details,
+.sidebar-for-errors .compat-item,
+.sidebar-for-errors .media-sidebar .media-progress-bar,
+.sidebar-for-errors .upload-details {
+	display: none !important;
+}
 
 /**
  * Menu
@@ -400,7 +471,7 @@
 	right: 0;
 	bottom: 0;
 	margin: 0;
-	padding: 16px 0;
+	padding: 10px 0;
 	background: #f3f3f3;
 	border-right-width: 1px;
 	border-right-style: solid;
@@ -478,8 +549,7 @@
 	border-right: 0;
 }
 
-.media-router > a:active,
-.media-router > a:focus {
+.media-router > a:active {
 	outline: none;
 }
 
@@ -526,13 +596,13 @@
 	top: 0;
 	left: 200px;
 	right: 0;
-	height: 56px;
+	height: 50px;
 	z-index: 200;
 }
 
 .media-frame-router {
 	position: absolute;
-	top: 56px;
+	top: 50px;
 	left: 200px;
 	right: 0;
 	height: 36px;
@@ -541,7 +611,7 @@
 
 .media-frame-content {
 	position: absolute;
-	top: 90px;
+	top: 84px;
 	left: 200px;
 	right: 0;
 	bottom: 61px;
@@ -583,7 +653,7 @@
 }
 
 .media-frame.hide-router .media-frame-content {
-	top: 56px;
+	top: 50px;
 }
 
 .media-frame.hide-router .media-frame-router {
@@ -596,10 +666,14 @@
 	box-shadow: 0 4px 4px -4px rgba( 0, 0, 0, 0.1 );
 }
 
+.media-frame-title .dashicons {
+	display: none;
+}
+
 .media-frame-title h1 {
 	padding: 0 16px;
 	font-size: 22px;
-	line-height: 60px;
+	line-height: 50px;
 	margin: 0;
 }
 
@@ -659,7 +733,6 @@
 .media-frame .search {
 	margin-top: 11px;
 	padding: 4px;
-	line-height: 18px;
 	font-size: 13px;
 	color: #464646;
 	font-family: "Open Sans", sans-serif;
@@ -675,7 +748,6 @@
  */
 .attachments {
 	margin: 0;
-	padding-right: 16px;
 	-webkit-overflow-scrolling: touch;
 }
 
@@ -685,30 +757,54 @@
 .attachment {
 	position: relative;
 	float: left;
-	padding: 0;
-	margin: 0 10px 20px;
+	padding: 8px;
+	margin: 0;
 	color: #464646;
+	cursor: pointer;
 	list-style: none;
 	text-align: center;
 	-webkit-user-select: none;
 	-moz-user-select: none;
 	-ms-user-select: none;
 	user-select: none;
+	width: 25%;
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
+
+.attachment:focus,
+.selected.attachment:focus,
+.attachment.details:focus {
+	-webkit-box-shadow:
+		inset 0 0 2px 3px #fff,
+		inset 0 0 0 7px #5b9dd9;
+	box-shadow:
+		inset 0 0 2px 3px #fff,
+		inset 0 0 0 7px #5b9dd9;
+	outline: none;
 }
 
 .selected.attachment {
 	-webkit-box-shadow:
-		0 0 0 1px #fff,
-		0 0 0 3px #ccc;
+		inset 0 0 0 5px #fff,
+		inset 0 0 0 7px #ccc;
 	box-shadow:
-		0 0 0 1px #fff,
-		0 0 0 3px #ccc;
+		inset 0 0 0 5px #fff,
+		inset 0 0 0 7px #ccc;
+}
+
+.attachment.details {
+	-webkit-box-shadow:
+		inset 0 0 0 3px #fff,
+		inset 0 0 0 7px #1e8cbe;
+	box-shadow:
+		inset 0 0 0 3px #fff,
+		inset 0 0 0 7px #1e8cbe;
 }
 
 .attachment-preview {
 	position: relative;
-	width: 199px;
-	height: 199px;
 	-webkit-box-shadow:
 		inset 0 0 15px rgba( 0, 0, 0, 0.1 ),
 		inset 0 0 0 1px rgba( 0, 0, 0, 0.05 );
@@ -719,24 +815,38 @@
 	cursor: pointer;
 }
 
+.attachment-preview:before {
+	content: '';
+	display: block;
+	padding-top: 100%;
+}
+
 .attachment .icon {
 	margin: 0 auto;
 	overflow: hidden;
-	padding-top: 20%;
 }
 
 .attachment .thumbnail {
-	display: block;
+	overflow: hidden;
 	position: absolute;
 	top: 0;
+	right: 0;
+	bottom: 0;
 	left: 0;
-	margin: 0 auto;
-	overflow: hidden;
+	opacity: 1;
+	-webkit-transition: opacity .1s;
+	transition: opacity .1s;
+}
+
+.attachment .portrait img {
 	max-width: 100%;
+}
+
+.attachment .landscape img {
 	max-height: 100%;
 }
 
-.attachment-preview .thumbnail:after {
+.attachment .thumbnail:after {
 	content: '';
 	display: block;
 	position: absolute;
@@ -763,16 +873,27 @@
 	width: 100%;
 	height: 100%;
 	-webkit-transform: translate( 50%, 50% );
-	-ms-transform: translate( 50%, 50% );
+	-ms-transform: translate(50%,50%); /* Fails with spaces?? Weird! */
 	transform: translate( 50%, 50% );
 }
 
 .attachment .thumbnail .centered img {
 	-webkit-transform: translate( -50%, -50% );
-	-ms-transform: translate( -50%, -50% );
+	-ms-transform: translate(-50%,-50%);
 	transform: translate( -50%, -50% );
 }
 
+.attachment .thumbnail .centered img.icon {
+	-webkit-transform: translate( -50%, -70% );
+	-ms-transform: translate(-50%,-70%);
+	transform: translate( -50%, -70% );
+}
+
+.ie8 .attachment img.icon {
+	top: 20%;
+	position: relative;
+}
+
 .attachment .filename {
 	position: absolute;
 	left: 0;
@@ -780,7 +901,6 @@
 	bottom: 0;
 	overflow: hidden;
 	max-height: 100%;
-
 	word-wrap: break-word;
 	text-align: center;
 	font-weight: bold;
@@ -793,11 +913,6 @@
 	padding: 5px 10px;
 }
 
-.attachment-preview .thumbnail {
-	width: 199px;
-	height: 199px;
-}
-
 .attachment .thumbnail img {
 	position: absolute;
 }
@@ -838,12 +953,13 @@
 	height: 24px;
 	width: 24px;
 	position: absolute;
-	top: -6px;
-	right: -6px;
+	z-index: 10;
+	top: 0;
+	right: 0;
 	outline: none;
 	background: #eee;
-	-webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba( 0, 0, 0, 0.4 );
-	box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba( 0, 0, 0, 0.4 );
+	-webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba( 0, 0, 0, 0.15 );
+	box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba( 0, 0, 0, 0.15 );
 }
 
 .attachment .check div {
@@ -861,26 +977,26 @@
 	display: block;
 }
 
-.attachment.details {
-	-webkit-box-shadow: 0 0 0 1px #fff,
-				0 0 0 5px #1e8cbe;
-	box-shadow: 0 0 0 1px #fff,
-				0 0 0 5px #1e8cbe;
-}
-
-.attachment.details .check {
+.attachment.details .check,
+.attachment.selected .check:focus,
+.media-frame.mode-grid .attachment.selected .check {
 	background-color: #1e8cbe;
-	-webkit-box-shadow: 0 0 0 1px #fff,
-				0 0 0 2px #1e8cbe;
-	box-shadow: 0 0 0 1px #fff,
-				0 0 0 2px #1e8cbe;
+	-webkit-box-shadow:
+		0 0 0 1px #fff,
+		0 0 0 2px #1e8cbe;
+	box-shadow:
+		0 0 0 1px #fff,
+		0 0 0 2px #1e8cbe;
 }
 
-.attachment.details .check div {
+.attachment.details .check div,
+.media-frame.mode-grid .attachment.selected .check div {
 	background-position: -21px 0;
 }
 
-.attachment.details .check:hover div {
+.attachment.details .check:hover div,
+.attachment.selected .check:focus div,
+.media-frame.mode-grid .attachment.selected .check:hover div {
 	background-position: -60px 0;
 }
 
@@ -888,7 +1004,7 @@
 	position: relative;
 	display: block;
 	width: 100%;
-	margin: -1px 0 0;
+	margin: 0;
 	padding: 8px;
 	font-size: 12px;
 	-webkit-border-radius: 0;
@@ -910,11 +1026,19 @@
 	height: 50px;
 }
 
+.attachments-browser.hide-sidebar .media-toolbar {
+	right: 0;
+}
+
 .attachments-browser .media-toolbar-primary > .media-button,
 .attachments-browser .media-toolbar-primary > .media-button-group,
 .attachments-browser .media-toolbar-secondary > .media-button,
 .attachments-browser .media-toolbar-secondary > .media-button-group {
-	margin-top: 10px;
+	margin: 11px 0;
+}
+
+.attachments-browser .attachments {
+	padding: 2px 8px 8px;
 }
 
 .attachments-browser .attachments,
@@ -925,6 +1049,38 @@
 	right: 300px;
 	bottom: 0;
 	overflow: auto;
+	outline: none;
+}
+
+.attachments-browser .uploader-inline.hidden {
+	display: none;
+}
+
+.uploader-inline .close {
+	background-color: transparent;
+	border: 0;
+	cursor: pointer;
+	height: 48px;
+	position: absolute;
+	right: 0;
+	text-align: center;
+	top: 0;
+	width: 50px;
+	z-index: 1;
+}
+
+.uploader-inline .close:before {
+	font: normal 30px/50px 'dashicons' !important;
+	color: #777;
+	display: inline-block;
+	content: '\f335';
+	font-weight: 300;
+}
+
+.attachments-browser.hide-sidebar .attachments,
+.attachments-browser.hide-sidebar .uploader-inline {
+	right: 0;
+	margin-right: 0;
 }
 
 .attachments-browser .instructions {
@@ -936,6 +1092,10 @@
 	margin-right: 0.5em;
 }
 
+.attachments-browser .no-media {
+	padding: 2em 0 0 2em;
+}
+
 /**
  * Progress Bar
  */
@@ -957,8 +1117,8 @@
 	background: #1e8cbe;
 	-webkit-border-radius: 10px;
 	border-radius: 10px;
-	-webkit-transition:         width 300ms;
-	transition:         width 300ms;
+	-webkit-transition: width 300ms;
+	transition: width 300ms;
 }
 
 .media-uploader-status .media-progress-bar {
@@ -987,8 +1147,6 @@
 
 .media-sidebar .media-uploader-status {
 	border-bottom: 1px solid #dfdfdf;
-	-webkit-box-shadow: 0 1px 0 #fff;
-	box-shadow: 0 1px 0 #fff;
 }
 
 .uploader-inline .media-uploader-status h3 {
@@ -1093,7 +1251,7 @@
 	left: 0;
 	right: 0;
 	-webkit-transform: translateY( -50% );
-	-ms-transform: translateY( -50% );
+	-ms-transform: translateY(-50%);
 	transform: translateY( -50% );
 	font-size: 40px;
 	color: #fff;
@@ -1117,8 +1275,8 @@
 }
 
 .media-frame .uploader-inline {
-	margin: 20px;
-	padding: 20px;
+	margin-bottom: 20px;
+	padding: 0;
 	text-align: center;
 }
 
@@ -1130,7 +1288,7 @@
 }
 
 .uploader-inline-content .upload-ui {
-	margin: 4em 0;
+	margin: 2em 0;
 }
 
 .uploader-inline-content .post-upload-ui {
@@ -1145,7 +1303,7 @@
 	font-size: 20px;
 	line-height: 28px;
 	font-weight: 400;
-	margin-bottom: 1.6em;
+	margin: 0;
 }
 
 .uploader-inline .has-upload-message .upload-instructions {
@@ -1164,6 +1322,7 @@
 
 .uploader-inline p {
 	font-size: 12px;
+	margin: 0.5em 0;
 }
 
 .uploader-inline .media-progress-bar {
@@ -1255,30 +1414,38 @@
 .media-selection .attachments {
 	display: inline-block;
 	height: 48px;
-	margin-top: 5px;
+	margin: 6px;
+	padding: 0;
 	overflow: hidden;
 	vertical-align: top;
 }
 
+.media-selection .attachment {
+	width: 48px;
+	padding: 0;
+	margin: 0;
+	-webkit-box-shadow: none;
+	box-shadow: none;
+}
+
+.media-selection .attachment .thumbnail {
+	top: 4px;
+	right: 4px;
+	bottom: 4px;
+	left: 4px;
+}
+
 .media-selection .attachment .icon {
 	width: 50%;
 }
 
-.attachment.selection.selected {
+.media-selection .attachment-preview {
 	-webkit-box-shadow: none;
 	box-shadow: none;
+	background: none;
 }
 
-.attachment.selection.details {
-	-webkit-box-shadow:
-		0 0 0 1px #fff,
-		0 0 0 4px #1e8cbe;
-	box-shadow:
-		0 0 0 1px #fff,
-		0 0 0 4px #1e8cbe;
-}
-
-.media-selection .attachment.selection.details {
+.media-selection .attachment.selection.details .thumbnail {
 	-webkit-box-shadow:
 		0 0 0 1px #fff,
 		0 0 0 3px #1e8cbe;
@@ -1307,7 +1474,6 @@
 /**
  * Spinner
  */
-
 .media-frame .spinner {
 	background: url(../images/spinner.gif) no-repeat;
 	-webkit-background-size: 20px 20px;
@@ -1324,35 +1490,34 @@
 	margin-top: 14px;
 }
 
-.media-sidebar .settings-save-status {
-	background: #f5f5f5;
+/**
+ * Attachment Details
+ */
+.attachment-details {
+	position: relative;
+	overflow: auto;
+}
+
+.attachment-details .settings-save-status {
 	float: right;
 	text-transform: none;
 	z-index: 10;
 }
 
-.media-sidebar .settings-save-status .spinner {
+.attachment-details .settings-save-status .spinner {
 	margin: 0 5px 0;
 }
 
-.media-sidebar .settings-save-status .saved {
+.attachment-details .settings-save-status .saved {
 	float: right;
 	display: none;
 }
 
-.media-sidebar .save-waiting .settings-save-status .spinner,
-.media-sidebar .save-complete .settings-save-status .saved {
+.attachment-details.save-waiting .settings-save-status .spinner,
+.attachment-details.save-complete .settings-save-status .saved {
 	display: block;
 }
 
-/**
- * Attachment Details
- */
-.attachment-details {
-	position: relative;
-	overflow: auto;
-}
-
 .attachment-info {
 	overflow: hidden;
 	min-height: 60px;
@@ -1390,7 +1555,7 @@
 	margin-top: 35px;
 }
 
-.attachment-info .thumbnail:after {
+.attachment-info .thumbnail-image:after {
 	content: '';
 	display: block;
 	position: absolute;
@@ -1419,7 +1584,8 @@
 .attachment-info .edit-attachment,
 .attachment-info .refresh-attachment,
 .attachment-info .delete-attachment,
-.attachment-info .trash-attachment {
+.attachment-info .trash-attachment,
+.attachment-info .untrash-attachment {
 	display: block;
 	text-decoration: none;
 	white-space: nowrap;
@@ -1435,13 +1601,15 @@
 	display: block;
 }
 
-.attachment-info .delete-attachment,
-.attachment-info .trash-attachment {
+.media-modal .delete-attachment,
+.media-modal .trash-attachment,
+.media-modal .untrash-attachment {
 	color: #bc0b0b;
 }
 
-.attachment-info .delete-attachment:hover,
-.attachment-info .trash-attachment:hover {
+.media-modal .delete-attachment:hover,
+.media-modal .trash-attachment:hover,
+.media-modal .untrash-attachment:hover {
 	color: red;
 }
 
@@ -1474,19 +1642,18 @@
 /**
  * Image Editor
  */
-
-.media-frame .imgedit-wrap {
+.media-modal .imgedit-wrap {
 	position: static;
 }
 
-.media-frame .imgedit-wait {
+.media-modal .imgedit-wait {
 	height: auto !important;
 	right: 0;
 	bottom: 0;
 	left: 0;
 }
 
-.media-frame .imgedit-wrap .imgedit-panel-content {
+.media-modal .imgedit-wrap .imgedit-panel-content {
 	padding: 16px;
 	position: absolute;
 	top: 0;
@@ -1496,7 +1663,7 @@
 	overflow: auto;
 }
 
-.media-frame .imgedit-wrap .imgedit-settings {
+.media-modal .imgedit-wrap .imgedit-settings {
 	background: #f3f3f3;
 	border-left: 1px solid #ddd;
 	padding: 0 16px 16px;
@@ -1508,7 +1675,7 @@
 	overflow: auto;
 }
 
-.media-frame .imgedit-group {
+.media-modal .imgedit-group {
 	background: none;
 	border: none;
 	border-bottom: 1px solid #ddd;
@@ -1518,15 +1685,16 @@
 	margin-bottom: 16px;
 	padding: 0;
 	padding-bottom: 16px;
+	position: relative; /* RTL fix, #WP29352 */
 }
 
-.media-frame .imgedit-group:last-of-type {
+.media-modal .imgedit-group:last-of-type {
 	border: none;
 	margin: 0;
 	padding: 0;
 }
 
-.media-frame .imgedit-group-top h3 {
+.media-modal .imgedit-group-top h3 {
 	text-transform: uppercase;
 	font-size: 12px;
 	color: #666;
@@ -1534,26 +1702,26 @@
 	margin-top: 24px;
 }
 
-.media-frame .imgedit-group-top h3 a {
+.media-modal .imgedit-group-top h3 a {
 	text-decoration: none;
 	color: #666;
 }
 
-.media-frame .imgedit-help-toggle {
+.media-modal .imgedit-help-toggle {
 	margin-top: -2px;
 	cursor: pointer;
 	color: #666;
 }
 
-.media-frame .imgedit-help-toggled span.dashicons:before {
+.media-modal .imgedit-help-toggled span.dashicons:before {
 	content: '\f142';
 }
 
-.media-frame .imgedit-group img {
+.media-modal .imgedit-group img {
 	margin-top: 5px;
 }
 
-.media-frame .imgedit-wrap div.updated {
+.media-modal .imgedit-wrap div.updated {
 	margin: 0;
 	margin-bottom: 16px;
 }
@@ -1583,7 +1751,7 @@
 
 .media-frame .embed-url .spinner {
 	position: absolute;
-	top: 16px;
+	top: 32px;
 	right: 26px;
 }
 
@@ -1594,7 +1762,7 @@
 .embed-link-settings,
 .embed-media-settings {
 	position: absolute;
-	top: 60px;
+	top: 70px;
 	left: 0;
 	right: 0;
 	bottom: 0;
@@ -1602,15 +1770,19 @@
 	overflow: auto;
 }
 
+.embed-preview img, .embed-preview iframe, .embed-preview embed {
+	max-width: 100%;
+}
+
+.embed-preview img {
+	height: auto;
+}
+
 .image-details .media-modal {
 	left: 140px;
 	right: 140px;
 }
 
-.image-details .media-frame-menu {
-	display: none;
-}
-
 .image-details .media-frame-title,
 .image-details .media-frame-content,
 .image-details .media-frame-router {
@@ -1623,11 +1795,18 @@
 	padding: 0;
 }
 
+.image-details .embed-media-settings,
+.image-details .embed-media-settings div {
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
+
 .image-details .column-settings {
 	background: #f3f3f3;
 	border-right: 1px solid #ddd;
 	min-height: 100%;
-	width: 52%;
+	width: 55%;
 	position: absolute;
 	top: 0;
 	left: 0;
@@ -1640,9 +1819,9 @@
 }
 
 .image-details .column-image {
-	width: 48%;
+	width: 45%;
 	position: absolute;
-	left: 52%;
+	left: 55%;
 	top: 0;
 }
 
@@ -1661,7 +1840,7 @@
 	display: block;
 }
 
-.image-details .advanced-toggle::after {
+.image-details .advanced-toggle:after {
 	font: normal 20px/1 'dashicons';
 	speak: none;
 	vertical-align: top;
@@ -1672,9 +1851,8 @@
 	margin-top: -2px;
 }
 
-.image-details .advanced-visible .advanced-toggle::after {
+.image-details .advanced-visible .advanced-toggle:after {
 	content: '\f142';
-	margin-top: 0;
 }
 
 .image-details .embed-media-settings .size {
@@ -1704,10 +1882,10 @@
 	margin: 26px 6px 0 6px;
 }
 
-.image-details .custom-size::after {
-    content: '';
+.image-details .custom-size:after {
+	content: '';
 	display: table;
-    clear: both;
+	clear: both;
 }
 
 .media-embed .thumbnail {
@@ -1858,7 +2036,7 @@
 	left: 0;
 	right: 0;
 	-webkit-transform: translateY( -50% );
-	-ms-transform: translateY( -50% );
+	-ms-transform: translateY(-50%);
 	transform: translateY( -50% );
 	font-size: 3em;
 	line-height: 1.3;
@@ -1912,7 +2090,13 @@
 	max-width: 55%;
 }
 
-.ie7 .media-sidebar .setting input,
+.ie7 .media-sidebar .setting input[type="text"],
+.ie7 .media-sidebar .setting input[type="password"],
+.ie7 .media-sidebar .setting input[type="email"],
+.ie7 .media-sidebar .setting input[type="number"],
+.ie7 .media-sidebar .setting input[type="search"],
+.ie7 .media-sidebar .setting input[type="tel"],
+.ie7 .media-sidebar .setting input[type="url"],
 .ie7 .media-sidebar .setting textarea {
 	width: 55%;
 }
@@ -1933,6 +2117,7 @@
 .rtl .media-frame input[type="search"],
 .rtl .media-frame input[type="email"],
 .rtl .media-frame input[type="url"],
+.rtl .media-frame input[type="tel"],
 .rtl .media-frame textarea,
 .rtl .media-frame select {
 	font-family: Tahoma, sans-serif;
@@ -1952,13 +2137,10 @@
 	font-family: Arial, sans-serif;
 }
 
-
-
-
-@media only screen and (max-width: 960px) {
+@media only screen and (max-width: 940px) {
 	.media-frame-content .media-toolbar-primary .search,
 	.media-frame-content .media-toolbar-secondary .attachment-filters {
-		max-width: 120px;
+		max-width: 134px;
 	}
 }
 
@@ -1966,56 +2148,134 @@
  * Responsive layout
  */
 @media only screen and (max-width: 900px) {
-	.media-frame-menu {
-		width: 139px;
+
+	/* Drop-down menu */
+	.media-frame:not(.hide-menu) .media-frame-title,
+	.media-frame:not(.hide-menu) .media-frame-router,
+	.media-frame:not(.hide-menu) .media-frame-content,
+	.media-frame:not(.hide-menu) .media-frame-toolbar {
+		left: 0;
 	}
 
-	.media-menu > a {
-		padding: 4px 5px;
+	.media-frame:not(.hide-menu) .media-frame-menu {
+		position: static;
+		width: 0;
 	}
 
-	.media-frame-title,
-	.media-frame-router,
-	.media-frame-content,
-	.media-frame-toolbar {
-		left: 140px;
+	.media-frame:not(.hide-menu) .media-menu {
+		width: auto;
+		max-width: 80%;
+		overflow: auto;
+		z-index: 2000;
+		top: 50px;
+		left: -300px;
+		right: auto;
+		bottom: auto;
+		padding: 5px 0;
+		border: 1px solid #ccc;
+	}
+
+	.media-frame:not(.hide-menu) .media-menu.visible {
+		left: 0;
+	}
+
+	.media-frame:not(.hide-menu) .media-menu > a {
+		padding: 12px 16px;
+		font-size: 16px;
+	}
+
+	.media-frame:not(.hide-menu) .media-menu > a.active {
+		display: none;
+	}
+
+	.media-frame:not(.hide-menu) .media-menu .separator {
+		margin: 5px 10px;
 	}
 
+	.media-frame:not(.hide-menu) .media-frame-title {
+		left: 0;
+		color: #21759b;
+	}
+
+	.media-frame:not(.hide-menu) .media-frame-title .dashicons {
+		display: inline-block;
+		line-height: 50px;
+	}
+
+	.media-frame:not(.hide-menu) .media-frame-title h1 {
+		line-height: 3;
+		font-size: 18px;
+		float: left;
+		cursor: pointer;
+	}
+	/* End drop-down menu */
+
 	.media-sidebar {
-		width: 159px;
-		padding: 0 10px 24px;
+		width: 230px;
 	}
 
 	.attachments-browser .attachments,
 	.attachments-browser .uploader-inline,
 	.attachments-browser .media-toolbar {
-		right: 180px;
+		right: 262px;
+	}
+
+	.media-sidebar .setting,
+	.attachment-details .setting {
+		margin: 6px 0px;
 	}
 
 	.media-sidebar .setting input,
 	.media-sidebar .setting textarea,
 	.media-sidebar .setting span,
+	.attachment-details .setting input,
+	.attachment-details .setting textarea,
+	.attachment-details .setting span,
 	.compat-item label span {
 		float: none;
 	}
 
 	.media-sidebar .setting span,
+	.attachment-details .setting span,
 	.compat-item label span {
 		text-align: inherit;
-		display: block;
 		min-height: 16px;
 		margin: 0;
 		padding: 8px 2px 0;
 	}
 
-	.media-sidebar .setting input,
+	.media-sidebar .setting .value,
+	.attachment-details .setting .value {
+		float: none;
+		width: auto;
+	}
+
+	.media-sidebar .setting input[type="text"],
+	.media-sidebar .setting input[type="password"],
+	.media-sidebar .setting input[type="email"],
+	.media-sidebar .setting input[type="number"],
+	.media-sidebar .setting input[type="search"],
+	.media-sidebar .setting input[type="tel"],
+	.media-sidebar .setting input[type="url"],
 	.media-sidebar .setting textarea,
-	.media-sidebar .setting select {
+	.media-sidebar .setting select,
+	.attachment-details .setting input[type="text"],
+	.attachment-details .setting input[type="password"],
+	.attachment-details .setting input[type="email"],
+	.attachment-details .setting input[type="number"],
+	.attachment-details .setting input[type="search"],
+	.attachment-details .setting input[type="tel"],
+	.attachment-details .setting input[type="url"],
+	.attachment-details .setting textarea,
+	.attachment-details .setting select {
+		float: none;
 		width: 98%;
 		max-width: none;
+		height: auto;
 	}
 
-	.media-sidebar .setting select.columns {
+	.media-sidebar .setting select.columns,
+	.attachment-details .setting select.columns {
 		width: auto;
 	}
 
@@ -2025,8 +2285,13 @@
 		padding: 3px 6px;
 	}
 
-	.media-frame-content .attachment .icon {
-		top: 40%;
+	.image-details .column-image {
+		width: 30%;
+		left: 70%;
+	}
+
+	.image-details .column-settings {
+		width: 70%;
 	}
 
 	.image-details .media-modal {
@@ -2056,6 +2321,10 @@
 		margin-left: 20px;
 	}
 
+	.collection-settings .setting input[type="checkbox"] {
+		margin-top: 0;
+	}
+
 	.media-selection {
 		min-width: 120px;
 	}
@@ -2068,12 +2337,27 @@
 		display: none;
 	}
 
-	.media-menu .separator {
-		margin: 12px 10px;
+	.media-modal .attachments-browser .media-toolbar-primary,
+	.media-modal .attachments-browser .media-toolbar-secondary {
+		width: 50%;
 	}
 
-	.media-modal-close {
-		right: 10px;
+	.media-modal .attachments-browser .media-toolbar .search {
+		max-width: 100%;
+		height: auto;
+		float: right;
+	}
+
+	.media-modal .attachments-browser .media-toolbar .attachment-filters {
+		margin: 11px 0 0;
+		height: auto;
+		max-width: 65%;
+		max-width: -webkit-calc(100% - 38px);
+		max-width: calc(100% - 38px);
+	}
+
+	.media-modal .attachments-browser .media-toolbar .spinner {
+		margin: 14px 8px 0;
 	}
 
 	/* Text inputs need to be 16px, or they force zooming on iOS */
@@ -2091,37 +2375,38 @@
 
 /* Responsive on portrait and landscape */
 @media only screen and (max-width: 640px), screen and (max-height: 400px) {
-
-	/* Media tabs on the top */
-	.media-frame-content .media-toolbar .instructions {
-		display: none;
+	/* Full-bleed modal */
+	.media-modal,
+	.image-details .media-modal {
+		position: fixed;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
 	}
 
-	.media-frame-menu {
-		width: auto;
-		bottom: auto;
-		right: 0;
-		height: 60px;
+	.media-modal-backdrop {
+		position: fixed;
 	}
 
-	.media-menu {
-		border-right: none;
-		position: relative;
-		border-bottom: 1px solid #dddddd;
-		overflow: hidden;
-		padding: 10px 0 10px 10px;
+	.media-sidebar {
+		z-index: 1900;
+		max-width: 70%;
+		bottom: 120%;
+		-webkit-box-sizing: border-box;
+		-moz-box-sizing: border-box;
+		box-sizing: border-box;
+		padding-bottom: 0;
 	}
 
-	.media-menu a {
-		float: left;
-		width: 42%;
-		white-space: nowrap;
-		text-overflow: ellipsis;
-		overflow: hidden;
+	.media-sidebar.visible {
+		bottom: 0;
 	}
 
-	.media-frame-title {
-		display: none;
+	.attachments-browser .attachments,
+	.attachments-browser .uploader-inline,
+	.attachments-browser .media-toolbar {
+		right: 0;
 	}
 
 	.image-details .media-frame-title {
@@ -2130,223 +2415,149 @@
 		font-size: 14px;
 	}
 
-	.media-frame-toolbar {
-		position: absolute;
-		bottom: 0px;
-		left: 0;
-		right: 0;
-		background: #FFF;
-		border-top: 1px solid #DEDEDE;
-	}
-
-	.media-toolbar {
+	.image-details .column-image,
+	.image-details .column-settings {
+		width: 100%;
 		position: relative;
+		left: 0;
 	}
 
-	.media-frame {
-		overflow: hidden;
-	}
-
-	.attachments-browser .attachments {
-		top: 42px;
-	}
-
-	.attachment-details h3 {
-		margin-top: 45px;
-	}
-
-	/* Shorten right-side links so they don't overlap the close button */
-	.media-menu a:nth-child(2),
-	.media-menu a:last-child {
-		width: 40%;
+	.image-details .column-settings {
+		padding: 4px 0;
 	}
 
-	.media-menu .separator {
+	/* Media tabs on the top */
+	.media-frame-content .media-toolbar .instructions {
 		display: none;
 	}
+}
 
-	.media-frame-title {
-		top: 72px;
-		left: auto;
-		height: auto;
-	}
-
-	.media-frame-title h1 {
-		line-height: 3;
-		font-size: 18px;
+/* Landscape specific header override */
+@media screen and (max-height: 400px) {
+	.media-menu {
+		padding: 0;
 	}
 
 	.media-frame-router {
-		top: 84px;
-		left: 0;
+		top: 44px;
 	}
 
 	.media-frame-content {
-		left: 0;
-		top: 118px;
+		top: 78px;
 	}
 
-	.image-details .media-frame.hide-router .media-frame-content {
+	.attachments-browser .attachments {
 		top: 40px;
 	}
 
-	.media-frame .attachments-browser {
-		padding-bottom: 300px;
-	}
-
-	.media-sidebar {
-		border-bottom: 1px solid #dddddd;
-	}
-
-	.media-modal {
-		width: auto;
-	}
-
-	.media-toolbar-primary, .media-toolbar-secondary {
-		height: auto;
-	}
-
-	.uploader-inline h3 {
-		margin: 0 0 .8em 0;
-	}
-
-	.uploader-inline-content {
-		top: auto;
-	}
-
-	.uploader-inline-content .upload-ui {
-		margin: 0;
-	}
-
-	.attachments-browser .attachments, .attachments-browser .uploader-inline {
-		position: relative;
-		margin-right: 180px;
+	/* Prevent unnecessary scrolling on title input */
+	.embed-link-settings {
+		overflow: visible;
 	}
+}
 
-	/* Full-bleed modal */
-	.media-modal,
-	.image-details .media-modal {
-		position: fixed;
-		top: 0;
-		left: 0;
-		right: 0;
-		bottom: 0;
+@media only screen and (max-width: 480px) {
+	.media-frame-content .media-toolbar .search,
+	.media-frame-content .media-toolbar .attachment-filters {
+		max-width: 90px;
 	}
 
-	.media-modal-backdrop {
-		position: fixed;
+	.media-modal-close {
+		top: 5px;
+		right: 5px;
 	}
 
-	.attachments-browser .attachment,
-	.attachments-browser .attachment-preview {
-		max-width: 100%;
+	.media-modal .media-frame-title {
+		height: 40px;
 	}
 
-	.attachments-browser .media-toolbar-primary input.search {
-		max-width: 150px;
+	.media-modal .media-frame-title h1,
+	.media-frame:not(.hide-menu) .media-frame-title h1 {
+		font-size: 18px;
+		line-height: 40px;
 	}
 
-	.uploader-inline-content {
-		position: relative;
+	.media-frame:not(.hide-menu) .media-frame-title .dashicons {
+		line-height: 40px;
 	}
 
-	.media-sidebar .setting input[type="checkbox"],
-	.media-sidebar .field input[type="checkbox"] {
-		width: 25px;
+	.media-frame-router,
+	.media-frame:not(.hide-menu) .media-menu {
+		top: 40px;
 	}
 
-	/* Image From Link */
-	.embed-link-settings,
-	.embed-media-settings {
-		padding-bottom: 52px;
+	.media-frame-content {
+		top: 74px;
 	}
 
-	.image-details .column-settings,
-	.image-details .column-image {
-		position: relative;
-		padding: 10px 0 20px 0;
-		left: 0;
-		width: 100%;
-		min-height: inherit;
+	.media-frame.hide-router .media-frame-content {
+		top: 40px;
 	}
+}
 
+/**
+ * HiDPI Displays
+ */
+@media print,
+  (-o-min-device-pixel-ratio: 5/4),
+  (-webkit-min-device-pixel-ratio: 1.25),
+  (min-resolution: 120dpi) {
 
-	/* Gallery */
-	.media-frame.hide-router .media-frame-content {
-		top: 73px;
-		border-top: none;
+	.media-modal-icon {
+		background-image: url(../images/uploader-icons-2x.png);
+		-webkit-background-size: 134px 15px;
+		background-size: 134px 15px;
 	}
 
-	.collection-settings h3 {
-		margin-top: 45px;
+	.media-frame .spinner {
+		background-image: url(../images/spinner-2x.gif);
 	}
-
 }
 
-/* Landscape specific header override */
-@media screen and (max-height: 400px) {
-	.media-menu {
-		padding: 0 0 0 10px;
-	}
+.media-frame-content[data-columns="1"] .attachment {
+	width: 100%;
+}
 
-	.media-menu a {
-		float: left;
-		width: 21%;
-		white-space: nowrap;
-		text-overflow: ellipsis;
-		overflow: hidden;
-		padding: 10px inherit;
-	}
+.media-frame-content[data-columns="2"] .attachment {
+	width: 50%;
+}
 
-	.media-menu a:nth-child(2),
-	.media-menu a:last-child {
-		width: 21%;
-	}
+.media-frame-content[data-columns="3"] .attachment {
+	width: 33.33%;
+}
 
-	.media-modal-close {
-		top: 2px;
-	}
+.media-frame-content[data-columns="4"] .attachment {
+	width: 25%;
+}
 
-	.media-frame-router {
-		top: 44px;
-	}
+.media-frame-content[data-columns="5"] .attachment {
+	width: 20%;
+}
 
-	.media-frame-content {
-		top: 78px;
-	}
+.media-frame-content[data-columns="6"] .attachment {
+	width: 16.66%;
+}
 
-	.attachments-browser .attachments {
-		top: 2px;
-	}
+.media-frame-content[data-columns="7"] .attachment {
+	width: 14.28%;
+}
 
-	/* Prevent unnecessary scrolling on title input */
-	.embed-link-settings {
-		overflow: visible;
-	}
+.media-frame-content[data-columns="8"] .attachment {
+	width: 12.5%;
 }
 
-@media only screen and (max-width: 680px) {
-	.media-frame-content .media-toolbar .search,
-	.media-frame-content .media-toolbar .attachment-filters {
-		max-width: 85px;
-	}
+.media-frame-content[data-columns="9"] .attachment {
+	width: 11.11%;
 }
 
-/**
- * HiDPI Displays
- */
-@media print,
-  (-o-min-device-pixel-ratio: 5/4),
-  (-webkit-min-device-pixel-ratio: 1.25),
-  (min-resolution: 120dpi) {
+.media-frame-content[data-columns="10"] .attachment {
+	width: 10%;
+}
 
-  	.media-modal-icon {
-  		background-image: url(../images/uploader-icons-2x.png);
-  		-webkit-background-size: 134px 15px;
-  		background-size: 134px 15px;
-  	}
+.media-frame-content[data-columns="11"] .attachment {
+	width: 9.09%;
+}
 
-  	.media-frame .spinner {
-  		background-image: url(../images/spinner-2x.gif);
-  	}
+.media-frame-content[data-columns="12"] .attachment {
+	width: 8.33%;
 }
diff --git a/wp-includes/css/media-views.min.css b/wp-includes/css/media-views.min.css
index 5e20ea54c..66caf7a0a 100644
--- a/wp-includes/css/media-views.min.css
+++ b/wp-includes/css/media-views.min.css
@@ -1 +1 @@
-.media-modal *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.media-frame,.media-modal{font-family:"Open Sans",sans-serif;font-size:12px}.media-frame input,.media-frame textarea{padding:6px 8px;line-height:16px}.media-frame select,.wp-admin .media-frame select{line-height:28px;margin-top:3px}.media-frame a{border-bottom:0;color:#21759b}.media-frame a:hover{color:#d54e21}.media-frame a.button{color:#333}.media-frame a.button:hover{color:#222}.media-frame a.button-primary,.media-frame a.button-primary:hover{color:#fff}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-family:"Open Sans",sans-serif;font-size:12px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-width:1px;border-style:solid;border-color:#dfdfdf}.media-frame select{height:24px;padding:2px}.media-frame input:disabled,.media-frame input[readonly],.media-frame textarea:disabled,.media-frame textarea[readonly]{background-color:#eee}.media-frame input[type=search]{-webkit-appearance:textfield}.media-frame :-moz-placeholder{color:#a9a9a9}.media-frame .hidden{display:none}.ui-draggable,.ui-sortable{-ms-touch-action:none;touch-action:none}.meta-box-sortables.ui-sortable{-ms-touch-action:auto;touch-action:auto}.meta-box-sortables.ui-sortable .hndle{-ms-touch-action:none;touch-action:none}.media-modal{position:fixed;top:30px;left:30px;right:30px;bottom:30px;z-index:160000}.wp-customizer .media-modal{z-index:560000}.media-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:159900}.wp-customizer .media-modal-backdrop{z-index:559900}.media-modal-close{position:absolute;text-decoration:none;top:5px;right:10px;width:30px;height:30px;z-index:1000}.media-modal-close span.media-modal-icon{display:block;margin:8px auto 0;width:15px;height:15px;background-image:none}.media-modal-close .media-modal-icon:before{content:'\f158';font:400 20px/1 dashicons;speak:none;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#666}.media-modal-close:hover .media-modal-icon:before{color:#2ea2cc}.media-modal-close:active{outline:0}.media-modal-content{position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto;min-height:300px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.7);box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc;-webkit-font-smoothing:subpixel-antialiased}.media-modal-icon{background-image:url(../images/uploader-icons.png);background-repeat:no-repeat}.media-toolbar{position:absolute;top:0;left:0;right:0;z-index:100;height:60px;padding:0 16px;border:0 solid #dfdfdf;overflow:hidden}.media-toolbar-primary{float:right;height:100%}.media-toolbar-secondary{float:left;height:100%}.media-toolbar-primary>.media-button,.media-toolbar-primary>.media-button-group{margin-left:10px;float:left;margin-top:15px}.media-toolbar-secondary>.media-button,.media-toolbar-secondary>.media-button-group{margin-right:10px;float:left;margin-top:15px}.media-sidebar{position:absolute;top:0;right:0;bottom:0;width:267px;padding:0 16px 24px;z-index:75;background:#f3f3f3;border-left:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch}.hide-toolbar .media-sidebar{bottom:0}.media-sidebar .sidebar-title{font-size:20px;margin:0;padding:12px 10px 10px;line-height:28px}.media-sidebar .sidebar-content{padding:0 10px;margin-bottom:130px}.media-sidebar .search{display:block;width:100%}.image-details h3,.media-sidebar h3{position:relative;font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}.media-sidebar .setting{display:block;float:left;width:100%;margin:1px 0}.media-sidebar .setting label{display:block}.media-sidebar .setting .link-to-custom{margin:3px 0}.media-sidebar .setting span{min-width:30%;margin-right:4%;font-size:12px}.media-sidebar .setting select{max-width:65%}.media-sidebar .field input[type=checkbox],.media-sidebar .setting input[type=checkbox]{width:16px;float:none;margin:8px 3px 0;padding:0}.compat-item label span,.media-sidebar .setting span{float:left;min-height:22px;padding-top:8px;line-height:16px;text-align:right;font-weight:400;color:#666}.media-sidebar .setting input,.media-sidebar .setting textarea{margin:1px;width:65%;float:right}.compat-item .field textarea,.media-sidebar .setting textarea{height:62px;resize:vertical}.media-sidebar select{margin-top:3px}.compat-item{float:left;width:100%;overflow:hidden}.compat-item table{width:100%;table-layout:fixed;border-spacing:0;border:0}.compat-item tr{padding:2px 0;display:block;overflow:hidden}.compat-item .field,.compat-item .label{display:block;margin:0;padding:0}.compat-item .label{min-width:30%;margin-right:4%;float:left;text-align:right}.compat-item .label span{display:block;width:100%}.compat-item .field{float:right;width:66%}.compat-item .field input{width:100%;margin:0}.media-menu{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:16px 0;background:#f3f3f3;border-right-width:1px;border-right-style:solid;border-right-color:#ccc;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-menu>a{display:block;position:relative;padding:8px 20px;margin:0;line-height:18px;font-size:14px;color:#0074a2;text-decoration:none}.media-menu>a:hover{color:#21759B;background:rgba(0,0,0,.04)}.media-menu>a:active{outline:0}.media-menu .active,.media-menu .active:hover{color:#222;font-weight:700}.media-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #ddd}.media-router{position:relative;padding:0 6px;margin:0;clear:both;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-router a{-webkit-transition:none;transition:none}.media-router>a{position:relative;float:left;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none}.media-router>a:last-child{border-right:0}.media-router>a:active,.media-router>a:focus{outline:0}.media-router .active,.media-router .active:hover{color:#333}.media-router .active,.media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:0}.media-router .active:after{display:none}.media-frame{overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:0}.media-frame-menu{position:absolute;top:0;left:0;bottom:0;width:200px;z-index:150}.media-frame-title{position:absolute;top:0;left:200px;right:0;height:56px;z-index:200}.media-frame-router{position:absolute;top:56px;left:200px;right:0;height:36px;z-index:200}.media-frame-content{position:absolute;top:90px;left:200px;right:0;bottom:61px;height:auto;width:auto;margin:0;overflow:auto;background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.media-frame-toolbar{position:absolute;left:200px;right:0;bottom:0;height:60px;z-index:100}.media-frame.hide-menu .media-frame-content,.media-frame.hide-menu .media-frame-router,.media-frame.hide-menu .media-frame-title,.media-frame.hide-menu .media-frame-toolbar{left:0}.media-frame.hide-menu .media-frame-menu{left:-200px}.media-frame.hide-toolbar .media-frame-content{bottom:0}.media-frame.hide-toolbar .media-frame-toolbar{bottom:-61px}.media-frame.hide-router .media-frame-content{top:56px}.media-frame.hide-router .media-frame-router{display:none}.media-frame.hide-router .media-frame-title{border-bottom:1px solid #dfdfdf;-webkit-box-shadow:0 4px 4px -4px rgba(0,0,0,.1);box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.media-frame-title h1{padding:0 16px;font-size:22px;line-height:60px;margin:0}.media-frame-title .suggested-dimensions{font-size:14px;float:right;margin-right:20px}.media-frame-content .crop-content{height:100%}.media-frame-content .crop-content .crop-image{display:block;margin:auto;max-width:100%;max-height:100%}.media-frame-content .crop-content .upload-errors{position:absolute;width:300px;top:50%;left:50%;margin-left:-150px;margin-right:-150px;z-index:600000}.media-frame .media-iframe{overflow:hidden}.media-frame .media-iframe,.media-frame .media-iframe iframe{height:100%;width:100%;border:0}.media-frame select.attachment-filters{margin-top:11px;margin-right:10px}.media-frame .search{margin-top:11px;padding:4px;line-height:18px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.media-toolbar-secondary .search{margin-right:16px}.attachments{margin:0;padding-right:16px;-webkit-overflow-scrolling:touch}.attachment{position:relative;float:left;padding:0;margin:0 10px 20px;color:#464646;list-style:none;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.selected.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #ccc;box-shadow:0 0 0 1px #fff,0 0 0 3px #ccc}.attachment-preview{position:relative;width:199px;height:199px;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);background:#eee;cursor:pointer}.attachment .icon{margin:0 auto;overflow:hidden;padding-top:20%}.attachment .thumbnail{display:block;position:absolute;top:0;left:0;margin:0 auto;overflow:hidden;max-width:100%;max-height:100%}.attachment-preview .thumbnail:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.attachment .thumbnail img{top:0;left:0}.attachment .thumbnail .centered{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate(50%,50%);-ms-transform:translate(50%,50%);transform:translate(50%,50%)}.attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.attachment .filename{position:absolute;left:0;right:0;bottom:0;overflow:hidden;max-height:100%;word-wrap:break-word;text-align:center;font-weight:700;background:rgba(255,255,255,.8);-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.attachment .filename div{padding:5px 10px}.attachment-preview .thumbnail{width:199px;height:199px}.attachment .thumbnail img{position:absolute}.attachment .close{display:none;position:absolute;top:5px;right:5px;height:22px;width:22px;padding:0;font-size:20px;line-height:20px;text-align:center;text-decoration:none;color:#464646;background-color:#fff;background-position:-96px 4px;border-width:0;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3)}.attachment .close:hover{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.6);box-shadow:0 0 0 1px rgba(0,0,0,.6)}.attachment:hover .close{display:block}.attachment .check{display:none;height:24px;width:24px;position:absolute;top:-6px;right:-6px;outline:0;background:#eee;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4);box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment .check div{background-position:-1px 0;height:15px;width:15px;margin:5px}.attachment .check:hover div{background-position:-40px 0}.attachment.selected .check{display:block}.attachment.details{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment.details .check{background-color:#1e8cbe;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.attachment.details .check div{background-position:-21px 0}.attachment.details .check:hover div{background-position:-60px 0}.media-frame .attachment .describe{position:relative;display:block;width:100%;margin:-1px 0 0;padding:8px;font-size:12px;-webkit-border-radius:0;border-radius:0}.media-frame .attachments-browser{position:relative;width:100%;height:100%;overflow:hidden}.attachments-browser .media-toolbar{right:300px;height:50px}.attachments-browser .media-toolbar-primary>.media-button,.attachments-browser .media-toolbar-primary>.media-button-group,.attachments-browser .media-toolbar-secondary>.media-button,.attachments-browser .media-toolbar-secondary>.media-button-group{margin-top:10px}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:absolute;top:50px;left:0;right:300px;bottom:0;overflow:auto}.attachments-browser .instructions{display:inline-block;margin-top:16px;line-height:18px;font-size:13px;color:#666;margin-right:.5em}.media-progress-bar{position:relative;height:10px;width:70%;margin:10px auto;-webkit-border-radius:10px;border-radius:10px;background:#dfdfdf;background:rgba(0,0,0,.1)}.media-progress-bar div{height:10px;min-width:20px;width:0;background:#1e8cbe;-webkit-border-radius:10px;border-radius:10px;-webkit-transition:width 300ms;transition:width 300ms}.media-uploader-status .media-progress-bar{display:none;width:100%}.uploading.media-uploader-status .media-progress-bar{display:block}.attachment-preview .media-progress-bar{position:absolute;top:50%;left:15%;width:70%;margin:-5px 0 0 0}.media-uploader-status{position:relative;margin:0 auto;padding-bottom:10px;max-width:400px}.media-sidebar .media-uploader-status{border-bottom:1px solid #dfdfdf;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}.uploader-inline .media-uploader-status h3{display:none}.media-uploader-status .upload-details{display:none;font-size:12px;color:#666}.uploading.media-uploader-status .upload-details{display:block}.media-uploader-status .upload-detail-separator{padding:0 4px}.media-uploader-status .upload-count{color:#464646}.media-uploader-status .upload-dismiss-errors,.media-uploader-status .upload-errors{display:none}.errors.media-uploader-status .upload-dismiss-errors,.errors.media-uploader-status .upload-errors{display:block}.media-uploader-status .upload-dismiss-errors{text-decoration:none}.media-sidebar .media-uploader-status .upload-dismiss-errors{position:absolute;top:0;right:0}.upload-errors .upload-error{margin:8px auto 0;padding:8px;border:1px #c00 solid;background:#ffebe8;-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-label{padding:2px 4px;margin-right:8px;font-weight:700;color:#fff;background:#e00;background-image:-webkit-gradient(linear,left top,left bottom,from(#e00),to(#a00));background-image:-webkit-linear-gradient(top,#e00,#a00);background-image:linear-gradient(to bottom,#e00,#a00);-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-message{display:block;padding-top:8px;color:#b44;word-wrap:break-word}.uploader-window{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,86,132,.9);z-index:250000;display:none;text-align:center;opacity:0;-webkit-transition:opacity 250ms;transition:opacity 250ms}.uploader-window-content{position:absolute;top:10px;left:10px;right:10px;bottom:10px;border:1px dashed #fff}.uploader-window h3{margin:-.5em 0 0;position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:40px;color:#fff;padding:0}.uploader-window .media-progress-bar{margin-top:20px;max-width:300px;background:0 0;border-color:#fff;display:none}.uploader-window .media-progress-bar div{background:#fff}.uploading .uploader-window .media-progress-bar{display:block}.media-frame .uploader-inline{margin:20px;padding:20px;text-align:center}.uploader-inline-content{position:absolute;top:30%;left:0;right:0}.uploader-inline-content .upload-ui{margin:4em 0}.uploader-inline-content .post-upload-ui{margin-bottom:2em}.uploader-inline .has-upload-message .upload-ui{margin:0 0 4em}.uploader-inline h3{font-size:20px;line-height:28px;font-weight:400;margin-bottom:1.6em}.uploader-inline .has-upload-message .upload-instructions{font-size:14px;color:#464646;font-weight:400}.uploader-inline .drop-instructions{display:none}.supports-drag-drop .uploader-inline .drop-instructions{display:block}.uploader-inline p{font-size:12px}.uploader-inline .media-progress-bar{display:none}.uploading.uploader-inline .media-progress-bar{display:block}.uploader-inline .browser{display:inline-block!important}.media-selection{position:absolute;top:0;left:0;right:350px;height:60px;padding:0 0 0 16px;overflow:hidden;white-space:nowrap}.media-selection .selection-info{display:inline-block;font-size:12px;height:60px;margin-right:10px;vertical-align:top}.media-selection.editing,.media-selection.empty,.media-selection.one .edit-selection{display:none}.media-selection .count{display:block;padding-top:12px;font-size:14px;line-height:20px;font-weight:700}.media-selection .selection-info a{display:block;float:left;padding:1px 8px;margin:1px 8px 1px -8px;line-height:16px;text-decoration:none;border-right:1px solid #dfdfdf;color:#21759B}.media-selection .selection-info a:hover{background:#21759B;color:#fff;border-color:transparent}.media-selection .selection-info a:last-child{border-right:0;margin-right:0}.media-selection .selection-info .clear-selection{color:red}.media-selection .selection-info .clear-selection:hover{background:red}.media-selection .selection-view{display:inline-block;vertical-align:top}.media-selection .attachments{display:inline-block;height:48px;margin-top:5px;overflow:hidden;vertical-align:top}.media-selection .attachment .icon{width:50%}.attachment.selection.selected{-webkit-box-shadow:none;box-shadow:none}.attachment.selection.details{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 4px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 4px #1e8cbe}.media-selection .attachment.selection.details{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe}.media-selection:after{content:'';display:block;position:absolute;top:0;right:0;bottom:0;width:25px;background-image:-webkit-gradient(linear,right top,left top,from(rgba(255,255,255,1)),to(rgba(255,255,255,0)));background-image:-webkit-linear-gradient(right,rgba(255,255,255,1),rgba(255,255,255,0));background-image:linear-gradient(to left,rgba(255,255,255,1),rgba(255,255,255,0))}.media-selection .attachment .filename{display:none}.media-frame .spinner{background:url(../images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:0}.media-toolbar .spinner{margin-top:14px}.media-sidebar .settings-save-status{background:#f5f5f5;float:right;text-transform:none;z-index:10}.media-sidebar .settings-save-status .spinner{margin:0 5px}.media-sidebar .settings-save-status .saved{float:right;display:none}.media-sidebar .save-complete .settings-save-status .saved,.media-sidebar .save-waiting .settings-save-status .spinner{display:block}.attachment-details{position:relative;overflow:auto}.attachment-info{overflow:hidden;min-height:60px;margin-bottom:16px;line-height:18px;color:#666;border-bottom:1px solid #ddd;padding-bottom:11px}.attachment-info .filename{font-weight:700;color:#464646;word-wrap:break-word}.attachment-info .thumbnail{position:relative;float:left;max-width:120px;max-height:120px;margin-top:5px;margin-right:10px;margin-bottom:5px}.uploading .attachment-info .thumbnail{width:120px;height:80px;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1);box-shadow:inset 0 0 15px rgba(0,0,0,.1)}.uploading .attachment-info .media-progress-bar{margin-top:35px}.attachment-info .thumbnail:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);overflow:hidden}.attachment-info .thumbnail img{display:block;max-width:120px;max-height:120px;margin:0 auto}.attachment-info .details{float:left;font-size:12px;max-width:100%}.attachment-info .delete-attachment,.attachment-info .edit-attachment,.attachment-info .refresh-attachment,.attachment-info .trash-attachment{display:block;text-decoration:none;white-space:nowrap}.attachment-details.needs-refresh .attachment-info .edit-attachment,.attachment-info .refresh-attachment{display:none}.attachment-details.needs-refresh .attachment-info .refresh-attachment,.attachment-info .edit-attachment{display:block}.attachment-info .delete-attachment,.attachment-info .trash-attachment{color:#bc0b0b}.attachment-info .delete-attachment:hover,.attachment-info .trash-attachment:hover{color:red}.attachment-display-settings{width:100%;float:left;overflow:hidden}.attachment-display-settings h4{margin:1.4em 0 .4em}.collection-settings{overflow:hidden}.collection-settings .setting input[type=checkbox]{float:left;margin-right:8px}.collection-settings .setting span{min-width:inherit}.media-frame .imgedit-wrap{position:static}.media-frame .imgedit-wait{height:auto!important;right:0;bottom:0;left:0}.media-frame .imgedit-wrap .imgedit-panel-content{padding:16px;position:absolute;top:0;right:282px;bottom:0;left:0;overflow:auto}.media-frame .imgedit-wrap .imgedit-settings{background:#f3f3f3;border-left:1px solid #ddd;padding:0 16px 16px;position:absolute;top:0;right:0;bottom:0;width:250px;overflow:auto}.media-frame .imgedit-group{background:0 0;border:0;border-bottom:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;margin:0;margin-bottom:16px;padding:0;padding-bottom:16px}.media-frame .imgedit-group:last-of-type{border:0;margin:0;padding:0}.media-frame .imgedit-group-top h3{text-transform:uppercase;font-size:12px;color:#666;margin:0;margin-top:24px}.media-frame .imgedit-group-top h3 a{text-decoration:none;color:#666}.media-frame .imgedit-help-toggle{margin-top:-2px;cursor:pointer;color:#666}.media-frame .imgedit-help-toggled span.dashicons:before{content:'\f142'}.media-frame .imgedit-group img{margin-top:5px}.media-frame .imgedit-wrap div.updated{margin:0;margin-bottom:16px}.embed-url{display:block;position:relative;padding:16px;margin:0;z-index:250;background:#fff;font-size:18px}.media-frame .embed-url input{font-size:18px;padding:12px 14px;width:100%;min-width:200px;-webkit-box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1);box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1)}.media-frame .embed-url .spinner{position:absolute;top:16px;right:26px}.media-frame .embed-loading .embed-url .spinner{display:block}.embed-link-settings,.embed-media-settings{position:absolute;top:60px;left:0;right:0;bottom:0;padding:16px 16px 32px;overflow:auto}.image-details .media-modal{left:140px;right:140px}.image-details .media-frame-menu{display:none}.image-details .media-frame-content,.image-details .media-frame-router,.image-details .media-frame-title{left:0}.image-details .embed-media-settings{top:0;overflow:visible;padding:0}.image-details .column-settings{background:#f3f3f3;border-right:1px solid #ddd;min-height:100%;width:52%;position:absolute;top:0;left:0}.image-details .column-settings h3{margin:20px;padding-top:20px;border-top:1px solid #ddd}.image-details .column-image{width:48%;position:absolute;left:52%;top:0}.image-details .image{margin:20px}.image-details .image img{max-width:100%;max-height:500px}.image-details .advanced-toggle{color:#666;text-decoration:none;display:block}.image-details .advanced-toggle::after{font:400 20px/1 dashicons;speak:none;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140';display:inline-block;margin-top:-2px}.image-details .advanced-visible .advanced-toggle::after{content:'\f142';margin-top:0}.image-details .embed-media-settings .size{margin-bottom:4px}.image-details .custom-size span{display:block}.image-details .custom-size label{display:block;float:left}.image-details .custom-size span small{color:#999;font-size:inherit}.image-details .custom-size input{width:5em}.image-details .custom-size .sep{float:left;margin:26px 6px 0}.image-details .custom-size::after{content:'';display:table;clear:both}.media-embed .thumbnail{max-width:100%;max-height:200px;position:relative;float:left}.media-embed .thumbnail img{max-height:200px;display:block}.media-embed .thumbnail:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.media-embed .setting{width:100%;margin:10px 0;float:left;display:block;clear:both}.image-details .embed-media-settings .setting{float:none;width:auto}.image-details .actions{margin:10px 0}.image-details .hidden{display:none}.media-embed .setting input[type=text],.media-embed .setting textarea{display:block;width:100%;max-width:400px;margin:1px 0}.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{max-width:inherit;width:70%}.image-details .embed-media-settings .custom-size,.image-details .embed-media-settings .link-target,.image-details .embed-media-settings .setting input.link-to-custom{margin-left:27%;width:70%}.image-details .embed-media-settings .link-target{margin-top:24px}.media-embed .setting input.hidden,.media-embed .setting textarea.hidden{display:none}.media-embed .setting span{display:block;width:200px;font-size:13px;line-height:24px;color:#666}.image-details .embed-media-settings .setting span{float:left;width:25%;text-align:right;margin:8px 1% 0;line-height:1.1}.media-embed .setting .button-group{margin:2px 0}.media-embed-sidebar{position:absolute;top:0;left:440px}.advanced-section,.link-settings{margin-top:10px}#wp-fullscreen-body .uploader-editor,.wp-editor-wrap .uploader-editor{background:rgba(150,150,150,.9);position:absolute;top:0;left:0;width:100%;height:100%;z-index:99998;display:none;text-align:center}#wp-fullscreen-body .uploader-editor{background:rgba(0,86,132,.9);position:fixed;z-index:100050}.wp-editor-wrap.wp-fullscreen-wrap .uploader-editor{opacity:0}#wp-fullscreen-body .uploader-editor-content,.wp-editor-wrap .uploader-editor-content{border:1px dashed #fff;position:absolute;top:10px;left:10px;right:10px;bottom:10px}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor .uploader-editor-title{position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:3em;line-height:1.3;font-weight:700;color:#fff;padding:0;margin:0;display:none}.wp-editor-wrap .uploader-editor.droppable{background:rgba(0,86,132,.9)}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor.droppable .uploader-editor-title{display:block}.ie7 .media-frame .attachments-browser{position:static}.ie7 .media-frame .embed-url input{margin-top:4px;width:90%}.ie7 .compat-item{width:99%}.ie7 .attachment-display-settings{width:auto}.ie7 .attachment-preview,.ie7 .attachment-preview .thumbnail{width:120px;height:120px}.ie7 .media-frame .attachment .describe{width:102px}.ie7 .media-sidebar .setting select{max-width:55%}.ie7 .media-sidebar .setting input,.ie7 .media-sidebar .setting textarea{width:55%}.ie7 .media-sidebar .setting .link-to-custom{float:left}.rtl .media-frame,.rtl .media-frame .search,.rtl .media-frame input[type=email],.rtl .media-frame input[type=number],.rtl .media-frame input[type=password],.rtl .media-frame input[type=search],.rtl .media-frame input[type=text],.rtl .media-frame input[type=url],.rtl .media-frame select,.rtl .media-frame textarea,.rtl .media-modal{font-family:Tahoma,sans-serif}:lang(he-il) .rtl .media-frame,:lang(he-il) .rtl .media-frame .search,:lang(he-il) .rtl .media-frame input[type=email],:lang(he-il) .rtl .media-frame input[type=number],:lang(he-il) .rtl .media-frame input[type=password],:lang(he-il) .rtl .media-frame input[type=search],:lang(he-il) .rtl .media-frame input[type=text],:lang(he-il) .rtl .media-frame input[type=url],:lang(he-il) .rtl .media-frame select,:lang(he-il) .rtl .media-frame textarea,:lang(he-il) .rtl .media-modal{font-family:Arial,sans-serif}@media only screen and (max-width:960px){.media-frame-content .media-toolbar-primary .search,.media-frame-content .media-toolbar-secondary .attachment-filters{max-width:120px}}@media only screen and (max-width:900px){.media-frame-menu{width:139px}.media-menu>a{padding:4px 5px}.media-frame-content,.media-frame-router,.media-frame-title,.media-frame-toolbar{left:140px}.media-sidebar{width:159px;padding:0 10px 24px}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{right:180px}.compat-item label span,.media-sidebar .setting input,.media-sidebar .setting span,.media-sidebar .setting textarea{float:none}.compat-item label span,.media-sidebar .setting span{text-align:inherit;display:block;min-height:16px;margin:0;padding:8px 2px 0}.media-sidebar .setting input,.media-sidebar .setting select,.media-sidebar .setting textarea{width:98%;max-width:none}.media-sidebar .setting select.columns{width:auto}.media-frame .search,.media-frame input,.media-frame textarea{padding:3px 6px}.media-frame-content .attachment .icon{top:40%}.image-details .media-modal{left:30px;right:30px}.image-details .embed-media-settings .setting{margin:20px}.image-details .embed-media-settings .setting span{float:none;text-align:left;width:100%;margin-bottom:4px}.image-details .embed-media-settings .setting input.link-to-custom,.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{width:100%;margin-left:0}.image-details .embed-media-settings .custom-size{margin-left:20px}.media-selection{min-width:120px}.media-selection:after{background:0 0}.media-selection .attachments{display:none}.media-menu .separator{margin:12px 10px}.media-modal-close{right:10px}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-size:16px}}@media only screen and (max-width:640px),screen and (max-height:400px){.media-frame-content .media-toolbar .instructions{display:none}.media-frame-menu{width:auto;bottom:auto;right:0;height:60px}.media-menu{border-right:0;position:relative;border-bottom:1px solid #ddd;overflow:hidden;padding:10px 0 10px 10px}.media-menu a{float:left;width:42%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.media-frame-title{display:none}.image-details .media-frame-title{display:block;top:0;font-size:14px}.media-frame-toolbar{position:absolute;bottom:0;left:0;right:0;background:#FFF;border-top:1px solid #DEDEDE}.media-toolbar{position:relative}.media-frame{overflow:hidden}.attachments-browser .attachments{top:42px}.attachment-details h3{margin-top:45px}.media-menu a:last-child,.media-menu a:nth-child(2){width:40%}.media-menu .separator{display:none}.media-frame-title{top:72px;left:auto;height:auto}.media-frame-title h1{line-height:3;font-size:18px}.media-frame-router{top:84px;left:0}.media-frame-content{left:0;top:118px}.image-details .media-frame.hide-router .media-frame-content{top:40px}.media-frame .attachments-browser{padding-bottom:300px}.media-sidebar{border-bottom:1px solid #ddd}.media-modal{width:auto}.media-toolbar-primary,.media-toolbar-secondary{height:auto}.uploader-inline h3{margin:0 0 .8em}.uploader-inline-content{top:auto}.uploader-inline-content .upload-ui{margin:0}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:relative;margin-right:180px}.image-details .media-modal,.media-modal{position:fixed;top:0;left:0;right:0;bottom:0}.media-modal-backdrop{position:fixed}.attachments-browser .attachment,.attachments-browser .attachment-preview{max-width:100%}.attachments-browser .media-toolbar-primary input.search{max-width:150px}.uploader-inline-content{position:relative}.media-sidebar .field input[type=checkbox],.media-sidebar .setting input[type=checkbox]{width:25px}.embed-link-settings,.embed-media-settings{padding-bottom:52px}.image-details .column-image,.image-details .column-settings{position:relative;padding:10px 0 20px;left:0;width:100%;min-height:inherit}.media-frame.hide-router .media-frame-content{top:73px;border-top:0}.collection-settings h3{margin-top:45px}}@media screen and (max-height:400px){.media-menu{padding:0 0 0 10px}.media-menu a{float:left;width:21%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding:10px inherit}.media-menu a:last-child,.media-menu a:nth-child(2){width:21%}.media-modal-close{top:2px}.media-frame-router{top:44px}.media-frame-content{top:78px}.attachments-browser .attachments{top:2px}.embed-link-settings{overflow:visible}}@media only screen and (max-width:680px){.media-frame-content .media-toolbar .attachment-filters,.media-frame-content .media-toolbar .search{max-width:85px}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.media-modal-icon{background-image:url(../images/uploader-icons-2x.png);-webkit-background-size:134px 15px;background-size:134px 15px}.media-frame .spinner{background-image:url(../images/spinner-2x.gif)}}
\ No newline at end of file
+.media-modal *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.media-frame,.media-modal{font-family:"Open Sans",sans-serif;font-size:12px}.media-frame input,.media-frame textarea{padding:6px 8px}.media-frame select,.wp-admin .media-frame select{line-height:28px;margin-top:3px}.media-frame a{border-bottom:none;color:#21759b}.media-frame a:hover{color:#d54e21}.media-frame a.button{color:#333}.media-frame a.button:hover{color:#222}.media-frame a.button-primary,.media-frame a.button-primary:hover{color:#fff}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-family:"Open Sans",sans-serif;font-size:12px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-width:1px;border-style:solid;border-color:#dfdfdf}.media-frame input[type=email]:focus,.media-frame input[type=number]:focus,.media-frame input[type=password]:focus,.media-frame input[type=search]:focus,.media-frame input[type=text]:focus,.media-frame input[type=url]:focus,.media-frame select:focus,.media-frame textarea:focus{border-color:#5b9dd9}.media-frame select{height:24px;padding:2px}.media-frame input:disabled,.media-frame input[readonly],.media-frame textarea:disabled,.media-frame textarea[readonly]{background-color:#eee}.media-frame input[type=search]{-webkit-appearance:textfield}.media-frame :-moz-placeholder{color:#a9a9a9}.media-frame .hidden{display:none}.ui-draggable,.ui-sortable{-ms-touch-action:none;touch-action:none}.meta-box-sortables.ui-sortable{-ms-touch-action:auto;touch-action:auto}.meta-box-sortables.ui-sortable .hndle{-ms-touch-action:none;touch-action:none}.media-modal{position:fixed;top:30px;left:30px;right:30px;bottom:30px;z-index:160000}.wp-customizer .media-modal{z-index:560000}.media-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:159900}.wp-customizer .media-modal-backdrop{z-index:559900}.media-modal-close{position:absolute;text-decoration:none;top:10px;right:10px;width:30px;height:30px;z-index:1000;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.media-modal-close:active{-webkit-box-shadow:none;box-shadow:none}.media-modal-close span.media-modal-icon{display:block;margin-top:5px;width:30px;height:15px;background-image:none;text-align:center}.media-modal-close .media-modal-icon:before{content:'\f158';font:400 20px/1 dashicons;speak:none;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#666}.media-modal-close:hover .media-modal-icon:before{color:#2ea2cc}.media-modal-close:active{outline:0}.media-modal-content{position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto;min-height:300px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.7);box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc;-webkit-font-smoothing:subpixel-antialiased}.media-modal-icon{background-image:url(../images/uploader-icons.png);background-repeat:no-repeat}.media-toolbar{position:absolute;top:0;left:0;right:0;z-index:100;height:60px;padding:0 16px;border:0 solid #dfdfdf;overflow:hidden}.media-toolbar-primary{float:right;height:100%}.media-toolbar-secondary{float:left;height:100%}.media-toolbar-primary>.media-button,.media-toolbar-primary>.media-button-group{margin-left:10px;float:left;margin-top:15px}.media-toolbar-secondary>.media-button,.media-toolbar-secondary>.media-button-group{margin-right:10px;margin-top:15px}.media-sidebar{position:absolute;top:0;right:0;bottom:0;width:267px;padding:0 16px 24px;z-index:75;background:#f3f3f3;border-left:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch}.hide-toolbar .media-sidebar{bottom:0}.media-sidebar .sidebar-title{font-size:20px;margin:0;padding:12px 10px 10px;line-height:28px}.media-sidebar .sidebar-content{padding:0 10px;margin-bottom:130px}.media-sidebar .search{display:block;width:100%}.image-details h3,.media-sidebar h3{position:relative;font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}.attachment-details .setting,.media-sidebar .setting{display:block;float:left;width:100%;margin:1px 0}.attachment-details .setting label,.media-sidebar .setting label{display:block}.attachment-details .setting .link-to-custom,.media-sidebar .setting .link-to-custom{margin:3px 2px 0}.attachment-details .setting span,.media-sidebar .setting span{min-width:30%;margin-right:4%;font-size:12px;text-align:right}.attachment-details .setting select,.media-sidebar .setting select{max-width:65%}.attachment-details .field input[type=checkbox],.attachment-details .field input[type=radio],.attachment-details .setting input[type=checkbox],.attachment-details .setting input[type=radio],.media-sidebar .field input[type=checkbox],.media-sidebar .field input[type=radio],.media-sidebar .setting input[type=checkbox],.media-sidebar .setting input[type=radio]{float:none;margin:8px 3px 0;padding:0}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{float:left;min-height:22px;padding-top:8px;line-height:16px;font-weight:400;color:#666}.compat-item label span{text-align:right}.attachment-details .setting .value,.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting textarea,.media-sidebar .setting .value,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px;width:65%;float:right}.attachment-details .setting .value,.media-sidebar .setting .value{margin:0 1px;text-align:left}.attachment-details .setting textarea,.compat-item .field textarea,.media-sidebar .setting textarea{height:62px;resize:vertical}.attachment-details select,.media-sidebar select{margin-top:3px}.compat-item{float:left;width:100%;overflow:hidden}.compat-item table{width:100%;table-layout:fixed;border-spacing:0;border:0}.compat-item tr{padding:2px 0;display:block;overflow:hidden}.compat-item .field,.compat-item .label{display:block;margin:0;padding:0}.compat-item .label{min-width:30%;margin-right:4%;float:left;text-align:right}.compat-item .label span{display:block;width:100%}.compat-item .field{float:right;width:66%}.compat-item .field input[type=email],.compat-item .field input[type=number],.compat-item .field input[type=password],.compat-item .field input[type=search],.compat-item .field input[type=tel],.compat-item .field input[type=text],.compat-item .field input[type=url]{width:100%;margin:0}.sidebar-for-errors .attachment-details,.sidebar-for-errors .compat-item,.sidebar-for-errors .media-sidebar .media-progress-bar,.sidebar-for-errors .upload-details{display:none!important}.media-menu{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:10px 0;background:#f3f3f3;border-right-width:1px;border-right-style:solid;border-right-color:#ccc;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-menu>a{display:block;position:relative;padding:8px 20px;margin:0;line-height:18px;font-size:14px;color:#0074a2;text-decoration:none}.media-menu>a:hover{color:#21759B;background:rgba(0,0,0,.04)}.media-menu>a:active{outline:0}.media-menu .active,.media-menu .active:hover{color:#222;font-weight:700}.media-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #ddd}.media-router{position:relative;padding:0 6px;margin:0;clear:both;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-router a{-webkit-transition:none;transition:none}.media-router>a{position:relative;float:left;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none}.media-router>a:last-child{border-right:0}.media-router>a:active{outline:0}.media-router .active,.media-router .active:hover{color:#333}.media-router .active,.media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:none}.media-router .active:after{display:none}.media-frame{overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:0}.media-frame-menu{position:absolute;top:0;left:0;bottom:0;width:200px;z-index:150}.media-frame-title{position:absolute;top:0;left:200px;right:0;height:50px;z-index:200}.media-frame-router{position:absolute;top:50px;left:200px;right:0;height:36px;z-index:200}.media-frame-content{position:absolute;top:84px;left:200px;right:0;bottom:61px;height:auto;width:auto;margin:0;overflow:auto;background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.media-frame-toolbar{position:absolute;left:200px;right:0;bottom:0;height:60px;z-index:100}.media-frame.hide-menu .media-frame-content,.media-frame.hide-menu .media-frame-router,.media-frame.hide-menu .media-frame-title,.media-frame.hide-menu .media-frame-toolbar{left:0}.media-frame.hide-menu .media-frame-menu{left:-200px}.media-frame.hide-toolbar .media-frame-content{bottom:0}.media-frame.hide-toolbar .media-frame-toolbar{bottom:-61px}.media-frame.hide-router .media-frame-content{top:50px}.media-frame.hide-router .media-frame-router{display:none}.media-frame.hide-router .media-frame-title{border-bottom:1px solid #dfdfdf;-webkit-box-shadow:0 4px 4px -4px rgba(0,0,0,.1);box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.media-frame-title .dashicons{display:none}.media-frame-title h1{padding:0 16px;font-size:22px;line-height:50px;margin:0}.media-frame-title .suggested-dimensions{font-size:14px;float:right;margin-right:20px}.media-frame-content .crop-content{height:100%}.media-frame-content .crop-content .crop-image{display:block;margin:auto;max-width:100%;max-height:100%}.media-frame-content .crop-content .upload-errors{position:absolute;width:300px;top:50%;left:50%;margin-left:-150px;margin-right:-150px;z-index:600000}.media-frame .media-iframe{overflow:hidden}.media-frame .media-iframe,.media-frame .media-iframe iframe{height:100%;width:100%;border:0}.media-frame select.attachment-filters{margin-top:11px;margin-right:10px}.media-frame .search{margin-top:11px;padding:4px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.media-toolbar-secondary .search{margin-right:16px}.attachments{margin:0;-webkit-overflow-scrolling:touch}.attachment{position:relative;float:left;padding:8px;margin:0;color:#464646;cursor:pointer;list-style:none;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:25%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.attachment.details:focus,.attachment:focus,.selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;outline:0}.selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc}.attachment.details{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe}.attachment-preview{position:relative;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);background:#eee;cursor:pointer}.attachment-preview:before{content:'';display:block;padding-top:100%}.attachment .icon{margin:0 auto;overflow:hidden}.attachment .thumbnail{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;opacity:1;-webkit-transition:opacity .1s;transition:opacity .1s}.attachment .portrait img{max-width:100%}.attachment .landscape img{max-height:100%}.attachment .thumbnail:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.attachment .thumbnail img{top:0;left:0}.attachment .thumbnail .centered{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate(50%,50%);-ms-transform:translate(50%,50%);transform:translate(50%,50%)}.attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.attachment .thumbnail .centered img.icon{-webkit-transform:translate(-50%,-70%);-ms-transform:translate(-50%,-70%);transform:translate(-50%,-70%)}.ie8 .attachment img.icon{top:20%;position:relative}.attachment .filename{position:absolute;left:0;right:0;bottom:0;overflow:hidden;max-height:100%;word-wrap:break-word;text-align:center;font-weight:700;background:rgba(255,255,255,.8);-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.attachment .filename div{padding:5px 10px}.attachment .thumbnail img{position:absolute}.attachment .close{display:none;position:absolute;top:5px;right:5px;height:22px;width:22px;padding:0;font-size:20px;line-height:20px;text-align:center;text-decoration:none;color:#464646;background-color:#fff;background-position:-96px 4px;border-width:0;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3)}.attachment .close:hover{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.6);box-shadow:0 0 0 1px rgba(0,0,0,.6)}.attachment:hover .close{display:block}.attachment .check{display:none;height:24px;width:24px;position:absolute;z-index:10;top:0;right:0;outline:0;background:#eee;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15);box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15)}.attachment .check div{background-position:-1px 0;height:15px;width:15px;margin:5px}.attachment .check:hover div{background-position:-40px 0}.attachment.selected .check{display:block}.attachment.details .check,.attachment.selected .check:focus,.media-frame.mode-grid .attachment.selected .check{background-color:#1e8cbe;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.attachment.details .check div,.media-frame.mode-grid .attachment.selected .check div{background-position:-21px 0}.attachment.details .check:hover div,.attachment.selected .check:focus div,.media-frame.mode-grid .attachment.selected .check:hover div{background-position:-60px 0}.media-frame .attachment .describe{position:relative;display:block;width:100%;margin:0;padding:8px;font-size:12px;-webkit-border-radius:0;border-radius:0}.media-frame .attachments-browser{position:relative;width:100%;height:100%;overflow:hidden}.attachments-browser .media-toolbar{right:300px;height:50px}.attachments-browser.hide-sidebar .media-toolbar{right:0}.attachments-browser .media-toolbar-primary>.media-button,.attachments-browser .media-toolbar-primary>.media-button-group,.attachments-browser .media-toolbar-secondary>.media-button,.attachments-browser .media-toolbar-secondary>.media-button-group{margin:11px 0}.attachments-browser .attachments{padding:2px 8px 8px}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:absolute;top:50px;left:0;right:300px;bottom:0;overflow:auto;outline:0}.attachments-browser .uploader-inline.hidden{display:none}.uploader-inline .close{background-color:transparent;border:0;cursor:pointer;height:48px;position:absolute;right:0;text-align:center;top:0;width:50px;z-index:1}.uploader-inline .close:before{font:400 30px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.attachments-browser.hide-sidebar .attachments,.attachments-browser.hide-sidebar .uploader-inline{right:0;margin-right:0}.attachments-browser .instructions{display:inline-block;margin-top:16px;line-height:18px;font-size:13px;color:#666;margin-right:.5em}.attachments-browser .no-media{padding:2em 0 0 2em}.media-progress-bar{position:relative;height:10px;width:70%;margin:10px auto;-webkit-border-radius:10px;border-radius:10px;background:#dfdfdf;background:rgba(0,0,0,.1)}.media-progress-bar div{height:10px;min-width:20px;width:0;background:#1e8cbe;-webkit-border-radius:10px;border-radius:10px;-webkit-transition:width 300ms;transition:width 300ms}.media-uploader-status .media-progress-bar{display:none;width:100%}.uploading.media-uploader-status .media-progress-bar{display:block}.attachment-preview .media-progress-bar{position:absolute;top:50%;left:15%;width:70%;margin:-5px 0 0}.media-uploader-status{position:relative;margin:0 auto;padding-bottom:10px;max-width:400px}.media-sidebar .media-uploader-status{border-bottom:1px solid #dfdfdf}.uploader-inline .media-uploader-status h3{display:none}.media-uploader-status .upload-details{display:none;font-size:12px;color:#666}.uploading.media-uploader-status .upload-details{display:block}.media-uploader-status .upload-detail-separator{padding:0 4px}.media-uploader-status .upload-count{color:#464646}.media-uploader-status .upload-dismiss-errors,.media-uploader-status .upload-errors{display:none}.errors.media-uploader-status .upload-dismiss-errors,.errors.media-uploader-status .upload-errors{display:block}.media-uploader-status .upload-dismiss-errors{text-decoration:none}.media-sidebar .media-uploader-status .upload-dismiss-errors{position:absolute;top:0;right:0}.upload-errors .upload-error{margin:8px auto 0;padding:8px;border:1px solid #c00;background:#ffebe8;-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-label{padding:2px 4px;margin-right:8px;font-weight:700;color:#fff;background:#e00;background:#e00 -webkit-gradient(linear,left top,left bottom,from(#e00),to(#a00));background:#e00 -webkit-linear-gradient(top,#e00,#a00);background:#e00 linear-gradient(to bottom,#e00,#a00);-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-message{display:block;padding-top:8px;color:#b44;word-wrap:break-word}.uploader-window{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,86,132,.9);z-index:250000;display:none;text-align:center;opacity:0;-webkit-transition:opacity 250ms;transition:opacity 250ms}.uploader-window-content{position:absolute;top:10px;left:10px;right:10px;bottom:10px;border:1px dashed #fff}.uploader-window h3{margin:-.5em 0 0;position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:40px;color:#fff;padding:0}.uploader-window .media-progress-bar{margin-top:20px;max-width:300px;background:0 0;border-color:#fff;display:none}.uploader-window .media-progress-bar div{background:#fff}.uploading .uploader-window .media-progress-bar{display:block}.media-frame .uploader-inline{margin-bottom:20px;padding:0;text-align:center}.uploader-inline-content{position:absolute;top:30%;left:0;right:0}.uploader-inline-content .upload-ui{margin:2em 0}.uploader-inline-content .post-upload-ui{margin-bottom:2em}.uploader-inline .has-upload-message .upload-ui{margin:0 0 4em}.uploader-inline h3{font-size:20px;line-height:28px;font-weight:400;margin:0}.uploader-inline .has-upload-message .upload-instructions{font-size:14px;color:#464646;font-weight:400}.uploader-inline .drop-instructions{display:none}.supports-drag-drop .uploader-inline .drop-instructions{display:block}.uploader-inline p{font-size:12px;margin:.5em 0}.uploader-inline .media-progress-bar{display:none}.uploading.uploader-inline .media-progress-bar{display:block}.uploader-inline .browser{display:inline-block!important}.media-selection{position:absolute;top:0;left:0;right:350px;height:60px;padding:0 0 0 16px;overflow:hidden;white-space:nowrap}.media-selection .selection-info{display:inline-block;font-size:12px;height:60px;margin-right:10px;vertical-align:top}.media-selection.editing,.media-selection.empty,.media-selection.one .edit-selection{display:none}.media-selection .count{display:block;padding-top:12px;font-size:14px;line-height:20px;font-weight:700}.media-selection .selection-info a{display:block;float:left;padding:1px 8px;margin:1px 8px 1px -8px;line-height:16px;text-decoration:none;border-right:1px solid #dfdfdf;color:#21759B}.media-selection .selection-info a:hover{background:#21759B;color:#fff;border-color:transparent}.media-selection .selection-info a:last-child{border-right:0;margin-right:0}.media-selection .selection-info .clear-selection{color:red}.media-selection .selection-info .clear-selection:hover{background:red}.media-selection .selection-view{display:inline-block;vertical-align:top}.media-selection .attachments{display:inline-block;height:48px;margin:6px;padding:0;overflow:hidden;vertical-align:top}.media-selection .attachment{width:48px;padding:0;margin:0;-webkit-box-shadow:none;box-shadow:none}.media-selection .attachment .thumbnail{top:4px;right:4px;bottom:4px;left:4px}.media-selection .attachment .icon{width:50%}.media-selection .attachment-preview{-webkit-box-shadow:none;box-shadow:none;background:0 0}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe}.media-selection:after{content:'';display:block;position:absolute;top:0;right:0;bottom:0;width:25px;background-image:-webkit-gradient(linear,right top,left top,from(rgba(255,255,255,1)),to(rgba(255,255,255,0)));background-image:-webkit-linear-gradient(right,rgba(255,255,255,1),rgba(255,255,255,0));background-image:linear-gradient(to left,rgba(255,255,255,1),rgba(255,255,255,0))}.media-selection .attachment .filename{display:none}.media-frame .spinner{background:url(../images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:0}.media-toolbar .spinner{margin-top:14px}.attachment-details{position:relative;overflow:auto}.attachment-details .settings-save-status{float:right;text-transform:none;z-index:10}.attachment-details .settings-save-status .spinner{margin:0 5px}.attachment-details .settings-save-status .saved{float:right;display:none}.attachment-details.save-complete .settings-save-status .saved,.attachment-details.save-waiting .settings-save-status .spinner{display:block}.attachment-info{overflow:hidden;min-height:60px;margin-bottom:16px;line-height:18px;color:#666;border-bottom:1px solid #ddd;padding-bottom:11px}.attachment-info .filename{font-weight:700;color:#464646;word-wrap:break-word}.attachment-info .thumbnail{position:relative;float:left;max-width:120px;max-height:120px;margin-top:5px;margin-right:10px;margin-bottom:5px}.uploading .attachment-info .thumbnail{width:120px;height:80px;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1);box-shadow:inset 0 0 15px rgba(0,0,0,.1)}.uploading .attachment-info .media-progress-bar{margin-top:35px}.attachment-info .thumbnail-image:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);overflow:hidden}.attachment-info .thumbnail img{display:block;max-width:120px;max-height:120px;margin:0 auto}.attachment-info .details{float:left;font-size:12px;max-width:100%}.attachment-info .delete-attachment,.attachment-info .edit-attachment,.attachment-info .refresh-attachment,.attachment-info .trash-attachment,.attachment-info .untrash-attachment{display:block;text-decoration:none;white-space:nowrap}.attachment-details.needs-refresh .attachment-info .edit-attachment,.attachment-info .refresh-attachment{display:none}.attachment-details.needs-refresh .attachment-info .refresh-attachment,.attachment-info .edit-attachment{display:block}.media-modal .delete-attachment,.media-modal .trash-attachment,.media-modal .untrash-attachment{color:#bc0b0b}.media-modal .delete-attachment:hover,.media-modal .trash-attachment:hover,.media-modal .untrash-attachment:hover{color:red}.attachment-display-settings{width:100%;float:left;overflow:hidden}.attachment-display-settings h4{margin:1.4em 0 .4em}.collection-settings{overflow:hidden}.collection-settings .setting input[type=checkbox]{float:left;margin-right:8px}.collection-settings .setting span{min-width:inherit}.media-modal .imgedit-wrap{position:static}.media-modal .imgedit-wait{height:auto!important;right:0;bottom:0;left:0}.media-modal .imgedit-wrap .imgedit-panel-content{padding:16px;position:absolute;top:0;right:282px;bottom:0;left:0;overflow:auto}.media-modal .imgedit-wrap .imgedit-settings{background:#f3f3f3;border-left:1px solid #ddd;padding:0 16px 16px;position:absolute;top:0;right:0;bottom:0;width:250px;overflow:auto}.media-modal .imgedit-group{background:0 0;border:none;border-bottom:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;margin:0 0 16px;padding:0 0 16px;position:relative}.media-modal .imgedit-group:last-of-type{border:none;margin:0;padding:0}.media-modal .imgedit-group-top h3{text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 0}.media-modal .imgedit-group-top h3 a{text-decoration:none;color:#666}.media-modal .imgedit-help-toggle{margin-top:-2px;cursor:pointer;color:#666}.media-modal .imgedit-help-toggled span.dashicons:before{content:'\f142'}.media-modal .imgedit-group img{margin-top:5px}.media-modal .imgedit-wrap div.updated{margin:0 0 16px}.embed-url{display:block;position:relative;padding:16px;margin:0;z-index:250;background:#fff;font-size:18px}.media-frame .embed-url input{font-size:18px;padding:12px 14px;width:100%;min-width:200px;-webkit-box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1);box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1)}.media-frame .embed-url .spinner{position:absolute;top:32px;right:26px}.media-frame .embed-loading .embed-url .spinner{display:block}.embed-link-settings,.embed-media-settings{position:absolute;top:70px;left:0;right:0;bottom:0;padding:16px 16px 32px;overflow:auto}.embed-preview embed,.embed-preview iframe,.embed-preview img{max-width:100%}.embed-preview img{height:auto}.image-details .media-modal{left:140px;right:140px}.image-details .media-frame-content,.image-details .media-frame-router,.image-details .media-frame-title{left:0}.image-details .embed-media-settings{top:0;overflow:visible;padding:0}.image-details .embed-media-settings,.image-details .embed-media-settings div{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.image-details .column-settings{background:#f3f3f3;border-right:1px solid #ddd;min-height:100%;width:55%;position:absolute;top:0;left:0}.image-details .column-settings h3{margin:20px;padding-top:20px;border-top:1px solid #ddd}.image-details .column-image{width:45%;position:absolute;left:55%;top:0}.image-details .image{margin:20px}.image-details .image img{max-width:100%;max-height:500px}.image-details .advanced-toggle{color:#666;text-decoration:none;display:block}.image-details .advanced-toggle:after{font:400 20px/1 dashicons;speak:none;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140';display:inline-block;margin-top:-2px}.image-details .advanced-visible .advanced-toggle:after{content:'\f142'}.image-details .embed-media-settings .size{margin-bottom:4px}.image-details .custom-size span{display:block}.image-details .custom-size label{display:block;float:left}.image-details .custom-size span small{color:#999;font-size:inherit}.image-details .custom-size input{width:5em}.image-details .custom-size .sep{float:left;margin:26px 6px 0}.image-details .custom-size:after{content:'';display:table;clear:both}.media-embed .thumbnail{max-width:100%;max-height:200px;position:relative;float:left}.media-embed .thumbnail img{max-height:200px;display:block}.media-embed .thumbnail:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.media-embed .setting{width:100%;margin:10px 0;float:left;display:block;clear:both}.image-details .embed-media-settings .setting{float:none;width:auto}.image-details .actions{margin:10px 0}.image-details .hidden{display:none}.media-embed .setting input[type=text],.media-embed .setting textarea{display:block;width:100%;max-width:400px;margin:1px 0}.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{max-width:inherit;width:70%}.image-details .embed-media-settings .custom-size,.image-details .embed-media-settings .link-target,.image-details .embed-media-settings .setting input.link-to-custom{margin-left:27%;width:70%}.image-details .embed-media-settings .link-target{margin-top:24px}.media-embed .setting input.hidden,.media-embed .setting textarea.hidden{display:none}.media-embed .setting span{display:block;width:200px;font-size:13px;line-height:24px;color:#666}.image-details .embed-media-settings .setting span{float:left;width:25%;text-align:right;margin:8px 1% 0;line-height:1.1}.media-embed .setting .button-group{margin:2px 0}.media-embed-sidebar{position:absolute;top:0;left:440px}.advanced-section,.link-settings{margin-top:10px}#wp-fullscreen-body .uploader-editor,.wp-editor-wrap .uploader-editor{background:rgba(150,150,150,.9);position:absolute;top:0;left:0;width:100%;height:100%;z-index:99998;display:none;text-align:center}#wp-fullscreen-body .uploader-editor{background:rgba(0,86,132,.9);position:fixed;z-index:100050}.wp-editor-wrap.wp-fullscreen-wrap .uploader-editor{opacity:0}#wp-fullscreen-body .uploader-editor-content,.wp-editor-wrap .uploader-editor-content{border:1px dashed #fff;position:absolute;top:10px;left:10px;right:10px;bottom:10px}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor .uploader-editor-title{position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:3em;line-height:1.3;font-weight:700;color:#fff;padding:0;margin:0;display:none}.wp-editor-wrap .uploader-editor.droppable{background:rgba(0,86,132,.9)}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor.droppable .uploader-editor-title{display:block}.ie7 .media-frame .attachments-browser{position:static}.ie7 .media-frame .embed-url input{margin-top:4px;width:90%}.ie7 .compat-item{width:99%}.ie7 .attachment-display-settings{width:auto}.ie7 .attachment-preview,.ie7 .attachment-preview .thumbnail{width:120px;height:120px}.ie7 .media-frame .attachment .describe{width:102px}.ie7 .media-sidebar .setting select{max-width:55%}.ie7 .media-sidebar .setting input[type=email],.ie7 .media-sidebar .setting input[type=number],.ie7 .media-sidebar .setting input[type=password],.ie7 .media-sidebar .setting input[type=search],.ie7 .media-sidebar .setting input[type=tel],.ie7 .media-sidebar .setting input[type=text],.ie7 .media-sidebar .setting input[type=url],.ie7 .media-sidebar .setting textarea{width:55%}.ie7 .media-sidebar .setting .link-to-custom{float:left}.rtl .media-frame,.rtl .media-frame .search,.rtl .media-frame input[type=email],.rtl .media-frame input[type=number],.rtl .media-frame input[type=password],.rtl .media-frame input[type=search],.rtl .media-frame input[type=tel],.rtl .media-frame input[type=text],.rtl .media-frame input[type=url],.rtl .media-frame select,.rtl .media-frame textarea,.rtl .media-modal{font-family:Tahoma,sans-serif}:lang(he-il) .rtl .media-frame,:lang(he-il) .rtl .media-frame .search,:lang(he-il) .rtl .media-frame input[type=email],:lang(he-il) .rtl .media-frame input[type=number],:lang(he-il) .rtl .media-frame input[type=password],:lang(he-il) .rtl .media-frame input[type=search],:lang(he-il) .rtl .media-frame input[type=text],:lang(he-il) .rtl .media-frame input[type=url],:lang(he-il) .rtl .media-frame select,:lang(he-il) .rtl .media-frame textarea,:lang(he-il) .rtl .media-modal{font-family:Arial,sans-serif}@media only screen and (max-width:940px){.media-frame-content .media-toolbar-primary .search,.media-frame-content .media-toolbar-secondary .attachment-filters{max-width:134px}}@media only screen and (max-width:900px){.media-frame:not(.hide-menu) .media-frame-content,.media-frame:not(.hide-menu) .media-frame-router,.media-frame:not(.hide-menu) .media-frame-title,.media-frame:not(.hide-menu) .media-frame-toolbar{left:0}.media-frame:not(.hide-menu) .media-frame-menu{position:static;width:0}.media-frame:not(.hide-menu) .media-menu{width:auto;max-width:80%;overflow:auto;z-index:2000;top:50px;left:-300px;right:auto;bottom:auto;padding:5px 0;border:1px solid #ccc}.media-frame:not(.hide-menu) .media-menu.visible{left:0}.media-frame:not(.hide-menu) .media-menu>a{padding:12px 16px;font-size:16px}.media-frame:not(.hide-menu) .media-menu>a.active{display:none}.media-frame:not(.hide-menu) .media-menu .separator{margin:5px 10px}.media-frame:not(.hide-menu) .media-frame-title{left:0;color:#21759b}.media-frame:not(.hide-menu) .media-frame-title .dashicons{display:inline-block;line-height:50px}.media-frame:not(.hide-menu) .media-frame-title h1{line-height:3;font-size:18px;float:left;cursor:pointer}.media-sidebar{width:230px}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{right:262px}.attachment-details .setting,.media-sidebar .setting{margin:6px 0}.attachment-details .setting input,.attachment-details .setting span,.attachment-details .setting textarea,.compat-item label span,.media-sidebar .setting input,.media-sidebar .setting span,.media-sidebar .setting textarea{float:none}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{text-align:inherit;min-height:16px;margin:0;padding:8px 2px 0}.attachment-details .setting .value,.media-sidebar .setting .value{float:none;width:auto}.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting select,.attachment-details .setting textarea,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting select,.media-sidebar .setting textarea{float:none;width:98%;max-width:none;height:auto}.attachment-details .setting select.columns,.media-sidebar .setting select.columns{width:auto}.media-frame .search,.media-frame input,.media-frame textarea{padding:3px 6px}.image-details .column-image{width:30%;left:70%}.image-details .column-settings{width:70%}.image-details .media-modal{left:30px;right:30px}.image-details .embed-media-settings .setting{margin:20px}.image-details .embed-media-settings .setting span{float:none;text-align:left;width:100%;margin-bottom:4px}.image-details .embed-media-settings .setting input.link-to-custom,.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{width:100%;margin-left:0}.image-details .embed-media-settings .custom-size{margin-left:20px}.collection-settings .setting input[type=checkbox]{margin-top:0}.media-selection{min-width:120px}.media-selection:after{background:0 0}.media-selection .attachments{display:none}.media-modal .attachments-browser .media-toolbar-primary,.media-modal .attachments-browser .media-toolbar-secondary{width:50%}.media-modal .attachments-browser .media-toolbar .search{max-width:100%;height:auto;float:right}.media-modal .attachments-browser .media-toolbar .attachment-filters{margin:11px 0 0;height:auto;max-width:65%;max-width:-webkit-calc(100% - 38px);max-width:calc(100% - 38px)}.media-modal .attachments-browser .media-toolbar .spinner{margin:14px 8px 0}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-size:16px}}@media only screen and (max-width:640px),screen and (max-height:400px){.image-details .media-modal,.media-modal{position:fixed;top:0;left:0;right:0;bottom:0}.media-modal-backdrop{position:fixed}.media-sidebar{z-index:1900;max-width:70%;bottom:120%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding-bottom:0}.media-sidebar.visible{bottom:0}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{right:0}.image-details .media-frame-title{display:block;top:0;font-size:14px}.image-details .column-image,.image-details .column-settings{width:100%;position:relative;left:0}.image-details .column-settings{padding:4px 0}.media-frame-content .media-toolbar .instructions{display:none}}@media screen and (max-height:400px){.media-menu{padding:0}.media-frame-router{top:44px}.media-frame-content{top:78px}.attachments-browser .attachments{top:40px}.embed-link-settings{overflow:visible}}@media only screen and (max-width:480px){.media-frame-content .media-toolbar .attachment-filters,.media-frame-content .media-toolbar .search{max-width:90px}.media-modal-close{top:5px;right:5px}.media-modal .media-frame-title{height:40px}.media-frame:not(.hide-menu) .media-frame-title h1,.media-modal .media-frame-title h1{font-size:18px;line-height:40px}.media-frame:not(.hide-menu) .media-frame-title .dashicons{line-height:40px}.media-frame-router,.media-frame:not(.hide-menu) .media-menu{top:40px}.media-frame-content{top:74px}.media-frame.hide-router .media-frame-content{top:40px}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.media-modal-icon{background-image:url(../images/uploader-icons-2x.png);-webkit-background-size:134px 15px;background-size:134px 15px}.media-frame .spinner{background-image:url(../images/spinner-2x.gif)}}.media-frame-content[data-columns="1"] .attachment{width:100%}.media-frame-content[data-columns="2"] .attachment{width:50%}.media-frame-content[data-columns="3"] .attachment{width:33.33%}.media-frame-content[data-columns="4"] .attachment{width:25%}.media-frame-content[data-columns="5"] .attachment{width:20%}.media-frame-content[data-columns="6"] .attachment{width:16.66%}.media-frame-content[data-columns="7"] .attachment{width:14.28%}.media-frame-content[data-columns="8"] .attachment{width:12.5%}.media-frame-content[data-columns="9"] .attachment{width:11.11%}.media-frame-content[data-columns="10"] .attachment{width:10%}.media-frame-content[data-columns="11"] .attachment{width:9.09%}.media-frame-content[data-columns="12"] .attachment{width:8.33%}
\ No newline at end of file
diff --git a/wp-includes/css/wp-auth-check-rtl.min.css b/wp-includes/css/wp-auth-check-rtl.min.css
index fc2e39363..62cb5551b 100644
--- a/wp-includes/css/wp-auth-check-rtl.min.css
+++ b/wp-includes/css/wp-auth-check-rtl.min.css
@@ -1 +1 @@
-#wp-auth-check-wrap.hidden{display:none}#wp-auth-check-wrap #wp-auth-check-bg{position:fixed;top:0;bottom:0;right:0;left:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000010}#wp-auth-check-wrap #wp-auth-check{position:fixed;right:50%;overflow:hidden;top:40px;bottom:20px;max-height:415px;width:380px;margin:0 -190px 0 0;padding:30px 0 0;background-color:#eee;z-index:1000011;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}#wp-auth-check-wrap.fallback #wp-auth-check{max-height:180px;overflow:auto}#wp-auth-check-wrap #wp-auth-check-form{background:url(../images/wpspin-2x.gif) no-repeat center center;-webkit-background-size:16px 16px;background-size:16px 16px;height:100%}#wp-auth-check-wrap #wp-auth-check-form iframe{height:100%;width:100%;overflow:auto}#wp-auth-check-wrap .wp-auth-check-close{position:absolute;top:8px;left:8px;height:22px;width:22px;cursor:pointer}#wp-auth-check-wrap .wp-auth-check-close:before{content:'\f158';display:block!important;font:400 20px/1 dashicons;speak:none;height:22px;margin:2px 0;text-align:center;width:22px;color:#777;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale}#wp-auth-check-wrap .wp-auth-check-close:hover:before{color:#0074a2}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:1px dotted #888}#wp-auth-check-wrap .wp-auth-fallback-expired{outline:0}#wp-auth-check-wrap .wp-auth-fallback{font-size:14px;line-height:21px;padding:0 25px;display:none}#wp-auth-check-wrap.fallback .wp-auth-check-close,#wp-auth-check-wrap.fallback .wp-auth-fallback{display:block}
\ No newline at end of file
+#wp-auth-check-wrap.hidden{display:none}#wp-auth-check-wrap #wp-auth-check-bg{position:fixed;top:0;bottom:0;right:0;left:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000010}#wp-auth-check-wrap #wp-auth-check{position:fixed;right:50%;overflow:hidden;top:40px;bottom:20px;max-height:415px;width:380px;margin:0 -190px 0 0;padding:30px 0 0;background-color:#eee;z-index:1000011;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}#wp-auth-check-wrap.fallback #wp-auth-check{max-height:180px;overflow:auto}#wp-auth-check-wrap #wp-auth-check-form{background:url(../images/wpspin-2x.gif) no-repeat center center;-webkit-background-size:16px 16px;background-size:16px 16px;height:100%}#wp-auth-check-wrap #wp-auth-check-form iframe{height:100%;width:100%;overflow:auto}#wp-auth-check-wrap .wp-auth-check-close{position:absolute;top:8px;left:8px;height:22px;width:22px;cursor:pointer}#wp-auth-check-wrap .wp-auth-check-close:before{content:'\f158';display:block!important;font:400 20px/1 dashicons;speak:none;height:22px;margin:2px 0;text-align:center;width:22px;color:#777;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale}#wp-auth-check-wrap .wp-auth-check-close:hover:before{color:#0074a2}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:#888 dotted 1px}#wp-auth-check-wrap .wp-auth-fallback-expired{outline:0}#wp-auth-check-wrap .wp-auth-fallback{font-size:14px;line-height:21px;padding:0 25px;display:none}#wp-auth-check-wrap.fallback .wp-auth-check-close,#wp-auth-check-wrap.fallback .wp-auth-fallback{display:block}
\ No newline at end of file
diff --git a/wp-includes/css/wp-auth-check.min.css b/wp-includes/css/wp-auth-check.min.css
index 2b01fbba6..f7ab70ec9 100644
--- a/wp-includes/css/wp-auth-check.min.css
+++ b/wp-includes/css/wp-auth-check.min.css
@@ -1 +1 @@
-#wp-auth-check-wrap.hidden{display:none}#wp-auth-check-wrap #wp-auth-check-bg{position:fixed;top:0;bottom:0;left:0;right:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000010}#wp-auth-check-wrap #wp-auth-check{position:fixed;left:50%;overflow:hidden;top:40px;bottom:20px;max-height:415px;width:380px;margin:0 0 0 -190px;padding:30px 0 0;background-color:#eee;z-index:1000011;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}#wp-auth-check-wrap.fallback #wp-auth-check{max-height:180px;overflow:auto}#wp-auth-check-wrap #wp-auth-check-form{background:url(../images/wpspin-2x.gif) no-repeat center center;-webkit-background-size:16px 16px;background-size:16px 16px;height:100%}#wp-auth-check-wrap #wp-auth-check-form iframe{height:100%;width:100%;overflow:auto}#wp-auth-check-wrap .wp-auth-check-close{position:absolute;top:8px;right:8px;height:22px;width:22px;cursor:pointer}#wp-auth-check-wrap .wp-auth-check-close:before{content:'\f158';display:block!important;font:400 20px/1 dashicons;speak:none;height:22px;margin:2px 0;text-align:center;width:22px;color:#777;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale}#wp-auth-check-wrap .wp-auth-check-close:hover:before{color:#0074a2}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:1px dotted #888}#wp-auth-check-wrap .wp-auth-fallback-expired{outline:0}#wp-auth-check-wrap .wp-auth-fallback{font-size:14px;line-height:21px;padding:0 25px;display:none}#wp-auth-check-wrap.fallback .wp-auth-check-close,#wp-auth-check-wrap.fallback .wp-auth-fallback{display:block}
\ No newline at end of file
+#wp-auth-check-wrap.hidden{display:none}#wp-auth-check-wrap #wp-auth-check-bg{position:fixed;top:0;bottom:0;left:0;right:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000010}#wp-auth-check-wrap #wp-auth-check{position:fixed;left:50%;overflow:hidden;top:40px;bottom:20px;max-height:415px;width:380px;margin:0 0 0 -190px;padding:30px 0 0;background-color:#eee;z-index:1000011;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}#wp-auth-check-wrap.fallback #wp-auth-check{max-height:180px;overflow:auto}#wp-auth-check-wrap #wp-auth-check-form{background:url(../images/wpspin-2x.gif) no-repeat center center;-webkit-background-size:16px 16px;background-size:16px 16px;height:100%}#wp-auth-check-wrap #wp-auth-check-form iframe{height:100%;width:100%;overflow:auto}#wp-auth-check-wrap .wp-auth-check-close{position:absolute;top:8px;right:8px;height:22px;width:22px;cursor:pointer}#wp-auth-check-wrap .wp-auth-check-close:before{content:'\f158';display:block!important;font:400 20px/1 dashicons;speak:none;height:22px;margin:2px 0;text-align:center;width:22px;color:#777;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale}#wp-auth-check-wrap .wp-auth-check-close:hover:before{color:#0074a2}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:#888 dotted 1px}#wp-auth-check-wrap .wp-auth-fallback-expired{outline:0}#wp-auth-check-wrap .wp-auth-fallback{font-size:14px;line-height:21px;padding:0 25px;display:none}#wp-auth-check-wrap.fallback .wp-auth-check-close,#wp-auth-check-wrap.fallback .wp-auth-fallback{display:block}
\ No newline at end of file
diff --git a/wp-includes/css/wp-pointer-rtl.css b/wp-includes/css/wp-pointer-rtl.css
index 10cf6a247..75088cb1d 100644
--- a/wp-includes/css/wp-pointer-rtl.css
+++ b/wp-includes/css/wp-pointer-rtl.css
@@ -106,6 +106,7 @@
 }
 
 .wp-pointer-bottom {
+	margin-top: -13px;
 	padding-bottom: 13px;
 }
 
@@ -115,6 +116,7 @@
 }
 /* @noflip */
 .wp-pointer-right {
+	margin-left: -13px;
 	padding-right: 13px;
 }
 
@@ -139,10 +141,11 @@
 	border-bottom-color: #3592b6;
 }
 
-.wp-pointer-top .wp-pointer-arrow:before,
-.wp-pointer-undefined .wp-pointer-arrow:before {
+.wp-pointer-top .wp-pointer-arrow-inner,
+.wp-pointer-undefined .wp-pointer-arrow-inner {
+	top: 1px;
 	margin-right: -13px;
-	margin-top: -11px;
+	margin-top: -13px;
 	border: 13px solid transparent;
 	border-bottom-color: #2ea2cc;
 	display: block;
@@ -155,9 +158,10 @@
 	border-top-color: #ccc;
 }
 
-.wp-pointer-bottom .wp-pointer-arrow:before {
+.wp-pointer-bottom .wp-pointer-arrow-inner {
+	bottom: 1px;
 	margin-right: -13px;
-	margin-top: -14px;
+	margin-bottom: -13px;
 	border: 13px solid transparent;
 	border-top-color: #fff;
 	display: block;
@@ -171,37 +175,35 @@
 	border-right-color: #ccc;
 }
 
-.wp-pointer-left .wp-pointer-arrow:before {
-	margin-right: -12px;
+/* @noflip */
+.wp-pointer-left .wp-pointer-arrow-inner {
+	left: 1px;
+	margin-left: -13px;
 	margin-top: -13px;
 	border: 13px solid transparent;
-	border-left-color: #fff;
+	border-right-color: #fff;
 	display: block;
 	content: ' ';
 }
 
 /* @noflip */
 .wp-pointer-right .wp-pointer-arrow {
-	right:0;
+	right: 0;
 	border-width: 13px 0 13px 13px;
 	border-left-color: #ccc;
 }
 
-.wp-pointer-right .wp-pointer-arrow:before {
-	margin-right: -12px;
+/* @noflip */
+.wp-pointer-right .wp-pointer-arrow-inner {
+	right: 1px;
+	margin-right: -13px;
 	margin-top: -13px;
 	border: 13px solid transparent;
-	border-right-color: #fff;
+	border-left-color: #fff;
 	display: block;
 	content: ' ';
 }
 
-.rtl .wp-pointer-arrow:before {
-	-webkit-transform: rotateY(180deg);
-	-ms-transform:     rotateY(180deg);
-	transform:         rotateY(180deg);
-}
-
 /* Disable pointers at responsive sizes */
 @media screen and ( max-width: 782px ) {
 	.wp-pointer {
diff --git a/wp-includes/css/wp-pointer-rtl.min.css b/wp-includes/css/wp-pointer-rtl.min.css
index b5fbcdb92..fe9343d9e 100644
--- a/wp-includes/css/wp-pointer-rtl.min.css
+++ b/wp-includes/css/wp-pointer-rtl.min.css
@@ -1 +1 @@
-.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border:1px solid #dfdfdf;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075)}.wp-pointer-content h3{position:relative;margin:-1px -1px 5px;padding:15px 60px 14px 18px;border:1px solid #3592b6;border-bottom:0;line-height:1.4em;font-size:14px;color:#fff;background:#2ea2cc}.wp-pointer-content h3:before{background:#fff;-webkit-border-radius:50%;border-radius:50%;color:#2ea2cc;content:'\f227';font:400 20px/1.6 dashicons;position:absolute;top:8px;right:15px;speak:none;text-align:center;width:32px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-pointer-content p{padding:0 15px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:left;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-right:3px;position:relative}.wp-pointer-buttons a.close:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:400 13px/1 dashicons;speak:none;margin:1px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;right:-12px;top:1px}.wp-pointer-buttons a.close:hover:before{color:#c00}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{padding-right:13px}.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{right:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow:before,.wp-pointer-undefined .wp-pointer-arrow:before{margin-right:-13px;margin-top:-11px;border:13px solid transparent;border-bottom-color:#2ea2cc;display:block;content:' '}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow:before{margin-right:-13px;margin-top:-14px;border:13px solid transparent;border-top-color:#fff;display:block;content:' '}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow:before{margin-right:-12px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:' '}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow:before{margin-right:-12px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:' '}.rtl .wp-pointer-arrow:before{-webkit-transform:rotateY(180deg);-ms-transform:rotateY(180deg);transform:rotateY(180deg)}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
+.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border:1px solid #dfdfdf;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075)}.wp-pointer-content h3{position:relative;margin:-1px -1px 5px;padding:15px 60px 14px 18px;border:1px solid #3592b6;border-bottom:none;line-height:1.4em;font-size:14px;color:#fff;background:#2ea2cc}.wp-pointer-content h3:before{background:#fff;-webkit-border-radius:50%;border-radius:50%;color:#2ea2cc;content:'\f227';font:400 20px/1.6 dashicons;position:absolute;top:8px;right:15px;speak:none;text-align:center;width:32px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-pointer-content p{padding:0 15px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:left;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-right:3px;position:relative}.wp-pointer-buttons a.close:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:400 13px/1 dashicons;speak:none;margin:1px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;right:-12px;top:1px}.wp-pointer-buttons a.close:hover:before{color:#c00}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{margin-top:-13px;padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{margin-left:-13px;padding-right:13px}.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{right:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer-undefined .wp-pointer-arrow-inner{top:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-bottom-color:#2ea2cc;display:block;content:' '}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow-inner{bottom:1px;margin-right:-13px;margin-bottom:-13px;border:13px solid transparent;border-top-color:#fff;display:block;content:' '}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow-inner{left:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:' '}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow-inner{right:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:' '}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
diff --git a/wp-includes/css/wp-pointer.css b/wp-includes/css/wp-pointer.css
index dbf09b6a4..1d69823f1 100644
--- a/wp-includes/css/wp-pointer.css
+++ b/wp-includes/css/wp-pointer.css
@@ -106,6 +106,7 @@
 }
 
 .wp-pointer-bottom {
+	margin-top: -13px;
 	padding-bottom: 13px;
 }
 
@@ -115,6 +116,7 @@
 }
 /* @noflip */
 .wp-pointer-right {
+	margin-left: -13px;
 	padding-right: 13px;
 }
 
@@ -139,10 +141,11 @@
 	border-bottom-color: #3592b6;
 }
 
-.wp-pointer-top .wp-pointer-arrow:before,
-.wp-pointer-undefined .wp-pointer-arrow:before {
+.wp-pointer-top .wp-pointer-arrow-inner,
+.wp-pointer-undefined .wp-pointer-arrow-inner {
+	top: 1px;
 	margin-left: -13px;
-	margin-top: -11px;
+	margin-top: -13px;
 	border: 13px solid transparent;
 	border-bottom-color: #2ea2cc;
 	display: block;
@@ -155,9 +158,10 @@
 	border-top-color: #ccc;
 }
 
-.wp-pointer-bottom .wp-pointer-arrow:before {
+.wp-pointer-bottom .wp-pointer-arrow-inner {
+	bottom: 1px;
 	margin-left: -13px;
-	margin-top: -14px;
+	margin-bottom: -13px;
 	border: 13px solid transparent;
 	border-top-color: #fff;
 	display: block;
@@ -171,8 +175,10 @@
 	border-right-color: #ccc;
 }
 
-.wp-pointer-left .wp-pointer-arrow:before {
-	margin-left: -12px;
+/* @noflip */
+.wp-pointer-left .wp-pointer-arrow-inner {
+	left: 1px;
+	margin-left: -13px;
 	margin-top: -13px;
 	border: 13px solid transparent;
 	border-right-color: #fff;
@@ -182,13 +188,15 @@
 
 /* @noflip */
 .wp-pointer-right .wp-pointer-arrow {
-	right:0;
+	right: 0;
 	border-width: 13px 0 13px 13px;
 	border-left-color: #ccc;
 }
 
-.wp-pointer-right .wp-pointer-arrow:before {
-	margin-left: -12px;
+/* @noflip */
+.wp-pointer-right .wp-pointer-arrow-inner {
+	right: 1px;
+	margin-right: -13px;
 	margin-top: -13px;
 	border: 13px solid transparent;
 	border-left-color: #fff;
@@ -196,12 +204,6 @@
 	content: ' ';
 }
 
-.rtl .wp-pointer-arrow:before {
-	-webkit-transform: rotateY(180deg);
-	-ms-transform:     rotateY(180deg);
-	transform:         rotateY(180deg);
-}
-
 /* Disable pointers at responsive sizes */
 @media screen and ( max-width: 782px ) {
 	.wp-pointer {
diff --git a/wp-includes/css/wp-pointer.min.css b/wp-includes/css/wp-pointer.min.css
index 5e0797521..01f27d632 100644
--- a/wp-includes/css/wp-pointer.min.css
+++ b/wp-includes/css/wp-pointer.min.css
@@ -1 +1 @@
-.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border:1px solid #dfdfdf;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075)}.wp-pointer-content h3{position:relative;margin:-1px -1px 5px;padding:15px 18px 14px 60px;border:1px solid #3592b6;border-bottom:0;line-height:1.4em;font-size:14px;color:#fff;background:#2ea2cc}.wp-pointer-content h3:before{background:#fff;-webkit-border-radius:50%;border-radius:50%;color:#2ea2cc;content:'\f227';font:400 20px/1.6 dashicons;position:absolute;top:8px;left:15px;speak:none;text-align:center;width:32px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-pointer-content p{padding:0 15px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:right;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-left:3px;position:relative}.wp-pointer-buttons a.close:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:400 13px/1 dashicons;speak:none;margin:1px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;left:-12px;top:1px}.wp-pointer-buttons a.close:hover:before{color:#c00}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{padding-right:13px}.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{left:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow:before,.wp-pointer-undefined .wp-pointer-arrow:before{margin-left:-13px;margin-top:-11px;border:13px solid transparent;border-bottom-color:#2ea2cc;display:block;content:' '}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow:before{margin-left:-13px;margin-top:-14px;border:13px solid transparent;border-top-color:#fff;display:block;content:' '}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow:before{margin-left:-12px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:' '}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow:before{margin-left:-12px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:' '}.rtl .wp-pointer-arrow:before{-webkit-transform:rotateY(180deg);-ms-transform:rotateY(180deg);transform:rotateY(180deg)}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
+.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border:1px solid #dfdfdf;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075)}.wp-pointer-content h3{position:relative;margin:-1px -1px 5px;padding:15px 18px 14px 60px;border:1px solid #3592b6;border-bottom:none;line-height:1.4em;font-size:14px;color:#fff;background:#2ea2cc}.wp-pointer-content h3:before{background:#fff;-webkit-border-radius:50%;border-radius:50%;color:#2ea2cc;content:'\f227';font:400 20px/1.6 dashicons;position:absolute;top:8px;left:15px;speak:none;text-align:center;width:32px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-pointer-content p{padding:0 15px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:right;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-left:3px;position:relative}.wp-pointer-buttons a.close:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:400 13px/1 dashicons;speak:none;margin:1px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;left:-12px;top:1px}.wp-pointer-buttons a.close:hover:before{color:#c00}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{margin-top:-13px;padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{margin-left:-13px;padding-right:13px}.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{left:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer-undefined .wp-pointer-arrow-inner{top:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-bottom-color:#2ea2cc;display:block;content:' '}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow-inner{bottom:1px;margin-left:-13px;margin-bottom:-13px;border:13px solid transparent;border-top-color:#fff;display:block;content:' '}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow-inner{left:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:' '}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow-inner{right:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:' '}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
diff --git a/wp-includes/date.php b/wp-includes/date.php
index 99bbb4e01..a060239ea 100644
--- a/wp-includes/date.php
+++ b/wp-includes/date.php
@@ -48,6 +48,9 @@ class WP_Date_Query {
 	/**
 	 * Constructor.
 	 *
+	 * @since 3.7.0
+	 * @since 4.0.0 The $inclusive logic was updated to include all times within the date range.
+	 *
 	 * @param array $date_query {
 	 *     One or more associative arrays of date query parameters.
 	 *
@@ -81,7 +84,7 @@ class WP_Date_Query {
 	 *                                     Default (string:empty)|(array:last day of month). Accepts numbers 1-31.
 	 *             }
 	 *             @type string       $column    Optional. Used to add a clause comparing a column other than the column
-	 *                                           specified in the top-level $column paramater.  Default is the value
+	 *                                           specified in the top-level $column parameter.  Default is the value
 	 *                                           of top-level $column. Accepts 'post_date', 'post_date_gmt',
 	 *                                           'post_modified', 'post_modified_gmt', 'comment_date', 'comment_date_gmt'.
 	 *             @type string       $compare   Optional. The comparison operator. Default '='. Accepts '=', '!=',
@@ -105,7 +108,7 @@ class WP_Date_Query {
 	 *                              Accepts 'post_date', 'post_date_gmt', 'post_modified', 'post_modified_gmt',
 	 *                              'comment_date', 'comment_date_gmt'.
 	 */
-	function __construct( $date_query, $default_column = 'post_date' ) {
+	public function __construct( $date_query, $default_column = 'post_date' ) {
 		if ( empty( $date_query ) || ! is_array( $date_query ) )
 			return;
 
@@ -235,19 +238,23 @@ class WP_Date_Query {
 
 		$compare = $this->get_compare( $query );
 
+		$inclusive = ! empty( $query['inclusive'] );
+
+		// Assign greater- and less-than values.
 		$lt = '<';
 		$gt = '>';
-		if ( ! empty( $query['inclusive'] ) ) {
+
+		if ( $inclusive ) {
 			$lt .= '=';
 			$gt .= '=';
 		}
 
 		// Range queries
 		if ( ! empty( $query['after'] ) )
-			$where_parts[] = $wpdb->prepare( "$column $gt %s", $this->build_mysql_datetime( $query['after'], true ) );
+			$where_parts[] = $wpdb->prepare( "$column $gt %s", $this->build_mysql_datetime( $query['after'], ! $inclusive ) );
 
 		if ( ! empty( $query['before'] ) )
-			$where_parts[] = $wpdb->prepare( "$column $lt %s", $this->build_mysql_datetime( $query['before'], false ) );
+			$where_parts[] = $wpdb->prepare( "$column $lt %s", $this->build_mysql_datetime( $query['before'], $inclusive ) );
 
 		// Specific value queries
 
@@ -256,16 +263,12 @@ class WP_Date_Query {
 
 		if ( isset( $query['month'] ) && $value = $this->build_value( $compare, $query['month'] ) )
 			$where_parts[] = "MONTH( $column ) $compare $value";
-
-		// Legacy
-		if ( isset( $query['monthnum'] ) && $value = $this->build_value( $compare, $query['monthnum'] ) )
+		else if ( isset( $query['monthnum'] ) && $value = $this->build_value( $compare, $query['monthnum'] ) )
 			$where_parts[] = "MONTH( $column ) $compare $value";
 
 		if ( isset( $query['week'] ) && false !== ( $value = $this->build_value( $compare, $query['week'] ) ) )
 			$where_parts[] = _wp_mysql_week( $column ) . " $compare $value";
-
-		// Legacy
-		if ( isset( $query['w'] ) && false !== ( $value = $this->build_value( $compare, $query['w'] ) ) )
+		else if ( isset( $query['w'] ) && false !== ( $value = $this->build_value( $compare, $query['w'] ) ) )
 			$where_parts[] = _wp_mysql_week( $column ) . " $compare $value";
 
 		if ( isset( $query['dayofyear'] ) && $value = $this->build_value( $compare, $query['dayofyear'] ) )
diff --git a/wp-includes/default-constants.php b/wp-includes/default-constants.php
index 6be5dd090..334ea71b8 100644
--- a/wp-includes/default-constants.php
+++ b/wp-includes/default-constants.php
@@ -247,16 +247,22 @@ function wp_ssl_constants() {
 	/**
 	 * @since 2.6.0
 	 */
-	if ( !defined('FORCE_SSL_ADMIN') )
-		define('FORCE_SSL_ADMIN', false);
-	force_ssl_admin(FORCE_SSL_ADMIN);
+	if ( !defined( 'FORCE_SSL_ADMIN' ) ) {
+		if ( 'https' === parse_url( get_option( 'siteurl' ), PHP_URL_SCHEME ) ) {
+			define( 'FORCE_SSL_ADMIN', true );
+		} else {
+			define( 'FORCE_SSL_ADMIN', false );
+		}
+	}
+	force_ssl_admin( FORCE_SSL_ADMIN );
 
 	/**
 	 * @since 2.6.0
+	 * @deprecated 4.0.0
 	 */
-	if ( !defined('FORCE_SSL_LOGIN') )
-		define('FORCE_SSL_LOGIN', false);
-	force_ssl_login(FORCE_SSL_LOGIN);
+	if ( defined( 'FORCE_SSL_LOGIN' ) && FORCE_SSL_LOGIN ) {
+		force_ssl_admin( true );
+	}
 }
 
 /**
diff --git a/wp-includes/default-widgets.php b/wp-includes/default-widgets.php
index e48cc01fe..d54dbc732 100644
--- a/wp-includes/default-widgets.php
+++ b/wp-includes/default-widgets.php
@@ -13,13 +13,12 @@
  */
 class WP_Widget_Pages extends WP_Widget {
 
-	function __construct() {
+	public function __construct() {
 		$widget_ops = array('classname' => 'widget_pages', 'description' => __( 'A list of your site&#8217;s Pages.') );
 		parent::__construct('pages', __('Pages'), $widget_ops);
 	}
 
-	function widget( $args, $instance ) {
-		extract( $args );
+	public function widget( $args, $instance ) {
 
 		/**
 		 * Filter the widget title.
@@ -54,20 +53,21 @@ class WP_Widget_Pages extends WP_Widget {
 			'exclude'     => $exclude
 		) ) );
 
-		if ( !empty( $out ) ) {
-			echo $before_widget;
-			if ( $title)
-				echo $before_title . $title . $after_title;
+		if ( ! empty( $out ) ) {
+			echo $args['before_widget'];
+			if ( $title ) {
+				echo $args['before_title'] . $title . $args['after_title'];
+			}
 		?>
 		<ul>
 			<?php echo $out; ?>
 		</ul>
 		<?php
-			echo $after_widget;
+			echo $args['after_widget'];
 		}
 	}
 
-	function update( $new_instance, $old_instance ) {
+	public function update( $new_instance, $old_instance ) {
 		$instance = $old_instance;
 		$instance['title'] = strip_tags($new_instance['title']);
 		if ( in_array( $new_instance['sortby'], array( 'post_title', 'menu_order', 'ID' ) ) ) {
@@ -81,7 +81,7 @@ class WP_Widget_Pages extends WP_Widget {
 		return $instance;
 	}
 
-	function form( $instance ) {
+	public function form( $instance ) {
 		//Defaults
 		$instance = wp_parse_args( (array) $instance, array( 'sortby' => 'post_title', 'title' => '', 'exclude' => '') );
 		$title = esc_attr( $instance['title'] );
@@ -113,13 +113,12 @@ class WP_Widget_Pages extends WP_Widget {
  */
 class WP_Widget_Links extends WP_Widget {
 
-	function __construct() {
+	public function __construct() {
 		$widget_ops = array('description' => __( "Your blogroll" ) );
 		parent::__construct('links', __('Links'), $widget_ops);
 	}
 
-	function widget( $args, $instance ) {
-		extract($args, EXTR_SKIP);
+	public function widget( $args, $instance ) {
 
 		$show_description = isset($instance['description']) ? $instance['description'] : false;
 		$show_name = isset($instance['name']) ? $instance['name'] : false;
@@ -130,7 +129,7 @@ class WP_Widget_Links extends WP_Widget {
 		$order = $orderby == 'rating' ? 'DESC' : 'ASC';
 		$limit = isset( $instance['limit'] ) ? $instance['limit'] : -1;
 
-		$before_widget = preg_replace('/id="[^"]*"/','id="%id"', $before_widget);
+		$before_widget = preg_replace( '/id="[^"]*"/', 'id="%id"', $args['before_widget'] );
 
 		/**
 		 * Filter the arguments for the Links widget.
@@ -142,8 +141,8 @@ class WP_Widget_Links extends WP_Widget {
 		 * @param array $args An array of arguments to retrieve the links list.
 		 */
 		wp_list_bookmarks( apply_filters( 'widget_links_args', array(
-			'title_before' => $before_title, 'title_after' => $after_title,
-			'category_before' => $before_widget, 'category_after' => $after_widget,
+			'title_before' => $args['before_title'], 'title_after' => $args['after_title'],
+			'category_before' => $before_widget, 'category_after' => $args['after_widget'],
 			'show_images' => $show_images, 'show_description' => $show_description,
 			'show_name' => $show_name, 'show_rating' => $show_rating,
 			'category' => $category, 'class' => 'linkcat widget',
@@ -152,7 +151,7 @@ class WP_Widget_Links extends WP_Widget {
 		) ) );
 	}
 
-	function update( $new_instance, $old_instance ) {
+	public function update( $new_instance, $old_instance ) {
 		$new_instance = (array) $new_instance;
 		$instance = array( 'images' => 0, 'name' => 0, 'description' => 0, 'rating' => 0 );
 		foreach ( $instance as $field => $val ) {
@@ -170,7 +169,7 @@ class WP_Widget_Links extends WP_Widget {
 		return $instance;
 	}
 
-	function form( $instance ) {
+	public function form( $instance ) {
 
 		//Defaults
 		$instance = wp_parse_args( (array) $instance, array( 'images' => true, 'name' => true, 'description' => false, 'rating' => false, 'category' => false, 'orderby' => 'name', 'limit' => -1 ) );
@@ -223,28 +222,28 @@ class WP_Widget_Links extends WP_Widget {
  */
 class WP_Widget_Search extends WP_Widget {
 
-	function __construct() {
+	public function __construct() {
 		$widget_ops = array('classname' => 'widget_search', 'description' => __( "A search form for your site.") );
 		parent::__construct( 'search', _x( 'Search', 'Search widget' ), $widget_ops );
 	}
 
-	function widget( $args, $instance ) {
-		extract($args);
+	public function widget( $args, $instance ) {
 
 		/** This filter is documented in wp-includes/default-widgets.php */
 		$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base );
 
-		echo $before_widget;
-		if ( $title )
-			echo $before_title . $title . $after_title;
+		echo $args['before_widget'];
+		if ( $title ) {
+			echo $args['before_title'] . $title . $args['after_title'];
+		}
 
 		// Use current theme search form if it exists
 		get_search_form();
 
-		echo $after_widget;
+		echo $args['after_widget'];
 	}
 
-	function form( $instance ) {
+	public function form( $instance ) {
 		$instance = wp_parse_args( (array) $instance, array( 'title' => '') );
 		$title = $instance['title'];
 ?>
@@ -252,7 +251,7 @@ class WP_Widget_Search extends WP_Widget {
 <?php
 	}
 
-	function update( $new_instance, $old_instance ) {
+	public function update( $new_instance, $old_instance ) {
 		$instance = $old_instance;
 		$new_instance = wp_parse_args((array) $new_instance, array( 'title' => ''));
 		$instance['title'] = strip_tags($new_instance['title']);
@@ -268,22 +267,22 @@ class WP_Widget_Search extends WP_Widget {
  */
 class WP_Widget_Archives extends WP_Widget {
 
-	function __construct() {
+	public function __construct() {
 		$widget_ops = array('classname' => 'widget_archive', 'description' => __( 'A monthly archive of your site&#8217;s Posts.') );
 		parent::__construct('archives', __('Archives'), $widget_ops);
 	}
 
-	function widget( $args, $instance ) {
-		extract($args);
+	public function widget( $args, $instance ) {
 		$c = ! empty( $instance['count'] ) ? '1' : '0';
 		$d = ! empty( $instance['dropdown'] ) ? '1' : '0';
 
 		/** This filter is documented in wp-includes/default-widgets.php */
-		$title = apply_filters( 'widget_title', empty($instance['title'] ) ? __( 'Archives' ) : $instance['title'], $instance, $this->id_base );
+		$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'Archives' ) : $instance['title'], $instance, $this->id_base );
 
-		echo $before_widget;
-		if ( $title )
-			echo $before_title . $title . $after_title;
+		echo $args['before_widget'];
+		if ( $title ) {
+			echo $args['before_title'] . $title . $args['after_title'];
+		}
 
 		if ( $d ) {
 ?>
@@ -330,10 +329,10 @@ class WP_Widget_Archives extends WP_Widget {
 <?php
 		}
 
-		echo $after_widget;
+		echo $args['after_widget'];
 	}
 
-	function update( $new_instance, $old_instance ) {
+	public function update( $new_instance, $old_instance ) {
 		$instance = $old_instance;
 		$new_instance = wp_parse_args( (array) $new_instance, array( 'title' => '', 'count' => 0, 'dropdown' => '') );
 		$instance['title'] = strip_tags($new_instance['title']);
@@ -343,7 +342,7 @@ class WP_Widget_Archives extends WP_Widget {
 		return $instance;
 	}
 
-	function form( $instance ) {
+	public function form( $instance ) {
 		$instance = wp_parse_args( (array) $instance, array( 'title' => '', 'count' => 0, 'dropdown' => '') );
 		$title = strip_tags($instance['title']);
 		$count = $instance['count'] ? 'checked="checked"' : '';
@@ -368,26 +367,26 @@ class WP_Widget_Archives extends WP_Widget {
  */
 class WP_Widget_Meta extends WP_Widget {
 
-	function __construct() {
+	public function __construct() {
 		$widget_ops = array('classname' => 'widget_meta', 'description' => __( "Login, RSS, &amp; WordPress.org links.") );
 		parent::__construct('meta', __('Meta'), $widget_ops);
 	}
 
-	function widget( $args, $instance ) {
-		extract($args);
+	public function widget( $args, $instance ) {
 
 		/** This filter is documented in wp-includes/default-widgets.php */
 		$title = apply_filters( 'widget_title', empty($instance['title']) ? __( 'Meta' ) : $instance['title'], $instance, $this->id_base );
 
-		echo $before_widget;
-		if ( $title )
-			echo $before_title . $title . $after_title;
+		echo $args['before_widget'];
+		if ( $title ) {
+			echo $args['before_title'] . $title . $args['after_title'];
+		}
 ?>
 			<ul>
 			<?php wp_register(); ?>
 			<li><?php wp_loginout(); ?></li>
-			<li><a href="<?php bloginfo('rss2_url'); ?>" title="<?php echo esc_attr(__('Syndicate this site using RSS 2.0')); ?>"><?php _e('Entries <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
-			<li><a href="<?php bloginfo('comments_rss2_url'); ?>" title="<?php echo esc_attr(__('The latest comments to all posts in RSS')); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
+			<li><a href="<?php bloginfo('rss2_url'); ?>"><?php _e('Entries <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
+			<li><a href="<?php bloginfo('comments_rss2_url'); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
 <?php
 			/**
 			 * Filter the "Powered by WordPress" text in the Meta widget.
@@ -406,17 +405,17 @@ class WP_Widget_Meta extends WP_Widget {
 ?>
 			</ul>
 <?php
-		echo $after_widget;
+		echo $args['after_widget'];
 	}
 
-	function update( $new_instance, $old_instance ) {
+	public function update( $new_instance, $old_instance ) {
 		$instance = $old_instance;
 		$instance['title'] = strip_tags($new_instance['title']);
 
 		return $instance;
 	}
 
-	function form( $instance ) {
+	public function form( $instance ) {
 		$instance = wp_parse_args( (array) $instance, array( 'title' => '' ) );
 		$title = strip_tags($instance['title']);
 ?>
@@ -432,34 +431,34 @@ class WP_Widget_Meta extends WP_Widget {
  */
 class WP_Widget_Calendar extends WP_Widget {
 
-	function __construct() {
+	public function __construct() {
 		$widget_ops = array('classname' => 'widget_calendar', 'description' => __( 'A calendar of your site&#8217;s Posts.') );
 		parent::__construct('calendar', __('Calendar'), $widget_ops);
 	}
 
-	function widget( $args, $instance ) {
-		extract($args);
+	public function widget( $args, $instance ) {
 
 		/** This filter is documented in wp-includes/default-widgets.php */
 		$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base );
 
-		echo $before_widget;
-		if ( $title )
-			echo $before_title . $title . $after_title;
+		echo $args['before_widget'];
+		if ( $title ) {
+			echo $args['before_title'] . $title . $args['after_title'];
+		}
 		echo '<div id="calendar_wrap">';
 		get_calendar();
 		echo '</div>';
-		echo $after_widget;
+		echo $args['after_widget'];
 	}
 
-	function update( $new_instance, $old_instance ) {
+	public function update( $new_instance, $old_instance ) {
 		$instance = $old_instance;
 		$instance['title'] = strip_tags($new_instance['title']);
 
 		return $instance;
 	}
 
-	function form( $instance ) {
+	public function form( $instance ) {
 		$instance = wp_parse_args( (array) $instance, array( 'title' => '' ) );
 		$title = strip_tags($instance['title']);
 ?>
@@ -476,14 +475,13 @@ class WP_Widget_Calendar extends WP_Widget {
  */
 class WP_Widget_Text extends WP_Widget {
 
-	function __construct() {
+	public function __construct() {
 		$widget_ops = array('classname' => 'widget_text', 'description' => __('Arbitrary text or HTML.'));
 		$control_ops = array('width' => 400, 'height' => 350);
 		parent::__construct('text', __('Text'), $widget_ops, $control_ops);
 	}
 
-	function widget( $args, $instance ) {
-		extract($args);
+	public function widget( $args, $instance ) {
 
 		/** This filter is documented in wp-includes/default-widgets.php */
 		$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base );
@@ -497,14 +495,16 @@ class WP_Widget_Text extends WP_Widget {
 		 * @param WP_Widget $instance    WP_Widget instance.
 		 */
 		$text = apply_filters( 'widget_text', empty( $instance['text'] ) ? '' : $instance['text'], $instance );
-		echo $before_widget;
-		if ( !empty( $title ) ) { echo $before_title . $title . $after_title; } ?>
+		echo $args['before_widget'];
+		if ( ! empty( $title ) ) {
+			echo $args['before_title'] . $title . $args['after_title'];
+		} ?>
 			<div class="textwidget"><?php echo !empty( $instance['filter'] ) ? wpautop( $text ) : $text; ?></div>
 		<?php
-		echo $after_widget;
+		echo $args['after_widget'];
 	}
 
-	function update( $new_instance, $old_instance ) {
+	public function update( $new_instance, $old_instance ) {
 		$instance = $old_instance;
 		$instance['title'] = strip_tags($new_instance['title']);
 		if ( current_user_can('unfiltered_html') )
@@ -515,7 +515,7 @@ class WP_Widget_Text extends WP_Widget {
 		return $instance;
 	}
 
-	function form( $instance ) {
+	public function form( $instance ) {
 		$instance = wp_parse_args( (array) $instance, array( 'title' => '', 'text' => '' ) );
 		$title = strip_tags($instance['title']);
 		$text = esc_textarea($instance['text']);
@@ -537,13 +537,12 @@ class WP_Widget_Text extends WP_Widget {
  */
 class WP_Widget_Categories extends WP_Widget {
 
-	function __construct() {
+	public function __construct() {
 		$widget_ops = array( 'classname' => 'widget_categories', 'description' => __( "A list or dropdown of categories." ) );
 		parent::__construct('categories', __('Categories'), $widget_ops);
 	}
 
-	function widget( $args, $instance ) {
-		extract( $args );
+	public function widget( $args, $instance ) {
 
 		/** This filter is documented in wp-includes/default-widgets.php */
 		$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'Categories' ) : $instance['title'], $instance, $this->id_base );
@@ -552,9 +551,10 @@ class WP_Widget_Categories extends WP_Widget {
 		$h = ! empty( $instance['hierarchical'] ) ? '1' : '0';
 		$d = ! empty( $instance['dropdown'] ) ? '1' : '0';
 
-		echo $before_widget;
-		if ( $title )
-			echo $before_title . $title . $after_title;
+		echo $args['before_widget'];
+		if ( $title ) {
+			echo $args['before_title'] . $title . $args['after_title'];
+		}
 
 		$cat_args = array('orderby' => 'name', 'show_count' => $c, 'hierarchical' => $h);
 
@@ -605,10 +605,10 @@ class WP_Widget_Categories extends WP_Widget {
 <?php
 		}
 
-		echo $after_widget;
+		echo $args['after_widget'];
 	}
 
-	function update( $new_instance, $old_instance ) {
+	public function update( $new_instance, $old_instance ) {
 		$instance = $old_instance;
 		$instance['title'] = strip_tags($new_instance['title']);
 		$instance['count'] = !empty($new_instance['count']) ? 1 : 0;
@@ -618,7 +618,7 @@ class WP_Widget_Categories extends WP_Widget {
 		return $instance;
 	}
 
-	function form( $instance ) {
+	public function form( $instance ) {
 		//Defaults
 		$instance = wp_parse_args( (array) $instance, array( 'title' => '') );
 		$title = esc_attr( $instance['title'] );
@@ -649,7 +649,7 @@ class WP_Widget_Categories extends WP_Widget {
  */
 class WP_Widget_Recent_Posts extends WP_Widget {
 
-	function __construct() {
+	public function __construct() {
 		$widget_ops = array('classname' => 'widget_recent_entries', 'description' => __( "Your site&#8217;s most recent Posts.") );
 		parent::__construct('recent-posts', __('Recent Posts'), $widget_ops);
 		$this->alt_option_name = 'widget_recent_entries';
@@ -659,7 +659,7 @@ class WP_Widget_Recent_Posts extends WP_Widget {
 		add_action( 'switch_theme', array($this, 'flush_widget_cache') );
 	}
 
-	function widget($args, $instance) {
+	public function widget($args, $instance) {
 		$cache = array();
 		if ( ! $this->is_preview() ) {
 			$cache = wp_cache_get( 'widget_recent_posts', 'widget' );
@@ -679,7 +679,6 @@ class WP_Widget_Recent_Posts extends WP_Widget {
 		}
 
 		ob_start();
-		extract($args);
 
 		$title = ( ! empty( $instance['title'] ) ) ? $instance['title'] : __( 'Recent Posts' );
 
@@ -709,8 +708,10 @@ class WP_Widget_Recent_Posts extends WP_Widget {
 
 		if ($r->have_posts()) :
 ?>
-		<?php echo $before_widget; ?>
-		<?php if ( $title ) echo $before_title . $title . $after_title; ?>
+		<?php echo $args['before_widget']; ?>
+		<?php if ( $title ) {
+			echo $args['before_title'] . $title . $args['after_title'];
+		} ?>
 		<ul>
 		<?php while ( $r->have_posts() ) : $r->the_post(); ?>
 			<li>
@@ -721,7 +722,7 @@ class WP_Widget_Recent_Posts extends WP_Widget {
 			</li>
 		<?php endwhile; ?>
 		</ul>
-		<?php echo $after_widget; ?>
+		<?php echo $args['after_widget']; ?>
 <?php
 		// Reset the global $the_post as this query will have stomped on it
 		wp_reset_postdata();
@@ -736,7 +737,7 @@ class WP_Widget_Recent_Posts extends WP_Widget {
 		}
 	}
 
-	function update( $new_instance, $old_instance ) {
+	public function update( $new_instance, $old_instance ) {
 		$instance = $old_instance;
 		$instance['title'] = strip_tags($new_instance['title']);
 		$instance['number'] = (int) $new_instance['number'];
@@ -750,11 +751,11 @@ class WP_Widget_Recent_Posts extends WP_Widget {
 		return $instance;
 	}
 
-	function flush_widget_cache() {
+	public function flush_widget_cache() {
 		wp_cache_delete('widget_recent_posts', 'widget');
 	}
 
-	function form( $instance ) {
+	public function form( $instance ) {
 		$title     = isset( $instance['title'] ) ? esc_attr( $instance['title'] ) : '';
 		$number    = isset( $instance['number'] ) ? absint( $instance['number'] ) : 5;
 		$show_date = isset( $instance['show_date'] ) ? (bool) $instance['show_date'] : false;
@@ -778,7 +779,7 @@ class WP_Widget_Recent_Posts extends WP_Widget {
  */
 class WP_Widget_Recent_Comments extends WP_Widget {
 
-	function __construct() {
+	public function __construct() {
 		$widget_ops = array('classname' => 'widget_recent_comments', 'description' => __( 'Your site&#8217;s most recent comments.' ) );
 		parent::__construct('recent-comments', __('Recent Comments'), $widget_ops);
 		$this->alt_option_name = 'widget_recent_comments';
@@ -791,7 +792,7 @@ class WP_Widget_Recent_Comments extends WP_Widget {
 		add_action( 'transition_comment_status', array($this, 'flush_widget_cache') );
 	}
 
-	function recent_comments_style() {
+	public function recent_comments_style() {
 
 		/**
 		 * Filter the Recent Comments default widget styles.
@@ -809,11 +810,11 @@ class WP_Widget_Recent_Comments extends WP_Widget {
 <?php
 	}
 
-	function flush_widget_cache() {
+	public function flush_widget_cache() {
 		wp_cache_delete('widget_recent_comments', 'widget');
 	}
 
-	function widget( $args, $instance ) {
+	public function widget( $args, $instance ) {
 		global $comments, $comment;
 
 		$cache = array();
@@ -832,7 +833,6 @@ class WP_Widget_Recent_Comments extends WP_Widget {
 			return;
 		}
 
-		extract($args, EXTR_SKIP);
 		$output = '';
 
 		$title = ( ! empty( $instance['title'] ) ) ? $instance['title'] : __( 'Recent Comments' );
@@ -859,9 +859,10 @@ class WP_Widget_Recent_Comments extends WP_Widget {
 			'post_status' => 'publish'
 		) ) );
 
-		$output .= $before_widget;
-		if ( $title )
-			$output .= $before_title . $title . $after_title;
+		$output .= $args['before_widget'];
+		if ( $title ) {
+			$output .= $args['before_title'] . $title . $args['after_title'];
+		}
 
 		$output .= '<ul id="recentcomments">';
 		if ( $comments ) {
@@ -870,11 +871,17 @@ class WP_Widget_Recent_Comments extends WP_Widget {
 			_prime_post_caches( $post_ids, strpos( get_option( 'permalink_structure' ), '%category%' ), false );
 
 			foreach ( (array) $comments as $comment) {
-				$output .=  '<li class="recentcomments">' . /* translators: comments widget: 1: comment author, 2: post link */ sprintf(_x('%1$s on %2$s', 'widgets'), get_comment_author_link(), '<a href="' . esc_url( get_comment_link($comment->comment_ID) ) . '">' . get_the_title($comment->comment_post_ID) . '</a>') . '</li>';
+				$output .= '<li class="recentcomments">';
+				/* translators: comments widget: 1: comment author, 2: post link */
+				$output .= sprintf( _x( '%1$s on %2$s', 'widgets' ),
+					'<span class="comment-author-link">' . get_comment_author_link() . '</span>',
+					'<a href="' . esc_url( get_comment_link( $comment->comment_ID ) ) . '">' . get_the_title( $comment->comment_post_ID ) . '</a>'
+				);
+				$output .= '</li>';
 			}
 		}
 		$output .= '</ul>';
-		$output .= $after_widget;
+		$output .= $args['after_widget'];
 
 		echo $output;
 
@@ -884,7 +891,7 @@ class WP_Widget_Recent_Comments extends WP_Widget {
 		}
 	}
 
-	function update( $new_instance, $old_instance ) {
+	public function update( $new_instance, $old_instance ) {
 		$instance = $old_instance;
 		$instance['title'] = strip_tags($new_instance['title']);
 		$instance['number'] = absint( $new_instance['number'] );
@@ -897,7 +904,7 @@ class WP_Widget_Recent_Comments extends WP_Widget {
 		return $instance;
 	}
 
-	function form( $instance ) {
+	public function form( $instance ) {
 		$title  = isset( $instance['title'] ) ? esc_attr( $instance['title'] ) : '';
 		$number = isset( $instance['number'] ) ? absint( $instance['number'] ) : 5;
 ?>
@@ -917,19 +924,17 @@ class WP_Widget_Recent_Comments extends WP_Widget {
  */
 class WP_Widget_RSS extends WP_Widget {
 
-	function __construct() {
+	public function __construct() {
 		$widget_ops = array( 'description' => __('Entries from any RSS or Atom feed.') );
 		$control_ops = array( 'width' => 400, 'height' => 200 );
 		parent::__construct( 'rss', __('RSS'), $widget_ops, $control_ops );
 	}
 
-	function widget($args, $instance) {
+	public function widget($args, $instance) {
 
 		if ( isset($instance['error']) && $instance['error'] )
 			return;
 
-		extract($args, EXTR_SKIP);
-
 		$url = ! empty( $instance['url'] ) ? $instance['url'] : '';
 		while ( stristr($url, 'http') != $url )
 			$url = substr($url, 1);
@@ -964,25 +969,26 @@ class WP_Widget_RSS extends WP_Widget {
 		$url = esc_url(strip_tags($url));
 		$icon = includes_url('images/rss.png');
 		if ( $title )
-			$title = "<a class='rsswidget' href='$url' title='" . esc_attr__( 'Syndicate this content' ) ."'><img style='border:0' width='14' height='14' src='$icon' alt='RSS' /></a> <a class='rsswidget' href='$link' title='$desc'>$title</a>";
+			$title = "<a class='rsswidget' href='$url'><img style='border:0' width='14' height='14' src='$icon' alt='RSS' /></a> <a class='rsswidget' href='$link'>$title</a>";
 
-		echo $before_widget;
-		if ( $title )
-			echo $before_title . $title . $after_title;
+		echo $args['before_widget'];
+		if ( $title ) {
+			echo $args['before_title'] . $title . $args['after_title'];
+		}
 		wp_widget_rss_output( $rss, $instance );
-		echo $after_widget;
+		echo $args['after_widget'];
 
 		if ( ! is_wp_error($rss) )
 			$rss->__destruct();
 		unset($rss);
 	}
 
-	function update($new_instance, $old_instance) {
+	public function update($new_instance, $old_instance) {
 		$testurl = ( isset( $new_instance['url'] ) && ( !isset( $old_instance['url'] ) || ( $new_instance['url'] != $old_instance['url'] ) ) );
 		return wp_widget_rss_process( $new_instance, $testurl );
 	}
 
-	function form($instance) {
+	public function form($instance) {
 
 		if ( empty($instance) )
 			$instance = array( 'title' => '', 'url' => '', 'items' => 10, 'error' => false, 'show_summary' => 0, 'show_author' => 0, 'show_date' => 0 );
@@ -1016,16 +1022,15 @@ function wp_widget_rss_output( $rss, $args = array() ) {
 		return;
 	}
 
-	$default_args = array( 'show_author' => 0, 'show_date' => 0, 'show_summary' => 0 );
+	$default_args = array( 'show_author' => 0, 'show_date' => 0, 'show_summary' => 0, 'items' => 0 );
 	$args = wp_parse_args( $args, $default_args );
-	extract( $args, EXTR_SKIP );
 
-	$items = (int) $items;
+	$items = (int) $args['items'];
 	if ( $items < 1 || 20 < $items )
 		$items = 10;
-	$show_summary  = (int) $show_summary;
-	$show_author   = (int) $show_author;
-	$show_date     = (int) $show_date;
+	$show_summary  = (int) $args['show_summary'];
+	$show_author   = (int) $args['show_author'];
+	$show_date     = (int) $args['show_date'];
 
 	if ( !$rss->get_item_quantity() ) {
 		echo '<ul><li>' . __( 'An error has occurred, which probably means the feed is down. Try again later.' ) . '</li></ul>';
@@ -1035,29 +1040,28 @@ function wp_widget_rss_output( $rss, $args = array() ) {
 	}
 
 	echo '<ul>';
-	foreach ( $rss->get_items(0, $items) as $item ) {
+	foreach ( $rss->get_items( 0, $items ) as $item ) {
 		$link = $item->get_link();
-		while ( stristr($link, 'http') != $link )
-			$link = substr($link, 1);
-		$link = esc_url(strip_tags($link));
-		$title = esc_attr(strip_tags($item->get_title()));
-		if ( empty($title) )
-			$title = __('Untitled');
+		while ( stristr( $link, 'http' ) != $link ) {
+			$link = substr( $link, 1 );
+		}
+		$link = esc_url( strip_tags( $link ) );
+
+		$title = esc_html( trim( strip_tags( $item->get_title() ) ) );
+		if ( empty( $title ) ) {
+			$title = __( 'Untitled' );
+		}
 
 		$desc = @html_entity_decode( $item->get_description(), ENT_QUOTES, get_option( 'blog_charset' ) );
-		$desc = esc_attr( strip_tags( $desc ) );
-		$desc = trim( str_replace( array( "\n", "\r" ), ' ', $desc ) );
-		$desc = wp_html_excerpt( $desc, 360 );
+		$desc = esc_attr( wp_trim_words( $desc, 55, ' [&hellip;]' ) );
 
 		$summary = '';
 		if ( $show_summary ) {
 			$summary = $desc;
 
-			// Append ellipsis. Change existing [...] to [&hellip;].
+			// Change existing [...] to [&hellip;].
 			if ( '[...]' == substr( $summary, -5 ) ) {
 				$summary = substr( $summary, 0, -5 ) . '[&hellip;]';
-			} elseif ( '[&hellip;]' != substr( $summary, -10 ) && $desc !== $summary ) {
-				$summary .= ' [&hellip;]';
 			}
 
 			$summary = '<div class="rssSummary">' . esc_html( $summary ) . '</div>';
@@ -1086,7 +1090,7 @@ function wp_widget_rss_output( $rss, $args = array() ) {
 		} elseif ( $show_summary ) {
 			echo "<li><a class='rsswidget' href='$link'>$title</a>{$date}{$summary}{$author}</li>";
 		} else {
-			echo "<li><a class='rsswidget' href='$link' title='$desc'>$title</a>{$date}{$author}</li>";
+			echo "<li><a class='rsswidget' href='$link'>$title</a>{$date}{$author}</li>";
 		}
 	}
 	echo '</ul>';
@@ -1107,56 +1111,58 @@ function wp_widget_rss_output( $rss, $args = array() ) {
  * @param array $inputs Override default display options.
  */
 function wp_widget_rss_form( $args, $inputs = null ) {
-
 	$default_inputs = array( 'url' => true, 'title' => true, 'items' => true, 'show_summary' => true, 'show_author' => true, 'show_date' => true );
 	$inputs = wp_parse_args( $inputs, $default_inputs );
-	extract( $args );
-	extract( $inputs, EXTR_SKIP );
 
-	$number = esc_attr( $number );
-	$title  = esc_attr( $title );
-	$url    = esc_url( $url );
-	$items  = (int) $items;
-	if ( $items < 1 || 20 < $items )
-		$items  = 10;
-	$show_summary   = (int) $show_summary;
-	$show_author    = (int) $show_author;
-	$show_date      = (int) $show_date;
+	$args['number'] = esc_attr( $args['number'] );
+	$args['title'] = isset( $args['title'] ) ? esc_attr( $args['title'] ) : '';
+	$args['url'] = isset( $args['url'] ) ? esc_url( $args['url'] ) : '';
+	$args['items'] = isset( $args['items'] ) ? (int) $args['items'] : 0;
 
-	if ( !empty($error) )
-		echo '<p class="widget-error"><strong>' . sprintf( __('RSS Error: %s'), $error) . '</strong></p>';
+	if ( $args['items'] < 1 || 20 < $args['items'] ) {
+		$args['items'] = 10;
+	}
+
+	$args['show_summary']   = isset( $args['show_summary'] ) ? (int) $args['show_summary'] : (int) $inputs['show_summary'];
+	$args['show_author']    = isset( $args['show_author'] ) ? (int) $args['show_author'] : (int) $inputs['show_author'];
+	$args['show_date']      = isset( $args['show_date'] ) ? (int) $args['show_date'] : (int) $inputs['show_date'];
+
+	if ( ! empty( $args['error'] ) ) {
+		echo '<p class="widget-error"><strong>' . sprintf( __( 'RSS Error: %s' ), $args['error'] ) . '</strong></p>';
+	}
 
 	if ( $inputs['url'] ) :
 ?>
-	<p><label for="rss-url-<?php echo $number; ?>"><?php _e('Enter the RSS feed URL here:'); ?></label>
-	<input class="widefat" id="rss-url-<?php echo $number; ?>" name="widget-rss[<?php echo $number; ?>][url]" type="text" value="<?php echo $url; ?>" /></p>
+	<p><label for="rss-url-<?php echo $args['number']; ?>"><?php _e( 'Enter the RSS feed URL here:' ); ?></label>
+	<input class="widefat" id="rss-url-<?php echo $args['number']; ?>" name="widget-rss[<?php echo $args['number']; ?>][url]" type="text" value="<?php echo $args['url']; ?>" /></p>
 <?php endif; if ( $inputs['title'] ) : ?>
-	<p><label for="rss-title-<?php echo $number; ?>"><?php _e('Give the feed a title (optional):'); ?></label>
-	<input class="widefat" id="rss-title-<?php echo $number; ?>" name="widget-rss[<?php echo $number; ?>][title]" type="text" value="<?php echo $title; ?>" /></p>
+	<p><label for="rss-title-<?php echo $args['number']; ?>"><?php _e( 'Give the feed a title (optional):' ); ?></label>
+	<input class="widefat" id="rss-title-<?php echo $args['number']; ?>" name="widget-rss[<?php echo $args['number']; ?>][title]" type="text" value="<?php echo $args['title']; ?>" /></p>
 <?php endif; if ( $inputs['items'] ) : ?>
-	<p><label for="rss-items-<?php echo $number; ?>"><?php _e('How many items would you like to display?'); ?></label>
-	<select id="rss-items-<?php echo $number; ?>" name="widget-rss[<?php echo $number; ?>][items]">
+	<p><label for="rss-items-<?php echo $args['number']; ?>"><?php _e( 'How many items would you like to display?' ); ?></label>
+	<select id="rss-items-<?php echo $args['number']; ?>" name="widget-rss[<?php echo $args['number']; ?>][items]">
 <?php
-		for ( $i = 1; $i <= 20; ++$i )
-			echo "<option value='$i' " . selected( $items, $i, false ) . ">$i</option>";
+		for ( $i = 1; $i <= 20; ++$i ) {
+			echo "<option value='$i' " . selected( $args['items'], $i, false ) . ">$i</option>";
+		}
 ?>
 	</select></p>
 <?php endif; if ( $inputs['show_summary'] ) : ?>
-	<p><input id="rss-show-summary-<?php echo $number; ?>" name="widget-rss[<?php echo $number; ?>][show_summary]" type="checkbox" value="1" <?php if ( $show_summary ) echo 'checked="checked"'; ?>/>
-	<label for="rss-show-summary-<?php echo $number; ?>"><?php _e('Display item content?'); ?></label></p>
+	<p><input id="rss-show-summary-<?php echo $args['number']; ?>" name="widget-rss[<?php echo $args['number']; ?>][show_summary]" type="checkbox" value="1" <?php checked( $args['show_summary'] ); ?> />
+	<label for="rss-show-summary-<?php echo $args['number']; ?>"><?php _e( 'Display item content?' ); ?></label></p>
 <?php endif; if ( $inputs['show_author'] ) : ?>
-	<p><input id="rss-show-author-<?php echo $number; ?>" name="widget-rss[<?php echo $number; ?>][show_author]" type="checkbox" value="1" <?php if ( $show_author ) echo 'checked="checked"'; ?>/>
-	<label for="rss-show-author-<?php echo $number; ?>"><?php _e('Display item author if available?'); ?></label></p>
+	<p><input id="rss-show-author-<?php echo $args['number']; ?>" name="widget-rss[<?php echo $args['number']; ?>][show_author]" type="checkbox" value="1" <?php checked( $args['show_author'] ); ?> />
+	<label for="rss-show-author-<?php echo $args['number']; ?>"><?php _e( 'Display item author if available?' ); ?></label></p>
 <?php endif; if ( $inputs['show_date'] ) : ?>
-	<p><input id="rss-show-date-<?php echo $number; ?>" name="widget-rss[<?php echo $number; ?>][show_date]" type="checkbox" value="1" <?php if ( $show_date ) echo 'checked="checked"'; ?>/>
-	<label for="rss-show-date-<?php echo $number; ?>"><?php _e('Display item date?'); ?></label></p>
+	<p><input id="rss-show-date-<?php echo $args['number']; ?>" name="widget-rss[<?php echo $args['number']; ?>][show_date]" type="checkbox" value="1" <?php checked( $args['show_date'] ); ?>/>
+	<label for="rss-show-date-<?php echo $args['number']; ?>"><?php _e( 'Display item date?' ); ?></label></p>
 <?php
 	endif;
 	foreach ( array_keys($default_inputs) as $input ) :
 		if ( 'hidden' === $inputs[$input] ) :
 			$id = str_replace( '_', '-', $input );
 ?>
-	<input type="hidden" id="rss-<?php echo $id; ?>-<?php echo $number; ?>" name="widget-rss[<?php echo $number; ?>][<?php echo $input; ?>]" value="<?php echo $$input; ?>" />
+	<input type="hidden" id="rss-<?php echo $id; ?>-<?php echo $args['number']; ?>" name="widget-rss[<?php echo $args['number']; ?>][<?php echo $input; ?>]" value="<?php echo $args[ $input ]; ?>" />
 <?php
 		endif;
 	endforeach;
@@ -1214,13 +1220,12 @@ function wp_widget_rss_process( $widget_rss, $check_feed = true ) {
  */
 class WP_Widget_Tag_Cloud extends WP_Widget {
 
-	function __construct() {
+	public function __construct() {
 		$widget_ops = array( 'description' => __( "A cloud of your most used tags.") );
 		parent::__construct('tag_cloud', __('Tag Cloud'), $widget_ops);
 	}
 
-	function widget( $args, $instance ) {
-		extract($args);
+	public function widget( $args, $instance ) {
 		$current_taxonomy = $this->_get_current_taxonomy($instance);
 		if ( !empty($instance['title']) ) {
 			$title = $instance['title'];
@@ -1236,9 +1241,10 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
 		/** This filter is documented in wp-includes/default-widgets.php */
 		$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
 
-		echo $before_widget;
-		if ( $title )
-			echo $before_title . $title . $after_title;
+		echo $args['before_widget'];
+		if ( $title ) {
+			echo $args['before_title'] . $title . $args['after_title'];
+		}
 		echo '<div class="tagcloud">';
 
 		/**
@@ -1256,16 +1262,16 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
 		) ) );
 
 		echo "</div>\n";
-		echo $after_widget;
+		echo $args['after_widget'];
 	}
 
-	function update( $new_instance, $old_instance ) {
+	public function update( $new_instance, $old_instance ) {
 		$instance['title'] = strip_tags(stripslashes($new_instance['title']));
 		$instance['taxonomy'] = stripslashes($new_instance['taxonomy']);
 		return $instance;
 	}
 
-	function form( $instance ) {
+	public function form( $instance ) {
 		$current_taxonomy = $this->_get_current_taxonomy($instance);
 ?>
 	<p><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:') ?></label>
@@ -1282,7 +1288,7 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
 	</select></p><?php
 	}
 
-	function _get_current_taxonomy($instance) {
+	public function _get_current_taxonomy($instance) {
 		if ( !empty($instance['taxonomy']) && taxonomy_exists($instance['taxonomy']) )
 			return $instance['taxonomy'];
 
@@ -1297,12 +1303,12 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
  */
  class WP_Nav_Menu_Widget extends WP_Widget {
 
-	function __construct() {
+	public function __construct() {
 		$widget_ops = array( 'description' => __('Add a custom menu to your sidebar.') );
 		parent::__construct( 'nav_menu', __('Custom Menu'), $widget_ops );
 	}
 
-	function widget($args, $instance) {
+	public function widget($args, $instance) {
 		// Get menu
 		$nav_menu = ! empty( $instance['nav_menu'] ) ? wp_get_nav_menu_object( $instance['nav_menu'] ) : false;
 
@@ -1322,13 +1328,18 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
 		echo $args['after_widget'];
 	}
 
-	function update( $new_instance, $old_instance ) {
-		$instance['title'] = strip_tags( stripslashes($new_instance['title']) );
-		$instance['nav_menu'] = (int) $new_instance['nav_menu'];
+	public function update( $new_instance, $old_instance ) {
+		$instance = array();
+		if ( ! empty( $new_instance['title'] ) ) {
+			$instance['title'] = strip_tags( stripslashes($new_instance['title']) );
+		}
+		if ( ! empty( $new_instance['nav_menu'] ) ) {
+			$instance['nav_menu'] = (int) $new_instance['nav_menu'];
+		}
 		return $instance;
 	}
 
-	function form( $instance ) {
+	public function form( $instance ) {
 		$title = isset( $instance['title'] ) ? $instance['title'] : '';
 		$nav_menu = isset( $instance['nav_menu'] ) ? $instance['nav_menu'] : '';
 
diff --git a/wp-includes/deprecated.php b/wp-includes/deprecated.php
index 43cf743b7..0671dc125 100644
--- a/wp-includes/deprecated.php
+++ b/wp-includes/deprecated.php
@@ -1308,6 +1308,27 @@ function get_category_children( $id, $before = '/', $after = '', $visited = arra
 	return $chain;
 }
 
+/**
+ * Retrieves all category IDs.
+ *
+ * @since 2.0.0
+ * @deprecated 4.0.0 Use get_terms() instead.
+ * @see get_terms()
+ * @link http://codex.wordpress.org/Function_Reference/get_all_category_ids
+ *
+ * @return object List of all of the category IDs.
+ */
+function get_all_category_ids() {
+	_deprecated_function( __FUNCTION__, '4.0', 'get_terms()' );
+
+	if ( ! $cat_ids = wp_cache_get( 'all_category_ids', 'category' ) ) {
+		$cat_ids = get_terms( 'category', array('fields' => 'ids', 'get' => 'all') );
+		wp_cache_add( 'all_category_ids', $cat_ids, 'category' );
+	}
+
+	return $cat_ids;
+}
+
 /**
  * Retrieve the description of the author of the current post.
  *
@@ -1916,13 +1937,11 @@ function get_attachment_icon_src( $id = 0, $fullsize = false ) {
 		// We have a thumbnail desired, specified and existing
 
 		$src_file = basename($src);
-		$class = 'attachmentthumb';
 	} elseif ( wp_attachment_is_image( $post->ID ) ) {
 		// We have an image without a thumbnail
 
 		$src = wp_get_attachment_url( $post->ID );
 		$src_file = & $file;
-		$class = 'attachmentimage';
 	} elseif ( $src = wp_mime_type_icon( $post->ID ) ) {
 		// No thumb, no image. We'll look for a mime-related icon instead.
 
@@ -3438,3 +3457,45 @@ function format_to_post( $content ) {
 	_deprecated_function( __FUNCTION__, '3.9' );
 	return $content;
 }
+
+/**
+ * Formerly used to escape strings before searching the DB. It was poorly documented and never worked as described.
+ *
+ * @since 2.5.0
+ * @deprecated 4.0.0
+ * @deprecated Use wpdb::esc_like()
+ *
+ * @param string $text The text to be escaped.
+ * @return string text, safe for inclusion in LIKE query.
+ */
+function like_escape($text) {
+	_deprecated_function( __FUNCTION__, '4.0', 'wpdb::esc_like()' );
+	return str_replace( array( "%", "_" ), array( "\\%", "\\_" ), $text );
+}
+
+/**
+ * Determines if the URL can be accessed over SSL.
+ *
+ * Determines if the URL can be accessed over SSL by using the WordPress HTTP API to access
+ * the URL using https as the scheme.
+ *
+ * @since 2.5.0
+ * @deprecated 4.0.0
+ *
+ * @param string $url The URL to test.
+ * @return bool Whether SSL access is available.
+ */
+function url_is_accessable_via_ssl( $url ) {
+	_deprecated_function( __FUNCTION__, '4.0' );
+
+	$response = wp_remote_get( set_url_scheme( $url, 'https' ) );
+
+	if ( !is_wp_error( $response ) ) {
+		$status = wp_remote_retrieve_response_code( $response );
+		if ( 200 == $status || 401 == $status ) {
+			return true;
+		}
+	}
+
+	return false;
+}
diff --git a/wp-includes/feed-atom-comments.php b/wp-includes/feed-atom-comments.php
index 13a55a206..d9c8f6529 100644
--- a/wp-includes/feed-atom-comments.php
+++ b/wp-includes/feed-atom-comments.php
@@ -7,15 +7,18 @@
 
 header('Content-Type: ' . feed_content_type('atom') . '; charset=' . get_option('blog_charset'), true);
 echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '" ?' . '>';
+
+/** This action is documented in wp-includes/feed-rss2.php */
+do_action( 'rss_tag_pre', 'atom-comments' );
 ?>
 <feed
 	xmlns="http://www.w3.org/2005/Atom"
 	xml:lang="<?php bloginfo_rss( 'language' ); ?>"
 	xmlns:thr="http://purl.org/syndication/thread/1.0"
-	<?php 
+	<?php
 		/** This action is documented in wp-includes/feed-atom.php */
-		do_action( 'atom_ns' ); 
-		
+		do_action( 'atom_ns' );
+
 		/**
 		 * Fires inside the feed tag in the Atom comment feed.
 		 *
@@ -49,7 +52,7 @@ echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '" ?' . '>'
 	<link rel="self" type="application/atom+xml" href="<?php bloginfo_rss('comments_atom_url'); ?>" />
 	<id><?php bloginfo_rss('comments_atom_url'); ?></id>
 <?php } ?>
-<?php 
+<?php
 	/**
 	 * Fires at the end of the Atom comment feed header.
 	 *
diff --git a/wp-includes/feed-atom.php b/wp-includes/feed-atom.php
index 666b52df9..ae4cd7976 100644
--- a/wp-includes/feed-atom.php
+++ b/wp-includes/feed-atom.php
@@ -8,7 +8,11 @@
 header('Content-Type: ' . feed_content_type('atom') . '; charset=' . get_option('blog_charset'), true);
 $more = 1;
 
-echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
+echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
+
+/** This action is documented in wp-includes/feed-rss2.php */
+do_action( 'rss_tag_pre', 'atom' );
+?>
 <feed
   xmlns="http://www.w3.org/2005/Atom"
   xmlns:thr="http://purl.org/syndication/thread/1.0"
diff --git a/wp-includes/feed-rdf.php b/wp-includes/feed-rdf.php
index d3503af40..177ae96f6 100644
--- a/wp-includes/feed-rdf.php
+++ b/wp-includes/feed-rdf.php
@@ -8,7 +8,11 @@
 header('Content-Type: ' . feed_content_type('rdf') . '; charset=' . get_option('blog_charset'), true);
 $more = 1;
 
-echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
+echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
+
+/** This action is documented in wp-includes/feed-rss2.php */
+do_action( 'rss_tag_pre', 'rdf' );
+?>
 <rdf:RDF
 	xmlns="http://purl.org/rss/1.0/"
 	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
diff --git a/wp-includes/feed-rss2-comments.php b/wp-includes/feed-rss2-comments.php
index a8a1c13bb..2a71da1f2 100644
--- a/wp-includes/feed-rss2-comments.php
+++ b/wp-includes/feed-rss2-comments.php
@@ -8,6 +8,9 @@
 header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' . get_option('blog_charset'), true);
 
 echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
+
+/** This action is documented in wp-includes/feed-rss2.php */
+do_action( 'rss_tag_pre', 'rss2-comments' );
 ?>
 <rss version="2.0"
 	xmlns:content="http://purl.org/rss/1.0/modules/content/"
diff --git a/wp-includes/feed-rss2.php b/wp-includes/feed-rss2.php
index 0ce4e6be5..f7da5f2a9 100644
--- a/wp-includes/feed-rss2.php
+++ b/wp-includes/feed-rss2.php
@@ -8,8 +8,18 @@
 header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' . get_option('blog_charset'), true);
 $more = 1;
 
-echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
+echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
 
+/**
+ * Fires between the <xml> and <rss> tags in a feed.
+ *
+ * @since 4.0.0
+ *
+ * @param string $context Type of feed. Possible values include 'rss2', 'rss2-comments',
+ *                        'rdf', 'atom', and 'atom-comments'.
+ */
+do_action( 'rss_tag_pre', 'rss2' );
+?>
 <rss version="2.0"
 	xmlns:content="http://purl.org/rss/1.0/modules/content/"
 	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
diff --git a/wp-includes/feed.php b/wp-includes/feed.php
index c77abd529..560dc61ef 100644
--- a/wp-includes/feed.php
+++ b/wp-includes/feed.php
@@ -93,13 +93,20 @@ function get_default_feed() {
  *
  * @since 2.2.0
  *
- * @param string $sep Optional.How to separate the title. See wp_title() for more info.
+ * @param string $sep Optional. How to separate the title. See wp_title() for more info.
  * @return string Error message on failure or blog title on success.
  */
-function get_wp_title_rss($sep = '&#187;') {
-	$title = wp_title($sep, false);
-	if ( is_wp_error( $title ) )
+function get_wp_title_rss( $sep = '&#187;' ) {
+	$title = wp_title( $sep, false );
+
+	if ( is_wp_error( $title ) ) {
 		return $title->get_error_message();
+	}
+
+	if ( $title && $sep && ' ' !== substr( $title, 0, 1 ) ) {
+		$title = " $sep " . $title;
+	}
+
 	/**
 	 * Filter the blog title for use as the feed title.
 	 *
@@ -177,7 +184,7 @@ function get_the_content_feed($feed_type = null) {
 	if ( !$feed_type )
 		$feed_type = get_default_feed();
 
-	/** This filter is documented in wp-admin/post-template.php */
+	/** This filter is documented in wp-includes/post-template.php */
 	$content = apply_filters( 'the_content', get_the_content() );
 	$content = str_replace(']]>', ']]&gt;', $content);
 	/**
@@ -389,8 +396,7 @@ function get_the_category_rss($type = null) {
 		if ( 'rdf' == $type )
 			$the_list .= "\t\t<dc:subject><![CDATA[$cat_name]]></dc:subject>\n";
 		elseif ( 'atom' == $type )
-			/** This filter is documented in wp-includes/feed.php */
-			$the_list .= sprintf( '<category scheme="%1$s" term="%2$s" />', esc_attr( apply_filters( 'get_bloginfo_rss', get_bloginfo( 'url' ) ) ), esc_attr( $cat_name ) );
+			$the_list .= sprintf( '<category scheme="%1$s" term="%2$s" />', esc_attr( get_bloginfo_rss( 'url' ) ), esc_attr( $cat_name ) );
 		else
 			$the_list .= "\t\t<category><![CDATA[" . @html_entity_decode( $cat_name, ENT_COMPAT, get_option('blog_charset') ) . "]]></category>\n";
 	}
diff --git a/wp-includes/fonts/dashicons.eot b/wp-includes/fonts/dashicons.eot
index 69a8a5e26ac0a3fb658f7bf1eedde9dc494edfe7..0252bb7b282c15cbf152545fcc2c6b103bf7fd9d 100644
GIT binary patch
delta 1365
zcmZ8hZA@EL7=F*az4sQn_7<T9gh9V(`6yirv=t~H%lH~g9InPSn=<NJ2Btuh4f(KI
zvy`!+i?GIoxD5?4%A#4&VzQV;`R6s6GJo)63)!YW2tSMy2_~zw^Sz}c%kH_)ectCi
z=f3Yb?>*;!F-OHer`Yi;0I$!?unx%$zF0fc{5ZThIR^lLA`07ETHA;QBmhK;T65HW
zplUj!zYBFK>YmdB-e6a}<t@|~0jMiyyk~<?p8^daDa3y1nZQ`@{cFnws0{$)fj+<2
z$Ib_=0Pjs>zoQQw{JiuUY5}#OZ{XZ$SoY&DTj;<E(02kur@cS@y1ou@{uU<L81Rk;
zNgI3z5cv#W&<uJ9{2gEUhfpu$cs4k6_S|pT4?YH%#DE!>M*MH~c3*HW0nEIL<5>hj
zz@3Kq6_Ho&t^S<i`#h8CQNVtHJkbRdItcuO!1bfT_*^8~Ni~tI=oEDz_d{H#7_1N^
zB#7*RW?&#MdY5w38QWP=1MQ)<mC+FWnnd;pNc0uSiI`c!5f0~oMWSMLjCUj~2LXJX
zl&gbWFo6^5p$QH_I~;+d;D+OH5>DZGZ5B3rjnh$;tKLucER|N3ldG<BIvPlg$*AL4
z<~dF9HKNknwbd%U)?Te*p0gQ!*j~-(5o^T!WSN-F=8)M;rc<;N;uYlzo|l{DJat>4
zELAELd^xWm)A5UBTEJVx&ZB26%9HX5Y;)Yetod9Pv)SVEr8%zRF@P$rmSaqHJO{%m
zbL?>yrclIrdSfS#jtJuAd*+E>kpUl8D8L1Phit4;0Tf3yI(1mA2`$zI8)hu4uP=MD
zj8AGk@g*~sSP*uJ3#9#J;+UP^DNkZS#LmM#Yd3{}DWo8WEKotdxC^qy$aXBOUW=tA
zDy==05m~f-VNUwrl3r&^T5UQ#9Z9q>qse_jqJ_GhXknvqJ2UFG>UBC@a!C+yX&cF)
zAc(*{Bfu2b%3XjH08Vuy>vUL%$x&4#aW)c@g)ueKPKS|Gu$<9kR1l6Wl5iG^V>xwh
z5#bcXWHgC(cu!;!p)j(zdT(_xQeenG*`aB59jtA16j>@&`)rnD<{r7h({qr}AGGG1
z4F!eDd`5Z9+1p7-X<bu=O#Skwv$bt+EL`R}S!M}8^>usG^>Lof%q&q3fAZ1P^@6PW
zzVXYEu*G%tYNtwXwVM=t-aC~qn)=l*uo)zyq_(TP^<62gt}q=k9+5xnsK|6Xi<@jN
z$Kev!VP01m`nFqU;FX-L`<wo^=iIw?*KBe<DgGi-Cy0<s+G763Dc-dWGVZSEUJ(yu
znxj92oMbEZZ|D}S#9jg6OGAj=eE$!kbTzxiU5gEl21hF1R&4hCCRK7A{J3>A&<Vp3
zK-NGN!UlGzgKBJbsO{046O|ZzZQ=oulE27f@;BLxeLv~pYPjLS{x-Yyr8L*>vdx-i
Wn{?1W(jFKK_KEW(?xpStfd2vP{blO_

delta 539
zcmXYt&r1|x7{|ZwJF_#h1#JhZR<>oKk}hG2tkDnFm2{&+9X4!E=BT49%<7N}s}zi}
zM!E+}CL}02NJMlBrbwt`r<7KrAUcG9z~a)ugI@GITf98)^M1b1`+nc&efM6;*Ds~k
z_82ghmbJ7Rk7iq!dm5f@YyhY;61l5={UQMs5C%DQGvD6%Bs$SYK1&`NDO&DrGq*!t
z0AzLCns%ul1=JR1W89e?bKZWH<OEP2D%jR&<YWCCaPL0r=>mn=s_~5co_xAcEX{az
zZ~ZxiUx4!2nHsTfBpsT1PkG5!(VB5ZFFpVdN<5I7w2Jn%HG7!Mx}v#L)1{S1gBf7{
z1rW8$_V8HpXP&&o?a&w^Tx?uft%bQZy7J~<uH9-@j^HG4B9tI02y8R>eiHrliho^Z
zgzi^m`|)`w%_ICDQDAidJ&53#zbW(F(WaRGoH9TY-%`z>OVx!=zx{p0g5HQ#J{9&M
z#A0hU8ov{}yo1B~CKYzXPX1^AyVorm!J)Y|MU!Tz`dgK_->4YDZsn6OF1>3u&<MUf
z{43A&<1QwULKZGpDUL2i2fA?)=aJ^zi3|Skg>$qt7XOG~yK3q!#-v@&IkRr~0*HJj
H`2#orVS0ix

diff --git a/wp-includes/fonts/dashicons.svg b/wp-includes/fonts/dashicons.svg
index 369d0c67e..767c49d38 100644
--- a/wp-includes/fonts/dashicons.svg
+++ b/wp-includes/fonts/dashicons.svg
@@ -241,6 +241,10 @@
 <glyph unicode="&#xf504;" d="M900 1700h800v-800l-200 100v308l-560 -559l-141 141l609 610h-408zM1200 500v300l200 200v-700h-1100v1100h800l-200 -200h-400v-700h700z" />
 <glyph unicode="&#xf506;" d="M1575 1325l225 375v-1400l-225 375l125 125h-400v-400l125 125l375 -225h-1600l375 225l125 -125v400h-400l125 -125l-225 -375v1400l225 -375l-125 -125h400v400l-125 -125l-375 225h1600l-375 -225l-125 125v-400h400z" />
 <glyph unicode="&#xf507;" d="M1900 1000q0 183 -71.5 349.5t-192 287t-287 192t-349.5 71.5t-349.5 -71.5t-287 -192t-192 -287t-71.5 -349.5t71.5 -349.5t192 -287t287 -192t349.5 -71.5t349.5 71.5t287 192t192 287t71.5 349.5zM1000 1740q62 0 106 -44t44 -106t-44 -106.5t-106 -44.5t-106 44.5 t-44 106.5t44 106t106 44zM340 1264q0 29 165 48t330 24l165 4q660 -11 660 -76q0 -29 -112 -64t-224 -56l-111 -20l59 -306q91 -515 47 -532q-17 -7 -56.5 44t-83 128.5t-84.5 156t-68 134.5l-27 56l-96 -193q-177 -342 -222 -326q-17 14 -13 96.5t23 209t40.5 244.5 t38.5 203l17 85q-448 75 -448 140z" />
+<glyph unicode="&#xf508;" d="M1500 1600h300v-1500h-1600v1500h300v100q0 60 44 106q44 44 106 44t106 -44q44 -46 44 -106v-100h400v100q0 60 44 106q44 44 106 44t106 -44q44 -46 44 -106v-100zM600 1700v-250q0 -21 15 -36q14 -14 35 -14t35 14q15 15 15 36v250q0 22 -15 35q-13 15 -35 15t-35 -15 q-15 -13 -15 -35zM1300 1700v-250q0 -20 14 -36q16 -14 36 -14t36 14q14 16 14 36v250q0 21 -14 35q-15 15 -36 15t-36 -15q-14 -14 -14 -35zM1700 200v1000h-1400v-1000h1400zM700 1100v-200h-200v200h200zM900 1100h200v-200h-200v200zM1300 900v200h200v-200h-200z M700 800v-200h-200v200h200zM900 800h200v-200h-200v200zM1300 600v200h200v-200h-200zM700 500v-200h-200v200h200zM1100 300h-200v200h200v-200zM1500 300h-200v200h200v-200z" />
+<glyph unicode="&#xf509;" d="M200 1900h1600q41 0 70.5 -29.5t29.5 -70.5v-1600q0 -41 -29.5 -70.5t-70.5 -29.5h-1600q-41 0 -70.5 29.5t-29.5 70.5v1600q0 41 29.5 70.5t70.5 29.5zM901 1101v600h-601v-600h601zM1701 1101v600h-600v-600h600zM901 300v600h-601v-600h601zM1701 300v600h-600v-600 h600z" />
+<glyph unicode="&#xf510;" d="M100 1683v-1483h1800v1400h-1100v83q0 48 -35 83q-34 34 -83 34h-464q-49 0 -83 -34q-35 -34 -35 -83zM1000 1400v-200h-700v200h700zM1700 1400v-1000h-500v1000h500zM1000 1000v-200h-700v200h700zM1000 600v-200h-700v200h700z" />
+<glyph unicode="&#xf511;" d="M200 157q28 -27 94 -18.5t154 38t194.5 81.5t215 113t215 131.5t194.5 136.5t154 129.5t93 109.5q36 60 23.5 137.5t-58 155t-117.5 151.5q32 21 66.5 21t64.5 -17.5t62.5 -41.5t61 -50.5t59.5 -46t58 -26.5t57 8q46 24 68.5 85.5t1.5 106.5q-12 26 -36.5 45.5 t-47.5 30.5t-64 20t-63 12t-70 7.5t-61 5.5q36 9 80 27.5t92 47t80.5 68.5t33.5 82q3 69 -66.5 131.5t-138.5 54.5q-25 -3 -47 -14t-40 -32.5t-31.5 -41t-27.5 -53t-22 -52.5t-20.5 -56.5t-17.5 -50.5q-16 223 -98 295q-55 43 -106 38t-88 -46.5t-38 -96.5q-1 -31 19 -62.5 t49 -56t60.5 -54.5t53 -57t27 -63.5t-16.5 -73.5q-78 60 -157.5 96.5t-155.5 44t-133 -26.5q-70 -45 -163 -169q168 -178 309 -272q15 -11 18.5 -29t-7.5 -33q-10 -16 -28.5 -19.5t-33.5 7.5q-138 94 -310 271q-71 -105 -134 -223q157 -158 279 -241q15 -11 18 -29t-7 -33 q-10 -16 -28.5 -19.5t-34.5 7.5q-117 80 -271 232q-143 -282 -212 -524t-5 -299z" />
 <glyph horiz-adv-x="600" />
 </font>
 </defs></svg> 
\ No newline at end of file
diff --git a/wp-includes/fonts/dashicons.ttf b/wp-includes/fonts/dashicons.ttf
index 515e640a871fdb668bad5923e8806fa86dbb77a0..cc7b3cae18beb512cf5ca3bb27110968119374eb 100644
GIT binary patch
delta 1382
zcmZ8hT})eL7=FKVdd?|yJ*O2;0bz{((DGBdws2a3^0SP;vFOOUII=}XUCTfVG}(|}
zt(s;qbg|l)ERM~E8!>u;1Cw1W%ALn#ie8Yog>2Ic!i7<haIp%V?}08M>(}>t-sk<k
z^Ss~to}Z~1YIT;10s#OX-US-ETUt)N{N~2wO^p1BR?yni+(L>#1whoui%$3tyW<&s
z9mq?Ncc1SML^_g9Zy=unpgy?}xEOi*6qP_#fa~fD;nAK4GfVl%EdXQT-cTUO&W4=;
z@5FK4)7u-0283Dl3<hKjSbF;}jcC6AX%jgffW8+VJRkVs=e0F}_wQhm_5Q#}gtWl7
z0I^%Rzi1%PA8Pw5G>Ci&_p_0~i<f@QdiW{8B<f{c84kVP(>3K^1o-$A?q|`Ia^YUx
z?6QK(_Z=%g?m7<yCfx~uTqOb&asvONVg1NZpNl2zq=D!YVRAU<L#$H~D*zRVAa+6{
zFp!(LP5gAmmOjB!oz#{t(M7$g(mV!|aM5QLc$y;|o&lRgEflB%!%;2B5aiTc4dj3g
zyif}ba1>hMIGg}KoQAV-4)+`NIHW4C$DLz1NS=A3QOwRUxV@e_Qf0H6IF@;i6TFOw
zX31D7nvGJW$UNsW=BQN3n9){={mBxs+wBu}JBjbY_JqKf@q(bWYX#~quPf2<yig|a
zB%YiiaT))LZ9m@UQJuRnnQcs3nAM=qVYfSc!89gC0R_aQL5rG(WH!p_vZF~6Q}9WF
zUf<58W3uuK?wj#0G7!WLg}E>YkcC~!heH5aMz=xKXR~Ib$tvlqJW8d?pwoy)D6Oq6
zeX@izwYKvGGrBV;?*SK1$4hZfw08S<s&i*fvF%6CyuG9{CRKwL^dLeW9K@uGxP-07
ztQ<>3qqLh6QStFE{<mm0xl&G-$xO#~nwXK)0ePp1y1UcFCXx~};&+-&CR1urma*3L
zR793jQJnB8l3|)_<}Sk-0I#8*^?Dq{=5ZIQy!FK9U~KiY*JI^)mb2QdJmJ_v73ZKh
zmNVoO5{@S}t8KrZN#ugq{L1~6`B=Us?`&I9v+qcCy{FJoAs%o!PTIS*md@@Yg#Ms8
z&mOhp7wGaB-AQjxJ0T@C4doicE1zGhZh39)s=#S7i-qa0TN`eS32bI&v2N(IkEU<r
z>uY<*uEwGc-}US5qS-0gcp-PZ;zgU`1vZ0Z6jyhYHNUN<4du3@*5leoZRMGM@1X{l
z&vUHUcT6x<Ox*6$SOguX>H4PcE$OCzk91s1t)-NY#_l^s$Q5J0@Z~wdw*?yR7bU!`
zyrF4K+#2_i&4u5_@6bA2mC=G}lNaLAKZwrP=o|CR*LmtZyLy`oWAANH#it>J4^t7e
z!w`fKi@=TM0tsrM5=RYkDG`rVp!j#OheS>OB7c*A$i~9V<xZ}O8ye_qk(@83v3d_(
Y&NRBz1EJy8@Mxr0IVbTic1;5O5B`#3QUCw|

delta 538
zcmXYtO=uHQ6ot=wlV&Ce#zm=rAq1@8Lamn4ia*4NP28x9lsYTTOFQk9PTIi+(xNmP
z18H4|@T3TKm4%2aaVi$tMb}zP7Yc$Rt|eGpbY0JA8SdQoop<NVz4v=lE-cF`1c3c`
z00V_=cIf(~X>C$zGZMM0gISS41P~TEbu-`7`!qH&NIpR>jFgmr%g*hP7XbNqT+R5@
z4*-!)W^3G=8}nX&kmLkVDY%Xr?Rek*1l+sN`+nDTsw&>Jo>N$%(CwDWv+e4~7v!&i
zvF=Tes2fR-rqyTs$<LCS^~Dvu10I%HpPEu7=h~`MB=g>g`qMMzrN-?vP+taOs^S#K
zl3()VCoD&l5sr(^OU+i8Tcf9!Uj09`hW0iA910akvcPW!=O@wMe56l`v@o?NdJfjP
zvCxeB5iavEE~5io`mM;b!jiTw%3+%5j9~{|hAB+??d~ETbVpR>Soo<Bi$^lC!*}8r
zcd*agqQZ{Y$X?bf^8;c#XwR=2QE7*&-l!ebty(nrR$CL+g*X2i*bZLS|H$K6+{FY^
z$iU|*#ix&P76UksGwA2L7w7bP;}k7_HGYU-Ytc44ttqFH^XB|;0*HJ%`5E{NttNmM

diff --git a/wp-includes/fonts/dashicons.woff b/wp-includes/fonts/dashicons.woff
index 6aeca7939ac735b4abc6a79dc2eae0d9e5f03fc6..64e7bf02f82d051b941b64d3d697992044fa88a4 100644
GIT binary patch
delta 22305
zcmW)n1yCM6*M=XUxD|JIclY96T+4&IyD#pp#pT7_-JRl4ptuxwclrDMnYnW|*PfHz
z$!s!nW|OuWh^__*Ob=x#DG&tcU(pc+q5RJ#>L+5-0oUQV(h`zVAP|J%KSumdq!6T_
zFUo2x?EhH6zqaT<879D6eK)Z)a{R~o{)qzwf=v4UB4KS|<noU}-u?4|`=35PK~NU9
zUgrPU8wjLW0Rnm3u4eZUSehA`f<WKP{`oNf6E{quEvw}}2>gS8{sH`dqC_o(%eJ(0
z_58>FbqGNQ0zpk8_D<c}I+z%NK&rU^*!DjijZPmN*co~Ld$8Kmzc`YAB889wHQO86
znSns+|MPSC7Yid(Y3AVQ;Nl7bX~g_%mx4g>k#iWEsUBv=|6Wjs^Ix0-%)bi8AVRI_
zpZ)*gnG`CV`F9PPSy>$af4hnb?YU}VXliJ<4P^`u^VQJU@XLU*=p^I;8wi9_2SEh_
z{qMfHgHdug1SJr3h9l}rS`JZ!o0vk&$_fd3yoZ<fT-``ulZO)f8fxLf=Gfldj!2JN
zr~Nfr9R`tY0}n0v8ydM~lZ^WJAUIhnx{v^EIP8`W#Lt*mY<PsI{j+IJsc8x{L>~f@
zNdjWQo?VClsJ~gziM$b6l#wb*(e5`MWI^yhRdky3@oxcfXRD+ePHAZRdGu7v)TOd-
zZv6S!ZpU(n=O<mvM@ez6D{a&c2qmT!`ujvRF3Ec9`!+p|R;R1_giy3k)KH<Eictp`
zH{?ueDGAHvQi}YADEFL}(&4(tyAg~EmML_Z5e!{i<Rs2nKE5{n=C-(_P^DX!TOvx(
z?R|(1V*G&P6-M||AT}Oy&tF90zZk;X!WTQ-_Quc?ZM)zXoR9XcYvuh6!Nk!9I)Vmf
z8|OivTZ8U?&*I+1u|8CTB6Rt8=Dyx#oO7qZ!vBpv#J>*;(sQ-C8`c-o?1fkOa&mgo
ze$~8@$&P2mR(|ET9hn&h>D}zNXy_uwZd}RCFMxVXgj^&tfwA}yF%}=<=!(*Eoc`|x
zan$=g-g~9)zo%kJe(ypv0-fX3yMC9ipKtISmjaiQUAIf6A~Vk9u%BaAAFMQv=%qWV
zyiB7SC${`z4hvasLum@G-p(C|XfN7(XdTH40ObuFz`H78zwKYLA%cPbp75ICNjvjC
z37|3WfT>2W^?yeHVv!O0UYhrplM<Jlx-s=<^*7QovIf&J3hLnOkqPwdD&L4NQ2k#?
zkkrMzG`<Udt=`IM{z%K5hb>9{J!P+>gW*T3`<XJ_FljuF*ZhZb;37+vEdGb{I8_g%
zgLNazGCQ)pVk2DEvzEtU$?A`#YO{>?7Ih#A-7f;Tr*rq{prT>r?w-Hs+)JV|*^e6U
z38LPpNaU+hiu;O+lZbD|l@4KIT*;2-22&pLHK)68fB6}5uW5F!!QD<iq(p)=b<swz
zP?5>T3W2Y?B~)a+0lS0A@iUBHI8ivLUcu!4rx~)7O~e)hI<BT*(TG5rB##6S<6i)v
z%t<_g=xO$dN>E-?&$`qe0Z;t0(%YLp8l01U##5J9TEHyh88}bV8spNZKHNRYH&E+H
zD?;P3B8A9X)5xb9!V2*13Hu?>o`__wCQ3~$D_`W>%FrDc5|NRrDf{`S>p3osB^|B2
zy}h7d=Qu3#4t}C8ZLO9R@wI1P(F^c`uJ)R9V56h(srC%MX#eIFI_+R<>#55hL)F@f
z)QIk6%%MK}=Z`|3_Ji33QI?N|81&)c{_WBc52Ii3`k=k-rUJHIm=>d}!QetHGGS@Z
zJzAJ>_4b`UidKkC$dPXi`fkhk10=lE)?Tv)bQ^uL7`@}OL{?leghQ&1MKAzy-iwLc
zEQ$I<e67Z-tgNL)hF3$Kz)sM6K~dTP9VKxgVZCW6TfEaqA+>9^pM<$0R>C^EQ1J@#
z6A7C{<33kE=rUrDF*SYubp?9#u@)Y}JZ110!%iw|dZHDf)EgDy*)IdlS(o$97bh+P
zCi~N&EqNYXq?V2Uve&0^New{g-y0{4Sq<4I7elsAEQ5rQEmH*8(Qc1+aAegULYY0J
zwoY;2ma8gX+==ZR9-Djwb056L$Q5-wS+a=JoKvOm?U$h)TJP<$4Y(kQ=~wowXoy^t
z7yKL<pzO^SaEv}B+m?&Vevjhu5j6c!ZHJH3PH1Bff(X|c%%WVkv<2S#>{Ix$X90cU
zck8!$y^-5BzaD6p2y3Qyj&bUx!joK~rDN>MMfMGAG=GEbTS*oIV4~is>)tu3-cYGI
z{39cm(#ys_?m&mJ9+ofAGeTNZ{?+g^-O(gvrFjj;Jk8U|T0R1erXlx_6Ss|%q2cLp
z?VG1rq{w*5I!mQZG~nGc*p7`X+3c5LG#SP;oc4jl=NH$Yq=9qbQ@UNGXRT-LLBNFl
z*M97Zd2;R*W1=w6I4)4SCb<(#%+xv%<NT#$j%sI#V}doC9#?J`B@?o(Q$0-F_tk;A
zo89_b^5$a}$#FU8o%Jd$?<Wv4Py+wo-TZra;WFXPv9u!YJ#e!pE;8Q>y@`;Z>bad)
zRd<Y~?Es_g5N_0M=8Sc99>lJ}=M?(I0jnyRQ^oO{HJKH?j~E^pB^ZO;AoX~l96~uw
z=__S<k&%k!bxQ+h;k;Se6HoHp#7CX%Dd4!3j)>!TJrryIXhx!6bJKA$8e6%18a#oc
zK>Oo$%$Cn)61bupJOZQI3ANl*mAUD0Otl21>^0h5+Nl_NYHN!7tn2gLZ8DF~I>>Ub
zzA?9+p>(Xf=kR=Wg`En_-!kXS2sU3aeQ?%*$g31(A3ITQ4E7-IY;<EgH(2+!c+Baa
zR2E@F4Nk&ihzL(b;sEBg+)64>719%WeW}+2rG=-EfPtK);Udc&TUz+NAvtrFqQTB9
zou!%xeNts;T*StK40cd-*?JJ|pY>li(`5)xIs`>w=~A(oYf@Y559IHTJm)Bgd?xf-
zGgQ9M6|%{iib)d&g()9`ty5bvc~k$bQ9!l_a#rOE(0d!Jx_!;<b4dK=1zlxAbYZDl
z%sydO2MANGRFZ9qhKYl>9bv2Mq@ct)!~QIM+4-F#!Sgvci#T!dQNNAZowo^a-eRe~
zJpH%}|4?NQpXAG|zn*=Z@0qfzZJG2t*Ibq2M@@+779y&LoR?kW2HY=gQH;#Kyi}eQ
zGya*9>|IyX@A<`8enWH-5Ou$%E(ub7-ibd?2kdNntHR&WDVc^^ohbamg~hg3+7bcB
z^PXm#$Nrc5J6j53G7>QY;q`QQ3#0YT9D&CHCrA=q0->)c;RQnF`d=O%5VUc012)Zn
z1`BGFQPoKW=`$^ZI{gOt9y%2*7Q~ag>M2lGf@hUz)(KpZA2r~YZxD`xgYS1dRqWz}
zfk6FTm5;|7#+E*m`0aq}>Il}?LU^ihSP?OPG}|H3h!YIjD~UfMnZ`!Sp@RVnLf3-p
z5oQHj5vT+6!cr94uxjuvxT)JH10w-HAoU<<!_?TK0^P->{wyzG#C=M?6kJMV`+vRB
zTY3;mbR=+shjsDC?4cT@JtSkETe}yP2YCOS!T1I(n7XeZsy9p+u_Qo=?Wq4&$1ZP^
z<fY0!A=p$!{LVO;-eUF=g|d)tF;l`q!hC1Z0$(cQbV;_DsY@8mda8T(2=v_RJU<Kh
z<fi9!YxH~F$apb*59Tj243H5YvVeL)p37j|s2?;gVCsg|pn|PlC<OK!-KCUcfkZtI
zP^@I>12RTDNmD{k*3)FpT(7%}sMdhU(Wr_xoqG+I`vrRqa@71Y`|g-lF`BT@pq$};
z7+jT+niPNh#2@Hl2q}&Z({Y1s6yC17YyG4-5N6T1Eo2b{r*Z`8wwZDp=(}8rVBvB?
z!Y|}UFJz}{f0DVsr#Ew<GoKP$Kq<@YBjD{%wkJ!4r%3;AIeK(!h*EfSI-Djs=D4GN
zK{}8T@&n4r6dk&(I~04PCV@*OV}qS6J8rY+ZyMtM!tZlOs+GvP!A29Vud1Dcpp|30
zJw9>->trdV%v+-wr-tY1Pqe6BgGQ@sW22Ot@=)<i(rNs=xyUNAZpk13JmoVXi@x&t
zs{;Ba<T`C9RMOgMX{iH)iRn!wLYL}Fj6^ogGw>-`LNQ*-<@s>GDlLs6T<9iTWbS-G
zvAYyI!KT+QtcPer!*+k@Pv#E@2DyWzmAHLJ7W9BW!6@-<Jr-FN?U!F>xz4ur{)64a
zvY3uIHBxp(B?MtuBq-?sDGLEDw1KO>7wmn}cw!!zzhV+taUDMzWPb9soLoEUTy8w}
zy;(fgRLRYJoFuLtOyT4TYSDepr6CgNA9s#jl>>BJ-d7uqS|0_q&2EqF2u@y+?@dJr
zw6&PbM6YGA-fL2zggPkxGBR#a^Es$)wFv3OMFGi0ETOMLq<a*=P=eN-QY7)$cyZXZ
zuOLG?C6f(b$efdJgxaJ!Fl~@5P!R8qqSD6u6$feM%X9X7n7U6(Y0aLblt(Dy^fg<2
zAAGBdf;M_%R*a=~jzu8WBbH#MK}SM=EvPF^Sc;rsoi^Vy9RDeJ5;W-AO>>+sO8-9Y
z#VgS|?8RI@HThg1J_JG`oWdwSe3$0SO=+rEH530UI!kDj_2AP=Ak@*SnqS5@SiAr1
zVm?$}NThHjvLQ%E^DCcgT%{tTJ2=l8oOckfSSqNomU`qxfX5AjQN=TxnF!bQv4+L@
z+=$=b(U0F@^^=1<&fiXCz@w@0^<Cffj+D1yn_?(%i7(3mv4+t=hP(J^6CSY4!^2i(
zL&c5ZmX?m!EskoY!#eNQ3NWDa<}t(lQ5Up*L1UaWr>eQ2TCm+x7|A8<lSWxSUrCVO
z#6*0on5H#kaBGBR0UkIfy<;7c?p$19Qq!Ew<!Jc1Gfe(bXE7OrXQEJ&QaGF(E*{C&
zqe+g$a)Jjm^A^1u^ttH!lWwH46i1InPGBH-P4@&_>_S?%CvQq*_CALZze!mmd3occ
zaC4<rTs(x33vK!Rx8CO<a}~Ss?wd^XkcZ>Q3|qJGi(uX}AjhnWWyoU4l65hGGtR77
zn|?1rKz1ri>%~{AM;2TfeRL{kVDDgO=dj<1kz580C2g^-lh@+5zwF@j`0ng1QvA&*
z>rNF)xDx3IrLt>&Lb>{rv&T7@H;%xA^_l!Y7AK((_kHZ^4BMvGPJfEW<Wt&4JR>fv
z(MSHAebei?Kg%q}yzn1=zw-)n(UpLv!9s{D@3v7gSBXDvlmjDiP#ycUvno(^Ur&Ay
z7m%3(>;6*QY!S31LTUwlBHQeityLq)&Id6~s7u3il(@JkW=-M*mEe#Uj)ISA3GFQH
zP8XS}wgnI+*L8To>NMFRed<T8TSxeBy2^s)IclBvN{s=2#VWOOWF_rj&n^}WaPak|
z`h!SP$ga1OP*3sBH3DegyCbRQ01m*tAkqTd=pKjuYDXESI>c^p3~gZ`Ya{HfOqs%V
zdT0xxFmiOlQsSrV-p)aNUguWL_B$iTh!OwC(;c&G`lMhH?G!C%-GrB@P(jmnHXI_D
z1)D=O{R={1&gFq>H!xI=f9Lmd%~#(yBPuFh{2a6%tWWt^p*0Xun693<k^6<1u+tS#
zZqYnDw@fT0rt{Y46tc;ZkiAP`i<KFf^JQvRNbf&jLoVL#UDMZ8>9>OYdWi2UNxO)g
zMG*%AHk7|f0QJo)J7IuHh}vUPkjeS^=+WUF)ys4JgMCBFI+mXpKgajq{xO*AuVgyj
zRUV=FC0dRO#9xiNveT{=#I2Z!W#n}L@k#svxU_-znzmhv7im(hj|jdUkG2P+Xb2^7
zN;H+W*CA;cGN0<1=vMMz5|R*Uu0JfuXpx{Ta-~9?$W6MFNHt!`&i`P?Hqy7hSyA{D
z!dgD^>_NT!Vmv9x)w#pE3G5>GHiWE>Vjk9gUK{hl81vRu6@QfYZ_5{oQl%{nknhuZ
zVtSy;N6>j68f=|+B-nkIKZ5MJPhT_=sL!qzS@+>qm4N#$nE{uWA4*r3WTdp>N$$`U
zB(L`LO^yFQPA9Uk2;mU`AK4re`)7gxCG~Z4wRD_qGhaGHoS&G>RpyEo_<dlJ?=Ip!
z6G?0u_$8NV2>ThAD_m%>^qT4kyp41g0w-;b?$V=YqEv!+x?$E7f<dAQgru-V-^wHU
zRV0USf9Lxuf6~0bb?*x`1PR~JWk_mv$vf;U_eg8bhp+7W++nlds=cs2_SV2Mi%85*
z$oS*S^5ocvB_vY5?=4l+9HTl4AAURf(Q|M5$<a5HF#VHp3dyGxbM>4Eh#|^2quDaW
zbhX`f9U>yHXXDH;`{VkqZ>55JZS>`e{hD`uzs_P}14Y9{p-?O2Mre2CbBgEH361@w
zLSXgIX@nQmUVEl3CLVSnMn;RTo!WkPn|m=?0w0x3LF61Qsf%?=)NaoRyBtMS{*3Ft
z-%q--etxnu$4TC4XlimNfKQJa*CR1yDIPuLbJuDT2`+biS#5X6uo-y>Tsa=Mhn?7S
zNTGfrK&KC$_bC2d_FDyflc_50Cwu9t!4b>aCD)luD9@}bWQRL{G+W*!nA$R?Va`E8
zhF%@8=xrt|#9Ed4CG*#088lCD#@K%@V%y{I@Pgh_G326~S)VL7K+LoRIr=o36ney|
z59-GgiObGvVPI>KloZx)a@`l@_MvwCBiKVidWgtY<dQJuF@_Xoe@qd-mPf)Vxw9xr
z`YlP<MGs@r87BngxN}~Fx8B4FLWMz6^iVet;&2QJ^i6x`<(FRspd&&UenPX^fDqZz
zgm@hVyt(C(3(2eiV70%Kuykw$E0+(xCuMw}d<z0`4%~-#p7|s#nU;SPBJy@pv!*;p
zl1rV$nNtFqzx;XwkpxLvLMJ+rhaM017-f5DojLmZrX{py8Rdv@RA`A&M-iX_?EBz9
zQCje5X2?`|c&EY1)GYSM;YZ$azVG}#@AQtU<E~023uW~OVuh7T{G=vFFG!ui0zv=s
zu52U1m({-}<;Esnm<OC0$8rGy)Kbu~e^;y)@<H-VXwS6gVXK{qBIiQmBqfix;b`y+
zuSSyxWtkLXRZ<Dy*o5h$RYz0`J!8Lt_HUW8<sxCXf$kypf82tk0wRMRwUITRs3(8X
zt%hOd-iQqWh)-;WF^wuo;m!hK(-5N)Z6?m>O<R+9Yz-KsJ!_$WJJF;HRuo+k4vlij
z)|cR(=UZ;Kv%Z?%+kpbRWyHK*(e$pm5|hzsrmTaRTi6}F+61j5>0}y%Ud8fPw=zAV
zN`bE-A}mWfr1DR&GLo*v7!-njN1+}G?5lHg!axtef?KqufGr%3s*tS^Wfc(?L35PH
z11zNF2=Fg;iP~ETA|L@0`lyb)In{>2l&9Z+7BYxi`Si#Rhsf7JI=v5Sg;!S8_~RPc
z-GSENc3)0K=p#0d;SUcG%%Dkrpt5pD+kI`}NfD~JNdLa-h(SM_6M2gk2k9ndd%bZS
zQS1v;&Z5CypiO>NR$;1xu=6{&L)wHN#p2#$ZGlW9kav7<p{m1Y+oWZeV73zBAsMGk
zEK7<m4i*!g;l^Y_c&4QfFs*~bYSjXFCXi_29&%H~&JoFAMULV<T1YO!yq2(h9m2R8
zBMUP^+U;B>^nM)anIzacUnSpYDr%@Y@kj?QKBb=c&+ly#!953DKin^pvhEO<fX3c$
zczVuEvy=cR!d@y8F?}Y3inkrA5H(#N-xt9OiFpf+k%IOE5@q8Ou>@^psCR%TxmVwx
zZz`6!s68Fb{1#vPJsrIA`wUefpW8WVz1j6Qs*mPJj_~_qs*gWzv-%s9koy6WkQDH1
zI$OmjQ`OUeYx>l|K5p}2W{`k{N!MjY9Qb?{f2^YOcKvGv9gi}L<~<V2{h|7B8m36o
zaNK&@B_#-B9&GYfM+aur!}{?RWqBJ7^)L1raz(?fpwZLe_^D9F;Wb?K7{lPrx(M5!
zFGHegUp*L;&qp>xXm}u?<vMx#|9SyW-YN0*f8KT$Gj_ZwQBDRkY{6fl$mWfX;SP5y
zoTM$rqRQAlXa)`Ce!;}Q%c8V02;n-Gg@|^nrLxE$o2&Jlj3L()e@pAg7c8o1)mSAm
zPnN?~QPJ7I^<uCi?%@>SSa782_M7N_WTxPw9PP23Gk$q49FE3Gge*UU>DU2?`ziPL
z(#z!RQf0W(G-JMgNuD#SZCZp!Hhb0_<lNGDOys%z!EN-7(}%5|DGa!qiN>Lr6bCV$
z%WpfpvZZ`g7D(`kCXS$utibDsC5~!~uh*%I4_FR#>+)yKt8!E_AR>p%UpjkF8eAAC
z&%GoE1t(%%Xj%s<B9rnF)?xyv^O1VcUps!+YAr(QPn$e-Nd)2|ydFTKcl@GU{bi^S
z!PMi1(ax=b0~win`BnSKooHRMmOS?k@77|rT?X!<nF1c}59TLSjtVBsiPJ%G`ZOaR
zcZ@J01vxB-<;jOzjGt2c_?oRKp0kXkXk&u3X3Dg=h^;Y=xH?pLl~f`rS`^mnY9uU{
z2F>@2a9%3^ZN(!VK?_mm{7xb)aN^i%G8!Hh5C#FcL6*HL8G^$S<|W{J9nC4%TQrBm
z((@!q4p*9z^n>+4v2(W=6t`^^w}Osz$Dwol!&l#o%Levi)SP@Js&UMcWP3ws*Qp%M
z(TX_^fwPppY+F!7^~641aTX#%eA^_wTSF?CF%`5dZvX%r-n9<*F_Jc#3rAsg41Svc
zpS=6ltF*)74OE{JfMalVcK|=dhkt%CL7c_OhfmewyY@u)->2&qG!@)2oEPj;6GBgP
zS6q&#ncl4YnON4-OZc6-2Q9zA9oqOC>yQX(&81Da<e$LP%H;E4sU>ltzr1H<%5DXw
zeF6AXAImpJVM+sVyQp~_4EUId*a=F2IER8T?AEloOSrQhNng_Nx-)fa(p12hS-x!y
zcfZ3UES|yRfBEY*r0yKMUfcnm<y2A+v`CEWS{Ha31A-q&by>`<b9?7`FrFhZewIXT
z8b&&DFv`yL{RAYpnx%MLvd30#?$NU8W|MSNocJ75bmd9eN%}njX9J}*&in)bH8i5j
z9gInADLKnbmK8T{v`du^pN67Zlzc-YJ!0de79Er*KaNk1EZ*=PIMMO$daeQ?Pk7CC
zy1AbWo{sJyK$wq?k4mjlak*GC%*FtDLHSoh1L7&WL^~ski-cSh6}VDkqWrHSx1ODm
zdC8ECvrE<hD43{7?FI8-s*e_kfS`h$`Bbf+1yc*^ft}^Yp7!o}7=5nO>iHKcc?|gc
zGPen7yYLXe{onjQsW9GKnkHmN%Cx$DHcRI0U`29SKPu#@VQ#{)oqHjb!z~pZTRFs>
z!jqy#vFP;Po*YgBLVdn1Rvj6zzJIEQH=)WTp$sM0yIK<MvYgB^e9ZxdD05qW3Zg}V
zDScF+K+-%XNRGb}eN;G$;l}Y2iPA@lT{NeM7aji#2)Exq$mjgRYCc<BWh0gO<vppv
zFpwVpYpo$pmsqU<kL9`X2=nV}daGqP5hPaRbrSl(kh*H<VD5Q?a);qT#11s{nt<-;
z0Zu33VQQL|`h!sY-cSR85pB~W{4hRnVr_GARk6N)(pN&qk;&+lw(iY;9vPtXpN7rY
z5_Bx|^Rrh06(=%N=fGHnY<TiwN4b5ei^76r>%~-VZjlNqViQw!Wi)&0xc`moooGgB
z@wC0Niq)CYC1v>ENq;{n*^K@=%b6=xu=|pGWBX)Q2A&^;cGVle>TD=OGJIwz!F?hn
zMexhJw2Fb8zqQOlQ_{TDkeOUe4C&-)NfA7I$_){8x-L=sT6l@v)BLzi-Ea}D*rd4F
ze2my&pWK9cX*;0PciPja&^2KYEi?uJ6TL7H$tze&vNmE?id?VJXK9pDjVe6tH*<jV
z$6KXF<%IEE9M2jE$yR#W;w!?%-AZ9)cIpyUBs3hw426oj`-BR^!e%w*>YJ>7FW!)g
za$U9B0|$(7JFP^ZCGZ;xhD{q{ReTEqkG80rzRsJqN;QPBw9z<k1);6f3B*eSy{9!o
zYtJu7jrXVA(=~YR{rjgU|Ir$Lzn@Y0{FoP~!T7`#CUgbPqKC3V?8r-pd)a)GLsTh;
z)V#CSN^s=kW})jKP+4dm(`VBipp|eX#c~D4$00gVeo~-0h7#HNb1LZJEpO6dJDJlW
zQ2!Z1>(7mO=^=#t)F45F_q4gMj6uWTw~oF*x>JJR#462k+8fyUk45r38@d#c6mQI0
z7Mp9gR8tgS{q!pGjctO~h!8`f2$Yo*R9*<BXj_Wy2v~g+Fd^qZWGV8pq@rZ~5v#@1
zmiWfyf&Bg013HlUL;ynGFyD@A*t4_^mq0^bO|6Ra=5nqwgZ{7UI<xXg5ZAUjHv+bC
zLZtfl>CTf#7MZWHg><HTVz?4NtF2N!Pb*$tj^;Z6niJ+QBtUPYD&s!ouvMFpL`N=)
zX>RIg23aJ|^3+ML2F?#%aBq~^>GQ_@eK(q?W5+!OqM$_%3hHj#5pK@hn5$ZEPp{O-
znGtTpBHMR@Ek#<UG!ri;nU}l^*;pBK3R|g)Di#jLY=rPReppq~j@Ow(`sBqO$9M`t
zscL`VCthc^d4|mAvA&rl$;8zteOLxoK=ugrN?1MtE-8VdC_hx6%^9s@0n%^8(l|z>
z_=f6iNFTptMT!xTHWIi+7GhsV{UdB|j4gh@R5w%4Ku^cvC=YN4cT*ohBxBb>oH*rk
zP3Og?_>7>>YnoZ23@c&BLF*+GIFQqu7a|-e_zh<ikjn7=svts_wUcDZE(gABj#%DE
zv6ajlNjd>L9<KCd6>W^w3^~8Uca@1NY%ogr(%%~(JfkIuxMs30x!1n7*^(yU-5tJM
z!|1&{=cxk;25-l$kV$?YjhloG5}+Mn3Xl<)?73$^7Ul0EiMKI|UF49*5APPGf=~kt
zRlO<+hvNPc$NXJ@T*(nthvddKE`-xmB|R5Vh$lQgM0Y15qc}Pe$|ym*hY`20X>G2)
zKFL~&Co&n&AXZr3%>H|uc6hM2H;EM`D}eXB3;KIauA`&+<E(~$e9E0S_QgmmuC_db
zr?9E1XV$i1p|x?MvZA4p;a8)xF*_9Sk$)#WH_7Fc+;-cxB1$os8N^M1Rk%bf{^;Mi
za?vvJkiUVt7qmj~A9B-BCEReuWWz*t0$$xwfGkbJa;*Fe6JPA+(^pY0sX03y`k^p&
zO>IL4!VT~HBi*U&nC&`flFOgnZ4WG5^5!!=-VY6kdH&XJv_Jprk+X9T!MB(K?4{%e
z*{TO>$dq0pM+{bd*iGsal{Jg6toDxGE~@k^-6*?{oIY9y<mFFpZolZHsg+tN6R)I!
zg^R12N)HRdy$3929x(Z+U(PbW594+&aB*=_wJ&k73)Z(~#vuNVhNhF0ZEi+|)AjSJ
z7Y@!P3%P=w%+N67)kFYS9ML%g5FMC~5carQqgULzf$|NVfm$(r(5=Q$(>^NA2b5xs
zgpKdqHdqUn`DGBli<ZA8;svI2`#w3Y!*qFVU3IZHL0no%t~iC@m2xoTW5oWg)l%ql
zcyj-JZVB2X&6ae6Ku@Ek#JMR3Sfj5Rx^`Z7VRoiaf#2KhCL9BF!?_W_T>Ko5l%G$q
zF_QoL(}=*I|B_Sr4WV2Iq)q&&bC5_%A-h9XGuV&ZA_!u?bLQV(GfN9IdYX9aAJpQL
ztNb3a4Shx2wdzH%=suBH4w#Sn<Plf6Q-O{&$k$gSRhxS-LF!cXtHh+YhM#|?NxB!+
zr+WasS6-1ZY!%QV{Q)uorOgOpQM84ac#LS}5y=v#H5eFW*Rja8z$FBTQewE1c^SNT
z(_{<XM;e-=3ahR6=R*(j-D_f41Wo72;eo@uoVrTHo8JfuN2YJ~F{Lz<65seRJ8PcE
zxTJncFrvQ-Z_%Hd@Oz^<b)cldq)8@hV)an-G)9VRhzPF9!VS6sGN=FbBuEcuYkUbH
zfeRZV{RQ&W=%FKu4OZvr>+|>6dXQJQ7cUsj@Q)pKR_s_%wREgxUhxOtNhZB6>D{q7
zjGw$7d7z#N3V`d(c$tPrXbz@)2DELR%>RTuTX+bIBH`?)IV7(8w};-Lr9-Zh>4Hx%
z?t-26v7AmMO3Pe;DDSzt68rUke}wV1a7?=d@We*uCy$8Db#MM<-Wa~oc2h@GJR41>
zclZSDDNa|e?_7T84!yDLAw(+6ARzdO$Vli{u$&<kInPWJoI(&1Q{A(^wghSOf1!at
z4v$J>B6{-`LVR-2NL|Uh)n>b*U2BeC*%<f4`H}5J2M4Nw*X4ZSMwgwzQ>|*<&#Qr-
zE$vzE|LsaFHn*6q;{PF&N%AVG)*;A=Tw(1&_9*N|%j&J4bNG+W36Hm`+_Z#AJc|vd
zF`<s&Tqfo@BS%{w8xk`U<sQpYDM*MHImM;OLXVOh-@6o!gzdD{@v@(_rGzC}1WCsV
zeAzD}q0$8cE+}&*`{;F{-^KJ{TxAg^=$&oWM`I_cSx7V$6&NRvw6*Oeh{<WOZ)~D1
z<y7ptv$C0Y9n5_d?Nqkl4^|Vw>I}lcg`d0lL))yZmT7^lg|OR`wn$@EUeH%CY!~j1
z`+e4EgtB*QD!%TR*Lz08{PE`+^9tgu7i1~@!;alRn%50d`2@TjxW1+MP{3D>v#IJ_
zD57OFYS;lxosCL1rgkTRc1)oyu4GP?-&dTk)-c+olg(^i8>Anj$BAdkMk+k;B^aOo
zqYGuM*`Ymva6VrY&Dpg}N*pDJX0P!S@^u_KLC104pwA#s0RxkceTb)xXJvKDq~}Z7
zVLckKuNR;{^<;%k0UacjoKHb5`9kb!A|FxpfPKH0@GkWS&)DJ^j<g<Uu_dg*dAN}1
zjz?RLn6_$cvVcYQ(STQM`4$?;TZlz)&nYO78wBs;kytCvQ=WQDl}*PB|F@nrs+&}n
ze{_JkiD?8s;69zvmX&A?+l7rw8v*rF00IM=$@8G9UKo}i+crp{QzXUJE4?FNIgzAE
zq{)ZP{5nFSD0ZEDrD<r0?7~&Aj5&>(k`n=h?1iPO3~XKznwM_RY>1;HEXHS*dYwV8
zszA3Zn1!srA(`_sLD-@N6~;|i31s|wq<=nfmWhVu;*P%2w0-m%4*d5a`gK#1Nc;_8
z`GB@6+2}G2-q7A2bHT>O$pegJRSFi&8CcCuWaQZIlPF`q>mOI!;0l}H*|o+Jb95C<
z>&c?B^_Ez&b@_M&-qieOyd;T*;>*Lrpoe&w<Z-OrMd;J+v}@O@Xlu$6z2-+CmF4FZ
z2Wg_&VZeRFg?Fq&trs|@GIqOUyekW6h0=G2Qt>VQetT25QIaiaW%rKY`ysU3>Fa8K
zHg!kYElfwWHR*!6a;>;JRXS`iB|9^tJY!Vb&|R|qius!ZWGJIHju(Im&)QSg@_n3p
z8%53Bz~wM?IaI+^*y@{FuS~qSXVS-CGH-=NXi!0jvI|!guCl6ZXrekqOa~9(t-h%5
zByiDhCPBlJ6qj#8{#~JNJ~^VO;ZQ(v)3<~bYQ8S!_uzUyHm9X(hKT^h*Oa}0F3SM~
z_Qq3Azda4_6e$LT_B@JH1J}0d{ZuVMPP2oMrHa#WH!!82?`t;$Hw%kStNt&`tfHyj
z4F7MRUQO>}*Y^I0!_L+ZdPEffdcV(B_SIeZmJ+ku*2A^g3Nq1u$r+mo`XmeCdj%=@
zfibpYtXga`gWGXnoC%0Hp{F6Kn{yoBq&^$-me!e=+`1dGG%ra_hwMd<3`$>7AWh~K
zgJ7e`_b<lz<&>%|4(8jl&=nJ31X?yX7=1@@sHRemY(=8!*>f5KhrSV@6F(a@psvq)
z((Fa`Ymc9P-NS9q4e9CS_YQhOnXNqzi+4}H+n->L{HS(YD5+6APmCWs-xD+j4$-~O
zDjbdpT>riTq*`dV!FSqgNmO@vJU@hO4n|@*EPfC#<T11@CR)-}-a=N-==bVR&f}Lo
z_-`R(wM`t~^B*Vu=d}fB#r8N4z2u+*S7Iq1FCZk(93eXtlHT1>0UMjoGOweDQXpn?
z*CirHsn*zMRB~u-TMy=}b-J>(-r>l2Yt}1NcIa6|$-ALtza@H=#QSe)9{F1-<>PFb
z%KFTBFK~eSju=O>jV&ovWR!~*)rILUxLiA0vax&J^8lxa_8XWihsW#aQIJSIM;H<w
zl$C&TdGEMmG#t|3F0O2^*Jr4atK6<exK<z_jZ8{a4~-zW2mgE=Vfo@0AY{125l;b$
zCqZf7A6lv5teIg7!PKzv0t$!=Fie+}9)2pUSVC~IexahsTD6q7?)OU1)k?_Zew=R~
zKyND}F46zNX%8fGxE`%Og7I2(TFbo#N{*5z!dsuEQNR^H4C-qu$5I*9-G#K<^*ddk
zWIl%}v`Vahs7mcXH`1iU|7htkK7+<tCs}W?oNF<BFOt1~Z{IY(89FFE1YQX3u6elN
zv3NWdY;M9*6H|S1lat(L&I@?bktZk!gnQ`38S1&%5&;3q+T=72Jr@o!R1V}QH@I6p
zSN=)OSe+MhSU<<ZyFS5_*pCJFsg6x!mDpE?b8;X5Ulq<iE`BeD&atE|7e(<Gw(Zs`
zu2f7d+T8gzSCIsvia1pJKjjq`UlPkPz61!gCR-n4AG6i`tTe)Z<%H;Smcf!BU$><a
z95B(qn+D`$mN-0#!k^8PStt4|_??rPm|bq45Hm|n+gY?(1!mF=yyueBs|x1wgimjD
zV~%s#8nJ6T&UR_4Tv#kK7!p#>o^h1&C~oHsR&>?T?zFPpGBhwoV-z@wOO^5Y9(ZFP
za_~8N*jye=Dy7eQoF1FCLiD24{)^61RUMhu*9H=J1h?4jriWZ5rDfdNRuQPs2qVYS
z?zlNI>l2ki%ORyuV(I3#(cn5a#~lj0B1%ZH%EvBc;VUVywrgS;V5gla8-odk%+Ny3
z1E`oE4rTi0MCajZd7DsD1ZENme%TUfYLjIa7VUA-;BBl}<-F@zh--;QWTqJRxH-zn
z2?G=vkICdC&VIfkLR3v`bViC(o7!?B&cb}w>VGHhm@UM`kIJ9xcX!Fk$!FAUc{qON
zF`wjiPZkmWps!5eZa}Ayv-hR-kQ^uq0YONBv_&(TSbQIfua=V6(hOYZ=Iv-&ACw{)
zch@>Y)P9`5k*^ZLeCvHAwe@b(&_{}wBnMtw+~x)oA8PDg$xT0>i4tXCX_7!Zk{xPG
zY_IY(O$ABM(T5Ogn;?eX>@oWcOj=L4(YYUAX)q;Ms!_co`DokD_hd+~4n~q`czW>Q
zBvzIEyCWGrkFp#dMV_X3P@6@b_cBU5A{_VUjvjJ1TY3EcbaqSo9_}rlUmazggMmC-
zfCD!|BDu#4j@aMvvvr4thYjC(G4kf<cGT-H&gPLryh~jR`u(u1V>J{le!6Q1D9CG;
zN1ddR3@4b;sUuLByVJ~^Q}YW|p|dhvhh(FYye*pK9Sl;a8_&5E4dGbALZ`>$8Fj8q
zldQFAL%l*~;cAS1R;NcY-&w9PGY~I5V=pO%Y{heZw)vx(01vZk@XOCmkA;?vt9Vau
zcLwLipCsz*AHR8r1fXa{w&W!Ki`^04RnC`*-M#i7=#i|qiREUS4mX975@ja`y)q;=
z_pMmCph9=Y14-@qD94i>&>4BG2KbJBjt6VuKIzwq21GGvtj7FKgWItP;y?kMu`Weh
zypxDaq??Q!(XUQ64PiMB6}rIP^oWyko@**-B#GSsvHpIA%ek?xwT!?BJp3T$a|`e;
z>L6!`q&T?5GJ=$c$MA2c`_JZeN@^eVfG@v@Z;2pw9btJb@EzFY&FDiCuPijiyKreS
zHpl|CHLQZtQp!OgHGi-k{eiV+hKu(lo+NueQ^EE?$Cic|<Gk+j`O6B{rZf#9B7A|%
zRoP)Wi9$PHCA0U4)n9v*IW{46RJH4w%#{+=x=aM(&5Omd_613c%{JfPg)S&W5>EEE
zr-eK`C6g=v(4R;t+EsHGo&56qE2S|PPn^~6<}IFBJ*$64q$j;up$)L!4$P@_Q#iA8
zbRRBi@L=on{OKLVF4cv3n>R6^klQr)E@jAP<=K<)$<WAsoDNF073?q?RN1jRa4!ji
z9L^Bx7wV44>)AO{mgc!r5{txry`aCa(@BvGz|cTaHY0sM5mm8BAgf6D4&w>t#^@&`
zN5L{VdwU@KmMxaf`xh8_Waiv(4$IA#w(t75ukeF@tm=6x{oC8kX>zuaC(eJyy4apa
z45a-TbM#&>B)>gKbjIIRE3Ub=ILbS|JUYCb=8h$~O(%+8?$zW`;4x?Ea@$jtVab)=
z+K~o>7PDSaw4*fWAfJN{=F&U8@C>V9mX;<&Sqf^Uh<J!c5drvgB+(iJf+)KkRct#l
z4W_zbb4Y@E`meuXaT6!(t-X99zayy-e-k)W@*dJHT)piQ7n&TYl$v<aeX+GKS1<?<
zB|ApuD<{FPY?^zer;(c;$bSjY{wWTeP8Y0A<`xyPxhiNDoaCzKoQU)1E}L5LHGv5b
zVsym>4KB_mb^&F<eOg{?VhzKM5;=x3ZVj`0`;2WT#3}dXDcy9*tQL+@!kjI~g1YPt
zZe7N4{lfSzgf^UYNqlsV04**GxM=Qj10!e5FF)W4jnOd<)-W17r$F?MFdk&9RRg)Z
zhRRM|a{+PnoAj`Uf~6EyCnD|rQDpt2>xTPCySuJEq<{jfkBGRiH>!}L$Gn*<tWbCQ
z^MLRbcY8|Fo&PtIAITZ^zq+o!l{!JS@6^U8ZtrtVaGgw2cGB~%+Lw};V)tVS&hd@<
zWvt~`$<1^*HYTJc*(Pzxe_k*3`hcI4{6*3f$UaHmxRxEX6JP5L$vW#VeE#rk`3Laz
zUQp2~?EvP@-_L2r_d-PsHcK+*l6Iz<m1`3ZE{Nw`c0vbe3pLB1zB9=tehK^?8j&fi
zo957McvDi6uKbSLeZ>B;WO*y+93fLHG~4=foq*_vb(Yje%^$;&_Y#ZjiBZr!+ouK|
ze!(-WmlyjQ!Q{C0L9{5|d*F0ouXpHl_F1NDgAI`K4)Ls}AVObL%|tysj2p4HTnmb(
z<txU#if%9;P+&GYXb7~=nVeGXQZ?(R_EZT=IBGUrjuwvvzt1ui*@5gqr2%L%hHDT!
zI|$dvq7H51l(e1e2HM)p8n<?4jSVxUVBgOx&!k}D3IzNAkR3wDD}P2C3HB?3yJLF1
zivjbH-s@Fg6$R>oL){W0ds2E?bkDVioz0!hPpjz{QlBolugDjIN!WH#`OB56u&kHU
z=@^MLiaOWhGz?O<wbSmV7V%ujwH5fe2kt9L$vG>FYvH|u-X^cKfzrON6w7oxW3f&?
z*vM?M>}dD;tcKsf)SHS!a2e_n*?u*a69Dth4#F$;i>&J}w>Jv)2@f|3nhBVf6pQZ4
znfmBUbmB_ailc+0q0^_sSNE%#KD)OOwRL(v<rq*}bN)rL$qmOIVY9>>E2V++bN1$x
zg3CUV|M3S`yUAc~hLj2O=Y?pl!C-pg^30`WiIy5_cSrkQU$zGG%-Vqj$|x*hN@I+d
z+it$1$g&CHQjvtanTaF3B9qyr?KaOY@KT<otSe#ldn#1jL%@CffCB?(twDkN--$2I
z=)X9NM`UI^Xze8mm<MI1EW76xYfh{$PgcU{qapHWh+?1@*pX@^Nu-0Qljk^afJ-r6
znj;CrPhDP?UH;VN1c`Z1QUcRWR6^(PsDJuUIYXw+v2G$9>5K0U1e9A8ZF}#R+*{?7
zc^(I*7_<~CY+p|TEA627ID;3%RC?Rbm-I7})_Tr=?HcP;Pvh;g@QJY$10r67`rQV_
z$cjg8=gObt6uI9}GkX>)Vq~KY082G1d3gfo{}kmk*fvhBthU-miO)-3xR}I8gbS1p
zPv(HL!OtaK%}*U?%{T2g+_j>eSE7NT_+tZh0Cq$Eaz*x_9wUP#F8s7xV0Zb}ecoqG
zFce4K^d9p2XevlZg++h`n}L+N$QGnIJEOh*bDaEbpGuCi5;y14oQLThI9Mq296mBA
zYthK2JTq1R&$vEVbCw_b8RVs<rBt9xMvjfsLA%#d(dbpm%k9F?+|rAJ$IIz-yL-Mp
zMV3e?8-On#4|S1N(#SpfBl2slwIwx3c{ch>D{gQ6KJblf)&rosc{F}Bar1ErQ3&uY
z{v4MtYHIpY=OGtH#=$`Y43^6(H6q}7lfo?G<5UoqG#{+__H0wDFj0*+Fv=EE%VH;~
zzm??AI5c+8*piboVj_H>hI&Jb%M#(XM{F-vSh@pnJKK;4Kh568^4ZQB-&#$yOOR0g
zjAwZ@eZu1?07_y!P;7eO0<`_!-%oqm$RU_xo=-2<^v3Yn8)-aXHt-!hq!_+<=srxf
zXK<hzjDPtdV$S&Wm0}W(mRU4@tDjZ&*KCGa4qurIYytL%8pIJo^0;;7%_56Ez8QNl
z0;Q~yBA2;#L)6B;ndGpJPDV)zrw+xsu36$~Rb>!|W;2t%=lC;&pdA%5pV^>Aiips2
zL1Od)kI+;9@Ah55+iw>9LuKEQV5-?|!D4cWrrkCU^5>ClvVlX>UI(F)M-7wrR!rq|
z1!oruExnzbT$FC@w9-6H-Uh#0^H$RPELW4yFv4#80U20`AY8n!_5f7XOh&kOqk$&{
z1sTf;`5xm%`=Worp1PG@5RMhF2Tu%2475d~PNpYc*VG5}EI7?qu!4qii>L9<AJ6Rn
z>fOpW1nnoXgEeJ)x^}tcF0b6GQ1q%=%p~Q8stV0oOdn6omR~MNeU&|z7=a%;ePDz1
zK8}mOzb8$i`H(SmVkhOaje6G9rzSbKS?dy_Q282(z%#a_SWlES7Ti)#U7mz1`VX8u
zaGKxVl{x_wu?z*6MO-l_5st0+=ZQprA?`|&O_?%vczDdXb|X}Kkr;vjSspy~;@SQx
zlFR_9$VHL1_baJy#S!u2Ru4}stEisXLKVTL-&2EOPt(uCdC=(<aVx&?3E$?h<}JAJ
zl-SJwhr3Of+v)2yS$~sl(0S+Pu67L*`7CHW83Mrz1o}tMY7YfG1^VAj0-c{R_0Z_X
zpZONEp4(2$Duo(fEnV?pKIjI&ijtuxQxqlm!lozYhAams<ML7g$L8LbGo2nTBFXKh
zh#3=NABUD$e0je=%ubhjXSWvK?;d~teN-Ume5lzDVv3&^;1+y25+U(PN%4`MWNEz`
zNTs$Y-U1&hd{lLIS}o!Rq(cTRAIr9LO(jd?16->K9*;A3n_%Bw`s>P~wB{k5%-8vn
zE5-#Od2T^`|Fb+GUbtiDM%v1``lAcF@wRFzt0dmhv>bZ=rXQAG>pY}fZ4}1sIQoGp
z`@112Tj%{Be9pnP^u{9}ZmPoEXgXossb7UBk?#iHJpms$&*&wX=B&_E1>c$D;<yXw
zABh!hXbG(s*P(Fy=->yUiQsnz{neXp8BAtsLJ$vxjM$6;EGfhe^&!*#4S1_J?#3iB
zo%7BcV=rpQ<rRIrRUxOEAnkw&Quv=3EWX}B6}T~~!{3Ms+tjIrW75*Y4(MlZ11jp9
zH!%Dr{?e^!55Nj;`EaM+fm1mXUWKZ&<c_jS1<$LA+mH`8r4i^E-1w_428N8D3+mDB
zhL_ibh=VSH+J`=kaq9SRmas=2$<_tFC-nADy0WpsSD~loi}}T!rL(gxXaFg@_eAgy
zj!$4*O;XQZiQ}QmZM%GXWgF2tQJEfhe#>A2^|)Cf`1s2$kpvwot9jIvs35&DqXxB{
z7w8bnnUeTp8Z#bSit@iy!^dDzk-m^9Vd{WHs^M%vEQSGpXZ37YP!P)Ncwwogu^Rg2
z%vr0uTPay^j;Ek1KmXoV>$DJS?Kd7#^c#<W+gP)aCl@bkrOUcXdl`jzceQb3@g=qv
zoJE?gX31kh?#yENeS4QdC9+MVRIOs^#<6bqu#BJ-VmHYQHpO|^Z5XThHDy;U$z5!l
zt*#4TRXomI&OoR()7!onu1K(QwXU`QQQ2!hUY)pfp{EymsZM9nmU7al+tafO{#bNr
zALJM_a|@M3x}mf7ub5am+&hXb*(2u2Hz9JQ0W&blG4AP2!hCto(Y2>cUMSS=!@W8&
zMx$ejI;+i<dGN%Y(AM4N9-$13Dq&+rN526mW`4N$%OOE62H9-s;n{pI#(`>aYnFbx
z(e@?k!>Y{7<4bn`4<4nUye(CD$`GXiZ9n_EoLmpC)q{*$6$$$%s;d4{&JZ31r24;X
zZa=7YOXW9Tf>|09+aPw6jcnJq%Xw`Pg#7ylZHJXga|SThw|>k~bTT*|G|g8xP1k=1
z3Hb*?-FUZW1*yc>zP|^-9utlcwd3RmbdYw7A|H24Uu>oW($YSoM9-*au~AvIol`4K
zj<)stk}rCzV!&&m%TS5VgFulVP7Q6><X_t|h8T-N>2bm){K7|$wSqw3_g{x^B4oT|
zR3WpdY>&yG?WvWycT`**`h&?`%JbvE#rLEh=aAkM_gY{3=bJ-KbmghGNF7-+r72(J
zI1aECLCmhBJtj|F)|ldOy{V|=FysU;1`B4EpBbFfAYZtCa=wcD0NIGDQTyQO#8?8y
z=`Vebyxj3tl#ZAlq}xgAPB<>3cQ02r@yCcG2r4X(_VlTo#MB&h*2^xei)RdgdXmI>
z<CSAonQB#a_~uOmmn~Aqi-GQ@y%zK#lN_5JII)kQQj;`-lLC?RC44g^KngYD-$ZYv
z1SvRi<TTo<#?sVk5DL5B{n<gd`BgXL@p(7mdzmTO>lF!O9-r|rk{h~azO~Nb^f8p1
zWs$S&*r~n#xU_yA8@qOhpwS4Vmq(b4CelS$-A%A(UOT=>hL=c+AkLg+w$HYCTd!{k
zlW#z|^cO+)K^wlA2qXr4k;0x}G;*|(T{@lp;E~WCQzt*YQz*o8gr%JF!nh@{*~*rk
zVJ!a4y%zH``6#;0q`tx*6q=~!a$xqBa==}4>#(U3`<yI%Bp_tC<go;voOUJ6U=8?y
zRbwtis!ur`_R}{lloV{Zg4IfYgeljB%4gAw^0>HO+pUlExHz@;xvfM7yW5i)`*OQ&
zjNQs2V?pRRNkoVwI!aI={b^2+0Jhy>8WgzuJx0Xwfokxl2P&e)5wfY`czT8(PkOfz
zh0RgmH-DmDaZQ$<XLFzywK*!RWR%~Vm;xo~c>P=M-CSn$%@N&;27G(Y^xv?dmAMc0
z>1iOU{x&b@)bNbCK-^lLizDjmxtxH`*X{$j-6Q4;HS<y3k$)Rm+7XR6FRcVm#NLEq
z1JGHF*~UZBHPjncO*`oh#6g`Sb_lGEcG===WED7rCKv4Rj#xlcm*T)i^?#?D!X2i!
z^$Zaw?VMn_Zk-&4jfb1zUL8>by+3?Y-<^xMxSy++Bz5g97;+ud6^(X!UoHUK_%b;z
zi?*1al#`Q6FraRU;Km47ol9i<hxhr{R`SaZ6_tdi*=v>0L8yfeeu+V6e%r4MfxpN`
zmnZU<I8OpBKe_>+4PBa1*JapQP19ScW;5yFyTz5jL6}FKQ{K0cUs`f&yhM$yRjOt`
z*}hewGb|A~9wGknY|Z(}KIu-STcx84?-!puuf-l;*#21_L~?2H@a<^sS;FHu?Gn{)
z5|p6%+M4-c{1V(`$MQZ3!Rgm^-`vhr+hTX&W%baVXGaa>P#h~$m`K)nR7Pm6GHiG-
zXOw+Sj;x_vg)}~Yb!mEK|A<*@xO+W<#kn1Jr2@AIz63T!ei-KEEk8b+`QmNqSz;X#
z%ssLkysMCa>&d;<>zTeVn?v7@YwWH=IGSk62_qY&(bu*7=nKu7+_SE~yV}VWA;i{w
zdX1%n`TG;7Iy#->X&Avprjsha&gl8Km4PA#C~+VG7ZI2@{(|Yqu!X=M;Z{h0B4Uab
z5&ZpsjhuB*)Ze?u36U0%1_g;FgasBPmXwxQl`iS-5>Ny_AW~A&jS|waO9--bcS@JQ
z(n!d{(p-M`cfWV;ANS7O=lSEj=gc{OJZH|#nKS2oUiwrySZ`xxaiV%iuA~obh{Q&}
z1UBXh|MCQX^mCUlI&mmZO;<>XE1$g|ttQXuhi1vbqL&w$RZRhX|2)_JWVze)A<9?|
zzj<Q%f$fTMxfCE2;ZitI)@@}1n`*px+9W%~i3_RCc$1uHKTVUYB@ERXKD|^mU>gbg
zF_-wGKb$M4T$YY<CfHi?$$%uQ$Cp%Cm5sC7ffdzhNp|`V8@;!tZxNZfDpNC>@#nRu
z(giBzWLUknzT1*EW9@vlSc~hyxt0@3XnsvjYZ(vqSOahzE8xtl#H>GX_9&tEKfOGc
zqpVKD2>fh&O<HaepT#1lkYeNta_2D{vlk?`R-nR>r3l=BuK7l{c$siFwE+s>3q=!$
zkzQ*QB^HL|&9;3E-eBH9&R&MwI8XPi5|yL6rEn=~sn!~^%I=bDy|UySNtXw!Urm(?
zJz7C%Vt|i8DU7wR(-DinefYJ`40eY<X6zspcHy57hIJ(9ZQ&npP)z=m*XzSj$gis9
zgH=#S72Fb06>-x+t2XyJET6RPlrbiQL<&Y(&ui>AmtJTrPi%%q%eg*xC!x(}i^6Y*
zF1J6IWU+^I94`dZz{jI6Kt$m-C#SK+*3Unb1HU5Y_(A(PJMH%Y5RFD~!IPml!hC!~
z+v(3IO<Ji!k^!+H&Kh#O3W-=(pDn4orMK#8u@}fO$>MqoRwSjaHb((eo$bAr>Fw%O
zIv*$wLNso|S(vbi|1e(66GPfV&;#&ENF-BDNIU~u6aJAwr>Xy+8phfkMC#k4&8~VB
z@CFa-p43+jX-}*!>A`zaG{^90XyakI-TUDyO92yefHzXG+dA)%BI|eH)C44jk)(>6
z<lD05t=Gb?fh3b~Ex&=Go~dcw+oOVqYD<ZdJlVXul3?B%!}9l44SY54j?%i+c6Rb&
zsVxGpS#@aPoXL%HslGe~xozo2B(t&tz_&nTxKW?;?;qKon0tb&Zf(5`k^Luc6{cVC
za&K|BM!`?8YrNIi3d~yj%T}V)r$M&&W}^dx-{I=EyL_{x?`dz#6`wN#aiC!BcH>la
zi@9OjJx+BxZC{UuympuJm&Y+%b*>f2MlSd#$pGV#w)FwB(>Iu<AQjPb(p~-;;IF}t
z^>Ntu$OW}C)UO?7Ax$s(z(5^M!PYZ#y(IA4FgzA$?O6j<L7rA^7HTi&AZVaJfb5@w
zk%?>*)$r^Zo_S38Ho_hCe%0QatzfoOrf@VG0qriacL#AS9&OU@mZp539i_S;vl|DM
zY+R&o8~@Rh)Xh}B$t=*Z_i7XdQpl5r-_UST^tRZ@pCjpuw@a-4^hcvDb46%l%YGA<
zFL+E`qBrv94LKx#i5+KvR2xFNco=qk$~p}q@W4MvRW!O|1LYj@c|Wm~ZBWu_-!qP*
zUcL$vatkmImB3_8+#+T8)Fmg$&P^6Z7}=O}7jgC#4HiELEcnRjc5pZV9ZxLijHN!h
zB#k%U5gE9z<31(*cpGMUYvCRxN%FPFI^qz|pEsG?H!duxh;2sLk2)H3s3<&IQ@!r9
zKK+xoB79pv)cquiQGR)uyzS1R2n+qTr%Z8`YW>ivBv|k&gkI%)>ehV)dZ5GnFlVl%
zX=h`7H+{&kyk^m2+sGjcu-U%sv!HOPQ_s+mZ?5e7MW9(#VzE*`{&zjUzQD#8215r!
zt_sHdWuiCcd(hXNe{Y#6M`Gicm-y^!H#WQmTr1{Wg65K+JF6ty>#m3pm*+I36Alch
z^?=J>gVa72knd)g2>HE5??6zOkg=FC)aA{cpF~Otf%&+C-5?EwxIe#6*R`4>&2&OP
zAUGKHO^;-Ju!^f{GFfYLn_df^;19OH*jXb;R}kz;%k5Q0tD(AE{M~LvQ!TW=**i|b
z6c3RuJGN;19{kVm_Hpsk(DcngW7KH_q&1G>2-QF15(0TH1&{R}A^c+Q=USX{Q(ur6
z$ld=bx3M_b-^v0==5|6*eP{U0C|Bs1xBDMFrbUzi7z*|L`gF3`7$pAKIdRF}S>~Y8
zd(Oo@q6D>)Jf?)}&(AQ~7rEbnY`Cz#c;P!2Ja%9+nA+OqWI$~|+TZ0K{j2&N)xzrl
zNhW{w9FAyr9aUCi!b_GL9-^4~%}{QcRHeVhB^B6AS3L>&N|Zo#w5zoRyWq=+s@n}`
zRL1;xOa6ghM7&3+HgZMXhAaEb<%$$*zUcf|c{b7XzW#vBN4l*Z?2$IZHB{da-Ifa8
z2Po_&%P)MuYA#1SW+D$Ip-@jw0x1MpI~+ZdkrG0u*rE&S_*|+#sqFN*iWV5zZ}e5_
z%$1C51Qo1m9swUNE^Squr{2HRQ(CqyZ~r{-^j0v;1es%XJs3|~dqsvYnnhz)ljv>v
zj7V$kZfAWem6TomwtYU%#cvN*6%?gREHi)P6nZm!9MDpAFjbrs&8TWqfhptM-Mq?@
ze(6xX^3svUpLByCL_<dIob&hR5u|U+W}jo<d!K0^3j<JvvYzs&hiC*Agb{p!vj;lm
zsU{2PrpODV9reVrf2%NG+#YJx$(7Y+a4<LyFQcm0c=F`_#|uF@bdkQojqE7nU=c*Y
zsKM}4gnFRE^m}WH^I^Y6k95#?ChT&=-e9`wskzk4E^esZb3gifPU-R_972*$n2p8k
z>p(t(s1QJE3NOK1FE*{_#k=pV0Ufzg=ne<<1J>+b;pmb<O<25c-lTS{9&JJKMCh#1
zI=co4+x-JRRj>V|x2#M-<bMC(((dH=<wvE@icmF@^Fw5Z`4tsa;p$?^2q$*v<@mFi
zB{k1JOEricGqbV3nxM+isNSoFh8Jwb!nH5U4P^l6?HDmX2bpAYyrYa*rF9bT<vqjN
zRSUTthk-76G<)A;3H$N=H*&B3&UR)>*o>6_WUoA!qITW)x$m=7yIOu7^ZR80tV_ux
zAt`O1{OK@#-Is-IUQ|g<@dMfMd;*6P+{!p);zL$^kC7<i(L{vnC}a4eN6Cp^H)X`4
z@kG9WLKmY@89InCS_|8NDwmC|IMw5FM}oYnNb_c&R*>-3{#A?<b+`zOJ-ISnd17^(
zGl0n8ucy&8APxXfLi(x`@rI0Fqh#UF1zyu&jN<uszxU|>D#LPXq<5iJ4RVX?)eN2O
zBrFVgqDDJ1@#^5pw=M2yEtdDJ!LuQtO|A+^MDeq)1z;G*8+Qy0QWs{#48D9dRwTRG
z@Ii|PmhT7G+9z+~(u&8=8r?k?@15CBbU5JB;WQSS`KYPyM$O&SFEQ7po5h~zvN`f{
zha%*jpR*7*>Y5Ny%u42RyLRNG)wvZ_V}AtjZD~fMQz1H>pZGVkz^BCqKN>Up8b<;1
z*Y-6RjS;cxb|x5VQ!Nppx}E-XuyBf=_B{ttr+xTFtQ%FKerYvhl><rItcvyOMvK2B
z=4o~3@z^V&@rem9@ujX(rynY%y5;F>zt0z_lGs7Tu$wqoToHe{uL`Q&+SRF~;zgZQ
z&1USP^X^$?e*OYtV)NZ2Ev?CovUGsBFv}LhanbXj0Fo;Fjs~$U!1_@-s2|Q9M>EoV
z@0ZYJY~nMfEuzS_p2ShPC>OI0LT=RsF%k+~DrAXFD4eJ{CGYAf5%I9nJ>xeyZM{zX
z-5iu&RTLdtzsbs0F3rCs*^7?fxj8y<iyywtC*>+qy280{qp{zeUBXtV@u(jtrfilF
zn+p5uFT`e<x-O;yccd`z<GPX-Am@b>3M$U5)JG?`S8;<0c--0Xqgd`cspkhEd8{+n
zG)5@PVl!DUn0Hd03FFa&RtlR@v;wSHVO(v7eL+hoJAFR;TztX!iDNmfFdaRz4DpHv
zL-`w>H*Z(q<|!|;JnVgaO=|%`e0Oom*y*`InvwjQ8uLl8R%w`yHqMv_WU-K0m$dSY
zcnBcQBgJ;%7Dba3RwEPEHRwjV-S%3#E|J8!>@Tql!Yt<x$@};SG`&8jv-~`*O5$7P
z42!sDRGwwGrf1D)Sx21f3{qYX7wN;Pkj$`BGsN<a07C&s1s^TFiZft~I=KZ^^0NLe
zPBYB<xmj)3eybzm9@6pT6Fv?yQz)Vft~O&!e?-T5)YOfGJ+Sm`b~lFjOD1HB#T|(#
zl2#phR#JcXc9n=(|8IXmhpdur(7Qx(BBF`FKQAsO{d?Y}dhSUPyIQi8W)d15Ef|qY
z<);F8zN(OxI8WEk8ERmlyFBqsc5On2FCy#Jo`u|=C-tHA_L1m<Y+dNgGprNqbsa2G
zic{ezo=-6f*9l=v7+x!OVnkG_KHaa-@y^*GXTH(^Y|<+ME<TQo)>2tF2uMX)Z&Q3+
zs$(G}WZ%5wm?6S;N}vu2CnUNLqghupRwa^AN><xWs6vX7^8&nsOf>96UYyloKj(=S
z_g7htL#5@5_v%R0Tbq6+(&?$HDO!&5W@HiC<`A7=txIaYcRzr%@FU7={`|fO#<$0`
zzV}&EWRT{8o=0mMWLnyz-!Vu<z$!j}Ds5ls6mrfGl@kTY0F$LdwQ9}$Lj(Nap%L8F
zLupJii2~vw8Ss^>g?rNt`R+;zI{D3%=V)PZ${S<iD=h`^55!$t$y^78^jgL>fkwV$
zr0zl^s~Lds^Mt33G8N&xkEmOsXRb`d6fz9F=Mk-spRp~+k`q982@LVfU$0I&N3z{P
zKyaYr+!cAu?cSCY`ZCb7%dHpnpR^-jG_kZ)m)2TY0HZDwV%ux5+OYcz{Lm1+^&o)B
z_+f-u=LkXjcr&H>YGeRB_-iZ$7wZ^@j!@>qy+XG{v^Wcaok<OJNIb(}bUR0S)}C@v
zJOg!u!#3v3x{I|~*|9)NSLH(4^nfAYF{)Fus>1fpU4`XzG{tec^8{cM`rT;yqWV_C
z<#?ePP&&8~<=y(38KGTxWAx*ha45#%+sVG{SSyF;L|{x~Akyx4omy(tmk4ue`<$Vo
zaN^yFzr<OqUv_Vb{7mv50~)U$#naw>;g_&zaa}d%;K}0McAPGtF0`*L&ejG4V&EnL
zDKN~a3>JAkMR?T{tf(Ek`MNJkPm^tR)y+5!=+V-pjrlI61lBg&gM63EDqzCZPI1|S
zw9}6J)_iu#=;|lt%na*1IVda|rY@I&d~~<Sce$}bv$*3b3EA}hetqk2itZ7)IezYB
ziC7ME{H<3j)+C4rA&S34WW1FlDGt#%wB|3$r%uB2CYcN2cu&zqs?qSXhri;ht~oy!
z!1WD(Y@V^p0-}lQH8nkuhbnI!@Q~GdLBxt=D5}a0Mr8c#%%Ky8wR7qAzSh?fq|}3)
zN=A1fRC_t&UbrYvhkf;%nT%WOZ7_4XDQZ~hki&K~D29BmD(eywog5SQ5u<RSOImkF
zp$cpxw!v+RYlPfo_FO6=u!hZ3^E_LCc_t?*At7^amzi<G4YO{@&E1#QyfJJ%y_}U-
zYV2_y6T{QLv)|y@IA*fqQ)n+FnrwrF(Z`3{Wp)%$#m?o^sDt+7DhP`KCZqUg;MD2Y
z2DEgWWsHSjE@!~^WtDseALqz>hwZthiNveK`E8ZYI|sM;-F|Dz|7Pkvy@T$VS?y^j
zZkW=KxE?13WnAOD{<Lxh4$!qqzsAwe3=Sgf#Kj`#Bz%^z|B?m}!t$=e)BM+5XU$R<
z99gQS>TuEqKdjt`I%6$QiUU89>FbQ$;5+Q3f9CK?>iX9D#Oxj+&m|%3gq^f#>HXet
zR)>>^ht2-lLQhN;s%0nI?oeL4E+PwtFoof6wU?!R#r^R01OZztAv|X82)}f#zpS=l
z!ZRgfySgVCrVj*;bDLNQRLnahbW9e}3@#VT%m!aXm9;5{R1YjGHx+yn{_LOD`S?wY
zc=ys{7x^d!<^!7=jh+qUj;$-v`}@zlDk6}DxHC*p+ceCcaM++$H_xwzu;ypKd@V@2
z9!N9_=!VRSXSOxdNKgr_HBB5G9LNPb7C+vbIl1h5_xqT~c%cW|re<2A`J&}a#C9xz
z^23~<^ti;pO(Z<&IcL%IbC?!5{04iK7;0Y)di@KVPvn7!jtHaEkkb$rM_tV7e{l}a
z2H_F1U$F0`2ByYgvu|K+2;ET|JFu@3m^JBu_3z>ElQ=GjLS8-i2NkOvIBAvt%(~&2
z`0D-|KHZ3VVZOcShK<dzloSTyNo<Da+ABLii{<C8sNW&pM6j#hQP&QAc3A4hG;e6U
z0vfFS5R%ddJblyJe42OoROAF4vW&>-K`?XeI%nnui;xWdZtbCxR~INST~Gf4F&hJb
z^*b0&{?pP25jZ5_7x9GQj|Pug7xQR$y^9I$n9{k%<m@@#1o*FTKW#uMN0B2er`+mQ
zt)!|HH|h@6zxN(1*x=iitlAeWF}*Cx*5s*zS^aQ)`ey23-I0cQfna$I&D~{&uOhrk
zqf7gZu6aI{Pcf~k?#}PfsKfZZ!2ajJdIp$P{gJ!tQ3VZCnwH&#RTuGz7>F{=L-=)`
z&sFRa@^6x}_sT#Wb<_Mq()C9qQ0qu)`R{0&{&#Z57fqdIc_w&{6UZ;MBqy{wGsX#v
zll6KLcswovhxn`7?==3kbrVk#9xKu*V(zK9`S^s1UVDuUcF3CrBawIy30Qy^1Z|6V
z0j@{h1r308I(*YzIwvk%J5jj2)ZlY@|Ku8T?r34UbJ;TT_4aC1G+b7_Jzu>WMPfss
zB>>Wb2u}!rCm>Qn0&GGMp=tr1YKVlV0H-HJ^jLuZ7$QRqe?p89h=g-RBE;0->}rT-
z190Afu^d(kD<WZ1FkqZ)i>GS^(zT)1wdN{?L`@n52ZUC0I3h%L;e5LYX+}5;BLb2E
z=gvStjo=_7gz!8ZJdco)fU`*;gphC^wwdTf`aZ5xvsX&hw3ag&h`o;Hy`Gz>HLPyW
zCzN90!O&0g(5MdRM>go^JZPvTG-eGNL<x;ZfQD#6qZ7)tp+pf21O5vmxRSl{35VL$
zKx403;~-CCzhmPtV`HCD<B&w-z=y^We7|00zd=sFep|m`TE9L$zade-0Uy5+va8-#
zSA+al{jOKT%)vd;^hx4bF=bZqEY-YK$<a>MdJq0UPB8kuyw@E!*1#n4fLT|t?~4JA
z!GO|_s(H)rmE(HbrDz@Br&3ATs;|Ct0^2IS@!9#D|1^YBE9ZxPXFeg>qm<cXBeo;9
zEy_~~Csrf22P4`1H_h)}9W|{=bzuftFPHQ_nEvsv%{F{hUO1(-TYU1%mtjOSU|H!^
zUg6lpmOc8JFN0M1a^d9kj^jz~#auT3Y@yZHcq!FWF0cDbrPgdlvq({3HqR>dKl^kp
z_Oz;A^+|&+6aR-$z1Y*K((5w;eMtJ3;6~3@TD8PqtDf@AR#IK;8C2Q!WrHrMH)ykh
zHvcJelhl*s|C_-7HW0&r`@Uhi_hP}>%70&U!4;Lwf0>D&t)~3nYq{gT`SY|<Vq{+u
zdAv7V{co|b<$f^RWQ)mO{NVk62_ygVW?j?L%70S&A5mI4e@uPbLWR*-P<ChT@~86A
nSWtAQ?J~X-B@Vr*6l-Cz*#h3EWd`z4=p9>BtHvY@3+q1sU_@|f

delta 21816
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
ORYb(5YTOG%ME?U!x_Mdv

diff --git a/wp-includes/formatting.php b/wp-includes/formatting.php
index 5efe0cdad..1f18ab9d9 100644
--- a/wp-includes/formatting.php
+++ b/wp-includes/formatting.php
@@ -24,15 +24,40 @@
  * @uses $wp_cockneyreplace Array of formatted entities for certain common phrases
  *
  * @param string $text The text to be formatted
+ * @param bool $reset Set to true for unit testing. Translated patterns will reset.
  * @return string The string replaced with html entities
  */
-function wptexturize($text) {
+function wptexturize($text, $reset = false) {
 	global $wp_cockneyreplace;
 	static $static_characters, $static_replacements, $dynamic_characters, $dynamic_replacements,
-		$default_no_texturize_tags, $default_no_texturize_shortcodes;
+		$default_no_texturize_tags, $default_no_texturize_shortcodes, $run_texturize = true;
+
+	// If there's nothing to do, just stop.
+	if ( empty( $text ) || false === $run_texturize ) {
+		return $text;
+	}
+
+	// Set up static variables. Run once only.
+	if ( $reset || ! isset( $static_characters ) ) {
+		/**
+		 * Filter whether to skip running wptexturize().
+		 *
+		 * Passing false to the filter will effectively short-circuit wptexturize().
+		 * returning the original text passed to the function instead.
+		 *
+		 * The filter runs only once, the first time wptexturize() is called.
+		 *
+		 * @since 4.0.0
+		 *
+		 * @see wptexturize()
+		 *
+		 * @param bool $run_texturize Whether to short-circuit wptexturize().
+		 */
+		$run_texturize = apply_filters( 'run_wptexturize', $run_texturize );
+		if ( false === $run_texturize ) {
+			return $text;
+		}
 
-	// No need to set up these static variables more than once
-	if ( ! isset( $static_characters ) ) {
 		/* translators: opening curly double quote */
 		$opening_quote = _x( '&#8220;', 'opening curly double quote' );
 		/* translators: closing curly double quote */
@@ -70,35 +95,43 @@ function wptexturize($text) {
 			$cockney = $cockneyreplace = array();
 		}
 
-		$static_characters = array_merge( array( '---', ' -- ', '--', ' - ', 'xn&#8211;', '...', '``', '\'\'', ' (tm)' ), $cockney );
-		$static_replacements = array_merge( array( $em_dash, ' ' . $em_dash . ' ', $en_dash, ' ' . $en_dash . ' ', 'xn--', '&#8230;', $opening_quote, $closing_quote, ' &#8482;' ), $cockneyreplace );
-
-		/*
-		 * Regex for common whitespace characters.
-		 *
-		 * By default, spaces include new lines, tabs, nbsp entities, and the UTF-8 nbsp.
-		 * This is designed to replace the PCRE \s sequence.  In #WP22692, that sequence
-		 * was found to be unreliable due to random inclusion of the A0 byte.
-		 */
-		$spaces = '[\r\n\t ]|\xC2\xA0|&nbsp;';
+		$static_characters = array_merge( array( '...', '``', '\'\'', ' (tm)' ), $cockney );
+		$static_replacements = array_merge( array( '&#8230;', $opening_quote, $closing_quote, ' &#8482;' ), $cockneyreplace );
 
 
 		// Pattern-based replacements of characters.
+		// Sort the remaining patterns into several arrays for performance tuning.
+		$dynamic_characters = array( 'apos' => array(), 'quote' => array(), 'dash' => array() );
+		$dynamic_replacements = array( 'apos' => array(), 'quote' => array(), 'dash' => array() );
 		$dynamic = array();
+		$spaces = wp_spaces_regexp();
+
+		// '99' and '99" are ambiguous among other patterns; assume it's an abbreviated year at the end of a quotation.
+		if ( "'" !== $apos || "'" !== $closing_single_quote ) {
+			$dynamic[ '/\'(\d\d)\'(?=\Z|[.,)}\-\]]|&gt;|' . $spaces . ')/' ] = $apos . '$1' . $closing_single_quote;
+		}
+		if ( "'" !== $apos || '"' !== $closing_quote ) {
+			$dynamic[ '/\'(\d\d)"(?=\Z|[.,)}\-\]]|&gt;|' . $spaces . ')/' ] = $apos . '$1' . $closing_quote;
+		}
 
-		// '99 '99s '99's (apostrophe)
+		// '99 '99s '99's (apostrophe)  But never '9 or '99% or '999 or '99.0.
 		if ( "'" !== $apos ) {
-			$dynamic[ '/\'(?=\d)/' ] = $apos;
+			$dynamic[ '/\'(?=\d\d(?:\Z|(?![%\d]|[.,]\d)))/' ] = $apos;
 		}
 
-		// Single quote at start, or preceded by (, {, <, [, ", or spaces.
+		// Quoted Numbers like '0.42'
+		if ( "'" !== $opening_single_quote && "'" !== $closing_single_quote ) {
+			$dynamic[ '/(?<=\A|' . $spaces . ')\'(\d[.,\d]*)\'/' ] = $opening_single_quote . '$1' . $closing_single_quote;
+		}
+
+		// Single quote at start, or preceded by (, {, <, [, ", -, or spaces.
 		if ( "'" !== $opening_single_quote ) {
-			$dynamic[ '/(?<=\A|[([{<"]|' . $spaces . ')\'/' ] = $opening_single_quote;
+			$dynamic[ '/(?<=\A|[([{"\-]|&lt;|' . $spaces . ')\'/' ] = $opening_single_quote;
 		}
 
-		// 9" (double prime)
-		if ( '"' !== $double_prime ) {
-			$dynamic[ '/(?<=\d)"/' ] = $double_prime;
+		// Apostrophe in a word.  No spaces, double apostrophes, or other punctuation.
+		if ( "'" !== $apos ) {
+			$dynamic[ '/(?<!' . $spaces . ')\'(?!\Z|[.,:;"\'(){}[\]\-]|&[lg]t;|' . $spaces . ')/' ] = $apos;
 		}
 
 		// 9' (prime)
@@ -106,14 +139,28 @@ function wptexturize($text) {
 			$dynamic[ '/(?<=\d)\'/' ] = $prime;
 		}
 
-		// Apostrophe in a word.  No spaces or double primes.
-		if ( "'" !== $apos ) {
-			$dynamic[ '/(?<!' . $spaces . ')\'(?!\'|' . $spaces . ')/' ] = $apos;
+		// Single quotes followed by spaces or ending punctuation.
+		if ( "'" !== $closing_single_quote ) {
+			$dynamic[ '/\'(?=\Z|[.,)}\-\]]|&gt;|' . $spaces . ')/' ] = $closing_single_quote;
+		}
+
+		$dynamic_characters['apos'] = array_keys( $dynamic );
+		$dynamic_replacements['apos'] = array_values( $dynamic );
+		$dynamic = array();
+
+		// Quoted Numbers like "42"
+		if ( '"' !== $opening_quote && '"' !== $closing_quote ) {
+			$dynamic[ '/(?<=\A|' . $spaces . ')"(\d[.,\d]*)"/' ] = $opening_quote . '$1' . $closing_quote;
+		}
+
+		// 9" (double prime)
+		if ( '"' !== $double_prime ) {
+			$dynamic[ '/(?<=\d)"/' ] = $double_prime;
 		}
 
-		// Double quote at start, or preceded by (, {, <, [, or spaces, and not followed by spaces.
+		// Double quote at start, or preceded by (, {, <, [, -, or spaces, and not followed by spaces.
 		if ( '"' !== $opening_quote ) {
-			$dynamic[ '/(?<=\A|[([{<]|' . $spaces . ')"(?!' . $spaces . ')/' ] = $opening_quote;
+			$dynamic[ '/(?<=\A|[([{\-]|&lt;|' . $spaces . ')"(?!' . $spaces . ')/' ] = $opening_quote;
 		}
 
 		// Any remaining double quotes.
@@ -121,16 +168,20 @@ function wptexturize($text) {
 			$dynamic[ '/"/' ] = $closing_quote;
 		}
 
-		// Single quotes followed by spaces or a period.
-		if ( "'" !== $closing_single_quote ) {
-			$dynamic[ '/\'(?=\Z|\.|' . $spaces . ')/' ] = $closing_single_quote;
-		}
+		$dynamic_characters['quote'] = array_keys( $dynamic );
+		$dynamic_replacements['quote'] = array_values( $dynamic );
+		$dynamic = array();
 
-		$dynamic_characters = array_keys( $dynamic );
-		$dynamic_replacements = array_values( $dynamic );
+		// Dashes and spaces
+		$dynamic[ '/---/' ] = $em_dash;
+		$dynamic[ '/(?<=' . $spaces . ')--(?=' . $spaces . ')/' ] = $em_dash;
+		$dynamic[ '/(?<!xn)--/' ] = $en_dash;
+		$dynamic[ '/(?<=' . $spaces . ')-(?=' . $spaces . ')/' ] = $en_dash;
+
+		$dynamic_characters['dash'] = array_keys( $dynamic );
+		$dynamic_replacements['dash'] = array_values( $dynamic );
 	}
 
-	// Transform into regexp sub-expression used in _wptexturize_pushpop_element
 	// Must do this every time in case plugins use these filters in a context sensitive manner
 	/**
 	 * Filter the list of HTML elements not to texturize.
@@ -139,7 +190,7 @@ function wptexturize($text) {
 	 *
 	 * @param array $default_no_texturize_tags An array of HTML element names.
 	 */
-	$no_texturize_tags = '(' . implode( '|', apply_filters( 'no_texturize_tags', $default_no_texturize_tags ) ) . ')';
+	$no_texturize_tags = apply_filters( 'no_texturize_tags', $default_no_texturize_tags );
 	/**
 	 * Filter the list of shortcodes not to texturize.
 	 *
@@ -147,63 +198,131 @@ function wptexturize($text) {
 	 *
 	 * @param array $default_no_texturize_shortcodes An array of shortcode names.
 	 */
-	$no_texturize_shortcodes = '(' . implode( '|', apply_filters( 'no_texturize_shortcodes', $default_no_texturize_shortcodes ) ) . ')';
+	$no_texturize_shortcodes = apply_filters( 'no_texturize_shortcodes', $default_no_texturize_shortcodes );
 
 	$no_texturize_tags_stack = array();
 	$no_texturize_shortcodes_stack = array();
 
-	$textarr = preg_split('/(<.*>|\[.*\])/Us', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
+	// Look for shortcodes and HTML elements.
+
+	$regex =  '/('			// Capture the entire match.
+		.	'<'		// Find start of element.
+		.	'(?(?=!--)'	// Is this a comment?
+		.		'.+?--\s*>'	// Find end of comment
+		.	'|'
+		.		'[^>]+>'	// Find end of element
+		.	')'
+		. '|'
+		.	'\['		// Find start of shortcode.
+		.	'\[?'		// Shortcodes may begin with [[
+		.	'(?:'
+		.		'[^\[\]<>]'	// Shortcodes do not contain other shortcodes.
+		.	'|'
+		.		'<[^>]+>' 	// HTML elements permitted. Prevents matching ] before >.
+		.	')++'
+		.	'\]'		// Find end of shortcode.
+		.	'\]?'		// Shortcodes may end with ]]
+		. ')/s';
+
+	$textarr = preg_split( $regex, $text, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY );
 
 	foreach ( $textarr as &$curl ) {
-		if ( empty( $curl ) ) {
+		// Only call _wptexturize_pushpop_element if $curl is a delimiter.
+		$first = $curl[0];
+		if ( '<' === $first && '>' === substr( $curl, -1 ) ) {
+			// This is an HTML delimiter.
+
+			if ( '<!--' !== substr( $curl, 0, 4 ) ) {
+				_wptexturize_pushpop_element( $curl, $no_texturize_tags_stack, $no_texturize_tags );
+			}
+
+		} elseif ( '' === trim( $curl ) ) {
+			// This is a newline between delimiters.  Performance improves when we check this.
+
 			continue;
-		}
 
-		// Only call _wptexturize_pushpop_element if first char is correct tag opening
-		$first = $curl[0];
-		if ( '<' === $first ) {
-			_wptexturize_pushpop_element($curl, $no_texturize_tags_stack, $no_texturize_tags, '<', '>');
-		} elseif ( '[' === $first ) {
-			_wptexturize_pushpop_element($curl, $no_texturize_shortcodes_stack, $no_texturize_shortcodes, '[', ']');
-		} elseif ( empty($no_texturize_shortcodes_stack) && empty($no_texturize_tags_stack) ) {
+		} elseif ( '[' === $first && 1 === preg_match( '/^\[(?:[^\[\]<>]|<[^>]+>)++\]$/', $curl ) ) {
+			// This is a shortcode delimiter.
+
+			_wptexturize_pushpop_element( $curl, $no_texturize_shortcodes_stack, $no_texturize_shortcodes );
 
-			// This is not a tag, nor is the texturization disabled static strings
-			$curl = str_replace($static_characters, $static_replacements, $curl);
+		} elseif ( '[' === $first && 1 === preg_match( '/^\[\[?(?:[^\[\]<>]|<[^>]+>)++\]\]?$/', $curl ) ) {
+			// This is an escaped shortcode delimiter.
 
-			// regular expressions
-			$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
+			// Do not texturize.
+			// Do not push to the shortcodes stack.
 
-			// 9x9 (times)
-			if ( 1 === preg_match( '/(?<=\d)x\d/', $text ) ) {
+			continue;
+
+		} elseif ( empty( $no_texturize_shortcodes_stack ) && empty( $no_texturize_tags_stack ) ) {
+			// This is neither a delimiter, nor is this content inside of no_texturize pairs.  Do texturize.
+
+			$curl = str_replace( $static_characters, $static_replacements, $curl );
+
+			if ( false !== strpos( $curl, "'" ) ) {
+				$curl = preg_replace( $dynamic_characters['apos'], $dynamic_replacements['apos'], $curl );
+			}
+			if ( false !== strpos( $curl, '"' ) ) {
+				$curl = preg_replace( $dynamic_characters['quote'], $dynamic_replacements['quote'], $curl );
+			}
+			if ( false !== strpos( $curl, '-' ) ) {
+				$curl = preg_replace( $dynamic_characters['dash'], $dynamic_replacements['dash'], $curl );
+			}
+
+			// 9x9 (times), but never 0x9999
+			if ( 1 === preg_match( '/(?<=\d)x-?\d/', $curl ) ) {
 				// Searching for a digit is 10 times more expensive than for the x, so we avoid doing this one!
-				$curl = preg_replace( '/\b(\d+)x(\d+)\b/', '$1&#215;$2', $curl );
+				$curl = preg_replace( '/\b(\d(?(?<=0)[\d\.,]+|[\d\.,]*))x(-?\d[\d\.,]*)\b/', '$1&#215;$2', $curl );
 			}
 		}
-
-		// Replace each & with &#038; unless it already looks like an entity.
-		$curl = preg_replace('/&([^#])(?![a-zA-Z1-4]{1,8};)/', '&#038;$1', $curl);
 	}
-	return implode( '', $textarr );
+	$text = implode( '', $textarr );
+
+	// Replace each & with &#038; unless it already looks like an entity.
+	$text = preg_replace('/&(?!#(?:\d+|x[a-f0-9]+);|[a-z1-4]{1,8};)/i', '&#038;', $text);
+
+	return $text;
 }
 
 /**
  * Search for disabled element tags. Push element to stack on tag open and pop
- * on tag close. Assumes first character of $text is tag opening.
+ * on tag close.
+ *
+ * Assumes first char of $text is tag opening and last char is tag closing.
+ * Assumes second char of $text is optionally '/' to indicate closing as in </html>.
  *
  * @since 2.9.0
  * @access private
  *
- * @param string $text Text to check. First character is assumed to be $opening
- * @param array $stack Array used as stack of opened tag elements
- * @param string $disabled_elements Tags to match against formatted as regexp sub-expression
- * @param string $opening Tag opening character, assumed to be 1 character long
- * @param string $closing Tag closing character
- */
-function _wptexturize_pushpop_element($text, &$stack, $disabled_elements, $opening = '<', $closing = '>') {
-	// Check if it is a closing tag -- otherwise assume opening tag
-	if (strncmp($opening . '/', $text, 2)) {
-		// Opening? Check $text+1 against disabled elements
-		if (preg_match('/^' . $disabled_elements . '\b/', substr($text, 1), $matches)) {
+ * @param string $text Text to check. Must be a tag like <html> or [shortcode].
+ * @param array $stack List of open tag elements.
+ * @param array $disabled_elements The tag names to match against. Spaces are not allowed in tag names.
+ */
+function _wptexturize_pushpop_element($text, &$stack, $disabled_elements) {
+	// Is it an opening tag or closing tag?
+	if ( '/' !== $text[1] ) {
+		$opening_tag = true;
+		$name_offset = 1;
+	} elseif ( 0 == count( $stack ) ) {
+		// Stack is empty. Just stop.
+		return;
+	} else {
+		$opening_tag = false;
+		$name_offset = 2;
+	}
+
+	// Parse out the tag name.
+	$space = strpos( $text, ' ' );
+	if ( FALSE === $space ) {
+		$space = -1;
+	} else {
+		$space -= $name_offset;
+	}
+	$tag = substr( $text, $name_offset, $space );
+
+	// Handle disabled tags.
+	if ( in_array( $tag, $disabled_elements ) ) {
+		if ( $opening_tag ) {
 			/*
 			 * This disables texturize until we find a closing tag of our type
 			 * (e.g. <pre>) even if there was invalid nesting before that
@@ -212,18 +331,9 @@ function _wptexturize_pushpop_element($text, &$stack, $disabled_elements, $openi
 			 *          "baba" won't be texturize
 			 */
 
-			array_push($stack, $matches[1]);
-		}
-	} else {
-		// Closing? Check $text+2 against disabled elements
-		$c = preg_quote($closing, '/');
-		if (preg_match('/^' . $disabled_elements . $c . '/', substr($text, 2), $matches)) {
-			$last = array_pop($stack);
-
-			// Make sure it matches the opening tag
-			if ( $last != $matches[1] ) {
-				array_push( $stack, $last );
-			}
+			array_push( $stack, $tag );
+		} elseif ( end( $stack ) == $tag ) {
+			array_pop( $stack );
 		}
 	}
 }
@@ -277,11 +387,17 @@ function wpautop($pee, $br = true) {
 
 	$pee = preg_replace('|<br />\s*<br />|', "\n\n", $pee);
 	// Space things out a little
-	$allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|noscript|legend|section|article|aside|hgroup|header|footer|nav|figure|details|menu|summary)';
+	$allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|details|menu|summary)';
 	$pee = preg_replace('!(<' . $allblocks . '[^>]*>)!', "\n$1", $pee);
 	$pee = preg_replace('!(</' . $allblocks . '>)!', "$1\n\n", $pee);
 	$pee = str_replace(array("\r\n", "\r"), "\n", $pee); // cross-platform newlines
 
+	if ( strpos( $pee, '<option' ) !== false ) {
+		// no P/BR around option
+		$pee = preg_replace( '|\s*<option|', '<option', $pee );
+		$pee = preg_replace( '|</option>\s*|', '</option>', $pee );
+	}
+
 	if ( strpos( $pee, '</object>' ) !== false ) {
 		// no P/BR around param and embed
 		$pee = preg_replace( '|(<object[^>]*>)\s*|', '$1', $pee );
@@ -361,11 +477,12 @@ function shortcode_unautop( $pee ) {
 	}
 
 	$tagregexp = join( '|', array_map( 'preg_quote', array_keys( $shortcode_tags ) ) );
+	$spaces = wp_spaces_regexp();
 
 	$pattern =
 		  '/'
 		. '<p>'                              // Opening paragraph
-		. '\\s*+'                            // Optional leading whitespace
+		. '(?:' . $spaces . ')*+'            // Optional leading whitespace
 		. '('                                // 1: The shortcode
 		.     '\\['                          // Opening bracket
 		.     "($tagregexp)"                 // 2: Shortcode name
@@ -390,7 +507,7 @@ function shortcode_unautop( $pee ) {
 		.         ')?'
 		.     ')'
 		. ')'
-		. '\\s*+'                            // optional trailing whitespace
+		. '(?:' . $spaces . ')*+'            // optional trailing whitespace
 		. '<\\/p>'                           // closing paragraph
 		. '/s';
 
@@ -410,7 +527,9 @@ function shortcode_unautop( $pee ) {
  * @return bool True if $str fits a UTF-8 model, false otherwise.
  */
 function seems_utf8($str) {
+	mbstring_binary_safe_encoding();
 	$length = strlen($str);
+	reset_mbstring_encoding();
 	for ($i=0; $i < $length; $i++) {
 		$c = ord($str[$i]);
 		if ($c < 0x80) $n = 0; # 0bbbbbbb
@@ -634,7 +753,10 @@ function utf8_uri_encode( $utf8_string, $length = 0 ) {
 	$num_octets = 1;
 	$unicode_length = 0;
 
+	mbstring_binary_safe_encoding();
 	$string_length = strlen( $utf8_string );
+	reset_mbstring_encoding();
+
 	for ($i = 0; $i < $string_length; $i++ ) {
 
 		$value = ord( $utf8_string[ $i ] );
@@ -933,6 +1055,7 @@ function sanitize_file_name( $filename ) {
 	$special_chars = apply_filters( 'sanitize_file_name_chars', $special_chars, $filename_raw );
 	$filename = preg_replace( "#\x{00a0}#siu", ' ', $filename );
 	$filename = str_replace($special_chars, '', $filename);
+	$filename = str_replace( array( '%20', '+' ), '-', $filename );
 	$filename = preg_replace('/[\s-]+/', '-', $filename);
 	$filename = trim($filename, '.-_');
 
@@ -1197,7 +1320,7 @@ function sanitize_sql_orderby( $orderby ){
  * @since 2.8.0
  *
  * @param string $class The classname to be sanitized
- * @param string $fallback Optional. The value to return if the sanitization end's up as an empty string.
+ * @param string $fallback Optional. The value to return if the sanitization ends up as an empty string.
  * 	Defaults to an empty string.
  * @return string The sanitized value
  */
@@ -1909,7 +2032,7 @@ function translate_smiley( $matches ) {
 	 */
 	$src_url = apply_filters( 'smilies_src', includes_url( "images/smilies/$img" ), $img, site_url() );
 
-	return sprintf( ' <img src="%s" alt="%s" class="wp-smiley" /> ', esc_url( $src_url ), esc_attr( $smiley ) );
+	return sprintf( '<img src="%s" alt="%s" class="wp-smiley" />', esc_url( $src_url ), esc_attr( $smiley ) );
 }
 
 /**
@@ -2335,8 +2458,9 @@ function sanitize_email( $email ) {
  * @return string Human readable time difference.
  */
 function human_time_diff( $from, $to = '' ) {
-	if ( empty( $to ) )
+	if ( empty( $to ) ) {
 		$to = time();
+	}
 
 	$diff = (int) abs( $to - $from );
 
@@ -2373,7 +2497,17 @@ function human_time_diff( $from, $to = '' ) {
 		$since = sprintf( _n( '%s year', '%s years', $years ), $years );
 	}
 
-	return $since;
+	/**
+	 * Filter the human readable difference between two timestamps.
+	 *
+	 * @since 4.0.0
+	 *
+	 * @param string $since The difference in human readable text.
+	 * @param int    $diff  The difference in seconds.
+	 * @param int    $from  Unix timestamp from which the difference begins.
+	 * @param int    $to    Unix timestamp to end the time difference.
+	 */
+	return apply_filters( 'human_time_diff', $since, $diff, $from, $to );
 }
 
 /**
@@ -3088,18 +3222,6 @@ function tag_escape($tag_name) {
 	return apply_filters( 'tag_escape', $safe_tag, $tag_name );
 }
 
-/**
- * Escapes text for SQL LIKE special characters % and _.
- *
- * @since 2.5.0
- *
- * @param string $text The text to be escaped.
- * @return string text, safe for inclusion in LIKE query.
- */
-function like_escape($text) {
-	return str_replace(array("%", "_"), array("\\%", "\\_"), $text);
-}
-
 /**
  * Convert full URL paths to absolute paths.
  *
@@ -3239,8 +3361,12 @@ function sanitize_option($option, $value) {
 
 		case 'WPLANG':
 			$allowed = get_available_languages();
-			if ( ! in_array( $value, $allowed ) && ! empty( $value ) )
+			if ( ! is_multisite() && defined( 'WPLANG' ) && '' !== WPLANG && 'en_US' !== WPLANG ) {
+				$allowed[] = WPLANG;
+			}
+			if ( ! in_array( $value, $allowed ) && ! empty( $value ) ) {
 				$value = get_option( $option );
+			}
 			break;
 
 		case 'illegal_names':
@@ -3289,6 +3415,14 @@ function sanitize_option($option, $value) {
 			if ( ! get_role( $value ) && get_role( 'subscriber' ) )
 				$value = 'subscriber';
 			break;
+
+		case 'moderation_keys':
+		case 'blacklist_keys':
+			$value = explode( "\n", $value );
+			$value = array_filter( array_map( 'trim', $value ) );
+			$value = array_unique( $value );
+			$value = implode( "\n", $value );
+			break;
 	}
 
 	/**
@@ -3825,3 +3959,36 @@ function get_url_in_content( $content ) {
 
 	return false;
 }
+
+/**
+ * Returns the regexp for common whitespace characters.
+ *
+ * By default, spaces include new lines, tabs, nbsp entities, and the UTF-8 nbsp.
+ * This is designed to replace the PCRE \s sequence.  In ticket #22692, that
+ * sequence was found to be unreliable due to random inclusion of the A0 byte.
+ *
+ * @since 4.0.0
+ *
+ * @return string The spaces regexp.
+ */
+function wp_spaces_regexp() {
+	static $spaces;
+
+	if ( empty( $spaces ) ) {
+		/**
+		 * Filter the regexp for common whitespace characters.
+		 *
+		 * This string is substituted for the \s sequence as needed in regular
+		 * expressions. For websites not written in English, different characters
+		 * may represent whitespace. For websites not encoded in UTF-8, the 0xC2 0xA0
+		 * sequence may not be in use.
+		 *
+		 * @since 4.0.0
+		 *
+		 * @param string $spaces Regexp pattern for matching common whitespace characters.
+		 */
+		$spaces = apply_filters( 'wp_spaces_regexp', '[\r\n\t ]|\xC2\xA0|&nbsp;' );
+	}
+
+	return $spaces;
+}
diff --git a/wp-includes/functions.php b/wp-includes/functions.php
index 88e59fb1a..0a8e1a0cc 100644
--- a/wp-includes/functions.php
+++ b/wp-includes/functions.php
@@ -8,7 +8,7 @@
 require( ABSPATH . WPINC . '/option.php' );
 
 /**
- * Converts given date string into a different format.
+ * Convert given date string into a different format.
  *
  * $format should be either a PHP date format string, e.g. 'U' for a Unix
  * timestamp, or 'G' for a Unix timestamp assuming that $date is GMT.
@@ -18,10 +18,10 @@ require( ABSPATH . WPINC . '/option.php' );
  *
  * @since 0.71
  *
- * @param string $format Format of the date to return.
- * @param string $date Date string to convert.
- * @param bool $translate Whether the return date should be translated. Default is true.
- * @return string|int Formatted date string, or Unix timestamp.
+ * @param string $format    Format of the date to return.
+ * @param string $date      Date string to convert.
+ * @param bool   $translate Whether the return date should be translated. Default true.
+ * @return string|int|bool Formatted date string or Unix timestamp. False if $date is empty.
  */
 function mysql2date( $format, $date, $translate = true ) {
 	if ( empty( $date ) )
@@ -53,21 +53,19 @@ function mysql2date( $format, $date, $translate = true ) {
  *
  * @since 1.0.0
  *
- * @param string $type 'mysql', 'timestamp', or PHP date format string (e.g. 'Y-m-d').
- * @param int|bool $gmt Optional. Whether to use GMT timezone. Default is false.
- * @return int|string String if $type is 'gmt', int if $type is 'timestamp'.
+ * @param string   $type Type of time to retrieve. Accepts 'mysql', 'timestamp', or PHP date
+ *                       format string (e.g. 'Y-m-d').
+ * @param int|bool $gmt  Optional. Whether to use GMT timezone. Default false.
+ * @return int|string Integer if $type is 'timestamp', string otherwise.
  */
 function current_time( $type, $gmt = 0 ) {
 	switch ( $type ) {
 		case 'mysql':
 			return ( $gmt ) ? gmdate( 'Y-m-d H:i:s' ) : gmdate( 'Y-m-d H:i:s', ( time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ) ) );
-			break;
 		case 'timestamp':
 			return ( $gmt ) ? time() : time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
-			break;
 		default:
 			return ( $gmt ) ? date( $type ) : date( $type, time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ) );
-			break;
 	}
 }
 
@@ -80,9 +78,10 @@ function current_time( $type, $gmt = 0 ) {
  *
  * @since 0.71
  *
- * @param string $dateformatstring Format to display the date.
- * @param int $unixtimestamp Optional. Unix timestamp.
- * @param bool $gmt Optional, default is false. Whether to convert to GMT for time.
+ * @param string   $dateformatstring Format to display the date.
+ * @param bool|int $unixtimestamp    Optional. Unix timestamp. Default false.
+ * @param bool     $gmt              Optional. Whether to use GMT timezone. Default false.
+ *
  * @return string The date, translated if locale specifies it.
  */
 function date_i18n( $dateformatstring, $unixtimestamp = false, $gmt = false ) {
@@ -99,8 +98,10 @@ function date_i18n( $dateformatstring, $unixtimestamp = false, $gmt = false ) {
 		$gmt = true;
 	}
 
-	// store original value for language with untypical grammars
-	// see http://core.trac.wordpress.org/ticket/9396
+	/*
+	 * Store original value for language with untypical grammars.
+	 * See http://core.trac.wordpress.org/ticket/9396
+	 */
 	$req_format = $dateformatstring;
 
 	$datefunc = $gmt? 'gmdate' : 'date';
@@ -145,7 +146,7 @@ function date_i18n( $dateformatstring, $unixtimestamp = false, $gmt = false ) {
 	 * Filter the date formatted based on the locale.
 	 *
 	 * @since 2.8.0
-	 * 
+	 *
 	 * @param string $j          Formatted date string.
 	 * @param string $req_format Format to display the date.
 	 * @param int    $i          Unix timestamp.
@@ -160,8 +161,8 @@ function date_i18n( $dateformatstring, $unixtimestamp = false, $gmt = false ) {
  *
  * @since 2.3.0
  *
- * @param int $number The number to convert based on locale.
- * @param int $decimals Precision of the number of decimal places.
+ * @param int $number   The number to convert based on locale.
+ * @param int $decimals Optional. Precision of the number of decimal places. Default 0.
  * @return string Converted number in string format.
  */
 function number_format_i18n( $number, $decimals = 0 ) {
@@ -191,12 +192,11 @@ function number_format_i18n( $number, $decimals = 0 ) {
  * be converted to a double, which should always have 64 bit length.
  *
  * Technically the correct unit names for powers of 1024 are KiB, MiB etc.
- * @link http://en.wikipedia.org/wiki/Byte
  *
  * @since 2.3.0
  *
- * @param int|string $bytes Number of bytes. Note max integer size for integers.
- * @param int $decimals Precision of number of decimal places. Deprecated.
+ * @param int|string $bytes    Number of bytes. Note max integer size for integers.
+ * @param int        $decimals Optional. Precision of number of decimal places. Default 0.
  * @return bool|string False on failure. Number string on success.
  */
 function size_format( $bytes, $decimals = 0 ) {
@@ -216,28 +216,41 @@ function size_format( $bytes, $decimals = 0 ) {
 }
 
 /**
- * Get the week start and end from the datetime or date string from mysql.
+ * Get the week start and end from the datetime or date string from MySQL.
  *
  * @since 0.71
  *
- * @param string $mysqlstring Date or datetime field type from mysql.
- * @param int $start_of_week Optional. Start of the week as an integer.
+ * @param string     $mysqlstring   Date or datetime field type from MySQL.
+ * @param int|string $start_of_week Optional. Start of the week as an integer. Default empty string.
  * @return array Keys are 'start' and 'end'.
  */
 function get_weekstartend( $mysqlstring, $start_of_week = '' ) {
-	$my = substr( $mysqlstring, 0, 4 ); // Mysql string Year
-	$mm = substr( $mysqlstring, 8, 2 ); // Mysql string Month
-	$md = substr( $mysqlstring, 5, 2 ); // Mysql string day
-	$day = mktime( 0, 0, 0, $md, $mm, $my ); // The timestamp for mysqlstring day.
-	$weekday = date( 'w', $day ); // The day of the week from the timestamp
+	// MySQL string year.
+	$my = substr( $mysqlstring, 0, 4 );
+
+	// MySQL string month.
+	$mm = substr( $mysqlstring, 8, 2 );
+
+	// MySQL string day.
+	$md = substr( $mysqlstring, 5, 2 );
+
+	// The timestamp for MySQL string day.
+	$day = mktime( 0, 0, 0, $md, $mm, $my );
+
+	// The day of the week from the timestamp.
+	$weekday = date( 'w', $day );
+
 	if ( !is_numeric($start_of_week) )
 		$start_of_week = get_option( 'start_of_week' );
 
 	if ( $weekday < $start_of_week )
 		$weekday += 7;
 
-	$start = $day - DAY_IN_SECONDS * ( $weekday - $start_of_week ); // The most recent week start day on or before $day
-	$end = $start + 7 * DAY_IN_SECONDS - 1; // $start + 7 days - 1 second
+	// The most recent week start day on or before $day.
+	$start = $day - DAY_IN_SECONDS * ( $weekday - $start_of_week );
+
+	// $start + 7 days - 1 second.
+	$end = $start + 7 * DAY_IN_SECONDS - 1;
 	return compact( 'start', 'end' );
 }
 
@@ -263,12 +276,12 @@ function maybe_unserialize( $original ) {
  *
  * @since 2.0.5
  *
- * @param mixed $data Value to check to see if was serialized.
- * @param bool $strict Optional. Whether to be strict about the end of the string. Defaults true.
+ * @param string $data   Value to check to see if was serialized.
+ * @param bool   $strict Optional. Whether to be strict about the end of the string. Default true.
  * @return bool False if not serialized and true if it was.
  */
 function is_serialized( $data, $strict = true ) {
-	// if it isn't a string, it isn't serialized
+	// if it isn't a string, it isn't serialized.
 	if ( ! is_string( $data ) ) {
 		return false;
 	}
@@ -327,11 +340,11 @@ function is_serialized( $data, $strict = true ) {
  *
  * @since 2.0.5
  *
- * @param mixed $data Serialized data
+ * @param string $data Serialized data.
  * @return bool False if not a serialized string, true if it is.
  */
 function is_serialized_string( $data ) {
-	// if it isn't a string, it isn't a serialized string
+	// if it isn't a string, it isn't a serialized string.
 	if ( ! is_string( $data ) ) {
 		return false;
 	}
@@ -356,7 +369,7 @@ function is_serialized_string( $data ) {
  *
  * @since 2.0.5
  *
- * @param mixed $data Data that might be serialized.
+ * @param string|array|object $data Data that might be serialized.
  * @return mixed A scalar data
  */
 function maybe_serialize( $data ) {
@@ -379,7 +392,7 @@ function maybe_serialize( $data ) {
  *
  * @since 0.71
  *
- * @global string $post_default_title Default XMLRPC post title.
+ * @global string $post_default_title Default XML-RPC post title.
  *
  * @param string $content XMLRPC XML Request content
  * @return string Post title
@@ -403,7 +416,7 @@ function xmlrpc_getposttitle( $content ) {
  *
  * @since 0.71
  *
- * @global string $post_default_category Default XMLRPC post category.
+ * @global string $post_default_category Default XML-RPC post category.
  *
  * @param string $content XMLRPC XML Request content
  * @return string|array List of categories or category name.
@@ -424,7 +437,7 @@ function xmlrpc_getpostcategory( $content ) {
  *
  * @since 0.71
  *
- * @param string $content XMLRPC XML Request content
+ * @param string $content XML-RPC XML Request content.
  * @return string XMLRPC XML Request content without title and category elements.
  */
 function xmlrpc_removepostdata( $content ) {
@@ -435,16 +448,27 @@ function xmlrpc_removepostdata( $content ) {
 }
 
 /**
- * Use RegEx to extract URLs from arbitrary content
+ * Use RegEx to extract URLs from arbitrary content.
  *
  * @since 3.7.0
  *
- * @param string $content
- * @return array URLs found in passed string
+ * @param string $content Content to extract URLs from.
+ * @return array URLs found in passed string.
  */
 function wp_extract_urls( $content ) {
 	preg_match_all(
-		"#((?:[\w-]+://?|[\w\d]+[.])[^\s()<>]+[.](?:\([\w\d]+\)|(?:[^`!()\[\]{};:'\".,<>?«»“”‘’\s]|(?:[:]\d+)?/?)+))#",
+		"#("
+			. "(?:([\w-]+:)?//?)"
+			. "[^\s()<>]+"
+			. "[.]"
+			. "(?:"
+				. "\([\w\d]+\)|"
+				. "(?:"
+					. "[^`!()\[\]{};:'\".,<>?«»“”‘’\s]|"
+					. "(?:[:]\d+)?/?"
+				. ")+"
+			. ")"
+		. ")#",
 		$content,
 		$post_links
 	);
@@ -463,10 +487,10 @@ function wp_extract_urls( $content ) {
  *
  * @since 1.5.0
  *
- * @uses $wpdb
+ * @see $wpdb
  *
- * @param string $content Post Content
- * @param int $post_ID Post ID
+ * @param string $content Post Content.
+ * @param int $post_ID Post ID.
  */
 function do_enclose( $content, $post_ID ) {
 	global $wpdb;
@@ -482,7 +506,7 @@ function do_enclose( $content, $post_ID ) {
 
 	foreach ( $pung as $link_test ) {
 		if ( ! in_array( $link_test, $post_links_temp ) ) { // link no longer in post
-			$mids = $wpdb->get_col( $wpdb->prepare("SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = 'enclosure' AND meta_value LIKE (%s)", $post_ID, like_escape( $link_test ) . '%') );
+			$mids = $wpdb->get_col( $wpdb->prepare("SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = 'enclosure' AND meta_value LIKE %s", $post_ID, $wpdb->esc_like( $link_test ) . '%') );
 			foreach ( $mids as $mid )
 				delete_metadata_by_mid( 'post', $mid );
 		}
@@ -501,7 +525,7 @@ function do_enclose( $content, $post_ID ) {
 	}
 
 	foreach ( (array) $post_links as $url ) {
-		if ( $url != '' && !$wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = 'enclosure' AND meta_value LIKE (%s)", $post_ID, like_escape( $url ) . '%' ) ) ) {
+		if ( $url != '' && !$wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = 'enclosure' AND meta_value LIKE %s", $post_ID, $wpdb->esc_like( $url ) . '%' ) ) ) {
 
 			if ( $headers = wp_get_http_headers( $url) ) {
 				$len = isset( $headers['content-length'] ) ? (int) $headers['content-length'] : 0;
@@ -539,9 +563,10 @@ function do_enclose( $content, $post_ID ) {
  *
  * @since 2.5.0
  *
- * @param string $url URL to fetch.
- * @param string|bool $file_path Optional. File path to write request to.
- * @param int $red (private) The number of Redirects followed, Upon 5 being hit, returns false.
+ * @param string      $url       URL to fetch.
+ * @param string|bool $file_path Optional. File path to write request to. Default false.
+ * @param int         $red       Optional. The number of Redirects followed, Upon 5 being hit,
+ *                               returns false. Default 1.
  * @return bool|string False on failure and string of headers if HEAD request.
  */
 function wp_get_http( $url, $file_path = false, $red = 1 ) {
@@ -591,8 +616,8 @@ function wp_get_http( $url, $file_path = false, $red = 1 ) {
  *
  * @since 1.5.1
  *
- * @param string $url
- * @param bool $deprecated Not Used.
+ * @param string $url        URL to retrieve HTTP headers from.
+ * @param bool   $deprecated Not Used.
  * @return bool|string False on failure, headers on success.
  */
 function wp_get_http_headers( $url, $deprecated = false ) {
@@ -608,13 +633,15 @@ function wp_get_http_headers( $url, $deprecated = false ) {
 }
 
 /**
- * Whether today is a new day.
+ * Whether the publish date of the current post in the loop is different from the
+ * publish date of the previous post in the loop.
  *
  * @since 0.71
- * @uses $day Today
- * @uses $previousday Previous day
  *
- * @return int 1 when new day, 0 if not a new day.
+ * @global string $currentday  The day of the current post in the loop.
+ * @global string $previousday The day of the previous post in the loop.
+ *
+ * @return int|bool 1|true when new day, 0|false if not a new day.
  */
 function is_new_day() {
 	global $currentday, $previousday;
@@ -630,21 +657,38 @@ function is_new_day() {
  * This is a convenient function for easily building url queries. It sets the
  * separator to '&' and uses _http_build_query() function.
  *
+ * @since 2.3.0
+ *
  * @see _http_build_query() Used to build the query
- * @link http://us2.php.net/manual/en/function.http-build-query.php more on what
+ * @see http://us2.php.net/manual/en/function.http-build-query.php for more on what
  *		http_build_query() does.
  *
- * @since 2.3.0
- *
  * @param array $data URL-encode key/value pairs.
- * @return string URL encoded string
+ * @return string URL-encoded string.
  */
 function build_query( $data ) {
 	return _http_build_query( $data, null, '&', '', false );
 }
 
-// from php.net (modified by Mark Jaquith to behave like the native PHP5 function)
-function _http_build_query($data, $prefix=null, $sep=null, $key='', $urlencode=true) {
+/**
+ * From php.net (modified by Mark Jaquith to behave like the native PHP5 function).
+ *
+ * @since 3.2.0
+ * @access private
+ *
+ * @see http://us1.php.net/manual/en/function.http-build-query.php
+ *
+ * @param array|object  $data       An array or object of data. Converted to array.
+ * @param string        $prefix     Optional. Numeric index. If set, start parameter numbering with it.
+ *                                  Default null.
+ * @param string        $sep        Optional. Argument separator; defaults to 'arg_separator.output'.
+ *                                  Default null.
+ * @param string        $key        Optional. Used to prefix key name. Default empty.
+ * @param bool          $urlencode  Optional. Whether to use urlencode() in the result. Default true.
+ *
+ * @return string The query string.
+ */
+function _http_build_query( $data, $prefix = null, $sep = null, $key = '', $urlencode = true ) {
 	$ret = array();
 
 	foreach ( (array) $data as $k => $v ) {
@@ -686,13 +730,12 @@ function _http_build_query($data, $prefix=null, $sep=null, $key='', $urlencode=t
  *
  * @since 1.5.0
  *
- * @param mixed $param1 Either newkey or an associative_array
- * @param mixed $param2 Either newvalue or oldquery or uri
- * @param mixed $param3 Optional. Old query or uri
+ * @param string|array $param1 Either newkey or an associative_array.
+ * @param string       $param2 Either newvalue or oldquery or URI.
+ * @param string       $param3 Optional. Old query or URI.
  * @return string New URL query string.
  */
 function add_query_arg() {
-	$ret = '';
 	$args = func_get_args();
 	if ( is_array( $args[0] ) ) {
 		if ( count( $args ) < 2 || false === $args[1] )
@@ -759,11 +802,11 @@ function add_query_arg() {
  *
  * @since 1.5.0
  *
- * @param string|array $key Query key or keys to remove.
- * @param bool $query When false uses the $_SERVER value.
+ * @param string|array $key   Query key or keys to remove.
+ * @param bool         $query Optional. When false uses the $_SERVER value. Default false.
  * @return string New URL query string.
  */
-function remove_query_arg( $key, $query=false ) {
+function remove_query_arg( $key, $query = false ) {
 	if ( is_array( $key ) ) { // removing multiple keys
 		foreach ( $key as $k )
 			$query = add_query_arg( $k, false, $query );
@@ -795,7 +838,8 @@ function add_magic_quotes( $array ) {
  * HTTP request for URI to retrieve content.
  *
  * @since 1.5.1
- * @uses wp_remote_get()
+ *
+ * @see wp_safe_remote_get()
  *
  * @param string $uri URI/URL of web page to retrieve.
  * @return bool|string HTTP content. False on failure.
@@ -920,6 +964,7 @@ function get_status_header_desc( $code ) {
  * Set HTTP status header.
  *
  * @since 2.0.0
+ *
  * @see get_status_header_desc()
  *
  * @param int $code HTTP status code.
@@ -952,10 +997,10 @@ function status_header( $code ) {
 }
 
 /**
- * Gets the header information to prevent caching.
+ * Get the header information to prevent caching.
  *
- * The several different headers cover the different ways cache prevention is handled
- * by different browsers
+ * The several different headers cover the different ways cache prevention
+ * is handled by different browsers
  *
  * @since 2.8.0
  *
@@ -974,6 +1019,8 @@ function wp_get_nocache_headers() {
 		 *
 		 * @since 2.8.0
 		 *
+		 * @see wp_get_nocache_headers()
+		 *
 		 * @param array $headers {
 		 *     Header names and field values.
 		 *
@@ -989,12 +1036,14 @@ function wp_get_nocache_headers() {
 }
 
 /**
- * Sets the headers to prevent caching for the different browsers.
+ * Set the headers to prevent caching for the different browsers.
  *
- * Different browsers support different nocache headers, so several headers must
- * be sent so that all of them get the point that no caching should occur.
+ * Different browsers support different nocache headers, so several
+ * headers must be sent so that all of them get the point that no
+ * caching should occur.
  *
  * @since 2.0.0
+ *
  * @see wp_get_nocache_headers()
  */
 function nocache_headers() {
@@ -1027,6 +1076,7 @@ function nocache_headers() {
  */
 function cache_javascript_headers() {
 	$expiresOffset = 10 * DAY_IN_SECONDS;
+
 	header( "Content-Type: text/javascript; charset=" . get_bloginfo( 'charset' ) );
 	header( "Vary: Accept-Encoding" ); // Handle proxies
 	header( "Expires: " . gmdate( "D, d M Y H:i:s", time() + $expiresOffset ) . " GMT" );
@@ -1037,7 +1087,9 @@ function cache_javascript_headers() {
  *
  * @since 2.0.0
  *
- * @return int Number of database queries
+ * @global wpdb $wpdb WordPress database access abstraction object.
+ *
+ * @return int Number of database queries.
  */
 function get_num_queries() {
 	global $wpdb;
@@ -1045,19 +1097,21 @@ function get_num_queries() {
 }
 
 /**
- * Whether input is yes or no. Must be 'y' to be true.
+ * Whether input is yes or no.
+ *
+ * Must be 'y' to be true.
  *
  * @since 1.0.0
  *
- * @param string $yn Character string containing either 'y' or 'n'
- * @return bool True if yes, false on anything else
+ * @param string $yn Character string containing either 'y' (yes) or 'n' (no).
+ * @return bool True if yes, false on anything else.
  */
 function bool_from_yn( $yn ) {
 	return ( strtolower( $yn ) == 'y' );
 }
 
 /**
- * Loads the feed template from the use of an action hook.
+ * Load the feed template from the use of an action hook.
  *
  * If the feed action does not have a hook, then the function will die with a
  * message telling the visitor that the feed is not valid.
@@ -1099,6 +1153,8 @@ function do_feed() {
  * Load the RDF RSS 0.91 Feed template.
  *
  * @since 2.1.0
+ *
+ * @see load_template()
  */
 function do_feed_rdf() {
 	load_template( ABSPATH . WPINC . '/feed-rdf.php' );
@@ -1108,6 +1164,8 @@ function do_feed_rdf() {
  * Load the RSS 1.0 Feed Template.
  *
  * @since 2.1.0
+ *
+ * @see load_template()
  */
 function do_feed_rss() {
 	load_template( ABSPATH . WPINC . '/feed-rss.php' );
@@ -1118,6 +1176,8 @@ function do_feed_rss() {
  *
  * @since 2.1.0
  *
+ * @see load_template()
+ *
  * @param bool $for_comments True for the comment feed, false for normal feed.
  */
 function do_feed_rss2( $for_comments ) {
@@ -1132,6 +1192,8 @@ function do_feed_rss2( $for_comments ) {
  *
  * @since 2.1.0
  *
+ * @see load_template()
+ *
  * @param bool $for_comments True for the comment feed, false for normal feed.
  */
 function do_feed_atom( $for_comments ) {
@@ -1167,7 +1229,6 @@ function do_robots() {
 		$site_url = parse_url( site_url() );
 		$path = ( !empty( $site_url['path'] ) ) ? $site_url['path'] : '';
 		$output .= "Disallow: $path/wp-admin/\n";
-		$output .= "Disallow: $path/wp-includes/\n";
 	}
 
 	/**
@@ -1184,21 +1245,25 @@ function do_robots() {
 /**
  * Test whether blog is already installed.
  *
- * The cache will be checked first. If you have a cache plugin, which saves the
- * cache values, then this will work. If you use the default WordPress cache,
- * and the database goes away, then you might have problems.
+ * The cache will be checked first. If you have a cache plugin, which saves
+ * the cache values, then this will work. If you use the default WordPress
+ * cache, and the database goes away, then you might have problems.
  *
- * Checks for the option siteurl for whether WordPress is installed.
+ * Checks for the 'siteurl' option for whether WordPress is installed.
  *
  * @since 2.1.0
- * @uses $wpdb
  *
- * @return bool Whether blog is already installed.
+ * @global wpdb $wpdb WordPress database access abstraction object.
+ *
+ * @return bool Whether the blog is already installed.
  */
 function is_blog_installed() {
 	global $wpdb;
 
-	// Check cache first. If options table goes away and we have true cached, oh well.
+	/*
+	 * Check cache first. If options table goes away and we have true
+	 * cached, oh well.
+	 */
 	if ( wp_cache_get( 'is_blog_installed' ) )
 		return true;
 
@@ -1225,9 +1290,11 @@ function is_blog_installed() {
 
 	$suppress = $wpdb->suppress_errors();
 
-	// Loop over the WP tables. If none exist, then scratch install is allowed.
-	// If one or more exist, suggest table repair since we got here because the options
-	// table could not be accessed.
+	/*
+	 * Loop over the WP tables. If none exist, then scratch install is allowed.
+	 * If one or more exist, suggest table repair since we got here because the
+	 * options table could not be accessed.
+	 */
 	$wp_tables = $wpdb->tables();
 	foreach ( $wp_tables as $table ) {
 		// The existence of custom user tables shouldn't suggest an insane state or prevent a clean install.
@@ -1261,8 +1328,8 @@ function is_blog_installed() {
  * @since 2.0.4
  *
  * @param string $actionurl URL to add nonce action.
- * @param string $action Optional. Nonce action name.
- * @param string $name Optional. Nonce name.
+ * @param string $action    Optional. Nonce action name. Default -1.
+ * @param string $name      Optional. Nonce name. Default '_wpnonce'.
  * @return string Escaped URL with nonce action added.
  */
 function wp_nonce_url( $actionurl, $action = -1, $name = '_wpnonce' ) {
@@ -1290,11 +1357,11 @@ function wp_nonce_url( $actionurl, $action = -1, $name = '_wpnonce' ) {
  *
  * @since 2.0.4
  *
- * @param string $action Optional. Action name.
- * @param string $name Optional. Nonce name.
- * @param bool $referer Optional, default true. Whether to set the referer field for validation.
- * @param bool $echo Optional, default true. Whether to display or return hidden form field.
- * @return string Nonce field.
+ * @param string $action  Optional. Action name. Default -1.
+ * @param string $name    Optional. Nonce name. Default '_wpnonce'.
+ * @param bool   $referer Optional. Whether to set the referer field for validation. Default true.
+ * @param bool   $echo    Optional. Whether to display or return hidden form field. Default true.
+ * @return string Nonce field HTML markup.
  */
 function wp_nonce_field( $action = -1, $name = "_wpnonce", $referer = true , $echo = true ) {
 	$name = esc_attr( $name );
@@ -1317,8 +1384,8 @@ function wp_nonce_field( $action = -1, $name = "_wpnonce", $referer = true , $ec
  *
  * @since 2.0.4
  *
- * @param bool $echo Whether to echo or return the referer field.
- * @return string Referer field.
+ * @param bool $echo Optional. Whether to echo or return the referer field. Default true.
+ * @return string Referer field HTML markup.
  */
 function wp_referer_field( $echo = true ) {
 	$referer_field = '<input type="hidden" name="_wp_http_referer" value="'. esc_attr( wp_unslash( $_SERVER['REQUEST_URI'] ) ) . '" />';
@@ -1332,13 +1399,14 @@ function wp_referer_field( $echo = true ) {
  * Retrieve or display original referer hidden field for forms.
  *
  * The input name is '_wp_original_http_referer' and will be either the same
- * value of {@link wp_referer_field()}, if that was posted already or it will
- * be the current page, if it doesn't exist.
+ * value of wp_referer_field(), if that was posted already or it will be the
+ * current page, if it doesn't exist.
  *
  * @since 2.0.4
  *
- * @param bool $echo Whether to echo the original http referer
- * @param string $jump_back_to Optional, default is 'current'. Can be 'previous' or page you want to jump back to.
+ * @param bool   $echo         Optional. Whether to echo the original http referer. Default true.
+ * @param string $jump_back_to Optional. Can be 'previous' or page you want to jump back to.
+ *                             Default 'current'.
  * @return string Original referer field.
  */
 function wp_original_referer_field( $echo = true, $jump_back_to = 'current' ) {
@@ -1352,8 +1420,9 @@ function wp_original_referer_field( $echo = true, $jump_back_to = 'current' ) {
 }
 
 /**
- * Retrieve referer from '_wp_http_referer' or HTTP referer. If it's the same
- * as the current request URL, will return false.
+ * Retrieve referer from '_wp_http_referer' or HTTP referer.
+ *
+ * If it's the same as the current request URL, will return false.
  *
  * @since 2.0.4
  *
@@ -1399,21 +1468,24 @@ function wp_get_original_referer() {
 function wp_mkdir_p( $target ) {
 	$wrapper = null;
 
-	// strip the protocol
+	// Strip the protocol.
 	if( wp_is_stream( $target ) ) {
 		list( $wrapper, $target ) = explode( '://', $target, 2 );
 	}
 
-	// from php.net/mkdir user contributed notes
+	// From php.net/mkdir user contributed notes.
 	$target = str_replace( '//', '/', $target );
 
-	// put the wrapper back on the target
+	// Put the wrapper back on the target.
 	if( $wrapper !== null ) {
 		$target = $wrapper . '://' . $target;
 	}
 
-	// safe mode fails with a trailing slash under certain PHP versions.
-	$target = rtrim($target, '/'); // Use rtrim() instead of untrailingslashit to avoid formatting.php dependency.
+	/*
+	 * Safe mode fails with a trailing slash under certain PHP versions.
+	 * Use rtrim() instead of untrailingslashit to avoid formatting.php dependency.
+	 */
+	$target = rtrim($target, '/');
 	if ( empty($target) )
 		$target = '/';
 
@@ -1427,7 +1499,6 @@ function wp_mkdir_p( $target ) {
 	}
 
 	// Get the permission bits.
-	$dir_perms = false;
 	if ( $stat = @stat( $target_parent ) ) {
 		$dir_perms = $stat['mode'] & 0007777;
 	} else {
@@ -1436,7 +1507,10 @@ function wp_mkdir_p( $target ) {
 
 	if ( @mkdir( $target, $dir_perms, true ) ) {
 
-		// If a umask is set that modifies $dir_perms, we'll have to re-set the $dir_perms correctly with chmod()
+		/*
+		 * If a umask is set that modifies $dir_perms, we'll have to re-set
+		 * the $dir_perms correctly with chmod()
+		 */
 		if ( $dir_perms != ( $dir_perms & ~umask() ) ) {
 			$folder_parts = explode( '/', substr( $target, strlen( $target_parent ) + 1 ) );
 			for ( $i = 1; $i <= count( $folder_parts ); $i++ ) {
@@ -1451,38 +1525,44 @@ function wp_mkdir_p( $target ) {
 }
 
 /**
- * Test if a give filesystem path is absolute ('/foo/bar', 'c:\windows').
+ * Test if a give filesystem path is absolute.
+ *
+ * For example, '/foo/bar', or 'c:\windows'.
  *
  * @since 2.5.0
  *
- * @param string $path File path
+ * @param string $path File path.
  * @return bool True if path is absolute, false is not absolute.
  */
 function path_is_absolute( $path ) {
-	// this is definitive if true but fails if $path does not exist or contains a symbolic link
+	/*
+	 * This is definitive if true but fails if $path does not exist or contains
+	 * a symbolic link.
+	 */
 	if ( realpath($path) == $path )
 		return true;
 
 	if ( strlen($path) == 0 || $path[0] == '.' )
 		return false;
 
-	// windows allows absolute paths like this
+	// Windows allows absolute paths like this.
 	if ( preg_match('#^[a-zA-Z]:\\\\#', $path) )
 		return true;
 
-	// a path starting with / or \ is absolute; anything else is relative
+	// A path starting with / or \ is absolute; anything else is relative.
 	return ( $path[0] == '/' || $path[0] == '\\' );
 }
 
 /**
- * Join two filesystem paths together (e.g. 'give me $path relative to $base').
+ * Join two filesystem paths together.
  *
- * If the $path is absolute, then it the full path is returned.
+ * For example, 'give me $path relative to $base'. If the $path is absolute,
+ * then it the full path is returned.
  *
  * @since 2.5.0
  *
- * @param string $base
- * @param string $path
+ * @param string $base Base path.
+ * @param string $path Path relative to $base.
  * @return string The path with the base or absolute path.
  */
 function path_join( $base, $path ) {
@@ -1495,8 +1575,8 @@ function path_join( $base, $path ) {
 /**
  * Normalize a filesystem path.
  *
- * Replaces backslashes with forward slashes for Windows systems,
- * and ensures no duplicate slashes exist.
+ * Replaces backslashes with forward slashes for Windows systems, and ensures
+ * no duplicate slashes exist.
  *
  * @since 3.9.0
  *
@@ -1510,18 +1590,18 @@ function wp_normalize_path( $path ) {
 }
 
 /**
- * Determines a writable directory for temporary files.
- * Function's preference is the return value of <code>sys_get_temp_dir()</code>,
+ * Determine a writable directory for temporary files.
+ *
+ * Function's preference is the return value of sys_get_temp_dir(),
  * followed by your PHP temporary upload directory, followed by WP_CONTENT_DIR,
  * before finally defaulting to /tmp/
  *
  * In the event that this function does not find a writable location,
- * It may be overridden by the <code>WP_TEMP_DIR</code> constant in
- * your <code>wp-config.php</code> file.
+ * It may be overridden by the WP_TEMP_DIR constant in your wp-config.php file.
  *
  * @since 2.5.0
  *
- * @return string Writable temporary directory
+ * @return string Writable temporary directory.
  */
 function get_temp_dir() {
 	static $temp;
@@ -1552,15 +1632,15 @@ function get_temp_dir() {
 /**
  * Determine if a directory is writable.
  *
- * This function is used to work around certain ACL issues
- * in PHP primarily affecting Windows Servers.
- *
- * @see win_is_writable()
+ * This function is used to work around certain ACL issues in PHP primarily
+ * affecting Windows Servers.
  *
  * @since 3.6.0
  *
- * @param string $path
- * @return bool
+ * @see win_is_writable()
+ *
+ * @param string $path Path to check for write-ability.
+ * @return bool Whether the path is writable.
  */
 function wp_is_writable( $path ) {
 	if ( 'WIN' === strtoupper( substr( PHP_OS, 0, 3 ) ) )
@@ -1577,13 +1657,13 @@ function wp_is_writable( $path ) {
  * checking the ability to open files rather than relying
  * upon PHP to interprate the OS ACL.
  *
- * @link http://bugs.php.net/bug.php?id=27609
- * @link http://bugs.php.net/bug.php?id=30931
- *
  * @since 2.8.0
  *
- * @param string $path
- * @return bool
+ * @see http://bugs.php.net/bug.php?id=27609
+ * @see http://bugs.php.net/bug.php?id=30931
+ *
+ * @param string $path Windows path to check for write-ability.
+ * @return bool Whether the path is writable.
  */
 function win_is_writable( $path ) {
 
@@ -1632,7 +1712,7 @@ function win_is_writable( $path ) {
  *
  * @since 2.0.0
  *
- * @param string $time Optional. Time formatted in 'yyyy/mm'.
+ * @param string $time Optional. Time formatted in 'yyyy/mm'. Default null.
  * @return array See above for description.
  */
 function wp_upload_dir( $time = null ) {
@@ -1655,8 +1735,10 @@ function wp_upload_dir( $time = null ) {
 			$url = trailingslashit( $siteurl ) . $upload_path;
 	}
 
-	// Obey the value of UPLOADS. This happens as long as ms-files rewriting is disabled.
-	// We also sometimes obey UPLOADS when rewriting is enabled -- see the next block.
+	/*
+	 * Honor the value of UPLOADS. This happens as long as ms-files rewriting is disabled.
+	 * We also sometimes obey UPLOADS when rewriting is enabled -- see the next block.
+	 */
 	if ( defined( 'UPLOADS' ) && ! ( is_multisite() && get_site_option( 'ms_files_rewriting' ) ) ) {
 		$dir = ABSPATH . UPLOADS;
 		$url = trailingslashit( $siteurl ) . UPLOADS;
@@ -1666,11 +1748,14 @@ function wp_upload_dir( $time = null ) {
 	if ( is_multisite() && ! ( is_main_network() && is_main_site() && defined( 'MULTISITE' ) ) ) {
 
 		if ( ! get_site_option( 'ms_files_rewriting' ) ) {
-			// If ms-files rewriting is disabled (networks created post-3.5), it is fairly straightforward:
-			// Append sites/%d if we're not on the main site (for post-MU networks). (The extra directory
-			// prevents a four-digit ID from conflicting with a year-based directory for the main site.
-			// But if a MU-era network has disabled ms-files rewriting manually, they don't need the extra
-			// directory, as they never had wp-content/uploads for the main site.)
+			/*
+			 * If ms-files rewriting is disabled (networks created post-3.5), it is fairly
+			 * straightforward: Append sites/%d if we're not on the main site (for post-MU
+			 * networks). (The extra directory prevents a four-digit ID from conflicting with
+			 * a year-based directory for the main site. But if a MU-era network has disabled
+			 * ms-files rewriting manually, they don't need the extra directory, as they never
+			 * had wp-content/uploads for the main site.)
+			 */
 
 			if ( defined( 'MULTISITE' ) )
 				$ms_dir = '/sites/' . get_current_blog_id();
@@ -1681,17 +1766,19 @@ function wp_upload_dir( $time = null ) {
 			$url .= $ms_dir;
 
 		} elseif ( defined( 'UPLOADS' ) && ! ms_is_switched() ) {
-			// Handle the old-form ms-files.php rewriting if the network still has that enabled.
-			// When ms-files rewriting is enabled, then we only listen to UPLOADS when:
-			//   1) we are not on the main site in a post-MU network,
-			//      as wp-content/uploads is used there, and
-			//   2) we are not switched, as ms_upload_constants() hardcodes
-			//      these constants to reflect the original blog ID.
-			//
-			// Rather than UPLOADS, we actually use BLOGUPLOADDIR if it is set, as it is absolute.
-			// (And it will be set, see ms_upload_constants().) Otherwise, UPLOADS can be used, as
-			// as it is relative to ABSPATH. For the final piece: when UPLOADS is used with ms-files
-			// rewriting in multisite, the resulting URL is /files. (#WP22702 for background.)
+			/*
+			 * Handle the old-form ms-files.php rewriting if the network still has that enabled.
+			 * When ms-files rewriting is enabled, then we only listen to UPLOADS when:
+			 * 1) We are not on the main site in a post-MU network, as wp-content/uploads is used
+			 *    there, and
+			 * 2) We are not switched, as ms_upload_constants() hardcodes these constants to reflect
+			 *    the original blog ID.
+			 *
+			 * Rather than UPLOADS, we actually use BLOGUPLOADDIR if it is set, as it is absolute.
+			 * (And it will be set, see ms_upload_constants().) Otherwise, UPLOADS can be used, as
+			 * as it is relative to ABSPATH. For the final piece: when UPLOADS is used with ms-files
+			 * rewriting in multisite, the resulting URL is /files. (#WP22702 for background.)
+			 */
 
 			if ( defined( 'BLOGUPLOADDIR' ) )
 				$dir = untrailingslashit( BLOGUPLOADDIR );
@@ -1735,7 +1822,7 @@ function wp_upload_dir( $time = null ) {
 			'error'   => false,
 		) );
 
-	// Make sure we have an uploads dir
+	// Make sure we have an uploads directory.
 	if ( ! wp_mkdir_p( $uploads['path'] ) ) {
 		if ( 0 === strpos( $uploads['basedir'], ABSPATH ) )
 			$error_path = str_replace( ABSPATH, '', $uploads['basedir'] ) . $uploads['subdir'];
@@ -1761,36 +1848,39 @@ function wp_upload_dir( $time = null ) {
  *
  * @since 2.5.0
  *
- * @param string $dir
- * @param string $filename
- * @param mixed $unique_filename_callback Callback.
+ * @param string   $dir                      Directory.
+ * @param string   $filename                 File name.
+ * @param callback $unique_filename_callback Callback. Default null.
  * @return string New filename, if given wasn't unique.
  */
 function wp_unique_filename( $dir, $filename, $unique_filename_callback = null ) {
-	// sanitize the file name before we begin processing
+	// Sanitize the file name before we begin processing.
 	$filename = sanitize_file_name($filename);
 
-	// separate the filename into a name and extension
+	// Separate the filename into a name and extension.
 	$info = pathinfo($filename);
 	$ext = !empty($info['extension']) ? '.' . $info['extension'] : '';
 	$name = basename($filename, $ext);
 
-	// edge case: if file is named '.ext', treat as an empty name
+	// Edge case: if file is named '.ext', treat as an empty name.
 	if ( $name === $ext )
 		$name = '';
 
-	// Increment the file number until we have a unique file to save in $dir. Use callback if supplied.
+	/*
+	 * Increment the file number until we have a unique file to save in $dir.
+	 * Use callback if supplied.
+	 */
 	if ( $unique_filename_callback && is_callable( $unique_filename_callback ) ) {
 		$filename = call_user_func( $unique_filename_callback, $dir, $name, $ext );
 	} else {
 		$number = '';
 
-		// change '.ext' to lower case
+		// Change '.ext' to lower case.
 		if ( $ext && strtolower($ext) != $ext ) {
 			$ext2 = strtolower($ext);
 			$filename2 = preg_replace( '|' . preg_quote($ext) . '$|', $ext2, $filename );
 
-			// check for both lower and upper case extension or image sub-sizes may be overwritten
+			// Check for both lower and upper case extension or image sub-sizes may be overwritten.
 			while ( file_exists($dir . "/$filename") || file_exists($dir . "/$filename2") ) {
 				$new_number = $number + 1;
 				$filename = str_replace( "$number$ext", "$new_number$ext", $filename );
@@ -1828,10 +1918,10 @@ function wp_unique_filename( $dir, $filename, $unique_filename_callback = null )
  *
  * @since 2.0.0
  *
- * @param string $name
- * @param null $deprecated Never used. Set to null.
- * @param mixed $bits File content
- * @param string $time Optional. Time formatted in 'yyyy/mm'.
+ * @param string $name       Filename.
+ * @param null   $deprecated Never used. Set to null.
+ * @param mixed  $bits       File content
+ * @param string $time       Optional. Time formatted in 'yyyy/mm'. Default null.
  * @return array
  */
 function wp_upload_bits( $name, $deprecated, $bits, $time = null ) {
@@ -1925,8 +2015,8 @@ function wp_ext2type( $ext ) {
 	$ext2type = apply_filters( 'ext2type', array(
 		'image'       => array( 'jpg', 'jpeg', 'jpe',  'gif',  'png',  'bmp',   'tif',  'tiff', 'ico' ),
 		'audio'       => array( 'aac', 'ac3',  'aif',  'aiff', 'm3a',  'm4a',   'm4b',  'mka',  'mp1',  'mp2',  'mp3', 'ogg', 'oga', 'ram', 'wav', 'wma' ),
-		'video'       => array( 'asf', 'avi',  'divx', 'dv',   'flv',  'm4v',   'mkv',  'mov',  'mp4',  'mpeg', 'mpg', 'mpv', 'ogm', 'ogv', 'qt',  'rm', 'vob', 'wmv' ),
-		'document'    => array( 'doc', 'docx', 'docm', 'dotm', 'odt',  'pages', 'pdf',  'rtf',  'wp',   'wpd' ),
+		'video'       => array( '3g2',  '3gp', '3gpp', 'asf', 'avi',  'divx', 'dv',   'flv',  'm4v',   'mkv',  'mov',  'mp4',  'mpeg', 'mpg', 'mpv', 'ogm', 'ogv', 'qt',  'rm', 'vob', 'wmv' ),
+		'document'    => array( 'doc', 'docx', 'docm', 'dotm', 'odt',  'pages', 'pdf',  'xps',  'oxps', 'rtf',  'wp',   'wpd' ),
 		'spreadsheet' => array( 'numbers',     'ods',  'xls',  'xlsx', 'xlsm',  'xlsb' ),
 		'interactive' => array( 'swf', 'key',  'ppt',  'pptx', 'pptm', 'pps',   'ppsx', 'ppsm', 'sldx', 'sldm', 'odp' ),
 		'text'        => array( 'asc', 'csv',  'tsv',  'txt' ),
@@ -1949,7 +2039,7 @@ function wp_ext2type( $ext ) {
  * @since 2.0.4
  *
  * @param string $filename File name or path.
- * @param array $mimes Optional. Key is the file extension with value as the mime type.
+ * @param array  $mimes    Optional. Key is the file extension with value as the mime type.
  * @return array Values with extension first and mime type.
  */
 function wp_check_filetype( $filename, $mimes = null ) {
@@ -1972,6 +2062,7 @@ function wp_check_filetype( $filename, $mimes = null ) {
 
 /**
  * Attempt to determine the real file type of a file.
+ *
  * If unable to, the file name extension will be used to determine type.
  *
  * If it's determined that the extension does not match the file's real type,
@@ -1981,10 +2072,12 @@ function wp_check_filetype( $filename, $mimes = null ) {
  *
  * @since 3.0.0
  *
- * @param string $file Full path to the file.
- * @param string $filename The name of the file (may differ from $file due to $file being in a tmp directory)
- * @param array $mimes Optional. Key is the file extension with value as the mime type.
- * @return array Values for the extension, MIME, and either a corrected filename or false if original $filename is valid
+ * @param string $file     Full path to the file.
+ * @param string $filename The name of the file (may differ from $file due to $file being
+ *                         in a tmp directory).
+ * @param array   $mimes   Optional. Key is the file extension with value as the mime type.
+ * @return array Values for the extension, MIME, and either a corrected filename or false
+ *               if original $filename is valid.
  */
 function wp_check_filetype_and_ext( $file, $filename, $mimes = null ) {
 
@@ -1992,11 +2085,13 @@ function wp_check_filetype_and_ext( $file, $filename, $mimes = null ) {
 
 	// Do basic extension validation and MIME mapping
 	$wp_filetype = wp_check_filetype( $filename, $mimes );
-	extract( $wp_filetype );
+	$ext = $wp_filetype['ext'];
+	$type = $wp_filetype['type'];
 
 	// We can't do any further validation without a file to work with
-	if ( ! file_exists( $file ) )
+	if ( ! file_exists( $file ) ) {
 		return compact( 'ext', 'type', 'proper_filename' );
+	}
 
 	// We're able to validate images using GD
 	if ( $type && 0 === strpos( $type, 'image/' ) && function_exists('getimagesize') ) {
@@ -2028,12 +2123,13 @@ function wp_check_filetype_and_ext( $file, $filename, $mimes = null ) {
 				$filename_parts[] = $mime_to_ext[ $imgstats['mime'] ];
 				$new_filename = implode( '.', $filename_parts );
 
-				if ( $new_filename != $filename )
+				if ( $new_filename != $filename ) {
 					$proper_filename = $new_filename; // Mark that it changed
-
+				}
 				// Redefine the extension / MIME
 				$wp_filetype = wp_check_filetype( $new_filename, $mimes );
-				extract( $wp_filetype );
+				$ext = $wp_filetype['ext'];
+				$type = $wp_filetype['type'];
 			}
 		}
 	}
@@ -2073,14 +2169,14 @@ function wp_get_mime_types() {
 	 *                                 corresponding to those types.
 	 */
 	return apply_filters( 'mime_types', array(
-	// Image formats
+	// Image formats.
 	'jpg|jpeg|jpe' => 'image/jpeg',
 	'gif' => 'image/gif',
 	'png' => 'image/png',
 	'bmp' => 'image/bmp',
 	'tif|tiff' => 'image/tiff',
 	'ico' => 'image/x-icon',
-	// Video formats
+	// Video formats.
 	'asf|asx' => 'video/x-ms-asf',
 	'wmv' => 'video/x-ms-wmv',
 	'wmx' => 'video/x-ms-wmx',
@@ -2094,8 +2190,10 @@ function wp_get_mime_types() {
 	'ogv' => 'video/ogg',
 	'webm' => 'video/webm',
 	'mkv' => 'video/x-matroska',
-	// Text formats
-	'txt|asc|c|cc|h' => 'text/plain',
+	'3gp|3gpp' => 'video/3gpp', // Can also be audio
+	'3g2|3gp2' => 'video/3gpp2', // Can also be audio
+	// Text formats.
+	'txt|asc|c|cc|h|srt' => 'text/plain',
 	'csv' => 'text/csv',
 	'tsv' => 'text/tab-separated-values',
 	'ics' => 'text/calendar',
@@ -2103,7 +2201,8 @@ function wp_get_mime_types() {
 	'css' => 'text/css',
 	'htm|html' => 'text/html',
 	'vtt' => 'text/vtt',
-	// Audio formats
+	'dfxp' => 'application/ttaf+xml',
+	// Audio formats.
 	'mp3|m4a|m4b' => 'audio/mpeg',
 	'ra|ram' => 'audio/x-realaudio',
 	'wav' => 'audio/wav',
@@ -2112,7 +2211,7 @@ function wp_get_mime_types() {
 	'wma' => 'audio/x-ms-wma',
 	'wax' => 'audio/x-ms-wax',
 	'mka' => 'audio/x-matroska',
-	// Misc application formats
+	// Misc application formats.
 	'rtf' => 'application/rtf',
 	'js' => 'application/javascript',
 	'pdf' => 'application/pdf',
@@ -2124,7 +2223,7 @@ function wp_get_mime_types() {
 	'rar' => 'application/rar',
 	'7z' => 'application/x-7z-compressed',
 	'exe' => 'application/x-msdownload',
-	// MS Office formats
+	// MS Office formats.
 	'doc' => 'application/msword',
 	'pot|pps|ppt' => 'application/vnd.ms-powerpoint',
 	'wri' => 'application/vnd.ms-write',
@@ -2151,7 +2250,9 @@ function wp_get_mime_types() {
 	'sldx' => 'application/vnd.openxmlformats-officedocument.presentationml.slide',
 	'sldm' => 'application/vnd.ms-powerpoint.slide.macroEnabled.12',
 	'onetoc|onetoc2|onetmp|onepkg' => 'application/onenote',
-	// OpenOffice formats
+	'oxps' => 'application/oxps',
+	'xps' => 'application/vnd.ms-xpsdocument',
+	// OpenOffice formats.
 	'odt' => 'application/vnd.oasis.opendocument.text',
 	'odp' => 'application/vnd.oasis.opendocument.presentation',
 	'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
@@ -2159,9 +2260,9 @@ function wp_get_mime_types() {
 	'odc' => 'application/vnd.oasis.opendocument.chart',
 	'odb' => 'application/vnd.oasis.opendocument.database',
 	'odf' => 'application/vnd.oasis.opendocument.formula',
-	// WordPerfect formats
+	// WordPerfect formats.
 	'wp|wpd' => 'application/wordperfect',
-	// iWork formats
+	// iWork formats.
 	'key' => 'application/vnd.apple.keynote',
 	'numbers' => 'application/vnd.apple.numbers',
 	'pages' => 'application/vnd.apple.pages',
@@ -2175,7 +2276,8 @@ function wp_get_mime_types() {
  * @uses wp_get_upload_mime_types() to fetch the list of mime types
  *
  * @param int|WP_User $user Optional. User to check. Defaults to current user.
- * @return array Array of mime types keyed by the file extension regex corresponding to those types.
+ * @return array Array of mime types keyed by the file extension regex corresponding
+ *               to those types.
  */
 function get_allowed_mime_types( $user = null ) {
 	$t = wp_get_mime_types();
@@ -2203,8 +2305,8 @@ function get_allowed_mime_types( $user = null ) {
 /**
  * Display "Are You Sure" message to confirm the action being taken.
  *
- * If the action has the nonce explain message, then it will be displayed along
- * with the "Are you sure?" message.
+ * If the action has the nonce explain message, then it will be displayed
+ * along with the "Are you sure?" message.
  *
  * @since 2.0.4
  *
@@ -2236,9 +2338,9 @@ function wp_nonce_ays( $action ) {
  *
  * @since 2.0.4
  *
- * @param string $message Error message.
- * @param string $title Error title.
- * @param string|array $args Optional arguments to control behavior.
+ * @param string       $message Optional. Error message. Default empty.
+ * @param string       $title   Optional. Error title. Default empty.
+ * @param string|array $args    Optional. Arguments to control behavior. Default empty array.
  */
 function wp_die( $message = '', $title = '', $args = array() ) {
 	if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
@@ -2282,9 +2384,9 @@ function wp_die( $message = '', $title = '', $args = array() ) {
  * @since 3.0.0
  * @access private
  *
- * @param string $message Error message.
- * @param string $title Error title.
- * @param string|array $args Optional arguments to control behavior.
+ * @param string       $message Error message.
+ * @param string       $title   Optional. Error title. Default empty.
+ * @param string|array $args    Optional. Arguments to control behavior. Default empty array.
  */
 function _default_wp_die_handler( $message, $title = '', $args = array() ) {
 	$defaults = array( 'response' => 500 );
@@ -2299,7 +2401,7 @@ function _default_wp_die_handler( $message, $title = '', $args = array() ) {
 				$title = $error_data['title'];
 		}
 		$errors = $message->get_error_messages();
-		switch ( count( $errors ) ) :
+		switch ( count( $errors ) ) {
 		case 0 :
 			$message = '';
 			break;
@@ -2309,7 +2411,7 @@ function _default_wp_die_handler( $message, $title = '', $args = array() ) {
 		default :
 			$message = "<ul>\n\t\t<li>" . join( "</li>\n\t\t<li>", $errors ) . "</li>\n\t</ul>";
 			break;
-		endswitch;
+		}
 	} elseif ( is_string( $message ) ) {
 		$message = "<p>$message</p>";
 	}
@@ -2460,9 +2562,9 @@ function _default_wp_die_handler( $message, $title = '', $args = array() ) {
  * @since 3.2.0
  * @access private
  *
- * @param string $message Error message.
- * @param string $title Error title.
- * @param string|array $args Optional arguments to control behavior.
+ * @param string       $message Error message.
+ * @param string       $title   Optional. Error title. Default empty.
+ * @param string|array $args    Optional. Arguments to control behavior. Default empty array.
  */
 function _xmlrpc_wp_die_handler( $message, $title = '', $args = array() ) {
 	global $wp_xmlrpc_server;
@@ -2485,7 +2587,7 @@ function _xmlrpc_wp_die_handler( $message, $title = '', $args = array() ) {
  * @since 3.4.0
  * @access private
  *
- * @param string $message Optional. Response to print.
+ * @param string $message Optional. Response to print. Default empty.
  */
 function _ajax_wp_die_handler( $message = '' ) {
 	if ( is_scalar( $message ) )
@@ -2501,7 +2603,7 @@ function _ajax_wp_die_handler( $message = '' ) {
  * @since 3.4.0
  * @access private
  *
- * @param string $message Optional. Response to print.
+ * @param string $message Optional. Response to print. Default empty.
  */
 function _scalar_wp_die_handler( $message = '' ) {
 	if ( is_scalar( $message ) )
@@ -2514,7 +2616,8 @@ function _scalar_wp_die_handler( $message = '' ) {
  *
  * @since 3.5.0
  *
- * @param mixed $response Variable (usually an array or object) to encode as JSON, then print and die.
+ * @param mixed $response Variable (usually an array or object) to encode as JSON,
+ *                        then print and die.
  */
 function wp_send_json( $response ) {
 	@header( 'Content-Type: application/json; charset=' . get_option( 'blog_charset' ) );
@@ -2560,14 +2663,16 @@ function wp_send_json_error( $data = null ) {
 /**
  * Retrieve the WordPress home page URL.
  *
- * If the constant named 'WP_HOME' exists, then it will be used and returned by
- * the function. This can be used to counter the redirection on your local
+ * If the constant named 'WP_HOME' exists, then it will be used and returned
+ * by the function. This can be used to counter the redirection on your local
  * development environment.
  *
- * @access private
  * @since 2.2.0
+ * @access private
  *
- * @param string $url URL for the home location
+ * @see WP_HOME
+ *
+ * @param string $url URL for the home location.
  * @return string Homepage location.
  */
 function _config_wp_home( $url = '' ) {
@@ -2580,14 +2685,16 @@ function _config_wp_home( $url = '' ) {
  * Retrieve the WordPress site URL.
  *
  * If the constant named 'WP_SITEURL' is defined, then the value in that
- * constant will always be returned. This can be used for debugging a site on
- * your localhost while not having to change the database to your URL.
+ * constant will always be returned. This can be used for debugging a site
+ * on your localhost while not having to change the database to your URL.
  *
- * @access private
  * @since 2.2.0
+ * @access private
+ *
+ * @see WP_SITEURL
  *
  * @param string $url URL to set the WordPress site location.
- * @return string The WordPress Site URL
+ * @return string The WordPress Site URL.
  */
 function _config_wp_siteurl( $url = '' ) {
 	if ( defined( 'WP_SITEURL' ) )
@@ -2598,15 +2705,16 @@ function _config_wp_siteurl( $url = '' ) {
 /**
  * Set the localized direction for MCE plugin.
  *
- * Will only set the direction to 'rtl', if the WordPress locale has the text
- * direction set to 'rtl'.
+ * Will only set the direction to 'rtl', if the WordPress locale has
+ * the text direction set to 'rtl'.
  *
- * Fills in the 'directionality' setting, enables the 'directionality' plugin,
- * and adds the 'ltr' button to 'toolbar1', formerly 'theme_advanced_buttons1' array
- * keys. These keys are then returned in the $input (TinyMCE settings) array.
+ * Fills in the 'directionality' setting, enables the 'directionality'
+ * plugin, and adds the 'ltr' button to 'toolbar1', formerly
+ * 'theme_advanced_buttons1' array keys. These keys are then returned
+ * in the $input (TinyMCE settings) array.
  *
- * @access private
  * @since 2.1.0
+ * @access private
  *
  * @param array $input MCE settings array.
  * @return array Direction set for 'rtl', if needed by locale.
@@ -2641,6 +2749,7 @@ function _mce_set_direction( $input ) {
  *
  * @global array $wpsmiliestrans
  * @global array $wp_smiliessearch
+ *
  * @since 2.2.0
  */
 function smilies_init() {
@@ -2711,7 +2820,10 @@ function smilies_init() {
 	 */
 	krsort($wpsmiliestrans);
 
-	$wp_smiliessearch = '/((?:\s|^)';
+	$spaces = wp_spaces_regexp();
+
+	// Begin first "subpattern"
+	$wp_smiliessearch = '/(?<=' . $spaces . '|^)';
 
 	$subchar = '';
 	foreach ( (array) $wpsmiliestrans as $smiley => $img ) {
@@ -2721,7 +2833,8 @@ function smilies_init() {
 		// new subpattern?
 		if ($firstchar != $subchar) {
 			if ($subchar != '') {
-				$wp_smiliessearch .= ')(?=\s|$))|((?:\s|^)'; ;
+				$wp_smiliessearch .= ')(?=' . $spaces . '|$)';  // End previous "subpattern"
+				$wp_smiliessearch .= '|(?<=' . $spaces . '|^)'; // Begin another "subpattern"
 			}
 			$subchar = $firstchar;
 			$wp_smiliessearch .= preg_quote($firstchar, '/') . '(?:';
@@ -2731,7 +2844,7 @@ function smilies_init() {
 		$wp_smiliessearch .= preg_quote($rest, '/');
 	}
 
-	$wp_smiliessearch .= ')(?=\s|$))/m';
+	$wp_smiliessearch .= ')(?=' . $spaces . '|$)/m';
 
 }
 
@@ -2743,8 +2856,8 @@ function smilies_init() {
  *
  * @since 2.2.0
  *
- * @param string|array $args Value to merge with $defaults
- * @param array $defaults Array that serves as the defaults.
+ * @param string|array $args     Value to merge with $defaults
+ * @param array        $defaults Optional. Array that serves as the defaults. Default empty.
  * @return array Merged user defined values with defaults.
  */
 function wp_parse_args( $args, $defaults = '' ) {
@@ -2765,8 +2878,8 @@ function wp_parse_args( $args, $defaults = '' ) {
  *
  * @since 3.0.0
  *
- * @param array|string $list
- * @return array Sanitized array of IDs
+ * @param array|string $list List of ids.
+ * @return array Sanitized array of IDs.
  */
 function wp_parse_id_list( $list ) {
 	if ( !is_array($list) )
@@ -2780,9 +2893,9 @@ function wp_parse_id_list( $list ) {
  *
  * @since 3.1.0
  *
- * @param array $array The original array
- * @param array $keys The list of keys
- * @return array The array slice
+ * @param array $array The original array.
+ * @param array $keys  The list of keys.
+ * @return array The array slice.
  */
 function wp_array_slice_assoc( $array, $keys ) {
 	$slice = array();
@@ -2798,12 +2911,15 @@ function wp_array_slice_assoc( $array, $keys ) {
  *
  * @since 3.0.0
  *
- * @param array $list An array of objects to filter
- * @param array $args An array of key => value arguments to match against each object
- * @param string $operator The logical operation to perform. 'or' means only one element
- *	from the array needs to match; 'and' means all elements must match. The default is 'and'.
- * @param bool|string $field A field from the object to place instead of the entire object
- * @return array A list of objects or object fields
+ * @param array       $list     An array of objects to filter
+ * @param array       $args     Optional. An array of key => value arguments to match
+ *                              against each object. Default empty array.
+ * @param string      $operator Optional. The logical operation to perform. 'or' means
+ *                              only one element from the array needs to match; 'and'
+ *                              means all elements must match. Default 'and'.
+ * @param bool|string $field    A field from the object to place instead of the entire object.
+ *                              Default false.
+ * @return array A list of objects or object fields.
  */
 function wp_filter_object_list( $list, $args = array(), $operator = 'and', $field = false ) {
 	if ( ! is_array( $list ) )
@@ -2822,14 +2938,14 @@ function wp_filter_object_list( $list, $args = array(), $operator = 'and', $fiel
  *
  * @since 3.1.0
  *
- * @param array $list An array of objects to filter
- * @param array $args An array of key => value arguments to match against each object
- * @param string $operator The logical operation to perform:
- *    'AND' means all elements from the array must match;
- *    'OR' means only one element needs to match;
- *    'NOT' means no elements may match.
- *   The default is 'AND'.
- * @return array
+ * @param array  $list     An array of objects to filter.
+ * @param array  $args     Optional. An array of key => value arguments to match
+ *                         against each object. Default empty array.
+ * @param string $operator Optional. The logical operation to perform. 'AND' means
+ *                         all elements from the array must match. 'OR' means only
+ *                         one element needs to match. 'NOT' means no elements may
+ *                         match. Default 'AND'.
+ * @return array Array of found values.
  */
 function wp_list_filter( $list, $args = array(), $operator = 'AND' ) {
 	if ( ! is_array( $list ) )
@@ -2864,36 +2980,74 @@ function wp_list_filter( $list, $args = array(), $operator = 'AND' ) {
 /**
  * Pluck a certain field out of each object in a list.
  *
- * @since 3.1.0
+ * This has the same functionality and prototype of
+ * array_column() (PHP 5.5) but also supports objects.
  *
- * @param array $list A list of objects or arrays
- * @param int|string $field A field from the object to place instead of the entire object
- * @return array
- */
-function wp_list_pluck( $list, $field ) {
-	foreach ( $list as $key => $value ) {
-		if ( is_object( $value ) )
-			$list[ $key ] = $value->$field;
-		else
-			$list[ $key ] = $value[ $field ];
+ * @since 3.1.0
+ * @since 4.0.0 $index_key parameter added.
+ *
+ * @param array      $list      List of objects or arrays
+ * @param int|string $field     Field from the object to place instead of the entire object
+ * @param int|string $index_key Optional. Field from the object to use as keys for the new array.
+ *                              Default null.
+ * @return array Array of found values. If $index_key is set, an array of found values with keys
+ *               corresponding to $index_key.
+ */
+function wp_list_pluck( $list, $field, $index_key = null ) {
+	if ( ! $index_key ) {
+		/*
+		 * This is simple. Could at some point wrap array_column()
+		 * if we knew we had an array of arrays.
+		 */
+		foreach ( $list as $key => $value ) {
+			if ( is_object( $value ) ) {
+				$list[ $key ] = $value->$field;
+			} else {
+				$list[ $key ] = $value[ $field ];
+			}
+		}
+		return $list;
 	}
 
-	return $list;
+	/*
+	 * When index_key is not set for a particular item, push the value
+	 * to the end of the stack. This is how array_column() behaves.
+	 */
+	$newlist = array();
+	foreach ( $list as $value ) {
+		if ( is_object( $value ) ) {
+			if ( isset( $value->$index_key ) ) {
+				$newlist[ $value->$index_key ] = $value->$field;
+			} else {
+				$newlist[] = $value->$field;
+			}
+		} else {
+			if ( isset( $value[ $index_key ] ) ) {
+				$newlist[ $value[ $index_key ] ] = $value[ $field ];
+			} else {
+				$newlist[] = $value[ $field ];
+			}
+		}
+	}
+
+	return $newlist;
 }
 
 /**
  * Determines if Widgets library should be loaded.
  *
- * Checks to make sure that the widgets library hasn't already been loaded. If
- * it hasn't, then it will load the widgets library and run an action hook.
+ * Checks to make sure that the widgets library hasn't already been loaded.
+ * If it hasn't, then it will load the widgets library and run an action hook.
  *
  * @since 2.2.0
- * @uses add_action() Calls '_admin_menu' hook with 'wp_widgets_add_menu' value.
  */
 function wp_maybe_load_widgets() {
 	/**
 	 * Filter whether to load the Widgets library.
 	 *
+	 * Passing a falsey value to the filter will effectively short-circuit
+	 * the Widgets library from loading.
+	 *
 	 * @since 2.8.0
 	 *
 	 * @param bool $wp_maybe_load_widgets Whether to load the Widgets library.
@@ -2902,7 +3056,9 @@ function wp_maybe_load_widgets() {
 	if ( ! apply_filters( 'load_default_widgets', true ) ) {
 		return;
 	}
+
 	require_once( ABSPATH . WPINC . '/default-widgets.php' );
+
 	add_action( '_admin_menu', 'wp_widgets_add_menu' );
 }
 
@@ -2910,6 +3066,7 @@ function wp_maybe_load_widgets() {
  * Append the Widgets menu to the themes main menu.
  *
  * @since 2.2.0
+ *
  * @uses $submenu The administration submenu list.
  */
 function wp_widgets_add_menu() {
@@ -2925,7 +3082,7 @@ function wp_widgets_add_menu() {
 /**
  * Flush all output buffers for PHP 5.2.
  *
- * Make sure all output buffers are flushed before our singletons our destroyed.
+ * Make sure all output buffers are flushed before our singletons are destroyed.
  *
  * @since 2.2.0
  */
@@ -2950,7 +3107,8 @@ function wp_ob_end_flush_all() {
  * in WordPress 2.5.0.
  *
  * @since 2.3.2
- * @uses $wpdb
+ *
+ * @global wpdb $wpdb WordPress database access abstraction object.
  */
 function dead_db() {
 	global $wpdb;
@@ -2988,54 +3146,19 @@ function dead_db() {
 }
 
 /**
- * Converts value to nonnegative integer.
+ * Convert a value to non-negative integer.
  *
  * @since 2.5.0
  *
- * @param mixed $maybeint Data you wish to have converted to a nonnegative integer
- * @return int An nonnegative integer
+ * @param mixed $maybeint Data you wish to have converted to a non-negative integer.
+ * @return int A non-negative integer.
  */
 function absint( $maybeint ) {
 	return abs( intval( $maybeint ) );
 }
 
 /**
- * Determines if the blog can be accessed over SSL.
- *
- * Determines if blog can be accessed over SSL by using cURL to access the site
- * using the https in the siteurl. Requires cURL extension to work correctly.
- *
- * @since 2.5.0
- *
- * @param string $url
- * @return bool Whether SSL access is available
- */
-function url_is_accessable_via_ssl($url)
-{
-	if ( in_array( 'curl', get_loaded_extensions() ) ) {
-		$ssl = set_url_scheme( $url, 'https' );
-
-		$ch = curl_init();
-		curl_setopt($ch, CURLOPT_URL, $ssl);
-		curl_setopt($ch, CURLOPT_FAILONERROR, true);
-		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
-		curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
-
-		curl_exec($ch);
-
-		$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
-		curl_close ($ch);
-
-		if ($status == 200 || $status == 401) {
-			return true;
-		}
-	}
-	return false;
-}
-
-/**
- * Marks a function as deprecated and informs when it has been used.
+ * Mark a function as deprecated and inform when it has been used.
  *
  * There is a hook deprecated_function_run that will be called that can be used
  * to get the backtrace up to what file and function called the deprecated
@@ -3048,9 +3171,9 @@ function url_is_accessable_via_ssl($url)
  * @since 2.5.0
  * @access private
  *
- * @param string $function The function that was called
- * @param string $version The version of WordPress that deprecated the function
- * @param string $replacement Optional. The function that should have been called
+ * @param string $function    The function that was called.
+ * @param string $version     The version of WordPress that deprecated the function.
+ * @param string $replacement Optional. The function that should have been called. Default null.
  */
 function _deprecated_function( $function, $version, $replacement = null ) {
 
@@ -3088,7 +3211,7 @@ function _deprecated_function( $function, $version, $replacement = null ) {
 }
 
 /**
- * Marks a file as deprecated and informs when it has been used.
+ * Mark a file as deprecated and inform when it has been used.
  *
  * There is a hook deprecated_file_included that will be called that can be used
  * to get the backtrace up to what file and function included the deprecated
@@ -3101,10 +3224,11 @@ function _deprecated_function( $function, $version, $replacement = null ) {
  * @since 2.5.0
  * @access private
  *
- * @param string $file The file that was included
- * @param string $version The version of WordPress that deprecated the file
- * @param string $replacement Optional. The file that should have been included based on ABSPATH
- * @param string $message Optional. A message regarding the change
+ * @param string $file        The file that was included.
+ * @param string $version     The version of WordPress that deprecated the file.
+ * @param string $replacement Optional. The file that should have been included based on ABSPATH.
+ *                            Default null.
+ * @param string $message     Optional. A message regarding the change. Default empty.
  */
 function _deprecated_file( $file, $version, $replacement = null, $message = '' ) {
 
@@ -3143,15 +3267,16 @@ function _deprecated_file( $file, $version, $replacement = null, $message = '' )
 	}
 }
 /**
- * Marks a function argument as deprecated and informs when it has been used.
+ * Mark a function argument as deprecated and inform when it has been used.
  *
  * This function is to be used whenever a deprecated function argument is used.
  * Before this function is called, the argument must be checked for whether it was
  * used by comparing it to its default value or evaluating whether it is empty.
  * For example:
  * <code>
- * if ( !empty($deprecated) )
+ * if ( ! empty( $deprecated ) ) {
  * 	_deprecated_argument( __FUNCTION__, '3.0' );
+ * }
  * </code>
  *
  * There is a hook deprecated_argument_run that will be called that can be used
@@ -3163,9 +3288,9 @@ function _deprecated_file( $file, $version, $replacement = null, $message = '' )
  * @since 3.0.0
  * @access private
  *
- * @param string $function The function that was called
- * @param string $version The version of WordPress that deprecated the argument used
- * @param string $message Optional. A message regarding the change.
+ * @param string $function The function that was called.
+ * @param string $version  The version of WordPress that deprecated the argument used.
+ * @param string $message  Optional. A message regarding the change. Default null.
  */
 function _deprecated_argument( $function, $version, $message = null ) {
 
@@ -3203,7 +3328,7 @@ function _deprecated_argument( $function, $version, $message = null ) {
 }
 
 /**
- * Marks something as being incorrectly called.
+ * Mark something as being incorrectly called.
  *
  * There is a hook doing_it_wrong_run that will be called that can be used
  * to get the backtrace up to what file and function called the deprecated
@@ -3215,8 +3340,8 @@ function _deprecated_argument( $function, $version, $message = null ) {
  * @access private
  *
  * @param string $function The function that was called.
- * @param string $message A message explaining what has been done incorrectly.
- * @param string $version The version of WordPress where the message was added.
+ * @param string $message  A message explaining what has been done incorrectly.
+ * @param string $version  The version of WordPress where the message was added.
  */
 function _doing_it_wrong( $function, $message, $version ) {
 
@@ -3256,7 +3381,7 @@ function _doing_it_wrong( $function, $message, $version ) {
  *
  * @since 2.5.0
  *
- * @return bool Whether the server is running lighttpd < 1.5.0
+ * @return bool Whether the server is running lighttpd < 1.5.0.
  */
 function is_lighttpd_before_150() {
 	$server_parts = explode( '/', isset( $_SERVER['SERVER_SOFTWARE'] )? $_SERVER['SERVER_SOFTWARE'] : '' );
@@ -3269,9 +3394,9 @@ function is_lighttpd_before_150() {
  *
  * @since 2.5.0
  *
- * @param string $mod e.g. mod_rewrite
- * @param bool $default The default return value if the module is not found
- * @return bool
+ * @param string $mod     The module, e.g. mod_rewrite.
+ * @param bool   $default Optional. The default return value if the module is not found. Default false.
+ * @return bool Whether the specified module is loaded.
  */
 function apache_mod_loaded($mod, $default = false) {
 	global $is_apache;
@@ -3279,11 +3404,11 @@ function apache_mod_loaded($mod, $default = false) {
 	if ( !$is_apache )
 		return false;
 
-	if ( function_exists('apache_get_modules') ) {
+	if ( function_exists( 'apache_get_modules' ) ) {
 		$mods = apache_get_modules();
 		if ( in_array($mod, $mods) )
 			return true;
-	} elseif ( function_exists('phpinfo') ) {
+	} elseif ( function_exists( 'phpinfo' ) && false === strpos( ini_get( 'disable_functions' ), 'phpinfo' ) ) {
 			ob_start();
 			phpinfo(8);
 			$phpinfo = ob_get_clean();
@@ -3298,7 +3423,7 @@ function apache_mod_loaded($mod, $default = false) {
  *
  * @since 2.8.0
  *
- * @return bool
+ * @return bool Whether IIS7 supports permalinks.
  */
 function iis7_supports_permalinks() {
 	global $is_iis7;
@@ -3381,19 +3506,13 @@ function is_ssl() {
  *
  * @since 2.6.0
  *
- * @param string|bool $force Optional.
+ * @see force_ssl_admin()
+ *
+ * @param string|bool $force Optional Whether to force SSL login. Default null.
  * @return bool True if forced, false if not forced.
  */
 function force_ssl_login( $force = null ) {
-	static $forced = false;
-
-	if ( !is_null( $force ) ) {
-		$old_forced = $forced;
-		$forced = $force;
-		return $old_forced;
-	}
-
-	return $forced;
+	return force_ssl_admin( $force );
 }
 
 /**
@@ -3401,7 +3520,7 @@ function force_ssl_login( $force = null ) {
  *
  * @since 2.6.0
  *
- * @param string|bool $force
+ * @param string|bool $force Optional. Whether to force SSL in admin screens. Default null.
  * @return bool True if forced, false if not forced.
  */
 function force_ssl_admin( $force = null ) {
@@ -3424,7 +3543,7 @@ function force_ssl_admin( $force = null ) {
  *
  * @since 2.6.0
  *
- * @return string
+ * @return string The guessed URL.
  */
 function wp_guess_url() {
 	if ( defined('WP_SITEURL') && '' != WP_SITEURL ) {
@@ -3492,16 +3611,16 @@ function wp_suspend_cache_addition( $suspend = null ) {
 /**
  * Suspend cache invalidation.
  *
- * Turns cache invalidation on and off. Useful during imports where you don't wont to do invalidations
- * every time a post is inserted. Callers must be sure that what they are doing won't lead to an inconsistent
- * cache when invalidation is suspended.
+ * Turns cache invalidation on and off. Useful during imports where you don't wont to do
+ * invalidations every time a post is inserted. Callers must be sure that what they are
+ * doing won't lead to an inconsistent cache when invalidation is suspended.
  *
  * @since 2.7.0
  *
- * @param bool $suspend Whether to suspend or enable cache invalidation
- * @return bool The current suspend setting
+ * @param bool $suspend Optional. Whether to suspend or enable cache invalidation. Default true.
+ * @return bool The current suspend setting.
  */
-function wp_suspend_cache_invalidation($suspend = true) {
+function wp_suspend_cache_invalidation( $suspend = true ) {
 	global $_wp_suspend_cache_invalidation;
 
 	$current_suspend = $_wp_suspend_cache_invalidation;
@@ -3510,12 +3629,14 @@ function wp_suspend_cache_invalidation($suspend = true) {
 }
 
 /**
- * Whether a site is the main site of the current network.
+ * Determine whether a site is the main site of the current network.
  *
  * @since 3.0.0
  *
  * @param int $site_id Optional. Site ID to test. Defaults to current site.
- * @return bool True if $site_id is the main site of the network, or if not running multisite.
+ *                     Defaults to current site.
+ * @return bool True if $site_id is the main site of the network, or if not
+ *              running Multisite.
  */
 function is_main_site( $site_id = null ) {
 	// This is the current network's information; 'site' is old terminology.
@@ -3531,12 +3652,12 @@ function is_main_site( $site_id = null ) {
 }
 
 /**
- * Whether a network is the main network of the multisite install.
+ * Determine whether a network is the main network of the Multisite install.
  *
  * @since 3.7.0
  *
  * @param int $network_id Optional. Network ID to test. Defaults to current network.
- * @return bool True if $network_id is the main network, or if not running multisite.
+ * @return bool True if $network_id is the main network, or if not running Multisite.
  */
 function is_main_network( $network_id = null ) {
 	global $wpdb;
@@ -3568,12 +3689,11 @@ function is_main_network( $network_id = null ) {
 }
 
 /**
- * Whether global terms are enabled.
- *
+ * Determine whether global terms are enabled.
  *
  * @since 3.0.0
  *
- * @return bool True if multisite and global terms enabled
+ * @return bool True if multisite and global terms enabled.
  */
 function global_terms_enabled() {
 	if ( ! is_multisite() )
@@ -3608,7 +3728,7 @@ function global_terms_enabled() {
  *
  * @since 2.8.0
  *
- * @return float|bool
+ * @return float|bool Timezone GMT offset, false otherwise.
  */
 function wp_timezone_override_offset() {
 	if ( !$timezone_string = get_option( 'timezone_string' ) ) {
@@ -3627,6 +3747,7 @@ function wp_timezone_override_offset() {
  * Sort-helper for timezones.
  *
  * @since 2.9.0
+ * @access private
  *
  * @param array $a
  * @param array $b
@@ -3671,11 +3792,11 @@ function _wp_timezone_choice_usort_callback( $a, $b ) {
 }
 
 /**
- * Gives a nicely formatted list of timezone strings.
+ * Gives a nicely-formatted list of timezone strings.
  *
  * @since 2.9.0
  *
- * @param string $selected_zone Selected Zone
+ * @param string $selected_zone Selected timezone.
  * @return string
  */
 function wp_timezone_choice( $selected_zone ) {
@@ -3801,19 +3922,22 @@ function wp_timezone_choice( $selected_zone ) {
 
 /**
  * Strip close comment and close php tags from file headers used by WP.
- * See http://core.trac.wordpress.org/ticket/8497
  *
  * @since 2.8.0
+ * @access private
+ *
+ * @see http://core.trac.wordpress.org/ticket/8497
  *
- * @param string $str
+ * @param string $str Header comment to clean up.
  * @return string
  */
-function _cleanup_header_comment($str) {
+function _cleanup_header_comment( $str ) {
 	return trim(preg_replace("/\s*(?:\*\/|\?>).*/", '', $str));
 }
 
 /**
- * Permanently deletes posts, pages, attachments, and comments which have been in the trash for EMPTY_TRASH_DAYS.
+ * Permanently delete posts, pages, attachments, and comments which have been
+ * in the trash for EMPTY_TRASH_DAYS.
  *
  * @since 2.9.0
  */
@@ -3870,9 +3994,10 @@ function wp_scheduled_delete() {
  * @see http://codex.wordpress.org/File_Header
  *
  * @since 2.9.0
- * @param string $file Path to the file
- * @param array $default_headers List of headers, in the format array('HeaderKey' => 'Header Name')
- * @param string $context If specified adds filter hook "extra_{$context}_headers"
+ * @param string $file            Path to the file.
+ * @param array  $default_headers List of headers, in the format array('HeaderKey' => 'Header Name').
+ * @param string $context         Optional. If specified adds filter hook "extra_{$context}_headers".
+ *                                Default empty.
  */
 function get_file_data( $file, $default_headers, $context = '' ) {
 	// We don't need to write to the file, so just open for reading.
@@ -3920,8 +4045,10 @@ function get_file_data( $file, $default_headers, $context = '' ) {
  * Useful for returning true to filters easily.
  *
  * @since 3.0.0
+ *
  * @see __return_false()
- * @return bool true
+ *
+ * @return bool True.
  */
 function __return_true() {
 	return true;
@@ -3933,8 +4060,10 @@ function __return_true() {
  * Useful for returning false to filters easily.
  *
  * @since 3.0.0
+ *
  * @see __return_true()
- * @return bool false
+ *
+ * @return bool False.
  */
 function __return_false() {
 	return false;
@@ -3946,7 +4075,8 @@ function __return_false() {
  * Useful for returning 0 to filters easily.
  *
  * @since 3.0.0
- * @return int 0
+ *
+ * @return int 0.
  */
 function __return_zero() {
 	return 0;
@@ -3958,7 +4088,8 @@ function __return_zero() {
  * Useful for returning an empty array to filters easily.
  *
  * @since 3.0.0
- * @return array Empty array
+ *
+ * @return array Empty array.
  */
 function __return_empty_array() {
 	return array();
@@ -3970,7 +4101,8 @@ function __return_empty_array() {
  * Useful for returning null to filters easily.
  *
  * @since 3.4.0
- * @return null
+ *
+ * @return null Null value.
  */
 function __return_null() {
 	return null;
@@ -3982,8 +4114,10 @@ function __return_null() {
  * Useful for returning an empty string to filters easily.
  *
  * @since 3.7.0
+ *
  * @see __return_null()
- * @return string Empty string
+ *
+ * @return string Empty string.
  */
 function __return_empty_string() {
 	return '';
@@ -3992,29 +4126,26 @@ function __return_empty_string() {
 /**
  * Send a HTTP header to disable content type sniffing in browsers which support it.
  *
- * @link http://blogs.msdn.com/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx
- * @link http://src.chromium.org/viewvc/chrome?view=rev&revision=6985
- *
  * @since 3.0.0
- * @return none
+ *
+ * @see http://blogs.msdn.com/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx
+ * @see http://src.chromium.org/viewvc/chrome?view=rev&revision=6985
  */
 function send_nosniff_header() {
 	@header( 'X-Content-Type-Options: nosniff' );
 }
 
 /**
- * Returns a MySQL expression for selecting the week number based on the start_of_week option.
+ * Return a MySQL expression for selecting the week number based on the start_of_week option.
  *
  * @internal
  * @since 3.0.0
- * @param string $column
- * @return string
+ *
+ * @param string $column Database column.
+ * @return string SQL clause.
  */
 function _wp_mysql_week( $column ) {
 	switch ( $start_of_week = (int) get_option( 'start_of_week' ) ) {
-	default :
-	case 0 :
-		return "WEEK( $column, 0 )";
 	case 1 :
 		return "WEEK( $column, 1 )";
 	case 2 :
@@ -4023,20 +4154,24 @@ function _wp_mysql_week( $column ) {
 	case 5 :
 	case 6 :
 		return "WEEK( DATE_SUB( $column, INTERVAL $start_of_week DAY ), 0 )";
+	case 0 :
+	default :
+		return "WEEK( $column, 0 )";
 	}
 }
 
 /**
- * Finds hierarchy loops using a callback function that maps object IDs to parent IDs.
+ * Find hierarchy loops using a callback function that maps object IDs to parent IDs.
  *
  * @since 3.1.0
  * @access private
  *
- * @param callback $callback function that accepts ( ID, $callback_args ) and outputs parent_ID
- * @param int $start The ID to start the loop check at
- * @param int $start_parent the parent_ID of $start to use instead of calling $callback( $start ). Use null to always use $callback
- * @param array $callback_args optional additional arguments to send to $callback
- * @return array IDs of all members of loop
+ * @param callback $callback      Function that accepts ( ID, $callback_args ) and outputs parent_ID.
+ * @param int      $start         The ID to start the loop check at.
+ * @param int      $start_parent  The parent_ID of $start to use instead of calling $callback( $start ).
+ *                                Use null to always use $callback
+ * @param array    $callback_args Optional. Additional arguments to send to $callback.
+ * @return array IDs of all members of loop.
  */
 function wp_find_hierarchy_loop( $callback, $start, $start_parent, $callback_args = array() ) {
 	$override = is_null( $start_parent ) ? array() : array( $start => $start_parent );
@@ -4048,7 +4183,7 @@ function wp_find_hierarchy_loop( $callback, $start, $start_parent, $callback_arg
 }
 
 /**
- * Uses the "The Tortoise and the Hare" algorithm to detect loops.
+ * Use the "The Tortoise and the Hare" algorithm to detect loops.
  *
  * For every step of the algorithm, the hare takes two steps and the tortoise one.
  * If the hare ever laps the tortoise, there must be a loop.
@@ -4056,14 +4191,16 @@ function wp_find_hierarchy_loop( $callback, $start, $start_parent, $callback_arg
  * @since 3.1.0
  * @access private
  *
- * @param callback $callback function that accepts ( ID, callback_arg, ... ) and outputs parent_ID
- * @param int $start The ID to start the loop check at
- * @param array $override an array of ( ID => parent_ID, ... ) to use instead of $callback
- * @param array $callback_args optional additional arguments to send to $callback
- * @param bool $_return_loop Return loop members or just detect presence of loop?
- *             Only set to true if you already know the given $start is part of a loop
- *             (otherwise the returned array might include branches)
- * @return mixed scalar ID of some arbitrary member of the loop, or array of IDs of all members of loop if $_return_loop
+ * @param callback $callback      Function that accepts ( ID, callback_arg, ... ) and outputs parent_ID.
+ * @param int      $start         The ID to start the loop check at.
+ * @param array    $override      Optional. An array of ( ID => parent_ID, ... ) to use instead of $callback.
+ *                                Default empty array.
+ * @param array    $callback_args Optional. Additional arguments to send to $callback. Default empty array.
+ * @param bool     $_return_loop  Optional. Return loop members or just detect presence of loop? Only set
+ *                                to true if you already know the given $start is part of a loop (otherwise
+ *                                the returned array might include branches). Default false.
+ * @return mixed Scalar ID of some arbitrary member of the loop, or array of IDs of all members of loop if
+ *               $_return_loop
  */
 function wp_find_hierarchy_loop_tortoise_hare( $callback, $start, $override = array(), $callback_args = array(), $_return_loop = false ) {
 	$tortoise = $hare = $evanescent_hare = $start;
@@ -4095,10 +4232,9 @@ function wp_find_hierarchy_loop_tortoise_hare( $callback, $start, $override = ar
 /**
  * Send a HTTP header to limit rendering of pages to same origin iframes.
  *
- * @link https://developer.mozilla.org/en/the_x-frame-options_response_header
- *
  * @since 3.1.3
- * @return none
+ *
+ * @see https://developer.mozilla.org/en/the_x-frame-options_response_header
  */
 function send_frame_options_header() {
 	@header( 'X-Frame-Options: SAMEORIGIN' );
@@ -4108,10 +4244,11 @@ function send_frame_options_header() {
  * Retrieve a list of protocols to allow in HTML attributes.
  *
  * @since 3.3.0
+ *
  * @see wp_kses()
  * @see esc_url()
  *
- * @return array Array of allowed protocols
+ * @return array Array of allowed protocols.
  */
 function wp_allowed_protocols() {
 	static $protocols;
@@ -4121,8 +4258,8 @@ function wp_allowed_protocols() {
 
 		/**
 		 * Filter the list of protocols allowed in HTML attributes.
-		 * 
-		 * @since 3.0.0 
+		 *
+		 * @since 3.0.0
 		 *
 		 * @param array $protocols Array of allowed protocols e.g. 'http', 'ftp', 'tel', and more.
 		 */
@@ -4133,15 +4270,21 @@ function wp_allowed_protocols() {
 }
 
 /**
- * Return a comma separated string of functions that have been called to get to the current point in code.
+ * Return a comma-separated string of functions that have been called to get
+ * to the current point in code.
  *
- * @link http://core.trac.wordpress.org/ticket/19589
  * @since 3.4.0
  *
- * @param string $ignore_class A class to ignore all function calls within - useful when you want to just give info about the callee
- * @param int $skip_frames A number of stack frames to skip - useful for unwinding back to the source of the issue
- * @param bool $pretty Whether or not you want a comma separated string or raw array returned
- * @return string|array Either a string containing a reversed comma separated trace or an array of individual calls.
+ * @see http://core.trac.wordpress.org/ticket/19589
+ *
+ * @param string $ignore_class Optional. A class to ignore all function calls within - useful
+ *                             when you want to just give info about the callee. Default null.
+ * @param int    $skip_frames  Optional. A number of stack frames to skip - useful for unwinding
+ *                             back to the source of the issue. Default 0.
+ * @param bool   $pretty       Optional. Whether or not you want a comma separated string or raw
+ *                             array returned. Default true.
+ * @return string|array Either a string containing a reversed comma separated trace or an array
+ *                      of individual calls.
  */
 function wp_debug_backtrace_summary( $ignore_class = null, $skip_frames = 0, $pretty = true ) {
 	if ( version_compare( PHP_VERSION, '5.2.5', '>=' ) )
@@ -4178,14 +4321,15 @@ function wp_debug_backtrace_summary( $ignore_class = null, $skip_frames = 0, $pr
 }
 
 /**
- * Retrieve ids that are not already present in the cache
+ * Retrieve ids that are not already present in the cache.
  *
  * @since 3.4.0
+ * @access private
  *
- * @param array $object_ids ID list
- * @param string $cache_key The cache bucket to check against
+ * @param array  $object_ids ID list.
+ * @param string $cache_key  The cache bucket to check against.
  *
- * @return array
+ * @return array List of ids not present in the cache.
  */
 function _get_non_cached_ids( $object_ids, $cache_key ) {
 	$clean = array();
@@ -4205,7 +4349,7 @@ function _get_non_cached_ids( $object_ids, $cache_key ) {
  * @since 3.4.0
  * @access private
  *
- * @return bool true|false
+ * @return bool true|false Whether the device is able to upload files.
  */
 function _device_can_upload() {
 	if ( ! wp_is_mobile() )
@@ -4225,8 +4369,8 @@ function _device_can_upload() {
 /**
  * Test if a given path is a stream URL
  *
- * @param string $path The resource path or URL
- * @return bool True if the path is a stream URL
+ * @param string $path The resource path or URL.
+ * @return bool True if the path is a stream URL.
  */
 function wp_is_stream( $path ) {
 	$wrappers = stream_get_wrappers();
@@ -4236,11 +4380,17 @@ function wp_is_stream( $path ) {
 }
 
 /**
- * Test if the supplied date is valid for the Gregorian calendar
+ * Test if the supplied date is valid for the Gregorian calendar.
  *
  * @since 3.5.0
  *
- * @return bool true|false
+ * @see checkdate()
+ *
+ * @param  int    $month       Month number.
+ * @param  int    $day         Day number.
+ * @param  int    $year        Year number.
+ * @param  string $source_date The date to filter.
+ * @return bool True if valid date, false if not valid date.
  */
 function wp_checkdate( $month, $day, $year, $source_date ) {
 	/**
@@ -4279,6 +4429,9 @@ function wp_auth_check_load() {
 	/**
 	 * Filter whether to load the authentication check.
 	 *
+	 * Passing a falsey value to the filter will effectively short-circuit
+	 * loading the authentication check.
+	 *
 	 * @since 3.6.0
 	 *
 	 * @param bool      $show   Whether to load the authentication check.
@@ -4303,9 +4456,6 @@ function wp_auth_check_html() {
 	$current_domain = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'];
 	$same_domain = ( strpos( $login_url, $current_domain ) === 0 );
 
-	if ( $same_domain && force_ssl_login() && ! force_ssl_admin() )
-		$same_domain = false;
-
 	/**
 	 * Filter whether the authentication check originated at the same domain.
 	 *
@@ -4347,6 +4497,10 @@ function wp_auth_check_html() {
  * or if their cookie is within the grace period.
  *
  * @since 3.6.0
+ *
+ * @param array|object $response  The Heartbeat response object or array.
+ * @return array|object $response The Heartbeat response object or array with 'wp-auth-check'
+ *                                value set.
  */
 function wp_auth_check( $response ) {
 	$response['wp-auth-check'] = is_user_logged_in() && empty( $GLOBALS['login_grace_period'] );
@@ -4354,17 +4508,20 @@ function wp_auth_check( $response ) {
 }
 
 /**
- * Return RegEx body to liberally match an opening HTML tag that:
+ * Return RegEx body to liberally match an opening HTML tag.
+ *
+ * Matches an opening HTML tag that:
  * 1. Is self-closing or
  * 2. Has no body but has a closing tag of the same name or
  * 3. Contains a body and a closing tag of the same name
  *
- * Note: this RegEx does not balance inner tags and does not attempt to produce valid HTML
+ * Note: this RegEx does not balance inner tags and does not attempt
+ * to produce valid HTML
  *
  * @since 3.6.0
  *
- * @param string $tag An HTML tag name. Example: 'video'
- * @return string
+ * @param string $tag An HTML tag name. Example: 'video'.
+ * @return string Tag RegEx.
  */
 function get_tag_regex( $tag ) {
 	if ( empty( $tag ) )
@@ -4373,14 +4530,16 @@ function get_tag_regex( $tag ) {
 }
 
 /**
- * Return a canonical form of the provided charset appropriate for passing to PHP
+ * Retrieve a canonical form of the provided charset appropriate for passing to PHP
  * functions such as htmlspecialchars() and charset html attributes.
  *
- * @link http://core.trac.wordpress.org/ticket/23688
  * @since 3.6.0
+ * @access private
+ *
+ * @see http://core.trac.wordpress.org/ticket/23688
  *
- * @param string A charset name
- * @return string The canonical form of the charset
+ * @param string $charset A charset name.
+ * @return string The canonical form of the charset.
  */
 function _canonical_charset( $charset ) {
 	if ( 'UTF-8' === $charset || 'utf-8' === $charset || 'utf8' === $charset ||
@@ -4395,22 +4554,27 @@ function _canonical_charset( $charset ) {
 }
 
 /**
- * Sets the mbstring internal encoding to a binary safe encoding whne func_overload is enabled.
- *
- * When mbstring.func_overload is in use for multi-byte encodings, the results from strlen() and
- * similar functions respect the utf8 characters, causing binary data to return incorrect lengths.
+ * Set the mbstring internal encoding to a binary safe encoding when func_overload
+ * is enabled.
  *
- * This function overrides the mbstring encoding to a binary-safe encoding, and resets it to the
- * users expected encoding afterwards through the `reset_mbstring_encoding` function.
+ * When mbstring.func_overload is in use for multi-byte encodings, the results from
+ * strlen() and similar functions respect the utf8 characters, causing binary data
+ * to return incorrect lengths.
  *
- * It is safe to recursively call this function, however each `mbstring_binary_safe_encoding()`
- * call must be followed up with an equal number of `reset_mbstring_encoding()` calls.
+ * This function overrides the mbstring encoding to a binary-safe encoding, and
+ * resets it to the users expected encoding afterwards through the
+ * `reset_mbstring_encoding` function.
  *
- * @see reset_mbstring_encoding()
+ * It is safe to recursively call this function, however each
+ * `mbstring_binary_safe_encoding()` call must be followed up with an equal number
+ * of `reset_mbstring_encoding()` calls.
  *
  * @since 3.7.0
  *
- * @param bool $reset Whether to reset the encoding back to a previously-set encoding.
+ * @see reset_mbstring_encoding()
+ *
+ * @param bool $reset Optional. Whether to reset the encoding back to a previously-set encoding.
+ *                    Default false.
  */
 function mbstring_binary_safe_encoding( $reset = false ) {
 	static $encodings = array();
@@ -4435,7 +4599,7 @@ function mbstring_binary_safe_encoding( $reset = false ) {
 }
 
 /**
- * Resets the mbstring internal encoding to a users previously set encoding.
+ * Reset the mbstring internal encoding to a users previously set encoding.
  *
  * @see mbstring_binary_safe_encoding()
  *
@@ -4444,3 +4608,23 @@ function mbstring_binary_safe_encoding( $reset = false ) {
 function reset_mbstring_encoding() {
 	mbstring_binary_safe_encoding( true );
 }
+
+/**
+ * Alternative to filter_var( $var, FILTER_VALIDATE_BOOLEAN ).
+ *
+ * @since 4.0.0
+ *
+ * @param mixed $var Boolean value to validate.
+ * @return bool Whether the value is validated.
+ */
+function wp_validate_boolean( $var ) {
+	if ( is_bool( $var ) ) {
+		return $var;
+	}
+
+	if ( 'false' === $var ) {
+		return false;
+	}
+
+	return (bool) $var;
+}
diff --git a/wp-includes/general-template.php b/wp-includes/general-template.php
index f4d6f37d6..61665ad5a 100644
--- a/wp-includes/general-template.php
+++ b/wp-includes/general-template.php
@@ -544,21 +544,22 @@ function wp_register( $before = '<li>', $after = '</li>', $echo = true ) {
 		$link = $before . '<a href="' . admin_url() . '">' . __('Site Admin') . '</a>' . $after;
 	}
 
+	/**
+	 * Filter the HTML link to the Registration or Admin page.
+	 *
+	 * Users are sent to the admin page if logged-in, or the registration page
+	 * if enabled and logged-out.
+	 *
+	 * @since 1.5.0
+	 *
+	 * @param string $link The HTML code for the link to the Registration or Admin page.
+	 */
+	$link = apply_filters( 'register', $link );
+
 	if ( $echo ) {
-		/**
-		 * Filter the HTML link to the Registration or Admin page.
-		 *
-		 * Users are sent to the admin page if logged-in, or the registration page
-		 * if enabled and logged-out.
-		 *
-		 * @since 1.5.0
-		 *
-		 * @param string $link The HTML code for the link to the Registration or Admin page.
-		 */
-		echo apply_filters( 'register', $link );
+		echo $link;
 	} else {
-		/** This filter is documented in wp-includes/general-template.php */
-		return apply_filters( 'register', $link );
+		return $link;
 	}
 }
 
@@ -752,7 +753,7 @@ function get_bloginfo( $show = '', $filter = 'raw' ) {
  * @return string|null String on retrieve, null when displaying.
  */
 function wp_title($sep = '&raquo;', $display = true, $seplocation = '') {
-	global $wpdb, $wp_locale;
+	global $wp_locale;
 
 	$m = get_query_var('m');
 	$year = get_query_var('year');
@@ -793,7 +794,7 @@ function wp_title($sep = '&raquo;', $display = true, $seplocation = '') {
 	}
 
 	// If there's an author
-	if ( is_author() ) {
+	if ( is_author() && ! is_post_type_archive() ) {
 		$author = get_queried_object();
 		if ( $author )
 			$title = $author->display_name;
@@ -835,13 +836,20 @@ function wp_title($sep = '&raquo;', $display = true, $seplocation = '') {
 	if ( !empty($title) )
 		$prefix = " $sep ";
 
+	/**
+	 * Filter the parts of the page title.
+	 *
+	 * @since 4.0.0
+	 *
+	 * @param array $title_array Parts of the page title.
+	 */
+	$title_array = apply_filters( 'wp_title_parts', explode( $t_sep, $title ) );
+
  	// Determines position of the separator and direction of the breadcrumb
 	if ( 'right' == $seplocation ) { // sep on right, so reverse the order
-		$title_array = explode( $t_sep, $title );
 		$title_array = array_reverse( $title_array );
 		$title = implode( " $sep ", $title_array ) . $prefix;
 	} else {
-		$title_array = explode( $t_sep, $title );
 		$title = $prefix . implode( " $sep ", $title_array );
 	}
 
@@ -1148,31 +1156,34 @@ function get_archives_link($url, $text, $format = 'html', $before = '', $after =
 /**
  * Display archive links based on type and format.
  *
- * The 'type' argument offers a few choices and by default will display monthly
- * archive links. The other options for values are 'daily', 'weekly', 'monthly',
- * 'yearly', 'postbypost' or 'alpha'. Both 'postbypost' and 'alpha' display the
- * same archive link list, the difference between the two is that 'alpha'
- * will order by post title and 'postbypost' will order by post date.
- *
- * The date archives will logically display dates with links to the archive post
- * page. The 'postbypost' and 'alpha' values for 'type' argument will display
- * the post titles.
- *
- * The 'limit' argument will only display a limited amount of links, specified
- * by the 'limit' integer value. By default, there is no limit. The
- * 'show_post_count' argument will show how many posts are within the archive.
- * By default, the 'show_post_count' argument is set to false.
- *
- * For the 'format', 'before', and 'after' arguments, see {@link
- * get_archives_link()}. The values of these arguments have to do with that
- * function.
- *
  * @since 1.2.0
  *
- * @param string|array $args Optional. Override defaults.
+ * @see get_archives_link()
+ *
+ * @param string|array $args {
+ *     Default archive links arguments. Optional.
+ *
+ *     @type string     $type            Type of archive to retrieve. Accepts 'daily', 'weekly', 'monthly',
+ *                                       'yearly', 'postbypost', or 'alpha'. Both 'postbypost' and 'alpha'
+ *                                       display the same archive link list as well as post titles instead
+ *                                       of displaying dates. The difference between the two is that 'alpha'
+ *                                       will order by post title and 'postbypost' will order by post date.
+ *                                       Default 'monthly'.
+ *     @type string|int $limit           Number of links to limit the query to. Default empty (no limit).
+ *     @type string     $format          Format each link should take using the $before and $after args.
+ *                                       Accepts 'link' (`<link>` tag), 'option' (`<option>` tag), 'html'
+ *                                       (`<li>` tag), or a custom format, which generates a link anchor
+ *                                       with $before preceding and $after succeeding. Default 'html'.
+ *     @type string     $before          Markup to prepend to the beginning of each link. Default empty.
+ *     @type string     $after           Markup to append to the end of each link. Default empty.
+ *     @type bool       $show_post_count Whether to display the post count alongside the link. Default false.
+ *     @type bool       $echo            Whether to echo or return the links list. Default 1|true to echo.
+ *     @type string     $order           Whether to use ascending or descending order. Accepts 'ASC', or 'DESC'.
+ *                                       Default 'DESC'.
+ * }
  * @return string|null String when retrieving, null when displaying.
  */
-function wp_get_archives($args = '') {
+function wp_get_archives( $args = '' ) {
 	global $wpdb, $wp_locale;
 
 	$defaults = array(
@@ -1183,19 +1194,20 @@ function wp_get_archives($args = '') {
 	);
 
 	$r = wp_parse_args( $args, $defaults );
-	extract( $r, EXTR_SKIP );
 
-	if ( '' == $type )
-		$type = 'monthly';
+	if ( '' == $r['type'] ) {
+		$r['type'] = 'monthly';
+	}
 
-	if ( '' != $limit ) {
-		$limit = absint($limit);
-		$limit = ' LIMIT '.$limit;
+	if ( ! empty( $r['limit'] ) ) {
+		$r['limit'] = absint( $r['limit'] );
+		$r['limit'] = ' LIMIT ' . $r['limit'];
 	}
 
-	$order = strtoupper( $order );
-	if ( $order !== 'ASC' )
+	$order = strtoupper( $r['order'] );
+	if ( $order !== 'ASC' ) {
 		$order = 'DESC';
+	}
 
 	// this is what will separate dates on weekly archive links
 	$archive_week_separator = '&#8211;';
@@ -1210,10 +1222,10 @@ function wp_get_archives($args = '') {
 	$archive_week_start_date_format = 'Y/m/d';
 	$archive_week_end_date_format	= 'Y/m/d';
 
-	if ( !$archive_date_format_over_ride ) {
-		$archive_day_date_format = get_option('date_format');
-		$archive_week_start_date_format = get_option('date_format');
-		$archive_week_end_date_format = get_option('date_format');
+	if ( ! $archive_date_format_over_ride ) {
+		$archive_day_date_format = get_option( 'date_format' );
+		$archive_week_start_date_format = get_option( 'date_format' );
+		$archive_week_end_date_format = get_option( 'date_format' );
 	}
 
 	/**
@@ -1244,7 +1256,9 @@ function wp_get_archives($args = '') {
 		wp_cache_set( 'last_changed', $last_changed, 'posts' );
 	}
 
-	if ( 'monthly' == $type ) {
+	$limit = $r['limit'];
+
+	if ( 'monthly' == $r['type'] ) {
 		$query = "SELECT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, count(ID) as posts FROM $wpdb->posts $join $where GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date $order $limit";
 		$key = md5( $query );
 		$key = "wp_get_archives:$key:$last_changed";
@@ -1253,17 +1267,18 @@ function wp_get_archives($args = '') {
 			wp_cache_set( $key, $results, 'posts' );
 		}
 		if ( $results ) {
-			$afterafter = $after;
+			$after = $r['after'];
 			foreach ( (array) $results as $result ) {
 				$url = get_month_link( $result->year, $result->month );
 				/* translators: 1: month name, 2: 4-digit year */
-				$text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($result->month), $result->year);
-				if ( $show_post_count )
-					$after = '&nbsp;('.$result->posts.')' . $afterafter;
-				$output .= get_archives_link($url, $text, $format, $before, $after);
+				$text = sprintf( __( '%1$s %2$d' ), $wp_locale->get_month( $result->month ), $result->year );
+				if ( $r['show_post_count'] ) {
+					$r['after'] = '&nbsp;(' . $result->posts . ')' . $after;
+				}
+				$output .= get_archives_link( $url, $text, $r['format'], $r['before'], $r['after'] );
 			}
 		}
-	} elseif ('yearly' == $type) {
+	} elseif ( 'yearly' == $r['type'] ) {
 		$query = "SELECT YEAR(post_date) AS `year`, count(ID) as posts FROM $wpdb->posts $join $where GROUP BY YEAR(post_date) ORDER BY post_date $order $limit";
 		$key = md5( $query );
 		$key = "wp_get_archives:$key:$last_changed";
@@ -1272,16 +1287,17 @@ function wp_get_archives($args = '') {
 			wp_cache_set( $key, $results, 'posts' );
 		}
 		if ( $results ) {
-			$afterafter = $after;
+			$after = $r['after'];
 			foreach ( (array) $results as $result) {
-				$url = get_year_link($result->year);
-				$text = sprintf('%d', $result->year);
-				if ($show_post_count)
-					$after = '&nbsp;('.$result->posts.')' . $afterafter;
-				$output .= get_archives_link($url, $text, $format, $before, $after);
+				$url = get_year_link( $result->year );
+				$text = sprintf( '%d', $result->year );
+				if ( $r['show_post_count'] ) {
+					$r['after'] = '&nbsp;(' . $result->posts . ')' . $after;
+				}
+				$output .= get_archives_link( $url, $text, $r['format'], $r['before'], $r['after'] );
 			}
 		}
-	} elseif ( 'daily' == $type ) {
+	} elseif ( 'daily' == $r['type'] ) {
 		$query = "SELECT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, DAYOFMONTH(post_date) AS `dayofmonth`, count(ID) as posts FROM $wpdb->posts $join $where GROUP BY YEAR(post_date), MONTH(post_date), DAYOFMONTH(post_date) ORDER BY post_date $order $limit";
 		$key = md5( $query );
 		$key = "wp_get_archives:$key:$last_changed";
@@ -1291,17 +1307,18 @@ function wp_get_archives($args = '') {
 			wp_cache_set( $key, $results, 'posts' );
 		}
 		if ( $results ) {
-			$afterafter = $after;
+			$after = $r['after'];
 			foreach ( (array) $results as $result ) {
-				$url	= get_day_link($result->year, $result->month, $result->dayofmonth);
-				$date = sprintf('%1$d-%2$02d-%3$02d 00:00:00', $result->year, $result->month, $result->dayofmonth);
-				$text = mysql2date($archive_day_date_format, $date);
-				if ($show_post_count)
-					$after = '&nbsp;('.$result->posts.')'.$afterafter;
-				$output .= get_archives_link($url, $text, $format, $before, $after);
+				$url  = get_day_link( $result->year, $result->month, $result->dayofmonth );
+				$date = sprintf( '%1$d-%2$02d-%3$02d 00:00:00', $result->year, $result->month, $result->dayofmonth );
+				$text = mysql2date( $archive_day_date_format, $date );
+				if ( $r['show_post_count'] ) {
+					$r['after'] = '&nbsp;(' . $result->posts . ')' . $after;
+				}
+				$output .= get_archives_link( $url, $text, $r['format'], $r['before'], $r['after'] );
 			}
 		}
-	} elseif ( 'weekly' == $type ) {
+	} elseif ( 'weekly' == $r['type'] ) {
 		$week = _wp_mysql_week( '`post_date`' );
 		$query = "SELECT DISTINCT $week AS `week`, YEAR( `post_date` ) AS `yr`, DATE_FORMAT( `post_date`, '%Y-%m-%d' ) AS `yyyymmdd`, count( `ID` ) AS `posts` FROM `$wpdb->posts` $join $where GROUP BY $week, YEAR( `post_date` ) ORDER BY `post_date` $order $limit";
 		$key = md5( $query );
@@ -1311,25 +1328,26 @@ function wp_get_archives($args = '') {
 			wp_cache_set( $key, $results, 'posts' );
 		}
 		$arc_w_last = '';
-		$afterafter = $after;
 		if ( $results ) {
-				foreach ( (array) $results as $result ) {
-					if ( $result->week != $arc_w_last ) {
-						$arc_year = $result->yr;
-						$arc_w_last = $result->week;
-						$arc_week = get_weekstartend($result->yyyymmdd, get_option('start_of_week'));
-						$arc_week_start = date_i18n($archive_week_start_date_format, $arc_week['start']);
-						$arc_week_end = date_i18n($archive_week_end_date_format, $arc_week['end']);
-						$url  = sprintf('%1$s/%2$s%3$sm%4$s%5$s%6$sw%7$s%8$d', home_url(), '', '?', '=', $arc_year, '&amp;', '=', $result->week);
-						$text = $arc_week_start . $archive_week_separator . $arc_week_end;
-						if ($show_post_count)
-							$after = '&nbsp;('.$result->posts.')'.$afterafter;
-						$output .= get_archives_link($url, $text, $format, $before, $after);
+			$after = $r['after'];
+			foreach ( (array) $results as $result ) {
+				if ( $result->week != $arc_w_last ) {
+					$arc_year       = $result->yr;
+					$arc_w_last     = $result->week;
+					$arc_week       = get_weekstartend( $result->yyyymmdd, get_option( 'start_of_week' ) );
+					$arc_week_start = date_i18n( $archive_week_start_date_format, $arc_week['start'] );
+					$arc_week_end   = date_i18n( $archive_week_end_date_format, $arc_week['end'] );
+					$url            = sprintf( '%1$s/%2$s%3$sm%4$s%5$s%6$sw%7$s%8$d', home_url(), '', '?', '=', $arc_year, '&amp;', '=', $result->week );
+					$text           = $arc_week_start . $archive_week_separator . $arc_week_end;
+					if ( $r['show_post_count'] ) {
+						$r['after'] = '&nbsp;(' . $result->posts . ')' . $after;
 					}
+					$output .= get_archives_link( $url, $text, $r['format'], $r['before'], $r['after'] );
 				}
+			}
 		}
-	} elseif ( ( 'postbypost' == $type ) || ('alpha' == $type) ) {
-		$orderby = ('alpha' == $type) ? 'post_title ASC ' : 'post_date DESC ';
+	} elseif ( ( 'postbypost' == $r['type'] ) || ('alpha' == $r['type'] ) ) {
+		$orderby = ( 'alpha' == $r['type'] ) ? 'post_title ASC ' : 'post_date DESC ';
 		$query = "SELECT * FROM $wpdb->posts $join $where ORDER BY $orderby $limit";
 		$key = md5( $query );
 		$key = "wp_get_archives:$key:$last_changed";
@@ -1340,22 +1358,23 @@ function wp_get_archives($args = '') {
 		if ( $results ) {
 			foreach ( (array) $results as $result ) {
 				if ( $result->post_date != '0000-00-00 00:00:00' ) {
-					$url  = get_permalink( $result );
+					$url = get_permalink( $result );
 					if ( $result->post_title ) {
 						/** This filter is documented in wp-includes/post-template.php */
 						$text = strip_tags( apply_filters( 'the_title', $result->post_title, $result->ID ) );
 					} else {
 						$text = $result->ID;
 					}
-					$output .= get_archives_link($url, $text, $format, $before, $after);
+					$output .= get_archives_link( $url, $text, $r['format'], $r['before'], $r['after'] );
 				}
 			}
 		}
 	}
-	if ( $echo )
+	if ( $r['echo'] ) {
 		echo $output;
-	else
+	} else {
 		return $output;
+	}
 }
 
 /**
@@ -1387,7 +1406,6 @@ function calendar_week_mod($num) {
 function get_calendar($initial = true, $echo = true) {
 	global $wpdb, $m, $monthnum, $year, $wp_locale, $posts;
 
-	$cache = array();
 	$key = md5( $m . $monthnum . $year );
 	if ( $cache = wp_cache_get( 'get_calendar', 'calendar' ) ) {
 		if ( is_array($cache) && isset( $cache[ $key ] ) ) {
@@ -1485,7 +1503,7 @@ function get_calendar($initial = true, $echo = true) {
 	<tr>';
 
 	if ( $previous ) {
-		$calendar_output .= "\n\t\t".'<td colspan="3" id="prev"><a href="' . get_month_link($previous->year, $previous->month) . '" title="' . esc_attr( sprintf(__('View posts for %1$s %2$s'), $wp_locale->get_month($previous->month), date('Y', mktime(0, 0 , 0, $previous->month, 1, $previous->year)))) . '">&laquo; ' . $wp_locale->get_month_abbrev($wp_locale->get_month($previous->month)) . '</a></td>';
+		$calendar_output .= "\n\t\t".'<td colspan="3" id="prev"><a href="' . get_month_link($previous->year, $previous->month) . '">&laquo; ' . $wp_locale->get_month_abbrev($wp_locale->get_month($previous->month)) . '</a></td>';
 	} else {
 		$calendar_output .= "\n\t\t".'<td colspan="3" id="prev" class="pad">&nbsp;</td>';
 	}
@@ -1493,7 +1511,7 @@ function get_calendar($initial = true, $echo = true) {
 	$calendar_output .= "\n\t\t".'<td class="pad">&nbsp;</td>';
 
 	if ( $next ) {
-		$calendar_output .= "\n\t\t".'<td colspan="3" id="next"><a href="' . get_month_link($next->year, $next->month) . '" title="' . esc_attr( sprintf(__('View posts for %1$s %2$s'), $wp_locale->get_month($next->month), date('Y', mktime(0, 0 , 0, $next->month, 1, $next->year))) ) . '">' . $wp_locale->get_month_abbrev($wp_locale->get_month($next->month)) . ' &raquo;</a></td>';
+		$calendar_output .= "\n\t\t".'<td colspan="3" id="next"><a href="' . get_month_link($next->year, $next->month) . '">' . $wp_locale->get_month_abbrev($wp_locale->get_month($next->month)) . ' &raquo;</a></td>';
 	} else {
 		$calendar_output .= "\n\t\t".'<td colspan="3" id="next" class="pad">&nbsp;</td>';
 	}
@@ -1707,11 +1725,15 @@ function the_date( $d = '', $before = '', $after = '', $echo = true ) {
  *
  * @param  string      $d    Optional. PHP date format defaults to the date_format option if not specified.
  * @param  int|WP_Post $post Optional. Post ID or WP_Post object. Default current post.
- * @return string Date the current post was written.
+ * @return string|bool Date the current post was written. False on failure.
  */
 function get_the_date( $d = '', $post = null ) {
 	$post = get_post( $post );
 
+	if ( ! $post ) {
+		return false;
+	}
+
 	if ( '' == $d ) {
 		$the_date = mysql2date( get_option( 'date_format' ), $post->post_date );
 	} else {
@@ -1821,11 +1843,15 @@ function the_time( $d = '' ) {
  *                          was written. Either 'G', 'U', or php date format defaults
  *                          to the value specified in the time_format option. Default empty.
  * @param int|WP_Post $post WP_Post object or ID. Default is global $post object.
- * @return string|int Formatted date string, or Unix timestamp.
+ * @return string|int|bool Formatted date string or Unix timestamp. False on failure.
  */
 function get_the_time( $d = '', $post = null ) {
 	$post = get_post($post);
 
+	if ( ! $post ) {
+		return false;
+	}
+
 	if ( '' == $d )
 		$the_time = get_post_time(get_option('time_format'), false, $post, true);
 	else
@@ -1855,11 +1881,15 @@ function get_the_time( $d = '', $post = null ) {
  * @param bool        $gmt       Optional. Whether to retrieve the GMT time. Default false.
  * @param int|WP_Post $post      WP_Post object or ID. Default is global $post object.
  * @param bool        $translate Whether to translate the time string. Default false.
- * @return string|int Formatted date string, or Unix timestamp.
+ * @return string|int|bool Formatted date string or Unix timestamp. False on failure.
  */
 function get_post_time( $d = 'U', $gmt = false, $post = null, $translate = false ) {
 	$post = get_post($post);
 
+	if ( ! $post ) {
+		return false;
+	}
+
 	if ( $gmt )
 		$time = $post->post_date_gmt;
 	else
@@ -1933,15 +1963,20 @@ function get_the_modified_time($d = '') {
  *
  * @since 2.0.0
  *
- * @param string $d Optional, default is 'U'. Either 'G', 'U', or php date format.
- * @param bool $gmt Optional, default is false. Whether to return the gmt time.
- * @param int|object $post Optional, default is global post object. A post_id or post object
- * @param bool $translate Optional, default is false. Whether to translate the result
- * @return string Returns timestamp
+ * @param string      $d         Optional. Format to use for retrieving the time the post
+ *                               was modified. Either 'G', 'U', or php date format. Default 'U'.
+ * @param bool        $gmt       Optional. Whether to retrieve the GMT time. Default false.
+ * @param int|WP_Post $post      WP_Post object or ID. Default is global $post object.
+ * @param bool        $translate Whether to translate the time string. Default false.
+ * @return string|int|bool Formatted date string or Unix timestamp. False on failure.
  */
 function get_post_modified_time( $d = 'U', $gmt = false, $post = null, $translate = false ) {
 	$post = get_post($post);
 
+	if ( ! $post ) {
+		return false;
+	}
+
 	if ( $gmt )
 		$time = $post->post_modified_gmt;
 	else
@@ -1976,7 +2011,7 @@ function the_weekday() {
 	 *
 	 * @since 0.71
 	 *
-	 * @param string $the_weekday 
+	 * @param string $the_weekday
 	 */
 	$the_weekday = apply_filters( 'the_weekday', $the_weekday );
 	echo $the_weekday;
@@ -2008,7 +2043,7 @@ function the_weekday_date($before='',$after='') {
 	 *
 	 * @since 0.71
 	 *
-	 * @param string $the_weekday_date 
+	 * @param string $the_weekday_date
 	 * @param string $before           The HTML to output before the date.
 	 * @param string $after            The HTML to output after the date.
 	 */
@@ -2163,8 +2198,8 @@ function rsd_link() {
  * @since 2.3.1
  */
 function wlwmanifest_link() {
-	echo '<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="'
-		. get_bloginfo('wpurl') . '/wp-includes/wlwmanifest.xml" /> ' . "\n";
+	echo '<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="',
+		includes_url( 'wlwmanifest.xml' ), '" /> ', "\n";
 }
 
 /**
@@ -2243,7 +2278,7 @@ function user_can_richedit() {
  */
 function wp_default_editor() {
 	$r = user_can_richedit() ? 'tinymce' : 'html'; // defaults
-	if ( $user = wp_get_current_user() ) { // look for cookie
+	if ( wp_get_current_user() ) { // look for cookie
 		$ed = get_user_setting('editor', 'tinymce');
 		$r = ( in_array($ed, array('tinymce', 'html', 'test') ) ) ? $ed : $r;
 	}
@@ -2344,7 +2379,6 @@ function the_search_query() {
  */
 function language_attributes($doctype = 'html') {
 	$attributes = array();
-	$output = '';
 
 	if ( function_exists( 'is_rtl' ) && is_rtl() )
 		$attributes[] = 'dir="rtl"';
@@ -2409,10 +2443,10 @@ function language_attributes($doctype = 'html') {
  * It is possible to add query vars to the link by using the 'add_args' argument
  * and see {@link add_query_arg()} for more information.
  *
- * The 'before_page_number' and 'after_page_number' arguments allow users to 
+ * The 'before_page_number' and 'after_page_number' arguments allow users to
  * augment the links themselves. Typically this might be to add context to the
  * numbered links so that screen reader users understand what the links are for.
- * The text strings are added before and after the page number - within the 
+ * The text strings are added before and after the page number - within the
  * anchor tag.
  *
  * @since 2.1.0
@@ -2421,11 +2455,29 @@ function language_attributes($doctype = 'html') {
  * @return array|string String of page links or array of page links.
  */
 function paginate_links( $args = '' ) {
+	global $wp_query, $wp_rewrite;
+
+	$total        = ( isset( $wp_query->max_num_pages ) ) ? $wp_query->max_num_pages : 1;
+	$current      = ( get_query_var( 'paged' ) ) ? intval( get_query_var( 'paged' ) ) : 1;
+	$pagenum_link = html_entity_decode( get_pagenum_link() );
+	$query_args   = array();
+	$url_parts    = explode( '?', $pagenum_link );
+
+	if ( isset( $url_parts[1] ) ) {
+		wp_parse_str( $url_parts[1], $query_args );
+	}
+
+	$pagenum_link = remove_query_arg( array_keys( $query_args ), $pagenum_link );
+	$pagenum_link = trailingslashit( $pagenum_link ) . '%_%';
+
+	$format  = $wp_rewrite->using_index_permalinks() && ! strpos( $pagenum_link, 'index.php' ) ? 'index.php/' : '';
+	$format .= $wp_rewrite->using_permalinks() ? user_trailingslashit( $wp_rewrite->pagination_base . '/%#%', 'paged' ) : '?paged=%#%';
+
 	$defaults = array(
-		'base' => '%_%', // http://example.com/all_posts.php%_% : %_% is replaced by format (below)
-		'format' => '?page=%#%', // ?page=%#% : %#% is replaced by the page number
-		'total' => 1,
-		'current' => 0,
+		'base' => $pagenum_link, // http://example.com/all_posts.php%_% : %_% is replaced by format (below)
+		'format' => $format, // ?page=%#% : %#% is replaced by the page number
+		'total' => $total,
+		'current' => $current,
 		'show_all' => false,
 		'prev_next' => true,
 		'prev_text' => __('&laquo; Previous'),
@@ -2440,27 +2492,32 @@ function paginate_links( $args = '' ) {
 	);
 
 	$args = wp_parse_args( $args, $defaults );
-	extract($args, EXTR_SKIP);
 
 	// Who knows what else people pass in $args
-	$total = (int) $total;
-	if ( $total < 2 )
+	$total = (int) $args['total'];
+	if ( $total < 2 ) {
 		return;
-	$current  = (int) $current;
-	$end_size = 0  < (int) $end_size ? (int) $end_size : 1; // Out of bounds?  Make it the default.
-	$mid_size = 0 <= (int) $mid_size ? (int) $mid_size : 2;
-	$add_args = is_array($add_args) ? $add_args : false;
+	}
+	$current  = (int) $args['current'];
+	$end_size = (int) $args['end_size']; // Out of bounds?  Make it the default.
+	if ( $end_size < 1 ) {
+		$end_size = 1;
+	}
+	$mid_size = (int) $args['mid_size'];
+	if ( $mid_size < 0 ) {
+		$mid_size = 2;
+	}
+	$add_args = is_array( $args['add_args'] ) ? $args['add_args'] : false;
 	$r = '';
 	$page_links = array();
-	$n = 0;
 	$dots = false;
 
-	if ( $prev_next && $current && 1 < $current ) :
-		$link = str_replace('%_%', 2 == $current ? '' : $format, $base);
-		$link = str_replace('%#%', $current - 1, $link);
+	if ( $args['prev_next'] && $current && 1 < $current ) :
+		$link = str_replace( '%_%', 2 == $current ? '' : $args['format'], $args['base'] );
+		$link = str_replace( '%#%', $current - 1, $link );
 		if ( $add_args )
 			$link = add_query_arg( $add_args, $link );
-		$link .= $add_fragment;
+		$link .= $args['add_fragment'];
 
 		/**
 		 * Filter the paginated links for the given archive pages.
@@ -2469,52 +2526,53 @@ function paginate_links( $args = '' ) {
 		 *
 		 * @param string $link The paginated link URL.
 		 */
-		$page_links[] = '<a class="prev page-numbers" href="' . esc_url( apply_filters( 'paginate_links', $link ) ) . '">' . $prev_text . '</a>';
+		$page_links[] = '<a class="prev page-numbers" href="' . esc_url( apply_filters( 'paginate_links', $link ) ) . '">' . $args['prev_text'] . '</a>';
 	endif;
 	for ( $n = 1; $n <= $total; $n++ ) :
 		if ( $n == $current ) :
-			$page_links[] = "<span class='page-numbers current'>" . $before_page_number . number_format_i18n( $n ) . $after_page_number . "</span>";
+			$page_links[] = "<span class='page-numbers current'>" . $args['before_page_number'] . number_format_i18n( $n ) . $args['after_page_number'] . "</span>";
 			$dots = true;
 		else :
-			if ( $show_all || ( $n <= $end_size || ( $current && $n >= $current - $mid_size && $n <= $current + $mid_size ) || $n > $total - $end_size ) ) :
-				$link = str_replace('%_%', 1 == $n ? '' : $format, $base);
-				$link = str_replace('%#%', $n, $link);
+			if ( $args['show_all'] || ( $n <= $end_size || ( $current && $n >= $current - $mid_size && $n <= $current + $mid_size ) || $n > $total - $end_size ) ) :
+				$link = str_replace( '%_%', 1 == $n ? '' : $args['format'], $args['base'] );
+				$link = str_replace( '%#%', $n, $link );
 				if ( $add_args )
 					$link = add_query_arg( $add_args, $link );
-				$link .= $add_fragment;
+				$link .= $args['add_fragment'];
 
 				/** This filter is documented in wp-includes/general-template.php */
-				$page_links[] = "<a class='page-numbers' href='" . esc_url( apply_filters( 'paginate_links', $link ) ) . "'>" . $before_page_number . number_format_i18n( $n ) . $after_page_number . "</a>";
+				$page_links[] = "<a class='page-numbers' href='" . esc_url( apply_filters( 'paginate_links', $link ) ) . "'>" . $args['before_page_number'] . number_format_i18n( $n ) . $args['after_page_number'] . "</a>";
 				$dots = true;
-			elseif ( $dots && !$show_all ) :
+			elseif ( $dots && ! $args['show_all'] ) :
 				$page_links[] = '<span class="page-numbers dots">' . __( '&hellip;' ) . '</span>';
 				$dots = false;
 			endif;
 		endif;
 	endfor;
-	if ( $prev_next && $current && ( $current < $total || -1 == $total ) ) :
-		$link = str_replace('%_%', $format, $base);
-		$link = str_replace('%#%', $current + 1, $link);
+	if ( $args['prev_next'] && $current && ( $current < $total || -1 == $total ) ) :
+		$link = str_replace( '%_%', $args['format'], $args['base'] );
+		$link = str_replace( '%#%', $current + 1, $link );
 		if ( $add_args )
 			$link = add_query_arg( $add_args, $link );
-		$link .= $add_fragment;
+		$link .= $args['add_fragment'];
 
 		/** This filter is documented in wp-includes/general-template.php */
-		$page_links[] = '<a class="next page-numbers" href="' . esc_url( apply_filters( 'paginate_links', $link ) ) . '">' . $next_text . '</a>';
+		$page_links[] = '<a class="next page-numbers" href="' . esc_url( apply_filters( 'paginate_links', $link ) ) . '">' . $args['next_text'] . '</a>';
 	endif;
-	switch ( $type ) :
+	switch ( $args['type'] ) {
 		case 'array' :
 			return $page_links;
-			break;
+
 		case 'list' :
 			$r .= "<ul class='page-numbers'>\n\t<li>";
 			$r .= join("</li>\n\t<li>", $page_links);
 			$r .= "</li>\n</ul>\n";
 			break;
+
 		default :
 			$r = join("\n", $page_links);
 			break;
-	endswitch;
+	}
 	return $r;
 }
 
diff --git a/wp-includes/http.php b/wp-includes/http.php
index 57746ff80..3a5f4ada9 100644
--- a/wp-includes/http.php
+++ b/wp-includes/http.php
@@ -34,13 +34,13 @@ function _wp_http_get_object() {
  * This function is ideal when the HTTP request is being made to an arbitrary
  * URL. The URL is validated to avoid redirection and request forgery attacks.
  *
- * @see wp_remote_request() For more information on the response array format
- * 	and default arguments.
- *
  * @since 3.6.0
  *
- * @param string $url Site URL to retrieve.
- * @param array $args Optional. Override the defaults.
+ * @see wp_remote_request() For more information on the response array format.
+ * @see WP_Http::request() For default arguments information.
+ *
+ * @param string $url  Site URL to retrieve.
+ * @param array  $args Optional. Request arguments. Default empty array.
  * @return WP_Error|array The response or WP_Error on failure.
  */
 function wp_safe_remote_request( $url, $args = array() ) {
@@ -55,13 +55,13 @@ function wp_safe_remote_request( $url, $args = array() ) {
  * This function is ideal when the HTTP request is being made to an arbitrary
  * URL. The URL is validated to avoid redirection and request forgery attacks.
  *
- * @see wp_remote_request() For more information on the response array format
- * 	and default arguments.
- *
  * @since 3.6.0
  *
- * @param string $url Site URL to retrieve.
- * @param array $args Optional. Override the defaults.
+ * @see wp_remote_request() For more information on the response array format.
+ * @see WP_Http::request() For default arguments information.
+ *
+ * @param string $url  Site URL to retrieve.
+ * @param array  $args Optional. Request arguments. Default empty array.
  * @return WP_Error|array The response or WP_Error on failure.
  */
 function wp_safe_remote_get( $url, $args = array() ) {
@@ -76,13 +76,13 @@ function wp_safe_remote_get( $url, $args = array() ) {
  * This function is ideal when the HTTP request is being made to an arbitrary
  * URL. The URL is validated to avoid redirection and request forgery attacks.
  *
- * @see wp_remote_request() For more information on the response array format
- * 	and default arguments.
- *
  * @since 3.6.0
  *
- * @param string $url Site URL to retrieve.
- * @param array $args Optional. Override the defaults.
+ * @see wp_remote_request() For more information on the response array format.
+ * @see WP_Http::request() For default arguments information.
+ *
+ * @param string $url  Site URL to retrieve.
+ * @param array  $args Optional. Request arguments. Default empty array.
  * @return WP_Error|array The response or WP_Error on failure.
  */
 function wp_safe_remote_post( $url, $args = array() ) {
@@ -97,13 +97,13 @@ function wp_safe_remote_post( $url, $args = array() ) {
  * This function is ideal when the HTTP request is being made to an arbitrary
  * URL. The URL is validated to avoid redirection and request forgery attacks.
  *
- * @see wp_remote_request() For more information on the response array format
- * 	and default arguments.
- *
  * @since 3.6.0
  *
+ * @see wp_remote_request() For more information on the response array format.
+ * @see WP_Http::request() For default arguments information.
+ *
  * @param string $url Site URL to retrieve.
- * @param array $args Optional. Override the defaults.
+ * @param array $args Optional. Request arguments. Default empty array.
  * @return WP_Error|array The response or WP_Error on failure.
  */
 function wp_safe_remote_head( $url, $args = array() ) {
@@ -115,47 +115,37 @@ function wp_safe_remote_head( $url, $args = array() ) {
 /**
  * Retrieve the raw response from the HTTP request.
  *
- * The array structure is a little complex.
+ * The array structure is a little complex:
  *
- * <code>
- * $res = array( 'headers' => array(), 'response' => array('code' => int, 'message' => string) );
- * </code>
+ *     $res = array(
+ *         'headers'  => array(),
+ *         'response' => array(
+ *             'code'    => int,
+ *             'message' => string
+ *         )
+ *     );
  *
  * All of the headers in $res['headers'] are with the name as the key and the
  * value as the value. So to get the User-Agent, you would do the following.
  *
- * <code>
- * $user_agent = $res['headers']['user-agent'];
- * </code>
+ *     $user_agent = $res['headers']['user-agent'];
  *
  * The body is the raw response content and can be retrieved from $res['body'].
  *
  * This function is called first to make the request and there are other API
  * functions to abstract out the above convoluted setup.
  *
- * List of default arguments:
- * 'method'      => 'GET'
+ * Request method defaults for helper functions:
  *  - Default 'GET'  for wp_remote_get()
  *  - Default 'POST' for wp_remote_post()
  *  - Default 'HEAD' for wp_remote_head()
- * 'timeout'     => 5
- * 'redirection' => 5
- * 'httpversion' => '1.0'
- * 'user-agent'  => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
- * 'blocking'    => true
- * 'headers'     => array()
- * 'cookies'     => array()
- * 'body'        => null
- * 'compress'    => false,
- * 'decompress'  => true,
- * 'sslverify'   => true,
- * 'stream'      => false,
- * 'filename'    => null
  *
  * @since 2.7.0
  *
- * @param string $url Site URL to retrieve.
- * @param array $args Optional. Override the defaults.
+ * @see WP_Http::request() For additional information on default arguments.
+ *
+ * @param string $url  Site URL to retrieve.
+ * @param array  $args Optional. Request arguments. Default empty array.
  * @return WP_Error|array The response or WP_Error on failure.
  */
 function wp_remote_request($url, $args = array()) {
@@ -166,12 +156,13 @@ function wp_remote_request($url, $args = array()) {
 /**
  * Retrieve the raw response from the HTTP request using the GET method.
  *
- * @see wp_remote_request() For more information on the response array format and default arguments.
- *
  * @since 2.7.0
  *
- * @param string $url Site URL to retrieve.
- * @param array $args Optional. Override the defaults.
+ * @see wp_remote_request() For more information on the response array format.
+ * @see WP_Http::request() For default arguments information.
+ *
+ * @param string $url  Site URL to retrieve.
+ * @param array  $args Optional. Request arguments. Default empty array.
  * @return WP_Error|array The response or WP_Error on failure.
  */
 function wp_remote_get($url, $args = array()) {
@@ -182,12 +173,13 @@ function wp_remote_get($url, $args = array()) {
 /**
  * Retrieve the raw response from the HTTP request using the POST method.
  *
- * @see wp_remote_request() For more information on the response array format and default arguments.
- *
  * @since 2.7.0
  *
- * @param string $url Site URL to retrieve.
- * @param array $args Optional. Override the defaults.
+ * @see wp_remote_request() For more information on the response array format.
+ * @see WP_Http::request() For default arguments information.
+ *
+ * @param string $url  Site URL to retrieve.
+ * @param array  $args Optional. Request arguments. Default empty array.
  * @return WP_Error|array The response or WP_Error on failure.
  */
 function wp_remote_post($url, $args = array()) {
@@ -198,12 +190,13 @@ function wp_remote_post($url, $args = array()) {
 /**
  * Retrieve the raw response from the HTTP request using the HEAD method.
  *
- * @see wp_remote_request() For more information on the response array format and default arguments.
- *
  * @since 2.7.0
  *
- * @param string $url Site URL to retrieve.
- * @param array $args Optional. Override the defaults.
+ * @see wp_remote_request() For more information on the response array format.
+ * @see WP_Http::request() For default arguments information.
+ *
+ * @param string $url  Site URL to retrieve.
+ * @param array  $args Optional. Request arguments. Default empty array.
  * @return WP_Error|array The response or WP_Error on failure.
  */
 function wp_remote_head($url, $args = array()) {
@@ -219,7 +212,7 @@ function wp_remote_head($url, $args = array()) {
  * @param array $response HTTP response.
  * @return array The headers of the response. Empty array if incorrect parameter given.
  */
-function wp_remote_retrieve_headers(&$response) {
+function wp_remote_retrieve_headers( $response ) {
 	if ( is_wp_error($response) || ! isset($response['headers']) || ! is_array($response['headers']))
 		return array();
 
@@ -235,7 +228,7 @@ function wp_remote_retrieve_headers(&$response) {
  * @param string $header Header name to retrieve value from.
  * @return string The header value. Empty string on if incorrect parameter given, or if the header doesn't exist.
  */
-function wp_remote_retrieve_header(&$response, $header) {
+function wp_remote_retrieve_header( $response, $header ) {
 	if ( is_wp_error($response) || ! isset($response['headers']) || ! is_array($response['headers']))
 		return '';
 
@@ -255,7 +248,7 @@ function wp_remote_retrieve_header(&$response, $header) {
  * @param array $response HTTP response.
  * @return string the response code. Empty string on incorrect parameter given.
  */
-function wp_remote_retrieve_response_code(&$response) {
+function wp_remote_retrieve_response_code( $response ) {
 	if ( is_wp_error($response) || ! isset($response['response']) || ! is_array($response['response']))
 		return '';
 
@@ -272,7 +265,7 @@ function wp_remote_retrieve_response_code(&$response) {
  * @param array $response HTTP response.
  * @return string The response message. Empty string on incorrect parameter given.
  */
-function wp_remote_retrieve_response_message(&$response) {
+function wp_remote_retrieve_response_message( $response ) {
 	if ( is_wp_error($response) || ! isset($response['response']) || ! is_array($response['response']))
 		return '';
 
@@ -287,7 +280,7 @@ function wp_remote_retrieve_response_message(&$response) {
  * @param array $response HTTP response.
  * @return string The body of the response. Empty string if no body or incorrect parameter given.
  */
-function wp_remote_retrieve_body(&$response) {
+function wp_remote_retrieve_body( $response ) {
 	if ( is_wp_error($response) || ! isset($response['body']) )
 		return '';
 
diff --git a/wp-includes/js/autosave.js b/wp-includes/js/autosave.js
index def54298e..b338e9498 100644
--- a/wp-includes/js/autosave.js
+++ b/wp-includes/js/autosave.js
@@ -211,7 +211,7 @@ window.autosave = function() {
 				var postData, compareString,
 					result = false;
 
-				if ( isSuspended ) {
+				if ( isSuspended || ! hasStorage ) {
 					return false;
 				}
 
@@ -286,7 +286,7 @@ window.autosave = function() {
 						});
 					}
 
-					wpCookies.set( 'wp-saving-post-' + post_id, 'check' );
+					wpCookies.set( 'wp-saving-post', post_id + '-check', 24 * 60 * 60 );
 				});
 			}
 
@@ -309,20 +309,17 @@ window.autosave = function() {
 			function checkPost() {
 				var content, post_title, excerpt, $notice,
 					postData = getSavedPostData(),
-					cookie = wpCookies.get( 'wp-saving-post-' + post_id );
+					cookie = wpCookies.get( 'wp-saving-post' );
 
-				if ( ! postData ) {
+				if ( cookie === post_id + '-saved' ) {
+					wpCookies.remove( 'wp-saving-post' );
+					// The post was saved properly, remove old data and bail
+					setData( false );
 					return;
 				}
 
-				if ( cookie ) {
-					wpCookies.remove( 'wp-saving-post-' + post_id );
-
-					if ( cookie === 'saved' ) {
-						// The post was saved properly, remove old data and bail
-						setData( false );
-						return;
-					}
+				if ( ! postData ) {
+					return;
 				}
 
 				// There is a newer autosave. Don't show two "restore" notices at the same time.
@@ -334,9 +331,8 @@ window.autosave = function() {
 				post_title = $( '#title' ).val() || '';
 				excerpt = $( '#excerpt' ).val() || '';
 
-				// cookie == 'check' means the post was not saved properly, always show #local-storage-notice
-				if ( cookie !== 'check' && compare( content, postData.content ) &&
-					compare( post_title, postData.post_title ) && compare( excerpt, postData.excerpt ) ) {
+				if ( compare( content, postData.content ) && compare( post_title, postData.post_title ) &&
+					compare( excerpt, postData.excerpt ) ) {
 
 					return;
 				}
@@ -399,21 +395,15 @@ window.autosave = function() {
 				return false;
 			}
 
-			// Initialize and run checkPost() on loading the script (before TinyMCE init)
 			blog_id = typeof window.autosaveL10n !== 'undefined' && window.autosaveL10n.blog_id;
 
-			// Check if the browser supports sessionStorage and it's not disabled
-			if ( ! checkStorage() ) {
-				return;
-			}
-
+			// Check if the browser supports sessionStorage and it's not disabled,
+			// then initialize and run checkPost().
 			// Don't run if the post type supports neither 'editor' (textarea#content) nor 'excerpt'.
-			if ( ! blog_id || ( ! $('#content').length && ! $('#excerpt').length ) ) {
-				return;
+			if ( checkStorage() && blog_id && ( $('#content').length || $('#excerpt').length ) ) {
+				$document.ready( run );
 			}
 
-			$document.ready( run );
-
 			return {
 				hasStorage: hasStorage,
 				getSavedPostData: getSavedPostData,
diff --git a/wp-includes/js/autosave.min.js b/wp-includes/js/autosave.min.js
index 45d24f9a9..c244ef8aa 100644
--- a/wp-includes/js/autosave.min.js
+++ b/wp-includes/js/autosave.min.js
@@ -1 +1 @@
-window.autosave=function(){return!0},function(a,b){function c(){function c(b){var c,d,e,f=(new Date).getTime(),g=[],h="undefined"!=typeof tinymce&&tinymce.get("content");return h&&!h.isHidden()&&f-3e3>j&&(h.save(),j=f),e={post_id:a("#post_ID").val()||0,post_type:a("#post_type").val()||"",post_author:a("#post_author").val()||"",post_title:a("#title").val()||"",content:a("#content").val()||"",excerpt:a("#excerpt").val()||""},"local"===b?e:(a('input[id^="in-category-"]:checked').each(function(){g.push(this.value)}),e.catslist=g.join(","),(c=a("#post_name").val())&&(e.post_name=c),(d=a("#parent_id").val())&&(e.parent_id=d),a("#comment_status").prop("checked")&&(e.comment_status="open"),a("#ping_status").prop("checked")&&(e.ping_status="open"),"1"===a("#auto_draft").val()&&(e.auto_draft="1"),e)}function d(b){return"object"==typeof b?(b.post_title||"")+"::"+(b.content||"")+"::"+(b.excerpt||""):(a("#title").val()||"")+"::"+(a("#content").val()||"")+"::"+(a("#excerpt").val()||"")}function e(){k.trigger("autosave-disable-buttons"),setTimeout(f,5e3)}function f(){k.trigger("autosave-enable-buttons")}function g(){function e(){var a=Math.random().toString(),c=!1;try{b.sessionStorage.setItem("wp-test",a),c=b.sessionStorage.getItem("wp-test")===a,b.sessionStorage.removeItem("wp-test")}catch(d){}return w=c,c}function f(){var a=!1;return w&&u&&(a=sessionStorage.getItem("wp-autosave-"+u),a=a?JSON.parse(a):{}),a}function g(a){var b;return w&&u?(b="wp-autosave-"+u,sessionStorage.setItem(b,JSON.stringify(a)),null!==sessionStorage.getItem(b)):!1}function h(){var a=f();return a&&v?a["post_"+v]||!1:!1}function j(a){var b=f();if(!b||!v)return!1;if(a)b["post_"+v]=a;else{if(!b.hasOwnProperty("post_"+v))return!1;delete b["post_"+v]}return g(b)}function l(){z=!0}function m(){z=!1}function n(b){var e,f,g=!1;return z?!1:(b?(e=h()||{},a.extend(e,b)):e=c("local"),f=d(e),"undefined"==typeof y&&(y=i),f===y?!1:(e.save_time=(new Date).getTime(),e.status=a("#post_status").val()||"",g=j(e),g&&(y=f),g))}function o(){v=a("#post_ID").val()||0,a("#wp-content-wrap").hasClass("tmce-active")?k.on("tinymce-editor-init.autosave",function(){b.setTimeout(function(){q()},1500)}):q(),x=b.setInterval(n,15e3),a("form#post").on("submit.autosave-local",function(){var b="undefined"!=typeof tinymce&&tinymce.get("content"),c=a("#post_ID").val()||0;b&&!b.isHidden()?b.on("submit",function(){n({post_title:a("#title").val()||"",content:a("#content").val()||"",excerpt:a("#excerpt").val()||""})}):n({post_title:a("#title").val()||"",content:a("#content").val()||"",excerpt:a("#excerpt").val()||""}),wpCookies.set("wp-saving-post-"+c,"check")})}function p(a,b){function c(a){return a.toString().replace(/[\x20\t\r\n\f]+/g,"")}return c(a||"")===c(b||"")}function q(){var b,c,d,e,f=h(),g=wpCookies.get("wp-saving-post-"+v);if(f)return g&&(wpCookies.remove("wp-saving-post-"+v),"saved"===g)?void j(!1):void(a("#has-newer-autosave").length||(b=a("#content").val()||"",c=a("#title").val()||"",d=a("#excerpt").val()||"","check"!==g&&p(b,f.content)&&p(c,f.post_title)&&p(d,f.excerpt)||(s=f,t={content:b,post_title:c,excerpt:d},e=a("#local-storage-notice"),a(".wrap h2").first().after(e.addClass("updated").show()),e.on("click.autosave-local",function(b){var c=a(b.target);c.hasClass("restore-backup")?(r(s),c.parent().hide(),a(this).find("p.undo-restore").show()):c.hasClass("undo-restore-backup")&&(r(t),c.parent().hide(),a(this).find("p.local-restore").show()),b.preventDefault()}))))}function r(b){var c;return b?(y=d(b),a("#title").val()!==b.post_title&&a("#title").focus().val(b.post_title||""),a("#excerpt").val(b.excerpt||""),c="undefined"!=typeof tinymce&&tinymce.get("content"),c&&!c.isHidden()&&"undefined"!=typeof switchEditors?(c.undoManager.add(),c.setContent(b.content?switchEditors.wpautop(b.content):"")):(a("#content-html").click(),a("#content").val(b.content)),!0):!1}var s,t,u,v,w,x,y,z=!1;return u="undefined"!=typeof b.autosaveL10n&&b.autosaveL10n.blog_id,e()&&u&&(a("#content").length||a("#excerpt").length)?(k.ready(o),{hasStorage:w,getSavedPostData:h,save:n,suspend:l,resume:m}):void 0}function h(){function g(){q=!0,b.clearTimeout(r),r=b.setTimeout(function(){q=!1},1e4)}function h(){v=!0}function j(){v=!1}function l(b){p(),q=!1,t=s,s="",k.trigger("after-autosave",[b]),f(),b.success&&a("#auto_draft").val("")}function m(){u=0,wp.heartbeat.connectNow()}function n(){return d()!==i}function o(){var f,h;return v||q||!b.autosave()?!1:(new Date).getTime()<u?!1:(f=c(),h=d(f),"undefined"==typeof t&&(t=i),h===t?!1:(s=h,g(),e(),k.trigger("wpcountwords",[f.content]).trigger("before-autosave",[f]),f._wpnonce=a("#_wpnonce").val()||"",f))}function p(){u=(new Date).getTime()+1e3*autosaveL10n.autosaveInterval||6e4}var q,r,s,t,u=0,v=!1;return k.on("heartbeat-send.autosave",function(a,b){var c=o();c&&(b.wp_autosave=c)}).on("heartbeat-tick.autosave",function(a,b){b.wp_autosave&&l(b.wp_autosave)}).on("heartbeat-connection-lost.autosave",function(b,c,d){if("timeout"===c||603===d){var f=a("#lost-connection-notice");wp.autosave.local.hasStorage||f.find(".hide-if-no-sessionstorage").hide(),f.show(),e()}}).on("heartbeat-connection-restored.autosave",function(){a("#lost-connection-notice").hide(),f()}).ready(function(){p()}),{tempBlockSave:g,triggerSave:m,postChanged:n,suspend:h,resume:j}}var i,j=0,k=a(document);return k.on("tinymce-editor-init.autosave",function(a,c){"content"===c.id&&b.setTimeout(function(){c.save(),i=d()},1e3)}).ready(function(){i=d()}),{getPostData:c,getCompareString:d,disableButtons:e,enableButtons:f,local:g(),server:h()}}b.wp=b.wp||{},b.wp.autosave=c()}(jQuery,window);
\ No newline at end of file
+window.autosave=function(){return!0},function(a,b){function c(){function c(b){var c,d,e,f=(new Date).getTime(),g=[],h="undefined"!=typeof tinymce&&tinymce.get("content");return h&&!h.isHidden()&&f-3e3>j&&(h.save(),j=f),e={post_id:a("#post_ID").val()||0,post_type:a("#post_type").val()||"",post_author:a("#post_author").val()||"",post_title:a("#title").val()||"",content:a("#content").val()||"",excerpt:a("#excerpt").val()||""},"local"===b?e:(a('input[id^="in-category-"]:checked').each(function(){g.push(this.value)}),e.catslist=g.join(","),(c=a("#post_name").val())&&(e.post_name=c),(d=a("#parent_id").val())&&(e.parent_id=d),a("#comment_status").prop("checked")&&(e.comment_status="open"),a("#ping_status").prop("checked")&&(e.ping_status="open"),"1"===a("#auto_draft").val()&&(e.auto_draft="1"),e)}function d(b){return"object"==typeof b?(b.post_title||"")+"::"+(b.content||"")+"::"+(b.excerpt||""):(a("#title").val()||"")+"::"+(a("#content").val()||"")+"::"+(a("#excerpt").val()||"")}function e(){k.trigger("autosave-disable-buttons"),setTimeout(f,5e3)}function f(){k.trigger("autosave-enable-buttons")}function g(){function e(){var a=Math.random().toString(),c=!1;try{b.sessionStorage.setItem("wp-test",a),c=b.sessionStorage.getItem("wp-test")===a,b.sessionStorage.removeItem("wp-test")}catch(d){}return w=c,c}function f(){var a=!1;return w&&u&&(a=sessionStorage.getItem("wp-autosave-"+u),a=a?JSON.parse(a):{}),a}function g(a){var b;return w&&u?(b="wp-autosave-"+u,sessionStorage.setItem(b,JSON.stringify(a)),null!==sessionStorage.getItem(b)):!1}function h(){var a=f();return a&&v?a["post_"+v]||!1:!1}function j(a){var b=f();if(!b||!v)return!1;if(a)b["post_"+v]=a;else{if(!b.hasOwnProperty("post_"+v))return!1;delete b["post_"+v]}return g(b)}function l(){z=!0}function m(){z=!1}function n(b){var e,f,g=!1;return z||!w?!1:(b?(e=h()||{},a.extend(e,b)):e=c("local"),f=d(e),"undefined"==typeof y&&(y=i),f===y?!1:(e.save_time=(new Date).getTime(),e.status=a("#post_status").val()||"",g=j(e),g&&(y=f),g))}function o(){v=a("#post_ID").val()||0,a("#wp-content-wrap").hasClass("tmce-active")?k.on("tinymce-editor-init.autosave",function(){b.setTimeout(function(){q()},1500)}):q(),x=b.setInterval(n,15e3),a("form#post").on("submit.autosave-local",function(){var b="undefined"!=typeof tinymce&&tinymce.get("content"),c=a("#post_ID").val()||0;b&&!b.isHidden()?b.on("submit",function(){n({post_title:a("#title").val()||"",content:a("#content").val()||"",excerpt:a("#excerpt").val()||""})}):n({post_title:a("#title").val()||"",content:a("#content").val()||"",excerpt:a("#excerpt").val()||""}),wpCookies.set("wp-saving-post",c+"-check",86400)})}function p(a,b){function c(a){return a.toString().replace(/[\x20\t\r\n\f]+/g,"")}return c(a||"")===c(b||"")}function q(){var b,c,d,e,f=h(),g=wpCookies.get("wp-saving-post");return g===v+"-saved"?(wpCookies.remove("wp-saving-post"),void j(!1)):void(f&&(a("#has-newer-autosave").length||(b=a("#content").val()||"",c=a("#title").val()||"",d=a("#excerpt").val()||"",p(b,f.content)&&p(c,f.post_title)&&p(d,f.excerpt)||(s=f,t={content:b,post_title:c,excerpt:d},e=a("#local-storage-notice"),a(".wrap h2").first().after(e.addClass("updated").show()),e.on("click.autosave-local",function(b){var c=a(b.target);c.hasClass("restore-backup")?(r(s),c.parent().hide(),a(this).find("p.undo-restore").show()):c.hasClass("undo-restore-backup")&&(r(t),c.parent().hide(),a(this).find("p.local-restore").show()),b.preventDefault()})))))}function r(b){var c;return b?(y=d(b),a("#title").val()!==b.post_title&&a("#title").focus().val(b.post_title||""),a("#excerpt").val(b.excerpt||""),c="undefined"!=typeof tinymce&&tinymce.get("content"),c&&!c.isHidden()&&"undefined"!=typeof switchEditors?(c.undoManager.add(),c.setContent(b.content?switchEditors.wpautop(b.content):"")):(a("#content-html").click(),a("#content").val(b.content)),!0):!1}var s,t,u,v,w,x,y,z=!1;return u="undefined"!=typeof b.autosaveL10n&&b.autosaveL10n.blog_id,e()&&u&&(a("#content").length||a("#excerpt").length)&&k.ready(o),{hasStorage:w,getSavedPostData:h,save:n,suspend:l,resume:m}}function h(){function g(){q=!0,b.clearTimeout(r),r=b.setTimeout(function(){q=!1},1e4)}function h(){v=!0}function j(){v=!1}function l(b){p(),q=!1,t=s,s="",k.trigger("after-autosave",[b]),f(),b.success&&a("#auto_draft").val("")}function m(){u=0,wp.heartbeat.connectNow()}function n(){return d()!==i}function o(){var f,h;return v||q||!b.autosave()?!1:(new Date).getTime()<u?!1:(f=c(),h=d(f),"undefined"==typeof t&&(t=i),h===t?!1:(s=h,g(),e(),k.trigger("wpcountwords",[f.content]).trigger("before-autosave",[f]),f._wpnonce=a("#_wpnonce").val()||"",f))}function p(){u=(new Date).getTime()+1e3*autosaveL10n.autosaveInterval||6e4}var q,r,s,t,u=0,v=!1;return k.on("heartbeat-send.autosave",function(a,b){var c=o();c&&(b.wp_autosave=c)}).on("heartbeat-tick.autosave",function(a,b){b.wp_autosave&&l(b.wp_autosave)}).on("heartbeat-connection-lost.autosave",function(b,c,d){if("timeout"===c||603===d){var f=a("#lost-connection-notice");wp.autosave.local.hasStorage||f.find(".hide-if-no-sessionstorage").hide(),f.show(),e()}}).on("heartbeat-connection-restored.autosave",function(){a("#lost-connection-notice").hide(),f()}).ready(function(){p()}),{tempBlockSave:g,triggerSave:m,postChanged:n,suspend:h,resume:j}}var i,j=0,k=a(document);return k.on("tinymce-editor-init.autosave",function(a,c){"content"===c.id&&b.setTimeout(function(){c.save(),i=d()},1e3)}).ready(function(){i=d()}),{getPostData:c,getCompareString:d,disableButtons:e,enableButtons:f,local:g(),server:h()}}b.wp=b.wp||{},b.wp.autosave=c()}(jQuery,window);
\ No newline at end of file
diff --git a/wp-includes/js/customize-base.js b/wp-includes/js/customize-base.js
index db573b5fc..6c41b40c4 100644
--- a/wp-includes/js/customize-base.js
+++ b/wp-includes/js/customize-base.js
@@ -1,25 +1,22 @@
 window.wp = window.wp || {};
 
 (function( exports, $ ){
-	var api, extend, ctor, inherits,
+	var api = {}, ctor, inherits,
 		slice = Array.prototype.slice;
 
-	/* =====================================================================
-	 * Micro-inheritance - thank you, backbone.js.
-	 * ===================================================================== */
-
-	extend = function( protoProps, classProps ) {
-		var child = inherits( this, protoProps, classProps );
-		child.extend = this.extend;
-		return child;
-	};
-
 	// Shared empty constructor function to aid in prototype-chain creation.
 	ctor = function() {};
 
-	// Helper function to correctly set up the prototype chain, for subclasses.
-	// Similar to `goog.inherits`, but uses a hash of prototype properties and
-	// class properties to be extended.
+	/**
+	 * Helper function to correctly set up the prototype chain, for subclasses.
+	 * Similar to `goog.inherits`, but uses a hash of prototype properties and
+	 * class properties to be extended.
+	 *
+	 * @param  object parent      Parent class constructor to inherit from.
+	 * @param  object protoProps  Properties to apply to the prototype for use as class instance properties.
+	 * @param  object staticProps Properties to apply directly to the class constructor.
+	 * @return child              The subclassed constructor.
+	 */
 	inherits = function( parent, protoProps, staticProps ) {
 		var child;
 
@@ -65,12 +62,9 @@ window.wp = window.wp || {};
 		return child;
 	};
 
-	api = {};
-
-	/* =====================================================================
-	 * Base class.
-	 * ===================================================================== */
-
+	/**
+	 * Base class for object inheritance.
+	 */
 	api.Class = function( applicator, argsArray, options ) {
 		var magic, args = arguments;
 
@@ -92,6 +86,19 @@ window.wp = window.wp || {};
 		return magic;
 	};
 
+	/**
+	 * Creates a subclass of the class.
+	 *
+	 * @param  object protoProps  Properties to apply to the prototype.
+	 * @param  object staticProps Properties to apply directly to the class.
+	 * @return child              The subclass.
+	 */
+	api.Class.extend = function( protoProps, classProps ) {
+		var child = inherits( this, protoProps, classProps );
+		child.extend = this.extend;
+		return child;
+	};
+
 	api.Class.applicator = {};
 
 	api.Class.prototype.initialize = function() {};
@@ -116,12 +123,11 @@ window.wp = window.wp || {};
 		return false;
 	};
 
-	api.Class.extend = extend;
-
-	/* =====================================================================
-	 * Events mixin.
-	 * ===================================================================== */
-
+	/**
+	 * An events manager object, offering the ability to bind to and trigger events.
+	 *
+	 * Used as a mixin.
+	 */
 	api.Events = {
 		trigger: function( id ) {
 			if ( this.topics && this.topics[ id ] )
@@ -143,10 +149,11 @@ window.wp = window.wp || {};
 		}
 	};
 
-	/* =====================================================================
+	/**
 	 * Observable values that support two-way binding.
-	 * ===================================================================== */
-
+	 *
+	 * @constuctor
+	 */
 	api.Value = api.Class.extend({
 		initialize: function( initial, options ) {
 			this._value = initial; // @todo: potentially change this to a this.set() call.
@@ -254,10 +261,13 @@ window.wp = window.wp || {};
 		}
 	});
 
-	/* =====================================================================
+	/**
 	 * A collection of observable values.
-	 * ===================================================================== */
-
+	 *
+	 * @constuctor
+	 * @augments wp.customize.Class
+	 * @mixes wp.customize.Events
+	 */
 	api.Values = api.Class.extend({
 		defaultConstructor: api.Value,
 
@@ -379,16 +389,25 @@ window.wp = window.wp || {};
 
 	$.extend( api.Values.prototype, api.Events );
 
-	/* =====================================================================
-	 * An observable value that syncs with an element.
-	 *
-	 * Handles inputs, selects, and textareas by default.
-	 * ===================================================================== */
 
+	/**
+	 * Cast a string to a jQuery collection if it isn't already.
+	 *
+	 * @param {string|jQuery collection} element
+	 */
 	api.ensure = function( element ) {
 		return typeof element == 'string' ? $( element ) : element;
 	};
 
+	/**
+	 * An observable value that syncs with an element.
+	 *
+	 * Handles inputs, selects, and textareas by default.
+	 *
+	 * @constuctor
+	 * @augments wp.customize.Value
+	 * @augments wp.customize.Class
+	 */
 	api.Element = api.Value.extend({
 		initialize: function( element, options ) {
 			var self = this,
@@ -442,7 +461,7 @@ window.wp = window.wp || {};
 
 	api.Element.synchronizer = {};
 
-	$.each( [ 'html', 'val' ], function( i, method ) {
+	$.each( [ 'html', 'val' ], function( index, method ) {
 		api.Element.synchronizer[ method ] = {
 			update: function( to ) {
 				this.element[ method ]( to );
@@ -473,13 +492,24 @@ window.wp = window.wp || {};
 		}
 	};
 
-	/* =====================================================================
-	 * Messenger for postMessage.
-	 * ===================================================================== */
-
 	$.support.postMessage = !! window.postMessage;
 
+	/**
+	 * Messenger for postMessage.
+	 *
+	 * @constuctor
+	 * @augments wp.customize.Class
+	 * @mixes wp.customize.Events
+	 */
 	api.Messenger = api.Class.extend({
+		/**
+		 * Create a new Value.
+		 *
+		 * @param  {string} key     Unique identifier.
+		 * @param  {mixed}  initial Initial value.
+		 * @param  {mixed}  options Options hash. Optional.
+		 * @return {Value}          Class instance of the Value.
+		 */
 		add: function( key, initial, options ) {
 			return this[ key ] = new api.Value( initial, options );
 		},
@@ -570,10 +600,7 @@ window.wp = window.wp || {};
 	// Add the Events mixin to api.Messenger.
 	$.extend( api.Messenger.prototype, api.Events );
 
-	/* =====================================================================
-	 * Core customize object.
-	 * ===================================================================== */
-
+	// Core customize object.
 	api = $.extend( new api.Values(), api );
 	api.get = function() {
 		var result = {};
@@ -585,6 +612,6 @@ window.wp = window.wp || {};
 		return result;
 	};
 
-	// Expose the API to the world.
+	// Expose the API publicly on window.wp.customize
 	exports.customize = api;
 })( wp, jQuery );
diff --git a/wp-includes/js/customize-base.min.js b/wp-includes/js/customize-base.min.js
index 35b0d112f..5889a60d5 100644
--- a/wp-includes/js/customize-base.min.js
+++ b/wp-includes/js/customize-base.min.js
@@ -1 +1 @@
-window.wp=window.wp||{},function(a,b){var c,d,e,f,g=Array.prototype.slice;d=function(a,b){var c=f(this,a,b);return c.extend=this.extend,c},e=function(){},f=function(a,c,d){var f;return f=c&&c.hasOwnProperty("constructor")?c.constructor:function(){var b=a.apply(this,arguments);return b},b.extend(f,a),e.prototype=a.prototype,f.prototype=new e,c&&b.extend(f.prototype,c),d&&b.extend(f,d),f.prototype.constructor=f,f.__super__=a.prototype,f},c={},c.Class=function(a,d,e){var f,g=arguments;return a&&d&&c.Class.applicator===a&&(g=d,b.extend(this,e||{})),f=this,this.instance&&(f=function(){return f.instance.apply(f,arguments)},b.extend(f,this)),f.initialize.apply(f,g),f},c.Class.applicator={},c.Class.prototype.initialize=function(){},c.Class.prototype.extended=function(a){for(var b=this;"undefined"!=typeof b.constructor;){if(b.constructor===a)return!0;if("undefined"==typeof b.constructor.__super__)return!1;b=b.constructor.__super__}return!1},c.Class.extend=d,c.Events={trigger:function(a){return this.topics&&this.topics[a]&&this.topics[a].fireWith(this,g.call(arguments,1)),this},bind:function(a){return this.topics=this.topics||{},this.topics[a]=this.topics[a]||b.Callbacks(),this.topics[a].add.apply(this.topics[a],g.call(arguments,1)),this},unbind:function(a){return this.topics&&this.topics[a]&&this.topics[a].remove.apply(this.topics[a],g.call(arguments,1)),this}},c.Value=c.Class.extend({initialize:function(a,c){this._value=a,this.callbacks=b.Callbacks(),b.extend(this,c||{}),this.set=b.proxy(this.set,this)},instance:function(){return arguments.length?this.set.apply(this,arguments):this.get()},get:function(){return this._value},set:function(a){var b=this._value;return a=this._setter.apply(this,arguments),a=this.validate(a),null===a||this._value===a?this:(this._value=a,this.callbacks.fireWith(this,[a,b]),this)},_setter:function(a){return a},setter:function(a){var b=this.get();return this._setter=a,this._value=null,this.set(b),this},resetSetter:function(){return this._setter=this.constructor.prototype._setter,this.set(this.get()),this},validate:function(a){return a},bind:function(){return this.callbacks.add.apply(this.callbacks,arguments),this},unbind:function(){return this.callbacks.remove.apply(this.callbacks,arguments),this},link:function(){var a=this.set;return b.each(arguments,function(){this.bind(a)}),this},unlink:function(){var a=this.set;return b.each(arguments,function(){this.unbind(a)}),this},sync:function(){var a=this;return b.each(arguments,function(){a.link(this),this.link(a)}),this},unsync:function(){var a=this;return b.each(arguments,function(){a.unlink(this),this.unlink(a)}),this}}),c.Values=c.Class.extend({defaultConstructor:c.Value,initialize:function(a){b.extend(this,a||{}),this._value={},this._deferreds={}},instance:function(a){return 1===arguments.length?this.value(a):this.when.apply(this,arguments)},value:function(a){return this._value[a]},has:function(a){return"undefined"!=typeof this._value[a]},add:function(a,b){return this.has(a)?this.value(a):(this._value[a]=b,b.parent=this,b.extended(c.Value)&&b.bind(this._change),this.trigger("add",b),this._deferreds[a]&&this._deferreds[a].resolve(),this._value[a])},create:function(a){return this.add(a,new this.defaultConstructor(c.Class.applicator,g.call(arguments,1)))},each:function(a,c){c="undefined"==typeof c?this:c,b.each(this._value,function(b,d){a.call(c,d,b)})},remove:function(a){var b;this.has(a)&&(b=this.value(a),this.trigger("remove",b),b.extended(c.Value)&&b.unbind(this._change),delete b.parent),delete this._value[a],delete this._deferreds[a]},when:function(){var a=this,c=g.call(arguments),d=b.Deferred();return b.isFunction(c[c.length-1])&&d.done(c.pop()),b.when.apply(b,b.map(c,function(c){return a.has(c)?void 0:a._deferreds[c]=a._deferreds[c]||b.Deferred()})).done(function(){var e=b.map(c,function(b){return a(b)});return e.length!==c.length?void a.when.apply(a,c).done(function(){d.resolveWith(a,e)}):void d.resolveWith(a,e)}),d.promise()},_change:function(){this.parent.trigger("change",this)}}),b.extend(c.Values.prototype,c.Events),c.ensure=function(a){return"string"==typeof a?b(a):a},c.Element=c.Value.extend({initialize:function(a,d){var e,f,g,h=this,i=c.Element.synchronizer.html;this.element=c.ensure(a),this.events="",this.element.is("input, select, textarea")&&(this.events+="change",i=c.Element.synchronizer.val,this.element.is("input")?(e=this.element.prop("type"),c.Element.synchronizer[e]&&(i=c.Element.synchronizer[e]),("text"===e||"password"===e)&&(this.events+=" keyup")):this.element.is("textarea")&&(this.events+=" keyup")),c.Value.prototype.initialize.call(this,null,b.extend(d||{},i)),this._value=this.get(),f=this.update,g=this.refresh,this.update=function(a){a!==g.call(h)&&f.apply(this,arguments)},this.refresh=function(){h.set(g.call(h))},this.bind(this.update),this.element.bind(this.events,this.refresh)},find:function(a){return b(a,this.element)},refresh:function(){},update:function(){}}),c.Element.synchronizer={},b.each(["html","val"],function(a,b){c.Element.synchronizer[b]={update:function(a){this.element[b](a)},refresh:function(){return this.element[b]()}}}),c.Element.synchronizer.checkbox={update:function(a){this.element.prop("checked",a)},refresh:function(){return this.element.prop("checked")}},c.Element.synchronizer.radio={update:function(a){this.element.filter(function(){return this.value===a}).prop("checked",!0)},refresh:function(){return this.element.filter(":checked").val()}},b.support.postMessage=!!window.postMessage,c.Messenger=c.Class.extend({add:function(a,b,d){return this[a]=new c.Value(b,d)},initialize:function(a,c){var d=window.parent==window?null:window.parent;b.extend(this,c||{}),this.add("channel",a.channel),this.add("url",a.url||""),this.add("targetWindow",a.targetWindow||d),this.add("origin",this.url()).link(this.url).setter(function(a){return a.replace(/([^:]+:\/\/[^\/]+).*/,"$1")}),this.receive=b.proxy(this.receive,this),this.receive.guid=b.guid++,b(window).on("message",this.receive)},destroy:function(){b(window).off("message",this.receive)},receive:function(a){var b;a=a.originalEvent,this.targetWindow()&&(this.origin()&&a.origin!==this.origin()||"string"==typeof a.data&&"{"===a.data[0]&&(b=JSON.parse(a.data),b&&b.id&&"undefined"!=typeof b.data&&(!b.channel&&!this.channel()||this.channel()===b.channel)&&this.trigger(b.id,b.data)))},send:function(a,b){var c;b="undefined"==typeof b?null:b,this.url()&&this.targetWindow()&&(c={id:a,data:b},this.channel()&&(c.channel=this.channel()),this.targetWindow().postMessage(JSON.stringify(c),this.origin()))}}),b.extend(c.Messenger.prototype,c.Events),c=b.extend(new c.Values,c),c.get=function(){var a={};return this.each(function(b,c){a[c]=b.get()}),a},a.customize=c}(wp,jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(a,b){var c,d,e={},f=Array.prototype.slice;c=function(){},d=function(a,d,e){var f;return f=d&&d.hasOwnProperty("constructor")?d.constructor:function(){var b=a.apply(this,arguments);return b},b.extend(f,a),c.prototype=a.prototype,f.prototype=new c,d&&b.extend(f.prototype,d),e&&b.extend(f,e),f.prototype.constructor=f,f.__super__=a.prototype,f},e.Class=function(a,c,d){var f,g=arguments;return a&&c&&e.Class.applicator===a&&(g=c,b.extend(this,d||{})),f=this,this.instance&&(f=function(){return f.instance.apply(f,arguments)},b.extend(f,this)),f.initialize.apply(f,g),f},e.Class.extend=function(a,b){var c=d(this,a,b);return c.extend=this.extend,c},e.Class.applicator={},e.Class.prototype.initialize=function(){},e.Class.prototype.extended=function(a){for(var b=this;"undefined"!=typeof b.constructor;){if(b.constructor===a)return!0;if("undefined"==typeof b.constructor.__super__)return!1;b=b.constructor.__super__}return!1},e.Events={trigger:function(a){return this.topics&&this.topics[a]&&this.topics[a].fireWith(this,f.call(arguments,1)),this},bind:function(a){return this.topics=this.topics||{},this.topics[a]=this.topics[a]||b.Callbacks(),this.topics[a].add.apply(this.topics[a],f.call(arguments,1)),this},unbind:function(a){return this.topics&&this.topics[a]&&this.topics[a].remove.apply(this.topics[a],f.call(arguments,1)),this}},e.Value=e.Class.extend({initialize:function(a,c){this._value=a,this.callbacks=b.Callbacks(),b.extend(this,c||{}),this.set=b.proxy(this.set,this)},instance:function(){return arguments.length?this.set.apply(this,arguments):this.get()},get:function(){return this._value},set:function(a){var b=this._value;return a=this._setter.apply(this,arguments),a=this.validate(a),null===a||this._value===a?this:(this._value=a,this.callbacks.fireWith(this,[a,b]),this)},_setter:function(a){return a},setter:function(a){var b=this.get();return this._setter=a,this._value=null,this.set(b),this},resetSetter:function(){return this._setter=this.constructor.prototype._setter,this.set(this.get()),this},validate:function(a){return a},bind:function(){return this.callbacks.add.apply(this.callbacks,arguments),this},unbind:function(){return this.callbacks.remove.apply(this.callbacks,arguments),this},link:function(){var a=this.set;return b.each(arguments,function(){this.bind(a)}),this},unlink:function(){var a=this.set;return b.each(arguments,function(){this.unbind(a)}),this},sync:function(){var a=this;return b.each(arguments,function(){a.link(this),this.link(a)}),this},unsync:function(){var a=this;return b.each(arguments,function(){a.unlink(this),this.unlink(a)}),this}}),e.Values=e.Class.extend({defaultConstructor:e.Value,initialize:function(a){b.extend(this,a||{}),this._value={},this._deferreds={}},instance:function(a){return 1===arguments.length?this.value(a):this.when.apply(this,arguments)},value:function(a){return this._value[a]},has:function(a){return"undefined"!=typeof this._value[a]},add:function(a,b){return this.has(a)?this.value(a):(this._value[a]=b,b.parent=this,b.extended(e.Value)&&b.bind(this._change),this.trigger("add",b),this._deferreds[a]&&this._deferreds[a].resolve(),this._value[a])},create:function(a){return this.add(a,new this.defaultConstructor(e.Class.applicator,f.call(arguments,1)))},each:function(a,c){c="undefined"==typeof c?this:c,b.each(this._value,function(b,d){a.call(c,d,b)})},remove:function(a){var b;this.has(a)&&(b=this.value(a),this.trigger("remove",b),b.extended(e.Value)&&b.unbind(this._change),delete b.parent),delete this._value[a],delete this._deferreds[a]},when:function(){var a=this,c=f.call(arguments),d=b.Deferred();return b.isFunction(c[c.length-1])&&d.done(c.pop()),b.when.apply(b,b.map(c,function(c){return a.has(c)?void 0:a._deferreds[c]=a._deferreds[c]||b.Deferred()})).done(function(){var e=b.map(c,function(b){return a(b)});return e.length!==c.length?void a.when.apply(a,c).done(function(){d.resolveWith(a,e)}):void d.resolveWith(a,e)}),d.promise()},_change:function(){this.parent.trigger("change",this)}}),b.extend(e.Values.prototype,e.Events),e.ensure=function(a){return"string"==typeof a?b(a):a},e.Element=e.Value.extend({initialize:function(a,c){var d,f,g,h=this,i=e.Element.synchronizer.html;this.element=e.ensure(a),this.events="",this.element.is("input, select, textarea")&&(this.events+="change",i=e.Element.synchronizer.val,this.element.is("input")?(d=this.element.prop("type"),e.Element.synchronizer[d]&&(i=e.Element.synchronizer[d]),("text"===d||"password"===d)&&(this.events+=" keyup")):this.element.is("textarea")&&(this.events+=" keyup")),e.Value.prototype.initialize.call(this,null,b.extend(c||{},i)),this._value=this.get(),f=this.update,g=this.refresh,this.update=function(a){a!==g.call(h)&&f.apply(this,arguments)},this.refresh=function(){h.set(g.call(h))},this.bind(this.update),this.element.bind(this.events,this.refresh)},find:function(a){return b(a,this.element)},refresh:function(){},update:function(){}}),e.Element.synchronizer={},b.each(["html","val"],function(a,b){e.Element.synchronizer[b]={update:function(a){this.element[b](a)},refresh:function(){return this.element[b]()}}}),e.Element.synchronizer.checkbox={update:function(a){this.element.prop("checked",a)},refresh:function(){return this.element.prop("checked")}},e.Element.synchronizer.radio={update:function(a){this.element.filter(function(){return this.value===a}).prop("checked",!0)},refresh:function(){return this.element.filter(":checked").val()}},b.support.postMessage=!!window.postMessage,e.Messenger=e.Class.extend({add:function(a,b,c){return this[a]=new e.Value(b,c)},initialize:function(a,c){var d=window.parent==window?null:window.parent;b.extend(this,c||{}),this.add("channel",a.channel),this.add("url",a.url||""),this.add("targetWindow",a.targetWindow||d),this.add("origin",this.url()).link(this.url).setter(function(a){return a.replace(/([^:]+:\/\/[^\/]+).*/,"$1")}),this.receive=b.proxy(this.receive,this),this.receive.guid=b.guid++,b(window).on("message",this.receive)},destroy:function(){b(window).off("message",this.receive)},receive:function(a){var b;a=a.originalEvent,this.targetWindow()&&(this.origin()&&a.origin!==this.origin()||"string"==typeof a.data&&"{"===a.data[0]&&(b=JSON.parse(a.data),b&&b.id&&"undefined"!=typeof b.data&&(!b.channel&&!this.channel()||this.channel()===b.channel)&&this.trigger(b.id,b.data)))},send:function(a,b){var c;b="undefined"==typeof b?null:b,this.url()&&this.targetWindow()&&(c={id:a,data:b},this.channel()&&(c.channel=this.channel()),this.targetWindow().postMessage(JSON.stringify(c),this.origin()))}}),b.extend(e.Messenger.prototype,e.Events),e=b.extend(new e.Values,e),e.get=function(){var a={};return this.each(function(b,c){a[c]=b.get()}),a},a.customize=e}(wp,jQuery);
\ No newline at end of file
diff --git a/wp-includes/js/customize-loader.js b/wp-includes/js/customize-loader.js
index cccf71acc..2ee0c0f90 100644
--- a/wp-includes/js/customize-loader.js
+++ b/wp-includes/js/customize-loader.js
@@ -1,4 +1,4 @@
-/* global _wpCustomizeLoaderSettings */
+/* global _wpCustomizeLoaderSettings, confirm */
 window.wp = window.wp || {};
 
 (function( exports, $ ){
@@ -10,7 +10,20 @@ window.wp = window.wp || {};
 		hashchange: ('onhashchange' in window) && (document.documentMode === undefined || document.documentMode > 7)
 	});
 
+	/**
+	 * Allows the Customizer to be overlayed on any page.
+	 *
+	 * By default, any element in the body with the load-customize class will open
+	 * the Customizer overlay with the URL specified.
+	 *
+	 *     e.g. <a class="load-customize" href="http://siteurl.com/2014/01/02/post">Open customizer</a>
+	 *
+	 * @augments wp.customize.Events
+	 */
 	Loader = $.extend( {}, api.Events, {
+		/**
+		 * Setup the Loader; triggered on document#ready.
+		 */
 		initialize: function() {
 			this.body = $( document.body );
 
@@ -23,9 +36,12 @@ window.wp = window.wp || {};
 			this.window  = $( window );
 			this.element = $( '<div id="customize-container" />' ).appendTo( this.body );
 
+			// Bind events for opening and closing the overlay.
 			this.bind( 'open', this.overlay.show );
 			this.bind( 'close', this.overlay.hide );
 
+			// Any element in the body with the `load-customize` class opens
+			// the Customizer.
 			$('#wpbody').on( 'click', '.load-customize', function( event ) {
 				event.preventDefault();
 
@@ -36,8 +52,9 @@ window.wp = window.wp || {};
 			});
 
 			// Add navigation listeners.
-			if ( $.support.history )
+			if ( $.support.history ) {
 				this.window.on( 'popstate', Loader.popstate );
+			}
 
 			if ( $.support.hashchange ) {
 				this.window.on( 'hashchange', Loader.hashchange );
@@ -47,35 +64,53 @@ window.wp = window.wp || {};
 
 		popstate: function( e ) {
 			var state = e.originalEvent.state;
-			if ( state && state.customize )
+			if ( state && state.customize ) {
 				Loader.open( state.customize );
-			else if ( Loader.active )
+			} else if ( Loader.active ) {
 				Loader.close();
+			}
 		},
 
 		hashchange: function() {
 			var hash = window.location.toString().split('#')[1];
 
-			if ( hash && 0 === hash.indexOf( 'wp_customize=on' ) )
+			if ( hash && 0 === hash.indexOf( 'wp_customize=on' ) ) {
 				Loader.open( Loader.settings.url + '?' + hash );
+			}
 
-			if ( ! hash && ! $.support.history )
+			if ( ! hash && ! $.support.history ){
 				Loader.close();
+			}
+		},
+
+		beforeunload: function () {
+			if ( ! Loader.saved() ) {
+				return Loader.settings.l10n.saveAlert;
+			}
 		},
 
+		/**
+		 * Open the customizer overlay for a specific URL.
+		 *
+		 * @param  string src URL to load in the Customizer.
+		 */
 		open: function( src ) {
-			var hash;
 
-			if ( this.active )
+			if ( this.active ) {
 				return;
+			}
 
 			// Load the full page on mobile devices.
-			if ( Loader.settings.browser.mobile )
+			if ( Loader.settings.browser.mobile ) {
 				return window.location = src;
+			}
 
 			this.active = true;
 			this.body.addClass('customize-loading');
 
+			// Dirty state of customizer in iframe
+			this.saved = new api.Value( true );
+
 			this.iframe = $( '<iframe />', { src: src }).appendTo( this.element );
 			this.iframe.one( 'load', this.loaded );
 
@@ -92,58 +127,103 @@ window.wp = window.wp || {};
 			});
 
 			this.messenger.bind( 'close', function() {
-				if ( $.support.history )
+				if ( $.support.history ) {
 					history.back();
-				else if ( $.support.hashchange )
+				} else if ( $.support.hashchange ) {
 					window.location.hash = '';
-				else
+				} else {
 					Loader.close();
-			});
+				}
+			} );
+
+			// Prompt AYS dialog when navigating away
+			$( window ).on( 'beforeunload', this.beforeunload );
 
 			this.messenger.bind( 'activated', function( location ) {
-				if ( location )
+				if ( location ) {
 					window.location = location;
+				}
 			});
 
-			hash = src.split('?')[1];
+			this.messenger.bind( 'saved', function () {
+				Loader.saved( true );
+			} );
+			this.messenger.bind( 'change', function () {
+				Loader.saved( false );
+			} );
+
+			this.pushState( src );
+
+			this.trigger( 'open' );
+		},
+
+		pushState: function ( src ) {
+			var hash;
 
 			// Ensure we don't call pushState if the user hit the forward button.
-			if ( $.support.history && window.location.href !== src )
+			if ( $.support.history && window.location.href !== src ) {
 				history.pushState( { customize: src }, '', src );
-			else if ( ! $.support.history && $.support.hashchange && hash )
+			} else if ( ! $.support.history && $.support.hashchange && hash ) {
+				hash = src.split( '?' )[1];
 				window.location.hash = 'wp_customize=on&' + hash;
-
-			this.trigger( 'open' );
+			}
 		},
 
+		/**
+		 * Callback after the customizer has been opened.
+		 */
 		opened: function() {
 			Loader.body.addClass( 'customize-active full-overlay-active' );
 		},
 
+		/**
+		 * Close the Customizer overlay and return focus to the link that opened it.
+		 */
 		close: function() {
-			if ( ! this.active )
+			if ( ! this.active ) {
+				return;
+			}
+
+			// Display AYS dialog if customizer is dirty
+			if ( ! this.saved() && ! confirm( Loader.settings.l10n.saveAlert ) ) {
+				// Go forward since Customizer is exited by history.back()
+				history.forward();
 				return;
+			}
+
 			this.active = false;
 
 			this.trigger( 'close' );
 
 			// Return focus to link that was originally clicked.
-			if ( this.link )
+			if ( this.link ) {
 				this.link.focus();
+			}
 		},
 
+		/**
+		 * Callback after the customizer has been closed.
+		 */
 		closed: function() {
 			Loader.iframe.remove();
 			Loader.messenger.destroy();
 			Loader.iframe    = null;
 			Loader.messenger = null;
+			Loader.saved     = null;
 			Loader.body.removeClass( 'customize-active full-overlay-active' ).removeClass( 'customize-loading' );
+			$( window ).off( 'beforeunload', Loader.beforeunload );
 		},
 
+		/**
+		 * Callback for the `load` event on the Customizer iframe.
+		 */
 		loaded: function() {
 			Loader.body.removeClass('customize-loading');
 		},
 
+		/**
+		 * Overlay hide/show utility methods.
+		 */
 		overlay: {
 			show: function() {
 				this.element.fadeIn( 200, Loader.opened );
@@ -155,11 +235,12 @@ window.wp = window.wp || {};
 		}
 	});
 
+	// Bootstrap the Loader on document#ready.
 	$( function() {
 		Loader.settings = _wpCustomizeLoaderSettings;
 		Loader.initialize();
 	});
 
-	// Expose the API to the world.
+	// Expose the API publicly on window.wp.customize.Loader
 	api.Loader = Loader;
 })( wp, jQuery );
diff --git a/wp-includes/js/customize-loader.min.js b/wp-includes/js/customize-loader.min.js
index 1ece98489..fc32b05b7 100644
--- a/wp-includes/js/customize-loader.min.js
+++ b/wp-includes/js/customize-loader.min.js
@@ -1 +1 @@
-window.wp=window.wp||{},function(a,b){var c,d=wp.customize;b.extend(b.support,{history:!(!window.history||!history.pushState),hashchange:"onhashchange"in window&&(void 0===document.documentMode||document.documentMode>7)}),c=b.extend({},d.Events,{initialize:function(){this.body=b(document.body),c.settings&&b.support.postMessage&&(b.support.cors||!c.settings.isCrossDomain)&&(this.window=b(window),this.element=b('<div id="customize-container" />').appendTo(this.body),this.bind("open",this.overlay.show),this.bind("close",this.overlay.hide),b("#wpbody").on("click",".load-customize",function(a){a.preventDefault(),c.link=b(this),c.open(c.link.attr("href"))}),b.support.history&&this.window.on("popstate",c.popstate),b.support.hashchange&&(this.window.on("hashchange",c.hashchange),this.window.triggerHandler("hashchange")))},popstate:function(a){var b=a.originalEvent.state;b&&b.customize?c.open(b.customize):c.active&&c.close()},hashchange:function(){var a=window.location.toString().split("#")[1];a&&0===a.indexOf("wp_customize=on")&&c.open(c.settings.url+"?"+a),a||b.support.history||c.close()},open:function(a){var e;if(!this.active){if(c.settings.browser.mobile)return window.location=a;this.active=!0,this.body.addClass("customize-loading"),this.iframe=b("<iframe />",{src:a}).appendTo(this.element),this.iframe.one("load",this.loaded),this.messenger=new d.Messenger({url:a,channel:"loader",targetWindow:this.iframe[0].contentWindow}),this.messenger.bind("ready",function(){c.messenger.send("back")}),this.messenger.bind("close",function(){b.support.history?history.back():b.support.hashchange?window.location.hash="":c.close()}),this.messenger.bind("activated",function(a){a&&(window.location=a)}),e=a.split("?")[1],b.support.history&&window.location.href!==a?history.pushState({customize:a},"",a):!b.support.history&&b.support.hashchange&&e&&(window.location.hash="wp_customize=on&"+e),this.trigger("open")}},opened:function(){c.body.addClass("customize-active full-overlay-active")},close:function(){this.active&&(this.active=!1,this.trigger("close"),this.link&&this.link.focus())},closed:function(){c.iframe.remove(),c.messenger.destroy(),c.iframe=null,c.messenger=null,c.body.removeClass("customize-active full-overlay-active").removeClass("customize-loading")},loaded:function(){c.body.removeClass("customize-loading")},overlay:{show:function(){this.element.fadeIn(200,c.opened)},hide:function(){this.element.fadeOut(200,c.closed)}}}),b(function(){c.settings=_wpCustomizeLoaderSettings,c.initialize()}),d.Loader=c}(wp,jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(a,b){var c,d=wp.customize;b.extend(b.support,{history:!(!window.history||!history.pushState),hashchange:"onhashchange"in window&&(void 0===document.documentMode||document.documentMode>7)}),c=b.extend({},d.Events,{initialize:function(){this.body=b(document.body),c.settings&&b.support.postMessage&&(b.support.cors||!c.settings.isCrossDomain)&&(this.window=b(window),this.element=b('<div id="customize-container" />').appendTo(this.body),this.bind("open",this.overlay.show),this.bind("close",this.overlay.hide),b("#wpbody").on("click",".load-customize",function(a){a.preventDefault(),c.link=b(this),c.open(c.link.attr("href"))}),b.support.history&&this.window.on("popstate",c.popstate),b.support.hashchange&&(this.window.on("hashchange",c.hashchange),this.window.triggerHandler("hashchange")))},popstate:function(a){var b=a.originalEvent.state;b&&b.customize?c.open(b.customize):c.active&&c.close()},hashchange:function(){var a=window.location.toString().split("#")[1];a&&0===a.indexOf("wp_customize=on")&&c.open(c.settings.url+"?"+a),a||b.support.history||c.close()},beforeunload:function(){return c.saved()?void 0:c.settings.l10n.saveAlert},open:function(a){if(!this.active){if(c.settings.browser.mobile)return window.location=a;this.active=!0,this.body.addClass("customize-loading"),this.saved=new d.Value(!0),this.iframe=b("<iframe />",{src:a}).appendTo(this.element),this.iframe.one("load",this.loaded),this.messenger=new d.Messenger({url:a,channel:"loader",targetWindow:this.iframe[0].contentWindow}),this.messenger.bind("ready",function(){c.messenger.send("back")}),this.messenger.bind("close",function(){b.support.history?history.back():b.support.hashchange?window.location.hash="":c.close()}),b(window).on("beforeunload",this.beforeunload),this.messenger.bind("activated",function(a){a&&(window.location=a)}),this.messenger.bind("saved",function(){c.saved(!0)}),this.messenger.bind("change",function(){c.saved(!1)}),this.pushState(a),this.trigger("open")}},pushState:function(a){var c;b.support.history&&window.location.href!==a?history.pushState({customize:a},"",a):!b.support.history&&b.support.hashchange&&c&&(c=a.split("?")[1],window.location.hash="wp_customize=on&"+c)},opened:function(){c.body.addClass("customize-active full-overlay-active")},close:function(){if(this.active){if(!this.saved()&&!confirm(c.settings.l10n.saveAlert))return void history.forward();this.active=!1,this.trigger("close"),this.link&&this.link.focus()}},closed:function(){c.iframe.remove(),c.messenger.destroy(),c.iframe=null,c.messenger=null,c.saved=null,c.body.removeClass("customize-active full-overlay-active").removeClass("customize-loading"),b(window).off("beforeunload",c.beforeunload)},loaded:function(){c.body.removeClass("customize-loading")},overlay:{show:function(){this.element.fadeIn(200,c.opened)},hide:function(){this.element.fadeOut(200,c.closed)}}}),b(function(){c.settings=_wpCustomizeLoaderSettings,c.initialize()}),d.Loader=c}(wp,jQuery);
\ No newline at end of file
diff --git a/wp-includes/js/customize-preview-widgets.js b/wp-includes/js/customize-preview-widgets.js
index cccc5962f..92267e88f 100644
--- a/wp-includes/js/customize-preview-widgets.js
+++ b/wp-includes/js/customize-preview-widgets.js
@@ -23,11 +23,6 @@
 			this.buildWidgetSelectors();
 			this.highlightControls();
 
-			this.preview.bind( 'active', function() {
-				self.preview.send( 'rendered-sidebars', self.renderedSidebars ); // @todo Only send array of IDs
-				self.preview.send( 'rendered-widgets', self.renderedWidgets ); // @todo Only send array of IDs
-			} );
-
 			this.preview.bind( 'highlight-widget', self.highlightWidget );
 		},
 
diff --git a/wp-includes/js/customize-preview-widgets.min.js b/wp-includes/js/customize-preview-widgets.min.js
index 890f5b548..6659171bb 100644
--- a/wp-includes/js/customize-preview-widgets.min.js
+++ b/wp-includes/js/customize-preview-widgets.min.js
@@ -1 +1 @@
-!function(a,b){if(a&&a.customize){var c,d=a.customize;d.WidgetCustomizerPreview={renderedSidebars:{},renderedWidgets:{},registeredSidebars:[],registeredWidgets:{},widgetSelectors:[],preview:null,l10n:{},init:function(){var a=this;this.buildWidgetSelectors(),this.highlightControls(),this.preview.bind("active",function(){a.preview.send("rendered-sidebars",a.renderedSidebars),a.preview.send("rendered-widgets",a.renderedWidgets)}),this.preview.bind("highlight-widget",a.highlightWidget)},buildWidgetSelectors:function(){var a=this;b.each(this.registeredSidebars,function(c,d){var e,f,g,h=[d.before_widget.replace("%1$s","").replace("%2$s",""),d.before_title,d.after_title,d.after_widget].join("");e=b(h),f=e.prop("tagName"),g=e.prop("className"),g&&(g=g.replace(/^\s+|\s+$/g,""),g&&(f+="."+g.split(/\s+/).join(".")),a.widgetSelectors.push(f))})},highlightWidget:function(a){var c=b(document.body),d=b("#"+a);c.find(".widget-customizer-highlighted-widget").removeClass("widget-customizer-highlighted-widget"),d.addClass("widget-customizer-highlighted-widget"),setTimeout(function(){d.removeClass("widget-customizer-highlighted-widget")},500)},highlightControls:function(){var a=this,c=this.widgetSelectors.join(",");b(c).attr("title",this.l10n.widgetTooltip),b(document).on("mouseenter",c,function(){a.preview.send("highlight-widget-control",b(this).prop("id"))}),b(document).on("click",c,function(c){c.shiftKey&&(c.preventDefault(),a.preview.send("focus-widget-control",b(this).prop("id")))})}},c=d.Preview,d.Preview=c.extend({initialize:function(a,b){d.WidgetCustomizerPreview.preview=this,c.prototype.initialize.call(this,a,b)}}),b(function(){var a=window._wpWidgetCustomizerPreviewSettings;a&&(b.extend(d.WidgetCustomizerPreview,a),d.WidgetCustomizerPreview.init())})}}(window.wp,jQuery);
\ No newline at end of file
+!function(a,b){if(a&&a.customize){var c,d=a.customize;d.WidgetCustomizerPreview={renderedSidebars:{},renderedWidgets:{},registeredSidebars:[],registeredWidgets:{},widgetSelectors:[],preview:null,l10n:{},init:function(){var a=this;this.buildWidgetSelectors(),this.highlightControls(),this.preview.bind("highlight-widget",a.highlightWidget)},buildWidgetSelectors:function(){var a=this;b.each(this.registeredSidebars,function(c,d){var e,f,g,h=[d.before_widget.replace("%1$s","").replace("%2$s",""),d.before_title,d.after_title,d.after_widget].join("");e=b(h),f=e.prop("tagName"),g=e.prop("className"),g&&(g=g.replace(/^\s+|\s+$/g,""),g&&(f+="."+g.split(/\s+/).join(".")),a.widgetSelectors.push(f))})},highlightWidget:function(a){var c=b(document.body),d=b("#"+a);c.find(".widget-customizer-highlighted-widget").removeClass("widget-customizer-highlighted-widget"),d.addClass("widget-customizer-highlighted-widget"),setTimeout(function(){d.removeClass("widget-customizer-highlighted-widget")},500)},highlightControls:function(){var a=this,c=this.widgetSelectors.join(",");b(c).attr("title",this.l10n.widgetTooltip),b(document).on("mouseenter",c,function(){a.preview.send("highlight-widget-control",b(this).prop("id"))}),b(document).on("click",c,function(c){c.shiftKey&&(c.preventDefault(),a.preview.send("focus-widget-control",b(this).prop("id")))})}},c=d.Preview,d.Preview=c.extend({initialize:function(a,b){d.WidgetCustomizerPreview.preview=this,c.prototype.initialize.call(this,a,b)}}),b(function(){var a=window._wpWidgetCustomizerPreviewSettings;a&&(b.extend(d.WidgetCustomizerPreview,a),d.WidgetCustomizerPreview.init())})}}(window.wp,jQuery);
\ No newline at end of file
diff --git a/wp-includes/js/customize-preview.js b/wp-includes/js/customize-preview.js
index 1d274f9c6..6da26f47a 100644
--- a/wp-includes/js/customize-preview.js
+++ b/wp-includes/js/customize-preview.js
@@ -2,6 +2,11 @@
 	var api = wp.customize,
 		debounce;
 
+	/**
+	 * Returns a debounced version of the function.
+	 *
+	 * @todo Require Underscore.js for this file and retire this.
+	 */
 	debounce = function( fn, delay, context ) {
 		var timeout;
 		return function() {
@@ -17,6 +22,12 @@
 		};
 	};
 
+	/**
+	 * @constructor
+	 * @augments wp.customize.Messenger
+	 * @augments wp.customize.Class
+	 * @mixes wp.customize.Events
+	 */
 	api.Preview = api.Messenger.extend({
 		/**
 		 * Requires params:
@@ -95,7 +106,9 @@
                 preview.send( 'nonce', api.settings.nonce );
         });
 
-		preview.send( 'ready' );
+		preview.send( 'ready', {
+			activeControls: api.settings.activeControls
+		} );
 
 		/* Custom Backgrounds */
 		bg = $.map(['color', 'image', 'position_x', 'repeat', 'attachment'], function( prop ) {
diff --git a/wp-includes/js/customize-preview.min.js b/wp-includes/js/customize-preview.min.js
index 27a42c482..fabf29654 100644
--- a/wp-includes/js/customize-preview.min.js
+++ b/wp-includes/js/customize-preview.min.js
@@ -1 +1 @@
-!function(a,b){var c,d=wp.customize;c=function(a,b,c){var d;return function(){var e=arguments;c=c||this,clearTimeout(d),d=setTimeout(function(){d=null,a.apply(c,e)},b)}},d.Preview=d.Messenger.extend({initialize:function(a,e){var f=this;d.Messenger.prototype.initialize.call(this,a,e),this.body=b(document.body),this.body.on("click.preview","a",function(a){a.preventDefault(),f.send("scroll",0),f.send("url",b(this).prop("href"))}),this.body.on("submit.preview","form",function(a){a.preventDefault()}),this.window=b(window),this.window.on("scroll.preview",c(function(){f.send("scroll",f.window.scrollTop())},200)),this.bind("scroll",function(a){f.window.scrollTop(a)})}}),b(function(){if(d.settings=window._wpCustomizeSettings,d.settings){var a,c;a=new d.Preview({url:window.location.href,channel:d.settings.channel}),a.bind("settings",function(a){b.each(a,function(a,b){d.has(a)?d(a).set(b):d.create(a,b)})}),a.trigger("settings",d.settings.values),a.bind("setting",function(a){var b;a=a.slice(),(b=d(a.shift()))&&b.set.apply(b,a)}),a.bind("sync",function(c){b.each(c,function(b,c){a.trigger(b,c)}),a.send("synced")}),a.bind("active",function(){d.settings.nonce&&a.send("nonce",d.settings.nonce)}),a.send("ready"),c=b.map(["color","image","position_x","repeat","attachment"],function(a){return"background_"+a}),d.when.apply(d,c).done(function(a,c,d,e,f){var g,h=b(document.body),i=b("head"),j=b("#custom-background-css");g=function(){var g="";h.toggleClass("custom-background",!(!a()&&!c())),a()&&(g+="background-color: "+a()+";"),c()&&(g+='background-image: url("'+c()+'");',g+="background-position: top "+d()+";",g+="background-repeat: "+e()+";",g+="background-attachment: "+f()+";"),j.remove(),j=b('<style type="text/css" id="custom-background-css">body.custom-background { '+g+" }</style>").appendTo(i)},b.each(arguments,function(){this.bind(g)})})}})}(wp,jQuery);
\ No newline at end of file
+!function(a,b){var c,d=wp.customize;c=function(a,b,c){var d;return function(){var e=arguments;c=c||this,clearTimeout(d),d=setTimeout(function(){d=null,a.apply(c,e)},b)}},d.Preview=d.Messenger.extend({initialize:function(a,e){var f=this;d.Messenger.prototype.initialize.call(this,a,e),this.body=b(document.body),this.body.on("click.preview","a",function(a){a.preventDefault(),f.send("scroll",0),f.send("url",b(this).prop("href"))}),this.body.on("submit.preview","form",function(a){a.preventDefault()}),this.window=b(window),this.window.on("scroll.preview",c(function(){f.send("scroll",f.window.scrollTop())},200)),this.bind("scroll",function(a){f.window.scrollTop(a)})}}),b(function(){if(d.settings=window._wpCustomizeSettings,d.settings){var a,c;a=new d.Preview({url:window.location.href,channel:d.settings.channel}),a.bind("settings",function(a){b.each(a,function(a,b){d.has(a)?d(a).set(b):d.create(a,b)})}),a.trigger("settings",d.settings.values),a.bind("setting",function(a){var b;a=a.slice(),(b=d(a.shift()))&&b.set.apply(b,a)}),a.bind("sync",function(c){b.each(c,function(b,c){a.trigger(b,c)}),a.send("synced")}),a.bind("active",function(){d.settings.nonce&&a.send("nonce",d.settings.nonce)}),a.send("ready",{activeControls:d.settings.activeControls}),c=b.map(["color","image","position_x","repeat","attachment"],function(a){return"background_"+a}),d.when.apply(d,c).done(function(a,c,d,e,f){var g,h=b(document.body),i=b("head"),j=b("#custom-background-css");g=function(){var g="";h.toggleClass("custom-background",!(!a()&&!c())),a()&&(g+="background-color: "+a()+";"),c()&&(g+='background-image: url("'+c()+'");',g+="background-position: top "+d()+";",g+="background-repeat: "+e()+";",g+="background-attachment: "+f()+";"),j.remove(),j=b('<style type="text/css" id="custom-background-css">body.custom-background { '+g+" }</style>").appendTo(i)},b.each(arguments,function(){this.bind(g)})})}})}(wp,jQuery);
\ No newline at end of file
diff --git a/wp-includes/js/heartbeat.js b/wp-includes/js/heartbeat.js
index c097973f1..63ee4f523 100644
--- a/wp-includes/js/heartbeat.js
+++ b/wp-includes/js/heartbeat.js
@@ -63,7 +63,7 @@
 				// Whether a connection is currently in progress
 				connecting: false,
 
-				// Whether a connection error occured
+				// Whether a connection error occurred
 				connectionError: false,
 
 				// Used to track non-critical errors
diff --git a/wp-includes/js/jquery/jquery.js b/wp-includes/js/jquery/jquery.js
index 4ea18eb80..e4155d369 100644
--- a/wp-includes/js/jquery/jquery.js
+++ b/wp-includes/js/jquery/jquery.js
@@ -1,5 +1,5 @@
-/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
-!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="<select t=''><option selected=''></option></select>",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},z=b?function(a,b){if(a===b)return j=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=jb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=kb(b);function nb(){}nb.prototype=d.filters=d.pseudos,d.setFilters=new nb;function ob(a,b){var c,e,f,g,h,i,j,k=x[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=Q.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?db.error(a):x(a,i).slice(0)}function pb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return y.find(a);this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body)return setTimeout(n.ready);n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===z.readyState)setTimeout(n.ready);else if(z.addEventListener)z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1);else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}return I.promise(b)};var L="undefined",M;for(M in n(l))break;l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f
-}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=["Top","Right","Bottom","Left"],V=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},W=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="  <link/><table></table><a href='/a'>a</a>",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=$.test(e)?this.mouseHooks:Z.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||z),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||z,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==db()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===db()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=z.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===L&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&(a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault())?bb:cb):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:cb,isPropagationStopped:cb,isImmediatePropagationStopped:cb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=bb,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=bb,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submitBubbles||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?b.form:void 0;c&&!n._data(c,"submitBubbles")&&(n.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),n._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.changeBubbles||(n.event.special.change={setup:function(){return Y.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),n.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),n.event.simulate("change",this,a,!0)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;Y.test(b.nodeName)&&!n._data(b,"changeBubbles")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a,!0)}),n._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return n.event.remove(this,"._change"),!Y.test(this.nodeName)}}),l.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEventListener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=cb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return n().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=cb),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});function eb(a){var b=fb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var fb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gb=/ jQuery\d+="(?:null|\d+)"/g,hb=new RegExp("<(?:"+fb+")[\\s/>]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/<tbody/i,mb=/<|&#?\w+;/,nb=/<(?:script|style|link)/i,ob=/checked\s*(?:[^=]|=\s*.checked.)/i,pb=/^$|\/(?:java|ecma)script/i,qb=/^true\/(.*)/,rb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,sb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1></$2>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?"<table>"!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Db[0].contentWindow||Db[0].contentDocument).document,b.write(),b.close(),c=Fb(a,b),Db.detach()),Eb[a]=c),c}!function(){var a,b,c=z.createElement("div"),d="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;padding:0;margin:0;border:0";c.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],a.style.cssText="float:left;opacity:.5",l.opacity=/^0.5/.test(a.style.opacity),l.cssFloat=!!a.style.cssFloat,c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===c.style.backgroundClip,a=c=null,l.shrinkWrapBlocks=function(){var a,c,e,f;if(null==b){if(a=z.getElementsByTagName("body")[0],!a)return;f="border:0;width:0;height:0;position:absolute;top:0;left:-9999px",c=z.createElement("div"),e=z.createElement("div"),a.appendChild(c).appendChild(e),b=!1,typeof e.style.zoom!==L&&(e.style.cssText=d+";width:1px;padding:1px;zoom:1",e.innerHTML="<div></div>",e.firstChild.style.width="5px",b=3!==e.offsetWidth),a.removeChild(c),a=c=e=null}return b}}();var Hb=/^margin/,Ib=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Jb,Kb,Lb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Jb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Kb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Jb(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),Ib.test(g)&&Hb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):z.documentElement.currentStyle&&(Jb=function(a){return a.currentStyle},Kb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Jb(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ib.test(g)&&!Lb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Mb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h=z.createElement("div"),i="border:0;width:0;height:0;position:absolute;top:0;left:-9999px",j="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;padding:0;margin:0;border:0";h.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",b=h.getElementsByTagName("a")[0],b.style.cssText="float:left;opacity:.5",l.opacity=/^0.5/.test(b.style.opacity),l.cssFloat=!!b.style.cssFloat,h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===h.style.backgroundClip,b=h=null,n.extend(l,{reliableHiddenOffsets:function(){if(null!=c)return c;var a,b,d,e=z.createElement("div"),f=z.getElementsByTagName("body")[0];if(f)return e.setAttribute("className","t"),e.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=z.createElement("div"),a.style.cssText=i,f.appendChild(a).appendChild(e),e.innerHTML="<table><tr><td></td><td>t</td></tr></table>",b=e.getElementsByTagName("td"),b[0].style.cssText="padding:0;margin:0;border:0;display:none",d=0===b[0].offsetHeight,b[0].style.display="",b[1].style.display="none",c=d&&0===b[0].offsetHeight,f.removeChild(a),e=f=null,c},boxSizing:function(){return null==d&&k(),d},boxSizingReliable:function(){return null==e&&k(),e},pixelPosition:function(){return null==f&&k(),f},reliableMarginRight:function(){var b,c,d,e;if(null==g&&a.getComputedStyle){if(b=z.getElementsByTagName("body")[0],!b)return;c=z.createElement("div"),d=z.createElement("div"),c.style.cssText=i,b.appendChild(c).appendChild(d),e=d.appendChild(z.createElement("div")),e.style.cssText=d.style.cssText=j,e.style.marginRight=e.style.width="0",d.style.width="1px",g=!parseFloat((a.getComputedStyle(e,null)||{}).marginRight),b.removeChild(c)}return g}});function k(){var b,c,h=z.getElementsByTagName("body")[0];h&&(b=z.createElement("div"),c=z.createElement("div"),b.style.cssText=i,h.appendChild(b).appendChild(c),c.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;display:block;padding:1px;border:1px;width:4px;margin-top:1%;top:1%",n.swap(h,null!=h.style.zoom?{zoom:1}:{},function(){d=4===c.offsetWidth}),e=!0,f=!1,g=!0,a.getComputedStyle&&(f="1%"!==(a.getComputedStyle(c,null)||{}).top,e="4px"===(a.getComputedStyle(c,null)||{width:"4px"}).width),h.removeChild(b),c=h=null)}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Nb=/alpha\([^)]*\)/i,Ob=/opacity\s*=\s*([^)]*)/,Pb=/^(none|table(?!-c[ea]).+)/,Qb=new RegExp("^("+T+")(.*)$","i"),Rb=new RegExp("^([+-])=("+T+")","i"),Sb={position:"absolute",visibility:"hidden",display:"block"},Tb={letterSpacing:0,fontWeight:400},Ub=["Webkit","O","Moz","ms"];function Vb(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ub.length;while(e--)if(b=Ub[e]+c,b in a)return b;return d}function Wb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&V(d)&&(f[g]=n._data(d,"olddisplay",Gb(d.nodeName)))):f[g]||(e=V(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Xb(a,b,c){var d=Qb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Yb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+U[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+U[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+U[f]+"Width",!0,e))):(g+=n.css(a,"padding"+U[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+U[f]+"Width",!0,e)));return g}function Zb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Jb(a),g=l.boxSizing()&&"border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Kb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ib.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Yb(a,b,c||(g?"border":"content"),d,f)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Kb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;if(b=n.cssProps[h]||(n.cssProps[h]=Vb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Rb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]="",i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Vb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Kb(a,b,d)),"normal"===f&&b in Tb&&(f=Tb[b]),""===c||c?(e=parseFloat(f),c===!0||n.isNumeric(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?0===a.offsetWidth&&Pb.test(n.css(a,"display"))?n.swap(a,Sb,function(){return Zb(a,b,d)}):Zb(a,b,d):void 0},set:function(a,c,d){var e=d&&Jb(a);return Xb(a,c,d?Yb(a,b,d,l.boxSizing()&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Ob.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Nb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Nb.test(f)?f.replace(Nb,e):f+" "+e)}}),n.cssHooks.marginRight=Mb(l.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},Kb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+U[d]+b]=f[d]||f[d-2]||f[0];return e}},Hb.test(a)||(n.cssHooks[a+b].set=Xb)}),n.fn.extend({css:function(a,b){return W(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Jb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)
-},a,b,arguments.length>1)},show:function(){return Wb(this,!0)},hide:function(){return Wb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}});function $b(a,b,c,d,e){return new $b.prototype.init(a,b,c,d,e)}n.Tween=$b,$b.prototype={constructor:$b,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=$b.propHooks[this.prop];return a&&a.get?a.get(this):$b.propHooks._default.get(this)},run:function(a){var b,c=$b.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):$b.propHooks._default.set(this),this}},$b.prototype.init.prototype=$b.prototype,$b.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},$b.propHooks.scrollTop=$b.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=$b.prototype.init,n.fx.step={};var _b,ac,bc=/^(?:toggle|show|hide)$/,cc=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),dc=/queueHooks$/,ec=[jc],fc={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=cc.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&cc.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function gc(){return setTimeout(function(){_b=void 0}),_b=n.now()}function hc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=U[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function ic(a,b,c){for(var d,e=(fc[b]||[]).concat(fc["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function jc(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&V(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k=Gb(a.nodeName),"none"===j&&(j=k),"inline"===j&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==k?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],bc.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}if(!n.isEmptyObject(o)){r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=ic(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function kc(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function lc(a,b,c){var d,e,f=0,g=ec.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=_b||gc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:_b||gc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(kc(k,j.opts.specialEasing);g>f;f++)if(d=ec[f].call(j,a,k,j.opts))return d;return n.map(k,ic,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(lc,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],fc[c]=fc[c]||[],fc[c].unshift(b)},prefilter:function(a,b){b?ec.unshift(a):ec.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(V).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=lc(this,n.extend({},a),f);(e||n._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&dc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(hc(b,!0),a,d,e)}}),n.each({slideDown:hc("show"),slideUp:hc("hide"),slideToggle:hc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(_b=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),_b=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ac||(ac=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(ac),ac=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e=z.createElement("div");e.setAttribute("className","t"),e.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=e.getElementsByTagName("a")[0],c=z.createElement("select"),d=c.appendChild(z.createElement("option")),b=e.getElementsByTagName("input")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==e.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=d.selected,l.enctype=!!z.createElement("form").enctype,c.disabled=!0,l.optDisabled=!d.disabled,b=z.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value,a=b=c=d=e=null}();var mc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(mc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.text(a)}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(l.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var nc,oc,pc=n.expr.attrHandle,qc=/^(?:checked|selected)$/i,rc=l.getSetAttribute,sc=l.input;n.fn.extend({attr:function(a,b){return W(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===L?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?oc:nc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(F);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?sc&&rc||!qc.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.removeAttribute(rc?c:d)},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),oc={set:function(a,b,c){return b===!1?n.removeAttr(a,c):sc&&rc||!qc.test(c)?a.setAttribute(!rc&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=pc[b]||n.find.attr;pc[b]=sc&&rc||!qc.test(b)?function(a,b,d){var e,f;return d||(f=pc[b],pc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,pc[b]=f),e}:function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),sc&&rc||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):nc&&nc.set(a,b,c)}}),rc||(nc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},pc.id=pc.name=pc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:nc.set},n.attrHooks.contenteditable={set:function(a,b,c){nc.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var tc=/^(?:input|select|textarea|button|object)$/i,uc=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return W(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):tc.test(a.nodeName)||uc.test(a.nodeName)&&a.href?0:-1}}}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var vc=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(F)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(vc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(F)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(vc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(F)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===L||"boolean"===c)&&(this.className&&n._data(this,"__className__",this.className),this.className=this.className||a===!1?"":n._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(vc," ").indexOf(b)>=0)return!0;return!1}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var wc=n.now(),xc=/\?/,yc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(yc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var zc,Ac,Bc=/#.*$/,Cc=/([?&])_=[^&]*/,Dc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Ec=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Fc=/^(?:GET|HEAD)$/,Gc=/^\/\//,Hc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ic={},Jc={},Kc="*/".concat("*");try{Ac=location.href}catch(Lc){Ac=z.createElement("a"),Ac.href="",Ac=Ac.href}zc=Hc.exec(Ac.toLowerCase())||[];function Mc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(F)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nc(a,b,c,d){var e={},f=a===Jc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Oc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Pc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Qc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ac,type:"GET",isLocal:Ec.test(zc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Oc(Oc(a,n.ajaxSettings),b):Oc(n.ajaxSettings,a)},ajaxPrefilter:Mc(Ic),ajaxTransport:Mc(Jc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Dc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||Ac)+"").replace(Bc,"").replace(Gc,zc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(F)||[""],null==k.crossDomain&&(c=Hc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===zc[1]&&c[2]===zc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(zc[3]||("http:"===zc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),Nc(Ic,k,b,v),2===t)return v;h=k.global,h&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Fc.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(xc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Cc.test(e)?e.replace(Cc,"$1_="+wc++):e+(xc.test(e)?"&":"?")+"_="+wc++)),k.ifModified&&(n.lastModified[e]&&v.setRequestHeader("If-Modified-Since",n.lastModified[e]),n.etag[e]&&v.setRequestHeader("If-None-Match",n.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Kc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Nc(Jc,k,b,v)){v.readyState=1,h&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Pc(k,v,c)),u=Qc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(n.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!l.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||n.css(a,"display"))},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var Rc=/%20/g,Sc=/\[\]$/,Tc=/\r?\n/g,Uc=/^(?:submit|button|image|reset|file)$/i,Vc=/^(?:input|select|textarea|keygen)/i;function Wc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||Sc.test(a)?d(a,e):Wc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Wc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Wc(c,a[c],b,e);return d.join("&").replace(Rc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Vc.test(this.nodeName)&&!Uc.test(a)&&(this.checked||!X.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(Tc,"\r\n")}}):{name:b.name,value:c.replace(Tc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&$c()||_c()}:$c;var Xc=0,Yc={},Zc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on("unload",function(){for(var a in Yc)Yc[a](void 0,!0)}),l.cors=!!Zc&&"withCredentials"in Zc,Zc=l.ajax=!!Zc,Zc&&n.ajaxTransport(function(a){if(!a.crossDomain||l.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Xc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Yc[g],b=void 0,f.onreadystatechange=n.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Yc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function $c(){try{return new a.XMLHttpRequest}catch(b){}}function _c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=z.head||n("head")[0]||z.documentElement;return{send:function(d,e){b=z.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var ad=[],bd=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=ad.pop()||n.expando+"_"+wc++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(bd.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&bd.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(bd,"$1"+e):b.jsonp!==!1&&(b.url+=(xc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,ad.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||z;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var cd=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&cd)return cd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=a.slice(h,a.length),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&n.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var dd=a.document.documentElement;function ed(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?(typeof e.getBoundingClientRect!==L&&(d=e.getBoundingClientRect()),c=ed(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||dd;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||dd})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return W(this,function(a,d,e){var f=ed(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Mb(l.pixelPosition,function(a,c){return c?(c=Kb(a,b),Ib.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return W(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var fd=a.jQuery,gd=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=gd),b&&a.jQuery===n&&(a.jQuery=fd),n},typeof b===L&&(a.jQuery=a.$=n),n});
+/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
+!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;
+if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e)}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")
+},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.ActiveXObject&&m(a).on("unload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m});
 jQuery.noConflict();
diff --git a/wp-includes/js/jquery/suggest.js b/wp-includes/js/jquery/suggest.js
index 60e15c1f8..87f30122c 100644
--- a/wp-includes/js/jquery/suggest.js
+++ b/wp-includes/js/jquery/suggest.js
@@ -240,11 +240,11 @@
 			if ($currentResult) {
 				if ( options.multiple ) {
 					if ( $input.val().indexOf(options.multipleSep) != -1 ) {
-						$currentVal = $input.val().substr( 0, ( $input.val().lastIndexOf(options.multipleSep) + options.multipleSep.length ) );
+						$currentVal = $input.val().substr( 0, ( $input.val().lastIndexOf(options.multipleSep) + options.multipleSep.length ) ) + ' ';
 					} else {
 						$currentVal = "";
 					}
-					$input.val( $currentVal + $currentResult.text() + options.multipleSep);
+					$input.val( $currentVal + $currentResult.text() + options.multipleSep + ' ' );
 					$input.focus();
 				} else {
 					$input.val($currentResult.text());
@@ -294,7 +294,7 @@
 
 		options = options || {};
 		options.multiple = options.multiple || false;
-		options.multipleSep = options.multipleSep || ", ";
+		options.multipleSep = options.multipleSep || ",";
 		options.source = source;
 		options.delay = options.delay || 100;
 		options.resultsClass = options.resultsClass || 'ac_results';
diff --git a/wp-includes/js/mce-view.js b/wp-includes/js/mce-view.js
index ec167ca47..85484ef42 100644
--- a/wp-includes/js/mce-view.js
+++ b/wp-includes/js/mce-view.js
@@ -1,4 +1,4 @@
-/* global tinymce, MediaElementPlayer, WPPlaylistView */
+/* global tinymce */
 /**
  * Note: this API is "experimental" meaning that it will probably change
  * in the next few releases based on feedback from 3.9.0.
@@ -8,7 +8,9 @@
 // Ensure the global `wp` object exists.
 window.wp = window.wp || {};
 
-(function($){
+( function( $ ) {
+	'use strict';
+
 	var views = {},
 		instances = {},
 		media = wp.media,
@@ -22,34 +24,237 @@ window.wp = window.wp || {};
 	 *
 	 * A Backbone-like View constructor intended for use when rendering a TinyMCE View. The main difference is
 	 * that the TinyMCE View is not tied to a particular DOM node.
+	 *
+	 * @param {Object} [options={}]
 	 */
 	wp.mce.View = function( options ) {
-		options || (options = {});
-		_.extend(this, _.pick(options, viewOptions));
-		this.initialize.apply(this, arguments);
+		options = options || {};
+		this.type = options.type;
+		_.extend( this, _.pick( options, viewOptions ) );
+		this.initialize.apply( this, arguments );
 	};
 
 	_.extend( wp.mce.View.prototype, {
 		initialize: function() {},
-		getHtml: function() {},
-		render: function() {
-			var html = this.getHtml();
-			// Search all tinymce editor instances and update the placeholders
+		getHtml: function() {
+			return '';
+		},
+		loadingPlaceholder: function() {
+			return '' +
+				'<div class="loading-placeholder">' +
+					'<div class="dashicons dashicons-admin-media"></div>' +
+					'<div class="wpview-loading"><ins></ins></div>' +
+				'</div>';
+		},
+		render: function( force ) {
+			if ( force || ! this.rendered() ) {
+				this.unbind();
+
+				this.setContent(
+					'<p class="wpview-selection-before">\u00a0</p>' +
+					'<div class="wpview-body" contenteditable="false">' +
+						'<div class="toolbar">' +
+							( _.isFunction( views[ this.type ].edit ) ? '<div class="dashicons dashicons-edit edit"></div>' : '' ) +
+							'<div class="dashicons dashicons-no-alt remove"></div>' +
+						'</div>' +
+						'<div class="wpview-content wpview-type-' + this.type + '">' +
+							( this.getHtml() || this.loadingPlaceholder() ) +
+						'</div>' +
+						( this.overlay ? '<div class="wpview-overlay"></div>' : '' ) +
+					'</div>' +
+					'<p class="wpview-selection-after">\u00a0</p>',
+					'wrap'
+				);
+
+				$( this ).trigger( 'ready' );
+
+				this.rendered( true );
+			}
+		},
+		unbind: function() {},
+		getEditors: function( callback ) {
+			var editors = [];
+
 			_.each( tinymce.editors, function( editor ) {
-				var doc, self = this;
 				if ( editor.plugins.wpview ) {
-					doc = editor.getDoc();
-					$( doc ).find( '[data-wpview-text="' + this.encodedText + '"]' ).each(function (i, elem) {
-						var node = $( elem );
-						// The <ins> is used to mark the end of the wrapper div. Needed when comparing
-						// the content as string for preventing extra undo levels.
-						node.html( html ).append( '<ins data-wpview-end="1"></ins>' );
-						$( self ).trigger( 'ready', elem );
-					});
+					if ( callback ) {
+						callback( editor );
+					}
+
+					editors.push( editor );
 				}
 			}, this );
+
+			return editors;
 		},
-		unbind: function() {}
+		getNodes: function( callback ) {
+			var nodes = [],
+				self = this;
+
+			this.getEditors( function( editor ) {
+				$( editor.getBody() )
+				.find( '[data-wpview-text="' + self.encodedText + '"]' )
+				.each( function ( i, node ) {
+					if ( callback ) {
+						callback( editor, node, $( node ).find( '.wpview-content' ).get( 0 ) );
+					}
+
+					nodes.push( node );
+				} );
+			} );
+
+			return nodes;
+		},
+		setContent: function( html, option ) {
+			this.getNodes( function ( editor, node, content ) {
+				var el = ( option === 'wrap' || option === 'replace' ) ? node : content,
+					insert = html;
+
+				if ( _.isString( insert ) ) {
+					insert = editor.dom.createFragment( insert );
+				}
+
+				if ( option === 'replace' ) {
+					editor.dom.replace( insert, el );
+				} else {
+					el.innerHTML = '';
+					el.appendChild( insert );
+				}
+			} );
+		},
+		/* jshint scripturl: true */
+		setIframes: function ( head, body ) {
+			var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver,
+				importStyles = this.type === 'video' || this.type === 'audio' || this.type === 'playlist';
+
+			if ( head || body.indexOf( '<script' ) !== -1 ) {
+				this.getNodes( function ( editor, node, content ) {
+					var dom = editor.dom,
+						styles = '',
+						bodyClasses = editor.getBody().className || '',
+						iframe, iframeDoc, i, resize;
+
+					content.innerHTML = '';
+					head = head || '';
+
+					if ( importStyles ) {
+						if ( ! wp.mce.views.sandboxStyles ) {
+							tinymce.each( dom.$( 'link[rel="stylesheet"]', editor.getDoc().head ), function( link ) {
+								if ( link.href && link.href.indexOf( 'skins/lightgray/content.min.css' ) === -1 &&
+									link.href.indexOf( 'skins/wordpress/wp-content.css' ) === -1 ) {
+
+									styles += dom.getOuterHTML( link ) + '\n';
+								}
+							});
+
+							wp.mce.views.sandboxStyles = styles;
+						} else {
+							styles = wp.mce.views.sandboxStyles;
+						}
+					}
+
+					// Seems Firefox needs a bit of time to insert/set the view nodes, or the iframe will fail
+					// especially when switching Text => Visual.
+					setTimeout( function() {
+						iframe = dom.add( content, 'iframe', {
+							src: tinymce.Env.ie ? 'javascript:""' : '',
+							frameBorder: '0',
+							allowTransparency: 'true',
+							scrolling: 'no',
+							'class': 'wpview-sandbox',
+							style: {
+								width: '100%',
+								display: 'block'
+							}
+						} );
+
+						iframeDoc = iframe.contentWindow.document;
+
+						iframeDoc.open();
+						iframeDoc.write(
+							'<!DOCTYPE html>' +
+							'<html>' +
+								'<head>' +
+									'<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />' +
+									head +
+									styles +
+									'<style>' +
+										'html {' +
+											'background: transparent;' +
+											'padding: 0;' +
+											'margin: 0;' +
+										'}' +
+										'body#wpview-iframe-sandbox {' +
+											'background: transparent;' +
+											'padding: 1px 0 !important;' +
+											'margin: -1px 0 0 !important;' +
+										'}' +
+										'body#wpview-iframe-sandbox:before,' +
+										'body#wpview-iframe-sandbox:after {' +
+											'display: none;' +
+											'content: "";' +
+										'}' +
+									'</style>' +
+								'</head>' +
+								'<body id="wpview-iframe-sandbox" class="' + bodyClasses + '">' +
+									body +
+								'</body>' +
+							'</html>'
+						);
+						iframeDoc.close();
+
+						resize = function() {
+							// Make sure the iframe still exists.
+							iframe.contentWindow && $( iframe ).height( $( iframeDoc.body ).height() );
+						};
+
+						if ( MutationObserver ) {
+							new MutationObserver( _.debounce( function() {
+								resize();
+							}, 100 ) )
+							.observe( iframeDoc.body, {
+								attributes: true,
+								childList: true,
+								subtree: true
+							} );
+						} else {
+							for ( i = 1; i < 6; i++ ) {
+								setTimeout( resize, i * 700 );
+							}
+						}
+
+						if ( importStyles ) {
+							editor.on( 'wp-body-class-change', function() {
+								iframeDoc.body.className = editor.getBody().className;
+							});
+						}
+					}, 50 );
+				});
+			} else {
+				this.setContent( body );
+			}
+		},
+		setError: function( message, dashicon ) {
+			this.setContent(
+				'<div class="wpview-error">' +
+					'<div class="dashicons dashicons-' + ( dashicon ? dashicon : 'no' ) + '"></div>' +
+					'<p>' + message + '</p>' +
+				'</div>'
+			);
+		},
+		rendered: function( value ) {
+			var notRendered;
+
+			this.getNodes( function( editor, node ) {
+				if ( value != null ) {
+					$( node ).data( 'rendered', value === true );
+				} else {
+					notRendered = notRendered || ! $( node ).data( 'rendered' );
+				}
+			} );
+
+			return ! notRendered;
+		}
 	} );
 
 	// take advantage of the Backbone extend method
@@ -74,6 +279,29 @@ window.wp = window.wp || {};
 		 *
 		 */
 		register: function( type, constructor ) {
+			var defaultConstructor = {
+					type: type,
+					View: {},
+					toView: function( content ) {
+						var match = wp.shortcode.next( this.type, content );
+
+						if ( ! match ) {
+							return;
+						}
+
+						return {
+							index: match.index,
+							content: match.content,
+							options: {
+								shortcode: match.shortcode
+							}
+						};
+					}
+				};
+
+			constructor = _.defaults( constructor, defaultConstructor );
+			constructor.View = wp.mce.View.extend( constructor.View );
+
 			views[ type ] = constructor;
 		},
 
@@ -81,6 +309,8 @@ window.wp = window.wp || {};
 		 * wp.mce.views.get( id )
 		 *
 		 * Returns a TinyMCE view constructor.
+		 *
+		 * @param type
 		 */
 		get: function( type ) {
 			return views[ type ];
@@ -90,6 +320,8 @@ window.wp = window.wp || {};
 		 * wp.mce.views.unregister( type )
 		 *
 		 * Unregisters a TinyMCE view.
+		 *
+		 * @param type
 		 */
 		unregister: function( type ) {
 			delete views[ type ];
@@ -112,6 +344,7 @@ window.wp = window.wp || {};
 		 * matches with wrapper elements, and creates a new instance for
 		 * every match, which triggers the related data to be fetched.
 		 *
+		 * @param content
 		 */
 		toViews: function( content ) {
 			var pieces = [ { content: content } ],
@@ -180,6 +413,7 @@ window.wp = window.wp || {};
 
 			if ( ! wp.mce.views.getInstance( encodedText ) ) {
 				viewOptions = options;
+				viewOptions.type = viewType;
 				viewOptions.encodedText = encodedText;
 				instance = new view.View( viewOptions );
 				instances[ encodedText ] = instance;
@@ -189,10 +423,9 @@ window.wp = window.wp || {};
 				tag: 'div',
 
 				attrs: {
-					'class': 'wpview-wrap wpview-type-' + viewType,
+					'class': 'wpview-wrap',
 					'data-wpview-text': encodedText,
-					'data-wpview-type': viewType,
-					'contenteditable': 'false'
+					'data-wpview-type': viewType
 				},
 
 				content: '\u00a0'
@@ -215,12 +448,13 @@ window.wp = window.wp || {};
 			if ( ! instance ) {
 				result = view.toView( text );
 				viewOptions = result.options;
+				viewOptions.type = view.type;
 				viewOptions.encodedText = encodedText;
 				instance = new view.View( viewOptions );
 				instances[ encodedText ] = instance;
 			}
 
-			wp.mce.views.render();
+			instance.render();
 		},
 
 		getInstance: function( encodedText ) {
@@ -236,9 +470,9 @@ window.wp = window.wp || {};
 		 * To generate wrapper elements, pass your content through
 		 * `wp.mce.view.toViews( content )`.
 		 */
-		render: function() {
+		render: function( force ) {
 			_.each( instances, function( instance ) {
-				instance.render();
+				instance.render( force );
 			} );
 		},
 
@@ -252,26 +486,9 @@ window.wp = window.wp || {};
 		}
 	};
 
-	wp.mce.gallery = {
-		shortcode: 'gallery',
-		toView:  function( content ) {
-			var match = wp.shortcode.next( this.shortcode, content );
-
-			if ( ! match ) {
-				return;
-			}
-
-			return {
-				index:   match.index,
-				content: match.content,
-				options: {
-					shortcode: match.shortcode
-				}
-			};
-		},
-		View: wp.mce.View.extend({
-			className: 'editor-gallery',
-			template:  media.template('editor-gallery'),
+	wp.mce.views.register( 'gallery', {
+		View: {
+			template: media.template( 'editor-gallery' ),
 
 			// The fallback post ID to use as a parent for galleries that don't
 			// specify the `ids` or `include` parameters.
@@ -285,8 +502,12 @@ window.wp = window.wp || {};
 			},
 
 			fetch: function() {
+				var self = this;
+
 				this.attachments = wp.media.gallery.attachments( this.shortcode, this.postID );
-				this.dfd = this.attachments.more().done( _.bind( this.render, this ) );
+				this.dfd = this.attachments.more().done( function() {
+					self.render( true );
+				} );
 			},
 
 			getHtml: function() {
@@ -296,7 +517,7 @@ window.wp = window.wp || {};
 
 				// Don't render errors while still fetching attachments
 				if ( this.dfd && 'pending' === this.dfd.state() && ! this.attachments.length ) {
-					return;
+					return '';
 				}
 
 				if ( this.attachments.length ) {
@@ -315,13 +536,12 @@ window.wp = window.wp || {};
 
 				options = {
 					attachments: attachments,
-					columns: attrs.columns ? parseInt( attrs.columns, 10 ) : 3
+					columns: attrs.columns ? parseInt( attrs.columns, 10 ) : wp.media.galleryDefaults.columns
 				};
 
 				return this.template( options );
-
 			}
-		}),
+		},
 
 		edit: function( node ) {
 			var gallery = wp.media.gallery,
@@ -335,45 +555,122 @@ window.wp = window.wp || {};
 				var shortcode = gallery.shortcode( selection ).string();
 				$( node ).attr( 'data-wpview-text', window.encodeURIComponent( shortcode ) );
 				wp.mce.views.refreshView( self, shortcode );
+			});
+
+			frame.on( 'close', function() {
 				frame.detach();
 			});
 		}
-
-	};
-	wp.mce.views.register( 'gallery', wp.mce.gallery );
-
-	/**
-	 * Tiny MCE Views for Audio / Video
-	 *
-	 */
+	} );
 
 	/**
-	 * These are base methods that are shared by each shortcode's MCE controller
+	 * These are base methods that are shared by the audio and video shortcode's MCE controller.
 	 *
 	 * @mixin
 	 */
-	wp.mce.media = {
-		loaded: false,
-		/**
-		 * @global wp.shortcode
-		 *
-		 * @param {string} content
-		 * @returns {Object}
-		 */
-		toView:  function( content ) {
-			var match = wp.shortcode.next( this.shortcode, content );
+	wp.mce.av = {
+		View: {
+			overlay: true,
 
-			if ( ! match ) {
-				return;
-			}
+			action: 'parse-media-shortcode',
 
-			return {
-				index:   match.index,
-				content: match.content,
-				options: {
-					shortcode: match.shortcode
+			initialize: function( options ) {
+				var self = this;
+
+				this.shortcode = options.shortcode;
+
+				_.bindAll( this, 'setIframes', 'setNodes', 'fetch', 'stopPlayers' );
+				$( this ).on( 'ready', this.setNodes );
+
+				$( document ).on( 'media:edit', this.stopPlayers );
+
+				this.fetch();
+
+				this.getEditors( function( editor ) {
+					editor.on( 'hide', self.stopPlayers );
+				});
+			},
+
+			setNodes: function () {
+				if ( this.parsed ) {
+					this.setIframes( this.parsed.head, this.parsed.body );
+				} else {
+					this.fail();
 				}
-			};
+			},
+
+			fetch: function () {
+				var self = this;
+
+				wp.ajax.send( this.action, {
+					data: {
+						post_ID: $( '#post_ID' ).val() || 0,
+						type: this.shortcode.tag,
+						shortcode: this.shortcode.string()
+					}
+				} )
+				.done( function( response ) {
+					if ( response ) {
+						self.parsed = response;
+						self.setIframes( response.head, response.body );
+					} else {
+						self.fail( true );
+					}
+				} )
+				.fail( function( response ) {
+					self.fail( response || true );
+				} );
+			},
+
+			fail: function( error ) {
+				if ( ! this.error ) {
+					if ( error ) {
+						this.error = error;
+					} else {
+						return;
+					}
+				}
+
+				if ( this.error.message ) {
+					if ( ( this.error.type === 'not-embeddable' && this.type === 'embed' ) || this.error.type === 'not-ssl' ||
+						this.error.type === 'no-items' ) {
+
+						this.setError( this.error.message, 'admin-media' );
+					} else {
+						this.setContent( '<p>' + this.original + '</p>', 'replace' );
+					}
+				} else if ( this.error.statusText ) {
+					this.setError( this.error.statusText, 'admin-media' );
+				} else if ( this.original ) {
+					this.setContent( '<p>' + this.original + '</p>', 'replace' );
+				}
+			},
+
+			stopPlayers: function( remove ) {
+				var rem = remove === 'remove';
+
+				this.getNodes( function( editor, node, content ) {
+					var p, win,
+						iframe = $( 'iframe.wpview-sandbox', content ).get(0);
+
+					if ( iframe && ( win = iframe.contentWindow ) && win.mejs ) {
+						// Sometimes ME.js may show a "Download File" placeholder and player.remove() doesn't exist there.
+						try {
+							for ( p in win.mejs.players ) {
+								win.mejs.players[p].pause();
+
+								if ( rem ) {
+									win.mejs.players[p].remove();
+								}
+							}
+						} catch( er ) {}
+					}
+				});
+			},
+
+			unbind: function() {
+				this.stopPlayers( 'remove' );
+			}
 		},
 
 		/**
@@ -387,11 +684,11 @@ window.wp = window.wp || {};
 		 * @param {HTMLElement} node
 		 */
 		edit: function( node ) {
-			var media = wp.media[ this.shortcode ],
+			var media = wp.media[ this.type ],
 				self = this,
 				frame, data, callback;
 
-			wp.media.mixin.pauseAllPlayers();
+			$( document ).trigger( 'media:edit' );
 
 			data = window.decodeURIComponent( $( node ).attr('data-wpview-text') );
 			frame = media.edit( data );
@@ -400,7 +697,7 @@ window.wp = window.wp || {};
 			} );
 
 			callback = function( selection ) {
-				var shortcode = wp.media[ self.shortcode ].shortcode( selection ).string();
+				var shortcode = wp.media[ self.type ].shortcode( selection ).string();
 				$( node ).attr( 'data-wpview-text', window.encodeURIComponent( shortcode ) );
 				wp.mce.views.refreshView( self, shortcode );
 				frame.detach();
@@ -416,278 +713,113 @@ window.wp = window.wp || {};
 		}
 	};
 
-	/**
-	 * Base View class for audio and video shortcodes
-	 *
-	 * @constructor
-	 * @augments wp.mce.View
-	 * @mixes wp.media.mixin
-	 */
-	wp.mce.media.View = wp.mce.View.extend({
-		initialize: function( options ) {
-			this.players = [];
-			this.shortcode = options.shortcode;
-			_.bindAll( this, 'setPlayer' );
-			$(this).on( 'ready', this.setPlayer );
-		},
-
-		/**
-		 * Creates the player instance for the current node
-		 *
-		 * @global MediaElementPlayer
-		 * @global _wpmejsSettings
-		 *
-		 * @param {Event} e
-		 * @param {HTMLElement} node
-		 */
-		setPlayer: function(e, node) {
-			// if the ready event fires on an empty node
-			if ( ! node ) {
-				return;
-			}
-
-			var self = this,
-				media,
-				firefox = this.ua.is( 'ff' ),
-				className = '.wp-' +  this.shortcode.tag + '-shortcode';
-
-			media = $( node ).find( className );
-
-			if ( ! this.isCompatible( media ) ) {
-				media.closest( '.wpview-wrap' ).addClass( 'wont-play' );
-				if ( ! media.parent().hasClass( 'wpview-wrap' ) ) {
-					media.parent().replaceWith( media );
-				}
-				media.replaceWith( '<p>' + media.find( 'source' ).eq(0).prop( 'src' ) + '</p>' );
-				return;
-			} else {
-				media.closest( '.wpview-wrap' ).removeClass( 'wont-play' );
-				if ( firefox ) {
-					media.prop( 'preload', 'metadata' );
-				} else {
-					media.prop( 'preload', 'none' );
-				}
-			}
-
-			media = wp.media.view.MediaDetails.prepareSrc( media.get(0) );
-
-			setTimeout( function() {
-				wp.mce.media.loaded = true;
-				self.players.push( new MediaElementPlayer( media, self.mejsSettings ) );
-			}, wp.mce.media.loaded ? 10 : 500 );
-		},
-
-		/**
-		 * Pass data to the View's Underscore template and return the compiled output
-		 *
-		 * @returns {string}
-		 */
-		getHtml: function() {
-			var attrs = this.shortcode.attrs.named;
-			attrs.content = this.shortcode.content;
-
-			return this.template({ model: _.defaults(
-				attrs,
-				wp.media[ this.shortcode.tag ].defaults )
-			});
-		},
-
-		unbind: function() {
-			this.unsetPlayers();
-		}
-	});
-	_.extend( wp.mce.media.View.prototype, wp.media.mixin );
-
 	/**
 	 * TinyMCE handler for the video shortcode
 	 *
-	 * @mixes wp.mce.media
+	 * @mixes wp.mce.av
 	 */
-	wp.mce.video = _.extend( {}, wp.mce.media, {
-		shortcode: 'video',
-		state: 'video-details',
-		View: wp.mce.media.View.extend({
-			className: 'editor-video',
-			template:  media.template('editor-video')
-		})
-	} );
-	wp.mce.views.register( 'video', wp.mce.video );
+	wp.mce.views.register( 'video', _.extend( {}, wp.mce.av, {
+		state: 'video-details'
+	} ) );
 
 	/**
 	 * TinyMCE handler for the audio shortcode
 	 *
-	 * @mixes wp.mce.media
+	 * @mixes wp.mce.av
 	 */
-	wp.mce.audio = _.extend( {}, wp.mce.media, {
-		shortcode: 'audio',
-		state: 'audio-details',
-		View: wp.mce.media.View.extend({
-			className: 'editor-audio',
-			template:  media.template('editor-audio')
-		})
-	} );
-	wp.mce.views.register( 'audio', wp.mce.audio );
+	wp.mce.views.register( 'audio', _.extend( {}, wp.mce.av, {
+		state: 'audio-details'
+	} ) );
 
 	/**
-	 * Base View class for playlist shortcodes
+	 * TinyMCE handler for the playlist shortcode
 	 *
-	 * @constructor
-	 * @augments wp.mce.View
-	 * @mixes wp.media.mixin
+	 * @mixes wp.mce.av
 	 */
-	wp.mce.media.PlaylistView = wp.mce.View.extend({
-		className: 'editor-playlist',
-		template:  media.template('editor-playlist'),
-
-		initialize: function( options ) {
-			this.players = [];
-			this.data = {};
-			this.attachments = [];
-			this.shortcode = options.shortcode;
-			this.fetch();
-		},
-
-		/**
-		 * Asynchronously fetch the shortcode's attachments
-		 */
-		fetch: function() {
-			this.attachments = wp.media.playlist.attachments( this.shortcode );
-			this.dfd = this.attachments.more().done( _.bind( this.render, this ) );
-		},
-
-		/**
-		 * Get the HTML for the view (which also set's the data), replace the
-		 *   current HTML, and then invoke the WPPlaylistView instance to render
-		 *   the playlist in the editor
-		 *
-		 * @global WPPlaylistView
-		 * @global tinymce.editors
-		 */
-		render: function() {
-			var html = this.getHtml(), self = this;
-
-			_.each( tinymce.editors, function( editor ) {
-				var doc;
-				if ( editor.plugins.wpview ) {
-					doc = editor.getDoc();
-					$( doc ).find( '[data-wpview-text="' + this.encodedText + '"]' ).each(function (i, elem) {
-						var node = $( elem );
-
-						// The <ins> is used to mark the end of the wrapper div. Needed when comparing
-						// the content as string for preventing extra undo levels.
-						node.html( html ).append( '<ins data-wpview-end="1"></ins>' );
+	wp.mce.views.register( 'playlist', _.extend( {}, wp.mce.av, {
+		state: [ 'playlist-edit', 'video-playlist-edit' ]
+	} ) );
 
-						if ( ! self.data.tracks ) {
-							return;
-						}
+	/**
+	 * TinyMCE handler for the embed shortcode
+	 */
+	wp.mce.embedMixin = {
+		View: _.extend( {}, wp.mce.av.View, {
+			overlay: true,
+			action: 'parse-embed',
+			initialize: function( options ) {
+				this.content = options.content;
+				this.original = options.url || options.shortcode.string();
 
-						self.players.push( new WPPlaylistView({
-							el: $( elem ).find( '.wp-playlist' ).get(0),
-							metadata: self.data
-						}).player );
-					});
+				if ( options.url ) {
+					this.shortcode = media.embed.shortcode( {
+						url: options.url
+					} );
+				} else {
+					this.shortcode = options.shortcode;
 				}
-			}, this );
-		},
-
-		/**
-		 * Set the data that will be used to compile the Underscore template,
-		 *  compile the template, and then return it.
-		 *
-		 * @returns {string}
-		 */
-		getHtml: function() {
-			var data = this.shortcode.attrs.named,
-				model = wp.media.playlist,
-				options,
-				attachments,
-				tracks = [];
-
-			// Don't render errors while still fetching attachments
-			if ( this.dfd && 'pending' === this.dfd.state() && ! this.attachments.length ) {
-				return;
-			}
-
-			_.each( model.defaults, function( value, key ) {
-				data[ key ] = model.coerce( data, key );
-			});
 
-			options = {
-				type: data.type,
-				style: data.style,
-				tracklist: data.tracklist,
-				tracknumbers: data.tracknumbers,
-				images: data.images,
-				artists: data.artists
-			};
+				_.bindAll( this, 'setIframes', 'setNodes', 'fetch' );
+				$( this ).on( 'ready', this.setNodes );
 
-			if ( ! this.attachments.length ) {
-				return this.template( options );
+				this.fetch();
 			}
+		} ),
+		edit: function( node ) {
+			var embed = media.embed,
+				self = this,
+				frame,
+				data,
+				isURL = 'embedURL' === this.type;
 
-			attachments = this.attachments.toJSON();
+			$( document ).trigger( 'media:edit' );
 
-			_.each( attachments, function( attachment ) {
-				var size = {}, resize = {}, track = {
-					src : attachment.url,
-					type : attachment.mime,
-					title : attachment.title,
-					caption : attachment.caption,
-					description : attachment.description,
-					meta : attachment.meta
-				};
+			data = window.decodeURIComponent( $( node ).attr('data-wpview-text') );
+			frame = embed.edit( data, isURL );
+			frame.on( 'close', function() {
+				frame.detach();
+			} );
+			frame.state( 'embed' ).props.on( 'change:url', function (model, url) {
+				if ( ! url ) {
+					return;
+				}
+				frame.state( 'embed' ).metadata = model.toJSON();
+			} );
+			frame.state( 'embed' ).on( 'select', function() {
+				var shortcode;
 
-				if ( 'video' === data.type ) {
-					size.width = attachment.width;
-					size.height = attachment.height;
-					if ( media.view.settings.contentWidth ) {
-						resize.width = media.view.settings.contentWidth - 22;
-						resize.height = Math.ceil( ( size.height * resize.width ) / size.width );
-						if ( ! options.width ) {
-							options.width = resize.width;
-							options.height = resize.height;
-						}
-					} else {
-						if ( ! options.width ) {
-							options.width = attachment.width;
-							options.height = attachment.height;
-						}
-					}
-					track.dimensions = {
-						original : size,
-						resized : _.isEmpty( resize ) ? size : resize
-					};
+				if ( isURL ) {
+					shortcode = frame.state( 'embed' ).metadata.url;
 				} else {
-					options.width = 400;
+					shortcode = embed.shortcode( frame.state( 'embed' ).metadata ).string();
 				}
-
-				track.image = attachment.image;
-				track.thumb = attachment.thumb;
-
-				tracks.push( track );
+				$( node ).attr( 'data-wpview-text', window.encodeURIComponent( shortcode ) );
+				wp.mce.views.refreshView( self, shortcode );
+				frame.detach();
 			} );
+			frame.open();
+		}
+	};
 
-			options.tracks = tracks;
-			this.data = options;
+	wp.mce.views.register( 'embed', _.extend( {}, wp.mce.embedMixin ) );
 
-			return this.template( options );
-		},
+	wp.mce.views.register( 'embedURL', _.extend( {}, wp.mce.embedMixin, {
+		toView: function( content ) {
+			var re = /(?:^|<p>)(https?:\/\/[^\s"]+?)(?:<\/p>\s*|$)/gi,
+				match = re.exec( tinymce.trim( content ) );
 
-		unbind: function() {
-			this.unsetPlayers();
+			if ( ! match ) {
+				return;
+			}
+
+			return {
+				index: match.index,
+				content: match[0],
+				options: {
+					url: match[1]
+				}
+			};
 		}
-	});
-	_.extend( wp.mce.media.PlaylistView.prototype, wp.media.mixin );
+	} ) );
 
-	/**
-	 * TinyMCE handler for the playlist shortcode
-	 *
-	 * @mixes wp.mce.media
-	 */
-	wp.mce.playlist = _.extend( {}, wp.mce.media, {
-		shortcode: 'playlist',
-		state: ['playlist-edit', 'video-playlist-edit'],
-		View: wp.mce.media.PlaylistView
-	} );
-	wp.mce.views.register( 'playlist', wp.mce.playlist );
 }(jQuery));
diff --git a/wp-includes/js/mce-view.min.js b/wp-includes/js/mce-view.min.js
index 147f2a3d0..685d42f12 100644
--- a/wp-includes/js/mce-view.min.js
+++ b/wp-includes/js/mce-view.min.js
@@ -1 +1 @@
-window.wp=window.wp||{},function(a){var b={},c={},d=wp.media,e=["encodedText"];wp.mce=wp.mce||{},wp.mce.View=function(a){a||(a={}),_.extend(this,_.pick(a,e)),this.initialize.apply(this,arguments)},_.extend(wp.mce.View.prototype,{initialize:function(){},getHtml:function(){},render:function(){var b=this.getHtml();_.each(tinymce.editors,function(c){var d,e=this;c.plugins.wpview&&(d=c.getDoc(),a(d).find('[data-wpview-text="'+this.encodedText+'"]').each(function(c,d){var f=a(d);f.html(b).append('<ins data-wpview-end="1"></ins>'),a(e).trigger("ready",d)}))},this)},unbind:function(){}}),wp.mce.View.extend=Backbone.View.extend,wp.mce.views={register:function(a,c){b[a]=c},get:function(a){return b[a]},unregister:function(a){delete b[a]},unbind:function(){_.each(c,function(a){a.unbind()})},toViews:function(a){var c,d=[{content:a}];return _.each(b,function(a,b){c=d.slice(),d=[],_.each(c,function(c){var e,f=c.content;if(c.processed)return void d.push(c);for(;f&&(e=a.toView(f));)e.index&&d.push({content:f.substring(0,e.index)}),d.push({content:wp.mce.views.toView(b,e.content,e.options),processed:!0}),f=f.slice(e.index+e.content.length);f&&d.push({content:f})})}),_.pluck(d,"content").join("")},toView:function(a,b,d){var e,f,g=wp.mce.views.get(a),h=window.encodeURIComponent(b);return g?(wp.mce.views.getInstance(h)||(f=d,f.encodedText=h,e=new g.View(f),c[h]=e),wp.html.string({tag:"div",attrs:{"class":"wpview-wrap wpview-type-"+a,"data-wpview-text":h,"data-wpview-type":a,contenteditable:"false"},content:" "})):b},refreshView:function(a,b){var d,e,f,g=window.encodeURIComponent(b);f=wp.mce.views.getInstance(g),f||(e=a.toView(b),d=e.options,d.encodedText=g,f=new a.View(d),c[g]=f),wp.mce.views.render()},getInstance:function(a){return c[a]},render:function(){_.each(c,function(a){a.render()})},edit:function(b){var c=a(b).data("wpview-type"),d=wp.mce.views.get(c);d&&d.edit(b)}},wp.mce.gallery={shortcode:"gallery",toView:function(a){var b=wp.shortcode.next(this.shortcode,a);if(b)return{index:b.index,content:b.content,options:{shortcode:b.shortcode}}},View:wp.mce.View.extend({className:"editor-gallery",template:d.template("editor-gallery"),postID:a("#post_ID").val(),initialize:function(a){this.shortcode=a.shortcode,this.fetch()},fetch:function(){this.attachments=wp.media.gallery.attachments(this.shortcode,this.postID),this.dfd=this.attachments.more().done(_.bind(this.render,this))},getHtml:function(){var a,b=this.shortcode.attrs.named,c=!1;if(!this.dfd||"pending"!==this.dfd.state()||this.attachments.length)return this.attachments.length&&(c=this.attachments.toJSON(),_.each(c,function(a){a.sizes&&(a.sizes.thumbnail?a.thumbnail=a.sizes.thumbnail:a.sizes.full&&(a.thumbnail=a.sizes.full))})),a={attachments:c,columns:b.columns?parseInt(b.columns,10):3},this.template(a)}}),edit:function(b){var c,d,e=wp.media.gallery,f=this;d=window.decodeURIComponent(a(b).attr("data-wpview-text")),c=e.edit(d),c.state("gallery-edit").on("update",function(d){var g=e.shortcode(d).string();a(b).attr("data-wpview-text",window.encodeURIComponent(g)),wp.mce.views.refreshView(f,g),c.detach()})}},wp.mce.views.register("gallery",wp.mce.gallery),wp.mce.media={loaded:!1,toView:function(a){var b=wp.shortcode.next(this.shortcode,a);if(b)return{index:b.index,content:b.content,options:{shortcode:b.shortcode}}},edit:function(b){var c,d,e,f=wp.media[this.shortcode],g=this;wp.media.mixin.pauseAllPlayers(),d=window.decodeURIComponent(a(b).attr("data-wpview-text")),c=f.edit(d),c.on("close",function(){c.detach()}),e=function(d){var e=wp.media[g.shortcode].shortcode(d).string();a(b).attr("data-wpview-text",window.encodeURIComponent(e)),wp.mce.views.refreshView(g,e),c.detach()},_.isArray(g.state)?_.each(g.state,function(a){c.state(a).on("update",e)}):c.state(g.state).on("update",e),c.open()}},wp.mce.media.View=wp.mce.View.extend({initialize:function(b){this.players=[],this.shortcode=b.shortcode,_.bindAll(this,"setPlayer"),a(this).on("ready",this.setPlayer)},setPlayer:function(b,c){if(c){var d,e=this,f=this.ua.is("ff"),g=".wp-"+this.shortcode.tag+"-shortcode";if(d=a(c).find(g),!this.isCompatible(d))return d.closest(".wpview-wrap").addClass("wont-play"),d.parent().hasClass("wpview-wrap")||d.parent().replaceWith(d),void d.replaceWith("<p>"+d.find("source").eq(0).prop("src")+"</p>");d.closest(".wpview-wrap").removeClass("wont-play"),f?d.prop("preload","metadata"):d.prop("preload","none"),d=wp.media.view.MediaDetails.prepareSrc(d.get(0)),setTimeout(function(){wp.mce.media.loaded=!0,e.players.push(new MediaElementPlayer(d,e.mejsSettings))},wp.mce.media.loaded?10:500)}},getHtml:function(){var a=this.shortcode.attrs.named;return a.content=this.shortcode.content,this.template({model:_.defaults(a,wp.media[this.shortcode.tag].defaults)})},unbind:function(){this.unsetPlayers()}}),_.extend(wp.mce.media.View.prototype,wp.media.mixin),wp.mce.video=_.extend({},wp.mce.media,{shortcode:"video",state:"video-details",View:wp.mce.media.View.extend({className:"editor-video",template:d.template("editor-video")})}),wp.mce.views.register("video",wp.mce.video),wp.mce.audio=_.extend({},wp.mce.media,{shortcode:"audio",state:"audio-details",View:wp.mce.media.View.extend({className:"editor-audio",template:d.template("editor-audio")})}),wp.mce.views.register("audio",wp.mce.audio),wp.mce.media.PlaylistView=wp.mce.View.extend({className:"editor-playlist",template:d.template("editor-playlist"),initialize:function(a){this.players=[],this.data={},this.attachments=[],this.shortcode=a.shortcode,this.fetch()},fetch:function(){this.attachments=wp.media.playlist.attachments(this.shortcode),this.dfd=this.attachments.more().done(_.bind(this.render,this))},render:function(){var b=this.getHtml(),c=this;_.each(tinymce.editors,function(d){var e;d.plugins.wpview&&(e=d.getDoc(),a(e).find('[data-wpview-text="'+this.encodedText+'"]').each(function(d,e){var f=a(e);f.html(b).append('<ins data-wpview-end="1"></ins>'),c.data.tracks&&c.players.push(new WPPlaylistView({el:a(e).find(".wp-playlist").get(0),metadata:c.data}).player)}))},this)},getHtml:function(){var a,b,c=this.shortcode.attrs.named,e=wp.media.playlist,f=[];if(!this.dfd||"pending"!==this.dfd.state()||this.attachments.length)return _.each(e.defaults,function(a,b){c[b]=e.coerce(c,b)}),a={type:c.type,style:c.style,tracklist:c.tracklist,tracknumbers:c.tracknumbers,images:c.images,artists:c.artists},this.attachments.length?(b=this.attachments.toJSON(),_.each(b,function(b){var e={},g={},h={src:b.url,type:b.mime,title:b.title,caption:b.caption,description:b.description,meta:b.meta};"video"===c.type?(e.width=b.width,e.height=b.height,d.view.settings.contentWidth?(g.width=d.view.settings.contentWidth-22,g.height=Math.ceil(e.height*g.width/e.width),a.width||(a.width=g.width,a.height=g.height)):a.width||(a.width=b.width,a.height=b.height),h.dimensions={original:e,resized:_.isEmpty(g)?e:g}):a.width=400,h.image=b.image,h.thumb=b.thumb,f.push(h)}),a.tracks=f,this.data=a,this.template(a)):this.template(a)},unbind:function(){this.unsetPlayers()}}),_.extend(wp.mce.media.PlaylistView.prototype,wp.media.mixin),wp.mce.playlist=_.extend({},wp.mce.media,{shortcode:"playlist",state:["playlist-edit","video-playlist-edit"],View:wp.mce.media.PlaylistView}),wp.mce.views.register("playlist",wp.mce.playlist)}(jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(a){"use strict";var b={},c={},d=wp.media,e=["encodedText"];wp.mce=wp.mce||{},wp.mce.View=function(a){a=a||{},this.type=a.type,_.extend(this,_.pick(a,e)),this.initialize.apply(this,arguments)},_.extend(wp.mce.View.prototype,{initialize:function(){},getHtml:function(){return""},loadingPlaceholder:function(){return'<div class="loading-placeholder"><div class="dashicons dashicons-admin-media"></div><div class="wpview-loading"><ins></ins></div></div>'},render:function(c){(c||!this.rendered())&&(this.unbind(),this.setContent('<p class="wpview-selection-before"> </p><div class="wpview-body" contenteditable="false"><div class="toolbar">'+(_.isFunction(b[this.type].edit)?'<div class="dashicons dashicons-edit edit"></div>':"")+'<div class="dashicons dashicons-no-alt remove"></div></div><div class="wpview-content wpview-type-'+this.type+'">'+(this.getHtml()||this.loadingPlaceholder())+"</div>"+(this.overlay?'<div class="wpview-overlay"></div>':"")+'</div><p class="wpview-selection-after"> </p>',"wrap"),a(this).trigger("ready"),this.rendered(!0))},unbind:function(){},getEditors:function(a){var b=[];return _.each(tinymce.editors,function(c){c.plugins.wpview&&(a&&a(c),b.push(c))},this),b},getNodes:function(b){var c=[],d=this;return this.getEditors(function(e){a(e.getBody()).find('[data-wpview-text="'+d.encodedText+'"]').each(function(d,f){b&&b(e,f,a(f).find(".wpview-content").get(0)),c.push(f)})}),c},setContent:function(a,b){this.getNodes(function(c,d,e){var f="wrap"===b||"replace"===b?d:e,g=a;_.isString(g)&&(g=c.dom.createFragment(g)),"replace"===b?c.dom.replace(g,f):(f.innerHTML="",f.appendChild(g))})},setIframes:function(b,c){var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,e="video"===this.type||"audio"===this.type||"playlist"===this.type;b||-1!==c.indexOf("<script")?this.getNodes(function(f,g,h){var i,j,k,l,m=f.dom,n="",o=f.getBody().className||"";h.innerHTML="",b=b||"",e&&(wp.mce.views.sandboxStyles?n=wp.mce.views.sandboxStyles:(tinymce.each(m.$('link[rel="stylesheet"]',f.getDoc().head),function(a){a.href&&-1===a.href.indexOf("skins/lightgray/content.min.css")&&-1===a.href.indexOf("skins/wordpress/wp-content.css")&&(n+=m.getOuterHTML(a)+"\n")}),wp.mce.views.sandboxStyles=n)),setTimeout(function(){if(i=m.add(h,"iframe",{src:tinymce.Env.ie?'javascript:""':"",frameBorder:"0",allowTransparency:"true",scrolling:"no","class":"wpview-sandbox",style:{width:"100%",display:"block"}}),j=i.contentWindow.document,j.open(),j.write('<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'+b+n+'<style>html {background: transparent;padding: 0;margin: 0;}body#wpview-iframe-sandbox {background: transparent;padding: 1px 0 !important;margin: -1px 0 0 !important;}body#wpview-iframe-sandbox:before,body#wpview-iframe-sandbox:after {display: none;content: "";}</style></head><body id="wpview-iframe-sandbox" class="'+o+'">'+c+"</body></html>"),j.close(),l=function(){i.contentWindow&&a(i).height(a(j.body).height())},d)new d(_.debounce(function(){l()},100)).observe(j.body,{attributes:!0,childList:!0,subtree:!0});else for(k=1;6>k;k++)setTimeout(l,700*k);e&&f.on("wp-body-class-change",function(){j.body.className=f.getBody().className})},50)}):this.setContent(c)},setError:function(a,b){this.setContent('<div class="wpview-error"><div class="dashicons dashicons-'+(b?b:"no")+'"></div><p>'+a+"</p></div>")},rendered:function(b){var c;return this.getNodes(function(d,e){null!=b?a(e).data("rendered",b===!0):c=c||!a(e).data("rendered")}),!c}}),wp.mce.View.extend=Backbone.View.extend,wp.mce.views={register:function(a,c){var d={type:a,View:{},toView:function(a){var b=wp.shortcode.next(this.type,a);if(b)return{index:b.index,content:b.content,options:{shortcode:b.shortcode}}}};c=_.defaults(c,d),c.View=wp.mce.View.extend(c.View),b[a]=c},get:function(a){return b[a]},unregister:function(a){delete b[a]},unbind:function(){_.each(c,function(a){a.unbind()})},toViews:function(a){var c,d=[{content:a}];return _.each(b,function(a,b){c=d.slice(),d=[],_.each(c,function(c){var e,f=c.content;if(c.processed)return void d.push(c);for(;f&&(e=a.toView(f));)e.index&&d.push({content:f.substring(0,e.index)}),d.push({content:wp.mce.views.toView(b,e.content,e.options),processed:!0}),f=f.slice(e.index+e.content.length);f&&d.push({content:f})})}),_.pluck(d,"content").join("")},toView:function(a,b,d){var e,f,g=wp.mce.views.get(a),h=window.encodeURIComponent(b);return g?(wp.mce.views.getInstance(h)||(f=d,f.type=a,f.encodedText=h,e=new g.View(f),c[h]=e),wp.html.string({tag:"div",attrs:{"class":"wpview-wrap","data-wpview-text":h,"data-wpview-type":a},content:" "})):b},refreshView:function(a,b){var d,e,f,g=window.encodeURIComponent(b);f=wp.mce.views.getInstance(g),f||(e=a.toView(b),d=e.options,d.type=a.type,d.encodedText=g,f=new a.View(d),c[g]=f),f.render()},getInstance:function(a){return c[a]},render:function(a){_.each(c,function(b){b.render(a)})},edit:function(b){var c=a(b).data("wpview-type"),d=wp.mce.views.get(c);d&&d.edit(b)}},wp.mce.views.register("gallery",{View:{template:d.template("editor-gallery"),postID:a("#post_ID").val(),initialize:function(a){this.shortcode=a.shortcode,this.fetch()},fetch:function(){var a=this;this.attachments=wp.media.gallery.attachments(this.shortcode,this.postID),this.dfd=this.attachments.more().done(function(){a.render(!0)})},getHtml:function(){var a,b=this.shortcode.attrs.named,c=!1;return this.dfd&&"pending"===this.dfd.state()&&!this.attachments.length?"":(this.attachments.length&&(c=this.attachments.toJSON(),_.each(c,function(a){a.sizes&&(a.sizes.thumbnail?a.thumbnail=a.sizes.thumbnail:a.sizes.full&&(a.thumbnail=a.sizes.full))})),a={attachments:c,columns:b.columns?parseInt(b.columns,10):wp.media.galleryDefaults.columns},this.template(a))}},edit:function(b){var c,d,e=wp.media.gallery,f=this;d=window.decodeURIComponent(a(b).attr("data-wpview-text")),c=e.edit(d),c.state("gallery-edit").on("update",function(c){var d=e.shortcode(c).string();a(b).attr("data-wpview-text",window.encodeURIComponent(d)),wp.mce.views.refreshView(f,d)}),c.on("close",function(){c.detach()})}}),wp.mce.av={View:{overlay:!0,action:"parse-media-shortcode",initialize:function(b){var c=this;this.shortcode=b.shortcode,_.bindAll(this,"setIframes","setNodes","fetch","stopPlayers"),a(this).on("ready",this.setNodes),a(document).on("media:edit",this.stopPlayers),this.fetch(),this.getEditors(function(a){a.on("hide",c.stopPlayers)})},setNodes:function(){this.parsed?this.setIframes(this.parsed.head,this.parsed.body):this.fail()},fetch:function(){var b=this;wp.ajax.send(this.action,{data:{post_ID:a("#post_ID").val()||0,type:this.shortcode.tag,shortcode:this.shortcode.string()}}).done(function(a){a?(b.parsed=a,b.setIframes(a.head,a.body)):b.fail(!0)}).fail(function(a){b.fail(a||!0)})},fail:function(a){if(!this.error){if(!a)return;this.error=a}this.error.message?"not-embeddable"===this.error.type&&"embed"===this.type||"not-ssl"===this.error.type||"no-items"===this.error.type?this.setError(this.error.message,"admin-media"):this.setContent("<p>"+this.original+"</p>","replace"):this.error.statusText?this.setError(this.error.statusText,"admin-media"):this.original&&this.setContent("<p>"+this.original+"</p>","replace")},stopPlayers:function(b){var c="remove"===b;this.getNodes(function(b,d,e){var f,g,h=a("iframe.wpview-sandbox",e).get(0);if(h&&(g=h.contentWindow)&&g.mejs)try{for(f in g.mejs.players)g.mejs.players[f].pause(),c&&g.mejs.players[f].remove()}catch(i){}})},unbind:function(){this.stopPlayers("remove")}},edit:function(b){var c,d,e,f=wp.media[this.type],g=this;a(document).trigger("media:edit"),d=window.decodeURIComponent(a(b).attr("data-wpview-text")),c=f.edit(d),c.on("close",function(){c.detach()}),e=function(d){var e=wp.media[g.type].shortcode(d).string();a(b).attr("data-wpview-text",window.encodeURIComponent(e)),wp.mce.views.refreshView(g,e),c.detach()},_.isArray(g.state)?_.each(g.state,function(a){c.state(a).on("update",e)}):c.state(g.state).on("update",e),c.open()}},wp.mce.views.register("video",_.extend({},wp.mce.av,{state:"video-details"})),wp.mce.views.register("audio",_.extend({},wp.mce.av,{state:"audio-details"})),wp.mce.views.register("playlist",_.extend({},wp.mce.av,{state:["playlist-edit","video-playlist-edit"]})),wp.mce.embedMixin={View:_.extend({},wp.mce.av.View,{overlay:!0,action:"parse-embed",initialize:function(b){this.content=b.content,this.original=b.url||b.shortcode.string(),this.shortcode=b.url?d.embed.shortcode({url:b.url}):b.shortcode,_.bindAll(this,"setIframes","setNodes","fetch"),a(this).on("ready",this.setNodes),this.fetch()}}),edit:function(b){var c,e,f=d.embed,g=this,h="embedURL"===this.type;a(document).trigger("media:edit"),e=window.decodeURIComponent(a(b).attr("data-wpview-text")),c=f.edit(e,h),c.on("close",function(){c.detach()}),c.state("embed").props.on("change:url",function(a,b){b&&(c.state("embed").metadata=a.toJSON())}),c.state("embed").on("select",function(){var d;d=h?c.state("embed").metadata.url:f.shortcode(c.state("embed").metadata).string(),a(b).attr("data-wpview-text",window.encodeURIComponent(d)),wp.mce.views.refreshView(g,d),c.detach()}),c.open()}},wp.mce.views.register("embed",_.extend({},wp.mce.embedMixin)),wp.mce.views.register("embedURL",_.extend({},wp.mce.embedMixin,{toView:function(a){var b=/(?:^|<p>)(https?:\/\/[^\s"]+?)(?:<\/p>\s*|$)/gi,c=b.exec(tinymce.trim(a));if(c)return{index:c.index,content:c[0],options:{url:c[1]}}}}))}(jQuery);
\ No newline at end of file
diff --git a/wp-includes/js/media-audiovideo.js b/wp-includes/js/media-audiovideo.js
index 47f6d3681..73f81a882 100644
--- a/wp-includes/js/media-audiovideo.js
+++ b/wp-includes/js/media-audiovideo.js
@@ -6,7 +6,7 @@
 		l10n = typeof _wpMediaViewsL10n === 'undefined' ? {} : _wpMediaViewsL10n;
 
 	if ( ! _.isUndefined( window._wpmejsSettings ) ) {
-		baseSettings.pluginPath = _wpmejsSettings.pluginPath;
+		baseSettings = _wpmejsSettings;
 	}
 
 	/**
@@ -14,115 +14,18 @@
 	 */
 	wp.media.mixin = {
 		mejsSettings: baseSettings,
-		/**
-		 * Pauses every instance of MediaElementPlayer
-		 */
-		pauseAllPlayers: function() {
+
+		removeAllPlayers: function() {
 			var p;
+
 			if ( window.mejs && window.mejs.players ) {
 				for ( p in window.mejs.players ) {
 					window.mejs.players[p].pause();
+					this.removePlayer( window.mejs.players[p] );
 				}
 			}
 		},
 
-		/**
-		 * Utility to identify the user's browser
-		 */
-		ua: {
-			is : function( browser ) {
-				var passes = false, ua = window.navigator.userAgent;
-
-				switch ( browser ) {
-					case 'oldie':
-						passes = ua.match(/MSIE [6-8]/gi) !== null;
-					break;
-					case 'ie':
-						passes = ua.match(/MSIE/gi) !== null;
-					break;
-					case 'ff':
-						passes = ua.match(/firefox/gi) !== null;
-					break;
-					case 'opera':
-						passes = ua.match(/OPR/) !== null;
-					break;
-					case 'safari':
-						passes = ua.match(/safari/gi) !== null && ua.match(/chrome/gi) === null;
-					break;
-					case 'chrome':
-						passes = ua.match(/safari/gi) !== null && ua.match(/chrome/gi) !== null;
-					break;
-				}
-
-				return passes;
-			}
-		},
-
-		/**
-		 * Specify compatibility for native playback by browser
-		 */
-		compat :{
-			'opera' : {
-				audio: ['ogg', 'wav'],
-				video: ['ogg', 'webm']
-			},
-			'chrome' : {
-				audio: ['ogg', 'mpeg'],
-				video: ['ogg', 'webm', 'mp4', 'm4v', 'mpeg']
-			},
-			'ff' : {
-				audio: ['ogg', 'mpeg'],
-				video: ['ogg', 'webm']
-			},
-			'safari' : {
-				audio: ['mpeg', 'wav'],
-				video: ['mp4', 'm4v', 'mpeg', 'x-ms-wmv', 'quicktime']
-			},
-			'ie' : {
-				audio: ['mpeg'],
-				video: ['mp4', 'm4v', 'mpeg']
-			}
-		},
-
-		/**
-		 * Determine if the passed media contains a <source> that provides
-		 *  native playback in the user's browser
-		 *
-		 * @param {jQuery} media
-		 * @returns {Boolean}
-		 */
-		isCompatible: function( media ) {
-			if ( ! media.find( 'source' ).length ) {
-				return false;
-			}
-
-			var ua = this.ua, test = false, found = false, sources;
-
-			if ( ua.is( 'oldIE' ) ) {
-				return false;
-			}
-
-			sources = media.find( 'source' );
-
-			_.find( this.compat, function( supports, browser ) {
-				if ( ua.is( browser ) ) {
-					found = true;
-					_.each( sources, function( elem ) {
-						var audio = new RegExp( 'audio\/(' + supports.audio.join('|') + ')', 'gi' ),
-							video = new RegExp( 'video\/(' + supports.video.join('|') + ')', 'gi' );
-
-						if ( elem.type.match( video ) !== null || elem.type.match( audio ) !== null ) {
-							test = true;
-						}
-					} );
-				}
-
-				return test || found;
-			} );
-
-			return test;
-		},
-
 		/**
 		 * Override the MediaElement method for removing a player.
 		 *	MediaElement tries to pull the audio/video tag out of
@@ -131,6 +34,10 @@
 		removePlayer: function(t) {
 			var featureIndex, feature;
 
+			if ( ! t.options ) {
+				return;
+			}
+
 			// invoke features cleanup
 			for ( featureIndex in t.options.features ) {
 				feature = t.options.features[featureIndex];
@@ -164,8 +71,8 @@
 		 */
 		unsetPlayers : function() {
 			if ( this.players && this.players.length ) {
-				wp.media.mixin.pauseAllPlayers();
 				_.each( this.players, function (player) {
+					player.pause();
 					wp.media.mixin.removePlayer( player );
 				} );
 				this.players = [];
@@ -668,10 +575,23 @@
 
 		renderSelectPosterImageToolbar: function() {
 			this.setPrimaryButton( l10n.videoSelectPosterImageTitle, function( controller, state ) {
-				var attachment = state.get( 'selection' ).single();
+				var urls = [], attachment = state.get( 'selection' ).single();
 
 				controller.media.set( 'poster', attachment.get( 'url' ) );
 				state.trigger( 'set-poster-image', controller.media.toJSON() );
+
+				_.each( wp.media.view.settings.embedExts, function (ext) {
+					if ( controller.media.get( ext ) ) {
+						urls.push( controller.media.get( ext ) );
+					}
+				} );
+
+				wp.ajax.send( 'set-attachment-thumbnail', {
+					data : {
+						urls: urls,
+						thumbnail_id: attachment.get( 'id' )
+					}
+				} );
 			} );
 		},
 
@@ -697,7 +617,7 @@
 	/**
 	 * wp.media.view.MediaDetails
 	 *
-	 * @contructor
+	 * @constructor
 	 * @augments wp.media.view.Settings.AttachmentDisplay
 	 * @augments wp.media.view.Settings
 	 * @augments wp.media.View
@@ -716,7 +636,8 @@
 			this.events = _.extend( this.events, {
 				'click .remove-setting' : 'removeSetting',
 				'change .content-track' : 'setTracks',
-				'click .remove-track' : 'setTracks'
+				'click .remove-track' : 'setTracks',
+				'click .add-media-source' : 'addSource'
 			} );
 
 			media.view.Settings.AttachmentDisplay.prototype.initialize.apply( this, arguments );
@@ -762,6 +683,11 @@
 			this.trigger( 'media:setting:remove', this );
 		},
 
+		addSource : function( e ) {
+			this.controller.lastMime = $( e.currentTarget ).data( 'mime' );
+			this.controller.setState( 'add-' + this.controller.defaults.id + '-source' );
+		},
+
 		/**
 		 * @global MediaElementPlayer
 		 */
@@ -836,7 +762,7 @@
 	/**
 	 * wp.media.view.AudioDetails
 	 *
-	 * @contructor
+	 * @constructor
 	 * @augments wp.media.view.MediaDetails
 	 * @augments wp.media.view.Settings.AttachmentDisplay
 	 * @augments wp.media.view.Settings
@@ -868,7 +794,7 @@
 	/**
 	 * wp.media.view.VideoDetails
 	 *
-	 * @contructor
+	 * @constructor
 	 * @augments wp.media.view.MediaDetails
 	 * @augments wp.media.view.Settings.AttachmentDisplay
 	 * @augments wp.media.view.Settings
@@ -902,18 +828,4 @@
 		}
 	});
 
-	/**
-	 * Event binding
-	 */
-	function init() {
-		$(document.body)
-			.on( 'click', '.wp-switch-editor', wp.media.mixin.pauseAllPlayers )
-			.on( 'click', '.add-media-source', function( e ) {
-				media.frame.lastMime = $( e.currentTarget ).data( 'mime' );
-				media.frame.setState( 'add-' + media.frame.defaults.id + '-source' );
-			} );
-	}
-
-	$( init );
-
 }(jQuery, _, Backbone));
diff --git a/wp-includes/js/media-audiovideo.min.js b/wp-includes/js/media-audiovideo.min.js
index 09930fdb9..e4c4e4e81 100644
--- a/wp-includes/js/media-audiovideo.min.js
+++ b/wp-includes/js/media-audiovideo.min.js
@@ -1 +1 @@
-!function(a,b,c){function d(){a(document.body).on("click",".wp-switch-editor",wp.media.mixin.pauseAllPlayers).on("click",".add-media-source",function(b){e.frame.lastMime=a(b.currentTarget).data("mime"),e.frame.setState("add-"+e.frame.defaults.id+"-source")})}var e=wp.media,f={},g="undefined"==typeof _wpMediaViewsL10n?{}:_wpMediaViewsL10n;b.isUndefined(window._wpmejsSettings)||(f.pluginPath=_wpmejsSettings.pluginPath),wp.media.mixin={mejsSettings:f,pauseAllPlayers:function(){var a;if(window.mejs&&window.mejs.players)for(a in window.mejs.players)window.mejs.players[a].pause()},ua:{is:function(a){var b=!1,c=window.navigator.userAgent;switch(a){case"oldie":b=null!==c.match(/MSIE [6-8]/gi);break;case"ie":b=null!==c.match(/MSIE/gi);break;case"ff":b=null!==c.match(/firefox/gi);break;case"opera":b=null!==c.match(/OPR/);break;case"safari":b=null!==c.match(/safari/gi)&&null===c.match(/chrome/gi);break;case"chrome":b=null!==c.match(/safari/gi)&&null!==c.match(/chrome/gi)}return b}},compat:{opera:{audio:["ogg","wav"],video:["ogg","webm"]},chrome:{audio:["ogg","mpeg"],video:["ogg","webm","mp4","m4v","mpeg"]},ff:{audio:["ogg","mpeg"],video:["ogg","webm"]},safari:{audio:["mpeg","wav"],video:["mp4","m4v","mpeg","x-ms-wmv","quicktime"]},ie:{audio:["mpeg"],video:["mp4","m4v","mpeg"]}},isCompatible:function(a){if(!a.find("source").length)return!1;var c,d=this.ua,e=!1,f=!1;return d.is("oldIE")?!1:(c=a.find("source"),b.find(this.compat,function(a,g){return d.is(g)&&(f=!0,b.each(c,function(b){var c=new RegExp("audio/("+a.audio.join("|")+")","gi"),d=new RegExp("video/("+a.video.join("|")+")","gi");(null!==b.type.match(d)||null!==b.type.match(c))&&(e=!0)})),e||f}),e)},removePlayer:function(a){var b,c;for(b in a.options.features)if(c=a.options.features[b],a["clean"+c])try{a["clean"+c](a)}catch(d){}a.isDynamic||a.$node.remove(),"native"!==a.media.pluginType&&a.media.remove(),delete window.mejs.players[a.id],a.container.remove(),a.globalUnbind(),delete a.node.player},unsetPlayers:function(){this.players&&this.players.length&&(wp.media.mixin.pauseAllPlayers(),b.each(this.players,function(a){wp.media.mixin.removePlayer(a)}),this.players=[])}},wp.media.playlist=new wp.media.collection({tag:"playlist",editTitle:g.editPlaylistTitle,defaults:{id:wp.media.view.settings.post.id,style:"light",tracklist:!0,tracknumbers:!0,images:!0,artists:!0,type:"audio"}}),wp.media.audio={coerce:wp.media.coerce,defaults:{id:wp.media.view.settings.post.id,src:"",loop:!1,autoplay:!1,preload:"none",width:400},edit:function(a){var c,d=wp.shortcode.next("audio",a).shortcode;return c=wp.media({frame:"audio",state:"audio-details",metadata:b.defaults(d.attrs.named,this.defaults)})},shortcode:function(a){var c,d=this;return b.each(this.defaults,function(b,c){a[c]=d.coerce(a,c),b===a[c]&&delete a[c]}),c=a.content,delete a.content,new wp.shortcode({tag:"audio",attrs:a,content:c})}},wp.media.video={coerce:wp.media.coerce,defaults:{id:wp.media.view.settings.post.id,src:"",poster:"",loop:!1,autoplay:!1,preload:"metadata",content:"",width:640,height:360},edit:function(a){var c,d,e=wp.shortcode.next("video",a).shortcode;return d=e.attrs.named,d.content=e.content,c=wp.media({frame:"video",state:"video-details",metadata:b.defaults(d,this.defaults)})},shortcode:function(a){var c,d=this;return b.each(this.defaults,function(b,c){a[c]=d.coerce(a,c),b===a[c]&&delete a[c]}),c=a.content,delete a.content,new wp.shortcode({tag:"video",attrs:a,content:c})}},e.model.PostMedia=c.Model.extend({initialize:function(){this.attachment=!1},setSource:function(a){this.attachment=a,this.extension=a.get("filename").split(".").pop(),this.get("src")&&this.extension===this.get("src").split(".").pop()&&this.unset("src"),b.contains(wp.media.view.settings.embedExts,this.extension)?this.set(this.extension,this.attachment.get("url")):this.unset(this.extension)},changeAttachment:function(a){var c=this;this.setSource(a),this.unset("src"),b.each(b.without(wp.media.view.settings.embedExts,this.extension),function(a){c.unset(a)})}}),e.controller.AudioDetails=e.controller.State.extend({defaults:{id:"audio-details",toolbar:"audio-details",title:g.audioDetailsTitle,content:"audio-details",menu:"audio-details",router:!1,priority:60},initialize:function(a){this.media=a.media,e.controller.State.prototype.initialize.apply(this,arguments)}}),e.controller.VideoDetails=e.controller.State.extend({defaults:{id:"video-details",toolbar:"video-details",title:g.videoDetailsTitle,content:"video-details",menu:"video-details",router:!1,priority:60},initialize:function(a){this.media=a.media,e.controller.State.prototype.initialize.apply(this,arguments)}}),e.view.MediaFrame.MediaDetails=e.view.MediaFrame.Select.extend({defaults:{id:"media",url:"",menu:"media-details",content:"media-details",toolbar:"media-details",type:"link",priority:120},initialize:function(a){this.DetailsView=a.DetailsView,this.cancelText=a.cancelText,this.addText=a.addText,this.media=new e.model.PostMedia(a.metadata),this.options.selection=new e.model.Selection(this.media.attachment,{multiple:!1}),e.view.MediaFrame.Select.prototype.initialize.apply(this,arguments)},bindHandlers:function(){var a=this.defaults.menu;e.view.MediaFrame.Select.prototype.bindHandlers.apply(this,arguments),this.on("menu:create:"+a,this.createMenu,this),this.on("content:render:"+a,this.renderDetailsContent,this),this.on("menu:render:"+a,this.renderMenu,this),this.on("toolbar:render:"+a,this.renderDetailsToolbar,this)},renderDetailsContent:function(){var a=new this.DetailsView({controller:this,model:this.state().media,attachment:this.state().media.attachment}).render();this.content.set(a)},renderMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:this.cancelText,priority:20,click:function(){c?d.setState(c):d.close()}},separateCancel:new e.View({className:"separator",priority:40})})},setPrimaryButton:function(a,b){this.toolbar.set(new e.view.Toolbar({controller:this,items:{button:{style:"primary",text:a,priority:80,click:function(){var a=this.controller;b.call(this,a,a.state()),a.setState(a.options.state),a.reset()}}}}))},renderDetailsToolbar:function(){this.setPrimaryButton(g.update,function(a,b){a.close(),b.trigger("update",a.media.toJSON())})},renderReplaceToolbar:function(){this.setPrimaryButton(g.replace,function(a,b){var c=b.get("selection").single();a.media.changeAttachment(c),b.trigger("replace",a.media.toJSON())})},renderAddSourceToolbar:function(){this.setPrimaryButton(this.addText,function(a,b){var c=b.get("selection").single();a.media.setSource(c),b.trigger("add-source",a.media.toJSON())})}}),e.view.MediaFrame.AudioDetails=e.view.MediaFrame.MediaDetails.extend({defaults:{id:"audio",url:"",menu:"audio-details",content:"audio-details",toolbar:"audio-details",type:"link",title:g.audioDetailsTitle,priority:120},initialize:function(a){a.DetailsView=e.view.AudioDetails,a.cancelText=g.audioDetailsCancel,a.addText=g.audioAddSourceTitle,e.view.MediaFrame.MediaDetails.prototype.initialize.call(this,a)},bindHandlers:function(){e.view.MediaFrame.MediaDetails.prototype.bindHandlers.apply(this,arguments),this.on("toolbar:render:replace-audio",this.renderReplaceToolbar,this),this.on("toolbar:render:add-audio-source",this.renderAddSourceToolbar,this)},createStates:function(){this.states.add([new e.controller.AudioDetails({media:this.media}),new e.controller.MediaLibrary({type:"audio",id:"replace-audio",title:g.audioReplaceTitle,toolbar:"replace-audio",media:this.media,menu:"audio-details"}),new e.controller.MediaLibrary({type:"audio",id:"add-audio-source",title:g.audioAddSourceTitle,toolbar:"add-audio-source",media:this.media,menu:!1})])}}),e.view.MediaFrame.VideoDetails=e.view.MediaFrame.MediaDetails.extend({defaults:{id:"video",url:"",menu:"video-details",content:"video-details",toolbar:"video-details",type:"link",title:g.videoDetailsTitle,priority:120},initialize:function(a){a.DetailsView=e.view.VideoDetails,a.cancelText=g.videoDetailsCancel,a.addText=g.videoAddSourceTitle,e.view.MediaFrame.MediaDetails.prototype.initialize.call(this,a)},bindHandlers:function(){e.view.MediaFrame.MediaDetails.prototype.bindHandlers.apply(this,arguments),this.on("toolbar:render:replace-video",this.renderReplaceToolbar,this),this.on("toolbar:render:add-video-source",this.renderAddSourceToolbar,this),this.on("toolbar:render:select-poster-image",this.renderSelectPosterImageToolbar,this),this.on("toolbar:render:add-track",this.renderAddTrackToolbar,this)},createStates:function(){this.states.add([new e.controller.VideoDetails({media:this.media}),new e.controller.MediaLibrary({type:"video",id:"replace-video",title:g.videoReplaceTitle,toolbar:"replace-video",media:this.media,menu:"video-details"}),new e.controller.MediaLibrary({type:"video",id:"add-video-source",title:g.videoAddSourceTitle,toolbar:"add-video-source",media:this.media,menu:!1}),new e.controller.MediaLibrary({type:"image",id:"select-poster-image",title:g.videoSelectPosterImageTitle,toolbar:"select-poster-image",media:this.media,menu:"video-details"}),new e.controller.MediaLibrary({type:"text",id:"add-track",title:g.videoAddTrackTitle,toolbar:"add-track",media:this.media,menu:"video-details"})])},renderSelectPosterImageToolbar:function(){this.setPrimaryButton(g.videoSelectPosterImageTitle,function(a,b){var c=b.get("selection").single();a.media.set("poster",c.get("url")),b.trigger("set-poster-image",a.media.toJSON())})},renderAddTrackToolbar:function(){this.setPrimaryButton(g.videoAddTrackTitle,function(a,b){var c=b.get("selection").single(),d=a.media.get("content");-1===d.indexOf(c.get("url"))&&(d+=['<track srclang="en" label="English"kind="subtitles" src="',c.get("url"),'" />'].join(""),a.media.set("content",d)),b.trigger("add-track",a.media.toJSON())})}}),e.view.MediaDetails=e.view.Settings.AttachmentDisplay.extend({initialize:function(){b.bindAll(this,"success"),this.players=[],this.listenTo(this.controller,"close",e.mixin.unsetPlayers),this.on("ready",this.setPlayer),this.on("media:setting:remove",e.mixin.unsetPlayers,this),this.on("media:setting:remove",this.render),this.on("media:setting:remove",this.setPlayer),this.events=b.extend(this.events,{"click .remove-setting":"removeSetting","change .content-track":"setTracks","click .remove-track":"setTracks"}),e.view.Settings.AttachmentDisplay.prototype.initialize.apply(this,arguments)},prepare:function(){return b.defaults({model:this.model.toJSON()},this.options)},removeSetting:function(b){var c,d=a(b.currentTarget).parent();c=d.find("input").data("setting"),c&&(this.model.unset(c),this.trigger("media:setting:remove",this)),d.remove()},setTracks:function(){var c="";b.each(this.$(".content-track"),function(b){c+=a(b).val()}),this.model.set("content",c),this.trigger("media:setting:remove",this)},setPlayer:function(){!this.players.length&&this.media&&this.players.push(new MediaElementPlayer(this.media,this.settings))},setMedia:function(){return this},success:function(a){var b=a.attributes.autoplay&&"false"!==a.attributes.autoplay;"flash"===a.pluginType&&b&&a.addEventListener("canplay",function(){a.play()},!1),this.mejs=a},render:function(){var a=this;return e.view.Settings.AttachmentDisplay.prototype.render.apply(this,arguments),setTimeout(function(){a.resetFocus()},10),this.settings=b.defaults({success:this.success},f),this.setMedia()},resetFocus:function(){this.$(".embed-media-settings").scrollTop(0)}},{instances:0,prepareSrc:function(c){var d=e.view.MediaDetails.instances++;return b.each(a(c).find("source"),function(a){a.src=[a.src,a.src.indexOf("?")>-1?"&":"?","_=",d].join("")}),c}}),e.view.AudioDetails=e.view.MediaDetails.extend({className:"audio-details",template:e.template("audio-details"),setMedia:function(){var a=this.$(".wp-audio-shortcode");return a.find("source").length?(a.is(":hidden")&&a.show(),this.media=e.view.MediaDetails.prepareSrc(a.get(0))):(a.hide(),this.media=!1),this}}),e.view.VideoDetails=e.view.MediaDetails.extend({className:"video-details",template:e.template("video-details"),setMedia:function(){var a=this.$(".wp-video-shortcode");return a.find("source").length?(a.is(":hidden")&&a.show(),this.media=a.hasClass("youtube-video")?a.get(0):e.view.MediaDetails.prepareSrc(a.get(0))):(a.hide(),this.media=!1),this}}),a(d)}(jQuery,_,Backbone);
\ No newline at end of file
+!function(a,b,c){var d=wp.media,e={},f="undefined"==typeof _wpMediaViewsL10n?{}:_wpMediaViewsL10n;b.isUndefined(window._wpmejsSettings)||(e=_wpmejsSettings),wp.media.mixin={mejsSettings:e,removeAllPlayers:function(){var a;if(window.mejs&&window.mejs.players)for(a in window.mejs.players)window.mejs.players[a].pause(),this.removePlayer(window.mejs.players[a])},removePlayer:function(a){var b,c;if(a.options){for(b in a.options.features)if(c=a.options.features[b],a["clean"+c])try{a["clean"+c](a)}catch(d){}a.isDynamic||a.$node.remove(),"native"!==a.media.pluginType&&a.media.remove(),delete window.mejs.players[a.id],a.container.remove(),a.globalUnbind(),delete a.node.player}},unsetPlayers:function(){this.players&&this.players.length&&(b.each(this.players,function(a){a.pause(),wp.media.mixin.removePlayer(a)}),this.players=[])}},wp.media.playlist=new wp.media.collection({tag:"playlist",editTitle:f.editPlaylistTitle,defaults:{id:wp.media.view.settings.post.id,style:"light",tracklist:!0,tracknumbers:!0,images:!0,artists:!0,type:"audio"}}),wp.media.audio={coerce:wp.media.coerce,defaults:{id:wp.media.view.settings.post.id,src:"",loop:!1,autoplay:!1,preload:"none",width:400},edit:function(a){var c,d=wp.shortcode.next("audio",a).shortcode;return c=wp.media({frame:"audio",state:"audio-details",metadata:b.defaults(d.attrs.named,this.defaults)})},shortcode:function(a){var c,d=this;return b.each(this.defaults,function(b,c){a[c]=d.coerce(a,c),b===a[c]&&delete a[c]}),c=a.content,delete a.content,new wp.shortcode({tag:"audio",attrs:a,content:c})}},wp.media.video={coerce:wp.media.coerce,defaults:{id:wp.media.view.settings.post.id,src:"",poster:"",loop:!1,autoplay:!1,preload:"metadata",content:"",width:640,height:360},edit:function(a){var c,d,e=wp.shortcode.next("video",a).shortcode;return d=e.attrs.named,d.content=e.content,c=wp.media({frame:"video",state:"video-details",metadata:b.defaults(d,this.defaults)})},shortcode:function(a){var c,d=this;return b.each(this.defaults,function(b,c){a[c]=d.coerce(a,c),b===a[c]&&delete a[c]}),c=a.content,delete a.content,new wp.shortcode({tag:"video",attrs:a,content:c})}},d.model.PostMedia=c.Model.extend({initialize:function(){this.attachment=!1},setSource:function(a){this.attachment=a,this.extension=a.get("filename").split(".").pop(),this.get("src")&&this.extension===this.get("src").split(".").pop()&&this.unset("src"),b.contains(wp.media.view.settings.embedExts,this.extension)?this.set(this.extension,this.attachment.get("url")):this.unset(this.extension)},changeAttachment:function(a){var c=this;this.setSource(a),this.unset("src"),b.each(b.without(wp.media.view.settings.embedExts,this.extension),function(a){c.unset(a)})}}),d.controller.AudioDetails=d.controller.State.extend({defaults:{id:"audio-details",toolbar:"audio-details",title:f.audioDetailsTitle,content:"audio-details",menu:"audio-details",router:!1,priority:60},initialize:function(a){this.media=a.media,d.controller.State.prototype.initialize.apply(this,arguments)}}),d.controller.VideoDetails=d.controller.State.extend({defaults:{id:"video-details",toolbar:"video-details",title:f.videoDetailsTitle,content:"video-details",menu:"video-details",router:!1,priority:60},initialize:function(a){this.media=a.media,d.controller.State.prototype.initialize.apply(this,arguments)}}),d.view.MediaFrame.MediaDetails=d.view.MediaFrame.Select.extend({defaults:{id:"media",url:"",menu:"media-details",content:"media-details",toolbar:"media-details",type:"link",priority:120},initialize:function(a){this.DetailsView=a.DetailsView,this.cancelText=a.cancelText,this.addText=a.addText,this.media=new d.model.PostMedia(a.metadata),this.options.selection=new d.model.Selection(this.media.attachment,{multiple:!1}),d.view.MediaFrame.Select.prototype.initialize.apply(this,arguments)},bindHandlers:function(){var a=this.defaults.menu;d.view.MediaFrame.Select.prototype.bindHandlers.apply(this,arguments),this.on("menu:create:"+a,this.createMenu,this),this.on("content:render:"+a,this.renderDetailsContent,this),this.on("menu:render:"+a,this.renderMenu,this),this.on("toolbar:render:"+a,this.renderDetailsToolbar,this)},renderDetailsContent:function(){var a=new this.DetailsView({controller:this,model:this.state().media,attachment:this.state().media.attachment}).render();this.content.set(a)},renderMenu:function(a){var b=this.lastState(),c=b&&b.id,e=this;a.set({cancel:{text:this.cancelText,priority:20,click:function(){c?e.setState(c):e.close()}},separateCancel:new d.View({className:"separator",priority:40})})},setPrimaryButton:function(a,b){this.toolbar.set(new d.view.Toolbar({controller:this,items:{button:{style:"primary",text:a,priority:80,click:function(){var a=this.controller;b.call(this,a,a.state()),a.setState(a.options.state),a.reset()}}}}))},renderDetailsToolbar:function(){this.setPrimaryButton(f.update,function(a,b){a.close(),b.trigger("update",a.media.toJSON())})},renderReplaceToolbar:function(){this.setPrimaryButton(f.replace,function(a,b){var c=b.get("selection").single();a.media.changeAttachment(c),b.trigger("replace",a.media.toJSON())})},renderAddSourceToolbar:function(){this.setPrimaryButton(this.addText,function(a,b){var c=b.get("selection").single();a.media.setSource(c),b.trigger("add-source",a.media.toJSON())})}}),d.view.MediaFrame.AudioDetails=d.view.MediaFrame.MediaDetails.extend({defaults:{id:"audio",url:"",menu:"audio-details",content:"audio-details",toolbar:"audio-details",type:"link",title:f.audioDetailsTitle,priority:120},initialize:function(a){a.DetailsView=d.view.AudioDetails,a.cancelText=f.audioDetailsCancel,a.addText=f.audioAddSourceTitle,d.view.MediaFrame.MediaDetails.prototype.initialize.call(this,a)},bindHandlers:function(){d.view.MediaFrame.MediaDetails.prototype.bindHandlers.apply(this,arguments),this.on("toolbar:render:replace-audio",this.renderReplaceToolbar,this),this.on("toolbar:render:add-audio-source",this.renderAddSourceToolbar,this)},createStates:function(){this.states.add([new d.controller.AudioDetails({media:this.media}),new d.controller.MediaLibrary({type:"audio",id:"replace-audio",title:f.audioReplaceTitle,toolbar:"replace-audio",media:this.media,menu:"audio-details"}),new d.controller.MediaLibrary({type:"audio",id:"add-audio-source",title:f.audioAddSourceTitle,toolbar:"add-audio-source",media:this.media,menu:!1})])}}),d.view.MediaFrame.VideoDetails=d.view.MediaFrame.MediaDetails.extend({defaults:{id:"video",url:"",menu:"video-details",content:"video-details",toolbar:"video-details",type:"link",title:f.videoDetailsTitle,priority:120},initialize:function(a){a.DetailsView=d.view.VideoDetails,a.cancelText=f.videoDetailsCancel,a.addText=f.videoAddSourceTitle,d.view.MediaFrame.MediaDetails.prototype.initialize.call(this,a)},bindHandlers:function(){d.view.MediaFrame.MediaDetails.prototype.bindHandlers.apply(this,arguments),this.on("toolbar:render:replace-video",this.renderReplaceToolbar,this),this.on("toolbar:render:add-video-source",this.renderAddSourceToolbar,this),this.on("toolbar:render:select-poster-image",this.renderSelectPosterImageToolbar,this),this.on("toolbar:render:add-track",this.renderAddTrackToolbar,this)},createStates:function(){this.states.add([new d.controller.VideoDetails({media:this.media}),new d.controller.MediaLibrary({type:"video",id:"replace-video",title:f.videoReplaceTitle,toolbar:"replace-video",media:this.media,menu:"video-details"}),new d.controller.MediaLibrary({type:"video",id:"add-video-source",title:f.videoAddSourceTitle,toolbar:"add-video-source",media:this.media,menu:!1}),new d.controller.MediaLibrary({type:"image",id:"select-poster-image",title:f.videoSelectPosterImageTitle,toolbar:"select-poster-image",media:this.media,menu:"video-details"}),new d.controller.MediaLibrary({type:"text",id:"add-track",title:f.videoAddTrackTitle,toolbar:"add-track",media:this.media,menu:"video-details"})])},renderSelectPosterImageToolbar:function(){this.setPrimaryButton(f.videoSelectPosterImageTitle,function(a,c){var d=[],e=c.get("selection").single();a.media.set("poster",e.get("url")),c.trigger("set-poster-image",a.media.toJSON()),b.each(wp.media.view.settings.embedExts,function(b){a.media.get(b)&&d.push(a.media.get(b))}),wp.ajax.send("set-attachment-thumbnail",{data:{urls:d,thumbnail_id:e.get("id")}})})},renderAddTrackToolbar:function(){this.setPrimaryButton(f.videoAddTrackTitle,function(a,b){var c=b.get("selection").single(),d=a.media.get("content");-1===d.indexOf(c.get("url"))&&(d+=['<track srclang="en" label="English"kind="subtitles" src="',c.get("url"),'" />'].join(""),a.media.set("content",d)),b.trigger("add-track",a.media.toJSON())})}}),d.view.MediaDetails=d.view.Settings.AttachmentDisplay.extend({initialize:function(){b.bindAll(this,"success"),this.players=[],this.listenTo(this.controller,"close",d.mixin.unsetPlayers),this.on("ready",this.setPlayer),this.on("media:setting:remove",d.mixin.unsetPlayers,this),this.on("media:setting:remove",this.render),this.on("media:setting:remove",this.setPlayer),this.events=b.extend(this.events,{"click .remove-setting":"removeSetting","change .content-track":"setTracks","click .remove-track":"setTracks","click .add-media-source":"addSource"}),d.view.Settings.AttachmentDisplay.prototype.initialize.apply(this,arguments)},prepare:function(){return b.defaults({model:this.model.toJSON()},this.options)},removeSetting:function(b){var c,d=a(b.currentTarget).parent();c=d.find("input").data("setting"),c&&(this.model.unset(c),this.trigger("media:setting:remove",this)),d.remove()},setTracks:function(){var c="";b.each(this.$(".content-track"),function(b){c+=a(b).val()}),this.model.set("content",c),this.trigger("media:setting:remove",this)},addSource:function(b){this.controller.lastMime=a(b.currentTarget).data("mime"),this.controller.setState("add-"+this.controller.defaults.id+"-source")},setPlayer:function(){!this.players.length&&this.media&&this.players.push(new MediaElementPlayer(this.media,this.settings))},setMedia:function(){return this},success:function(a){var b=a.attributes.autoplay&&"false"!==a.attributes.autoplay;"flash"===a.pluginType&&b&&a.addEventListener("canplay",function(){a.play()},!1),this.mejs=a},render:function(){var a=this;return d.view.Settings.AttachmentDisplay.prototype.render.apply(this,arguments),setTimeout(function(){a.resetFocus()},10),this.settings=b.defaults({success:this.success},e),this.setMedia()},resetFocus:function(){this.$(".embed-media-settings").scrollTop(0)}},{instances:0,prepareSrc:function(c){var e=d.view.MediaDetails.instances++;return b.each(a(c).find("source"),function(a){a.src=[a.src,a.src.indexOf("?")>-1?"&":"?","_=",e].join("")}),c}}),d.view.AudioDetails=d.view.MediaDetails.extend({className:"audio-details",template:d.template("audio-details"),setMedia:function(){var a=this.$(".wp-audio-shortcode");return a.find("source").length?(a.is(":hidden")&&a.show(),this.media=d.view.MediaDetails.prepareSrc(a.get(0))):(a.hide(),this.media=!1),this}}),d.view.VideoDetails=d.view.MediaDetails.extend({className:"video-details",template:d.template("video-details"),setMedia:function(){var a=this.$(".wp-video-shortcode");return a.find("source").length?(a.is(":hidden")&&a.show(),this.media=a.hasClass("youtube-video")?a.get(0):d.view.MediaDetails.prepareSrc(a.get(0))):(a.hide(),this.media=!1),this}})}(jQuery,_,Backbone);
\ No newline at end of file
diff --git a/wp-includes/js/media-editor.js b/wp-includes/js/media-editor.js
index eb1efbcbc..2db4440da 100644
--- a/wp-includes/js/media-editor.js
+++ b/wp-includes/js/media-editor.js
@@ -1,4 +1,4 @@
-/* global getUserSetting, tinymce, QTags, wpActiveEditor */
+/* global getUserSetting, tinymce, QTags */
 
 // WordPress, TinyMCE, and Media
 // -----------------------------
@@ -298,10 +298,64 @@
 		}
 	};
 
+	wp.media.embed = {
+		coerce : wp.media.coerce,
+
+		defaults : {
+			url : '',
+			width: '',
+			height: ''
+		},
+
+		edit : function( data, isURL ) {
+			var frame, props = {}, shortcode;
+
+			if ( isURL ) {
+				props.url = data.replace(/<[^>]+>/g, '');
+			} else {
+				shortcode = wp.shortcode.next( 'embed', data ).shortcode;
+
+				props = _.defaults( shortcode.attrs.named, this.defaults );
+				if ( shortcode.content ) {
+					props.url = shortcode.content;
+				}
+			}
+
+			frame = wp.media({
+				frame: 'post',
+				state: 'embed',
+				metadata: props
+			});
+
+			return frame;
+		},
+
+		shortcode : function( model ) {
+			var self = this, content;
+
+			_.each( this.defaults, function( value, key ) {
+				model[ key ] = self.coerce( model, key );
+
+				if ( value === model[ key ] ) {
+					delete model[ key ];
+				}
+			});
+
+			content = model.url;
+			delete model.url;
+
+			return new wp.shortcode({
+				tag: 'embed',
+				attrs: model,
+				content: content
+			});
+		}
+	};
+
 	wp.media.collection = function(attributes) {
 		var collections = {};
 
-		return _.extend( attributes, {
+		return _.extend( {
 			coerce : wp.media.coerce,
 			/**
 			 * Retrieve attachments based on the properties of the passed shortcode
@@ -386,7 +440,7 @@
 			shortcode: function( attachments ) {
 				var props = attachments.props.toJSON(),
 					attrs = _.pick( props, 'orderby', 'order' ),
-					shortcode, clone, self = this;
+					shortcode, clone;
 
 				if ( attachments.type ) {
 					attrs.type = attachments.type;
@@ -424,13 +478,7 @@
 					delete attrs.orderby;
 				}
 
-				// Remove default attributes from the shortcode.
-				_.each( this.defaults, function( value, key ) {
-					attrs[ key ] = self.coerce( attrs, key );
-					if ( value === attrs[ key ] ) {
-						delete attrs[ key ];
-					}
-				});
+				attrs = this.setDefaults( attrs );
 
 				shortcode = new wp.shortcode({
 					tag:    this.tag,
@@ -519,24 +567,56 @@
 				}).open();
 
 				return this.frame;
+			},
+
+			setDefaults: function( attrs ) {
+				var self = this;
+				// Remove default attributes from the shortcode.
+				_.each( this.defaults, function( value, key ) {
+					attrs[ key ] = self.coerce( attrs, key );
+					if ( value === attrs[ key ] ) {
+						delete attrs[ key ];
+					}
+				});
+
+				return attrs;
 			}
-		});
+		}, attributes );
+	};
+
+	wp.media._galleryDefaults = {
+		itemtag: 'dl',
+		icontag: 'dt',
+		captiontag: 'dd',
+		columns: '3',
+		link: 'post',
+		size: 'thumbnail',
+		order: 'ASC',
+		id: wp.media.view.settings.post && wp.media.view.settings.post.id,
+		orderby : 'menu_order ID'
 	};
 
+	if ( wp.media.view.settings.galleryDefaults ) {
+		wp.media.galleryDefaults = _.extend( {}, wp.media._galleryDefaults, wp.media.view.settings.galleryDefaults );
+	} else {
+		wp.media.galleryDefaults = wp.media._galleryDefaults;
+	}
+
 	wp.media.gallery = new wp.media.collection({
 		tag: 'gallery',
 		type : 'image',
 		editTitle : wp.media.view.l10n.editGalleryTitle,
-		defaults : {
-			itemtag: 'dl',
-			icontag: 'dt',
-			captiontag: 'dd',
-			columns: '3',
-			link: 'post',
-			size: 'thumbnail',
-			order: 'ASC',
-			id: wp.media.view.settings.post && wp.media.view.settings.post.id,
-			orderby : 'menu_order ID'
+		defaults : wp.media.galleryDefaults,
+
+		setDefaults: function( attrs ) {
+			var self = this, changed = ! _.isEqual( wp.media.galleryDefaults, wp.media._galleryDefaults );
+			_.each( this.defaults, function( value, key ) {
+				attrs[ key ] = self.coerce( attrs, key );
+				if ( value === attrs[ key ] && ( ! changed || value === wp.media._galleryDefaults[ key ] ) ) {
+					delete attrs[ key ];
+				}
+			} );
+			return attrs;
 		}
 	});
 
@@ -677,10 +757,15 @@
 		 * @param {string} html Content to send to the editor
 		 */
 		insert: function( html ) {
-			var editor,
+			var editor, wpActiveEditor,
 				hasTinymce = ! _.isUndefined( window.tinymce ),
-				hasQuicktags = ! _.isUndefined( window.QTags ),
+				hasQuicktags = ! _.isUndefined( window.QTags );
+
+			if ( this.activeEditor ) {
+				wpActiveEditor = window.wpActiveEditor = this.activeEditor;
+			} else {
 				wpActiveEditor = window.wpActiveEditor;
+			}
 
 			// Delegate to the global `send_to_editor` if it exists.
 			// This attempts to play nice with any themes/plugins that have
@@ -841,7 +926,7 @@
 			}
 
 			// If an empty `id` is provided, default to `wpActiveEditor`.
-			id = wpActiveEditor;
+			id = window.wpActiveEditor;
 
 			// If that doesn't work, fall back to `tinymce.activeEditor.id`.
 			if ( ! id && ! _.isUndefined( window.tinymce ) && tinymce.activeEditor ) {
@@ -973,17 +1058,8 @@
 			options = options || {};
 
 			id = this.id( id );
-/*
-			// Save a bookmark of the caret position in IE.
-			if ( ! _.isUndefined( window.tinymce ) ) {
-				editor = tinymce.get( id );
-
-				if ( tinymce.isIE && editor && ! editor.isHidden() ) {
-					editor.focus();
-					editor.windowManager.insertimagebookmark = editor.selection.getBookmark();
-				}
-			}
-*/
+			this.activeEditor = id;
+
 			workflow = this.get( id );
 
 			// Redo workflow if state has changed
diff --git a/wp-includes/js/media-editor.min.js b/wp-includes/js/media-editor.min.js
index 3237c3e50..d9aba4e7d 100644
--- a/wp-includes/js/media-editor.min.js
+++ b/wp-includes/js/media-editor.min.js
@@ -1 +1 @@
-!function(a,b){var c={};wp.media.coerce=function(a,c){return b.isUndefined(a[c])&&!b.isUndefined(this.defaults[c])?a[c]=this.defaults[c]:"true"===a[c]?a[c]=!0:"false"===a[c]&&(a[c]=!1),a[c]},wp.media.string={props:function(a,c){var d,e,f,g,h,i=wp.media.view.settings.defaultProps;return h=function(a){return"image"!==a.type||a.alt||(a.alt=a.caption||a.title||"",a.alt=a.alt.replace(/<\/?[^>]+>/g,""),a.alt=a.alt.replace(/[\r\n]+/g," ")),a},a=a?b.clone(a):{},c&&c.type&&(a.type=c.type),"image"===a.type&&(a=b.defaults(a||{},{align:i.align||getUserSetting("align","none"),size:i.size||getUserSetting("imgsize","medium"),url:"",classes:[]})),c?(a.title=a.title||c.title,d=a.link||i.link||getUserSetting("urlbutton","file"),"file"===d||"embed"===d?e=c.url:"post"===d?e=c.link:"custom"===d&&(e=a.linkUrl),a.linkUrl=e||"","image"===c.type?(a.classes.push("wp-image-"+c.id),g=c.sizes,f=g&&g[a.size]?g[a.size]:c,b.extend(a,b.pick(c,"align","caption","alt"),{width:f.width,height:f.height,src:f.url,captionId:"attachment_"+c.id})):"video"===c.type||"audio"===c.type?b.extend(a,b.pick(c,"title","type","icon","mime")):(a.title=a.title||c.filename,a.rel=a.rel||"attachment wp-att-"+c.id),h(a)):h(a)},link:function(a,b){var c;return a=wp.media.string.props(a,b),c={tag:"a",content:a.title,attrs:{href:a.linkUrl}},a.rel&&(c.attrs.rel=a.rel),wp.html.string(c)},audio:function(a,b){return wp.media.string._audioVideo("audio",a,b)},video:function(a,b){return wp.media.string._audioVideo("video",a,b)},_audioVideo:function(a,c,d){var e,f,g;return c=wp.media.string.props(c,d),"embed"!==c.link?wp.media.string.link(c):(e={},"video"===a&&(d.image&&-1===d.image.src.indexOf(d.icon)&&(e.poster=d.image.src),d.width&&(e.width=d.width),d.height&&(e.height=d.height)),g=d.filename.split(".").pop(),b.contains(wp.media.view.settings.embedExts,g)?(e[g]=d.url,f=wp.shortcode.string({tag:a,attrs:e})):wp.media.string.link(c))},image:function(a,c){var d,e,f,g,h={};return a=wp.media.string.props(a,c),e=a.classes||[],h.src=b.isUndefined(c)?a.url:c.url,b.extend(h,b.pick(a,"width","height","alt")),a.align&&!a.caption&&e.push("align"+a.align),a.size&&e.push("size-"+a.size),h["class"]=b.compact(e).join(" "),d={tag:"img",attrs:h,single:!0},a.linkUrl&&(d={tag:"a",attrs:{href:a.linkUrl},content:d}),g=wp.html.string(d),a.caption&&(f={},h.width&&(f.width=h.width),a.captionId&&(f.id=a.captionId),a.align&&(f.align="align"+a.align),g=wp.shortcode.string({tag:"caption",attrs:f,content:g+" "+a.caption})),g}},wp.media.collection=function(a){var c={};return b.extend(a,{coerce:wp.media.coerce,attachments:function(a){var d,e,f,g,h=a.string(),i=c[h],j=this;return delete c[h],i?i:(d=b.defaults(a.attrs.named,this.defaults),e=b.pick(d,"orderby","order"),e.type=this.type,e.perPage=-1,void 0!==d.orderby&&(d._orderByField=d.orderby),"rand"===d.orderby&&(d._orderbyRandom=!0),(!d.orderby||/^menu_order(?: ID)?$/i.test(d.orderby))&&(e.orderby="menuOrder"),d.ids?(e.post__in=d.ids.split(","),e.orderby="post__in"):d.include&&(e.post__in=d.include.split(",")),d.exclude&&(e.post__not_in=d.exclude.split(",")),e.post__in||(e.uploadedTo=d.id),g=b.omit(d,"id","ids","include","exclude","orderby","order"),b.each(this.defaults,function(a,b){g[b]=j.coerce(g,b)}),f=wp.media.query(e),f[this.tag]=new Backbone.Model(g),f)},shortcode:function(a){var d,e,f=a.props.toJSON(),g=b.pick(f,"orderby","order"),h=this;return a.type&&(g.type=a.type,delete a.type),a[this.tag]&&b.extend(g,a[this.tag].toJSON()),g.ids=a.pluck("id"),f.uploadedTo&&(g.id=f.uploadedTo),delete g.orderby,g._orderbyRandom?g.orderby="rand":g._orderByField&&"rand"!=g._orderByField&&(g.orderby=g._orderByField),delete g._orderbyRandom,delete g._orderByField,g.ids&&"post__in"===g.orderby&&delete g.orderby,b.each(this.defaults,function(a,b){g[b]=h.coerce(g,b),a===g[b]&&delete g[b]}),d=new wp.shortcode({tag:this.tag,attrs:g,type:"single"}),e=new wp.media.model.Attachments(a.models,{props:f}),e[this.tag]=a[this.tag],c[d.string()]=e,d},edit:function(a){var c,d,e,f=wp.shortcode.next(this.tag,a),g=this.defaults.id;if(f&&f.content===a)return f=f.shortcode,b.isUndefined(f.get("id"))&&!b.isUndefined(g)&&f.set("id",g),c=this.attachments(f),d=new wp.media.model.Selection(c.models,{props:c.props.toJSON(),multiple:!0}),d[this.tag]=c[this.tag],d.more().done(function(){d.props.set({query:!1}),d.unmirror(),d.props.unset("orderby")}),this.frame&&this.frame.dispose(),e=f.attrs.named.type&&"video"===f.attrs.named.type?"video-"+this.tag+"-edit":this.tag+"-edit",this.frame=wp.media({frame:"post",state:e,title:this.editTitle,editing:!0,multiple:!0,selection:d}).open(),this.frame}})},wp.media.gallery=new wp.media.collection({tag:"gallery",type:"image",editTitle:wp.media.view.l10n.editGalleryTitle,defaults:{itemtag:"dl",icontag:"dt",captiontag:"dd",columns:"3",link:"post",size:"thumbnail",order:"ASC",id:wp.media.view.settings.post&&wp.media.view.settings.post.id,orderby:"menu_order ID"}}),wp.media.featuredImage={get:function(){return wp.media.view.settings.post.featuredImageId},set:function(b){var c=wp.media.view.settings;c.post.featuredImageId=b,wp.media.post("set-post-thumbnail",{json:!0,post_id:c.post.id,thumbnail_id:c.post.featuredImageId,_wpnonce:c.post.nonce}).done(function(b){a(".inside","#postimagediv").html(b)})},frame:function(){return this._frame?this._frame:(this._frame=wp.media({state:"featured-image",states:[new wp.media.controller.FeaturedImage,new wp.media.controller.EditImage]}),this._frame.on("toolbar:create:featured-image",function(a){this.createSelectToolbar(a,{text:wp.media.view.l10n.setFeaturedImage})},this._frame),this._frame.on("content:render:edit-image",function(){var a=this.state("featured-image").get("selection"),b=new wp.media.view.EditImage({model:a.single(),controller:this}).render();this.content.set(b),b.loadEditor()},this._frame),this._frame.state("featured-image").on("select",this.select),this._frame)},select:function(){var a=this.get("selection").single();wp.media.view.settings.post.featuredImageId&&wp.media.featuredImage.set(a?a.id:-1)},init:function(){a("#postimagediv").on("click","#set-post-thumbnail",function(a){a.preventDefault(),a.stopPropagation(),wp.media.featuredImage.frame().open()}).on("click","#remove-post-thumbnail",function(){wp.media.view.settings.post.featuredImageId=-1})}},a(wp.media.featuredImage.init),wp.media.editor={insert:function(a){var c,d=!b.isUndefined(window.tinymce),e=!b.isUndefined(window.QTags),f=window.wpActiveEditor;if(window.send_to_editor)return window.send_to_editor.apply(this,arguments);if(f)d&&(c=tinymce.get(f));else if(d&&tinymce.activeEditor)c=tinymce.activeEditor,f=window.wpActiveEditor=c.id;else if(!e)return!1;if(c&&!c.isHidden()?c.execCommand("mceInsertContent",!1,a):e?QTags.insertContent(a):document.getElementById(f).value+=a,window.tb_remove)try{window.tb_remove()}catch(g){}},add:function(d,e){var f=this.get(d);return f?f:(f=c[d]=wp.media(b.defaults(e||{},{frame:"post",state:"insert",title:wp.media.view.l10n.addMedia,multiple:!0})),f.on("insert",function(c){var d=f.state();c=c||d.get("selection"),c&&a.when.apply(a,c.map(function(a){var b=d.display(a).toJSON();return this.send.attachment(b,a.toJSON())},this)).done(function(){wp.media.editor.insert(b.toArray(arguments).join("\n\n"))})},this),f.state("gallery-edit").on("update",function(a){this.insert(wp.media.gallery.shortcode(a).string())},this),f.state("playlist-edit").on("update",function(a){this.insert(wp.media.playlist.shortcode(a).string())},this),f.state("video-playlist-edit").on("update",function(a){this.insert(wp.media.playlist.shortcode(a).string())},this),f.state("embed").on("select",function(){var a=f.state(),c=a.get("type"),d=a.props.toJSON();d.url=d.url||"","link"===c?(b.defaults(d,{title:d.url,linkUrl:d.url}),this.send.link(d).done(function(a){wp.media.editor.insert(a)})):"image"===c&&(b.defaults(d,{title:d.url,linkUrl:"",align:"none",link:"none"}),"none"===d.link?d.linkUrl="":"file"===d.link&&(d.linkUrl=d.url),this.insert(wp.media.string.image(d)))},this),f.state("featured-image").on("select",wp.media.featuredImage.select),f.setState(f.options.state),f)},id:function(a){return a?a:(a=wpActiveEditor,a||b.isUndefined(window.tinymce)||!tinymce.activeEditor||(a=tinymce.activeEditor.id),a=a||"")},get:function(a){return a=this.id(a),c[a]},remove:function(a){a=this.id(a),delete c[a]},send:{attachment:function(a,c){var d,e,f=c.caption;return wp.media.view.settings.captions||delete c.caption,a=wp.media.string.props(a,c),d={id:c.id,post_content:c.description,post_excerpt:f},a.linkUrl&&(d.url=a.linkUrl),"image"===c.type?(e=wp.media.string.image(a),b.each({align:"align",size:"image-size",alt:"image_alt"},function(b,c){a[c]&&(d[b]=a[c])})):"video"===c.type?e=wp.media.string.video(a,c):"audio"===c.type?e=wp.media.string.audio(a,c):(e=wp.media.string.link(a),d.post_title=a.title),wp.media.post("send-attachment-to-editor",{nonce:wp.media.view.settings.nonce.sendToEditor,attachment:d,html:e,post_id:wp.media.view.settings.post.id})},link:function(a){return wp.media.post("send-link-to-editor",{nonce:wp.media.view.settings.nonce.sendToEditor,src:a.linkUrl,title:a.title,html:wp.media.string.link(a),post_id:wp.media.view.settings.post.id})}},open:function(a,b){var c;return b=b||{},a=this.id(a),c=this.get(a),(!c||c.options&&b.state!==c.options.state)&&(c=this.add(a,b)),c.open()},init:function(){a(document.body).on("click",".insert-media",function(b){var c=a(b.currentTarget),d=c.data("editor"),e={frame:"post",state:"insert",title:wp.media.view.l10n.addMedia,multiple:!0};b.preventDefault(),c.blur(),c.hasClass("gallery")&&(e.state="gallery",e.title=wp.media.view.l10n.createGalleryTitle),wp.media.editor.open(d,e)}),(new wp.media.view.EditorUploader).render()}},b.bindAll(wp.media.editor,"open"),a(wp.media.editor.init)}(jQuery,_);
\ No newline at end of file
+!function(a,b){var c={};wp.media.coerce=function(a,c){return b.isUndefined(a[c])&&!b.isUndefined(this.defaults[c])?a[c]=this.defaults[c]:"true"===a[c]?a[c]=!0:"false"===a[c]&&(a[c]=!1),a[c]},wp.media.string={props:function(a,c){var d,e,f,g,h,i=wp.media.view.settings.defaultProps;return h=function(a){return"image"!==a.type||a.alt||(a.alt=a.caption||a.title||"",a.alt=a.alt.replace(/<\/?[^>]+>/g,""),a.alt=a.alt.replace(/[\r\n]+/g," ")),a},a=a?b.clone(a):{},c&&c.type&&(a.type=c.type),"image"===a.type&&(a=b.defaults(a||{},{align:i.align||getUserSetting("align","none"),size:i.size||getUserSetting("imgsize","medium"),url:"",classes:[]})),c?(a.title=a.title||c.title,d=a.link||i.link||getUserSetting("urlbutton","file"),"file"===d||"embed"===d?e=c.url:"post"===d?e=c.link:"custom"===d&&(e=a.linkUrl),a.linkUrl=e||"","image"===c.type?(a.classes.push("wp-image-"+c.id),g=c.sizes,f=g&&g[a.size]?g[a.size]:c,b.extend(a,b.pick(c,"align","caption","alt"),{width:f.width,height:f.height,src:f.url,captionId:"attachment_"+c.id})):"video"===c.type||"audio"===c.type?b.extend(a,b.pick(c,"title","type","icon","mime")):(a.title=a.title||c.filename,a.rel=a.rel||"attachment wp-att-"+c.id),h(a)):h(a)},link:function(a,b){var c;return a=wp.media.string.props(a,b),c={tag:"a",content:a.title,attrs:{href:a.linkUrl}},a.rel&&(c.attrs.rel=a.rel),wp.html.string(c)},audio:function(a,b){return wp.media.string._audioVideo("audio",a,b)},video:function(a,b){return wp.media.string._audioVideo("video",a,b)},_audioVideo:function(a,c,d){var e,f,g;return c=wp.media.string.props(c,d),"embed"!==c.link?wp.media.string.link(c):(e={},"video"===a&&(d.image&&-1===d.image.src.indexOf(d.icon)&&(e.poster=d.image.src),d.width&&(e.width=d.width),d.height&&(e.height=d.height)),g=d.filename.split(".").pop(),b.contains(wp.media.view.settings.embedExts,g)?(e[g]=d.url,f=wp.shortcode.string({tag:a,attrs:e})):wp.media.string.link(c))},image:function(a,c){var d,e,f,g,h={};return a=wp.media.string.props(a,c),e=a.classes||[],h.src=b.isUndefined(c)?a.url:c.url,b.extend(h,b.pick(a,"width","height","alt")),a.align&&!a.caption&&e.push("align"+a.align),a.size&&e.push("size-"+a.size),h["class"]=b.compact(e).join(" "),d={tag:"img",attrs:h,single:!0},a.linkUrl&&(d={tag:"a",attrs:{href:a.linkUrl},content:d}),g=wp.html.string(d),a.caption&&(f={},h.width&&(f.width=h.width),a.captionId&&(f.id=a.captionId),a.align&&(f.align="align"+a.align),g=wp.shortcode.string({tag:"caption",attrs:f,content:g+" "+a.caption})),g}},wp.media.embed={coerce:wp.media.coerce,defaults:{url:"",width:"",height:""},edit:function(a,c){var d,e,f={};return c?f.url=a.replace(/<[^>]+>/g,""):(e=wp.shortcode.next("embed",a).shortcode,f=b.defaults(e.attrs.named,this.defaults),e.content&&(f.url=e.content)),d=wp.media({frame:"post",state:"embed",metadata:f})},shortcode:function(a){var c,d=this;return b.each(this.defaults,function(b,c){a[c]=d.coerce(a,c),b===a[c]&&delete a[c]}),c=a.url,delete a.url,new wp.shortcode({tag:"embed",attrs:a,content:c})}},wp.media.collection=function(a){var c={};return b.extend({coerce:wp.media.coerce,attachments:function(a){var d,e,f,g,h=a.string(),i=c[h],j=this;return delete c[h],i?i:(d=b.defaults(a.attrs.named,this.defaults),e=b.pick(d,"orderby","order"),e.type=this.type,e.perPage=-1,void 0!==d.orderby&&(d._orderByField=d.orderby),"rand"===d.orderby&&(d._orderbyRandom=!0),(!d.orderby||/^menu_order(?: ID)?$/i.test(d.orderby))&&(e.orderby="menuOrder"),d.ids?(e.post__in=d.ids.split(","),e.orderby="post__in"):d.include&&(e.post__in=d.include.split(",")),d.exclude&&(e.post__not_in=d.exclude.split(",")),e.post__in||(e.uploadedTo=d.id),g=b.omit(d,"id","ids","include","exclude","orderby","order"),b.each(this.defaults,function(a,b){g[b]=j.coerce(g,b)}),f=wp.media.query(e),f[this.tag]=new Backbone.Model(g),f)},shortcode:function(a){var d,e,f=a.props.toJSON(),g=b.pick(f,"orderby","order");return a.type&&(g.type=a.type,delete a.type),a[this.tag]&&b.extend(g,a[this.tag].toJSON()),g.ids=a.pluck("id"),f.uploadedTo&&(g.id=f.uploadedTo),delete g.orderby,g._orderbyRandom?g.orderby="rand":g._orderByField&&"rand"!=g._orderByField&&(g.orderby=g._orderByField),delete g._orderbyRandom,delete g._orderByField,g.ids&&"post__in"===g.orderby&&delete g.orderby,g=this.setDefaults(g),d=new wp.shortcode({tag:this.tag,attrs:g,type:"single"}),e=new wp.media.model.Attachments(a.models,{props:f}),e[this.tag]=a[this.tag],c[d.string()]=e,d},edit:function(a){var c,d,e,f=wp.shortcode.next(this.tag,a),g=this.defaults.id;if(f&&f.content===a)return f=f.shortcode,b.isUndefined(f.get("id"))&&!b.isUndefined(g)&&f.set("id",g),c=this.attachments(f),d=new wp.media.model.Selection(c.models,{props:c.props.toJSON(),multiple:!0}),d[this.tag]=c[this.tag],d.more().done(function(){d.props.set({query:!1}),d.unmirror(),d.props.unset("orderby")}),this.frame&&this.frame.dispose(),e=f.attrs.named.type&&"video"===f.attrs.named.type?"video-"+this.tag+"-edit":this.tag+"-edit",this.frame=wp.media({frame:"post",state:e,title:this.editTitle,editing:!0,multiple:!0,selection:d}).open(),this.frame},setDefaults:function(a){var c=this;return b.each(this.defaults,function(b,d){a[d]=c.coerce(a,d),b===a[d]&&delete a[d]}),a}},a)},wp.media._galleryDefaults={itemtag:"dl",icontag:"dt",captiontag:"dd",columns:"3",link:"post",size:"thumbnail",order:"ASC",id:wp.media.view.settings.post&&wp.media.view.settings.post.id,orderby:"menu_order ID"},wp.media.galleryDefaults=wp.media.view.settings.galleryDefaults?b.extend({},wp.media._galleryDefaults,wp.media.view.settings.galleryDefaults):wp.media._galleryDefaults,wp.media.gallery=new wp.media.collection({tag:"gallery",type:"image",editTitle:wp.media.view.l10n.editGalleryTitle,defaults:wp.media.galleryDefaults,setDefaults:function(a){var c=this,d=!b.isEqual(wp.media.galleryDefaults,wp.media._galleryDefaults);return b.each(this.defaults,function(b,e){a[e]=c.coerce(a,e),b!==a[e]||d&&b!==wp.media._galleryDefaults[e]||delete a[e]}),a}}),wp.media.featuredImage={get:function(){return wp.media.view.settings.post.featuredImageId},set:function(b){var c=wp.media.view.settings;c.post.featuredImageId=b,wp.media.post("set-post-thumbnail",{json:!0,post_id:c.post.id,thumbnail_id:c.post.featuredImageId,_wpnonce:c.post.nonce}).done(function(b){a(".inside","#postimagediv").html(b)})},frame:function(){return this._frame?this._frame:(this._frame=wp.media({state:"featured-image",states:[new wp.media.controller.FeaturedImage,new wp.media.controller.EditImage]}),this._frame.on("toolbar:create:featured-image",function(a){this.createSelectToolbar(a,{text:wp.media.view.l10n.setFeaturedImage})},this._frame),this._frame.on("content:render:edit-image",function(){var a=this.state("featured-image").get("selection"),b=new wp.media.view.EditImage({model:a.single(),controller:this}).render();this.content.set(b),b.loadEditor()},this._frame),this._frame.state("featured-image").on("select",this.select),this._frame)},select:function(){var a=this.get("selection").single();wp.media.view.settings.post.featuredImageId&&wp.media.featuredImage.set(a?a.id:-1)},init:function(){a("#postimagediv").on("click","#set-post-thumbnail",function(a){a.preventDefault(),a.stopPropagation(),wp.media.featuredImage.frame().open()}).on("click","#remove-post-thumbnail",function(){wp.media.view.settings.post.featuredImageId=-1})}},a(wp.media.featuredImage.init),wp.media.editor={insert:function(a){var c,d,e=!b.isUndefined(window.tinymce),f=!b.isUndefined(window.QTags);if(d=this.activeEditor?window.wpActiveEditor=this.activeEditor:window.wpActiveEditor,window.send_to_editor)return window.send_to_editor.apply(this,arguments);if(d)e&&(c=tinymce.get(d));else if(e&&tinymce.activeEditor)c=tinymce.activeEditor,d=window.wpActiveEditor=c.id;else if(!f)return!1;if(c&&!c.isHidden()?c.execCommand("mceInsertContent",!1,a):f?QTags.insertContent(a):document.getElementById(d).value+=a,window.tb_remove)try{window.tb_remove()}catch(g){}},add:function(d,e){var f=this.get(d);return f?f:(f=c[d]=wp.media(b.defaults(e||{},{frame:"post",state:"insert",title:wp.media.view.l10n.addMedia,multiple:!0})),f.on("insert",function(c){var d=f.state();c=c||d.get("selection"),c&&a.when.apply(a,c.map(function(a){var b=d.display(a).toJSON();return this.send.attachment(b,a.toJSON())},this)).done(function(){wp.media.editor.insert(b.toArray(arguments).join("\n\n"))})},this),f.state("gallery-edit").on("update",function(a){this.insert(wp.media.gallery.shortcode(a).string())},this),f.state("playlist-edit").on("update",function(a){this.insert(wp.media.playlist.shortcode(a).string())},this),f.state("video-playlist-edit").on("update",function(a){this.insert(wp.media.playlist.shortcode(a).string())},this),f.state("embed").on("select",function(){var a=f.state(),c=a.get("type"),d=a.props.toJSON();d.url=d.url||"","link"===c?(b.defaults(d,{title:d.url,linkUrl:d.url}),this.send.link(d).done(function(a){wp.media.editor.insert(a)})):"image"===c&&(b.defaults(d,{title:d.url,linkUrl:"",align:"none",link:"none"}),"none"===d.link?d.linkUrl="":"file"===d.link&&(d.linkUrl=d.url),this.insert(wp.media.string.image(d)))},this),f.state("featured-image").on("select",wp.media.featuredImage.select),f.setState(f.options.state),f)},id:function(a){return a?a:(a=window.wpActiveEditor,a||b.isUndefined(window.tinymce)||!tinymce.activeEditor||(a=tinymce.activeEditor.id),a=a||"")},get:function(a){return a=this.id(a),c[a]},remove:function(a){a=this.id(a),delete c[a]},send:{attachment:function(a,c){var d,e,f=c.caption;return wp.media.view.settings.captions||delete c.caption,a=wp.media.string.props(a,c),d={id:c.id,post_content:c.description,post_excerpt:f},a.linkUrl&&(d.url=a.linkUrl),"image"===c.type?(e=wp.media.string.image(a),b.each({align:"align",size:"image-size",alt:"image_alt"},function(b,c){a[c]&&(d[b]=a[c])})):"video"===c.type?e=wp.media.string.video(a,c):"audio"===c.type?e=wp.media.string.audio(a,c):(e=wp.media.string.link(a),d.post_title=a.title),wp.media.post("send-attachment-to-editor",{nonce:wp.media.view.settings.nonce.sendToEditor,attachment:d,html:e,post_id:wp.media.view.settings.post.id})},link:function(a){return wp.media.post("send-link-to-editor",{nonce:wp.media.view.settings.nonce.sendToEditor,src:a.linkUrl,title:a.title,html:wp.media.string.link(a),post_id:wp.media.view.settings.post.id})}},open:function(a,b){var c;return b=b||{},a=this.id(a),this.activeEditor=a,c=this.get(a),(!c||c.options&&b.state!==c.options.state)&&(c=this.add(a,b)),c.open()},init:function(){a(document.body).on("click",".insert-media",function(b){var c=a(b.currentTarget),d=c.data("editor"),e={frame:"post",state:"insert",title:wp.media.view.l10n.addMedia,multiple:!0};b.preventDefault(),c.blur(),c.hasClass("gallery")&&(e.state="gallery",e.title=wp.media.view.l10n.createGalleryTitle),wp.media.editor.open(d,e)}),(new wp.media.view.EditorUploader).render()}},b.bindAll(wp.media.editor,"open"),a(wp.media.editor.init)}(jQuery,_);
\ No newline at end of file
diff --git a/wp-includes/js/media-grid.js b/wp-includes/js/media-grid.js
new file mode 100644
index 000000000..043702c35
--- /dev/null
+++ b/wp-includes/js/media-grid.js
@@ -0,0 +1,712 @@
+/* global _wpMediaViewsL10n, MediaElementPlayer, _wpMediaGridSettings */
+(function($, _, Backbone, wp) {
+	// Local reference to the WordPress media namespace.
+	var media = wp.media, l10n;
+
+	// Link localized strings and settings.
+	if ( media.view.l10n ) {
+		l10n = media.view.l10n;
+	} else {
+		l10n = media.view.l10n = typeof _wpMediaViewsL10n === 'undefined' ? {} : _wpMediaViewsL10n;
+		delete l10n.settings;
+	}
+
+	/**
+	 * wp.media.controller.EditAttachmentMetadata
+	 *
+	 * A state for editing an attachment's metadata.
+	 *
+	 * @constructor
+	 * @augments wp.media.controller.State
+	 * @augments Backbone.Model
+	 */
+	media.controller.EditAttachmentMetadata = media.controller.State.extend({
+		defaults: {
+			id:      'edit-attachment',
+			// Title string passed to the frame's title region view.
+			title:   l10n.attachmentDetails,
+			// Region mode defaults.
+			content: 'edit-metadata',
+			menu:    false,
+			toolbar: false,
+			router:  false
+		}
+	});
+
+	/**
+	 * wp.media.view.MediaFrame.Manage
+	 *
+	 * A generic management frame workflow.
+	 *
+	 * Used in the media grid view.
+	 *
+	 * @constructor
+	 * @augments wp.media.view.MediaFrame
+	 * @augments wp.media.view.Frame
+	 * @augments wp.media.View
+	 * @augments wp.Backbone.View
+	 * @augments Backbone.View
+	 * @mixes wp.media.controller.StateMachine
+	 */
+	media.view.MediaFrame.Manage = media.view.MediaFrame.extend({
+		/**
+		 * @global wp.Uploader
+		 */
+		initialize: function() {
+			var self = this;
+			_.defaults( this.options, {
+				title:     '',
+				modal:     false,
+				selection: [],
+				library:   {}, // Options hash for the query to the media library.
+				multiple:  'add',
+				state:     'library',
+				uploader:  true,
+				mode:      [ 'grid', 'edit' ]
+			});
+
+			this.$body = $( document.body );
+			this.$window = $( window );
+			this.$adminBar = $( '#wpadminbar' );
+			this.$window.on( 'scroll resize', _.debounce( _.bind( this.fixPosition, this ), 15 ) );
+			$( document ).on( 'click', '.add-new-h2', _.bind( this.addNewClickHandler, this ) );
+
+			// Ensure core and media grid view UI is enabled.
+			this.$el.addClass('wp-core-ui');
+
+			// Force the uploader off if the upload limit has been exceeded or
+			// if the browser isn't supported.
+			if ( wp.Uploader.limitExceeded || ! wp.Uploader.browser.supported ) {
+				this.options.uploader = false;
+			}
+
+			// Initialize a window-wide uploader.
+			if ( this.options.uploader ) {
+				this.uploader = new media.view.UploaderWindow({
+					controller: this,
+					uploader: {
+						dropzone:  document.body,
+						container: document.body
+					}
+				}).render();
+				this.uploader.ready();
+				$('body').append( this.uploader.el );
+
+				this.options.uploader = false;
+			}
+
+			this.gridRouter = new media.view.MediaFrame.Manage.Router();
+
+			// Call 'initialize' directly on the parent class.
+			media.view.MediaFrame.prototype.initialize.apply( this, arguments );
+
+			// Append the frame view directly the supplied container.
+			this.$el.appendTo( this.options.container );
+
+			this.createStates();
+			this.bindRegionModeHandlers();
+			this.render();
+
+			// Update the URL when entering search string (at most once per second)
+			$( '#media-search-input' ).on( 'input', _.debounce( function(e) {
+				var val = $( e.currentTarget ).val(), url = '';
+				if ( val ) {
+					url += '?search=' + val;
+				}
+				self.gridRouter.navigate( self.gridRouter.baseUrl( url ) );
+			}, 1000 ) );
+		},
+
+		/**
+		 * Create the default states for the frame.
+		 */
+		createStates: function() {
+			var options = this.options;
+
+			if ( this.options.states ) {
+				return;
+			}
+
+			// Add the default states.
+			this.states.add([
+				new media.controller.Library({
+					library:            media.query( options.library ),
+					multiple:           options.multiple,
+					title:              options.title,
+					content:            'browse',
+					toolbar:            'select',
+					contentUserSetting: false,
+					filterable:         'all',
+					autoSelect:         false
+				})
+			]);
+		},
+
+		/**
+		 * Bind region mode activation events to proper handlers.
+		 */
+		bindRegionModeHandlers: function() {
+			this.on( 'content:create:browse', this.browseContent, this );
+
+			// Handle a frame-level event for editing an attachment.
+			this.on( 'edit:attachment', this.openEditAttachmentModal, this );
+
+			this.on( 'select:activate', this.bindKeydown, this );
+			this.on( 'select:deactivate', this.unbindKeydown, this );
+		},
+
+		handleKeydown: function( e ) {
+			if ( 27 === e.which ) {
+				e.preventDefault();
+				this.deactivateMode( 'select' ).activateMode( 'edit' );
+			}
+		},
+
+		bindKeydown: function() {
+			this.$body.on( 'keydown.select', _.bind( this.handleKeydown, this ) );
+		},
+
+		unbindKeydown: function() {
+			this.$body.off( 'keydown.select' );
+		},
+
+		fixPosition: function() {
+			var $browser, $toolbar;
+			if ( ! this.isModeActive( 'select' ) ) {
+				return;
+			}
+
+			$browser = this.$('.attachments-browser');
+			$toolbar = $browser.find('.media-toolbar');
+
+			// Offset doesn't appear to take top margin into account, hence +16
+			if ( ( $browser.offset().top + 16 ) < this.$window.scrollTop() + this.$adminBar.height() ) {
+				$browser.addClass( 'fixed' );
+				$toolbar.css('width', $browser.width() + 'px');
+			} else {
+				$browser.removeClass( 'fixed' );
+				$toolbar.css('width', '');
+			}
+		},
+
+		/**
+		 * Click handler for the `Add New` button.
+		 */
+		addNewClickHandler: function( event ) {
+			event.preventDefault();
+			this.trigger( 'toggle:upload:attachment' );
+		},
+
+		/**
+		 * Open the Edit Attachment modal.
+		 */
+		openEditAttachmentModal: function( model ) {
+			// Create a new EditAttachment frame, passing along the library and the attachment model.
+			wp.media( {
+				frame:       'edit-attachments',
+				controller:  this,
+				library:     this.state().get('library'),
+				model:       model
+			} );
+		},
+
+		/**
+		 * Create an attachments browser view within the content region.
+		 *
+		 * @param {Object} contentRegion Basic object with a `view` property, which
+		 *                               should be set with the proper region view.
+		 * @this wp.media.controller.Region
+		 */
+		browseContent: function( contentRegion ) {
+			var state = this.state();
+
+			// Browse our library of attachments.
+			this.browserView = contentRegion.view = new media.view.AttachmentsBrowser({
+				controller: this,
+				collection: state.get('library'),
+				selection:  state.get('selection'),
+				model:      state,
+				sortable:   state.get('sortable'),
+				search:     state.get('searchable'),
+				filters:    state.get('filterable'),
+				display:    state.get('displaySettings'),
+				dragInfo:   state.get('dragInfo'),
+				sidebar:    'errors',
+
+				suggestedWidth:  state.get('suggestedWidth'),
+				suggestedHeight: state.get('suggestedHeight'),
+
+				AttachmentView: state.get('AttachmentView'),
+
+				scrollElement: document
+			});
+			this.browserView.on( 'ready', _.bind( this.bindDeferred, this ) );
+
+			this.errors = wp.Uploader.errors;
+			this.errors.on( 'add remove reset', this.sidebarVisibility, this );
+		},
+
+		sidebarVisibility: function() {
+			this.browserView.$( '.media-sidebar' ).toggle( !! this.errors.length );
+		},
+
+		bindDeferred: function() {
+			if ( ! this.browserView.dfd ) {
+				return;
+			}
+			this.browserView.dfd.done( _.bind( this.startHistory, this ) );
+		},
+
+		startHistory: function() {
+			// Verify pushState support and activate
+			if ( window.history && window.history.pushState ) {
+				Backbone.history.start( {
+					root: _wpMediaGridSettings.adminUrl,
+					pushState: true
+				} );
+			}
+		}
+	});
+
+	/**
+	 * A similar view to media.view.Attachment.Details
+	 * for use in the Edit Attachment modal.
+	 *
+	 * @constructor
+	 * @augments wp.media.view.Attachment.Details
+	 * @augments wp.media.view.Attachment
+	 * @augments wp.media.View
+	 * @augments wp.Backbone.View
+	 * @augments Backbone.View
+	 */
+	media.view.Attachment.Details.TwoColumn = media.view.Attachment.Details.extend({
+		template: media.template( 'attachment-details-two-column' ),
+
+		editAttachment: function( event ) {
+			event.preventDefault();
+			this.controller.content.mode( 'edit-image' );
+		},
+
+		/**
+		 * Noop this from parent class, doesn't apply here.
+		 */
+		toggleSelectionHandler: function() {},
+
+		render: function() {
+			media.view.Attachment.Details.prototype.render.apply( this, arguments );
+
+			media.mixin.removeAllPlayers();
+			this.$( 'audio, video' ).each( function (i, elem) {
+				var el = media.view.MediaDetails.prepareSrc( elem );
+				new MediaElementPlayer( el, media.mixin.mejsSettings );
+			} );
+		}
+	});
+
+	/**
+	 * A router for handling the browser history and application state.
+	 *
+	 * @constructor
+	 * @augments Backbone.Router
+	 */
+	media.view.MediaFrame.Manage.Router = Backbone.Router.extend({
+		routes: {
+			'upload.php?item=:slug':    'showItem',
+			'upload.php?search=:query': 'search'
+		},
+
+		// Map routes against the page URL
+		baseUrl: function( url ) {
+			return 'upload.php' + url;
+		},
+
+		// Respond to the search route by filling the search field and trigggering the input event
+		search: function( query ) {
+			$( '#media-search-input' ).val( query ).trigger( 'input' );
+		},
+
+		// Show the modal with a specific item
+		showItem: function( query ) {
+			var library = media.frame.state().get('library'), item;
+
+			// Trigger the media frame to open the correct item
+			item = library.findWhere( { id: parseInt( query, 10 ) } );
+			if ( item ) {
+				media.frame.trigger( 'edit:attachment', item );
+			} else {
+				item = media.attachment( query );
+				media.frame.listenTo( item, 'change', function( model ) {
+					media.frame.stopListening( item );
+					media.frame.trigger( 'edit:attachment', model );
+				} );
+				item.fetch();
+			}
+		}
+	});
+
+	media.view.EditImage.Details = media.view.EditImage.extend({
+		initialize: function( options ) {
+			this.editor = window.imageEdit;
+			this.frame = options.frame;
+			this.controller = options.controller;
+			media.View.prototype.initialize.apply( this, arguments );
+		},
+
+		back: function() {
+			this.frame.content.mode( 'edit-metadata' );
+		},
+
+		save: function() {
+			var self = this;
+
+			this.model.fetch().done( function() {
+				self.frame.content.mode( 'edit-metadata' );
+			});
+		}
+	});
+
+	/**
+	 * A frame for editing the details of a specific media item.
+	 *
+	 * Opens in a modal by default.
+	 *
+	 * Requires an attachment model to be passed in the options hash under `model`.
+	 *
+	 * @constructor
+	 * @augments wp.media.view.Frame
+	 * @augments wp.media.View
+	 * @augments wp.Backbone.View
+	 * @augments Backbone.View
+	 * @mixes wp.media.controller.StateMachine
+	 */
+	media.view.MediaFrame.EditAttachments = media.view.MediaFrame.extend({
+
+		className: 'edit-attachment-frame',
+		template: media.template( 'edit-attachment-frame' ),
+		regions:   [ 'title', 'content' ],
+
+		events: {
+			'click .left':  'previousMediaItem',
+			'click .right': 'nextMediaItem',
+			'keydown':      'keyEvent'
+		},
+
+		initialize: function() {
+			media.view.Frame.prototype.initialize.apply( this, arguments );
+
+			_.defaults( this.options, {
+				modal: true,
+				state: 'edit-attachment'
+			});
+
+			this.controller = this.options.controller;
+			this.gridRouter = this.controller.gridRouter;
+			this.library = this.options.library;
+
+			if ( this.options.model ) {
+				this.model = this.options.model;
+			}
+
+			this.bindHandlers();
+			this.createStates();
+			this.createModal();
+
+			this.title.mode( 'default' );
+			this.toggleNav();
+		},
+
+		bindHandlers: function() {
+			// Bind default title creation.
+			this.on( 'title:create:default', this.createTitle, this );
+
+			// Close the modal if the attachment is deleted.
+			this.listenTo( this.model, 'change:status destroy', this.close, this );
+
+			this.on( 'content:create:edit-metadata', this.editMetadataMode, this );
+			this.on( 'content:create:edit-image', this.editImageMode, this );
+			this.on( 'content:render:edit-image', this.editImageModeRender, this );
+			this.on( 'close', this.detach );
+		},
+
+		createModal: function() {
+			var self = this;
+
+			// Initialize modal container view.
+			if ( this.options.modal ) {
+				this.modal = new media.view.Modal({
+					controller: this,
+					title:      this.options.title
+				});
+
+				this.modal.on( 'open', function () {
+					$( 'body' ).on( 'keydown.media-modal', _.bind( self.keyEvent, self ) );
+				} );
+
+				// Completely destroy the modal DOM element when closing it.
+				this.modal.on( 'close', function() {
+					self.modal.remove();
+					$( 'body' ).off( 'keydown.media-modal' ); /* remove the keydown event */
+					// Restore the original focus item if possible
+					$( 'li.attachment[data-id="' + self.model.get( 'id' ) +'"]' ).focus();
+					self.resetRoute();
+				} );
+
+				// Set this frame as the modal's content.
+				this.modal.content( this );
+				this.modal.open();
+			}
+		},
+
+		/**
+		 * Add the default states to the frame.
+		 */
+		createStates: function() {
+			this.states.add([
+				new media.controller.EditAttachmentMetadata( { model: this.model } )
+			]);
+		},
+
+		/**
+		 * Content region rendering callback for the `edit-metadata` mode.
+		 *
+		 * @param {Object} contentRegion Basic object with a `view` property, which
+		 *                               should be set with the proper region view.
+		 */
+		editMetadataMode: function( contentRegion ) {
+			contentRegion.view = new media.view.Attachment.Details.TwoColumn({
+				controller: this,
+				model:      this.model
+			});
+
+			/**
+			 * Attach a subview to display fields added via the
+			 * `attachment_fields_to_edit` filter.
+			 */
+			contentRegion.view.views.set( '.attachment-compat', new media.view.AttachmentCompat({
+				controller: this,
+				model:      this.model
+			}) );
+
+			// Update browser url when navigating media details
+			if ( this.model ) {
+				this.gridRouter.navigate( this.gridRouter.baseUrl( '?item=' + this.model.id ) );
+			}
+		},
+
+		/**
+		 * Render the EditImage view into the frame's content region.
+		 *
+		 * @param {Object} contentRegion Basic object with a `view` property, which
+		 *                               should be set with the proper region view.
+		 */
+		editImageMode: function( contentRegion ) {
+			var editImageController = new media.controller.EditImage( {
+				model: this.model,
+				frame: this
+			} );
+			// Noop some methods.
+			editImageController._toolbar = function() {};
+			editImageController._router = function() {};
+			editImageController._menu = function() {};
+
+			contentRegion.view = new media.view.EditImage.Details( {
+				model: this.model,
+				frame: this,
+				controller: editImageController
+			} );
+		},
+
+		editImageModeRender: function( view ) {
+			view.on( 'ready', view.loadEditor );
+		},
+
+		toggleNav: function() {
+			this.$('.left').toggleClass( 'disabled', ! this.hasPrevious() );
+			this.$('.right').toggleClass( 'disabled', ! this.hasNext() );
+		},
+
+		/**
+		 * Rerender the view.
+		 */
+		rerender: function() {
+			// Only rerender the `content` region.
+			if ( this.content.mode() !== 'edit-metadata' ) {
+				this.content.mode( 'edit-metadata' );
+			} else {
+				this.content.render();
+			}
+
+			this.toggleNav();
+		},
+
+		/**
+		 * Click handler to switch to the previous media item.
+		 */
+		previousMediaItem: function() {
+			if ( ! this.hasPrevious() ) {
+				this.$( '.left' ).blur();
+				return;
+			}
+			this.model = this.library.at( this.getCurrentIndex() - 1 );
+			this.rerender();
+			this.$( '.left' ).focus();
+		},
+
+		/**
+		 * Click handler to switch to the next media item.
+		 */
+		nextMediaItem: function() {
+			if ( ! this.hasNext() ) {
+				this.$( '.right' ).blur();
+				return;
+			}
+			this.model = this.library.at( this.getCurrentIndex() + 1 );
+			this.rerender();
+			this.$( '.right' ).focus();
+		},
+
+		getCurrentIndex: function() {
+			return this.library.indexOf( this.model );
+		},
+
+		hasNext: function() {
+			return ( this.getCurrentIndex() + 1 ) < this.library.length;
+		},
+
+		hasPrevious: function() {
+			return ( this.getCurrentIndex() - 1 ) > -1;
+		},
+		/**
+		 * Respond to the keyboard events: right arrow, left arrow, escape.
+		 */
+		keyEvent: function( event ) {
+			if ( 'INPUT' === event.target.tagName && ! ( event.target.readOnly || event.target.disabled ) ) {
+				return;
+			}
+
+			// The right arrow key
+			if ( 39 === event.keyCode ) {
+				this.nextMediaItem();
+			}
+			// The left arrow key
+			if ( 37 === event.keyCode ) {
+				this.previousMediaItem();
+			}
+		},
+
+		resetRoute: function() {
+			this.gridRouter.navigate( this.gridRouter.baseUrl( '' ) );
+		}
+	});
+
+	media.view.SelectModeToggleButton = media.view.Button.extend({
+		initialize: function() {
+			media.view.Button.prototype.initialize.apply( this, arguments );
+			this.listenTo( this.controller, 'select:activate select:deactivate', this.toggleBulkEditHandler );
+			this.listenTo( this.controller, 'selection:action:done', this.back );
+		},
+
+		back: function () {
+			this.controller.deactivateMode( 'select' ).activateMode( 'edit' );
+		},
+
+		click: function() {
+			media.view.Button.prototype.click.apply( this, arguments );
+			if ( this.controller.isModeActive( 'select' ) ) {
+				this.back();
+			} else {
+				this.controller.deactivateMode( 'edit' ).activateMode( 'select' );
+			}
+		},
+
+		render: function() {
+			media.view.Button.prototype.render.apply( this, arguments );
+			this.$el.addClass( 'select-mode-toggle-button' );
+			return this;
+		},
+
+		toggleBulkEditHandler: function() {
+			var toolbar = this.controller.content.get().toolbar, children;
+
+			children = toolbar.$( '.media-toolbar-secondary > *, .media-toolbar-primary > *');
+
+			if ( this.controller.isModeActive( 'select' ) ) {
+				this.model.set( 'text', l10n.cancelSelection );
+				children.not( '.delete-selected-button' ).hide();
+				toolbar.$( '.select-mode-toggle-button' ).show();
+				toolbar.$( '.delete-selected-button' ).removeClass( 'hidden' );
+			} else {
+				this.model.set( 'text', l10n.bulkSelect );
+				this.controller.content.get().$el.removeClass('fixed');
+				toolbar.$el.css('width', '');
+				toolbar.$( '.delete-selected-button' ).addClass( 'hidden' );
+				children.not( '.spinner, .delete-selected-button' ).show();
+				this.controller.state().get( 'selection' ).reset();
+			}
+		}
+	});
+
+	media.view.DeleteSelectedButton = media.view.Button.extend({
+		initialize: function() {
+			media.view.Button.prototype.initialize.apply( this, arguments );
+			if ( this.options.filters ) {
+				this.listenTo( this.options.filters.model, 'change', this.filterChange );
+			}
+			this.listenTo( this.controller, 'selection:toggle', this.toggleDisabled );
+		},
+
+		filterChange: function( model ) {
+			if ( 'trash' === model.get( 'status' ) ) {
+				this.model.set( 'text', l10n.untrashSelected );
+			} else if ( media.view.settings.mediaTrash ) {
+				this.model.set( 'text', l10n.trashSelected );
+			} else {
+				this.model.set( 'text', l10n.deleteSelected );
+			}
+		},
+
+		toggleDisabled: function() {
+			this.model.set( 'disabled', ! this.controller.state().get( 'selection' ).length );
+		},
+
+		render: function() {
+			media.view.Button.prototype.render.apply( this, arguments );
+			if ( this.controller.isModeActive( 'select' ) ) {
+				this.$el.addClass( 'delete-selected-button' );
+			} else {
+				this.$el.addClass( 'delete-selected-button hidden' );
+			}
+			return this;
+		}
+	});
+
+	/**
+	 * A filter dropdown for month/dates.
+	 */
+	media.view.DateFilter = media.view.AttachmentFilters.extend({
+		id: 'media-attachment-date-filters',
+
+		createFilters: function() {
+			var filters = {};
+			_.each( media.view.settings.months || {}, function( value, index ) {
+				filters[ index ] = {
+					text: value.text,
+					props: {
+						year: value.year,
+						monthnum: value.month
+					}
+				};
+			});
+			filters.all = {
+				text:  l10n.allDates,
+				props: {
+					monthnum: false,
+					year:  false
+				},
+				priority: 10
+			};
+			this.filters = filters;
+		}
+	});
+
+}(jQuery, _, Backbone, wp));
diff --git a/wp-includes/js/media-grid.min.js b/wp-includes/js/media-grid.min.js
new file mode 100644
index 000000000..5d1d76579
--- /dev/null
+++ b/wp-includes/js/media-grid.min.js
@@ -0,0 +1 @@
+!function(a,b,c,d){var e,f=d.media;f.view.l10n?e=f.view.l10n:(e=f.view.l10n="undefined"==typeof _wpMediaViewsL10n?{}:_wpMediaViewsL10n,delete e.settings),f.controller.EditAttachmentMetadata=f.controller.State.extend({defaults:{id:"edit-attachment",title:e.attachmentDetails,content:"edit-metadata",menu:!1,toolbar:!1,router:!1}}),f.view.MediaFrame.Manage=f.view.MediaFrame.extend({initialize:function(){var c=this;b.defaults(this.options,{title:"",modal:!1,selection:[],library:{},multiple:"add",state:"library",uploader:!0,mode:["grid","edit"]}),this.$body=a(document.body),this.$window=a(window),this.$adminBar=a("#wpadminbar"),this.$window.on("scroll resize",b.debounce(b.bind(this.fixPosition,this),15)),a(document).on("click",".add-new-h2",b.bind(this.addNewClickHandler,this)),this.$el.addClass("wp-core-ui"),(d.Uploader.limitExceeded||!d.Uploader.browser.supported)&&(this.options.uploader=!1),this.options.uploader&&(this.uploader=new f.view.UploaderWindow({controller:this,uploader:{dropzone:document.body,container:document.body}}).render(),this.uploader.ready(),a("body").append(this.uploader.el),this.options.uploader=!1),this.gridRouter=new f.view.MediaFrame.Manage.Router,f.view.MediaFrame.prototype.initialize.apply(this,arguments),this.$el.appendTo(this.options.container),this.createStates(),this.bindRegionModeHandlers(),this.render(),a("#media-search-input").on("input",b.debounce(function(b){var d=a(b.currentTarget).val(),e="";d&&(e+="?search="+d),c.gridRouter.navigate(c.gridRouter.baseUrl(e))},1e3))},createStates:function(){var a=this.options;this.options.states||this.states.add([new f.controller.Library({library:f.query(a.library),multiple:a.multiple,title:a.title,content:"browse",toolbar:"select",contentUserSetting:!1,filterable:"all",autoSelect:!1})])},bindRegionModeHandlers:function(){this.on("content:create:browse",this.browseContent,this),this.on("edit:attachment",this.openEditAttachmentModal,this),this.on("select:activate",this.bindKeydown,this),this.on("select:deactivate",this.unbindKeydown,this)},handleKeydown:function(a){27===a.which&&(a.preventDefault(),this.deactivateMode("select").activateMode("edit"))},bindKeydown:function(){this.$body.on("keydown.select",b.bind(this.handleKeydown,this))},unbindKeydown:function(){this.$body.off("keydown.select")},fixPosition:function(){var a,b;this.isModeActive("select")&&(a=this.$(".attachments-browser"),b=a.find(".media-toolbar"),a.offset().top+16<this.$window.scrollTop()+this.$adminBar.height()?(a.addClass("fixed"),b.css("width",a.width()+"px")):(a.removeClass("fixed"),b.css("width","")))},addNewClickHandler:function(a){a.preventDefault(),this.trigger("toggle:upload:attachment")},openEditAttachmentModal:function(a){d.media({frame:"edit-attachments",controller:this,library:this.state().get("library"),model:a})},browseContent:function(a){var c=this.state();this.browserView=a.view=new f.view.AttachmentsBrowser({controller:this,collection:c.get("library"),selection:c.get("selection"),model:c,sortable:c.get("sortable"),search:c.get("searchable"),filters:c.get("filterable"),display:c.get("displaySettings"),dragInfo:c.get("dragInfo"),sidebar:"errors",suggestedWidth:c.get("suggestedWidth"),suggestedHeight:c.get("suggestedHeight"),AttachmentView:c.get("AttachmentView"),scrollElement:document}),this.browserView.on("ready",b.bind(this.bindDeferred,this)),this.errors=d.Uploader.errors,this.errors.on("add remove reset",this.sidebarVisibility,this)},sidebarVisibility:function(){this.browserView.$(".media-sidebar").toggle(!!this.errors.length)},bindDeferred:function(){this.browserView.dfd&&this.browserView.dfd.done(b.bind(this.startHistory,this))},startHistory:function(){window.history&&window.history.pushState&&c.history.start({root:_wpMediaGridSettings.adminUrl,pushState:!0})}}),f.view.Attachment.Details.TwoColumn=f.view.Attachment.Details.extend({template:f.template("attachment-details-two-column"),editAttachment:function(a){a.preventDefault(),this.controller.content.mode("edit-image")},toggleSelectionHandler:function(){},render:function(){f.view.Attachment.Details.prototype.render.apply(this,arguments),f.mixin.removeAllPlayers(),this.$("audio, video").each(function(a,b){var c=f.view.MediaDetails.prepareSrc(b);new MediaElementPlayer(c,f.mixin.mejsSettings)})}}),f.view.MediaFrame.Manage.Router=c.Router.extend({routes:{"upload.php?item=:slug":"showItem","upload.php?search=:query":"search"},baseUrl:function(a){return"upload.php"+a},search:function(b){a("#media-search-input").val(b).trigger("input")},showItem:function(a){var b,c=f.frame.state().get("library");b=c.findWhere({id:parseInt(a,10)}),b?f.frame.trigger("edit:attachment",b):(b=f.attachment(a),f.frame.listenTo(b,"change",function(a){f.frame.stopListening(b),f.frame.trigger("edit:attachment",a)}),b.fetch())}}),f.view.EditImage.Details=f.view.EditImage.extend({initialize:function(a){this.editor=window.imageEdit,this.frame=a.frame,this.controller=a.controller,f.View.prototype.initialize.apply(this,arguments)},back:function(){this.frame.content.mode("edit-metadata")},save:function(){var a=this;this.model.fetch().done(function(){a.frame.content.mode("edit-metadata")})}}),f.view.MediaFrame.EditAttachments=f.view.MediaFrame.extend({className:"edit-attachment-frame",template:f.template("edit-attachment-frame"),regions:["title","content"],events:{"click .left":"previousMediaItem","click .right":"nextMediaItem",keydown:"keyEvent"},initialize:function(){f.view.Frame.prototype.initialize.apply(this,arguments),b.defaults(this.options,{modal:!0,state:"edit-attachment"}),this.controller=this.options.controller,this.gridRouter=this.controller.gridRouter,this.library=this.options.library,this.options.model&&(this.model=this.options.model),this.bindHandlers(),this.createStates(),this.createModal(),this.title.mode("default"),this.toggleNav()},bindHandlers:function(){this.on("title:create:default",this.createTitle,this),this.listenTo(this.model,"change:status destroy",this.close,this),this.on("content:create:edit-metadata",this.editMetadataMode,this),this.on("content:create:edit-image",this.editImageMode,this),this.on("content:render:edit-image",this.editImageModeRender,this),this.on("close",this.detach)},createModal:function(){var c=this;this.options.modal&&(this.modal=new f.view.Modal({controller:this,title:this.options.title}),this.modal.on("open",function(){a("body").on("keydown.media-modal",b.bind(c.keyEvent,c))}),this.modal.on("close",function(){c.modal.remove(),a("body").off("keydown.media-modal"),a('li.attachment[data-id="'+c.model.get("id")+'"]').focus(),c.resetRoute()}),this.modal.content(this),this.modal.open())},createStates:function(){this.states.add([new f.controller.EditAttachmentMetadata({model:this.model})])},editMetadataMode:function(a){a.view=new f.view.Attachment.Details.TwoColumn({controller:this,model:this.model}),a.view.views.set(".attachment-compat",new f.view.AttachmentCompat({controller:this,model:this.model})),this.model&&this.gridRouter.navigate(this.gridRouter.baseUrl("?item="+this.model.id))},editImageMode:function(a){var b=new f.controller.EditImage({model:this.model,frame:this});b._toolbar=function(){},b._router=function(){},b._menu=function(){},a.view=new f.view.EditImage.Details({model:this.model,frame:this,controller:b})},editImageModeRender:function(a){a.on("ready",a.loadEditor)},toggleNav:function(){this.$(".left").toggleClass("disabled",!this.hasPrevious()),this.$(".right").toggleClass("disabled",!this.hasNext())},rerender:function(){"edit-metadata"!==this.content.mode()?this.content.mode("edit-metadata"):this.content.render(),this.toggleNav()},previousMediaItem:function(){return this.hasPrevious()?(this.model=this.library.at(this.getCurrentIndex()-1),this.rerender(),void this.$(".left").focus()):void this.$(".left").blur()},nextMediaItem:function(){return this.hasNext()?(this.model=this.library.at(this.getCurrentIndex()+1),this.rerender(),void this.$(".right").focus()):void this.$(".right").blur()},getCurrentIndex:function(){return this.library.indexOf(this.model)},hasNext:function(){return this.getCurrentIndex()+1<this.library.length},hasPrevious:function(){return this.getCurrentIndex()-1>-1},keyEvent:function(a){("INPUT"!==a.target.tagName||a.target.readOnly||a.target.disabled)&&(39===a.keyCode&&this.nextMediaItem(),37===a.keyCode&&this.previousMediaItem())},resetRoute:function(){this.gridRouter.navigate(this.gridRouter.baseUrl(""))}}),f.view.SelectModeToggleButton=f.view.Button.extend({initialize:function(){f.view.Button.prototype.initialize.apply(this,arguments),this.listenTo(this.controller,"select:activate select:deactivate",this.toggleBulkEditHandler),this.listenTo(this.controller,"selection:action:done",this.back)},back:function(){this.controller.deactivateMode("select").activateMode("edit")},click:function(){f.view.Button.prototype.click.apply(this,arguments),this.controller.isModeActive("select")?this.back():this.controller.deactivateMode("edit").activateMode("select")},render:function(){return f.view.Button.prototype.render.apply(this,arguments),this.$el.addClass("select-mode-toggle-button"),this},toggleBulkEditHandler:function(){var a,b=this.controller.content.get().toolbar;a=b.$(".media-toolbar-secondary > *, .media-toolbar-primary > *"),this.controller.isModeActive("select")?(this.model.set("text",e.cancelSelection),a.not(".delete-selected-button").hide(),b.$(".select-mode-toggle-button").show(),b.$(".delete-selected-button").removeClass("hidden")):(this.model.set("text",e.bulkSelect),this.controller.content.get().$el.removeClass("fixed"),b.$el.css("width",""),b.$(".delete-selected-button").addClass("hidden"),a.not(".spinner, .delete-selected-button").show(),this.controller.state().get("selection").reset())}}),f.view.DeleteSelectedButton=f.view.Button.extend({initialize:function(){f.view.Button.prototype.initialize.apply(this,arguments),this.options.filters&&this.listenTo(this.options.filters.model,"change",this.filterChange),this.listenTo(this.controller,"selection:toggle",this.toggleDisabled)},filterChange:function(a){"trash"===a.get("status")?this.model.set("text",e.untrashSelected):f.view.settings.mediaTrash?this.model.set("text",e.trashSelected):this.model.set("text",e.deleteSelected)},toggleDisabled:function(){this.model.set("disabled",!this.controller.state().get("selection").length)},render:function(){return f.view.Button.prototype.render.apply(this,arguments),this.$el.addClass(this.controller.isModeActive("select")?"delete-selected-button":"delete-selected-button hidden"),this}}),f.view.DateFilter=f.view.AttachmentFilters.extend({id:"media-attachment-date-filters",createFilters:function(){var a={};b.each(f.view.settings.months||{},function(b,c){a[c]={text:b.text,props:{year:b.year,monthnum:b.month}}}),a.all={text:e.allDates,props:{monthnum:!1,year:!1},priority:10},this.filters=a}})}(jQuery,_,Backbone,wp);
\ No newline at end of file
diff --git a/wp-includes/js/media-models.js b/wp-includes/js/media-models.js
index 1dd719688..ac7ee938d 100644
--- a/wp-includes/js/media-models.js
+++ b/wp-includes/js/media-models.js
@@ -5,7 +5,7 @@ window.wp = window.wp || {};
 	var Attachment, Attachments, Query, PostImage, compare, l10n, media;
 
 	/**
-	 * wp.media( attributes )
+	 * Create and return a media frame.
 	 *
 	 * Handles the default media experience. Automatically creates
 	 * and opens a media frame, and returns the result.
@@ -30,12 +30,16 @@ window.wp = window.wp || {};
 			frame = new MediaFrame.Select( attributes );
 		} else if ( 'post' === attributes.frame && MediaFrame.Post ) {
 			frame = new MediaFrame.Post( attributes );
+		} else if ( 'manage' === attributes.frame && MediaFrame.Manage ) {
+			frame = new MediaFrame.Manage( attributes );
 		} else if ( 'image' === attributes.frame && MediaFrame.ImageDetails ) {
 			frame = new MediaFrame.ImageDetails( attributes );
 		} else if ( 'audio' === attributes.frame && MediaFrame.AudioDetails ) {
 			frame = new MediaFrame.AudioDetails( attributes );
 		} else if ( 'video' === attributes.frame && MediaFrame.VideoDetails ) {
 			frame = new MediaFrame.VideoDetails( attributes );
+		} else if ( 'edit-attachments' === attributes.frame && MediaFrame.EditAttachments ) {
+			frame = new MediaFrame.EditAttachments( attributes );
 		}
 
 		delete attributes.frame;
@@ -820,9 +824,12 @@ window.wp = window.wp || {};
 		/**
 		 * @access private
 		 */
-		_requery: function() {
+		_requery: function( refresh ) {
+			var props;
 			if ( this.props.get('query') ) {
-				this.mirror( Query.get( this.props.toJSON() ) );
+				props = this.props.toJSON();
+				props.cache = ( true !== refresh );
+				this.mirror( Query.get( props ) );
 			}
 		},
 		/**
@@ -943,6 +950,22 @@ window.wp = window.wp || {};
 				}
 
 				return uploadedTo === attachment.get('uploadedTo');
+			},
+			/**
+			 * @static
+			 * @param {wp.media.model.Attachment} attachment
+			 *
+			 * @this wp.media.model.Attachments
+			 *
+			 * @returns {Boolean}
+			 */
+			status: function( attachment ) {
+				var status = this.props.get('status');
+				if ( _.isUndefined( status ) ) {
+					return true;
+				}
+
+				return status === attachment.get('status');
 			}
 		}
 	});
@@ -1140,7 +1163,8 @@ window.wp = window.wp || {};
 			'type':      'post_mime_type',
 			'perPage':   'posts_per_page',
 			'menuOrder': 'menu_order',
-			'uploadedTo': 'post_parent'
+			'uploadedTo': 'post_parent',
+			'status':     'post_status'
 		},
 		/**
 		 * @static
@@ -1165,11 +1189,13 @@ window.wp = window.wp || {};
 				var args     = {},
 					orderby  = Query.orderby,
 					defaults = Query.defaultProps,
-					query;
+					query,
+					cache    = !! props.cache || _.isUndefined( props.cache );
 
 				// Remove the `query` property. This isn't linked to a query,
 				// this *is* the query.
 				delete props.query;
+				delete props.cache;
 
 				// Fill default args.
 				_.defaults( props, defaults );
@@ -1203,9 +1229,13 @@ window.wp = window.wp || {};
 				args.orderby = orderby.valuemap[ props.orderby ] || props.orderby;
 
 				// Search the query cache for matches.
-				query = _.find( queries, function( query ) {
-					return _.isEqual( query.args, args );
-				});
+				if ( cache ) {
+					query = _.find( queries, function( query ) {
+						return _.isEqual( query.args, args );
+					});
+				} else {
+					queries = [];
+				}
 
 				// Otherwise, create a new query and add it to the cache.
 				if ( ! query ) {
diff --git a/wp-includes/js/media-models.min.js b/wp-includes/js/media-models.min.js
index 41349fcdd..1cff4d3ac 100644
--- a/wp-includes/js/media-models.min.js
+++ b/wp-includes/js/media-models.min.js
@@ -1 +1 @@
-window.wp=window.wp||{},function(a){var b,c,d,e,f,g,h;h=wp.media=function(a){var b,c=h.view.MediaFrame;if(c)return a=_.defaults(a||{},{frame:"select"}),"select"===a.frame&&c.Select?b=new c.Select(a):"post"===a.frame&&c.Post?b=new c.Post(a):"image"===a.frame&&c.ImageDetails?b=new c.ImageDetails(a):"audio"===a.frame&&c.AudioDetails?b=new c.AudioDetails(a):"video"===a.frame&&c.VideoDetails&&(b=new c.VideoDetails(a)),delete a.frame,h.frame=b,b},_.extend(h,{model:{},view:{},controller:{},frames:{}}),g=h.model.l10n="undefined"==typeof _wpMediaModelsL10n?{}:_wpMediaModelsL10n,h.model.settings=g.settings||{},delete g.settings,f=function(a,b,c,d){return _.isEqual(a,b)?c===d?0:c>d?-1:1:a>b?-1:1},_.extend(h,{template:wp.template,post:wp.ajax.post,ajax:wp.ajax.send,fit:function(a){var b,c=a.width,d=a.height,e=a.maxWidth,f=a.maxHeight;return _.isUndefined(e)||_.isUndefined(f)?_.isUndefined(f)?b="width":_.isUndefined(e)&&d>f&&(b="height"):b=c/d>e/f?"width":"height","width"===b&&c>e?{width:e,height:Math.round(e*d/c)}:"height"===b&&d>f?{width:Math.round(f*c/d),height:f}:{width:c,height:d}},truncate:function(a,b,c){return b=b||30,c=c||"&hellip;",a.length<=b?a:a.substr(0,b/2)+c+a.substr(-1*b/2)}}),h.attachment=function(a){return b.get(a)},b=h.model.Attachment=Backbone.Model.extend({sync:function(b,c,d){return _.isUndefined(this.id)?a.Deferred().rejectWith(this).promise():"read"===b?(d=d||{},d.context=this,d.data=_.extend(d.data||{},{action:"get-attachment",id:this.id}),h.ajax(d)):"update"===b?this.get("nonces")&&this.get("nonces").update?(d=d||{},d.context=this,d.data=_.extend(d.data||{},{action:"save-attachment",id:this.id,nonce:this.get("nonces").update,post_id:h.model.settings.post.id}),c.hasChanged()&&(d.data.changes={},_.each(c.changed,function(a,b){d.data.changes[b]=this.get(b)},this)),h.ajax(d)):a.Deferred().rejectWith(this).promise():"delete"===b?(d=d||{},d.wait||(this.destroyed=!0),d.context=this,d.data=_.extend(d.data||{},{action:"delete-post",id:this.id,_wpnonce:this.get("nonces")["delete"]}),h.ajax(d).done(function(){this.destroyed=!0}).fail(function(){this.destroyed=!1})):Backbone.Model.prototype.sync.apply(this,arguments)},parse:function(a){return a?(a.date=new Date(a.date),a.modified=new Date(a.modified),a):a},saveCompat:function(b,c){var d=this;return this.get("nonces")&&this.get("nonces").update?h.post("save-attachment-compat",_.defaults({id:this.id,nonce:this.get("nonces").update,post_id:h.model.settings.post.id},b)).done(function(a,b,e){d.set(d.parse(a,e),c)}):a.Deferred().rejectWith(this).promise()}},{create:function(a){return c.all.push(a)},get:_.memoize(function(a,b){return c.all.push(b||{id:a})})}),e=h.model.PostImage=Backbone.Model.extend({initialize:function(c){this.attachment=!1,c.attachment_id&&(this.attachment=b.get(c.attachment_id),this.attachment.get("url")?(this.dfd=a.Deferred(),this.dfd.resolve()):this.dfd=this.attachment.fetch(),this.bindAttachmentListeners()),this.on("change:link",this.updateLinkUrl,this),this.on("change:size",this.updateSize,this),this.setLinkTypeFromUrl(),this.setAspectRatio(),this.set("originalUrl",c.url)},bindAttachmentListeners:function(){this.listenTo(this.attachment,"sync",this.setLinkTypeFromUrl),this.listenTo(this.attachment,"sync",this.setAspectRatio),this.listenTo(this.attachment,"change",this.updateSize)},changeAttachment:function(a,b){this.stopListening(this.attachment),this.attachment=a,this.bindAttachmentListeners(),this.set("attachment_id",this.attachment.get("id")),this.set("caption",this.attachment.get("caption")),this.set("alt",this.attachment.get("alt")),this.set("size",b.get("size")),this.set("align",b.get("align")),this.set("link",b.get("link")),this.updateLinkUrl(),this.updateSize()},setLinkTypeFromUrl:function(){var a,b=this.get("linkUrl");return b?(a="custom",this.attachment?this.attachment.get("url")===b?a="file":this.attachment.get("link")===b&&(a="post"):this.get("url")===b&&(a="file"),void this.set("link",a)):void this.set("link","none")},updateLinkUrl:function(){var a,b=this.get("link");switch(b){case"file":a=this.attachment?this.attachment.get("url"):this.get("url"),this.set("linkUrl",a);break;case"post":this.set("linkUrl",this.attachment.get("link"));break;case"none":this.set("linkUrl","")}},updateSize:function(){var a;if(this.attachment){if("custom"===this.get("size"))return this.set("width",this.get("customWidth")),this.set("height",this.get("customHeight")),void this.set("url",this.get("originalUrl"));a=this.attachment.get("sizes")[this.get("size")],a&&(this.set("url",a.url),this.set("width",a.width),this.set("height",a.height))}},setAspectRatio:function(){var a;return this.attachment&&this.attachment.get("sizes")&&(a=this.attachment.get("sizes").full)?void this.set("aspectRatio",a.width/a.height):void this.set("aspectRatio",this.get("customWidth")/this.get("customHeight"))}}),c=h.model.Attachments=Backbone.Collection.extend({model:b,initialize:function(a,b){b=b||{},this.props=new Backbone.Model,this.filters=b.filters||{},this.props.on("change",this._changeFilteredProps,this),this.props.on("change:order",this._changeOrder,this),this.props.on("change:orderby",this._changeOrderby,this),this.props.on("change:query",this._changeQuery,this),this.props.set(_.defaults(b.props||{})),b.observe&&this.observe(b.observe)},_changeOrder:function(){this.comparator&&this.sort()},_changeOrderby:function(a,b){this.comparator&&this.comparator!==c.comparator||(b&&"post__in"!==b?this.comparator=c.comparator:delete this.comparator)},_changeQuery:function(a,b){b?(this.props.on("change",this._requery,this),this._requery()):this.props.off("change",this._requery,this)},_changeFilteredProps:function(a){if(!this.props.get("query")){var b=_.chain(a.changed).map(function(b,d){var e=c.filters[d],f=a.get(d);if(e){if(f&&!this.filters[d])this.filters[d]=e;else{if(f||this.filters[d]!==e)return;delete this.filters[d]}return!0}},this).any().value();b&&(this._source||(this._source=new c(this.models)),this.reset(this._source.filter(this.validator,this)))}},validateDestroyed:!1,validator:function(a){return!this.validateDestroyed&&a.destroyed?!1:_.all(this.filters,function(b){return!!b.call(this,a)},this)},validate:function(a,b){var c=this.validator(a),d=!!this.get(a.cid);return!c&&d?this.remove(a,b):c&&!d&&this.add(a,b),this},validateAll:function(a,b){return b=b||{},_.each(a.models,function(a){this.validate(a,{silent:!0})},this),b.silent||this.trigger("reset",this,b),this},observe:function(a){return this.observers=this.observers||[],this.observers.push(a),a.on("add change remove",this._validateHandler,this),a.on("reset",this._validateAllHandler,this),this.validateAll(a),this},unobserve:function(a){return a?(a.off(null,null,this),this.observers=_.without(this.observers,a)):(_.each(this.observers,function(a){a.off(null,null,this)},this),delete this.observers),this},_validateHandler:function(a,b,c){return c=b===this.mirroring?c:{silent:c&&c.silent},this.validate(a,c)},_validateAllHandler:function(a,b){return this.validateAll(a,b)},mirror:function(a){return this.mirroring&&this.mirroring===a?this:(this.unmirror(),this.mirroring=a,this.reset([],{silent:!0}),this.observe(a),this)},unmirror:function(){this.mirroring&&(this.unobserve(this.mirroring),delete this.mirroring)},more:function(b){var c=a.Deferred(),d=this.mirroring,e=this;return d&&d.more?(d.more(b).done(function(){this===e.mirroring&&c.resolveWith(this)}),c.promise()):c.resolveWith(this).promise()},hasMore:function(){return this.mirroring?this.mirroring.hasMore():!1},parse:function(a,c){return _.isArray(a)||(a=[a]),_.map(a,function(a){var d,e,f;return a instanceof Backbone.Model?(d=a.get("id"),a=a.attributes):d=a.id,e=b.get(d),f=e.parse(a,c),_.isEqual(e.attributes,f)||e.set(f),e})},_requery:function(){this.props.get("query")&&this.mirror(d.get(this.props.toJSON()))},saveMenuOrder:function(){if("menuOrder"===this.props.get("orderby")){var a=this.chain().filter(function(a){return!_.isUndefined(a.id)}).map(function(a,b){return b+=1,a.set("menuOrder",b),[a.id,b]}).object().value();if(!_.isEmpty(a))return h.post("save-attachment-order",{nonce:h.model.settings.post.nonce,post_id:h.model.settings.post.id,attachments:a})}}},{comparator:function(a,b,c){var d=this.props.get("orderby"),e=this.props.get("order")||"DESC",g=a.cid,h=b.cid;return a=a.get(d),b=b.get(d),("date"===d||"modified"===d)&&(a=a||new Date,b=b||new Date),c&&c.ties&&(g=h=null),"DESC"===e?f(a,b,g,h):f(b,a,h,g)},filters:{search:function(a){return this.props.get("search")?_.any(["title","filename","description","caption","name"],function(b){var c=a.get(b);return c&&-1!==c.search(this.props.get("search"))},this):!0},type:function(a){var b=this.props.get("type");return!b||-1!==b.indexOf(a.get("type"))},uploadedTo:function(a){var b=this.props.get("uploadedTo");return _.isUndefined(b)?!0:b===a.get("uploadedTo")}}}),c.all=new c,h.query=function(a){return new c(null,{props:_.extend(_.defaults(a||{},{orderby:"date"}),{query:!0})})},d=h.model.Query=c.extend({initialize:function(a,b){var d;b=b||{},c.prototype.initialize.apply(this,arguments),this.args=b.args,this._hasMore=!0,this.created=new Date,this.filters.order=function(a){var b=this.props.get("orderby"),c=this.props.get("order");return this.comparator?this.length?1!==this.comparator(a,this.last(),{ties:!0}):"DESC"!==c||"date"!==b&&"modified"!==b?"ASC"===c&&"menuOrder"===b?0===a.get(b):!1:a.get(b)>=this.created:!0},d=["s","order","orderby","posts_per_page","post_mime_type","post_parent"],wp.Uploader&&_(this.args).chain().keys().difference(d).isEmpty().value()&&this.observe(wp.Uploader.queue)},hasMore:function(){return this._hasMore},more:function(b){var c=this;return this._more&&"pending"===this._more.state()?this._more:this.hasMore()?(b=b||{},b.remove=!1,this._more=this.fetch(b).done(function(a){(_.isEmpty(a)||-1===this.args.posts_per_page||a.length<this.args.posts_per_page)&&(c._hasMore=!1)})):a.Deferred().resolveWith(this).promise()},sync:function(a,b,d){var e,f;return"read"===a?(d=d||{},d.context=this,d.data=_.extend(d.data||{},{action:"query-attachments",post_id:h.model.settings.post.id}),e=_.clone(this.args),-1!==e.posts_per_page&&(e.paged=Math.floor(this.length/e.posts_per_page)+1),d.data.query=e,h.ajax(d)):(f=c.prototype.sync?c.prototype:Backbone,f.sync.apply(this,arguments))}},{defaultProps:{orderby:"date",order:"DESC"},defaultArgs:{posts_per_page:40},orderby:{allowed:["name","author","date","title","modified","uploadedTo","id","post__in","menuOrder"],valuemap:{id:"ID",uploadedTo:"parent",menuOrder:"menu_order ID"}},propmap:{search:"s",type:"post_mime_type",perPage:"posts_per_page",menuOrder:"menu_order",uploadedTo:"post_parent"},get:function(){var a=[];return function(b,c){var e,f={},g=d.orderby,h=d.defaultProps;return delete b.query,_.defaults(b,h),b.order=b.order.toUpperCase(),"DESC"!==b.order&&"ASC"!==b.order&&(b.order=h.order.toUpperCase()),_.contains(g.allowed,b.orderby)||(b.orderby=h.orderby),_.each(b,function(a,b){_.isNull(a)||(f[d.propmap[b]||b]=a)}),_.defaults(f,d.defaultArgs),f.orderby=g.valuemap[b.orderby]||b.orderby,e=_.find(a,function(a){return _.isEqual(a.args,f)}),e||(e=new d([],_.extend(c||{},{props:b,args:f})),a.push(e)),e}}()}),h.model.Selection=c.extend({initialize:function(a,b){c.prototype.initialize.apply(this,arguments),this.multiple=b&&b.multiple,this.on("add remove reset",_.bind(this.single,this,!1))},add:function(a,b){return this.multiple||this.remove(this.models),c.prototype.add.call(this,a,b)},single:function(a){var b=this._single;return a&&(this._single=a),this._single&&!this.get(this._single.cid)&&delete this._single,this._single=this._single||this.last(),this._single!==b&&(b&&(b.trigger("selection:unsingle",b,this),this.get(b.cid)||this.trigger("selection:unsingle",b,this)),this._single&&this._single.trigger("selection:single",this._single,this)),this._single}}),a(window).on("unload",function(){window.wp=null})}(jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(a){var b,c,d,e,f,g,h;h=wp.media=function(a){var b,c=h.view.MediaFrame;if(c)return a=_.defaults(a||{},{frame:"select"}),"select"===a.frame&&c.Select?b=new c.Select(a):"post"===a.frame&&c.Post?b=new c.Post(a):"manage"===a.frame&&c.Manage?b=new c.Manage(a):"image"===a.frame&&c.ImageDetails?b=new c.ImageDetails(a):"audio"===a.frame&&c.AudioDetails?b=new c.AudioDetails(a):"video"===a.frame&&c.VideoDetails?b=new c.VideoDetails(a):"edit-attachments"===a.frame&&c.EditAttachments&&(b=new c.EditAttachments(a)),delete a.frame,h.frame=b,b},_.extend(h,{model:{},view:{},controller:{},frames:{}}),g=h.model.l10n="undefined"==typeof _wpMediaModelsL10n?{}:_wpMediaModelsL10n,h.model.settings=g.settings||{},delete g.settings,f=function(a,b,c,d){return _.isEqual(a,b)?c===d?0:c>d?-1:1:a>b?-1:1},_.extend(h,{template:wp.template,post:wp.ajax.post,ajax:wp.ajax.send,fit:function(a){var b,c=a.width,d=a.height,e=a.maxWidth,f=a.maxHeight;return _.isUndefined(e)||_.isUndefined(f)?_.isUndefined(f)?b="width":_.isUndefined(e)&&d>f&&(b="height"):b=c/d>e/f?"width":"height","width"===b&&c>e?{width:e,height:Math.round(e*d/c)}:"height"===b&&d>f?{width:Math.round(f*c/d),height:f}:{width:c,height:d}},truncate:function(a,b,c){return b=b||30,c=c||"&hellip;",a.length<=b?a:a.substr(0,b/2)+c+a.substr(-1*b/2)}}),h.attachment=function(a){return b.get(a)},b=h.model.Attachment=Backbone.Model.extend({sync:function(b,c,d){return _.isUndefined(this.id)?a.Deferred().rejectWith(this).promise():"read"===b?(d=d||{},d.context=this,d.data=_.extend(d.data||{},{action:"get-attachment",id:this.id}),h.ajax(d)):"update"===b?this.get("nonces")&&this.get("nonces").update?(d=d||{},d.context=this,d.data=_.extend(d.data||{},{action:"save-attachment",id:this.id,nonce:this.get("nonces").update,post_id:h.model.settings.post.id}),c.hasChanged()&&(d.data.changes={},_.each(c.changed,function(a,b){d.data.changes[b]=this.get(b)},this)),h.ajax(d)):a.Deferred().rejectWith(this).promise():"delete"===b?(d=d||{},d.wait||(this.destroyed=!0),d.context=this,d.data=_.extend(d.data||{},{action:"delete-post",id:this.id,_wpnonce:this.get("nonces")["delete"]}),h.ajax(d).done(function(){this.destroyed=!0}).fail(function(){this.destroyed=!1})):Backbone.Model.prototype.sync.apply(this,arguments)},parse:function(a){return a?(a.date=new Date(a.date),a.modified=new Date(a.modified),a):a},saveCompat:function(b,c){var d=this;return this.get("nonces")&&this.get("nonces").update?h.post("save-attachment-compat",_.defaults({id:this.id,nonce:this.get("nonces").update,post_id:h.model.settings.post.id},b)).done(function(a,b,e){d.set(d.parse(a,e),c)}):a.Deferred().rejectWith(this).promise()}},{create:function(a){return c.all.push(a)},get:_.memoize(function(a,b){return c.all.push(b||{id:a})})}),e=h.model.PostImage=Backbone.Model.extend({initialize:function(c){this.attachment=!1,c.attachment_id&&(this.attachment=b.get(c.attachment_id),this.attachment.get("url")?(this.dfd=a.Deferred(),this.dfd.resolve()):this.dfd=this.attachment.fetch(),this.bindAttachmentListeners()),this.on("change:link",this.updateLinkUrl,this),this.on("change:size",this.updateSize,this),this.setLinkTypeFromUrl(),this.setAspectRatio(),this.set("originalUrl",c.url)},bindAttachmentListeners:function(){this.listenTo(this.attachment,"sync",this.setLinkTypeFromUrl),this.listenTo(this.attachment,"sync",this.setAspectRatio),this.listenTo(this.attachment,"change",this.updateSize)},changeAttachment:function(a,b){this.stopListening(this.attachment),this.attachment=a,this.bindAttachmentListeners(),this.set("attachment_id",this.attachment.get("id")),this.set("caption",this.attachment.get("caption")),this.set("alt",this.attachment.get("alt")),this.set("size",b.get("size")),this.set("align",b.get("align")),this.set("link",b.get("link")),this.updateLinkUrl(),this.updateSize()},setLinkTypeFromUrl:function(){var a,b=this.get("linkUrl");return b?(a="custom",this.attachment?this.attachment.get("url")===b?a="file":this.attachment.get("link")===b&&(a="post"):this.get("url")===b&&(a="file"),void this.set("link",a)):void this.set("link","none")},updateLinkUrl:function(){var a,b=this.get("link");switch(b){case"file":a=this.attachment?this.attachment.get("url"):this.get("url"),this.set("linkUrl",a);break;case"post":this.set("linkUrl",this.attachment.get("link"));break;case"none":this.set("linkUrl","")}},updateSize:function(){var a;if(this.attachment){if("custom"===this.get("size"))return this.set("width",this.get("customWidth")),this.set("height",this.get("customHeight")),void this.set("url",this.get("originalUrl"));a=this.attachment.get("sizes")[this.get("size")],a&&(this.set("url",a.url),this.set("width",a.width),this.set("height",a.height))}},setAspectRatio:function(){var a;return this.attachment&&this.attachment.get("sizes")&&(a=this.attachment.get("sizes").full)?void this.set("aspectRatio",a.width/a.height):void this.set("aspectRatio",this.get("customWidth")/this.get("customHeight"))}}),c=h.model.Attachments=Backbone.Collection.extend({model:b,initialize:function(a,b){b=b||{},this.props=new Backbone.Model,this.filters=b.filters||{},this.props.on("change",this._changeFilteredProps,this),this.props.on("change:order",this._changeOrder,this),this.props.on("change:orderby",this._changeOrderby,this),this.props.on("change:query",this._changeQuery,this),this.props.set(_.defaults(b.props||{})),b.observe&&this.observe(b.observe)},_changeOrder:function(){this.comparator&&this.sort()},_changeOrderby:function(a,b){this.comparator&&this.comparator!==c.comparator||(b&&"post__in"!==b?this.comparator=c.comparator:delete this.comparator)},_changeQuery:function(a,b){b?(this.props.on("change",this._requery,this),this._requery()):this.props.off("change",this._requery,this)},_changeFilteredProps:function(a){if(!this.props.get("query")){var b=_.chain(a.changed).map(function(b,d){var e=c.filters[d],f=a.get(d);if(e){if(f&&!this.filters[d])this.filters[d]=e;else{if(f||this.filters[d]!==e)return;delete this.filters[d]}return!0}},this).any().value();b&&(this._source||(this._source=new c(this.models)),this.reset(this._source.filter(this.validator,this)))}},validateDestroyed:!1,validator:function(a){return!this.validateDestroyed&&a.destroyed?!1:_.all(this.filters,function(b){return!!b.call(this,a)},this)},validate:function(a,b){var c=this.validator(a),d=!!this.get(a.cid);return!c&&d?this.remove(a,b):c&&!d&&this.add(a,b),this},validateAll:function(a,b){return b=b||{},_.each(a.models,function(a){this.validate(a,{silent:!0})},this),b.silent||this.trigger("reset",this,b),this},observe:function(a){return this.observers=this.observers||[],this.observers.push(a),a.on("add change remove",this._validateHandler,this),a.on("reset",this._validateAllHandler,this),this.validateAll(a),this},unobserve:function(a){return a?(a.off(null,null,this),this.observers=_.without(this.observers,a)):(_.each(this.observers,function(a){a.off(null,null,this)},this),delete this.observers),this},_validateHandler:function(a,b,c){return c=b===this.mirroring?c:{silent:c&&c.silent},this.validate(a,c)},_validateAllHandler:function(a,b){return this.validateAll(a,b)},mirror:function(a){return this.mirroring&&this.mirroring===a?this:(this.unmirror(),this.mirroring=a,this.reset([],{silent:!0}),this.observe(a),this)},unmirror:function(){this.mirroring&&(this.unobserve(this.mirroring),delete this.mirroring)},more:function(b){var c=a.Deferred(),d=this.mirroring,e=this;return d&&d.more?(d.more(b).done(function(){this===e.mirroring&&c.resolveWith(this)}),c.promise()):c.resolveWith(this).promise()},hasMore:function(){return this.mirroring?this.mirroring.hasMore():!1},parse:function(a,c){return _.isArray(a)||(a=[a]),_.map(a,function(a){var d,e,f;return a instanceof Backbone.Model?(d=a.get("id"),a=a.attributes):d=a.id,e=b.get(d),f=e.parse(a,c),_.isEqual(e.attributes,f)||e.set(f),e})},_requery:function(a){var b;this.props.get("query")&&(b=this.props.toJSON(),b.cache=!0!==a,this.mirror(d.get(b)))},saveMenuOrder:function(){if("menuOrder"===this.props.get("orderby")){var a=this.chain().filter(function(a){return!_.isUndefined(a.id)}).map(function(a,b){return b+=1,a.set("menuOrder",b),[a.id,b]}).object().value();if(!_.isEmpty(a))return h.post("save-attachment-order",{nonce:h.model.settings.post.nonce,post_id:h.model.settings.post.id,attachments:a})}}},{comparator:function(a,b,c){var d=this.props.get("orderby"),e=this.props.get("order")||"DESC",g=a.cid,h=b.cid;return a=a.get(d),b=b.get(d),("date"===d||"modified"===d)&&(a=a||new Date,b=b||new Date),c&&c.ties&&(g=h=null),"DESC"===e?f(a,b,g,h):f(b,a,h,g)},filters:{search:function(a){return this.props.get("search")?_.any(["title","filename","description","caption","name"],function(b){var c=a.get(b);return c&&-1!==c.search(this.props.get("search"))},this):!0},type:function(a){var b=this.props.get("type");return!b||-1!==b.indexOf(a.get("type"))},uploadedTo:function(a){var b=this.props.get("uploadedTo");return _.isUndefined(b)?!0:b===a.get("uploadedTo")},status:function(a){var b=this.props.get("status");return _.isUndefined(b)?!0:b===a.get("status")}}}),c.all=new c,h.query=function(a){return new c(null,{props:_.extend(_.defaults(a||{},{orderby:"date"}),{query:!0})})},d=h.model.Query=c.extend({initialize:function(a,b){var d;b=b||{},c.prototype.initialize.apply(this,arguments),this.args=b.args,this._hasMore=!0,this.created=new Date,this.filters.order=function(a){var b=this.props.get("orderby"),c=this.props.get("order");return this.comparator?this.length?1!==this.comparator(a,this.last(),{ties:!0}):"DESC"!==c||"date"!==b&&"modified"!==b?"ASC"===c&&"menuOrder"===b?0===a.get(b):!1:a.get(b)>=this.created:!0},d=["s","order","orderby","posts_per_page","post_mime_type","post_parent"],wp.Uploader&&_(this.args).chain().keys().difference(d).isEmpty().value()&&this.observe(wp.Uploader.queue)},hasMore:function(){return this._hasMore},more:function(b){var c=this;return this._more&&"pending"===this._more.state()?this._more:this.hasMore()?(b=b||{},b.remove=!1,this._more=this.fetch(b).done(function(a){(_.isEmpty(a)||-1===this.args.posts_per_page||a.length<this.args.posts_per_page)&&(c._hasMore=!1)})):a.Deferred().resolveWith(this).promise()},sync:function(a,b,d){var e,f;return"read"===a?(d=d||{},d.context=this,d.data=_.extend(d.data||{},{action:"query-attachments",post_id:h.model.settings.post.id}),e=_.clone(this.args),-1!==e.posts_per_page&&(e.paged=Math.floor(this.length/e.posts_per_page)+1),d.data.query=e,h.ajax(d)):(f=c.prototype.sync?c.prototype:Backbone,f.sync.apply(this,arguments))}},{defaultProps:{orderby:"date",order:"DESC"},defaultArgs:{posts_per_page:40},orderby:{allowed:["name","author","date","title","modified","uploadedTo","id","post__in","menuOrder"],valuemap:{id:"ID",uploadedTo:"parent",menuOrder:"menu_order ID"}},propmap:{search:"s",type:"post_mime_type",perPage:"posts_per_page",menuOrder:"menu_order",uploadedTo:"post_parent",status:"post_status"},get:function(){var a=[];return function(b,c){var e,f={},g=d.orderby,h=d.defaultProps,i=!!b.cache||_.isUndefined(b.cache);return delete b.query,delete b.cache,_.defaults(b,h),b.order=b.order.toUpperCase(),"DESC"!==b.order&&"ASC"!==b.order&&(b.order=h.order.toUpperCase()),_.contains(g.allowed,b.orderby)||(b.orderby=h.orderby),_.each(b,function(a,b){_.isNull(a)||(f[d.propmap[b]||b]=a)}),_.defaults(f,d.defaultArgs),f.orderby=g.valuemap[b.orderby]||b.orderby,i?e=_.find(a,function(a){return _.isEqual(a.args,f)}):a=[],e||(e=new d([],_.extend(c||{},{props:b,args:f})),a.push(e)),e}}()}),h.model.Selection=c.extend({initialize:function(a,b){c.prototype.initialize.apply(this,arguments),this.multiple=b&&b.multiple,this.on("add remove reset",_.bind(this.single,this,!1))},add:function(a,b){return this.multiple||this.remove(this.models),c.prototype.add.call(this,a,b)},single:function(a){var b=this._single;return a&&(this._single=a),this._single&&!this.get(this._single.cid)&&delete this._single,this._single=this._single||this.last(),this._single!==b&&(b&&(b.trigger("selection:unsingle",b,this),this.get(b.cid)||this.trigger("selection:unsingle",b,this)),this._single&&this._single.trigger("selection:single",this._single,this)),this._single}}),a(window).on("unload",function(){window.wp=null})}(jQuery);
\ No newline at end of file
diff --git a/wp-includes/js/media-views.js b/wp-includes/js/media-views.js
index 0d70ebf23..84e1f3655 100644
--- a/wp-includes/js/media-views.js
+++ b/wp-includes/js/media-views.js
@@ -1,6 +1,8 @@
 /* global _wpMediaViewsL10n, confirm, getUserSetting, setUserSetting */
-(function($, _){
-	var media = wp.media, l10n;
+( function( $, _ ) {
+	var l10n,
+		media = wp.media,
+		isTouchDevice = ( 'ontouchend' in document );
 
 	// Link any localized strings.
 	l10n = media.view.l10n = typeof _wpMediaViewsL10n === 'undefined' ? {} : _wpMediaViewsL10n;
@@ -92,14 +94,16 @@
 
 	_.extend( media.controller.Region.prototype, {
 		/**
-		 * Switch modes
+		 * Activate a mode.
 		 *
 		 * @param {string} mode
 		 *
-		 * @fires wp.media.controller.Region#{id}:activate:{mode}
-		 * @fires wp.media.controller.Region#{id}:deactivate:{mode}
+		 * @fires this.view#{this.id}:activate:{this._mode}
+		 * @fires this.view#{this.id}:activate
+		 * @fires this.view#{this.id}:deactivate:{this._mode}
+		 * @fires this.view#{this.id}:deactivate
 		 *
-		 * @returns {wp.media.controller.Region} Returns itself to allow chaining
+		 * @returns {wp.media.controller.Region} Returns itself to allow chaining.
 		 */
 		mode: function( mode ) {
 			if ( ! mode ) {
@@ -110,27 +114,40 @@
 				return this;
 			}
 
+			/**
+			 * Region mode deactivation event.
+			 *
+			 * @event this.view#{this.id}:deactivate:{this._mode}
+			 * @event this.view#{this.id}:deactivate
+			 */
 			this.trigger('deactivate');
+
 			this._mode = mode;
 			this.render( mode );
+
+			/**
+			 * Region mode activation event.
+			 *
+			 * @event this.view#{this.id}:activate:{this._mode}
+			 * @event this.view#{this.id}:activate
+			 */
 			this.trigger('activate');
 			return this;
 		},
 		/**
-		 * Render a new mode, the view is set in the `create` callback method
-		 *   of the extending class
-		 *
-		 * If no mode is provided, just re-render the current mode.
-		 * If the provided mode isn't active, perform a full switch.
+		 * Render a mode.
 		 *
 		 * @param {string} mode
 		 *
-		 * @fires wp.media.controller.Region#{id}:create:{mode}
-		 * @fires wp.media.controller.Region#{id}:render:{mode}
+		 * @fires this.view#{this.id}:create:{this._mode}
+		 * @fires this.view#{this.id}:create
+		 * @fires this.view#{this.id}:render:{this._mode}
+		 * @fires this.view#{this.id}:render
 		 *
 		 * @returns {wp.media.controller.Region} Returns itself to allow chaining
 		 */
 		render: function( mode ) {
+			// If the mode isn't active, activate it.
 			if ( mode && mode !== this._mode ) {
 				return this.mode( mode );
 			}
@@ -138,8 +155,25 @@
 			var set = { view: null },
 				view;
 
+			/**
+			 * Create region view event.
+			 *
+			 * Region view creation takes place in an event callback on the frame.
+			 *
+			 * @event this.view#{this.id}:create:{this._mode}
+			 * @event this.view#{this.id}:create
+			 */
 			this.trigger( 'create', set );
 			view = set.view;
+
+			/**
+			 * Render region view event.
+			 *
+			 * Region view creation takes place in an event callback on the frame.
+			 *
+			 * @event this.view#{this.id}:create:{this._mode}
+			 * @event this.view#{this.id}:create
+			 */
 			this.trigger( 'render', view );
 			if ( view ) {
 				this.set( view );
@@ -148,13 +182,17 @@
 		},
 
 		/**
-		 * @returns {wp.media.View} Returns the selector's first subview
+		 * Get the region's view.
+		 *
+		 * @returns {wp.media.View}
 		 */
 		get: function() {
 			return this.view.views.first( this.selector );
 		},
 
 		/**
+		 * Set the region's view as a subview of the frame.
+		 *
 		 * @param {Array|Object} views
 		 * @param {Object} [options={}]
 		 * @returns {wp.Backbone.Subviews} Subviews is returned to allow chaining
@@ -167,10 +205,10 @@
 		},
 
 		/**
-		 * Helper function to trigger view events based on {id}:{event}:{mode}
+		 * Trigger regional view events on the frame.
 		 *
 		 * @param {string} event
-		 * @returns {undefined|wp.media.controller.Region} Returns itself to allow chaining
+		 * @returns {undefined|wp.media.controller.Region} Returns itself to allow chaining.
 		 */
 		trigger: function( event ) {
 			var base, args;
@@ -182,11 +220,11 @@
 			args = _.toArray( arguments );
 			base = this.id + ':' + event;
 
-			// Trigger `region:action:mode` event.
+			// Trigger `{this.id}:{event}:{this._mode}` event on the frame.
 			args[0] = base + ':' + this._mode;
 			this.view.trigger.apply( this.view, args );
 
-			// Trigger `region:action` event.
+			// Trigger `{this.id}:{event}` event on the frame.
 			args[0] = base;
 			this.view.trigger.apply( this.view, args );
 			return this;
@@ -210,7 +248,6 @@
 	// Use Backbone's self-propagating `extend` inheritance method.
 	media.controller.StateMachine.extend = Backbone.Model.extend;
 
-	// Add events to the `StateMachine`.
 	_.extend( media.controller.StateMachine.prototype, Backbone.Events, {
 		/**
 		 * Fetch a state.
@@ -286,10 +323,10 @@
 		}
 	});
 
-	// Map methods from the `states` collection to the `StateMachine` itself.
+	// Map all event binding and triggering on a StateMachine to its `states` collection.
 	_.each([ 'on', 'off', 'trigger' ], function( method ) {
 		/**
-		 * @returns {wp.media.controller.StateMachine} Returns itself to allow chaining
+		 * @returns {wp.media.controller.StateMachine} Returns itself to allow chaining.
 		 */
 		media.controller.StateMachine.prototype[ method ] = function() {
 			// Ensure that the `states` collection exists so the `StateMachine`
@@ -304,10 +341,9 @@
 	/**
 	 * wp.media.controller.State
 	 *
-	 * A state is a step in a workflow that when set will trigger
-	 * the controllers for the regions to be updated as specified. This
-	 * class is the base class that the various states used in the media
-	 * modals extend.
+	 * A state is a step in a workflow that when set will trigger the controllers
+	 * for the regions to be updated as specified in the frame. This is the base
+	 * class that the various states used in wp.media extend.
 	 *
 	 * @constructor
 	 * @augments Backbone.Model
@@ -328,7 +364,6 @@
 			Backbone.Model.apply( this, arguments );
 			this.on( 'change:menu', this._updateMenu, this );
 		},
-
 		/**
 		 * @abstract
 		 */
@@ -353,7 +388,7 @@
 		},
 		/**
 		 * @access private
-		 */
+		*/
 		_preActivate: function() {
 			this.active = true;
 		},
@@ -427,6 +462,7 @@
 				mode = this.get('menu'),
 				view;
 
+			this.frame.$el.toggleClass( 'hide-menu', ! mode );
 			if ( ! mode ) {
 				return;
 			}
@@ -538,7 +574,7 @@
 	};
 
 	/**
-	 * wp.media.controller.Library
+	 * A state for choosing an attachment from the media library.
 	 *
 	 * @constructor
 	 * @augments wp.media.controller.State
@@ -546,24 +582,26 @@
 	 */
 	media.controller.Library = media.controller.State.extend({
 		defaults: {
-			id:         'library',
-			multiple:   false, // false, 'add', 'reset'
-			describe:   false,
-			toolbar:    'select',
-			sidebar:    'settings',
-			content:    'upload',
-			router:     'browse',
-			menu:       'default',
-			searchable: true,
-			filterable: false,
-			sortable:   true,
-			title:      l10n.mediaLibraryTitle,
-
+			id:                 'library',
+			title:              l10n.mediaLibraryTitle,
+			// Selection defaults. @see media.model.Selection
+			multiple:           false,
+			// Initial region modes.
+			content:            'upload',
+			menu:               'default',
+			router:             'browse',
+			toolbar:            'select',
+			// Attachments browser defaults. @see media.view.AttachmentsBrowser
+			searchable:         true,
+			filterable:         false,
+			sortable:           true,
+
+			autoSelect:         true,
+			describe:           false,
 			// Uses a user setting to override the content mode.
 			contentUserSetting: true,
-
 			// Sync the selection from the last state when 'multiple' matches.
-			syncSelection: true
+			syncSelection:      true
 		},
 
 		/**
@@ -596,14 +634,6 @@
 				}) );
 			}
 
-			if ( ! this.get('edge') ) {
-				this.set( 'edge', 120 );
-			}
-
-			if ( ! this.get('gutter') ) {
-				this.set( 'gutter', 8 );
-			}
-
 			this.resetDisplays();
 		},
 
@@ -614,7 +644,7 @@
 
 			this.get('selection').on( 'add remove reset', this.refreshContent, this );
 
-			if ( this.get('contentUserSetting') ) {
+			if ( this.get( 'router' ) && this.get('contentUserSetting') ) {
 				this.frame.on( 'content:activate', this.saveContentMode, this );
 				this.set( 'content', getUserSetting( 'libraryContent', this.get('content') ) );
 			}
@@ -723,7 +753,11 @@
 			if ( 'upload' === content.mode() ) {
 				this.frame.content.mode('browse');
 			}
-			this.get('selection').add( attachment );
+
+			if ( this.get( 'autoSelect' ) ) {
+				this.get('selection').add( attachment );
+				this.frame.trigger( 'library:selection:add' );
+			}
 		},
 
 		/**
@@ -746,7 +780,7 @@
 	_.extend( media.controller.Library.prototype, media.selectionSync );
 
 	/**
-	 * wp.media.controller.ImageDetails
+	 * A state for editing the settings of an image within a content editor.
 	 *
 	 * @constructor
 	 * @augments wp.media.controller.State
@@ -754,15 +788,16 @@
 	 */
 	media.controller.ImageDetails = media.controller.State.extend({
 		defaults: _.defaults({
-			id: 'image-details',
-			toolbar: 'image-details',
-			title: l10n.imageDetailsTitle,
-			content: 'image-details',
-			menu: 'image-details',
-			router: false,
-			attachment: false,
-			priority: 60,
-			editing: false
+			id:       'image-details',
+			title:    l10n.imageDetailsTitle,
+			// Initial region modes.
+			content:  'image-details',
+			menu:     false,
+			router:   false,
+			toolbar:  'image-details',
+
+			editing:  false,
+			priority: 60
 		}, media.controller.Library.prototype.defaults ),
 
 		initialize: function( options ) {
@@ -776,7 +811,7 @@
 	});
 
 	/**
-	 * wp.media.controller.GalleryEdit
+	 * A state for editing a gallery's images and settings.
 	 *
 	 * @constructor
 	 * @augments wp.media.controller.Library
@@ -785,18 +820,24 @@
 	 */
 	media.controller.GalleryEdit = media.controller.Library.extend({
 		defaults: {
-			id:         'gallery-edit',
-			multiple:   false,
-			describe:   true,
-			edge:       199,
-			editing:    false,
-			sortable:   true,
-			searchable: false,
-			toolbar:    'gallery-edit',
-			content:    'browse',
-			title:      l10n.editGalleryTitle,
-			priority:   60,
-			dragInfo:   true,
+			id:              'gallery-edit',
+			title:           l10n.editGalleryTitle,
+			// Selection defaults. @see media.model.Selection
+			multiple:        false,
+			// Attachments browser defaults. @see media.view.AttachmentsBrowser
+			searchable:      false,
+			sortable:        true,
+			display:         false,
+			// Initial region modes.
+			content:         'browse',
+			toolbar:         'gallery-edit',
+
+			describe:         true,
+			displaySettings:  true,
+			dragInfo:         true,
+			idealColumnWidth: 170,
+			editing:          false,
+			priority:         60,
 
 			// Don't sync the selection, as the Edit Gallery library
 			// *is* the selection.
@@ -838,10 +879,15 @@
 		},
 
 		gallerySettings: function( browser ) {
+			if ( ! this.get('displaySettings') ) {
+				return;
+			}
+
 			var library = this.get('library');
 
-			if ( ! library || ! browser )
+			if ( ! library || ! browser ) {
 				return;
+			}
 
 			library.gallery = library.gallery || new Backbone.Model();
 
@@ -865,7 +911,7 @@
 	});
 
 	/**
-	 * wp.media.controller.GalleryAdd
+	 * A state for adding an image to a gallery.
 	 *
 	 * @constructor
 	 * @augments wp.media.controller.Library
@@ -874,14 +920,17 @@
 	 */
 	media.controller.GalleryAdd = media.controller.Library.extend({
 		defaults: _.defaults({
-			id:           'gallery-library',
-			filterable:   'uploaded',
-			multiple:     'add',
-			menu:         'gallery',
-			toolbar:      'gallery-add',
-			title:        l10n.addToGalleryTitle,
-			priority:     100,
+			id:            'gallery-library',
+			title:         l10n.addToGalleryTitle,
+			// Selection defaults. @see media.model.Selection
+			multiple:      'add',
+			// Attachments browser defaults. @see media.view.AttachmentsBrowser
+			filterable:    'uploaded',
+			// Initial region modes.
+			menu:          'gallery',
+			toolbar:       'gallery-add',
 
+			priority:      100,
 			// Don't sync the selection, as the Edit Gallery library
 			// *is* the selection.
 			syncSelection: false
@@ -929,16 +978,20 @@
 	 */
 	media.controller.CollectionEdit = media.controller.Library.extend({
 		defaults: {
+			// Selection defaults. @see media.model.Selection
 			multiple:     false,
-			describe:     true,
-			edge:         199,
-			editing:      false,
+			// Attachments browser defaults. @see media.view.AttachmentsBrowser
 			sortable:     true,
 			searchable:   false,
+			// Region mode defaults.
 			content:      'browse',
-			priority:     60,
-			dragInfo:     true,
-			SettingsView: false,
+
+			describe:         true,
+			dragInfo:         true,
+			idealColumnWidth: 170,
+			editing:          false,
+			priority:         60,
+			SettingsView:     false,
 
 			// Don't sync the selection, as the Edit {Collection} library
 			// *is* the selection.
@@ -1038,8 +1091,11 @@
 	 */
 	media.controller.CollectionAdd = media.controller.Library.extend({
 		defaults: _.defaults( {
-			filterable:    'uploaded',
+			// Selection defaults. @see media.model.Selection
 			multiple:      'add',
+			// Attachments browser defaults. @see media.view.AttachmentsBrowser
+			filterable:    'uploaded',
+
 			priority:      100,
 			syncSelection: false
 		}, media.controller.Library.prototype.defaults ),
@@ -1089,7 +1145,7 @@
 	});
 
 	/**
-	 * wp.media.controller.FeaturedImage
+	 * A state for selecting a featured image for a post.
 	 *
 	 * @constructor
 	 * @augments wp.media.controller.Library
@@ -1098,12 +1154,16 @@
 	 */
 	media.controller.FeaturedImage = media.controller.Library.extend({
 		defaults: _.defaults({
-			id:         'featured-image',
-			filterable: 'uploaded',
-			multiple:   false,
-			toolbar:    'featured-image',
-			title:      l10n.setFeaturedImageTitle,
-			priority:   60,
+			id:            'featured-image',
+			title:         l10n.setFeaturedImageTitle,
+			// Selection defaults. @see media.model.Selection
+			multiple:      false,
+			// Attachments browser defaults. @see media.view.AttachmentsBrowser
+			filterable:    'uploaded',
+			// Region mode defaults.
+			toolbar:       'featured-image',
+
+			priority:      60,
 			syncSelection: true
 		}, media.controller.Library.prototype.defaults ),
 
@@ -1168,9 +1228,7 @@
 	});
 
 	/**
-	 * wp.media.controller.ReplaceImage
-	 *
-	 * Replace a selected single image
+	 * A state for replacing an image.
 	 *
 	 * @constructor
 	 * @augments wp.media.controller.Library
@@ -1179,12 +1237,17 @@
 	 */
 	media.controller.ReplaceImage = media.controller.Library.extend({
 		defaults: _.defaults({
-			id:         'replace-image',
-			filterable: 'uploaded',
-			multiple:   false,
-			toolbar:    'replace',
-			title:      l10n.replaceImageTitle,
-			priority:   60,
+			id:            'replace-image',
+			title:         l10n.replaceImageTitle,
+			// Selection defaults. @see media.model.Selection
+			multiple:      false,
+			// Attachments browser defaults. @see media.view.AttachmentsBrowser
+			filterable:    'uploaded',
+			// Region mode defaults.
+			toolbar:       'replace',
+			menu:          false,
+
+			priority:      60,
 			syncSelection: true
 		}, media.controller.Library.prototype.defaults ),
 
@@ -1236,7 +1299,7 @@
 	});
 
 	/**
-	 * wp.media.controller.EditImage
+	 * A state for editing (cropping, etc.) an image.
 	 *
 	 * @constructor
 	 * @augments wp.media.controller.State
@@ -1244,12 +1307,14 @@
 	 */
 	media.controller.EditImage = media.controller.State.extend({
 		defaults: {
-			id: 'edit-image',
-			url: '',
-			menu: false,
+			id:      'edit-image',
+			title:   l10n.editImage,
+			// Region mode defaults.
+			menu:    false,
 			toolbar: 'edit-image',
-			title: l10n.editImage,
-			content: 'edit-image'
+			content: 'edit-image',
+
+			url:     ''
 		},
 
 		activate: function() {
@@ -1295,10 +1360,12 @@
 	 */
 	media.controller.MediaLibrary = media.controller.Library.extend({
 		defaults: _.defaults({
-			filterable: 'uploaded',
-			priority:   80,
-			syncSelection: false,
-			displaySettings: false
+			// Attachments browser defaults. @see media.view.AttachmentsBrowser
+			filterable:      'uploaded',
+
+			displaySettings: false,
+			priority:        80,
+			syncSelection:   false
 		}, media.controller.Library.prototype.defaults ),
 
 		initialize: function( options ) {
@@ -1327,23 +1394,26 @@
 	 */
 	media.controller.Embed = media.controller.State.extend({
 		defaults: {
-			id:      'embed',
-			url:     '',
-			menu:    'default',
-			content: 'embed',
-			toolbar: 'main-embed',
-			type:    'link',
-
+			id:       'embed',
 			title:    l10n.insertFromUrlTitle,
-			priority: 120
+			// Region mode defaults.
+			content:  'embed',
+			menu:     'default',
+			toolbar:  'main-embed',
+
+			priority: 120,
+			type:     'link',
+			url:      '',
+			metadata: {}
 		},
 
 		// The amount of time used when debouncing the scan.
 		sensitivity: 200,
 
-		initialize: function() {
+		initialize: function(options) {
+			this.metadata = options.metadata;
 			this.debouncedScan = _.debounce( _.bind( this.scan, this ), this.sensitivity );
-			this.props = new Backbone.Model({ url: '' });
+			this.props = new Backbone.Model( this.metadata || { url: '' });
 			this.props.on( 'change:url', this.debouncedScan, this );
 			this.props.on( 'change:url', this.refresh, this );
 			this.on( 'scan', this.scanImage, this );
@@ -1439,11 +1509,13 @@
 	 */
 	media.controller.Cropper = media.controller.State.extend({
 		defaults: {
-			id: 'cropper',
-			title: l10n.cropImage,
-			toolbar: 'crop',
-			content: 'crop',
-			router: false,
+			id:          'cropper',
+			title:       l10n.cropImage,
+			// Region mode defaults.
+			toolbar:     'crop',
+			content:     'crop',
+			router:      false,
+
 			canSkipCrop: false
 		},
 
@@ -1612,8 +1684,12 @@
 	 */
 	media.view.Frame = media.View.extend({
 		initialize: function() {
+			_.defaults( this.options, {
+				mode: [ 'select' ]
+			});
 			this._createRegions();
 			this._createStates();
+			this._createModes();
 		},
 
 		_createRegions: function() {
@@ -1648,12 +1724,93 @@
 				this.states.add( this.options.states );
 			}
 		},
+		_createModes: function() {
+			// Store active "modes" that the frame is in. Unrelated to region modes.
+			this.activeModes = new Backbone.Collection();
+			this.activeModes.on( 'add remove reset', _.bind( this.triggerModeEvents, this ) );
+
+			_.each( this.options.mode, function( mode ) {
+				this.activateMode( mode );
+			}, this );
+		},
 		/**
 		 * @returns {wp.media.view.Frame} Returns itself to allow chaining
 		 */
 		reset: function() {
 			this.states.invoke( 'trigger', 'reset' );
 			return this;
+		},
+		/**
+		 * Map activeMode collection events to the frame.
+		 */
+		triggerModeEvents: function( model, collection, options ) {
+			var collectionEvent,
+				modeEventMap = {
+					add: 'activate',
+					remove: 'deactivate'
+				},
+				eventToTrigger;
+			// Probably a better way to do this.
+			_.each( options, function( value, key ) {
+				if ( value ) {
+					collectionEvent = key;
+				}
+			} );
+
+			if ( ! _.has( modeEventMap, collectionEvent ) ) {
+				return;
+			}
+
+			eventToTrigger = model.get('id') + ':' + modeEventMap[collectionEvent];
+			this.trigger( eventToTrigger );
+		},
+		/**
+		 * Activate a mode on the frame.
+		 *
+		 * @param string mode Mode ID.
+		 * @returns {this} Returns itself to allow chaining.
+		 */
+		activateMode: function( mode ) {
+			// Bail if the mode is already active.
+			if ( this.isModeActive( mode ) ) {
+				return;
+			}
+			this.activeModes.add( [ { id: mode } ] );
+			// Add a CSS class to the frame so elements can be styled for the mode.
+			this.$el.addClass( 'mode-' + mode );
+
+			return this;
+		},
+		/**
+		 * Deactivate a mode on the frame.
+		 *
+		 * @param string mode Mode ID.
+		 * @returns {this} Returns itself to allow chaining.
+		 */
+		deactivateMode: function( mode ) {
+			// Bail if the mode isn't active.
+			if ( ! this.isModeActive( mode ) ) {
+				return this;
+			}
+			this.activeModes.remove( this.activeModes.where( { id: mode } ) );
+			this.$el.removeClass( 'mode-' + mode );
+			/**
+			 * Frame mode deactivation event.
+			 *
+			 * @event this#{mode}:deactivate
+			 */
+			this.trigger( mode + ':deactivate' );
+
+			return this;
+		},
+		/**
+		 * Check if a mode is enabled on the frame.
+		 *
+		 * @param  string mode Mode ID.
+		 * @return bool
+		 */
+		isModeActive: function( mode ) {
+			return Boolean( this.activeModes.where( { id: mode } ).length );
 		}
 	});
 
@@ -1677,11 +1834,14 @@
 		template:  media.template('media-frame'),
 		regions:   ['menu','title','content','toolbar','router'],
 
+		events: {
+			'click div.media-frame-title h1': 'toggleMenu'
+		},
+
 		/**
 		 * @global wp.Uploader
 		 */
 		initialize: function() {
-
 			media.view.Frame.prototype.initialize.apply( this, arguments );
 
 			_.defaults( this.options, {
@@ -1727,6 +1887,10 @@
 			this.on( 'title:create:default', this.createTitle, this );
 			this.title.mode('default');
 
+			this.on( 'title:render', function( view ) {
+				view.$el.append( '<span class="dashicons dashicons-arrow-down"></span>' );
+			});
+
 			// Bind default menu.
 			this.on( 'menu:create:default', this.createMenu, this );
 		},
@@ -1762,6 +1926,11 @@
 				controller: this
 			});
 		},
+
+		toggleMenu: function() {
+			this.$el.find( '.media-menu' ).toggleClass( 'visible' );
+		},
+
 		/**
 		 * @param {Object} toolbar
 		 * @this wp.media.controller.Region
@@ -1915,6 +2084,15 @@
 			this.bindHandlers();
 		},
 
+		/**
+		 * Attach a selection collection to the frame.
+		 *
+		 * A selection is a collection of attachments used for a specific purpose
+		 * by a media frame. e.g. Selecting an attachment (or many) to insert into
+		 * post content.
+		 *
+		 * @see media.model.Selection
+		 */
 		createSelection: function() {
 			var selection = this.options.selection;
 
@@ -1930,6 +2108,9 @@
 			};
 		},
 
+		/**
+		 * Create the default states on the frame.
+		 */
 		createStates: function() {
 			var options = this.options;
 
@@ -1949,6 +2130,11 @@
 			]);
 		},
 
+		/**
+		 * Bind region mode event callbacks.
+		 *
+		 * @see media.controller.Region.render
+		 */
 		bindHandlers: function() {
 			this.on( 'router:create:browse', this.createRouter, this );
 			this.on( 'router:render:browse', this.browseRouter, this );
@@ -1957,9 +2143,13 @@
 			this.on( 'toolbar:create:select', this.createSelectToolbar, this );
 		},
 
-		// Routers
-		browseRouter: function( view ) {
-			view.set({
+		/**
+		 * Render callback for the router region in the `browse` mode.
+		 *
+		 * @param {wp.media.view.Router} routerView
+		 */
+		browseRouter: function( routerView ) {
+			routerView.set({
 				upload: {
 					text:     l10n.uploadFilesTitle,
 					priority: 20
@@ -1972,18 +2162,17 @@
 		},
 
 		/**
-		 * Content
+		 * Render callback for the content region in the `browse` mode.
 		 *
-		 * @param {Object} content
-		 * @this wp.media.controller.Region
+		 * @param {wp.media.controller.Region} contentRegion
 		 */
-		browseContent: function( content ) {
+		browseContent: function( contentRegion ) {
 			var state = this.state();
 
 			this.$el.removeClass('hide-toolbar');
 
 			// Browse our library of attachments.
-			content.view = new media.view.AttachmentsBrowser({
+			contentRegion.view = new media.view.AttachmentsBrowser({
 				controller: this,
 				collection: state.get('library'),
 				selection:  state.get('selection'),
@@ -1991,22 +2180,22 @@
 				sortable:   state.get('sortable'),
 				search:     state.get('searchable'),
 				filters:    state.get('filterable'),
-				display:    state.get('displaySettings'),
+				display:    state.has('display') ? state.get('display') : state.get('displaySettings'),
 				dragInfo:   state.get('dragInfo'),
 
-				suggestedWidth:  state.get('suggestedWidth'),
-				suggestedHeight: state.get('suggestedHeight'),
+				idealColumnWidth: state.get('idealColumnWidth'),
+				suggestedWidth:   state.get('suggestedWidth'),
+				suggestedHeight:  state.get('suggestedHeight'),
 
 				AttachmentView: state.get('AttachmentView')
 			});
 		},
 
 		/**
-		 *
-		 * @this wp.media.controller.Region
+		 * Render callback for the content region in the `upload` mode.
 		 */
 		uploadContent: function() {
-			this.$el.removeClass('hide-toolbar');
+			this.$el.removeClass( 'hide-toolbar' );
 			this.content.set( new media.view.UploaderInline({
 				controller: this
 			}) );
@@ -2055,7 +2244,8 @@
 			_.defaults( this.options, {
 				multiple:  true,
 				editing:   false,
-				state:    'insert'
+				state:    'insert',
+				metadata:  {}
 			});
 			/**
 			 * call 'initialize' directly on the parent class
@@ -2107,7 +2297,7 @@
 				}),
 
 				// Embed states.
-				new media.controller.Embed(),
+				new media.controller.Embed( { metadata: options.metadata } ),
 
 				new media.controller.EditImage( { model: options.editImage } ),
 
@@ -2307,6 +2497,10 @@
 						} else {
 							frame.close();
 						}
+
+						// Keep focus inside media modal
+						// after canceling a gallery
+						this.controller.modal.focusManager.focus();
 					}
 				},
 				separateCancel: new media.View({
@@ -2372,7 +2566,10 @@
 			}).render();
 
 			this.content.set( view );
-			view.url.focus();
+
+			if ( ! isTouchDevice ) {
+				view.url.focus();
+			}
 		},
 
 		editSelectionContent: function() {
@@ -2489,6 +2686,10 @@
 					}) );
 
 					this.controller.setState('gallery-edit');
+
+					// Keep focus inside media modal
+					// after jumping to gallery view
+					this.controller.modal.focusManager.focus();
 				}
 			});
 		},
@@ -2515,6 +2716,10 @@
 					}) );
 
 					this.controller.setState('playlist-edit');
+
+					// Keep focus inside media modal
+					// after jumping to playlist view
+					this.controller.modal.focusManager.focus();
 				}
 			});
 		},
@@ -2541,6 +2746,10 @@
 					}) );
 
 					this.controller.setState('video-playlist-edit');
+
+					// Keep focus inside media modal
+					// after jumping to video playlist view
+					this.controller.modal.focusManager.focus();
 				}
 			});
 		},
@@ -2762,7 +2971,6 @@
 			this.on( 'menu:create:image-details', this.createMenu, this );
 			this.on( 'content:create:image-details', this.imageDetailsContent, this );
 			this.on( 'content:render:edit-image', this.editImageContent, this );
-			this.on( 'menu:render:image-details', this.renderMenu, this );
 			this.on( 'toolbar:render:image-details', this.renderImageDetailsToolbar, this );
 			// override the select toolbar
 			this.on( 'toolbar:render:replace', this.renderReplaceImageToolbar, this );
@@ -2772,8 +2980,7 @@
 			this.states.add([
 				new media.controller.ImageDetails({
 					image: this.image,
-					editable: false,
-					menu: 'image-details'
+					editable: false
 				}),
 				new media.controller.ReplaceImage({
 					id: 'replace-image',
@@ -2781,7 +2988,6 @@
 					image: this.image,
 					multiple:  false,
 					title:     l10n.imageReplaceTitle,
-					menu: 'image-details',
 					toolbar: 'replace',
 					priority:  80,
 					displaySettings: true
@@ -2819,31 +3025,6 @@
 
 		},
 
-		renderMenu: function( view ) {
-			var lastState = this.lastState(),
-				previous = lastState && lastState.id,
-				frame = this;
-
-			view.set({
-				cancel: {
-					text:     l10n.imageDetailsCancel,
-					priority: 20,
-					click:    function() {
-						if ( previous ) {
-							frame.setState( previous );
-						} else {
-							frame.close();
-						}
-					}
-				},
-				separateCancel: new media.View({
-					className: 'separator',
-					priority: 40
-				})
-			});
-
-		},
-
 		renderImageDetailsToolbar: function() {
 			this.toolbar.set( new media.view.Toolbar({
 				controller: this,
@@ -2950,6 +3131,10 @@
 				propagate: true,
 				freeze:    true
 			});
+
+			this.focusManager = new media.view.FocusManager({
+				el: this.el
+			});
 		},
 		/**
 		 * @returns {Object}
@@ -2999,7 +3184,8 @@
 		 */
 		open: function() {
 			var $el = this.$el,
-				options = this.options;
+				options = this.options,
+				mceEditor;
 
 			if ( $el.is(':visible') ) {
 				return this;
@@ -3016,7 +3202,25 @@
 				};
 			}
 
-			$el.show().focus();
+			// Disable page scrolling.
+			$( 'body' ).addClass( 'modal-open' );
+
+			$el.show();
+
+			// Try to close the onscreen keyboard
+			if ( 'ontouchend' in document ) {
+				if ( ( mceEditor = window.tinymce && window.tinymce.activeEditor )  && ! mceEditor.isHidden() && mceEditor.iframeElement ) {
+					mceEditor.iframeElement.focus();
+					mceEditor.iframeElement.blur();
+
+					setTimeout( function() {
+						mceEditor.iframeElement.blur();
+					}, 100 );
+				}
+			}
+
+			this.$el.focus();
+
 			return this.propagate('open');
 		},
 
@@ -3031,7 +3235,15 @@
 				return this;
 			}
 
-			this.$el.hide();
+			// Enable page scrolling.
+			$( 'body' ).removeClass( 'modal-open' );
+
+			// Hide modal and remove restricted media modal tab focus once it's closed
+			this.$el.hide().undelegate( 'keydown' );
+
+			// Put focus back in useful location once modal is closed
+			$('#wpbody-content').focus();
+
 			this.propagate('close');
 
 			// If the `freeze` option is set, restore the container's scroll position.
@@ -3105,63 +3317,37 @@
 	 * @augments Backbone.View
 	 */
 	media.view.FocusManager = media.View.extend({
+
 		events: {
-			keydown: 'recordTab',
-			focusin: 'updateIndex'
+			'keydown': 'constrainTabbing'
 		},
 
-		focus: function() {
-			if ( _.isUndefined( this.index ) ) {
-				return;
-			}
-
-			// Update our collection of `$tabbables`.
-			this.$tabbables = this.$(':tabbable');
-
-			// If tab is saved, focus it.
-			this.$tabbables.eq( this.index ).focus();
+		focus: function() { // Reset focus on first left menu item
+			this.$('.media-menu-item').first().focus();
 		},
 		/**
 		 * @param {Object} event
 		 */
-		recordTab: function( event ) {
+		constrainTabbing: function( event ) {
+			var tabbables;
+
 			// Look for the tab key.
 			if ( 9 !== event.keyCode ) {
 				return;
 			}
 
-			// First try to update the index.
-			if ( _.isUndefined( this.index ) ) {
-				this.updateIndex( event );
-			}
-
-			// If we still don't have an index, bail.
-			if ( _.isUndefined( this.index ) ) {
-				return;
-			}
-
-			var index = this.index + ( event.shiftKey ? -1 : 1 );
-
-			if ( index >= 0 && index < this.$tabbables.length ) {
-				this.index = index;
-			} else {
-				delete this.index;
-			}
-		},
-		/**
-		 * @param {Object} event
-		 */
-		updateIndex: function( event ) {
-			this.$tabbables = this.$(':tabbable');
-
-			var index = this.$tabbables.index( event.target );
+			tabbables = this.$( ':tabbable' );
 
-			if ( -1 === index ) {
-				delete this.index;
-			} else {
-				this.index = index;
+			// Keep tab focus within media modal while it's open
+			if ( tabbables.last()[0] === event.target && ! event.shiftKey ) {
+				tabbables.first().focus();
+				return false;
+			} else if ( tabbables.first()[0] === event.target && event.shiftKey ) {
+				tabbables.last().focus();
+				return false;
 			}
 		}
+
 	});
 
 	/**
@@ -3251,6 +3437,13 @@
 					$el.hide();
 				}
 			});
+
+			// https://core.trac.wordpress.org/ticket/27341
+			_.delay( function() {
+				if ( '0' === $el.css('opacity') && $el.is(':visible') ) {
+					$el.hide();
+				}
+			}, 500 );
 		}
 	});
 
@@ -3455,10 +3648,15 @@
 		className: 'uploader-inline',
 		template:  media.template('uploader-inline'),
 
+		events: {
+			'click .close': 'hide'
+		},
+
 		initialize: function() {
 			_.defaults( this.options, {
 				message: '',
-				status:  true
+				status:  true,
+				canClose: false
 			});
 
 			if ( ! this.options.$browser && this.controller.uploader ) {
@@ -3478,14 +3676,18 @@
 
 		prepare: function() {
 			var suggestedWidth = this.controller.state().get('suggestedWidth'),
-				suggestedHeight = this.controller.state().get('suggestedHeight');
+				suggestedHeight = this.controller.state().get('suggestedHeight'),
+				data = {};
+
+			data.message = this.options.message;
+			data.canClose = this.options.canClose;
 
 			if ( suggestedWidth && suggestedHeight ) {
-				return {
-					suggestedWidth: suggestedWidth,
-					suggestedHeight: suggestedHeight
-				};
+				data.suggestedWidth = suggestedWidth;
+				data.suggestedHeight = suggestedHeight;
 			}
+
+			return data;
 		},
 		/**
 		 * @returns {wp.media.view.UploaderInline} Returns itself to allow chaining
@@ -3546,7 +3748,14 @@
 
 			this.refresh();
 			return this;
+		},
+		show: function() {
+			this.$el.removeClass( 'hidden' );
+		},
+		hide: function() {
+			this.$el.addClass( 'hidden' );
 		}
+
 	});
 
 	/**
@@ -3714,7 +3923,7 @@
 			// The toolbar is composed of two `PriorityList` views.
 			this.primary   = new media.view.PriorityList();
 			this.secondary = new media.view.PriorityList();
-			this.primary.$el.addClass('media-toolbar-primary');
+			this.primary.$el.addClass('media-toolbar-primary search-form');
 			this.secondary.$el.addClass('media-toolbar-secondary');
 
 			this.views.set([ this.secondary, this.primary ]);
@@ -4191,12 +4400,20 @@
 			} else {
 				this.click();
 			}
+
+			// When selecting a tab along the left side,
+			// focus should be transferred into the main panel
+			if ( ! isTouchDevice ) {
+				$('.media-frame-content input').first().focus();
+			}
 		},
 
 		click: function() {
 			var state = this.options.state;
+
 			if ( state ) {
 				this.controller.setState( state );
+				this.views.parent.$el.removeClass( 'visible' ); // TODO: or hide on any click, see below
 			}
 		},
 		/**
@@ -4230,6 +4447,17 @@
 		property:  'state',
 		ItemView:  media.view.MenuItem,
 		region:    'menu',
+
+		/* TODO: alternatively hide on any click anywhere
+		events: {
+			'click': 'click'
+		},
+
+		click: function() {
+			this.$el.removeClass( 'visible' );
+		},
+		*/
+
 		/**
 		 * @param {Object} options
 		 * @param {string} id
@@ -4324,6 +4552,9 @@
 	 * @augments Backbone.View
 	 */
 	media.view.RouterItem = media.view.MenuItem.extend({
+		/**
+		 * On click handler to activate the content region's corresponding mode.
+		 */
 		click: function() {
 			var contentMode = this.options.contentMode;
 			if ( contentMode ) {
@@ -4391,37 +4622,55 @@
 		className: 'attachment',
 		template:  media.template('attachment'),
 
+		attributes: function() {
+			return {
+				'tabIndex':     0,
+				'role':         'checkbox',
+				'aria-label':   this.model.get( 'title' ),
+				'aria-checked': false,
+				'data-id':      this.model.get( 'id' )
+			};
+		},
+
 		events: {
-			'click .attachment-preview':      'toggleSelectionHandler',
+			'click .js--select-attachment':   'toggleSelectionHandler',
 			'change [data-setting]':          'updateSetting',
 			'change [data-setting] input':    'updateSetting',
 			'change [data-setting] select':   'updateSetting',
 			'change [data-setting] textarea': 'updateSetting',
 			'click .close':                   'removeFromLibrary',
-			'click .check':                   'removeFromSelection',
-			'click a':                        'preventDefault'
+			'click .check':                   'checkClickHandler',
+			'click a':                        'preventDefault',
+			'keydown':                        'toggleSelectionHandler'
 		},
 
 		buttons: {},
 
 		initialize: function() {
-			var selection = this.options.selection;
+			var selection = this.options.selection,
+				options = _.defaults( this.options, {
+					rerenderOnModelChange: true
+				} );
 
-			this.model.on( 'change:sizes change:uploading', this.render, this );
+			if ( options.rerenderOnModelChange ) {
+				this.model.on( 'change', this.render, this );
+			} else {
+				this.model.on( 'change:percent', this.progress, this );
+			}
 			this.model.on( 'change:title', this._syncTitle, this );
 			this.model.on( 'change:caption', this._syncCaption, this );
-			this.model.on( 'change:percent', this.progress, this );
+			this.model.on( 'change:artist', this._syncArtist, this );
+			this.model.on( 'change:album', this._syncAlbum, this );
 
 			// Update the selection.
 			this.model.on( 'add', this.select, this );
 			this.model.on( 'remove', this.deselect, this );
 			if ( selection ) {
 				selection.on( 'reset', this.updateSelect, this );
+				// Update the model's details view.
+				this.model.on( 'selection:single selection:unsingle', this.details, this );
+				this.details( this.model, this.controller.state().get('selection') );
 			}
-
-			// Update the model's details view.
-			this.model.on( 'selection:single selection:unsingle', this.details, this );
-			this.details( this.model, this.controller.state().get('selection') );
 		},
 		/**
 		 * @returns {wp.media.view.Attachment} Returns itself to allow chaining
@@ -4460,7 +4709,7 @@
 					compat:        false,
 					alt:           '',
 					description:   ''
-				});
+				}, this.options );
 
 			options.buttons  = this.buttons;
 			options.describe = this.controller.state().get('describe');
@@ -4479,10 +4728,15 @@
 				options.allowLocalEdits = true;
 			}
 
+			if ( options.uploading && ! options.percent ) {
+				options.percent = 0;
+			}
+
 			this.views.detach();
 			this.$el.html( this.template( options ) );
 
 			this.$el.toggleClass( 'uploading', options.uploading );
+
 			if ( options.uploading ) {
 				this.$bar = this.$('.media-progress-bar div');
 			} else {
@@ -4505,12 +4759,45 @@
 				this.$bar.width( this.model.get('percent') + '%' );
 			}
 		},
+
 		/**
 		 * @param {Object} event
 		 */
 		toggleSelectionHandler: function( event ) {
 			var method;
 
+			// Don't do anything inside inputs.
+			if ( 'INPUT' === event.target.nodeName ) {
+				return;
+			}
+
+			// Catch arrow events
+			if ( 37 === event.keyCode || 38 === event.keyCode || 39 === event.keyCode || 40 === event.keyCode ) {
+				this.controller.trigger( 'attachment:keydown:arrow', event );
+				return;
+			}
+
+			// Catch enter and space events
+			if ( 'keydown' === event.type && 13 !== event.keyCode && 32 !== event.keyCode ) {
+				return;
+			}
+
+			// In the grid view, bubble up an edit:attachment event to the controller.
+			if ( this.controller.isModeActive( 'grid' ) ) {
+				if ( this.controller.isModeActive( 'edit' ) ) {
+					// Pass the current target to restore focus when closing
+					this.controller.trigger( 'edit:attachment', this.model, event.currentTarget );
+
+					// Don't scroll the view and don't attempt to submit anything.
+					event.stopPropagation();
+					return;
+				}
+
+				if ( this.controller.isModeActive( 'select' ) ) {
+					method = 'toggle';
+				}
+			}
+
 			if ( event.shiftKey ) {
 				method = 'between';
 			} else if ( event.ctrlKey || event.metaKey ) {
@@ -4520,7 +4807,12 @@
 			this.toggleSelection({
 				method: method
 			});
-		},
+
+			this.controller.trigger( 'selection:toggle' );
+
+			// Don't scroll the view and don't attempt to submit anything.
+			event.stopPropagation();
+		},
 		/**
 		 * @param {Object} options
 		 */
@@ -4565,6 +4857,15 @@
 				selection[ this.selected() ? 'remove' : 'add' ]( model );
 				selection.single( model );
 				return;
+			} else if ( 'add' === method ) {
+				selection.add( model );
+				selection.single( model );
+				return;
+			}
+
+			// Fixes bug that loses focus when selecting a featured image
+			if ( ! method ) {
+				method = 'add';
 			}
 
 			if ( method !== 'add' ) {
@@ -4602,7 +4903,8 @@
 		 * @param {Backbone.Collection} collection
 		 */
 		select: function( model, collection ) {
-			var selection = this.options.selection;
+			var selection = this.options.selection,
+				controller = this.controller;
 
 			// Check if a selection exists and if it's the collection provided.
 			// If they're not the same collection, bail; we're in another
@@ -4611,7 +4913,17 @@
 				return;
 			}
 
-			this.$el.addClass('selected');
+			// Bail if the model is already selected.
+			if ( this.$el.hasClass( 'selected' ) ) {
+				return;
+			}
+
+			// Add 'selected' class to model, set aria-checked to true.
+			this.$el.addClass( 'selected' ).attr( 'aria-checked', true );
+			//  Make the checkbox tabable, except in media grid (bulk select mode).
+			if ( ! ( controller.isModeActive( 'grid' ) && controller.isModeActive( 'select' ) ) ) {
+				this.$( '.check' ).attr( 'tabindex', '0' );
+			}
 		},
 		/**
 		 * @param {Backbone.Model} model
@@ -4626,7 +4938,8 @@
 			if ( ! selection || ( collection && collection !== selection ) ) {
 				return;
 			}
-			this.$el.removeClass('selected');
+			this.$el.removeClass( 'selected' ).attr( 'aria-checked', false )
+				.find( '.check' ).attr( 'tabindex', '-1' );
 		},
 		/**
 		 * @param {Backbone.Model} model
@@ -4772,26 +5085,36 @@
 
 			this.collection.remove( this.model );
 		},
+
 		/**
-		 * @param {Object} event
+		 * Add the model if it isn't in the selection, if it is in the selection,
+		 * remove it.
+		 *
+		 * @param  {[type]} event [description]
+		 * @return {[type]}       [description]
 		 */
-		removeFromSelection: function( event ) {
+		checkClickHandler: function ( event ) {
 			var selection = this.options.selection;
 			if ( ! selection ) {
 				return;
 			}
-
-			// Stop propagation so the model isn't selected.
 			event.stopPropagation();
-
-			selection.remove( this.model );
+			if ( selection.where( { id: this.model.get( 'id' ) } ).length ) {
+				selection.remove( this.model );
+				// Move focus back to the attachment tile (from the check).
+				this.$el.focus();
+			} else {
+				selection.add( this.model );
+			}
 		}
 	});
 
 	// Ensure settings remain in sync between attachment views.
 	_.each({
 		caption: '_syncCaption',
-		title:   '_syncTitle'
+		title:   '_syncTitle',
+		artist:  '_syncArtist',
+		album:   '_syncAlbum'
 	}, function( method, setting ) {
 		/**
 		 * @param {Backbone.Model} model
@@ -4859,24 +5182,25 @@
 		tagName:   'ul',
 		className: 'attachments',
 
-		cssTemplate: media.template('attachments-css'),
-
-		events: {
-			'scroll': 'scroll'
+		attributes: {
+			tabIndex: -1
 		},
 
 		initialize: function() {
 			this.el.id = _.uniqueId('__attachments-view-');
 
 			_.defaults( this.options, {
-				refreshSensitivity: 200,
+				refreshSensitivity: isTouchDevice ? 300 : 200,
 				refreshThreshold:   3,
 				AttachmentView:     media.view.Attachment,
 				sortable:           false,
-				resize:             true
+				resize:             true,
+				idealColumnWidth:   $( window ).width() < 640 ? 135 : 150
 			});
 
 			this._viewsByCid = {};
+			this.$window = $( window );
+			this.resizeEvent = 'resize.media-modal-columns';
 
 			this.collection.on( 'add', function( attachment ) {
 				this.views.add( this.createAttachmentView( attachment ), {
@@ -4895,64 +5219,112 @@
 
 			this.collection.on( 'reset', this.render, this );
 
-			// Throttle the scroll handler.
+			this.listenTo( this.controller, 'library:selection:add',    this.attachmentFocus );
+
+			// Throttle the scroll handler and bind this.
 			this.scroll = _.chain( this.scroll ).bind( this ).throttle( this.options.refreshSensitivity ).value();
 
+			this.options.scrollElement = this.options.scrollElement || this.el;
+			$( this.options.scrollElement ).on( 'scroll', this.scroll );
+
 			this.initSortable();
 
-			_.bindAll( this, 'css' );
-			this.model.on( 'change:edge change:gutter', this.css, this );
-			this._resizeCss = _.debounce( _.bind( this.css, this ), this.refreshSensitivity );
+			_.bindAll( this, 'setColumns' );
+
 			if ( this.options.resize ) {
-				$(window).on( 'resize.attachments', this._resizeCss );
+				this.on( 'ready', this.bindEvents );
+				this.controller.on( 'open', this.setColumns );
+
+				// Call this.setColumns() after this view has been rendered in the DOM so
+				// attachments get proper width applied.
+				_.defer( this.setColumns, this );
+			}
+		},
+
+		bindEvents: function() {
+			this.$window.off( this.resizeEvent ).on( this.resizeEvent, _.debounce( this.setColumns, 50 ) );
+		},
+
+		attachmentFocus: function() {
+			this.$( 'li:first' ).focus();
+		},
+
+		restoreFocus: function() {
+			this.$( 'li.selected:first' ).focus();
+		},
+
+		arrowEvent: function( event ) {
+			var attachments = this.$el.children( 'li' ),
+				perRow = this.columns,
+				index = attachments.filter( ':focus' ).index(),
+				row = ( index + 1 ) <= perRow ? 1 : Math.ceil( ( index + 1 ) / perRow );
+
+			if ( index === -1 ) {
+				return;
+			}
+
+			// Left arrow
+			if ( 37 === event.keyCode ) {
+				if ( 0 === index ) {
+					return;
+				}
+				attachments.eq( index - 1 ).focus();
+			}
+
+			// Up arrow
+			if ( 38 === event.keyCode ) {
+				if ( 1 === row ) {
+					return;
+				}
+				attachments.eq( index - perRow ).focus();
+			}
+
+			// Right arrow
+			if ( 39 === event.keyCode ) {
+				if ( attachments.length === index ) {
+					return;
+				}
+				attachments.eq( index + 1 ).focus();
+			}
+
+			// Down arrow
+			if ( 40 === event.keyCode ) {
+				if ( Math.ceil( attachments.length / perRow ) === row ) {
+					return;
+				}
+				attachments.eq( index + perRow ).focus();
 			}
-			this.css();
 		},
 
 		dispose: function() {
 			this.collection.props.off( null, null, this );
-			$(window).off( 'resize.attachments', this._resizeCss );
+			if ( this.options.resize ) {
+				this.$window.off( this.resizeEvent );
+			}
+
 			/**
 			 * call 'dispose' directly on the parent class
 			 */
 			media.View.prototype.dispose.apply( this, arguments );
 		},
 
-		css: function() {
-			var $css = $( '#' + this.el.id + '-css' );
+		setColumns: function() {
+			var prev = this.columns,
+				width = this.$el.width();
 
-			if ( $css.length ) {
-				$css.remove();
-			}
+			if ( width ) {
+				this.columns = Math.min( Math.round( width / this.options.idealColumnWidth ), 12 ) || 1;
 
-			media.view.Attachments.$head().append( this.cssTemplate({
-				id:     this.el.id,
-				edge:   this.edge(),
-				gutter: this.model.get('gutter')
-			}) );
-		},
-		/**
-		 * @returns {Number}
-		 */
-		edge: function() {
-			var edge = this.model.get('edge'),
-				gutter, width, columns;
-
-			if ( ! this.$el.is(':visible') ) {
-				return edge;
+				if ( ! prev || prev !== this.columns ) {
+					this.$el.closest( '.media-frame-content' ).attr( 'data-columns', this.columns );
+				}
 			}
-
-			gutter  = this.model.get('gutter') * 2;
-			width   = this.$el.width() - gutter;
-			columns = Math.ceil( width / ( edge + gutter ) );
-			edge = Math.floor( ( width - ( columns * gutter ) ) / columns );
-			return edge;
 		},
 
 		initSortable: function() {
 			var collection = this.collection;
 
-			if ( ! this.options.sortable || ! $.fn.sortable ) {
+			if ( isTouchDevice || ! this.options.sortable || ! $.fn.sortable ) {
 				return;
 			}
 
@@ -5015,7 +5387,7 @@
 		},
 
 		refreshSortable: function() {
-			if ( ! this.options.sortable || ! $.fn.sortable ) {
+			if ( isTouchDevice || ! this.options.sortable || ! $.fn.sortable ) {
 				return;
 			}
 
@@ -5033,10 +5405,10 @@
 		 */
 		createAttachmentView: function( attachment ) {
 			var view = new this.options.AttachmentView({
-				controller: this.controller,
-				model:      attachment,
-				collection: this.collection,
-				selection:  this.options.selection
+				controller:           this.controller,
+				model:                attachment,
+				collection:           this.collection,
+				selection:            this.options.selection
 			});
 
 			return this._viewsByCid[ attachment.cid ] = view;
@@ -5063,33 +5435,35 @@
 
 		scroll: function() {
 			var view = this,
+				el = this.options.scrollElement,
+				scrollTop = el.scrollTop,
 				toolbar;
 
-			if ( ! this.$el.is(':visible') || ! this.collection.hasMore() ) {
+			// The scroll event occurs on the document, but the element
+			// that should be checked is the document body.
+			if ( el == document ) {
+				el = document.body;
+				scrollTop = $(document).scrollTop();
+			}
+
+			if ( ! $(el).is(':visible') || ! this.collection.hasMore() ) {
 				return;
 			}
 
 			toolbar = this.views.parent.toolbar;
 
 			// Show the spinner only if we are close to the bottom.
-			if ( this.el.scrollHeight - ( this.el.scrollTop + this.el.clientHeight ) < this.el.clientHeight / 3 ) {
+			if ( el.scrollHeight - ( scrollTop + el.clientHeight ) < el.clientHeight / 3 ) {
 				toolbar.get('spinner').show();
 			}
 
-			if ( this.el.scrollHeight < this.el.scrollTop + ( this.el.clientHeight * this.options.refreshThreshold ) ) {
+			if ( el.scrollHeight < scrollTop + ( el.clientHeight * this.options.refreshThreshold ) ) {
 				this.collection.more().done(function() {
 					view.scroll();
 					toolbar.get('spinner').hide();
 				});
 			}
 		}
-	}, {
-		$head: (function() {
-			var $head;
-			return function() {
-				return $head = $head || $('head');
-			};
-		}())
 	});
 
 	/**
@@ -5103,6 +5477,7 @@
 	media.view.Search = media.View.extend({
 		tagName:   'input',
 		className: 'search',
+		id:        'media-search-input',
 
 		attributes: {
 			type:        'search',
@@ -5144,6 +5519,7 @@
 	media.view.AttachmentFilters = media.View.extend({
 		tagName:   'select',
 		className: 'attachment-filters',
+		id:        'media-attachment-filters',
 
 		events: {
 			change: 'change'
@@ -5167,13 +5543,19 @@
 			this.select();
 		},
 
+		/**
+		 * @abstract
+		 */
 		createFilters: function() {
 			this.filters = {};
 		},
 
+		/**
+		 * When the selection changes, set the Query properties
+		 * accordingly for the selected filter.
+		 */
 		change: function() {
 			var filter = this.filters[ this.el.value ];
-
 			if ( filter ) {
 				this.model.set( filter.props );
 			}
@@ -5258,6 +5640,7 @@
 				filters[ key ] = {
 					text: text,
 					props: {
+						status:  null,
 						type:    key,
 						uploadedTo: null,
 						orderby: 'date',
@@ -5269,6 +5652,7 @@
 			filters.all = {
 				text:  l10n.allMediaItems,
 				props: {
+					status:  null,
 					type:    null,
 					uploadedTo: null,
 					orderby: 'date',
@@ -5277,22 +5661,52 @@
 				priority: 10
 			};
 
-			filters.uploaded = {
-				text:  l10n.uploadedToThisPost,
+			if ( media.view.settings.post.id ) {
+				filters.uploaded = {
+					text:  l10n.uploadedToThisPost,
+					props: {
+						status:  null,
+						type:    null,
+						uploadedTo: media.view.settings.post.id,
+						orderby: 'menuOrder',
+						order:   'ASC'
+					},
+					priority: 20
+				};
+			}
+
+			filters.unattached = {
+				text:  l10n.unattached,
 				props: {
-					type:    null,
-					uploadedTo: media.view.settings.post.id,
-					orderby: 'menuOrder',
-					order:   'ASC'
+					status:     null,
+					uploadedTo: 0,
+					type:       null,
+					orderby:    'menuOrder',
+					order:      'ASC'
 				},
-				priority: 20
+				priority: 50
 			};
 
+			if ( media.view.settings.mediaTrash &&
+				this.controller.isModeActive( 'grid' ) ) {
+
+				filters.trash = {
+					text:  l10n.trash,
+					props: {
+						uploadedTo: null,
+						status:     'trash',
+						type:       null,
+						orderby:    'date',
+						order:      'DESC'
+					},
+					priority: 50
+				};
+			}
+
 			this.filters = filters;
 		}
 	});
 
-
 	/**
 	 * wp.media.view.AttachmentsBrowser
 	 *
@@ -5310,13 +5724,27 @@
 				filters: false,
 				search:  true,
 				display: false,
-
+				sidebar: true,
 				AttachmentView: media.view.Attachment.Library
 			});
 
+			this.listenTo( this.controller, 'toggle:upload:attachment', _.bind( this.toggleUploader, this ) );
+
 			this.createToolbar();
+			if ( this.options.sidebar ) {
+				this.createSidebar();
+			}
+			this.createUploader();
+			this.createAttachments();
 			this.updateContent();
-			this.createSidebar();
+
+			if ( ! this.options.sidebar || 'errors' === this.options.sidebar ) {
+				this.$el.addClass( 'hide-sidebar' );
+
+				if ( 'errors' === this.options.sidebar ) {
+					this.$el.addClass( 'sidebar-for-errors' );
+				}
+			}
 
 			this.collection.on( 'add remove reset', this.updateContent, this );
 		},
@@ -5330,37 +5758,153 @@
 		},
 
 		createToolbar: function() {
-			var filters, FiltersConstructor;
+			var LibraryViewSwitcher, Filters, toolbarOptions;
 
-			/**
-			 * @member {wp.media.view.Toolbar}
-			 */
-			this.toolbar = new media.view.Toolbar({
+			toolbarOptions = {
 				controller: this.controller
-			});
+			};
+
+			if ( this.controller.isModeActive( 'grid' ) ) {
+				toolbarOptions.className = 'media-toolbar wp-filter';
+			}
+
+			/**
+			* @member {wp.media.view.Toolbar}
+			*/
+			this.toolbar = new media.view.Toolbar( toolbarOptions );
 
 			this.views.add( this.toolbar );
 
-			filters = this.options.filters;
-			if ( 'uploaded' === filters ) {
-				FiltersConstructor = media.view.AttachmentFilters.Uploaded;
-			} else if ( 'all' === filters ) {
-				FiltersConstructor = media.view.AttachmentFilters.All;
+			this.toolbar.set( 'spinner', new media.view.Spinner({
+				priority: -60
+			}) );
+
+			if ( -1 !== $.inArray( this.options.filters, [ 'uploaded', 'all' ] ) ) {
+				// "Filters" will return a <select>, need to render
+				// screen reader text before
+				this.toolbar.set( 'filtersLabel', new media.view.Label({
+					value: l10n.filterByType,
+					attributes: {
+						'for':  'media-attachment-filters'
+					},
+					priority:   -80
+				}).render() );
+
+				if ( 'uploaded' === this.options.filters ) {
+					this.toolbar.set( 'filters', new media.view.AttachmentFilters.Uploaded({
+						controller: this.controller,
+						model:      this.collection.props,
+						priority:   -80
+					}).render() );
+				} else {
+					Filters = new media.view.AttachmentFilters.All({
+						controller: this.controller,
+						model:      this.collection.props,
+						priority:   -80
+					});
+
+					this.toolbar.set( 'filters', Filters.render() );
+				}
 			}
 
-			if ( FiltersConstructor ) {
-				this.toolbar.set( 'filters', new FiltersConstructor({
+			// Feels odd to bring the global media library switcher into the Attachment
+			// browser view. Is this a use case for doAction( 'add:toolbar-items:attachments-browser', this.toolbar );
+			// which the controller can tap into and add this view?
+			if ( this.controller.isModeActive( 'grid' ) ) {
+				LibraryViewSwitcher = media.View.extend({
+					className: 'view-switch media-grid-view-switch',
+					template: media.template( 'media-library-view-switcher')
+				});
+
+				this.toolbar.set( 'libraryViewSwitcher', new LibraryViewSwitcher({
+					controller: this.controller,
+					priority: -90
+				}).render() );
+
+				// DateFilter is a <select>, screen reader text needs to be rendered before
+				this.toolbar.set( 'dateFilterLabel', new media.view.Label({
+					value: l10n.filterByDate,
+					attributes: {
+						'for': 'media-attachment-date-filters'
+					},
+					priority: -75
+				}).render() );
+				this.toolbar.set( 'dateFilter', new media.view.DateFilter({
 					controller: this.controller,
 					model:      this.collection.props,
-					priority:   -80
+					priority: -75
 				}).render() );
-			}
 
-			this.toolbar.set( 'spinner', new media.view.Spinner({
-				priority: -70
-			}) );
+				// BulkSelection is a <div> with subviews, including screen reader text
+				this.toolbar.set( 'selectModeToggleButton', new media.view.SelectModeToggleButton({
+					text: l10n.bulkSelect,
+					controller: this.controller,
+					priority: -70
+				}).render() );
+
+				this.toolbar.set( 'deleteSelectedButton', new media.view.DeleteSelectedButton({
+					filters: Filters,
+					style: 'primary',
+					disabled: true,
+					text: media.view.settings.mediaTrash ? l10n.trashSelected : l10n.deleteSelected,
+					controller: this.controller,
+					priority: -60,
+					click: function() {
+						var model, changed = [], self = this,
+							selection = this.controller.state().get( 'selection' ),
+							library = this.controller.state().get( 'library' );
+
+						if ( ! selection.length ) {
+							return;
+						}
+
+						if ( ! media.view.settings.mediaTrash && ! confirm( l10n.warnBulkDelete ) ) {
+							return;
+						}
+
+						if ( media.view.settings.mediaTrash &&
+							'trash' !== selection.at( 0 ).get( 'status' ) &&
+							! confirm( l10n.warnBulkTrash ) ) {
+
+							return;
+						}
+
+						while ( selection.length > 0 ) {
+							model = selection.at( 0 );
+							if ( media.view.settings.mediaTrash && 'trash' === model.get( 'status' ) ) {
+								model.set( 'status', 'inherit' );
+								changed.push( model.save() );
+								selection.remove( model );
+							} else if ( media.view.settings.mediaTrash ) {
+								model.set( 'status', 'trash' );
+								changed.push( model.save() );
+								selection.remove( model );
+							} else {
+								model.destroy();
+							}
+						}
+
+						if ( changed.length ) {
+							$.when.apply( null, changed ).then( function() {
+								library._requery( true );
+								self.controller.trigger( 'selection:action:done' );
+							} );
+						} else {
+							this.controller.trigger( 'selection:action:done' );
+						}
+					}
+				}).render() );
+			}
 
 			if ( this.options.search ) {
+				// Search is an input, screen reader text needs to be rendered before
+				this.toolbar.set( 'searchLabel', new media.view.Label({
+					value: l10n.searchMediaLabel,
+					attributes: {
+						'for': 'media-search-input'
+					},
+					priority:   60
+				}).render() );
 				this.toolbar.set( 'search', new media.view.Search({
 					controller: this.controller,
 					model:      this.collection.props,
@@ -5384,61 +5928,83 @@
 		},
 
 		updateContent: function() {
-			var view = this;
+			var view = this,
+				noItemsView;
 
-			if( ! this.attachments ) {
-				this.createAttachments();
+			if ( this.controller.isModeActive( 'grid' ) ) {
+				noItemsView = view.attachmentsNoResults;
+			} else {
+				noItemsView = view.uploader;
 			}
 
 			if ( ! this.collection.length ) {
 				this.toolbar.get( 'spinner' ).show();
-				this.collection.more().done(function() {
+				this.dfd = this.collection.more().done( function() {
 					if ( ! view.collection.length ) {
-						view.createUploader();
+						noItemsView.$el.removeClass( 'hidden' );
+					} else {
+						noItemsView.$el.addClass( 'hidden' );
 					}
 					view.toolbar.get( 'spinner' ).hide();
-				});
+				} );
 			} else {
+				noItemsView.$el.addClass( 'hidden' );
 				view.toolbar.get( 'spinner' ).hide();
 			}
 		},
 
-		removeContent: function() {
-			_.each(['attachments','uploader'], function( key ) {
-				if ( this[ key ] ) {
-					this[ key ].remove();
-					delete this[ key ];
-				}
-			}, this );
-		},
-
 		createUploader: function() {
-			this.removeContent();
-
 			this.uploader = new media.view.UploaderInline({
 				controller: this.controller,
 				status:     false,
-				message:    l10n.noItemsFound
+				message:    this.controller.isModeActive( 'grid' ) ? '' : l10n.noItemsFound,
+				canClose:   this.controller.isModeActive( 'grid' )
 			});
 
+			this.uploader.hide();
 			this.views.add( this.uploader );
 		},
 
-		createAttachments: function() {
-			this.removeContent();
+		toggleUploader: function() {
+			if ( this.uploader.$el.hasClass( 'hidden' ) ) {
+				this.uploader.show();
+			} else {
+				this.uploader.hide();
+			}
+		},
 
+		createAttachments: function() {
 			this.attachments = new media.view.Attachments({
-				controller: this.controller,
-				collection: this.collection,
-				selection:  this.options.selection,
-				model:      this.model,
-				sortable:   this.options.sortable,
+				controller:           this.controller,
+				collection:           this.collection,
+				selection:            this.options.selection,
+				model:                this.model,
+				sortable:             this.options.sortable,
+				scrollElement:        this.options.scrollElement,
+				idealColumnWidth:     this.options.idealColumnWidth,
 
 				// The single `Attachment` view to be used in the `Attachments` view.
 				AttachmentView: this.options.AttachmentView
 			});
 
+			// Add keydown listener to the instance of the Attachments view
+			this.attachments.listenTo( this.controller, 'attachment:keydown:arrow',     this.attachments.arrowEvent );
+			this.attachments.listenTo( this.controller, 'attachment:details:shift-tab', this.attachments.restoreFocus );
+
 			this.views.add( this.attachments );
+
+
+			if ( this.controller.isModeActive( 'grid' ) ) {
+				this.attachmentsNoResults = new media.View({
+					controller: this.controller,
+					tagName: 'p'
+				});
+
+				this.attachmentsNoResults.$el.addClass( 'hidden no-media' );
+				this.attachmentsNoResults.$el.html( l10n.noMedia );
+
+				this.views.add( this.attachmentsNoResults );
+			}
 		},
 
 		createSidebar: function() {
@@ -5490,6 +6056,11 @@
 					userSettings: this.model.get('displayUserSettings')
 				}) );
 			}
+
+			// Show the sidebar on mobile
+			if ( this.model.id === 'insert' ) {
+				sidebar.$el.addClass( 'visible' );
+			}
 		},
 
 		disposeSingle: function() {
@@ -5497,6 +6068,8 @@
 			sidebar.unset('details');
 			sidebar.unset('compat');
 			sidebar.unset('display');
+			// Hide the sidebar on mobile
+			sidebar.$el.removeClass( 'visible' );
 		}
 	});
 
@@ -5531,10 +6104,7 @@
 				controller: this.controller,
 				collection: this.collection,
 				selection:  this.collection,
-				model:      new Backbone.Model({
-					edge:   40,
-					gutter: 5
-				})
+				model:      new Backbone.Model()
 			});
 
 			this.views.set( '.selection-view', this.attachments );
@@ -5573,6 +6143,10 @@
 		clear: function( event ) {
 			event.preventDefault();
 			this.collection.reset();
+
+			// Keep focus inside media modal
+			// after clear link is selected
+			this.controller.modal.focusManager.focus();
 		}
 	});
 
@@ -5714,7 +6288,7 @@
 				}
 			// Handle checkboxes.
 			} else if ( $setting.is('input[type="checkbox"]') ) {
-				$setting.prop( 'checked', !! value );
+				$setting.prop( 'checked', !! value && 'false' !== value );
 			}
 		},
 		/**
@@ -5837,7 +6411,7 @@
 			$input.removeClass( 'hidden' );
 
 			// If the input is visible, focus and select its contents.
-			if ( $input.is(':visible') ) {
+			if ( ! isTouchDevice && $input.is(':visible') ) {
 				$input.focus()[0].select();
 			}
 		}
@@ -5892,32 +6466,28 @@
 			'change [data-setting] textarea': 'updateSetting',
 			'click .delete-attachment':       'deleteAttachment',
 			'click .trash-attachment':        'trashAttachment',
+			'click .untrash-attachment':      'untrashAttachment',
 			'click .edit-attachment':         'editAttachment',
-			'click .refresh-attachment':      'refreshAttachment'
+			'click .refresh-attachment':      'refreshAttachment',
+			'keydown':                        'toggleSelectionHandler'
 		},
 
 		initialize: function() {
-			/**
-			 * @member {wp.media.view.FocusManager}
-			 */
-			this.focusManager = new media.view.FocusManager({
-				el: this.el
+			this.options = _.defaults( this.options, {
+				rerenderOnModelChange: false
 			});
+
+			this.on( 'ready', this.initialFocus );
 			/**
 			 * call 'initialize' directly on the parent class
 			 */
 			media.view.Attachment.prototype.initialize.apply( this, arguments );
 		},
-		/**
-		 * @returns {wp.media.view..Attachment.Details} Returns itself to allow chaining
-		 */
-		render: function() {
-			/**
-			 * call 'render' directly on the parent class
-			 */
-			media.view.Attachment.prototype.render.apply( this, arguments );
-			this.focusManager.focus();
-			return this;
+
+		initialFocus: function() {
+			if ( ! isTouchDevice ) {
+				this.$( ':input' ).eq( 0 ).focus();
+			}
 		},
 		/**
 		 * @param {Object} event
@@ -5927,15 +6497,40 @@
 
 			if ( confirm( l10n.warnDelete ) ) {
 				this.model.destroy();
+				// Keep focus inside media modal
+				// after image is deleted
+				this.controller.modal.focusManager.focus();
 			}
 		},
 		/**
 		 * @param {Object} event
 		 */
 		trashAttachment: function( event ) {
+			var library = this.controller.library;
 			event.preventDefault();
 
-			this.model.destroy();
+			if ( media.view.settings.mediaTrash &&
+				'edit-metadata' === this.controller.content.mode() ) {
+
+				this.model.set( 'status', 'trash' );
+				this.model.save().done( function() {
+					library._requery( true );
+				} );
+			}  else {
+				this.model.destroy();
+			}
+		},
+		/**
+		 * @param {Object} event
+		 */
+		untrashAttachment: function( event ) {
+			var library = this.controller.library;
+			event.preventDefault();
+
+			this.model.set( 'status', 'inherit' );
+			this.model.save().done( function() {
+				library._requery( true );
+			} );
 		},
 		/**
 		 * @param {Object} event
@@ -5958,13 +6553,31 @@
 			this.$el.removeClass('needs-refresh');
 			event.preventDefault();
 			this.model.fetch();
-		}
+		},
+		/**
+		 * When reverse tabbing(shift+tab) out of the right details panel, deliver
+		 * the focus to the item in the list that was being edited.
+		 *
+		 * @param {Object} event
+		 */
+		toggleSelectionHandler: function( event ) {
+			if ( 'keydown' === event.type && 9 === event.keyCode && event.shiftKey && event.target === this.$( ':tabbable' ).get( 0 ) ) {
+				this.controller.trigger( 'attachment:details:shift-tab', event );
+				return false;
+			}
 
+			if ( 37 === event.keyCode || 38 === event.keyCode || 39 === event.keyCode || 40 === event.keyCode ) {
+				this.controller.trigger( 'attachment:keydown:arrow', event );
+				return;
+			}
+		}
 	});
 
 	/**
 	 * wp.media.view.AttachmentCompat
 	 *
+	 * A view to display fields added via the `attachment_fields_to_edit` filter.
+	 *
 	 * @constructor
 	 * @augments wp.media.View
 	 * @augments wp.Backbone.View
@@ -5982,13 +6595,6 @@
 		},
 
 		initialize: function() {
-			/**
-			 * @member {wp.media.view.FocusManager}
-			 */
-			this.focusManager = new media.view.FocusManager({
-				el: this.el
-			});
-
 			this.model.on( 'change:compat', this.render, this );
 		},
 		/**
@@ -6015,8 +6621,6 @@
 			this.views.detach();
 			this.$el.html( compat.item );
 			this.views.render();
-
-			this.focusManager.focus();
 			return this;
 		},
 		/**
@@ -6125,6 +6729,27 @@
 		}
 	});
 
+	/**
+	 * @constructor
+	 * @augments wp.media.View
+	 * @augments wp.Backbone.View
+	 * @augments Backbone.View
+	 */
+	media.view.Label = media.View.extend({
+		tagName: 'label',
+		className: 'screen-reader-text',
+
+		initialize: function() {
+			this.value = this.options.value;
+		},
+
+		render: function() {
+			this.$el.html( this.value );
+
+			return this;
+		}
+	});
+
 	/**
 	 * wp.media.view.EmbedUrl
 	 *
@@ -6144,13 +6769,21 @@
 		},
 
 		initialize: function() {
-			this.$input = $('<input/>').attr( 'type', 'text' ).val( this.model.get('url') );
+			var self = this;
+
+			this.$input = $('<input id="embed-url-field" type="url" />').val( this.model.get('url') );
 			this.input = this.$input[0];
 
 			this.spinner = $('<span class="spinner" />')[0];
 			this.$el.append([ this.input, this.spinner ]);
 
 			this.model.on( 'change:url', this.render, this );
+
+			if ( this.model.get( 'url' ) ) {
+				_.delay( function () {
+					self.model.trigger( 'change:url' );
+				}, 500 );
+			}
 		},
 		/**
 		 * @returns {wp.media.view.EmbedUrl} Returns itself to allow chaining
@@ -6171,7 +6804,9 @@
 		},
 
 		ready: function() {
-			this.focus();
+			if ( ! isTouchDevice ) {
+				this.focus();
+			}
 		},
 
 		url: function( event ) {
@@ -6200,13 +6835,59 @@
 	 */
 	media.view.EmbedLink = media.view.Settings.extend({
 		className: 'embed-link-settings',
-		template:  media.template('embed-link-settings')
+		template:  media.template('embed-link-settings'),
+
+		initialize: function() {
+			this.spinner = $('<span class="spinner" />');
+			this.$el.append( this.spinner[0] );
+			this.listenTo( this.model, 'change:url', this.updateoEmbed );
+		},
+
+		updateoEmbed: function() {
+			var url = this.model.get( 'url' );
+
+			this.$('.setting.title').show();
+			// clear out previous results
+			this.$('.embed-container').hide().find('.embed-preview').html('');
+
+			// only proceed with embed if the field contains more than 6 characters
+			if ( url && url.length < 6 ) {
+				return;
+			}
+
+			this.spinner.show();
+
+			setTimeout( _.bind( this.fetch, this ), 500 );
+		},
+
+		fetch: function() {
+			// check if they haven't typed in 500 ms
+			if ( $('#embed-url-field').val() !== this.model.get('url') ) {
+				return;
+			}
+
+			wp.ajax.send( 'parse-embed', {
+				data : {
+					post_ID: media.view.settings.post.id,
+					shortcode: '[embed]' + this.model.get('url') + '[/embed]'
+				}
+			} ).done( _.bind( this.renderoEmbed, this ) );
+		},
+
+		renderoEmbed: function( response ) {
+			var html = ( response && response.body ) || '';
+
+			this.spinner.hide();
+
+			this.$('.setting.title').hide();
+			this.$('.embed-container').show().find('.embed-preview').html( html );
+		}
 	});
 
 	/**
 	 * wp.media.view.EmbedImage
 	 *
-	 * @contructor
+	 * @constructor
 	 * @augments wp.media.view.Settings.AttachmentDisplay
 	 * @augments wp.media.view.Settings
 	 * @augments wp.media.View
@@ -6233,7 +6914,7 @@
 	/**
 	 * wp.media.view.ImageDetails
 	 *
-	 * @contructor
+	 * @constructor
 	 * @augments wp.media.view.Settings.AttachmentDisplay
 	 * @augments wp.media.view.Settings
 	 * @augments wp.media.View
@@ -6349,7 +7030,6 @@
 				value = Math.round( this.model.get( 'aspectRatio' ) * num );
 				this.model.set( 'customWidth', value, { silent: true  } );
 				this.$( '[data-setting="customWidth"]' ).val( value );
-
 			}
 		},
 
@@ -6470,7 +7150,12 @@
 		},
 
 		loadEditor: function() {
-			this.editor.open( this.model.get('id'), this.model.get('nonces').edit, this );
+			var dfd = this.editor.open( this.model.get('id'), this.model.get('nonces').edit, this );
+			dfd.done( _.bind( this.focus, this ) );
+		},
+
+		focus: function() {
+			this.$( '.imgedit-submit .button' ).eq( 0 ).focus();
 		},
 
 		back: function() {
diff --git a/wp-includes/js/media-views.min.js b/wp-includes/js/media-views.min.js
index ee8908dcc..28a939a85 100644
--- a/wp-includes/js/media-views.min.js
+++ b/wp-includes/js/media-views.min.js
@@ -1,3 +1,3 @@
-!function(a,b){var c,d=wp.media;c=d.view.l10n="undefined"==typeof _wpMediaViewsL10n?{}:_wpMediaViewsL10n,d.view.settings=c.settings||{},delete c.settings,d.model.settings.post=d.view.settings.post,a.support.transition=function(){var a,c=document.documentElement.style,d={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};return a=b.find(b.keys(d),function(a){return!b.isUndefined(c[a])}),a&&{end:d[a]}}(),d.events=b.extend({},Backbone.Events),d.transition=function(c,d){var e=a.Deferred();return d=d||2e3,a.support.transition?(c instanceof a||(c=a(c)),c.first().one(a.support.transition.end,e.resolve),b.delay(e.resolve,d)):e.resolve(),e.promise()},d.controller.Region=function(a){b.extend(this,b.pick(a||{},"id","view","selector"))},d.controller.Region.extend=Backbone.Model.extend,b.extend(d.controller.Region.prototype,{mode:function(a){return a?a===this._mode?this:(this.trigger("deactivate"),this._mode=a,this.render(a),this.trigger("activate"),this):this._mode},render:function(a){if(a&&a!==this._mode)return this.mode(a);var b,c={view:null};return this.trigger("create",c),b=c.view,this.trigger("render",b),b&&this.set(b),this},get:function(){return this.view.views.first(this.selector)},set:function(a,b){return b&&(b.add=!1),this.view.views.set(this.selector,a,b)},trigger:function(a){var c,d;if(this._mode)return d=b.toArray(arguments),c=this.id+":"+a,d[0]=c+":"+this._mode,this.view.trigger.apply(this.view,d),d[0]=c,this.view.trigger.apply(this.view,d),this}}),d.controller.StateMachine=function(a){this.states=new Backbone.Collection(a)},d.controller.StateMachine.extend=Backbone.Model.extend,b.extend(d.controller.StateMachine.prototype,Backbone.Events,{state:function(a){return this.states=this.states||new Backbone.Collection,a=a||this._state,a&&!this.states.get(a)&&this.states.add({id:a}),this.states.get(a)},setState:function(a){var b=this.state();return b&&a===b.id||!this.states||!this.states.get(a)?this:(b&&(b.trigger("deactivate"),this._lastState=b.id),this._state=a,this.state().trigger("activate"),this)},lastState:function(){return this._lastState?this.state(this._lastState):void 0}}),b.each(["on","off","trigger"],function(a){d.controller.StateMachine.prototype[a]=function(){return this.states=this.states||new Backbone.Collection,this.states[a].apply(this.states,arguments),this}}),d.controller.State=Backbone.Model.extend({constructor:function(){this.on("activate",this._preActivate,this),this.on("activate",this.activate,this),this.on("activate",this._postActivate,this),this.on("deactivate",this._deactivate,this),this.on("deactivate",this.deactivate,this),this.on("reset",this.reset,this),this.on("ready",this._ready,this),this.on("ready",this.ready,this),Backbone.Model.apply(this,arguments),this.on("change:menu",this._updateMenu,this)},ready:function(){},activate:function(){},deactivate:function(){},reset:function(){},_ready:function(){this._updateMenu()},_preActivate:function(){this.active=!0},_postActivate:function(){this.on("change:menu",this._menu,this),this.on("change:titleMode",this._title,this),this.on("change:content",this._content,this),this.on("change:toolbar",this._toolbar,this),this.frame.on("title:render:default",this._renderTitle,this),this._title(),this._menu(),this._toolbar(),this._content(),this._router()},_deactivate:function(){this.active=!1,this.frame.off("title:render:default",this._renderTitle,this),this.off("change:menu",this._menu,this),this.off("change:titleMode",this._title,this),this.off("change:content",this._content,this),this.off("change:toolbar",this._toolbar,this)},_title:function(){this.frame.title.render(this.get("titleMode")||"default")},_renderTitle:function(a){a.$el.text(this.get("title")||"")},_router:function(){var a,b=this.frame.router,c=this.get("router");this.frame.$el.toggleClass("hide-router",!c),c&&(this.frame.router.render(c),a=b.get(),a&&a.select&&a.select(this.frame.content.mode()))},_menu:function(){var a,b=this.frame.menu,c=this.get("menu");c&&(b.mode(c),a=b.get(),a&&a.select&&a.select(this.id))},_updateMenu:function(){var a=this.previous("menu"),b=this.get("menu");a&&this.frame.off("menu:render:"+a,this._renderMenu,this),b&&this.frame.on("menu:render:"+b,this._renderMenu,this)},_renderMenu:function(a){var b=this.get("menuItem"),c=this.get("title"),d=this.get("priority");!b&&c&&(b={text:c},d&&(b.priority=d)),b&&a.set(this.id,b)}}),b.each(["toolbar","content"],function(a){d.controller.State.prototype["_"+a]=function(){var b=this.get(a);b&&this.frame[a].render(b)}}),d.selectionSync={syncSelection:function(){var a=this.get("selection"),c=this.frame._selection;this.get("syncSelection")&&c&&a&&(a.multiple&&(a.reset([],{silent:!0}),a.validateAll(c.attachments),c.difference=b.difference(c.attachments.models,a.models)),a.single(c.single))},recordSelection:function(){var a=this.get("selection"),b=this.frame._selection;this.get("syncSelection")&&b&&a&&(a.multiple?(b.attachments.reset(a.toArray().concat(b.difference)),b.difference=[]):b.attachments.add(a.toArray()),b.single=a._single)}},d.controller.Library=d.controller.State.extend({defaults:{id:"library",multiple:!1,describe:!1,toolbar:"select",sidebar:"settings",content:"upload",router:"browse",menu:"default",searchable:!0,filterable:!1,sortable:!0,title:c.mediaLibraryTitle,contentUserSetting:!0,syncSelection:!0},initialize:function(){var a,c=this.get("selection");this.get("library")||this.set("library",d.query()),c instanceof d.model.Selection||(a=c,a||(a=this.get("library").props.toJSON(),a=b.omit(a,"orderby","query")),this.set("selection",new d.model.Selection(null,{multiple:this.get("multiple"),props:a}))),this.get("edge")||this.set("edge",120),this.get("gutter")||this.set("gutter",8),this.resetDisplays()},activate:function(){this.syncSelection(),wp.Uploader.queue.on("add",this.uploading,this),this.get("selection").on("add remove reset",this.refreshContent,this),this.get("contentUserSetting")&&(this.frame.on("content:activate",this.saveContentMode,this),this.set("content",getUserSetting("libraryContent",this.get("content"))))},deactivate:function(){this.recordSelection(),this.frame.off("content:activate",this.saveContentMode,this),this.get("selection").off(null,null,this),wp.Uploader.queue.off(null,null,this)},reset:function(){this.get("selection").reset(),this.resetDisplays(),this.refreshContent()},resetDisplays:function(){var a=d.view.settings.defaultProps;this._displays=[],this._defaultDisplaySettings={align:a.align||getUserSetting("align","none"),size:a.size||getUserSetting("imgsize","medium"),link:a.link||getUserSetting("urlbutton","file")}},display:function(a){var b=this._displays;return b[a.cid]||(b[a.cid]=new Backbone.Model(this.defaultDisplaySettings(a))),b[a.cid]},defaultDisplaySettings:function(a){var b=this._defaultDisplaySettings;return(b.canEmbed=this.canEmbed(a))&&(b.link="embed"),b},canEmbed:function(a){if(!a.get("uploading")){var c=a.get("type");if("audio"!==c&&"video"!==c)return!1}return b.contains(d.view.settings.embedExts,a.get("filename").split(".").pop())},refreshContent:function(){var a=this.get("selection"),b=this.frame,c=b.router.get(),d=b.content.mode();this.active&&!a.length&&c&&!c.get(d)&&this.frame.content.render(this.get("content"))},uploading:function(a){var b=this.frame.content;"upload"===b.mode()&&this.frame.content.mode("browse"),this.get("selection").add(a)},saveContentMode:function(){if("browse"===this.get("router")){var a=this.frame.content.mode(),b=this.frame.router.get();b&&b.get(a)&&setUserSetting("libraryContent",a)}}}),b.extend(d.controller.Library.prototype,d.selectionSync),d.controller.ImageDetails=d.controller.State.extend({defaults:b.defaults({id:"image-details",toolbar:"image-details",title:c.imageDetailsTitle,content:"image-details",menu:"image-details",router:!1,attachment:!1,priority:60,editing:!1},d.controller.Library.prototype.defaults),initialize:function(a){this.image=a.image,d.controller.State.prototype.initialize.apply(this,arguments)},activate:function(){this.frame.modal.$el.addClass("image-details")}}),d.controller.GalleryEdit=d.controller.Library.extend({defaults:{id:"gallery-edit",multiple:!1,describe:!0,edge:199,editing:!1,sortable:!0,searchable:!1,toolbar:"gallery-edit",content:"browse",title:c.editGalleryTitle,priority:60,dragInfo:!0,syncSelection:!1},initialize:function(){this.get("library")||this.set("library",new d.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",d.view.Attachment.EditLibrary),d.controller.Library.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library");a.props.set("type","image"),this.get("library").observe(wp.Uploader.queue),this.frame.on("content:render:browse",this.gallerySettings,this),d.controller.Library.prototype.activate.apply(this,arguments)},deactivate:function(){this.get("library").unobserve(wp.Uploader.queue),this.frame.off("content:render:browse",this.gallerySettings,this),d.controller.Library.prototype.deactivate.apply(this,arguments)},gallerySettings:function(a){var b=this.get("library");b&&a&&(b.gallery=b.gallery||new Backbone.Model,a.sidebar.set({gallery:new d.view.Settings.Gallery({controller:this,model:b.gallery,priority:40})}),a.toolbar.set("reverse",{text:c.reverseOrder,priority:80,click:function(){b.reset(b.toArray().reverse())}}))}}),d.controller.GalleryAdd=d.controller.Library.extend({defaults:b.defaults({id:"gallery-library",filterable:"uploaded",multiple:"add",menu:"gallery",toolbar:"gallery-add",title:c.addToGalleryTitle,priority:100,syncSelection:!1},d.controller.Library.prototype.defaults),initialize:function(){this.get("library")||this.set("library",d.query({type:"image"})),d.controller.Library.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library"),b=this.frame.state("gallery-edit").get("library");this.editLibrary&&this.editLibrary!==b&&a.unobserve(this.editLibrary),a.validator=function(a){return!!this.mirroring.get(a.cid)&&!b.get(a.cid)&&d.model.Selection.prototype.validator.apply(this,arguments)},a.reset(a.mirroring.models,{silent:!0}),a.observe(b),this.editLibrary=b,d.controller.Library.prototype.activate.apply(this,arguments)}}),d.controller.CollectionEdit=d.controller.Library.extend({defaults:{multiple:!1,describe:!0,edge:199,editing:!1,sortable:!0,searchable:!1,content:"browse",priority:60,dragInfo:!0,SettingsView:!1,syncSelection:!1},initialize:function(){var a=this.get("collectionType");"video"===this.get("type")&&(a="video-"+a),this.set("id",a+"-edit"),this.set("toolbar",a+"-edit"),this.get("library")||this.set("library",new d.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",d.view.Attachment.EditLibrary),d.controller.Library.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library");a.props.set("type",this.get("type")),this.get("library").observe(wp.Uploader.queue),this.frame.on("content:render:browse",this.renderSettings,this),d.controller.Library.prototype.activate.apply(this,arguments)},deactivate:function(){this.get("library").unobserve(wp.Uploader.queue),this.frame.off("content:render:browse",this.renderSettings,this),d.controller.Library.prototype.deactivate.apply(this,arguments)},renderSettings:function(b){var e=this.get("library"),f=this.get("collectionType"),g=this.get("dragInfoText"),h=this.get("SettingsView"),i={};e&&b&&(e[f]=e[f]||new Backbone.Model,i[f]=new h({controller:this,model:e[f],priority:40}),b.sidebar.set(i),g&&b.toolbar.set("dragInfo",new d.View({el:a('<div class="instructions">'+g+"</div>")[0],priority:-40})),b.toolbar.set("reverse",{text:c.reverseOrder,priority:80,click:function(){e.reset(e.toArray().reverse())}}))}}),d.controller.CollectionAdd=d.controller.Library.extend({defaults:b.defaults({filterable:"uploaded",multiple:"add",priority:100,syncSelection:!1},d.controller.Library.prototype.defaults),initialize:function(){var a=this.get("collectionType");"video"===this.get("type")&&(a="video-"+a),this.set("id",a+"-library"),this.set("toolbar",a+"-add"),this.set("menu",a),this.get("library")||this.set("library",d.query({type:this.get("type")})),d.controller.Library.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library"),b=this.get("editLibrary"),c=this.frame.state(this.get("collectionType")+"-edit").get("library");b&&b!==c&&a.unobserve(b),a.validator=function(a){return!!this.mirroring.get(a.cid)&&!c.get(a.cid)&&d.model.Selection.prototype.validator.apply(this,arguments)},a.reset(a.mirroring.models,{silent:!0}),a.observe(c),this.set("editLibrary",c),d.controller.Library.prototype.activate.apply(this,arguments)}}),d.controller.FeaturedImage=d.controller.Library.extend({defaults:b.defaults({id:"featured-image",filterable:"uploaded",multiple:!1,toolbar:"featured-image",title:c.setFeaturedImageTitle,priority:60,syncSelection:!0},d.controller.Library.prototype.defaults),initialize:function(){var a,b;this.get("library")||this.set("library",d.query({type:"image"})),d.controller.Library.prototype.initialize.apply(this,arguments),a=this.get("library"),b=a.comparator,a.comparator=function(a,c){var d=!!this.mirroring.get(a.cid),e=!!this.mirroring.get(c.cid);return!d&&e?-1:d&&!e?1:b.apply(this,arguments)},a.observe(this.get("selection"))},activate:function(){this.updateSelection(),this.frame.on("open",this.updateSelection,this),d.controller.Library.prototype.activate.apply(this,arguments)},deactivate:function(){this.frame.off("open",this.updateSelection,this),d.controller.Library.prototype.deactivate.apply(this,arguments)},updateSelection:function(){var a,b=this.get("selection"),c=d.view.settings.post.featuredImageId;""!==c&&-1!==c&&(a=d.model.Attachment.get(c),a.fetch()),b.reset(a?[a]:[])}}),d.controller.ReplaceImage=d.controller.Library.extend({defaults:b.defaults({id:"replace-image",filterable:"uploaded",multiple:!1,toolbar:"replace",title:c.replaceImageTitle,priority:60,syncSelection:!0},d.controller.Library.prototype.defaults),initialize:function(a){var b,c;this.image=a.image,this.get("library")||this.set("library",d.query({type:"image"})),d.controller.Library.prototype.initialize.apply(this,arguments),b=this.get("library"),c=b.comparator,b.comparator=function(a,b){var d=!!this.mirroring.get(a.cid),e=!!this.mirroring.get(b.cid);return!d&&e?-1:d&&!e?1:c.apply(this,arguments)},b.observe(this.get("selection"))},activate:function(){this.updateSelection(),d.controller.Library.prototype.activate.apply(this,arguments)},updateSelection:function(){var a=this.get("selection"),b=this.image.attachment;a.reset(b?[b]:[])}}),d.controller.EditImage=d.controller.State.extend({defaults:{id:"edit-image",url:"",menu:!1,toolbar:"edit-image",title:c.editImage,content:"edit-image"},activate:function(){this.listenTo(this.frame,"toolbar:render:edit-image",this.toolbar)},deactivate:function(){this.stopListening(this.frame)},toolbar:function(){var a=this.frame,b=a.lastState(),e=b&&b.id;a.toolbar.set(new d.view.Toolbar({controller:a,items:{back:{style:"primary",text:c.back,priority:20,click:function(){e?a.setState(e):a.close()}}}}))}}),d.controller.MediaLibrary=d.controller.Library.extend({defaults:b.defaults({filterable:"uploaded",priority:80,syncSelection:!1,displaySettings:!1},d.controller.Library.prototype.defaults),initialize:function(a){this.media=a.media,this.type=a.type,this.set("library",d.query({type:this.type})),d.controller.Library.prototype.initialize.apply(this,arguments)},activate:function(){d.frame.lastMime&&(this.set("library",d.query({type:d.frame.lastMime})),delete d.frame.lastMime),d.controller.Library.prototype.activate.apply(this,arguments)}}),d.controller.Embed=d.controller.State.extend({defaults:{id:"embed",url:"",menu:"default",content:"embed",toolbar:"main-embed",type:"link",title:c.insertFromUrlTitle,priority:120},sensitivity:200,initialize:function(){this.debouncedScan=b.debounce(b.bind(this.scan,this),this.sensitivity),this.props=new Backbone.Model({url:""}),this.props.on("change:url",this.debouncedScan,this),this.props.on("change:url",this.refresh,this),this.on("scan",this.scanImage,this)},scan:function(){var b,c=this,d={type:"link",scanners:[]};this.props.get("url")&&this.trigger("scan",d),d.scanners.length?(b=d.scanners=a.when.apply(a,d.scanners),b.always(function(){c.get("scanners")===b&&c.set("loading",!1)})):d.scanners=null,d.loading=!!d.scanners,this.set(d)},scanImage:function(b){var c=this.frame,d=this,e=this.props.get("url"),f=new Image,g=a.Deferred();b.scanners.push(g.promise()),f.onload=function(){g.resolve(),d===c.state()&&e===d.props.get("url")&&(d.set({type:"image"}),d.props.set({width:f.width,height:f.height}))},f.onerror=g.reject,f.src=e},refresh:function(){this.frame.toolbar.get().refresh()},reset:function(){this.props.clear().set({url:""}),this.active&&this.refresh()}}),d.controller.Cropper=d.controller.State.extend({defaults:{id:"cropper",title:c.cropImage,toolbar:"crop",content:"crop",router:!1,canSkipCrop:!1},activate:function(){this.frame.on("content:create:crop",this.createCropContent,this),this.frame.on("close",this.removeCropper,this),this.set("selection",new Backbone.Collection(this.frame._selection.single))},deactivate:function(){this.frame.toolbar.mode("browse")},createCropContent:function(){this.cropperView=new wp.media.view.Cropper({controller:this,attachment:this.get("selection").first()}),this.cropperView.on("image-loaded",this.createCropToolbar,this),this.frame.content.set(this.cropperView)},removeCropper:function(){this.imgSelect.cancelSelection(),this.imgSelect.setOptions({remove:!0}),this.imgSelect.update(),this.cropperView.remove()},createCropToolbar:function(){var a,d;a=this.get("canSkipCrop")||!1,d={controller:this.frame,items:{insert:{style:"primary",text:c.cropImage,priority:80,requires:{library:!1,selection:!1},click:function(){var a=this,b=this.controller.state().get("selection").first();b.set({cropDetails:this.controller.state().imgSelect.getSelection()}),this.$el.text(c.cropping),this.$el.attr("disabled",!0),this.controller.state().doCrop(b).done(function(b){a.controller.trigger("cropped",b),a.controller.close()}).fail(function(){a.controller.trigger("content:error:crop")})}}}},a&&b.extend(d.items,{skip:{style:"secondary",text:c.skipCropping,priority:70,requires:{library:!1,selection:!1},click:function(){var a=this.controller.state().get("selection").first();this.controller.state().cropperView.remove(),this.controller.trigger("skippedcrop",a),this.controller.close()}}}),this.frame.toolbar.set(new wp.media.view.Toolbar(d))},doCrop:function(a){return wp.ajax.post("custom-header-crop",{nonce:a.get("nonces").edit,id:a.get("id"),cropDetails:a.get("cropDetails")})}}),d.View=wp.Backbone.View.extend({constructor:function(a){a&&a.controller&&(this.controller=a.controller),wp.Backbone.View.apply(this,arguments)},dispose:function(){return this.undelegateEvents(),this.model&&this.model.off&&this.model.off(null,null,this),this.collection&&this.collection.off&&this.collection.off(null,null,this),this.controller&&this.controller.off&&this.controller.off(null,null,this),this},remove:function(){return this.dispose(),wp.Backbone.View.prototype.remove.apply(this,arguments)}}),d.view.Frame=d.View.extend({initialize:function(){this._createRegions(),this._createStates()},_createRegions:function(){this.regions=this.regions?this.regions.slice():[],b.each(this.regions,function(a){this[a]=new d.controller.Region({view:this,id:a,selector:".media-frame-"+a})},this)},_createStates:function(){this.states=new Backbone.Collection(null,{model:d.controller.State}),this.states.on("add",function(a){a.frame=this,a.trigger("ready")},this),this.options.states&&this.states.add(this.options.states)},reset:function(){return this.states.invoke("trigger","reset"),this}}),b.extend(d.view.Frame.prototype,d.controller.StateMachine.prototype),d.view.MediaFrame=d.view.Frame.extend({className:"media-frame",template:d.template("media-frame"),regions:["menu","title","content","toolbar","router"],initialize:function(){d.view.Frame.prototype.initialize.apply(this,arguments),b.defaults(this.options,{title:"",modal:!0,uploader:!0}),this.$el.addClass("wp-core-ui"),this.options.modal&&(this.modal=new d.view.Modal({controller:this,title:this.options.title}),this.modal.content(this)),(wp.Uploader.limitExceeded||!wp.Uploader.browser.supported)&&(this.options.uploader=!1),this.options.uploader&&(this.uploader=new d.view.UploaderWindow({controller:this,uploader:{dropzone:this.modal?this.modal.$el:this.$el,container:this.$el}}),this.views.set(".media-frame-uploader",this.uploader)),this.on("attach",b.bind(this.views.ready,this.views),this),this.on("title:create:default",this.createTitle,this),this.title.mode("default"),this.on("menu:create:default",this.createMenu,this)},render:function(){return!this.state()&&this.options.state&&this.setState(this.options.state),d.view.Frame.prototype.render.apply(this,arguments)},createTitle:function(a){a.view=new d.View({controller:this,tagName:"h1"})},createMenu:function(a){a.view=new d.view.Menu({controller:this})},createToolbar:function(a){a.view=new d.view.Toolbar({controller:this})},createRouter:function(a){a.view=new d.view.Router({controller:this})},createIframeStates:function(c){var e,f=d.view.settings,g=f.tabs,h=f.tabUrl;g&&h&&(e=a("#post_ID"),e.length&&(h+="&post_id="+e.val()),b.each(g,function(a,d){this.state("iframe:"+d).set(b.defaults({tab:d,src:h+"&tab="+d,title:a,content:"iframe",menu:"default"},c))},this),this.on("content:create:iframe",this.iframeContent,this),this.on("menu:render:default",this.iframeMenu,this),this.on("open",this.hijackThickbox,this),this.on("close",this.restoreThickbox,this))},iframeContent:function(a){this.$el.addClass("hide-toolbar"),a.view=new d.view.Iframe({controller:this})},iframeMenu:function(a){var c={};a&&(b.each(d.view.settings.tabs,function(a,b){c["iframe:"+b]={text:this.state("iframe:"+b).get("title"),priority:200}},this),a.set(c))},hijackThickbox:function(){var a=this;window.tb_remove&&!this._tb_remove&&(this._tb_remove=window.tb_remove,window.tb_remove=function(){a.close(),a.reset(),a.setState(a.options.state),a._tb_remove.call(window)})},restoreThickbox:function(){this._tb_remove&&(window.tb_remove=this._tb_remove,delete this._tb_remove)}}),b.each(["open","close","attach","detach","escape"],function(a){d.view.MediaFrame.prototype[a]=function(){return this.modal&&this.modal[a].apply(this.modal,arguments),this}}),d.view.MediaFrame.Select=d.view.MediaFrame.extend({initialize:function(){d.view.MediaFrame.prototype.initialize.apply(this,arguments),b.defaults(this.options,{selection:[],library:{},multiple:!1,state:"library"}),this.createSelection(),this.createStates(),this.bindHandlers()},createSelection:function(){var a=this.options.selection;a instanceof d.model.Selection||(this.options.selection=new d.model.Selection(a,{multiple:this.options.multiple})),this._selection={attachments:new d.model.Attachments,difference:[]}},createStates:function(){var a=this.options;this.options.states||this.states.add([new d.controller.Library({library:d.query(a.library),multiple:a.multiple,title:a.title,priority:20})])},bindHandlers:function(){this.on("router:create:browse",this.createRouter,this),this.on("router:render:browse",this.browseRouter,this),this.on("content:create:browse",this.browseContent,this),this.on("content:render:upload",this.uploadContent,this),this.on("toolbar:create:select",this.createSelectToolbar,this)},browseRouter:function(a){a.set({upload:{text:c.uploadFilesTitle,priority:20},browse:{text:c.mediaLibraryTitle,priority:40}})},browseContent:function(a){var b=this.state();this.$el.removeClass("hide-toolbar"),a.view=new d.view.AttachmentsBrowser({controller:this,collection:b.get("library"),selection:b.get("selection"),model:b,sortable:b.get("sortable"),search:b.get("searchable"),filters:b.get("filterable"),display:b.get("displaySettings"),dragInfo:b.get("dragInfo"),suggestedWidth:b.get("suggestedWidth"),suggestedHeight:b.get("suggestedHeight"),AttachmentView:b.get("AttachmentView")})},uploadContent:function(){this.$el.removeClass("hide-toolbar"),this.content.set(new d.view.UploaderInline({controller:this}))},createSelectToolbar:function(a,b){b=b||this.options.button||{},b.controller=this,a.view=new d.view.Toolbar.Select(b)}}),d.view.MediaFrame.Post=d.view.MediaFrame.Select.extend({initialize:function(){this.counts={audio:{count:d.view.settings.attachmentCounts.audio,state:"playlist"},video:{count:d.view.settings.attachmentCounts.video,state:"video-playlist"}},b.defaults(this.options,{multiple:!0,editing:!1,state:"insert"}),d.view.MediaFrame.Select.prototype.initialize.apply(this,arguments),this.createIframeStates()},createStates:function(){var a=this.options;this.states.add([new d.controller.Library({id:"insert",title:c.insertMediaTitle,priority:20,toolbar:"main-insert",filterable:"all",library:d.query(a.library),multiple:a.multiple?"reset":!1,editable:!0,allowLocalEdits:!0,displaySettings:!0,displayUserSettings:!0}),new d.controller.Library({id:"gallery",title:c.createGalleryTitle,priority:40,toolbar:"main-gallery",filterable:"uploaded",multiple:"add",editable:!1,library:d.query(b.defaults({type:"image"},a.library))}),new d.controller.Embed,new d.controller.EditImage({model:a.editImage}),new d.controller.GalleryEdit({library:a.selection,editing:a.editing,menu:"gallery"}),new d.controller.GalleryAdd,new d.controller.Library({id:"playlist",title:c.createPlaylistTitle,priority:60,toolbar:"main-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:d.query(b.defaults({type:"audio"},a.library))}),new d.controller.CollectionEdit({type:"audio",collectionType:"playlist",title:c.editPlaylistTitle,SettingsView:d.view.Settings.Playlist,library:a.selection,editing:a.editing,menu:"playlist",dragInfoText:c.playlistDragInfo,dragInfo:!1}),new d.controller.CollectionAdd({type:"audio",collectionType:"playlist",title:c.addToPlaylistTitle}),new d.controller.Library({id:"video-playlist",title:c.createVideoPlaylistTitle,priority:60,toolbar:"main-video-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:d.query(b.defaults({type:"video"},a.library))}),new d.controller.CollectionEdit({type:"video",collectionType:"playlist",title:c.editVideoPlaylistTitle,SettingsView:d.view.Settings.Playlist,library:a.selection,editing:a.editing,menu:"video-playlist",dragInfoText:c.videoPlaylistDragInfo,dragInfo:!1}),new d.controller.CollectionAdd({type:"video",collectionType:"playlist",title:c.addToVideoPlaylistTitle})]),d.view.settings.post.featuredImageId&&this.states.add(new d.controller.FeaturedImage)},bindHandlers:function(){var a,c;d.view.MediaFrame.Select.prototype.bindHandlers.apply(this,arguments),this.on("activate",this.activate,this),c=b.find(this.counts,function(a){return 0===a.count}),"undefined"!=typeof c&&this.listenTo(d.model.Attachments.all,"change:type",this.mediaTypeCounts),this.on("menu:create:gallery",this.createMenu,this),this.on("menu:create:playlist",this.createMenu,this),this.on("menu:create:video-playlist",this.createMenu,this),this.on("toolbar:create:main-insert",this.createToolbar,this),this.on("toolbar:create:main-gallery",this.createToolbar,this),this.on("toolbar:create:main-playlist",this.createToolbar,this),this.on("toolbar:create:main-video-playlist",this.createToolbar,this),this.on("toolbar:create:featured-image",this.featuredImageToolbar,this),this.on("toolbar:create:main-embed",this.mainEmbedToolbar,this),a={menu:{"default":"mainMenu",gallery:"galleryMenu",playlist:"playlistMenu","video-playlist":"videoPlaylistMenu"},content:{embed:"embedContent","edit-image":"editImageContent","edit-selection":"editSelectionContent"},toolbar:{"main-insert":"mainInsertToolbar","main-gallery":"mainGalleryToolbar","gallery-edit":"galleryEditToolbar","gallery-add":"galleryAddToolbar","main-playlist":"mainPlaylistToolbar","playlist-edit":"playlistEditToolbar","playlist-add":"playlistAddToolbar","main-video-playlist":"mainVideoPlaylistToolbar","video-playlist-edit":"videoPlaylistEditToolbar","video-playlist-add":"videoPlaylistAddToolbar"}},b.each(a,function(a,c){b.each(a,function(a,b){this.on(c+":render:"+b,this[a],this)},this)},this)},activate:function(){b.each(this.counts,function(a){a.count<1&&this.menuItemVisibility(a.state,"hide")},this)},mediaTypeCounts:function(a,b){"undefined"!=typeof this.counts[b]&&this.counts[b].count<1&&(this.counts[b].count++,this.menuItemVisibility(this.counts[b].state,"show"))},mainMenu:function(a){a.set({"library-separator":new d.View({className:"separator",priority:100})})},menuItemVisibility:function(a,b){var c=this.menu.get();"hide"===b?c.hide(a):"show"===b&&c.show(a)},galleryMenu:function(a){var b=this.lastState(),e=b&&b.id,f=this;a.set({cancel:{text:c.cancelGalleryTitle,priority:20,click:function(){e?f.setState(e):f.close()}},separateCancel:new d.View({className:"separator",priority:40})})},playlistMenu:function(a){var b=this.lastState(),e=b&&b.id,f=this;a.set({cancel:{text:c.cancelPlaylistTitle,priority:20,click:function(){e?f.setState(e):f.close()}},separateCancel:new d.View({className:"separator",priority:40})})},videoPlaylistMenu:function(a){var b=this.lastState(),e=b&&b.id,f=this;a.set({cancel:{text:c.cancelVideoPlaylistTitle,priority:20,click:function(){e?f.setState(e):f.close()}},separateCancel:new d.View({className:"separator",priority:40})})},embedContent:function(){var a=new d.view.Embed({controller:this,model:this.state()}).render();this.content.set(a),a.url.focus()},editSelectionContent:function(){var a,b=this.state(),e=b.get("selection");a=new d.view.AttachmentsBrowser({controller:this,collection:e,selection:e,model:b,sortable:!0,search:!1,dragInfo:!0,AttachmentView:d.view.Attachment.EditSelection}).render(),a.toolbar.set("backToLibrary",{text:c.returnToLibrary,priority:-100,click:function(){this.controller.content.mode("browse")}}),this.content.set(a)},editImageContent:function(){var a=this.state().get("image"),b=new d.view.EditImage({model:a,controller:this}).render();this.content.set(b),b.loadEditor()},selectionStatusToolbar:function(a){var b=this.state().get("editable");a.set("selection",new d.view.Selection({controller:this,collection:this.state().get("selection"),priority:-40,editable:b&&function(){this.controller.content.mode("edit-selection")}}).render())},mainInsertToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("insert",{style:"primary",priority:80,text:c.insertIntoPost,requires:{selection:!0},click:function(){var a=b.state(),c=a.get("selection");b.close(),a.trigger("insert",c).reset()}})},mainGalleryToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("gallery",{style:"primary",text:c.createNewGallery,priority:60,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("gallery-edit"),e=a.where({type:"image"});c.set("library",new d.model.Selection(e,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("gallery-edit")}})},mainPlaylistToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("playlist",{style:"primary",text:c.createNewPlaylist,priority:100,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("playlist-edit"),e=a.where({type:"audio"});c.set("library",new d.model.Selection(e,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("playlist-edit")}})},mainVideoPlaylistToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("video-playlist",{style:"primary",text:c.createNewVideoPlaylist,priority:100,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("video-playlist-edit"),e=a.where({type:"video"});c.set("library",new d.model.Selection(e,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("video-playlist-edit")}})},featuredImageToolbar:function(a){this.createSelectToolbar(a,{text:c.setFeaturedImage,state:this.options.state})},mainEmbedToolbar:function(a){a.view=new d.view.Toolbar.Embed({controller:this})},galleryEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new d.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?c.updateGallery:c.insertGallery,priority:80,requires:{library:!0},click:function(){var a=this.controller,b=a.state();
-a.close(),b.trigger("update",b.get("library")),a.setState(a.options.state),a.reset()}}}}))},galleryAddToolbar:function(){this.toolbar.set(new d.view.Toolbar({controller:this,items:{insert:{style:"primary",text:c.addToGallery,priority:80,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("gallery-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("gallery-edit")}}}}))},playlistEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new d.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?c.updatePlaylist:c.insertPlaylist,priority:80,requires:{library:!0},click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",b.get("library")),a.setState(a.options.state),a.reset()}}}}))},playlistAddToolbar:function(){this.toolbar.set(new d.view.Toolbar({controller:this,items:{insert:{style:"primary",text:c.addToPlaylist,priority:80,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("playlist-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("playlist-edit")}}}}))},videoPlaylistEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new d.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?c.updateVideoPlaylist:c.insertVideoPlaylist,priority:140,requires:{library:!0},click:function(){var a=this.controller,b=a.state(),c=b.get("library");c.type="video",a.close(),b.trigger("update",c),a.setState(a.options.state),a.reset()}}}}))},videoPlaylistAddToolbar:function(){this.toolbar.set(new d.view.Toolbar({controller:this,items:{insert:{style:"primary",text:c.addToVideoPlaylist,priority:140,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("video-playlist-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("video-playlist-edit")}}}}))}}),d.view.MediaFrame.ImageDetails=d.view.MediaFrame.Select.extend({defaults:{id:"image",url:"",menu:"image-details",content:"image-details",toolbar:"image-details",type:"link",title:c.imageDetailsTitle,priority:120},initialize:function(a){this.image=new d.model.PostImage(a.metadata),this.options.selection=new d.model.Selection(this.image.attachment,{multiple:!1}),d.view.MediaFrame.Select.prototype.initialize.apply(this,arguments)},bindHandlers:function(){d.view.MediaFrame.Select.prototype.bindHandlers.apply(this,arguments),this.on("menu:create:image-details",this.createMenu,this),this.on("content:create:image-details",this.imageDetailsContent,this),this.on("content:render:edit-image",this.editImageContent,this),this.on("menu:render:image-details",this.renderMenu,this),this.on("toolbar:render:image-details",this.renderImageDetailsToolbar,this),this.on("toolbar:render:replace",this.renderReplaceImageToolbar,this)},createStates:function(){this.states.add([new d.controller.ImageDetails({image:this.image,editable:!1,menu:"image-details"}),new d.controller.ReplaceImage({id:"replace-image",library:d.query({type:"image"}),image:this.image,multiple:!1,title:c.imageReplaceTitle,menu:"image-details",toolbar:"replace",priority:80,displaySettings:!0}),new d.controller.EditImage({image:this.image,selection:this.options.selection})])},imageDetailsContent:function(a){a.view=new d.view.ImageDetails({controller:this,model:this.state().image,attachment:this.state().image.attachment})},editImageContent:function(){var a,b=this.state(),c=b.get("image");c&&(a=new d.view.EditImage({model:c,controller:this}).render(),this.content.set(a),a.loadEditor())},renderMenu:function(a){var b=this.lastState(),e=b&&b.id,f=this;a.set({cancel:{text:c.imageDetailsCancel,priority:20,click:function(){e?f.setState(e):f.close()}},separateCancel:new d.View({className:"separator",priority:40})})},renderImageDetailsToolbar:function(){this.toolbar.set(new d.view.Toolbar({controller:this,items:{select:{style:"primary",text:c.update,priority:80,click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",a.image.toJSON()),a.setState(a.options.state),a.reset()}}}}))},renderReplaceImageToolbar:function(){var a=this,b=a.lastState(),e=b&&b.id;this.toolbar.set(new d.view.Toolbar({controller:this,items:{back:{text:c.back,priority:20,click:function(){e?a.setState(e):a.close()}},replace:{style:"primary",text:c.replace,priority:80,click:function(){var a=this.controller,b=a.state(),c=b.get("selection"),d=c.single();a.close(),a.image.changeAttachment(d,b.display(d)),b.trigger("replace",a.image.toJSON()),a.setState(a.options.state),a.reset()}}}}))}}),d.view.Modal=d.View.extend({tagName:"div",template:d.template("media-modal"),attributes:{tabindex:0},events:{"click .media-modal-backdrop, .media-modal-close":"escapeHandler",keydown:"keydown"},initialize:function(){b.defaults(this.options,{container:document.body,title:"",propagate:!0,freeze:!0})},prepare:function(){return{title:this.options.title}},attach:function(){return this.views.attached?this:(this.views.rendered||this.render(),this.$el.appendTo(this.options.container),this.views.attached=!0,this.views.ready(),this.propagate("attach"))},detach:function(){return this.$el.is(":visible")&&this.close(),this.$el.detach(),this.views.attached=!1,this.propagate("detach")},open:function(){var b=this.$el,c=this.options;return b.is(":visible")?this:(this.views.attached||this.attach(),c.freeze&&(this._freeze={scrollTop:a(window).scrollTop()}),b.show().focus(),this.propagate("open"))},close:function(b){var c=this._freeze;return this.views.attached&&this.$el.is(":visible")?(this.$el.hide(),this.propagate("close"),c&&a(window).scrollTop(c.scrollTop),b&&b.escape&&this.propagate("escape"),this):this},escape:function(){return this.close({escape:!0})},escapeHandler:function(a){a.preventDefault(),this.escape()},content:function(a){return this.views.set(".media-modal-content",a),this},propagate:function(a){return this.trigger(a),this.options.propagate&&this.controller.trigger(a),this},keydown:function(a){27===a.which&&this.$el.is(":visible")&&(this.escape(),a.stopImmediatePropagation())}}),d.view.FocusManager=d.View.extend({events:{keydown:"recordTab",focusin:"updateIndex"},focus:function(){b.isUndefined(this.index)||(this.$tabbables=this.$(":tabbable"),this.$tabbables.eq(this.index).focus())},recordTab:function(a){if(9===a.keyCode&&(b.isUndefined(this.index)&&this.updateIndex(a),!b.isUndefined(this.index))){var c=this.index+(a.shiftKey?-1:1);c>=0&&c<this.$tabbables.length?this.index=c:delete this.index}},updateIndex:function(a){this.$tabbables=this.$(":tabbable");var b=this.$tabbables.index(a.target);-1===b?delete this.index:this.index=b}}),d.view.UploaderWindow=d.View.extend({tagName:"div",className:"uploader-window",template:d.template("uploader-window"),initialize:function(){var c;this.$browser=a('<a href="#" class="browser" />').hide().appendTo("body"),c=this.options.uploader=b.defaults(this.options.uploader||{},{dropzone:this.$el,browser:this.$browser,params:{}}),!c.dropzone||c.dropzone instanceof a||(c.dropzone=a(c.dropzone)),this.controller.on("activate",this.refresh,this),this.controller.on("detach",function(){this.$browser.remove()},this)},refresh:function(){this.uploader&&this.uploader.refresh()},ready:function(){var c,e=d.view.settings.post.id;this.uploader||(e&&(this.options.uploader.params.post_id=e),this.uploader=new wp.Uploader(this.options.uploader),c=this.uploader.dropzone,c.on("dropzone:enter",b.bind(this.show,this)),c.on("dropzone:leave",b.bind(this.hide,this)),a(this.uploader).on("uploader:ready",b.bind(this._ready,this)))},_ready:function(){this.controller.trigger("uploader:ready")},show:function(){var a=this.$el.show();b.defer(function(){a.css({opacity:1})})},hide:function(){var a=this.$el.css({opacity:0});d.transition(a).done(function(){"0"===a.css("opacity")&&a.hide()})}}),d.view.EditorUploader=d.View.extend({tagName:"div",className:"uploader-editor",template:d.template("uploader-editor"),localDrag:!1,overContainer:!1,overDropzone:!1,draggingFile:null,initialize:function(){var c=this;return this.initialized=!1,window.tinyMCEPreInit&&window.tinyMCEPreInit.dragDropUpload&&this.browserSupport()?(this.$document=a(document),this.dropzones=[],this.files=[],this.$document.on("drop",".uploader-editor",b.bind(this.drop,this)),this.$document.on("dragover",".uploader-editor",b.bind(this.dropzoneDragover,this)),this.$document.on("dragleave",".uploader-editor",b.bind(this.dropzoneDragleave,this)),this.$document.on("click",".uploader-editor",b.bind(this.click,this)),this.$document.on("dragover",b.bind(this.containerDragover,this)),this.$document.on("dragleave",b.bind(this.containerDragleave,this)),this.$document.on("dragstart dragend drop",function(a){c.localDrag="dragstart"===a.type}),this.initialized=!0,this):this},browserSupport:function(){var a=!1,b=document.createElement("div");return a="draggable"in b||"ondragstart"in b&&"ondrop"in b,a=a&&!!(window.File&&window.FileList&&window.FileReader)},isDraggingFile:function(a){return null!==this.draggingFile?this.draggingFile:b.isUndefined(a.originalEvent)||b.isUndefined(a.originalEvent.dataTransfer)?!1:(this.draggingFile=b.indexOf(a.originalEvent.dataTransfer.types,"Files")>-1&&-1===b.indexOf(a.originalEvent.dataTransfer.types,"text/plain"),this.draggingFile)},refresh:function(c){var d;for(d in this.dropzones)this.dropzones[d].toggle(this.overContainer||this.overDropzone);return b.isUndefined(c)||a(c.target).closest(".uploader-editor").toggleClass("droppable",this.overDropzone),this.overContainer||this.overDropzone||(this.draggingFile=null),this},render:function(){return this.initialized?(d.View.prototype.render.apply(this,arguments),a(".wp-editor-wrap, #wp-fullscreen-body").each(b.bind(this.attach,this)),this):this},attach:function(b,c){var d=this.$el.clone();return this.dropzones.push(d),a(c).append(d),this},drop:function(b){var c=null;return this.containerDragleave(b),this.dropzoneDragleave(b),this.files=b.originalEvent.dataTransfer.files,this.files.length<1?void 0:(c=a(b.target).parents(".wp-editor-wrap"),c.length>0&&c[0].id&&(window.wpActiveEditor=c[0].id.slice(3,-5)),this.workflow?(this.workflow.state().reset(),this.addFiles.apply(this),this.workflow.open()):(this.workflow=wp.media.editor.open("content",{frame:"post",state:"insert",title:wp.media.view.l10n.addMedia,multiple:!0}),this.workflow.on("uploader:ready",this.addFiles,this)),!1)},addFiles:function(){return this.files.length&&(this.workflow.uploader.uploader.uploader.addFile(b.toArray(this.files)),this.files=[]),this},containerDragover:function(a){!this.localDrag&&this.isDraggingFile(a)&&(this.overContainer=!0,this.refresh())},containerDragleave:function(){this.overContainer=!1,b.delay(b.bind(this.refresh,this),50)},dropzoneDragover:function(a){return!this.localDrag&&this.isDraggingFile(a)?(this.overDropzone=!0,this.refresh(a),!1):void 0},dropzoneDragleave:function(a){this.overDropzone=!1,b.delay(b.bind(this.refresh,this,a),50)},click:function(a){this.containerDragleave(a),this.dropzoneDragleave(a),this.localDrag=!1}}),d.view.UploaderInline=d.View.extend({tagName:"div",className:"uploader-inline",template:d.template("uploader-inline"),initialize:function(){b.defaults(this.options,{message:"",status:!0}),!this.options.$browser&&this.controller.uploader&&(this.options.$browser=this.controller.uploader.$browser),b.isUndefined(this.options.postId)&&(this.options.postId=d.view.settings.post.id),this.options.status&&this.views.set(".upload-inline-status",new d.view.UploaderStatus({controller:this.controller}))},prepare:function(){var a=this.controller.state().get("suggestedWidth"),b=this.controller.state().get("suggestedHeight");return a&&b?{suggestedWidth:a,suggestedHeight:b}:void 0},dispose:function(){return this.disposing?d.View.prototype.dispose.apply(this,arguments):(this.disposing=!0,this.remove())},remove:function(){var a=d.View.prototype.remove.apply(this,arguments);return b.defer(b.bind(this.refresh,this)),a},refresh:function(){var a=this.controller.uploader;a&&a.refresh()},ready:function(){var a,b=this.options.$browser;if(this.controller.uploader){if(a=this.$(".browser"),a[0]===b[0])return;b.detach().text(a.text()),b[0].className=a[0].className,a.replaceWith(b.show())}return this.refresh(),this}}),d.view.UploaderStatus=d.View.extend({className:"media-uploader-status",template:d.template("uploader-status"),events:{"click .upload-dismiss-errors":"dismiss"},initialize:function(){this.queue=wp.Uploader.queue,this.queue.on("add remove reset",this.visibility,this),this.queue.on("add remove reset change:percent",this.progress,this),this.queue.on("add remove reset change:uploading",this.info,this),this.errors=wp.Uploader.errors,this.errors.reset(),this.errors.on("add remove reset",this.visibility,this),this.errors.on("add",this.error,this)},dispose:function(){return wp.Uploader.queue.off(null,null,this),d.View.prototype.dispose.apply(this,arguments),this},visibility:function(){this.$el.toggleClass("uploading",!!this.queue.length),this.$el.toggleClass("errors",!!this.errors.length),this.$el.toggle(!!this.queue.length||!!this.errors.length)},ready:function(){b.each({$bar:".media-progress-bar div",$index:".upload-index",$total:".upload-total",$filename:".upload-filename"},function(a,b){this[b]=this.$(a)},this),this.visibility(),this.progress(),this.info()},progress:function(){var a=this.queue,c=this.$bar;c&&a.length&&c.width(a.reduce(function(a,c){if(!c.get("uploading"))return a+100;var d=c.get("percent");return a+(b.isNumber(d)?d:100)},0)/a.length+"%")},info:function(){var a,b=this.queue,c=0;b.length&&(a=this.queue.find(function(a,b){return c=b,a.get("uploading")}),this.$index.text(c+1),this.$total.text(b.length),this.$filename.html(a?this.filename(a.get("filename")):""))},filename:function(a){return d.truncate(b.escape(a),24)},error:function(a){this.views.add(".upload-errors",new d.view.UploaderStatusError({filename:this.filename(a.get("file").name),message:a.get("message")}),{at:0})},dismiss:function(a){var c=this.views.get(".upload-errors");a.preventDefault(),c&&b.invoke(c,"remove"),wp.Uploader.errors.reset()}}),d.view.UploaderStatusError=d.View.extend({className:"upload-error",template:d.template("uploader-status-error")}),d.view.Toolbar=d.View.extend({tagName:"div",className:"media-toolbar",initialize:function(){var a=this.controller.state(),b=this.selection=a.get("selection"),c=this.library=a.get("library");this._views={},this.primary=new d.view.PriorityList,this.secondary=new d.view.PriorityList,this.primary.$el.addClass("media-toolbar-primary"),this.secondary.$el.addClass("media-toolbar-secondary"),this.views.set([this.secondary,this.primary]),this.options.items&&this.set(this.options.items,{silent:!0}),this.options.silent||this.render(),b&&b.on("add remove reset",this.refresh,this),c&&c.on("add remove reset",this.refresh,this)},dispose:function(){return this.selection&&this.selection.off(null,null,this),this.library&&this.library.off(null,null,this),d.View.prototype.dispose.apply(this,arguments)},ready:function(){this.refresh()},set:function(a,c,e){var f;return e=e||{},b.isObject(a)?b.each(a,function(a,b){this.set(b,a,{silent:!0})},this):(c instanceof Backbone.View||(c.classes=["media-button-"+a].concat(c.classes||[]),c=new d.view.Button(c).render()),c.controller=c.controller||this.controller,this._views[a]=c,f=c.options.priority<0?"secondary":"primary",this[f].set(a,c,e)),e.silent||this.refresh(),this},get:function(a){return this._views[a]},unset:function(a,b){return delete this._views[a],this.primary.unset(a,b),this.secondary.unset(a,b),b&&b.silent||this.refresh(),this},refresh:function(){var a=this.controller.state(),c=a.get("library"),d=a.get("selection");b.each(this._views,function(a){if(a.model&&a.options&&a.options.requires){var e=a.options.requires,f=!1;f=b.some(d.models,function(a){return a.get("uploading")===!0}),e.selection&&d&&!d.length?f=!0:e.library&&c&&!c.length&&(f=!0),a.model.set("disabled",f)}})}}),d.view.Toolbar.Select=d.view.Toolbar.extend({initialize:function(){var a=this.options;b.bindAll(this,"clickSelect"),b.defaults(a,{event:"select",state:!1,reset:!0,close:!0,text:c.select,requires:{selection:!0}}),a.items=b.defaults(a.items||{},{select:{style:"primary",text:a.text,priority:80,click:this.clickSelect,requires:a.requires}}),d.view.Toolbar.prototype.initialize.apply(this,arguments)},clickSelect:function(){var a=this.options,b=this.controller;a.close&&b.close(),a.event&&b.state().trigger(a.event),a.state&&b.setState(a.state),a.reset&&b.reset()}}),d.view.Toolbar.Embed=d.view.Toolbar.Select.extend({initialize:function(){b.defaults(this.options,{text:c.insertIntoPost,requires:!1}),d.view.Toolbar.Select.prototype.initialize.apply(this,arguments)},refresh:function(){var a=this.controller.state().props.get("url");this.get("select").model.set("disabled",!a||"http://"===a),d.view.Toolbar.Select.prototype.refresh.apply(this,arguments)}}),d.view.Button=d.View.extend({tagName:"a",className:"media-button",attributes:{href:"#"},events:{click:"click"},defaults:{text:"",style:"",size:"large",disabled:!1},initialize:function(){this.model=new Backbone.Model(this.defaults),b.each(this.defaults,function(a,c){var d=this.options[c];b.isUndefined(d)||(this.model.set(c,d),delete this.options[c])},this),this.model.on("change",this.render,this)},render:function(){var a=["button",this.className],c=this.model.toJSON();return c.style&&a.push("button-"+c.style),c.size&&a.push("button-"+c.size),a=b.uniq(a.concat(this.options.classes)),this.el.className=a.join(" "),this.$el.attr("disabled",c.disabled),this.$el.text(this.model.get("text")),this},click:function(a){"#"===this.attributes.href&&a.preventDefault(),this.options.click&&!this.model.get("disabled")&&this.options.click.apply(this,arguments)}}),d.view.ButtonGroup=d.View.extend({tagName:"div",className:"button-group button-large media-button-group",initialize:function(){this.buttons=b.map(this.options.buttons||[],function(a){return a instanceof Backbone.View?a:new d.view.Button(a).render()}),delete this.options.buttons,this.options.classes&&this.$el.addClass(this.options.classes)},render:function(){return this.$el.html(a(b.pluck(this.buttons,"el")).detach()),this}}),d.view.PriorityList=d.View.extend({tagName:"div",initialize:function(){this._views={},this.set(b.extend({},this._views,this.options.views),{silent:!0}),delete this.options.views,this.options.silent||this.render()},set:function(a,c,d){var e,f,g;return d=d||{},b.isObject(a)?(b.each(a,function(a,b){this.set(b,a)},this),this):(c instanceof Backbone.View||(c=this.toView(c,a,d)),c.controller=c.controller||this.controller,this.unset(a),e=c.options.priority||10,f=this.views.get()||[],b.find(f,function(a,b){return a.options.priority>e?(g=b,!0):void 0}),this._views[a]=c,this.views.add(c,{at:b.isNumber(g)?g:f.length||0}),this)},get:function(a){return this._views[a]},unset:function(a){var b=this.get(a);return b&&b.remove(),delete this._views[a],this},toView:function(a){return new d.View(a)}}),d.view.MenuItem=d.View.extend({tagName:"a",className:"media-menu-item",attributes:{href:"#"},events:{click:"_click"},_click:function(a){var b=this.options.click;a&&a.preventDefault(),b?b.call(this):this.click()},click:function(){var a=this.options.state;a&&this.controller.setState(a)},render:function(){var a=this.options;return a.text?this.$el.text(a.text):a.html&&this.$el.html(a.html),this}}),d.view.Menu=d.view.PriorityList.extend({tagName:"div",className:"media-menu",property:"state",ItemView:d.view.MenuItem,region:"menu",toView:function(a,b){return a=a||{},a[this.property]=a[this.property]||b,new this.ItemView(a).render()},ready:function(){d.view.PriorityList.prototype.ready.apply(this,arguments),this.visibility()},set:function(){d.view.PriorityList.prototype.set.apply(this,arguments),this.visibility()},unset:function(){d.view.PriorityList.prototype.unset.apply(this,arguments),this.visibility()},visibility:function(){var a=this.region,b=this.controller[a].get(),c=this.views.get(),d=!c||c.length<2;this===b&&this.controller.$el.toggleClass("hide-"+a,d)},select:function(a){var b=this.get(a);b&&(this.deselect(),b.$el.addClass("active"))},deselect:function(){this.$el.children().removeClass("active")},hide:function(a){var b=this.get(a);b&&b.$el.addClass("hidden")},show:function(a){var b=this.get(a);b&&b.$el.removeClass("hidden")}}),d.view.RouterItem=d.view.MenuItem.extend({click:function(){var a=this.options.contentMode;a&&this.controller.content.mode(a)}}),d.view.Router=d.view.Menu.extend({tagName:"div",className:"media-router",property:"contentMode",ItemView:d.view.RouterItem,region:"router",initialize:function(){this.controller.on("content:render",this.update,this),d.view.Menu.prototype.initialize.apply(this,arguments)},update:function(){var a=this.controller.content.mode();a&&this.select(a)}}),d.view.Sidebar=d.view.PriorityList.extend({className:"media-sidebar"}),d.view.Attachment=d.View.extend({tagName:"li",className:"attachment",template:d.template("attachment"),events:{"click .attachment-preview":"toggleSelectionHandler","change [data-setting]":"updateSetting","change [data-setting] input":"updateSetting","change [data-setting] select":"updateSetting","change [data-setting] textarea":"updateSetting","click .close":"removeFromLibrary","click .check":"removeFromSelection","click a":"preventDefault"},buttons:{},initialize:function(){var a=this.options.selection;this.model.on("change:sizes change:uploading",this.render,this),this.model.on("change:title",this._syncTitle,this),this.model.on("change:caption",this._syncCaption,this),this.model.on("change:percent",this.progress,this),this.model.on("add",this.select,this),this.model.on("remove",this.deselect,this),a&&a.on("reset",this.updateSelect,this),this.model.on("selection:single selection:unsingle",this.details,this),this.details(this.model,this.controller.state().get("selection"))},dispose:function(){var a=this.options.selection;return this.updateAll(),a&&a.off(null,null,this),d.View.prototype.dispose.apply(this,arguments),this},render:function(){var a=b.defaults(this.model.toJSON(),{orientation:"landscape",uploading:!1,type:"",subtype:"",icon:"",filename:"",caption:"",title:"",dateFormatted:"",width:"",height:"",compat:!1,alt:"",description:""});return a.buttons=this.buttons,a.describe=this.controller.state().get("describe"),"image"===a.type&&(a.size=this.imageSize()),a.can={},a.nonces&&(a.can.remove=!!a.nonces["delete"],a.can.save=!!a.nonces.update),this.controller.state().get("allowLocalEdits")&&(a.allowLocalEdits=!0),this.views.detach(),this.$el.html(this.template(a)),this.$el.toggleClass("uploading",a.uploading),a.uploading?this.$bar=this.$(".media-progress-bar div"):delete this.$bar,this.updateSelect(),this.updateSave(),this.views.render(),this},progress:function(){this.$bar&&this.$bar.length&&this.$bar.width(this.model.get("percent")+"%")},toggleSelectionHandler:function(a){var b;a.shiftKey?b="between":(a.ctrlKey||a.metaKey)&&(b="toggle"),this.toggleSelection({method:b})},toggleSelection:function(a){var c,d,e,f,g=this.collection,h=this.options.selection,i=this.model,j=a&&a.method;if(h){if(c=h.single(),j=b.isUndefined(j)?h.multiple:j,"between"===j&&c&&h.multiple){if(c===i)return;return e=g.indexOf(c),f=g.indexOf(this.model),d=f>e?g.models.slice(e,f+1):g.models.slice(f,e+1),h.add(d),void h.single(i)}if("toggle"===j)return h[this.selected()?"remove":"add"](i),void h.single(i);"add"!==j&&(j="reset"),this.selected()?h[c===i?"remove":"single"](i):(h[j](i),h.single(i))}},updateSelect:function(){this[this.selected()?"select":"deselect"]()},selected:function(){var a=this.options.selection;return a?!!a.get(this.model.cid):void 0},select:function(a,b){var c=this.options.selection;!c||b&&b!==c||this.$el.addClass("selected")},deselect:function(a,b){var c=this.options.selection;!c||b&&b!==c||this.$el.removeClass("selected")},details:function(a,b){var c,d=this.options.selection;d===b&&(c=d.single(),this.$el.toggleClass("details",c===this.model))},preventDefault:function(a){a.preventDefault()},imageSize:function(a){var c=this.model.get("sizes");return a=a||"medium",c&&c[a]?b.clone(c[a]):{url:this.model.get("url"),width:this.model.get("width"),height:this.model.get("height"),orientation:this.model.get("orientation")}},updateSetting:function(b){var c,d,e=a(b.target).closest("[data-setting]");e.length&&(c=e.data("setting"),d=b.target.value,this.model.get(c)!==d&&this.save(c,d))},save:function(){var b=this,c=this._save=this._save||{status:"ready"},d=this.model.save.apply(this.model,arguments),e=c.requests?a.when(d,c.requests):d;c.savedTimer&&clearTimeout(c.savedTimer),this.updateSave("waiting"),c.requests=e,e.always(function(){c.requests===e&&(b.updateSave("resolved"===e.state()?"complete":"error"),c.savedTimer=setTimeout(function(){b.updateSave("ready"),delete c.savedTimer},2e3))})},updateSave:function(a){var b=this._save=this._save||{status:"ready"};return a&&a!==b.status&&(this.$el.removeClass("save-"+b.status),b.status=a),this.$el.addClass("save-"+b.status),this},updateAll:function(){var c,d=this.$("[data-setting]"),e=this.model;c=b.chain(d).map(function(b){var c,d,f=a("input, textarea, select, [value]",b);if(f.length)return c=a(b).data("setting"),d=f.val(),e.get(c)!==d?[c,d]:void 0}).compact().object().value(),b.isEmpty(c)||e.save(c)},removeFromLibrary:function(a){a.stopPropagation(),this.collection.remove(this.model)},removeFromSelection:function(a){var b=this.options.selection;b&&(a.stopPropagation(),b.remove(this.model))}}),b.each({caption:"_syncCaption",title:"_syncTitle"},function(a,b){d.view.Attachment.prototype[a]=function(a,c){var d=this.$('[data-setting="'+b+'"]');return d.length?c===d.find("input, textarea, select, [value]").val()?this:this.render():this}}),d.view.Attachment.Library=d.view.Attachment.extend({buttons:{check:!0}}),d.view.Attachment.EditLibrary=d.view.Attachment.extend({buttons:{close:!0}}),d.view.Attachments=d.View.extend({tagName:"ul",className:"attachments",cssTemplate:d.template("attachments-css"),events:{scroll:"scroll"},initialize:function(){this.el.id=b.uniqueId("__attachments-view-"),b.defaults(this.options,{refreshSensitivity:200,refreshThreshold:3,AttachmentView:d.view.Attachment,sortable:!1,resize:!0}),this._viewsByCid={},this.collection.on("add",function(a){this.views.add(this.createAttachmentView(a),{at:this.collection.indexOf(a)})},this),this.collection.on("remove",function(a){var b=this._viewsByCid[a.cid];delete this._viewsByCid[a.cid],b&&b.remove()},this),this.collection.on("reset",this.render,this),this.scroll=b.chain(this.scroll).bind(this).throttle(this.options.refreshSensitivity).value(),this.initSortable(),b.bindAll(this,"css"),this.model.on("change:edge change:gutter",this.css,this),this._resizeCss=b.debounce(b.bind(this.css,this),this.refreshSensitivity),this.options.resize&&a(window).on("resize.attachments",this._resizeCss),this.css()},dispose:function(){this.collection.props.off(null,null,this),a(window).off("resize.attachments",this._resizeCss),d.View.prototype.dispose.apply(this,arguments)},css:function(){var b=a("#"+this.el.id+"-css");b.length&&b.remove(),d.view.Attachments.$head().append(this.cssTemplate({id:this.el.id,edge:this.edge(),gutter:this.model.get("gutter")}))},edge:function(){var a,b,c,d=this.model.get("edge");return this.$el.is(":visible")?(a=2*this.model.get("gutter"),b=this.$el.width()-a,c=Math.ceil(b/(d+a)),d=Math.floor((b-c*a)/c)):d},initSortable:function(){var c=this.collection;this.options.sortable&&a.fn.sortable&&(this.$el.sortable(b.extend({disabled:!!c.comparator,containment:this.$el,tolerance:"pointer",start:function(a,b){b.item.data("sortableIndexStart",b.item.index())},update:function(a,b){var d=c.at(b.item.data("sortableIndexStart")),e=c.comparator;delete c.comparator,c.remove(d,{silent:!0}),c.add(d,{silent:!0,at:b.item.index()}),c.comparator=e,c.trigger("reset",c),c.saveMenuOrder()}},this.options.sortable)),c.props.on("change:orderby",function(){this.$el.sortable("option","disabled",!!c.comparator)},this),this.collection.props.on("change:orderby",this.refreshSortable,this),this.refreshSortable())},refreshSortable:function(){if(this.options.sortable&&a.fn.sortable){var b=this.collection,c=b.props.get("orderby"),d="menuOrder"===c||!b.comparator;this.$el.sortable("option","disabled",!d)}},createAttachmentView:function(a){var b=new this.options.AttachmentView({controller:this.controller,model:a,collection:this.collection,selection:this.options.selection});return this._viewsByCid[a.cid]=b},prepare:function(){this.collection.length?this.views.set(this.collection.map(this.createAttachmentView,this)):(this.views.unset(),this.collection.more().done(this.scroll))},ready:function(){this.scroll()},scroll:function(){var a,b=this;this.$el.is(":visible")&&this.collection.hasMore()&&(a=this.views.parent.toolbar,this.el.scrollHeight-(this.el.scrollTop+this.el.clientHeight)<this.el.clientHeight/3&&a.get("spinner").show(),this.el.scrollHeight<this.el.scrollTop+this.el.clientHeight*this.options.refreshThreshold&&this.collection.more().done(function(){b.scroll(),a.get("spinner").hide()}))}},{$head:function(){var b;return function(){return b=b||a("head")}}()}),d.view.Search=d.View.extend({tagName:"input",className:"search",attributes:{type:"search",placeholder:c.search},events:{input:"search",keyup:"search",change:"search",search:"search"},render:function(){return this.el.value=this.model.escape("search"),this},search:function(a){a.target.value?this.model.set("search",a.target.value):this.model.unset("search")}}),d.view.AttachmentFilters=d.View.extend({tagName:"select",className:"attachment-filters",events:{change:"change"},keys:[],initialize:function(){this.createFilters(),b.extend(this.filters,this.options.filters),this.$el.html(b.chain(this.filters).map(function(b,c){return{el:a("<option></option>").val(c).html(b.text)[0],priority:b.priority||50}},this).sortBy("priority").pluck("el").value()),this.model.on("change",this.select,this),this.select()},createFilters:function(){this.filters={}},change:function(){var a=this.filters[this.el.value];a&&this.model.set(a.props)},select:function(){var a=this.model,c="all",d=a.toJSON();b.find(this.filters,function(a,e){var f=b.all(a.props,function(a,c){return a===(b.isUndefined(d[c])?null:d[c])});return f?c=e:void 0}),this.$el.val(c)}}),d.view.AttachmentFilters.Uploaded=d.view.AttachmentFilters.extend({createFilters:function(){var a,b=this.model.get("type"),e=d.view.settings.mimeTypes;e&&b&&(a=e[b]),this.filters={all:{text:a||c.allMediaItems,props:{uploadedTo:null,orderby:"date",order:"DESC"},priority:10},uploaded:{text:c.uploadedToThisPost,props:{uploadedTo:d.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20}}}}),d.view.AttachmentFilters.All=d.view.AttachmentFilters.extend({createFilters:function(){var a={};b.each(d.view.settings.mimeTypes||{},function(b,c){a[c]={text:b,props:{type:c,uploadedTo:null,orderby:"date",order:"DESC"}}}),a.all={text:c.allMediaItems,props:{type:null,uploadedTo:null,orderby:"date",order:"DESC"},priority:10},a.uploaded={text:c.uploadedToThisPost,props:{type:null,uploadedTo:d.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20},this.filters=a}}),d.view.AttachmentsBrowser=d.View.extend({tagName:"div",className:"attachments-browser",initialize:function(){b.defaults(this.options,{filters:!1,search:!0,display:!1,AttachmentView:d.view.Attachment.Library}),this.createToolbar(),this.updateContent(),this.createSidebar(),this.collection.on("add remove reset",this.updateContent,this)},dispose:function(){return this.options.selection.off(null,null,this),d.View.prototype.dispose.apply(this,arguments),this},createToolbar:function(){var b,e;this.toolbar=new d.view.Toolbar({controller:this.controller}),this.views.add(this.toolbar),b=this.options.filters,"uploaded"===b?e=d.view.AttachmentFilters.Uploaded:"all"===b&&(e=d.view.AttachmentFilters.All),e&&this.toolbar.set("filters",new e({controller:this.controller,model:this.collection.props,priority:-80}).render()),this.toolbar.set("spinner",new d.view.Spinner({priority:-70})),this.options.search&&this.toolbar.set("search",new d.view.Search({controller:this.controller,model:this.collection.props,priority:60}).render()),this.options.dragInfo&&this.toolbar.set("dragInfo",new d.View({el:a('<div class="instructions">'+c.dragInfo+"</div>")[0],priority:-40})),this.options.suggestedWidth&&this.options.suggestedHeight&&this.toolbar.set("suggestedDimensions",new d.View({el:a('<div class="instructions">'+c.suggestedDimensions+" "+this.options.suggestedWidth+" &times; "+this.options.suggestedHeight+"</div>")[0],priority:-40}))
-},updateContent:function(){var a=this;this.attachments||this.createAttachments(),this.collection.length?a.toolbar.get("spinner").hide():(this.toolbar.get("spinner").show(),this.collection.more().done(function(){a.collection.length||a.createUploader(),a.toolbar.get("spinner").hide()}))},removeContent:function(){b.each(["attachments","uploader"],function(a){this[a]&&(this[a].remove(),delete this[a])},this)},createUploader:function(){this.removeContent(),this.uploader=new d.view.UploaderInline({controller:this.controller,status:!1,message:c.noItemsFound}),this.views.add(this.uploader)},createAttachments:function(){this.removeContent(),this.attachments=new d.view.Attachments({controller:this.controller,collection:this.collection,selection:this.options.selection,model:this.model,sortable:this.options.sortable,AttachmentView:this.options.AttachmentView}),this.views.add(this.attachments)},createSidebar:function(){var a=this.options,b=a.selection,c=this.sidebar=new d.view.Sidebar({controller:this.controller});this.views.add(c),this.controller.uploader&&c.set("uploads",new d.view.UploaderStatus({controller:this.controller,priority:40})),b.on("selection:single",this.createSingle,this),b.on("selection:unsingle",this.disposeSingle,this),b.single()&&this.createSingle()},createSingle:function(){var a=this.sidebar,b=this.options.selection.single();a.set("details",new d.view.Attachment.Details({controller:this.controller,model:b,priority:80})),a.set("compat",new d.view.AttachmentCompat({controller:this.controller,model:b,priority:120})),this.options.display&&a.set("display",new d.view.Settings.AttachmentDisplay({controller:this.controller,model:this.model.display(b),attachment:b,priority:160,userSettings:this.model.get("displayUserSettings")}))},disposeSingle:function(){var a=this.sidebar;a.unset("details"),a.unset("compat"),a.unset("display")}}),d.view.Selection=d.View.extend({tagName:"div",className:"media-selection",template:d.template("media-selection"),events:{"click .edit-selection":"edit","click .clear-selection":"clear"},initialize:function(){b.defaults(this.options,{editable:!1,clearable:!0}),this.attachments=new d.view.Attachments.Selection({controller:this.controller,collection:this.collection,selection:this.collection,model:new Backbone.Model({edge:40,gutter:5})}),this.views.set(".selection-view",this.attachments),this.collection.on("add remove reset",this.refresh,this),this.controller.on("content:activate",this.refresh,this)},ready:function(){this.refresh()},refresh:function(){if(this.$el.children().length){var a=this.collection,b="edit-selection"===this.controller.content.mode();this.$el.toggleClass("empty",!a.length),this.$el.toggleClass("one",1===a.length),this.$el.toggleClass("editing",b),this.$(".count").text(c.selected.replace("%d",a.length))}},edit:function(a){a.preventDefault(),this.options.editable&&this.options.editable.call(this,this.collection)},clear:function(a){a.preventDefault(),this.collection.reset()}}),d.view.Attachment.Selection=d.view.Attachment.extend({className:"attachment selection",toggleSelection:function(){this.options.selection.single(this.model)}}),d.view.Attachments.Selection=d.view.Attachments.extend({events:{},initialize:function(){return b.defaults(this.options,{sortable:!0,resize:!1,AttachmentView:d.view.Attachment.Selection}),d.view.Attachments.prototype.initialize.apply(this,arguments)}}),d.view.Attachment.EditSelection=d.view.Attachment.Selection.extend({buttons:{close:!0}}),d.view.Settings=d.View.extend({events:{"click button":"updateHandler","change input":"updateHandler","change select":"updateHandler","change textarea":"updateHandler"},initialize:function(){this.model=this.model||new Backbone.Model,this.model.on("change",this.updateChanges,this)},prepare:function(){return b.defaults({model:this.model.toJSON()},this.options)},render:function(){return d.View.prototype.render.apply(this,arguments),b(this.model.attributes).chain().keys().each(this.update,this),this},update:function(a){var b,c,d=this.model.get(a),e=this.$('[data-setting="'+a+'"]');e.length&&(e.is("select")?(c=e.find('[value="'+d+'"]'),c.length?(e.find("option").prop("selected",!1),c.prop("selected",!0)):this.model.set(a,e.find(":selected").val())):e.hasClass("button-group")?(b=e.find("button").removeClass("active"),b.filter('[value="'+d+'"]').addClass("active")):e.is('input[type="text"], textarea')?e.is(":focus")||e.val(d):e.is('input[type="checkbox"]')&&e.prop("checked",!!d))},updateHandler:function(b){var c,d=a(b.target).closest("[data-setting]"),e=b.target.value;b.preventDefault(),d.length&&(d.is('input[type="checkbox"]')&&(e=d[0].checked),this.model.set(d.data("setting"),e),(c=d.data("userSetting"))&&setUserSetting(c,e))},updateChanges:function(a){a.hasChanged()&&b(a.changed).chain().keys().each(this.update,this)}}),d.view.Settings.AttachmentDisplay=d.view.Settings.extend({className:"attachment-display-settings",template:d.template("attachment-display-settings"),initialize:function(){var a=this.options.attachment;b.defaults(this.options,{userSettings:!1}),d.view.Settings.prototype.initialize.apply(this,arguments),this.model.on("change:link",this.updateLinkTo,this),a&&a.on("change:uploading",this.render,this)},dispose:function(){var a=this.options.attachment;a&&a.off(null,null,this),d.view.Settings.prototype.dispose.apply(this,arguments)},render:function(){var a=this.options.attachment;return a&&b.extend(this.options,{sizes:a.get("sizes"),type:a.get("type")}),d.view.Settings.prototype.render.call(this),this.updateLinkTo(),this},updateLinkTo:function(){var a=this.model.get("link"),b=this.$(".link-to-custom"),c=this.options.attachment;return"none"===a||"embed"===a||!c&&"custom"!==a?void b.addClass("hidden"):(c&&("post"===a?b.val(c.get("link")):"file"===a?b.val(c.get("url")):this.model.get("linkUrl")||b.val("http://"),b.prop("readonly","custom"!==a)),b.removeClass("hidden"),void(b.is(":visible")&&b.focus()[0].select()))}}),d.view.Settings.Gallery=d.view.Settings.extend({className:"collection-settings gallery-settings",template:d.template("gallery-settings")}),d.view.Settings.Playlist=d.view.Settings.extend({className:"collection-settings playlist-settings",template:d.template("playlist-settings")}),d.view.Attachment.Details=d.view.Attachment.extend({tagName:"div",className:"attachment-details",template:d.template("attachment-details"),events:{"change [data-setting]":"updateSetting","change [data-setting] input":"updateSetting","change [data-setting] select":"updateSetting","change [data-setting] textarea":"updateSetting","click .delete-attachment":"deleteAttachment","click .trash-attachment":"trashAttachment","click .edit-attachment":"editAttachment","click .refresh-attachment":"refreshAttachment"},initialize:function(){this.focusManager=new d.view.FocusManager({el:this.el}),d.view.Attachment.prototype.initialize.apply(this,arguments)},render:function(){return d.view.Attachment.prototype.render.apply(this,arguments),this.focusManager.focus(),this},deleteAttachment:function(a){a.preventDefault(),confirm(c.warnDelete)&&this.model.destroy()},trashAttachment:function(a){a.preventDefault(),this.model.destroy()},editAttachment:function(a){var b=this.controller.states.get("edit-image");window.imageEdit&&b?(a.preventDefault(),b.set("image",this.model),this.controller.setState("edit-image")):this.$el.addClass("needs-refresh")},refreshAttachment:function(a){this.$el.removeClass("needs-refresh"),a.preventDefault(),this.model.fetch()}}),d.view.AttachmentCompat=d.View.extend({tagName:"form",className:"compat-item",events:{submit:"preventDefault","change input":"save","change select":"save","change textarea":"save"},initialize:function(){this.focusManager=new d.view.FocusManager({el:this.el}),this.model.on("change:compat",this.render,this)},dispose:function(){return this.$(":focus").length&&this.save(),d.View.prototype.dispose.apply(this,arguments)},render:function(){var a=this.model.get("compat");if(a&&a.item)return this.views.detach(),this.$el.html(a.item),this.views.render(),this.focusManager.focus(),this},preventDefault:function(a){a.preventDefault()},save:function(a){var c={};a&&a.preventDefault(),b.each(this.$el.serializeArray(),function(a){c[a.name]=a.value}),this.model.saveCompat(c)}}),d.view.Iframe=d.View.extend({className:"media-iframe",render:function(){return this.views.detach(),this.$el.html('<iframe src="'+this.controller.state().get("src")+'" />'),this.views.render(),this}}),d.view.Embed=d.View.extend({className:"media-embed",initialize:function(){this.url=new d.view.EmbedUrl({controller:this.controller,model:this.model.props}).render(),this.views.set([this.url]),this.refresh(),this.model.on("change:type",this.refresh,this),this.model.on("change:loading",this.loading,this)},settings:function(a){this._settings&&this._settings.remove(),this._settings=a,this.views.add(a)},refresh:function(){var a,b=this.model.get("type");if("image"===b)a=d.view.EmbedImage;else{if("link"!==b)return;a=d.view.EmbedLink}this.settings(new a({controller:this.controller,model:this.model.props,priority:40}))},loading:function(){this.$el.toggleClass("embed-loading",this.model.get("loading"))}}),d.view.EmbedUrl=d.View.extend({tagName:"label",className:"embed-url",events:{input:"url",keyup:"url",change:"url"},initialize:function(){this.$input=a("<input/>").attr("type","text").val(this.model.get("url")),this.input=this.$input[0],this.spinner=a('<span class="spinner" />')[0],this.$el.append([this.input,this.spinner]),this.model.on("change:url",this.render,this)},render:function(){var a=this.$input;if(!a.is(":focus"))return this.input.value=this.model.get("url")||"http://",d.View.prototype.render.apply(this,arguments),this},ready:function(){this.focus()},url:function(a){this.model.set("url",a.target.value)},focus:function(){var a=this.$input;a.is(":visible")&&a.focus()[0].select()}}),d.view.EmbedLink=d.view.Settings.extend({className:"embed-link-settings",template:d.template("embed-link-settings")}),d.view.EmbedImage=d.view.Settings.AttachmentDisplay.extend({className:"embed-media-settings",template:d.template("embed-image-settings"),initialize:function(){d.view.Settings.AttachmentDisplay.prototype.initialize.apply(this,arguments),this.model.on("change:url",this.updateImage,this)},updateImage:function(){this.$("img").attr("src",this.model.get("url"))}}),d.view.ImageDetails=d.view.Settings.AttachmentDisplay.extend({className:"image-details",template:d.template("image-details"),events:b.defaults(d.view.Settings.AttachmentDisplay.prototype.events,{"click .edit-attachment":"editAttachment","click .replace-attachment":"replaceAttachment","click .advanced-toggle":"onToggleAdvanced",'change [data-setting="customWidth"]':"onCustomSize",'change [data-setting="customHeight"]':"onCustomSize",'keyup [data-setting="customWidth"]':"onCustomSize",'keyup [data-setting="customHeight"]':"onCustomSize"}),initialize:function(){this.options.attachment=this.model.attachment,this.listenTo(this.model,"change:url",this.updateUrl),this.listenTo(this.model,"change:link",this.toggleLinkSettings),this.listenTo(this.model,"change:size",this.toggleCustomSize),d.view.Settings.AttachmentDisplay.prototype.initialize.apply(this,arguments)},prepare:function(){var a=!1;return this.model.attachment&&(a=this.model.attachment.toJSON()),b.defaults({model:this.model.toJSON(),attachment:a},this.options)},render:function(){var a=this,b=arguments;return this.model.attachment&&"pending"===this.model.dfd.state()?this.model.dfd.done(function(){d.view.Settings.AttachmentDisplay.prototype.render.apply(a,b),a.postRender()}).fail(function(){a.model.attachment=!1,d.view.Settings.AttachmentDisplay.prototype.render.apply(a,b),a.postRender()}):(d.view.Settings.AttachmentDisplay.prototype.render.apply(this,arguments),this.postRender()),this},postRender:function(){setTimeout(b.bind(this.resetFocus,this),10),this.toggleLinkSettings(),"show"===getUserSetting("advImgDetails")&&this.toggleAdvanced(!0),this.trigger("post-render")},resetFocus:function(){this.$(".link-to-custom").blur(),this.$(".embed-media-settings").scrollTop(0)},updateUrl:function(){this.$(".image img").attr("src",this.model.get("url")),this.$(".url").val(this.model.get("url"))},toggleLinkSettings:function(){"none"===this.model.get("link")?this.$(".link-settings").addClass("hidden"):this.$(".link-settings").removeClass("hidden")},toggleCustomSize:function(){"custom"!==this.model.get("size")?this.$(".custom-size").addClass("hidden"):this.$(".custom-size").removeClass("hidden")},onCustomSize:function(b){var c,d=a(b.target).data("setting"),e=a(b.target).val();return!/^\d+/.test(e)||parseInt(e,10)<1?void b.preventDefault():void("customWidth"===d?(c=Math.round(1/this.model.get("aspectRatio")*e),this.model.set("customHeight",c,{silent:!0}),this.$('[data-setting="customHeight"]').val(c)):(c=Math.round(this.model.get("aspectRatio")*e),this.model.set("customWidth",c,{silent:!0}),this.$('[data-setting="customWidth"]').val(c)))},onToggleAdvanced:function(a){a.preventDefault(),this.toggleAdvanced()},toggleAdvanced:function(a){var b,c=this.$el.find(".advanced-section");c.hasClass("advanced-visible")||a===!1?(c.removeClass("advanced-visible"),c.find(".advanced-settings").addClass("hidden"),b="hide"):(c.addClass("advanced-visible"),c.find(".advanced-settings").removeClass("hidden"),b="show"),setUserSetting("advImgDetails",b)},editAttachment:function(a){var b=this.controller.states.get("edit-image");window.imageEdit&&b&&(a.preventDefault(),b.set("image",this.model.attachment),this.controller.setState("edit-image"))},replaceAttachment:function(a){a.preventDefault(),this.controller.setState("replace-image")}}),d.view.Cropper=d.View.extend({className:"crop-content",template:d.template("crop-content"),initialize:function(){b.bindAll(this,"onImageLoad")},ready:function(){this.controller.frame.on("content:error:crop",this.onError,this),this.$image=this.$el.find(".crop-image"),this.$image.on("load",this.onImageLoad),a(window).on("resize.cropper",b.debounce(this.onImageLoad,250))},remove:function(){a(window).off("resize.cropper"),this.$el.remove(),this.$el.off(),wp.media.View.prototype.remove.apply(this,arguments)},prepare:function(){return{title:c.cropYourImage,url:this.options.attachment.get("url")}},onImageLoad:function(){var a=this.controller.get("imgSelectOptions");"function"==typeof a&&(a=a(this.options.attachment,this.controller)),a=b.extend(a,{parent:this.$el}),this.trigger("image-loaded"),this.controller.imgSelect=this.$image.imgAreaSelect(a)},onError:function(){var a=this.options.attachment.get("filename");this.views.add(".upload-errors",new d.view.UploaderStatusError({filename:d.view.UploaderStatus.prototype.filename(a),message:_wpMediaViewsL10n.cropError}),{at:0})}}),d.view.EditImage=d.View.extend({className:"image-editor",template:d.template("image-editor"),initialize:function(a){this.editor=window.imageEdit,this.controller=a.controller,d.View.prototype.initialize.apply(this,arguments)},prepare:function(){return this.model.toJSON()},render:function(){return d.View.prototype.render.apply(this,arguments),this},loadEditor:function(){this.editor.open(this.model.get("id"),this.model.get("nonces").edit,this)},back:function(){var a=this.controller.lastState();this.controller.setState(a)},refresh:function(){this.model.fetch()},save:function(){var a=this,b=this.controller.lastState();this.model.fetch().done(function(){a.controller.setState(b)})}}),d.view.Spinner=d.View.extend({tagName:"span",className:"spinner",spinnerTimeout:!1,delay:400,show:function(){return this.spinnerTimeout||(this.spinnerTimeout=b.delay(function(a){a.show()},this.delay,this.$el)),this},hide:function(){return this.$el.hide(),this.spinnerTimeout=clearTimeout(this.spinnerTimeout),this}})}(jQuery,_);
\ No newline at end of file
+!function(a,b){var c,d=wp.media,e="ontouchend"in document;c=d.view.l10n="undefined"==typeof _wpMediaViewsL10n?{}:_wpMediaViewsL10n,d.view.settings=c.settings||{},delete c.settings,d.model.settings.post=d.view.settings.post,a.support.transition=function(){var a,c=document.documentElement.style,d={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};return a=b.find(b.keys(d),function(a){return!b.isUndefined(c[a])}),a&&{end:d[a]}}(),d.events=b.extend({},Backbone.Events),d.transition=function(c,d){var e=a.Deferred();return d=d||2e3,a.support.transition?(c instanceof a||(c=a(c)),c.first().one(a.support.transition.end,e.resolve),b.delay(e.resolve,d)):e.resolve(),e.promise()},d.controller.Region=function(a){b.extend(this,b.pick(a||{},"id","view","selector"))},d.controller.Region.extend=Backbone.Model.extend,b.extend(d.controller.Region.prototype,{mode:function(a){return a?a===this._mode?this:(this.trigger("deactivate"),this._mode=a,this.render(a),this.trigger("activate"),this):this._mode},render:function(a){if(a&&a!==this._mode)return this.mode(a);var b,c={view:null};return this.trigger("create",c),b=c.view,this.trigger("render",b),b&&this.set(b),this},get:function(){return this.view.views.first(this.selector)},set:function(a,b){return b&&(b.add=!1),this.view.views.set(this.selector,a,b)},trigger:function(a){var c,d;if(this._mode)return d=b.toArray(arguments),c=this.id+":"+a,d[0]=c+":"+this._mode,this.view.trigger.apply(this.view,d),d[0]=c,this.view.trigger.apply(this.view,d),this}}),d.controller.StateMachine=function(a){this.states=new Backbone.Collection(a)},d.controller.StateMachine.extend=Backbone.Model.extend,b.extend(d.controller.StateMachine.prototype,Backbone.Events,{state:function(a){return this.states=this.states||new Backbone.Collection,a=a||this._state,a&&!this.states.get(a)&&this.states.add({id:a}),this.states.get(a)},setState:function(a){var b=this.state();return b&&a===b.id||!this.states||!this.states.get(a)?this:(b&&(b.trigger("deactivate"),this._lastState=b.id),this._state=a,this.state().trigger("activate"),this)},lastState:function(){return this._lastState?this.state(this._lastState):void 0}}),b.each(["on","off","trigger"],function(a){d.controller.StateMachine.prototype[a]=function(){return this.states=this.states||new Backbone.Collection,this.states[a].apply(this.states,arguments),this}}),d.controller.State=Backbone.Model.extend({constructor:function(){this.on("activate",this._preActivate,this),this.on("activate",this.activate,this),this.on("activate",this._postActivate,this),this.on("deactivate",this._deactivate,this),this.on("deactivate",this.deactivate,this),this.on("reset",this.reset,this),this.on("ready",this._ready,this),this.on("ready",this.ready,this),Backbone.Model.apply(this,arguments),this.on("change:menu",this._updateMenu,this)},ready:function(){},activate:function(){},deactivate:function(){},reset:function(){},_ready:function(){this._updateMenu()},_preActivate:function(){this.active=!0},_postActivate:function(){this.on("change:menu",this._menu,this),this.on("change:titleMode",this._title,this),this.on("change:content",this._content,this),this.on("change:toolbar",this._toolbar,this),this.frame.on("title:render:default",this._renderTitle,this),this._title(),this._menu(),this._toolbar(),this._content(),this._router()},_deactivate:function(){this.active=!1,this.frame.off("title:render:default",this._renderTitle,this),this.off("change:menu",this._menu,this),this.off("change:titleMode",this._title,this),this.off("change:content",this._content,this),this.off("change:toolbar",this._toolbar,this)},_title:function(){this.frame.title.render(this.get("titleMode")||"default")},_renderTitle:function(a){a.$el.text(this.get("title")||"")},_router:function(){var a,b=this.frame.router,c=this.get("router");this.frame.$el.toggleClass("hide-router",!c),c&&(this.frame.router.render(c),a=b.get(),a&&a.select&&a.select(this.frame.content.mode()))},_menu:function(){var a,b=this.frame.menu,c=this.get("menu");this.frame.$el.toggleClass("hide-menu",!c),c&&(b.mode(c),a=b.get(),a&&a.select&&a.select(this.id))},_updateMenu:function(){var a=this.previous("menu"),b=this.get("menu");a&&this.frame.off("menu:render:"+a,this._renderMenu,this),b&&this.frame.on("menu:render:"+b,this._renderMenu,this)},_renderMenu:function(a){var b=this.get("menuItem"),c=this.get("title"),d=this.get("priority");!b&&c&&(b={text:c},d&&(b.priority=d)),b&&a.set(this.id,b)}}),b.each(["toolbar","content"],function(a){d.controller.State.prototype["_"+a]=function(){var b=this.get(a);b&&this.frame[a].render(b)}}),d.selectionSync={syncSelection:function(){var a=this.get("selection"),c=this.frame._selection;this.get("syncSelection")&&c&&a&&(a.multiple&&(a.reset([],{silent:!0}),a.validateAll(c.attachments),c.difference=b.difference(c.attachments.models,a.models)),a.single(c.single))},recordSelection:function(){var a=this.get("selection"),b=this.frame._selection;this.get("syncSelection")&&b&&a&&(a.multiple?(b.attachments.reset(a.toArray().concat(b.difference)),b.difference=[]):b.attachments.add(a.toArray()),b.single=a._single)}},d.controller.Library=d.controller.State.extend({defaults:{id:"library",title:c.mediaLibraryTitle,multiple:!1,content:"upload",menu:"default",router:"browse",toolbar:"select",searchable:!0,filterable:!1,sortable:!0,autoSelect:!0,describe:!1,contentUserSetting:!0,syncSelection:!0},initialize:function(){var a,c=this.get("selection");this.get("library")||this.set("library",d.query()),c instanceof d.model.Selection||(a=c,a||(a=this.get("library").props.toJSON(),a=b.omit(a,"orderby","query")),this.set("selection",new d.model.Selection(null,{multiple:this.get("multiple"),props:a}))),this.resetDisplays()},activate:function(){this.syncSelection(),wp.Uploader.queue.on("add",this.uploading,this),this.get("selection").on("add remove reset",this.refreshContent,this),this.get("router")&&this.get("contentUserSetting")&&(this.frame.on("content:activate",this.saveContentMode,this),this.set("content",getUserSetting("libraryContent",this.get("content"))))},deactivate:function(){this.recordSelection(),this.frame.off("content:activate",this.saveContentMode,this),this.get("selection").off(null,null,this),wp.Uploader.queue.off(null,null,this)},reset:function(){this.get("selection").reset(),this.resetDisplays(),this.refreshContent()},resetDisplays:function(){var a=d.view.settings.defaultProps;this._displays=[],this._defaultDisplaySettings={align:a.align||getUserSetting("align","none"),size:a.size||getUserSetting("imgsize","medium"),link:a.link||getUserSetting("urlbutton","file")}},display:function(a){var b=this._displays;return b[a.cid]||(b[a.cid]=new Backbone.Model(this.defaultDisplaySettings(a))),b[a.cid]},defaultDisplaySettings:function(a){var b=this._defaultDisplaySettings;return(b.canEmbed=this.canEmbed(a))&&(b.link="embed"),b},canEmbed:function(a){if(!a.get("uploading")){var c=a.get("type");if("audio"!==c&&"video"!==c)return!1}return b.contains(d.view.settings.embedExts,a.get("filename").split(".").pop())},refreshContent:function(){var a=this.get("selection"),b=this.frame,c=b.router.get(),d=b.content.mode();this.active&&!a.length&&c&&!c.get(d)&&this.frame.content.render(this.get("content"))},uploading:function(a){var b=this.frame.content;"upload"===b.mode()&&this.frame.content.mode("browse"),this.get("autoSelect")&&(this.get("selection").add(a),this.frame.trigger("library:selection:add"))},saveContentMode:function(){if("browse"===this.get("router")){var a=this.frame.content.mode(),b=this.frame.router.get();b&&b.get(a)&&setUserSetting("libraryContent",a)}}}),b.extend(d.controller.Library.prototype,d.selectionSync),d.controller.ImageDetails=d.controller.State.extend({defaults:b.defaults({id:"image-details",title:c.imageDetailsTitle,content:"image-details",menu:!1,router:!1,toolbar:"image-details",editing:!1,priority:60},d.controller.Library.prototype.defaults),initialize:function(a){this.image=a.image,d.controller.State.prototype.initialize.apply(this,arguments)},activate:function(){this.frame.modal.$el.addClass("image-details")}}),d.controller.GalleryEdit=d.controller.Library.extend({defaults:{id:"gallery-edit",title:c.editGalleryTitle,multiple:!1,searchable:!1,sortable:!0,display:!1,content:"browse",toolbar:"gallery-edit",describe:!0,displaySettings:!0,dragInfo:!0,idealColumnWidth:170,editing:!1,priority:60,syncSelection:!1},initialize:function(){this.get("library")||this.set("library",new d.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",d.view.Attachment.EditLibrary),d.controller.Library.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library");a.props.set("type","image"),this.get("library").observe(wp.Uploader.queue),this.frame.on("content:render:browse",this.gallerySettings,this),d.controller.Library.prototype.activate.apply(this,arguments)},deactivate:function(){this.get("library").unobserve(wp.Uploader.queue),this.frame.off("content:render:browse",this.gallerySettings,this),d.controller.Library.prototype.deactivate.apply(this,arguments)},gallerySettings:function(a){if(this.get("displaySettings")){var b=this.get("library");b&&a&&(b.gallery=b.gallery||new Backbone.Model,a.sidebar.set({gallery:new d.view.Settings.Gallery({controller:this,model:b.gallery,priority:40})}),a.toolbar.set("reverse",{text:c.reverseOrder,priority:80,click:function(){b.reset(b.toArray().reverse())}}))}}}),d.controller.GalleryAdd=d.controller.Library.extend({defaults:b.defaults({id:"gallery-library",title:c.addToGalleryTitle,multiple:"add",filterable:"uploaded",menu:"gallery",toolbar:"gallery-add",priority:100,syncSelection:!1},d.controller.Library.prototype.defaults),initialize:function(){this.get("library")||this.set("library",d.query({type:"image"})),d.controller.Library.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library"),b=this.frame.state("gallery-edit").get("library");this.editLibrary&&this.editLibrary!==b&&a.unobserve(this.editLibrary),a.validator=function(a){return!!this.mirroring.get(a.cid)&&!b.get(a.cid)&&d.model.Selection.prototype.validator.apply(this,arguments)},a.reset(a.mirroring.models,{silent:!0}),a.observe(b),this.editLibrary=b,d.controller.Library.prototype.activate.apply(this,arguments)}}),d.controller.CollectionEdit=d.controller.Library.extend({defaults:{multiple:!1,sortable:!0,searchable:!1,content:"browse",describe:!0,dragInfo:!0,idealColumnWidth:170,editing:!1,priority:60,SettingsView:!1,syncSelection:!1},initialize:function(){var a=this.get("collectionType");"video"===this.get("type")&&(a="video-"+a),this.set("id",a+"-edit"),this.set("toolbar",a+"-edit"),this.get("library")||this.set("library",new d.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",d.view.Attachment.EditLibrary),d.controller.Library.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library");a.props.set("type",this.get("type")),this.get("library").observe(wp.Uploader.queue),this.frame.on("content:render:browse",this.renderSettings,this),d.controller.Library.prototype.activate.apply(this,arguments)},deactivate:function(){this.get("library").unobserve(wp.Uploader.queue),this.frame.off("content:render:browse",this.renderSettings,this),d.controller.Library.prototype.deactivate.apply(this,arguments)},renderSettings:function(b){var e=this.get("library"),f=this.get("collectionType"),g=this.get("dragInfoText"),h=this.get("SettingsView"),i={};e&&b&&(e[f]=e[f]||new Backbone.Model,i[f]=new h({controller:this,model:e[f],priority:40}),b.sidebar.set(i),g&&b.toolbar.set("dragInfo",new d.View({el:a('<div class="instructions">'+g+"</div>")[0],priority:-40})),b.toolbar.set("reverse",{text:c.reverseOrder,priority:80,click:function(){e.reset(e.toArray().reverse())}}))}}),d.controller.CollectionAdd=d.controller.Library.extend({defaults:b.defaults({multiple:"add",filterable:"uploaded",priority:100,syncSelection:!1},d.controller.Library.prototype.defaults),initialize:function(){var a=this.get("collectionType");"video"===this.get("type")&&(a="video-"+a),this.set("id",a+"-library"),this.set("toolbar",a+"-add"),this.set("menu",a),this.get("library")||this.set("library",d.query({type:this.get("type")})),d.controller.Library.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library"),b=this.get("editLibrary"),c=this.frame.state(this.get("collectionType")+"-edit").get("library");b&&b!==c&&a.unobserve(b),a.validator=function(a){return!!this.mirroring.get(a.cid)&&!c.get(a.cid)&&d.model.Selection.prototype.validator.apply(this,arguments)},a.reset(a.mirroring.models,{silent:!0}),a.observe(c),this.set("editLibrary",c),d.controller.Library.prototype.activate.apply(this,arguments)}}),d.controller.FeaturedImage=d.controller.Library.extend({defaults:b.defaults({id:"featured-image",title:c.setFeaturedImageTitle,multiple:!1,filterable:"uploaded",toolbar:"featured-image",priority:60,syncSelection:!0},d.controller.Library.prototype.defaults),initialize:function(){var a,b;this.get("library")||this.set("library",d.query({type:"image"})),d.controller.Library.prototype.initialize.apply(this,arguments),a=this.get("library"),b=a.comparator,a.comparator=function(a,c){var d=!!this.mirroring.get(a.cid),e=!!this.mirroring.get(c.cid);return!d&&e?-1:d&&!e?1:b.apply(this,arguments)},a.observe(this.get("selection"))},activate:function(){this.updateSelection(),this.frame.on("open",this.updateSelection,this),d.controller.Library.prototype.activate.apply(this,arguments)},deactivate:function(){this.frame.off("open",this.updateSelection,this),d.controller.Library.prototype.deactivate.apply(this,arguments)},updateSelection:function(){var a,b=this.get("selection"),c=d.view.settings.post.featuredImageId;""!==c&&-1!==c&&(a=d.model.Attachment.get(c),a.fetch()),b.reset(a?[a]:[])}}),d.controller.ReplaceImage=d.controller.Library.extend({defaults:b.defaults({id:"replace-image",title:c.replaceImageTitle,multiple:!1,filterable:"uploaded",toolbar:"replace",menu:!1,priority:60,syncSelection:!0},d.controller.Library.prototype.defaults),initialize:function(a){var b,c;this.image=a.image,this.get("library")||this.set("library",d.query({type:"image"})),d.controller.Library.prototype.initialize.apply(this,arguments),b=this.get("library"),c=b.comparator,b.comparator=function(a,b){var d=!!this.mirroring.get(a.cid),e=!!this.mirroring.get(b.cid);return!d&&e?-1:d&&!e?1:c.apply(this,arguments)},b.observe(this.get("selection"))},activate:function(){this.updateSelection(),d.controller.Library.prototype.activate.apply(this,arguments)},updateSelection:function(){var a=this.get("selection"),b=this.image.attachment;a.reset(b?[b]:[])}}),d.controller.EditImage=d.controller.State.extend({defaults:{id:"edit-image",title:c.editImage,menu:!1,toolbar:"edit-image",content:"edit-image",url:""},activate:function(){this.listenTo(this.frame,"toolbar:render:edit-image",this.toolbar)},deactivate:function(){this.stopListening(this.frame)},toolbar:function(){var a=this.frame,b=a.lastState(),e=b&&b.id;a.toolbar.set(new d.view.Toolbar({controller:a,items:{back:{style:"primary",text:c.back,priority:20,click:function(){e?a.setState(e):a.close()}}}}))}}),d.controller.MediaLibrary=d.controller.Library.extend({defaults:b.defaults({filterable:"uploaded",displaySettings:!1,priority:80,syncSelection:!1},d.controller.Library.prototype.defaults),initialize:function(a){this.media=a.media,this.type=a.type,this.set("library",d.query({type:this.type})),d.controller.Library.prototype.initialize.apply(this,arguments)},activate:function(){d.frame.lastMime&&(this.set("library",d.query({type:d.frame.lastMime})),delete d.frame.lastMime),d.controller.Library.prototype.activate.apply(this,arguments)}}),d.controller.Embed=d.controller.State.extend({defaults:{id:"embed",title:c.insertFromUrlTitle,content:"embed",menu:"default",toolbar:"main-embed",priority:120,type:"link",url:"",metadata:{}},sensitivity:200,initialize:function(a){this.metadata=a.metadata,this.debouncedScan=b.debounce(b.bind(this.scan,this),this.sensitivity),this.props=new Backbone.Model(this.metadata||{url:""}),this.props.on("change:url",this.debouncedScan,this),this.props.on("change:url",this.refresh,this),this.on("scan",this.scanImage,this)},scan:function(){var b,c=this,d={type:"link",scanners:[]};this.props.get("url")&&this.trigger("scan",d),d.scanners.length?(b=d.scanners=a.when.apply(a,d.scanners),b.always(function(){c.get("scanners")===b&&c.set("loading",!1)})):d.scanners=null,d.loading=!!d.scanners,this.set(d)},scanImage:function(b){var c=this.frame,d=this,e=this.props.get("url"),f=new Image,g=a.Deferred();b.scanners.push(g.promise()),f.onload=function(){g.resolve(),d===c.state()&&e===d.props.get("url")&&(d.set({type:"image"}),d.props.set({width:f.width,height:f.height}))},f.onerror=g.reject,f.src=e},refresh:function(){this.frame.toolbar.get().refresh()},reset:function(){this.props.clear().set({url:""}),this.active&&this.refresh()}}),d.controller.Cropper=d.controller.State.extend({defaults:{id:"cropper",title:c.cropImage,toolbar:"crop",content:"crop",router:!1,canSkipCrop:!1},activate:function(){this.frame.on("content:create:crop",this.createCropContent,this),this.frame.on("close",this.removeCropper,this),this.set("selection",new Backbone.Collection(this.frame._selection.single))},deactivate:function(){this.frame.toolbar.mode("browse")},createCropContent:function(){this.cropperView=new wp.media.view.Cropper({controller:this,attachment:this.get("selection").first()}),this.cropperView.on("image-loaded",this.createCropToolbar,this),this.frame.content.set(this.cropperView)},removeCropper:function(){this.imgSelect.cancelSelection(),this.imgSelect.setOptions({remove:!0}),this.imgSelect.update(),this.cropperView.remove()},createCropToolbar:function(){var a,d;a=this.get("canSkipCrop")||!1,d={controller:this.frame,items:{insert:{style:"primary",text:c.cropImage,priority:80,requires:{library:!1,selection:!1},click:function(){var a=this,b=this.controller.state().get("selection").first();b.set({cropDetails:this.controller.state().imgSelect.getSelection()}),this.$el.text(c.cropping),this.$el.attr("disabled",!0),this.controller.state().doCrop(b).done(function(b){a.controller.trigger("cropped",b),a.controller.close()}).fail(function(){a.controller.trigger("content:error:crop")})}}}},a&&b.extend(d.items,{skip:{style:"secondary",text:c.skipCropping,priority:70,requires:{library:!1,selection:!1},click:function(){var a=this.controller.state().get("selection").first();this.controller.state().cropperView.remove(),this.controller.trigger("skippedcrop",a),this.controller.close()}}}),this.frame.toolbar.set(new wp.media.view.Toolbar(d))},doCrop:function(a){return wp.ajax.post("custom-header-crop",{nonce:a.get("nonces").edit,id:a.get("id"),cropDetails:a.get("cropDetails")})}}),d.View=wp.Backbone.View.extend({constructor:function(a){a&&a.controller&&(this.controller=a.controller),wp.Backbone.View.apply(this,arguments)},dispose:function(){return this.undelegateEvents(),this.model&&this.model.off&&this.model.off(null,null,this),this.collection&&this.collection.off&&this.collection.off(null,null,this),this.controller&&this.controller.off&&this.controller.off(null,null,this),this},remove:function(){return this.dispose(),wp.Backbone.View.prototype.remove.apply(this,arguments)}}),d.view.Frame=d.View.extend({initialize:function(){b.defaults(this.options,{mode:["select"]}),this._createRegions(),this._createStates(),this._createModes()},_createRegions:function(){this.regions=this.regions?this.regions.slice():[],b.each(this.regions,function(a){this[a]=new d.controller.Region({view:this,id:a,selector:".media-frame-"+a})},this)},_createStates:function(){this.states=new Backbone.Collection(null,{model:d.controller.State}),this.states.on("add",function(a){a.frame=this,a.trigger("ready")},this),this.options.states&&this.states.add(this.options.states)},_createModes:function(){this.activeModes=new Backbone.Collection,this.activeModes.on("add remove reset",b.bind(this.triggerModeEvents,this)),b.each(this.options.mode,function(a){this.activateMode(a)},this)},reset:function(){return this.states.invoke("trigger","reset"),this},triggerModeEvents:function(a,c,d){var e,f,g={add:"activate",remove:"deactivate"};b.each(d,function(a,b){a&&(e=b)}),b.has(g,e)&&(f=a.get("id")+":"+g[e],this.trigger(f))},activateMode:function(a){return this.isModeActive(a)?void 0:(this.activeModes.add([{id:a}]),this.$el.addClass("mode-"+a),this)},deactivateMode:function(a){return this.isModeActive(a)?(this.activeModes.remove(this.activeModes.where({id:a})),this.$el.removeClass("mode-"+a),this.trigger(a+":deactivate"),this):this},isModeActive:function(a){return Boolean(this.activeModes.where({id:a}).length)}}),b.extend(d.view.Frame.prototype,d.controller.StateMachine.prototype),d.view.MediaFrame=d.view.Frame.extend({className:"media-frame",template:d.template("media-frame"),regions:["menu","title","content","toolbar","router"],events:{"click div.media-frame-title h1":"toggleMenu"},initialize:function(){d.view.Frame.prototype.initialize.apply(this,arguments),b.defaults(this.options,{title:"",modal:!0,uploader:!0}),this.$el.addClass("wp-core-ui"),this.options.modal&&(this.modal=new d.view.Modal({controller:this,title:this.options.title}),this.modal.content(this)),(wp.Uploader.limitExceeded||!wp.Uploader.browser.supported)&&(this.options.uploader=!1),this.options.uploader&&(this.uploader=new d.view.UploaderWindow({controller:this,uploader:{dropzone:this.modal?this.modal.$el:this.$el,container:this.$el}}),this.views.set(".media-frame-uploader",this.uploader)),this.on("attach",b.bind(this.views.ready,this.views),this),this.on("title:create:default",this.createTitle,this),this.title.mode("default"),this.on("title:render",function(a){a.$el.append('<span class="dashicons dashicons-arrow-down"></span>')}),this.on("menu:create:default",this.createMenu,this)},render:function(){return!this.state()&&this.options.state&&this.setState(this.options.state),d.view.Frame.prototype.render.apply(this,arguments)},createTitle:function(a){a.view=new d.View({controller:this,tagName:"h1"})},createMenu:function(a){a.view=new d.view.Menu({controller:this})},toggleMenu:function(){this.$el.find(".media-menu").toggleClass("visible")},createToolbar:function(a){a.view=new d.view.Toolbar({controller:this})},createRouter:function(a){a.view=new d.view.Router({controller:this})},createIframeStates:function(c){var e,f=d.view.settings,g=f.tabs,h=f.tabUrl;g&&h&&(e=a("#post_ID"),e.length&&(h+="&post_id="+e.val()),b.each(g,function(a,d){this.state("iframe:"+d).set(b.defaults({tab:d,src:h+"&tab="+d,title:a,content:"iframe",menu:"default"},c))},this),this.on("content:create:iframe",this.iframeContent,this),this.on("menu:render:default",this.iframeMenu,this),this.on("open",this.hijackThickbox,this),this.on("close",this.restoreThickbox,this))},iframeContent:function(a){this.$el.addClass("hide-toolbar"),a.view=new d.view.Iframe({controller:this})},iframeMenu:function(a){var c={};a&&(b.each(d.view.settings.tabs,function(a,b){c["iframe:"+b]={text:this.state("iframe:"+b).get("title"),priority:200}},this),a.set(c))},hijackThickbox:function(){var a=this;window.tb_remove&&!this._tb_remove&&(this._tb_remove=window.tb_remove,window.tb_remove=function(){a.close(),a.reset(),a.setState(a.options.state),a._tb_remove.call(window)})},restoreThickbox:function(){this._tb_remove&&(window.tb_remove=this._tb_remove,delete this._tb_remove)}}),b.each(["open","close","attach","detach","escape"],function(a){d.view.MediaFrame.prototype[a]=function(){return this.modal&&this.modal[a].apply(this.modal,arguments),this}}),d.view.MediaFrame.Select=d.view.MediaFrame.extend({initialize:function(){d.view.MediaFrame.prototype.initialize.apply(this,arguments),b.defaults(this.options,{selection:[],library:{},multiple:!1,state:"library"}),this.createSelection(),this.createStates(),this.bindHandlers()},createSelection:function(){var a=this.options.selection;a instanceof d.model.Selection||(this.options.selection=new d.model.Selection(a,{multiple:this.options.multiple})),this._selection={attachments:new d.model.Attachments,difference:[]}},createStates:function(){var a=this.options;this.options.states||this.states.add([new d.controller.Library({library:d.query(a.library),multiple:a.multiple,title:a.title,priority:20})])},bindHandlers:function(){this.on("router:create:browse",this.createRouter,this),this.on("router:render:browse",this.browseRouter,this),this.on("content:create:browse",this.browseContent,this),this.on("content:render:upload",this.uploadContent,this),this.on("toolbar:create:select",this.createSelectToolbar,this)},browseRouter:function(a){a.set({upload:{text:c.uploadFilesTitle,priority:20},browse:{text:c.mediaLibraryTitle,priority:40}})},browseContent:function(a){var b=this.state();this.$el.removeClass("hide-toolbar"),a.view=new d.view.AttachmentsBrowser({controller:this,collection:b.get("library"),selection:b.get("selection"),model:b,sortable:b.get("sortable"),search:b.get("searchable"),filters:b.get("filterable"),display:b.get(b.has("display")?"display":"displaySettings"),dragInfo:b.get("dragInfo"),idealColumnWidth:b.get("idealColumnWidth"),suggestedWidth:b.get("suggestedWidth"),suggestedHeight:b.get("suggestedHeight"),AttachmentView:b.get("AttachmentView")})},uploadContent:function(){this.$el.removeClass("hide-toolbar"),this.content.set(new d.view.UploaderInline({controller:this}))},createSelectToolbar:function(a,b){b=b||this.options.button||{},b.controller=this,a.view=new d.view.Toolbar.Select(b)}}),d.view.MediaFrame.Post=d.view.MediaFrame.Select.extend({initialize:function(){this.counts={audio:{count:d.view.settings.attachmentCounts.audio,state:"playlist"},video:{count:d.view.settings.attachmentCounts.video,state:"video-playlist"}},b.defaults(this.options,{multiple:!0,editing:!1,state:"insert",metadata:{}}),d.view.MediaFrame.Select.prototype.initialize.apply(this,arguments),this.createIframeStates()},createStates:function(){var a=this.options;this.states.add([new d.controller.Library({id:"insert",title:c.insertMediaTitle,priority:20,toolbar:"main-insert",filterable:"all",library:d.query(a.library),multiple:a.multiple?"reset":!1,editable:!0,allowLocalEdits:!0,displaySettings:!0,displayUserSettings:!0}),new d.controller.Library({id:"gallery",title:c.createGalleryTitle,priority:40,toolbar:"main-gallery",filterable:"uploaded",multiple:"add",editable:!1,library:d.query(b.defaults({type:"image"},a.library))}),new d.controller.Embed({metadata:a.metadata}),new d.controller.EditImage({model:a.editImage}),new d.controller.GalleryEdit({library:a.selection,editing:a.editing,menu:"gallery"}),new d.controller.GalleryAdd,new d.controller.Library({id:"playlist",title:c.createPlaylistTitle,priority:60,toolbar:"main-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:d.query(b.defaults({type:"audio"},a.library))}),new d.controller.CollectionEdit({type:"audio",collectionType:"playlist",title:c.editPlaylistTitle,SettingsView:d.view.Settings.Playlist,library:a.selection,editing:a.editing,menu:"playlist",dragInfoText:c.playlistDragInfo,dragInfo:!1}),new d.controller.CollectionAdd({type:"audio",collectionType:"playlist",title:c.addToPlaylistTitle}),new d.controller.Library({id:"video-playlist",title:c.createVideoPlaylistTitle,priority:60,toolbar:"main-video-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:d.query(b.defaults({type:"video"},a.library))}),new d.controller.CollectionEdit({type:"video",collectionType:"playlist",title:c.editVideoPlaylistTitle,SettingsView:d.view.Settings.Playlist,library:a.selection,editing:a.editing,menu:"video-playlist",dragInfoText:c.videoPlaylistDragInfo,dragInfo:!1}),new d.controller.CollectionAdd({type:"video",collectionType:"playlist",title:c.addToVideoPlaylistTitle})]),d.view.settings.post.featuredImageId&&this.states.add(new d.controller.FeaturedImage)},bindHandlers:function(){var a,c;d.view.MediaFrame.Select.prototype.bindHandlers.apply(this,arguments),this.on("activate",this.activate,this),c=b.find(this.counts,function(a){return 0===a.count}),"undefined"!=typeof c&&this.listenTo(d.model.Attachments.all,"change:type",this.mediaTypeCounts),this.on("menu:create:gallery",this.createMenu,this),this.on("menu:create:playlist",this.createMenu,this),this.on("menu:create:video-playlist",this.createMenu,this),this.on("toolbar:create:main-insert",this.createToolbar,this),this.on("toolbar:create:main-gallery",this.createToolbar,this),this.on("toolbar:create:main-playlist",this.createToolbar,this),this.on("toolbar:create:main-video-playlist",this.createToolbar,this),this.on("toolbar:create:featured-image",this.featuredImageToolbar,this),this.on("toolbar:create:main-embed",this.mainEmbedToolbar,this),a={menu:{"default":"mainMenu",gallery:"galleryMenu",playlist:"playlistMenu","video-playlist":"videoPlaylistMenu"},content:{embed:"embedContent","edit-image":"editImageContent","edit-selection":"editSelectionContent"},toolbar:{"main-insert":"mainInsertToolbar","main-gallery":"mainGalleryToolbar","gallery-edit":"galleryEditToolbar","gallery-add":"galleryAddToolbar","main-playlist":"mainPlaylistToolbar","playlist-edit":"playlistEditToolbar","playlist-add":"playlistAddToolbar","main-video-playlist":"mainVideoPlaylistToolbar","video-playlist-edit":"videoPlaylistEditToolbar","video-playlist-add":"videoPlaylistAddToolbar"}},b.each(a,function(a,c){b.each(a,function(a,b){this.on(c+":render:"+b,this[a],this)},this)},this)},activate:function(){b.each(this.counts,function(a){a.count<1&&this.menuItemVisibility(a.state,"hide")},this)},mediaTypeCounts:function(a,b){"undefined"!=typeof this.counts[b]&&this.counts[b].count<1&&(this.counts[b].count++,this.menuItemVisibility(this.counts[b].state,"show"))},mainMenu:function(a){a.set({"library-separator":new d.View({className:"separator",priority:100})})},menuItemVisibility:function(a,b){var c=this.menu.get();"hide"===b?c.hide(a):"show"===b&&c.show(a)},galleryMenu:function(a){var b=this.lastState(),e=b&&b.id,f=this;a.set({cancel:{text:c.cancelGalleryTitle,priority:20,click:function(){e?f.setState(e):f.close(),this.controller.modal.focusManager.focus()}},separateCancel:new d.View({className:"separator",priority:40})})},playlistMenu:function(a){var b=this.lastState(),e=b&&b.id,f=this;a.set({cancel:{text:c.cancelPlaylistTitle,priority:20,click:function(){e?f.setState(e):f.close()}},separateCancel:new d.View({className:"separator",priority:40})})},videoPlaylistMenu:function(a){var b=this.lastState(),e=b&&b.id,f=this;a.set({cancel:{text:c.cancelVideoPlaylistTitle,priority:20,click:function(){e?f.setState(e):f.close()}},separateCancel:new d.View({className:"separator",priority:40})})},embedContent:function(){var a=new d.view.Embed({controller:this,model:this.state()}).render();this.content.set(a),e||a.url.focus()},editSelectionContent:function(){var a,b=this.state(),e=b.get("selection");a=new d.view.AttachmentsBrowser({controller:this,collection:e,selection:e,model:b,sortable:!0,search:!1,dragInfo:!0,AttachmentView:d.view.Attachment.EditSelection}).render(),a.toolbar.set("backToLibrary",{text:c.returnToLibrary,priority:-100,click:function(){this.controller.content.mode("browse")}}),this.content.set(a)},editImageContent:function(){var a=this.state().get("image"),b=new d.view.EditImage({model:a,controller:this}).render();this.content.set(b),b.loadEditor()},selectionStatusToolbar:function(a){var b=this.state().get("editable");a.set("selection",new d.view.Selection({controller:this,collection:this.state().get("selection"),priority:-40,editable:b&&function(){this.controller.content.mode("edit-selection")}}).render())},mainInsertToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("insert",{style:"primary",priority:80,text:c.insertIntoPost,requires:{selection:!0},click:function(){var a=b.state(),c=a.get("selection");b.close(),a.trigger("insert",c).reset()}})},mainGalleryToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("gallery",{style:"primary",text:c.createNewGallery,priority:60,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("gallery-edit"),e=a.where({type:"image"});
+c.set("library",new d.model.Selection(e,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("gallery-edit"),this.controller.modal.focusManager.focus()}})},mainPlaylistToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("playlist",{style:"primary",text:c.createNewPlaylist,priority:100,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("playlist-edit"),e=a.where({type:"audio"});c.set("library",new d.model.Selection(e,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("playlist-edit"),this.controller.modal.focusManager.focus()}})},mainVideoPlaylistToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("video-playlist",{style:"primary",text:c.createNewVideoPlaylist,priority:100,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("video-playlist-edit"),e=a.where({type:"video"});c.set("library",new d.model.Selection(e,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("video-playlist-edit"),this.controller.modal.focusManager.focus()}})},featuredImageToolbar:function(a){this.createSelectToolbar(a,{text:c.setFeaturedImage,state:this.options.state})},mainEmbedToolbar:function(a){a.view=new d.view.Toolbar.Embed({controller:this})},galleryEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new d.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?c.updateGallery:c.insertGallery,priority:80,requires:{library:!0},click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",b.get("library")),a.setState(a.options.state),a.reset()}}}}))},galleryAddToolbar:function(){this.toolbar.set(new d.view.Toolbar({controller:this,items:{insert:{style:"primary",text:c.addToGallery,priority:80,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("gallery-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("gallery-edit")}}}}))},playlistEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new d.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?c.updatePlaylist:c.insertPlaylist,priority:80,requires:{library:!0},click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",b.get("library")),a.setState(a.options.state),a.reset()}}}}))},playlistAddToolbar:function(){this.toolbar.set(new d.view.Toolbar({controller:this,items:{insert:{style:"primary",text:c.addToPlaylist,priority:80,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("playlist-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("playlist-edit")}}}}))},videoPlaylistEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new d.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?c.updateVideoPlaylist:c.insertVideoPlaylist,priority:140,requires:{library:!0},click:function(){var a=this.controller,b=a.state(),c=b.get("library");c.type="video",a.close(),b.trigger("update",c),a.setState(a.options.state),a.reset()}}}}))},videoPlaylistAddToolbar:function(){this.toolbar.set(new d.view.Toolbar({controller:this,items:{insert:{style:"primary",text:c.addToVideoPlaylist,priority:140,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("video-playlist-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("video-playlist-edit")}}}}))}}),d.view.MediaFrame.ImageDetails=d.view.MediaFrame.Select.extend({defaults:{id:"image",url:"",menu:"image-details",content:"image-details",toolbar:"image-details",type:"link",title:c.imageDetailsTitle,priority:120},initialize:function(a){this.image=new d.model.PostImage(a.metadata),this.options.selection=new d.model.Selection(this.image.attachment,{multiple:!1}),d.view.MediaFrame.Select.prototype.initialize.apply(this,arguments)},bindHandlers:function(){d.view.MediaFrame.Select.prototype.bindHandlers.apply(this,arguments),this.on("menu:create:image-details",this.createMenu,this),this.on("content:create:image-details",this.imageDetailsContent,this),this.on("content:render:edit-image",this.editImageContent,this),this.on("toolbar:render:image-details",this.renderImageDetailsToolbar,this),this.on("toolbar:render:replace",this.renderReplaceImageToolbar,this)},createStates:function(){this.states.add([new d.controller.ImageDetails({image:this.image,editable:!1}),new d.controller.ReplaceImage({id:"replace-image",library:d.query({type:"image"}),image:this.image,multiple:!1,title:c.imageReplaceTitle,toolbar:"replace",priority:80,displaySettings:!0}),new d.controller.EditImage({image:this.image,selection:this.options.selection})])},imageDetailsContent:function(a){a.view=new d.view.ImageDetails({controller:this,model:this.state().image,attachment:this.state().image.attachment})},editImageContent:function(){var a,b=this.state(),c=b.get("image");c&&(a=new d.view.EditImage({model:c,controller:this}).render(),this.content.set(a),a.loadEditor())},renderImageDetailsToolbar:function(){this.toolbar.set(new d.view.Toolbar({controller:this,items:{select:{style:"primary",text:c.update,priority:80,click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",a.image.toJSON()),a.setState(a.options.state),a.reset()}}}}))},renderReplaceImageToolbar:function(){var a=this,b=a.lastState(),e=b&&b.id;this.toolbar.set(new d.view.Toolbar({controller:this,items:{back:{text:c.back,priority:20,click:function(){e?a.setState(e):a.close()}},replace:{style:"primary",text:c.replace,priority:80,click:function(){var a=this.controller,b=a.state(),c=b.get("selection"),d=c.single();a.close(),a.image.changeAttachment(d,b.display(d)),b.trigger("replace",a.image.toJSON()),a.setState(a.options.state),a.reset()}}}}))}}),d.view.Modal=d.View.extend({tagName:"div",template:d.template("media-modal"),attributes:{tabindex:0},events:{"click .media-modal-backdrop, .media-modal-close":"escapeHandler",keydown:"keydown"},initialize:function(){b.defaults(this.options,{container:document.body,title:"",propagate:!0,freeze:!0}),this.focusManager=new d.view.FocusManager({el:this.el})},prepare:function(){return{title:this.options.title}},attach:function(){return this.views.attached?this:(this.views.rendered||this.render(),this.$el.appendTo(this.options.container),this.views.attached=!0,this.views.ready(),this.propagate("attach"))},detach:function(){return this.$el.is(":visible")&&this.close(),this.$el.detach(),this.views.attached=!1,this.propagate("detach")},open:function(){var b,c=this.$el,d=this.options;return c.is(":visible")?this:(this.views.attached||this.attach(),d.freeze&&(this._freeze={scrollTop:a(window).scrollTop()}),a("body").addClass("modal-open"),c.show(),"ontouchend"in document&&(b=window.tinymce&&window.tinymce.activeEditor)&&!b.isHidden()&&b.iframeElement&&(b.iframeElement.focus(),b.iframeElement.blur(),setTimeout(function(){b.iframeElement.blur()},100)),this.$el.focus(),this.propagate("open"))},close:function(b){var c=this._freeze;return this.views.attached&&this.$el.is(":visible")?(a("body").removeClass("modal-open"),this.$el.hide().undelegate("keydown"),a("#wpbody-content").focus(),this.propagate("close"),c&&a(window).scrollTop(c.scrollTop),b&&b.escape&&this.propagate("escape"),this):this},escape:function(){return this.close({escape:!0})},escapeHandler:function(a){a.preventDefault(),this.escape()},content:function(a){return this.views.set(".media-modal-content",a),this},propagate:function(a){return this.trigger(a),this.options.propagate&&this.controller.trigger(a),this},keydown:function(a){27===a.which&&this.$el.is(":visible")&&(this.escape(),a.stopImmediatePropagation())}}),d.view.FocusManager=d.View.extend({events:{keydown:"constrainTabbing"},focus:function(){this.$(".media-menu-item").first().focus()},constrainTabbing:function(a){var b;if(9===a.keyCode)return b=this.$(":tabbable"),b.last()[0]!==a.target||a.shiftKey?b.first()[0]===a.target&&a.shiftKey?(b.last().focus(),!1):void 0:(b.first().focus(),!1)}}),d.view.UploaderWindow=d.View.extend({tagName:"div",className:"uploader-window",template:d.template("uploader-window"),initialize:function(){var c;this.$browser=a('<a href="#" class="browser" />').hide().appendTo("body"),c=this.options.uploader=b.defaults(this.options.uploader||{},{dropzone:this.$el,browser:this.$browser,params:{}}),!c.dropzone||c.dropzone instanceof a||(c.dropzone=a(c.dropzone)),this.controller.on("activate",this.refresh,this),this.controller.on("detach",function(){this.$browser.remove()},this)},refresh:function(){this.uploader&&this.uploader.refresh()},ready:function(){var c,e=d.view.settings.post.id;this.uploader||(e&&(this.options.uploader.params.post_id=e),this.uploader=new wp.Uploader(this.options.uploader),c=this.uploader.dropzone,c.on("dropzone:enter",b.bind(this.show,this)),c.on("dropzone:leave",b.bind(this.hide,this)),a(this.uploader).on("uploader:ready",b.bind(this._ready,this)))},_ready:function(){this.controller.trigger("uploader:ready")},show:function(){var a=this.$el.show();b.defer(function(){a.css({opacity:1})})},hide:function(){var a=this.$el.css({opacity:0});d.transition(a).done(function(){"0"===a.css("opacity")&&a.hide()}),b.delay(function(){"0"===a.css("opacity")&&a.is(":visible")&&a.hide()},500)}}),d.view.EditorUploader=d.View.extend({tagName:"div",className:"uploader-editor",template:d.template("uploader-editor"),localDrag:!1,overContainer:!1,overDropzone:!1,draggingFile:null,initialize:function(){var c=this;return this.initialized=!1,window.tinyMCEPreInit&&window.tinyMCEPreInit.dragDropUpload&&this.browserSupport()?(this.$document=a(document),this.dropzones=[],this.files=[],this.$document.on("drop",".uploader-editor",b.bind(this.drop,this)),this.$document.on("dragover",".uploader-editor",b.bind(this.dropzoneDragover,this)),this.$document.on("dragleave",".uploader-editor",b.bind(this.dropzoneDragleave,this)),this.$document.on("click",".uploader-editor",b.bind(this.click,this)),this.$document.on("dragover",b.bind(this.containerDragover,this)),this.$document.on("dragleave",b.bind(this.containerDragleave,this)),this.$document.on("dragstart dragend drop",function(a){c.localDrag="dragstart"===a.type}),this.initialized=!0,this):this},browserSupport:function(){var a=!1,b=document.createElement("div");return a="draggable"in b||"ondragstart"in b&&"ondrop"in b,a=a&&!!(window.File&&window.FileList&&window.FileReader)},isDraggingFile:function(a){return null!==this.draggingFile?this.draggingFile:b.isUndefined(a.originalEvent)||b.isUndefined(a.originalEvent.dataTransfer)?!1:(this.draggingFile=b.indexOf(a.originalEvent.dataTransfer.types,"Files")>-1&&-1===b.indexOf(a.originalEvent.dataTransfer.types,"text/plain"),this.draggingFile)},refresh:function(c){var d;for(d in this.dropzones)this.dropzones[d].toggle(this.overContainer||this.overDropzone);return b.isUndefined(c)||a(c.target).closest(".uploader-editor").toggleClass("droppable",this.overDropzone),this.overContainer||this.overDropzone||(this.draggingFile=null),this},render:function(){return this.initialized?(d.View.prototype.render.apply(this,arguments),a(".wp-editor-wrap, #wp-fullscreen-body").each(b.bind(this.attach,this)),this):this},attach:function(b,c){var d=this.$el.clone();return this.dropzones.push(d),a(c).append(d),this},drop:function(b){var c=null;return this.containerDragleave(b),this.dropzoneDragleave(b),this.files=b.originalEvent.dataTransfer.files,this.files.length<1?void 0:(c=a(b.target).parents(".wp-editor-wrap"),c.length>0&&c[0].id&&(window.wpActiveEditor=c[0].id.slice(3,-5)),this.workflow?(this.workflow.state().reset(),this.addFiles.apply(this),this.workflow.open()):(this.workflow=wp.media.editor.open("content",{frame:"post",state:"insert",title:wp.media.view.l10n.addMedia,multiple:!0}),this.workflow.on("uploader:ready",this.addFiles,this)),!1)},addFiles:function(){return this.files.length&&(this.workflow.uploader.uploader.uploader.addFile(b.toArray(this.files)),this.files=[]),this},containerDragover:function(a){!this.localDrag&&this.isDraggingFile(a)&&(this.overContainer=!0,this.refresh())},containerDragleave:function(){this.overContainer=!1,b.delay(b.bind(this.refresh,this),50)},dropzoneDragover:function(a){return!this.localDrag&&this.isDraggingFile(a)?(this.overDropzone=!0,this.refresh(a),!1):void 0},dropzoneDragleave:function(a){this.overDropzone=!1,b.delay(b.bind(this.refresh,this,a),50)},click:function(a){this.containerDragleave(a),this.dropzoneDragleave(a),this.localDrag=!1}}),d.view.UploaderInline=d.View.extend({tagName:"div",className:"uploader-inline",template:d.template("uploader-inline"),events:{"click .close":"hide"},initialize:function(){b.defaults(this.options,{message:"",status:!0,canClose:!1}),!this.options.$browser&&this.controller.uploader&&(this.options.$browser=this.controller.uploader.$browser),b.isUndefined(this.options.postId)&&(this.options.postId=d.view.settings.post.id),this.options.status&&this.views.set(".upload-inline-status",new d.view.UploaderStatus({controller:this.controller}))},prepare:function(){var a=this.controller.state().get("suggestedWidth"),b=this.controller.state().get("suggestedHeight"),c={};return c.message=this.options.message,c.canClose=this.options.canClose,a&&b&&(c.suggestedWidth=a,c.suggestedHeight=b),c},dispose:function(){return this.disposing?d.View.prototype.dispose.apply(this,arguments):(this.disposing=!0,this.remove())},remove:function(){var a=d.View.prototype.remove.apply(this,arguments);return b.defer(b.bind(this.refresh,this)),a},refresh:function(){var a=this.controller.uploader;a&&a.refresh()},ready:function(){var a,b=this.options.$browser;if(this.controller.uploader){if(a=this.$(".browser"),a[0]===b[0])return;b.detach().text(a.text()),b[0].className=a[0].className,a.replaceWith(b.show())}return this.refresh(),this},show:function(){this.$el.removeClass("hidden")},hide:function(){this.$el.addClass("hidden")}}),d.view.UploaderStatus=d.View.extend({className:"media-uploader-status",template:d.template("uploader-status"),events:{"click .upload-dismiss-errors":"dismiss"},initialize:function(){this.queue=wp.Uploader.queue,this.queue.on("add remove reset",this.visibility,this),this.queue.on("add remove reset change:percent",this.progress,this),this.queue.on("add remove reset change:uploading",this.info,this),this.errors=wp.Uploader.errors,this.errors.reset(),this.errors.on("add remove reset",this.visibility,this),this.errors.on("add",this.error,this)},dispose:function(){return wp.Uploader.queue.off(null,null,this),d.View.prototype.dispose.apply(this,arguments),this},visibility:function(){this.$el.toggleClass("uploading",!!this.queue.length),this.$el.toggleClass("errors",!!this.errors.length),this.$el.toggle(!!this.queue.length||!!this.errors.length)},ready:function(){b.each({$bar:".media-progress-bar div",$index:".upload-index",$total:".upload-total",$filename:".upload-filename"},function(a,b){this[b]=this.$(a)},this),this.visibility(),this.progress(),this.info()},progress:function(){var a=this.queue,c=this.$bar;c&&a.length&&c.width(a.reduce(function(a,c){if(!c.get("uploading"))return a+100;var d=c.get("percent");return a+(b.isNumber(d)?d:100)},0)/a.length+"%")},info:function(){var a,b=this.queue,c=0;b.length&&(a=this.queue.find(function(a,b){return c=b,a.get("uploading")}),this.$index.text(c+1),this.$total.text(b.length),this.$filename.html(a?this.filename(a.get("filename")):""))},filename:function(a){return d.truncate(b.escape(a),24)},error:function(a){this.views.add(".upload-errors",new d.view.UploaderStatusError({filename:this.filename(a.get("file").name),message:a.get("message")}),{at:0})},dismiss:function(a){var c=this.views.get(".upload-errors");a.preventDefault(),c&&b.invoke(c,"remove"),wp.Uploader.errors.reset()}}),d.view.UploaderStatusError=d.View.extend({className:"upload-error",template:d.template("uploader-status-error")}),d.view.Toolbar=d.View.extend({tagName:"div",className:"media-toolbar",initialize:function(){var a=this.controller.state(),b=this.selection=a.get("selection"),c=this.library=a.get("library");this._views={},this.primary=new d.view.PriorityList,this.secondary=new d.view.PriorityList,this.primary.$el.addClass("media-toolbar-primary search-form"),this.secondary.$el.addClass("media-toolbar-secondary"),this.views.set([this.secondary,this.primary]),this.options.items&&this.set(this.options.items,{silent:!0}),this.options.silent||this.render(),b&&b.on("add remove reset",this.refresh,this),c&&c.on("add remove reset",this.refresh,this)},dispose:function(){return this.selection&&this.selection.off(null,null,this),this.library&&this.library.off(null,null,this),d.View.prototype.dispose.apply(this,arguments)},ready:function(){this.refresh()},set:function(a,c,e){var f;return e=e||{},b.isObject(a)?b.each(a,function(a,b){this.set(b,a,{silent:!0})},this):(c instanceof Backbone.View||(c.classes=["media-button-"+a].concat(c.classes||[]),c=new d.view.Button(c).render()),c.controller=c.controller||this.controller,this._views[a]=c,f=c.options.priority<0?"secondary":"primary",this[f].set(a,c,e)),e.silent||this.refresh(),this},get:function(a){return this._views[a]},unset:function(a,b){return delete this._views[a],this.primary.unset(a,b),this.secondary.unset(a,b),b&&b.silent||this.refresh(),this},refresh:function(){var a=this.controller.state(),c=a.get("library"),d=a.get("selection");b.each(this._views,function(a){if(a.model&&a.options&&a.options.requires){var e=a.options.requires,f=!1;f=b.some(d.models,function(a){return a.get("uploading")===!0}),e.selection&&d&&!d.length?f=!0:e.library&&c&&!c.length&&(f=!0),a.model.set("disabled",f)}})}}),d.view.Toolbar.Select=d.view.Toolbar.extend({initialize:function(){var a=this.options;b.bindAll(this,"clickSelect"),b.defaults(a,{event:"select",state:!1,reset:!0,close:!0,text:c.select,requires:{selection:!0}}),a.items=b.defaults(a.items||{},{select:{style:"primary",text:a.text,priority:80,click:this.clickSelect,requires:a.requires}}),d.view.Toolbar.prototype.initialize.apply(this,arguments)},clickSelect:function(){var a=this.options,b=this.controller;a.close&&b.close(),a.event&&b.state().trigger(a.event),a.state&&b.setState(a.state),a.reset&&b.reset()}}),d.view.Toolbar.Embed=d.view.Toolbar.Select.extend({initialize:function(){b.defaults(this.options,{text:c.insertIntoPost,requires:!1}),d.view.Toolbar.Select.prototype.initialize.apply(this,arguments)},refresh:function(){var a=this.controller.state().props.get("url");this.get("select").model.set("disabled",!a||"http://"===a),d.view.Toolbar.Select.prototype.refresh.apply(this,arguments)}}),d.view.Button=d.View.extend({tagName:"a",className:"media-button",attributes:{href:"#"},events:{click:"click"},defaults:{text:"",style:"",size:"large",disabled:!1},initialize:function(){this.model=new Backbone.Model(this.defaults),b.each(this.defaults,function(a,c){var d=this.options[c];b.isUndefined(d)||(this.model.set(c,d),delete this.options[c])},this),this.model.on("change",this.render,this)},render:function(){var a=["button",this.className],c=this.model.toJSON();return c.style&&a.push("button-"+c.style),c.size&&a.push("button-"+c.size),a=b.uniq(a.concat(this.options.classes)),this.el.className=a.join(" "),this.$el.attr("disabled",c.disabled),this.$el.text(this.model.get("text")),this},click:function(a){"#"===this.attributes.href&&a.preventDefault(),this.options.click&&!this.model.get("disabled")&&this.options.click.apply(this,arguments)}}),d.view.ButtonGroup=d.View.extend({tagName:"div",className:"button-group button-large media-button-group",initialize:function(){this.buttons=b.map(this.options.buttons||[],function(a){return a instanceof Backbone.View?a:new d.view.Button(a).render()}),delete this.options.buttons,this.options.classes&&this.$el.addClass(this.options.classes)},render:function(){return this.$el.html(a(b.pluck(this.buttons,"el")).detach()),this}}),d.view.PriorityList=d.View.extend({tagName:"div",initialize:function(){this._views={},this.set(b.extend({},this._views,this.options.views),{silent:!0}),delete this.options.views,this.options.silent||this.render()},set:function(a,c,d){var e,f,g;return d=d||{},b.isObject(a)?(b.each(a,function(a,b){this.set(b,a)},this),this):(c instanceof Backbone.View||(c=this.toView(c,a,d)),c.controller=c.controller||this.controller,this.unset(a),e=c.options.priority||10,f=this.views.get()||[],b.find(f,function(a,b){return a.options.priority>e?(g=b,!0):void 0}),this._views[a]=c,this.views.add(c,{at:b.isNumber(g)?g:f.length||0}),this)},get:function(a){return this._views[a]},unset:function(a){var b=this.get(a);return b&&b.remove(),delete this._views[a],this},toView:function(a){return new d.View(a)}}),d.view.MenuItem=d.View.extend({tagName:"a",className:"media-menu-item",attributes:{href:"#"},events:{click:"_click"},_click:function(b){var c=this.options.click;b&&b.preventDefault(),c?c.call(this):this.click(),e||a(".media-frame-content input").first().focus()},click:function(){var a=this.options.state;a&&(this.controller.setState(a),this.views.parent.$el.removeClass("visible"))},render:function(){var a=this.options;return a.text?this.$el.text(a.text):a.html&&this.$el.html(a.html),this}}),d.view.Menu=d.view.PriorityList.extend({tagName:"div",className:"media-menu",property:"state",ItemView:d.view.MenuItem,region:"menu",toView:function(a,b){return a=a||{},a[this.property]=a[this.property]||b,new this.ItemView(a).render()},ready:function(){d.view.PriorityList.prototype.ready.apply(this,arguments),this.visibility()},set:function(){d.view.PriorityList.prototype.set.apply(this,arguments),this.visibility()},unset:function(){d.view.PriorityList.prototype.unset.apply(this,arguments),this.visibility()},visibility:function(){var a=this.region,b=this.controller[a].get(),c=this.views.get(),d=!c||c.length<2;this===b&&this.controller.$el.toggleClass("hide-"+a,d)},select:function(a){var b=this.get(a);b&&(this.deselect(),b.$el.addClass("active"))},deselect:function(){this.$el.children().removeClass("active")},hide:function(a){var b=this.get(a);b&&b.$el.addClass("hidden")},show:function(a){var b=this.get(a);b&&b.$el.removeClass("hidden")}}),d.view.RouterItem=d.view.MenuItem.extend({click:function(){var a=this.options.contentMode;a&&this.controller.content.mode(a)}}),d.view.Router=d.view.Menu.extend({tagName:"div",className:"media-router",property:"contentMode",ItemView:d.view.RouterItem,region:"router",initialize:function(){this.controller.on("content:render",this.update,this),d.view.Menu.prototype.initialize.apply(this,arguments)},update:function(){var a=this.controller.content.mode();a&&this.select(a)}}),d.view.Sidebar=d.view.PriorityList.extend({className:"media-sidebar"}),d.view.Attachment=d.View.extend({tagName:"li",className:"attachment",template:d.template("attachment"),attributes:function(){return{tabIndex:0,role:"checkbox","aria-label":this.model.get("title"),"aria-checked":!1,"data-id":this.model.get("id")}},events:{"click .js--select-attachment":"toggleSelectionHandler","change [data-setting]":"updateSetting","change [data-setting] input":"updateSetting","change [data-setting] select":"updateSetting","change [data-setting] textarea":"updateSetting","click .close":"removeFromLibrary","click .check":"checkClickHandler","click a":"preventDefault",keydown:"toggleSelectionHandler"},buttons:{},initialize:function(){var a=this.options.selection,c=b.defaults(this.options,{rerenderOnModelChange:!0});c.rerenderOnModelChange?this.model.on("change",this.render,this):this.model.on("change:percent",this.progress,this),this.model.on("change:title",this._syncTitle,this),this.model.on("change:caption",this._syncCaption,this),this.model.on("change:artist",this._syncArtist,this),this.model.on("change:album",this._syncAlbum,this),this.model.on("add",this.select,this),this.model.on("remove",this.deselect,this),a&&(a.on("reset",this.updateSelect,this),this.model.on("selection:single selection:unsingle",this.details,this),this.details(this.model,this.controller.state().get("selection")))},dispose:function(){var a=this.options.selection;return this.updateAll(),a&&a.off(null,null,this),d.View.prototype.dispose.apply(this,arguments),this},render:function(){var a=b.defaults(this.model.toJSON(),{orientation:"landscape",uploading:!1,type:"",subtype:"",icon:"",filename:"",caption:"",title:"",dateFormatted:"",width:"",height:"",compat:!1,alt:"",description:""},this.options);return a.buttons=this.buttons,a.describe=this.controller.state().get("describe"),"image"===a.type&&(a.size=this.imageSize()),a.can={},a.nonces&&(a.can.remove=!!a.nonces["delete"],a.can.save=!!a.nonces.update),this.controller.state().get("allowLocalEdits")&&(a.allowLocalEdits=!0),a.uploading&&!a.percent&&(a.percent=0),this.views.detach(),this.$el.html(this.template(a)),this.$el.toggleClass("uploading",a.uploading),a.uploading?this.$bar=this.$(".media-progress-bar div"):delete this.$bar,this.updateSelect(),this.updateSave(),this.views.render(),this},progress:function(){this.$bar&&this.$bar.length&&this.$bar.width(this.model.get("percent")+"%")},toggleSelectionHandler:function(a){var b;if("INPUT"!==a.target.nodeName){if(37===a.keyCode||38===a.keyCode||39===a.keyCode||40===a.keyCode)return void this.controller.trigger("attachment:keydown:arrow",a);if("keydown"!==a.type||13===a.keyCode||32===a.keyCode){if(this.controller.isModeActive("grid")){if(this.controller.isModeActive("edit"))return this.controller.trigger("edit:attachment",this.model,a.currentTarget),void a.stopPropagation();this.controller.isModeActive("select")&&(b="toggle")}a.shiftKey?b="between":(a.ctrlKey||a.metaKey)&&(b="toggle"),this.toggleSelection({method:b}),this.controller.trigger("selection:toggle"),a.stopPropagation()}}},toggleSelection:function(a){var c,d,e,f,g=this.collection,h=this.options.selection,i=this.model,j=a&&a.method;if(h){if(c=h.single(),j=b.isUndefined(j)?h.multiple:j,"between"===j&&c&&h.multiple){if(c===i)return;return e=g.indexOf(c),f=g.indexOf(this.model),d=f>e?g.models.slice(e,f+1):g.models.slice(f,e+1),h.add(d),void h.single(i)}if("toggle"===j)return h[this.selected()?"remove":"add"](i),void h.single(i);if("add"===j)return h.add(i),void h.single(i);j||(j="add"),"add"!==j&&(j="reset"),this.selected()?h[c===i?"remove":"single"](i):(h[j](i),h.single(i))}},updateSelect:function(){this[this.selected()?"select":"deselect"]()},selected:function(){var a=this.options.selection;return a?!!a.get(this.model.cid):void 0},select:function(a,b){var c=this.options.selection,d=this.controller;!c||b&&b!==c||this.$el.hasClass("selected")||(this.$el.addClass("selected").attr("aria-checked",!0),d.isModeActive("grid")&&d.isModeActive("select")||this.$(".check").attr("tabindex","0"))},deselect:function(a,b){var c=this.options.selection;!c||b&&b!==c||this.$el.removeClass("selected").attr("aria-checked",!1).find(".check").attr("tabindex","-1")},details:function(a,b){var c,d=this.options.selection;d===b&&(c=d.single(),this.$el.toggleClass("details",c===this.model))},preventDefault:function(a){a.preventDefault()},imageSize:function(a){var c=this.model.get("sizes");return a=a||"medium",c&&c[a]?b.clone(c[a]):{url:this.model.get("url"),width:this.model.get("width"),height:this.model.get("height"),orientation:this.model.get("orientation")}},updateSetting:function(b){var c,d,e=a(b.target).closest("[data-setting]");e.length&&(c=e.data("setting"),d=b.target.value,this.model.get(c)!==d&&this.save(c,d))},save:function(){var b=this,c=this._save=this._save||{status:"ready"},d=this.model.save.apply(this.model,arguments),e=c.requests?a.when(d,c.requests):d;c.savedTimer&&clearTimeout(c.savedTimer),this.updateSave("waiting"),c.requests=e,e.always(function(){c.requests===e&&(b.updateSave("resolved"===e.state()?"complete":"error"),c.savedTimer=setTimeout(function(){b.updateSave("ready"),delete c.savedTimer},2e3))})},updateSave:function(a){var b=this._save=this._save||{status:"ready"};return a&&a!==b.status&&(this.$el.removeClass("save-"+b.status),b.status=a),this.$el.addClass("save-"+b.status),this},updateAll:function(){var c,d=this.$("[data-setting]"),e=this.model;c=b.chain(d).map(function(b){var c,d,f=a("input, textarea, select, [value]",b);if(f.length)return c=a(b).data("setting"),d=f.val(),e.get(c)!==d?[c,d]:void 0}).compact().object().value(),b.isEmpty(c)||e.save(c)},removeFromLibrary:function(a){a.stopPropagation(),this.collection.remove(this.model)},checkClickHandler:function(a){var b=this.options.selection;b&&(a.stopPropagation(),b.where({id:this.model.get("id")}).length?(b.remove(this.model),this.$el.focus()):b.add(this.model))}}),b.each({caption:"_syncCaption",title:"_syncTitle",artist:"_syncArtist",album:"_syncAlbum"},function(a,b){d.view.Attachment.prototype[a]=function(a,c){var d=this.$('[data-setting="'+b+'"]');return d.length?c===d.find("input, textarea, select, [value]").val()?this:this.render():this}}),d.view.Attachment.Library=d.view.Attachment.extend({buttons:{check:!0}}),d.view.Attachment.EditLibrary=d.view.Attachment.extend({buttons:{close:!0}}),d.view.Attachments=d.View.extend({tagName:"ul",className:"attachments",attributes:{tabIndex:-1},initialize:function(){this.el.id=b.uniqueId("__attachments-view-"),b.defaults(this.options,{refreshSensitivity:e?300:200,refreshThreshold:3,AttachmentView:d.view.Attachment,sortable:!1,resize:!0,idealColumnWidth:a(window).width()<640?135:150}),this._viewsByCid={},this.$window=a(window),this.resizeEvent="resize.media-modal-columns",this.collection.on("add",function(a){this.views.add(this.createAttachmentView(a),{at:this.collection.indexOf(a)})},this),this.collection.on("remove",function(a){var b=this._viewsByCid[a.cid];delete this._viewsByCid[a.cid],b&&b.remove()},this),this.collection.on("reset",this.render,this),this.listenTo(this.controller,"library:selection:add",this.attachmentFocus),this.scroll=b.chain(this.scroll).bind(this).throttle(this.options.refreshSensitivity).value(),this.options.scrollElement=this.options.scrollElement||this.el,a(this.options.scrollElement).on("scroll",this.scroll),this.initSortable(),b.bindAll(this,"setColumns"),this.options.resize&&(this.on("ready",this.bindEvents),this.controller.on("open",this.setColumns),b.defer(this.setColumns,this))},bindEvents:function(){this.$window.off(this.resizeEvent).on(this.resizeEvent,b.debounce(this.setColumns,50))},attachmentFocus:function(){this.$("li:first").focus()},restoreFocus:function(){this.$("li.selected:first").focus()},arrowEvent:function(a){var b=this.$el.children("li"),c=this.columns,d=b.filter(":focus").index(),e=c>=d+1?1:Math.ceil((d+1)/c);if(-1!==d){if(37===a.keyCode){if(0===d)return;b.eq(d-1).focus()}if(38===a.keyCode){if(1===e)return;b.eq(d-c).focus()}if(39===a.keyCode){if(b.length===d)return;b.eq(d+1).focus()}if(40===a.keyCode){if(Math.ceil(b.length/c)===e)return;b.eq(d+c).focus()}}},dispose:function(){this.collection.props.off(null,null,this),this.options.resize&&this.$window.off(this.resizeEvent),d.View.prototype.dispose.apply(this,arguments)},setColumns:function(){var a=this.columns,b=this.$el.width();b&&(this.columns=Math.min(Math.round(b/this.options.idealColumnWidth),12)||1,a&&a===this.columns||this.$el.closest(".media-frame-content").attr("data-columns",this.columns))},initSortable:function(){var c=this.collection;!e&&this.options.sortable&&a.fn.sortable&&(this.$el.sortable(b.extend({disabled:!!c.comparator,containment:this.$el,tolerance:"pointer",start:function(a,b){b.item.data("sortableIndexStart",b.item.index())},update:function(a,b){var d=c.at(b.item.data("sortableIndexStart")),e=c.comparator;delete c.comparator,c.remove(d,{silent:!0}),c.add(d,{silent:!0,at:b.item.index()}),c.comparator=e,c.trigger("reset",c),c.saveMenuOrder()}},this.options.sortable)),c.props.on("change:orderby",function(){this.$el.sortable("option","disabled",!!c.comparator)},this),this.collection.props.on("change:orderby",this.refreshSortable,this),this.refreshSortable())},refreshSortable:function(){if(!e&&this.options.sortable&&a.fn.sortable){var b=this.collection,c=b.props.get("orderby"),d="menuOrder"===c||!b.comparator;this.$el.sortable("option","disabled",!d)
+}},createAttachmentView:function(a){var b=new this.options.AttachmentView({controller:this.controller,model:a,collection:this.collection,selection:this.options.selection});return this._viewsByCid[a.cid]=b},prepare:function(){this.collection.length?this.views.set(this.collection.map(this.createAttachmentView,this)):(this.views.unset(),this.collection.more().done(this.scroll))},ready:function(){this.scroll()},scroll:function(){var b,c=this,d=this.options.scrollElement,e=d.scrollTop;d==document&&(d=document.body,e=a(document).scrollTop()),a(d).is(":visible")&&this.collection.hasMore()&&(b=this.views.parent.toolbar,d.scrollHeight-(e+d.clientHeight)<d.clientHeight/3&&b.get("spinner").show(),d.scrollHeight<e+d.clientHeight*this.options.refreshThreshold&&this.collection.more().done(function(){c.scroll(),b.get("spinner").hide()}))}}),d.view.Search=d.View.extend({tagName:"input",className:"search",id:"media-search-input",attributes:{type:"search",placeholder:c.search},events:{input:"search",keyup:"search",change:"search",search:"search"},render:function(){return this.el.value=this.model.escape("search"),this},search:function(a){a.target.value?this.model.set("search",a.target.value):this.model.unset("search")}}),d.view.AttachmentFilters=d.View.extend({tagName:"select",className:"attachment-filters",id:"media-attachment-filters",events:{change:"change"},keys:[],initialize:function(){this.createFilters(),b.extend(this.filters,this.options.filters),this.$el.html(b.chain(this.filters).map(function(b,c){return{el:a("<option></option>").val(c).html(b.text)[0],priority:b.priority||50}},this).sortBy("priority").pluck("el").value()),this.model.on("change",this.select,this),this.select()},createFilters:function(){this.filters={}},change:function(){var a=this.filters[this.el.value];a&&this.model.set(a.props)},select:function(){var a=this.model,c="all",d=a.toJSON();b.find(this.filters,function(a,e){var f=b.all(a.props,function(a,c){return a===(b.isUndefined(d[c])?null:d[c])});return f?c=e:void 0}),this.$el.val(c)}}),d.view.AttachmentFilters.Uploaded=d.view.AttachmentFilters.extend({createFilters:function(){var a,b=this.model.get("type"),e=d.view.settings.mimeTypes;e&&b&&(a=e[b]),this.filters={all:{text:a||c.allMediaItems,props:{uploadedTo:null,orderby:"date",order:"DESC"},priority:10},uploaded:{text:c.uploadedToThisPost,props:{uploadedTo:d.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20}}}}),d.view.AttachmentFilters.All=d.view.AttachmentFilters.extend({createFilters:function(){var a={};b.each(d.view.settings.mimeTypes||{},function(b,c){a[c]={text:b,props:{status:null,type:c,uploadedTo:null,orderby:"date",order:"DESC"}}}),a.all={text:c.allMediaItems,props:{status:null,type:null,uploadedTo:null,orderby:"date",order:"DESC"},priority:10},d.view.settings.post.id&&(a.uploaded={text:c.uploadedToThisPost,props:{status:null,type:null,uploadedTo:d.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20}),a.unattached={text:c.unattached,props:{status:null,uploadedTo:0,type:null,orderby:"menuOrder",order:"ASC"},priority:50},d.view.settings.mediaTrash&&this.controller.isModeActive("grid")&&(a.trash={text:c.trash,props:{uploadedTo:null,status:"trash",type:null,orderby:"date",order:"DESC"},priority:50}),this.filters=a}}),d.view.AttachmentsBrowser=d.View.extend({tagName:"div",className:"attachments-browser",initialize:function(){b.defaults(this.options,{filters:!1,search:!0,display:!1,sidebar:!0,AttachmentView:d.view.Attachment.Library}),this.listenTo(this.controller,"toggle:upload:attachment",b.bind(this.toggleUploader,this)),this.createToolbar(),this.options.sidebar&&this.createSidebar(),this.createUploader(),this.createAttachments(),this.updateContent(),this.options.sidebar&&"errors"!==this.options.sidebar||(this.$el.addClass("hide-sidebar"),"errors"===this.options.sidebar&&this.$el.addClass("sidebar-for-errors")),this.collection.on("add remove reset",this.updateContent,this)},dispose:function(){return this.options.selection.off(null,null,this),d.View.prototype.dispose.apply(this,arguments),this},createToolbar:function(){var b,e,f;f={controller:this.controller},this.controller.isModeActive("grid")&&(f.className="media-toolbar wp-filter"),this.toolbar=new d.view.Toolbar(f),this.views.add(this.toolbar),this.toolbar.set("spinner",new d.view.Spinner({priority:-60})),-1!==a.inArray(this.options.filters,["uploaded","all"])&&(this.toolbar.set("filtersLabel",new d.view.Label({value:c.filterByType,attributes:{"for":"media-attachment-filters"},priority:-80}).render()),"uploaded"===this.options.filters?this.toolbar.set("filters",new d.view.AttachmentFilters.Uploaded({controller:this.controller,model:this.collection.props,priority:-80}).render()):(e=new d.view.AttachmentFilters.All({controller:this.controller,model:this.collection.props,priority:-80}),this.toolbar.set("filters",e.render()))),this.controller.isModeActive("grid")&&(b=d.View.extend({className:"view-switch media-grid-view-switch",template:d.template("media-library-view-switcher")}),this.toolbar.set("libraryViewSwitcher",new b({controller:this.controller,priority:-90}).render()),this.toolbar.set("dateFilterLabel",new d.view.Label({value:c.filterByDate,attributes:{"for":"media-attachment-date-filters"},priority:-75}).render()),this.toolbar.set("dateFilter",new d.view.DateFilter({controller:this.controller,model:this.collection.props,priority:-75}).render()),this.toolbar.set("selectModeToggleButton",new d.view.SelectModeToggleButton({text:c.bulkSelect,controller:this.controller,priority:-70}).render()),this.toolbar.set("deleteSelectedButton",new d.view.DeleteSelectedButton({filters:e,style:"primary",disabled:!0,text:d.view.settings.mediaTrash?c.trashSelected:c.deleteSelected,controller:this.controller,priority:-60,click:function(){var b,e=[],f=this,g=this.controller.state().get("selection"),h=this.controller.state().get("library");if(g.length&&(d.view.settings.mediaTrash||confirm(c.warnBulkDelete))&&(!d.view.settings.mediaTrash||"trash"===g.at(0).get("status")||confirm(c.warnBulkTrash))){for(;g.length>0;)b=g.at(0),d.view.settings.mediaTrash&&"trash"===b.get("status")?(b.set("status","inherit"),e.push(b.save()),g.remove(b)):d.view.settings.mediaTrash?(b.set("status","trash"),e.push(b.save()),g.remove(b)):b.destroy();e.length?a.when.apply(null,e).then(function(){h._requery(!0),f.controller.trigger("selection:action:done")}):this.controller.trigger("selection:action:done")}}}).render())),this.options.search&&(this.toolbar.set("searchLabel",new d.view.Label({value:c.searchMediaLabel,attributes:{"for":"media-search-input"},priority:60}).render()),this.toolbar.set("search",new d.view.Search({controller:this.controller,model:this.collection.props,priority:60}).render())),this.options.dragInfo&&this.toolbar.set("dragInfo",new d.View({el:a('<div class="instructions">'+c.dragInfo+"</div>")[0],priority:-40})),this.options.suggestedWidth&&this.options.suggestedHeight&&this.toolbar.set("suggestedDimensions",new d.View({el:a('<div class="instructions">'+c.suggestedDimensions+" "+this.options.suggestedWidth+" &times; "+this.options.suggestedHeight+"</div>")[0],priority:-40}))},updateContent:function(){var a,b=this;a=this.controller.isModeActive("grid")?b.attachmentsNoResults:b.uploader,this.collection.length?(a.$el.addClass("hidden"),b.toolbar.get("spinner").hide()):(this.toolbar.get("spinner").show(),this.dfd=this.collection.more().done(function(){b.collection.length?a.$el.addClass("hidden"):a.$el.removeClass("hidden"),b.toolbar.get("spinner").hide()}))},createUploader:function(){this.uploader=new d.view.UploaderInline({controller:this.controller,status:!1,message:this.controller.isModeActive("grid")?"":c.noItemsFound,canClose:this.controller.isModeActive("grid")}),this.uploader.hide(),this.views.add(this.uploader)},toggleUploader:function(){this.uploader.$el.hasClass("hidden")?this.uploader.show():this.uploader.hide()},createAttachments:function(){this.attachments=new d.view.Attachments({controller:this.controller,collection:this.collection,selection:this.options.selection,model:this.model,sortable:this.options.sortable,scrollElement:this.options.scrollElement,idealColumnWidth:this.options.idealColumnWidth,AttachmentView:this.options.AttachmentView}),this.attachments.listenTo(this.controller,"attachment:keydown:arrow",this.attachments.arrowEvent),this.attachments.listenTo(this.controller,"attachment:details:shift-tab",this.attachments.restoreFocus),this.views.add(this.attachments),this.controller.isModeActive("grid")&&(this.attachmentsNoResults=new d.View({controller:this.controller,tagName:"p"}),this.attachmentsNoResults.$el.addClass("hidden no-media"),this.attachmentsNoResults.$el.html(c.noMedia),this.views.add(this.attachmentsNoResults))},createSidebar:function(){var a=this.options,b=a.selection,c=this.sidebar=new d.view.Sidebar({controller:this.controller});this.views.add(c),this.controller.uploader&&c.set("uploads",new d.view.UploaderStatus({controller:this.controller,priority:40})),b.on("selection:single",this.createSingle,this),b.on("selection:unsingle",this.disposeSingle,this),b.single()&&this.createSingle()},createSingle:function(){var a=this.sidebar,b=this.options.selection.single();a.set("details",new d.view.Attachment.Details({controller:this.controller,model:b,priority:80})),a.set("compat",new d.view.AttachmentCompat({controller:this.controller,model:b,priority:120})),this.options.display&&a.set("display",new d.view.Settings.AttachmentDisplay({controller:this.controller,model:this.model.display(b),attachment:b,priority:160,userSettings:this.model.get("displayUserSettings")})),"insert"===this.model.id&&a.$el.addClass("visible")},disposeSingle:function(){var a=this.sidebar;a.unset("details"),a.unset("compat"),a.unset("display"),a.$el.removeClass("visible")}}),d.view.Selection=d.View.extend({tagName:"div",className:"media-selection",template:d.template("media-selection"),events:{"click .edit-selection":"edit","click .clear-selection":"clear"},initialize:function(){b.defaults(this.options,{editable:!1,clearable:!0}),this.attachments=new d.view.Attachments.Selection({controller:this.controller,collection:this.collection,selection:this.collection,model:new Backbone.Model}),this.views.set(".selection-view",this.attachments),this.collection.on("add remove reset",this.refresh,this),this.controller.on("content:activate",this.refresh,this)},ready:function(){this.refresh()},refresh:function(){if(this.$el.children().length){var a=this.collection,b="edit-selection"===this.controller.content.mode();this.$el.toggleClass("empty",!a.length),this.$el.toggleClass("one",1===a.length),this.$el.toggleClass("editing",b),this.$(".count").text(c.selected.replace("%d",a.length))}},edit:function(a){a.preventDefault(),this.options.editable&&this.options.editable.call(this,this.collection)},clear:function(a){a.preventDefault(),this.collection.reset(),this.controller.modal.focusManager.focus()}}),d.view.Attachment.Selection=d.view.Attachment.extend({className:"attachment selection",toggleSelection:function(){this.options.selection.single(this.model)}}),d.view.Attachments.Selection=d.view.Attachments.extend({events:{},initialize:function(){return b.defaults(this.options,{sortable:!0,resize:!1,AttachmentView:d.view.Attachment.Selection}),d.view.Attachments.prototype.initialize.apply(this,arguments)}}),d.view.Attachment.EditSelection=d.view.Attachment.Selection.extend({buttons:{close:!0}}),d.view.Settings=d.View.extend({events:{"click button":"updateHandler","change input":"updateHandler","change select":"updateHandler","change textarea":"updateHandler"},initialize:function(){this.model=this.model||new Backbone.Model,this.model.on("change",this.updateChanges,this)},prepare:function(){return b.defaults({model:this.model.toJSON()},this.options)},render:function(){return d.View.prototype.render.apply(this,arguments),b(this.model.attributes).chain().keys().each(this.update,this),this},update:function(a){var b,c,d=this.model.get(a),e=this.$('[data-setting="'+a+'"]');e.length&&(e.is("select")?(c=e.find('[value="'+d+'"]'),c.length?(e.find("option").prop("selected",!1),c.prop("selected",!0)):this.model.set(a,e.find(":selected").val())):e.hasClass("button-group")?(b=e.find("button").removeClass("active"),b.filter('[value="'+d+'"]').addClass("active")):e.is('input[type="text"], textarea')?e.is(":focus")||e.val(d):e.is('input[type="checkbox"]')&&e.prop("checked",!!d&&"false"!==d))},updateHandler:function(b){var c,d=a(b.target).closest("[data-setting]"),e=b.target.value;b.preventDefault(),d.length&&(d.is('input[type="checkbox"]')&&(e=d[0].checked),this.model.set(d.data("setting"),e),(c=d.data("userSetting"))&&setUserSetting(c,e))},updateChanges:function(a){a.hasChanged()&&b(a.changed).chain().keys().each(this.update,this)}}),d.view.Settings.AttachmentDisplay=d.view.Settings.extend({className:"attachment-display-settings",template:d.template("attachment-display-settings"),initialize:function(){var a=this.options.attachment;b.defaults(this.options,{userSettings:!1}),d.view.Settings.prototype.initialize.apply(this,arguments),this.model.on("change:link",this.updateLinkTo,this),a&&a.on("change:uploading",this.render,this)},dispose:function(){var a=this.options.attachment;a&&a.off(null,null,this),d.view.Settings.prototype.dispose.apply(this,arguments)},render:function(){var a=this.options.attachment;return a&&b.extend(this.options,{sizes:a.get("sizes"),type:a.get("type")}),d.view.Settings.prototype.render.call(this),this.updateLinkTo(),this},updateLinkTo:function(){var a=this.model.get("link"),b=this.$(".link-to-custom"),c=this.options.attachment;return"none"===a||"embed"===a||!c&&"custom"!==a?void b.addClass("hidden"):(c&&("post"===a?b.val(c.get("link")):"file"===a?b.val(c.get("url")):this.model.get("linkUrl")||b.val("http://"),b.prop("readonly","custom"!==a)),b.removeClass("hidden"),void(!e&&b.is(":visible")&&b.focus()[0].select()))}}),d.view.Settings.Gallery=d.view.Settings.extend({className:"collection-settings gallery-settings",template:d.template("gallery-settings")}),d.view.Settings.Playlist=d.view.Settings.extend({className:"collection-settings playlist-settings",template:d.template("playlist-settings")}),d.view.Attachment.Details=d.view.Attachment.extend({tagName:"div",className:"attachment-details",template:d.template("attachment-details"),events:{"change [data-setting]":"updateSetting","change [data-setting] input":"updateSetting","change [data-setting] select":"updateSetting","change [data-setting] textarea":"updateSetting","click .delete-attachment":"deleteAttachment","click .trash-attachment":"trashAttachment","click .untrash-attachment":"untrashAttachment","click .edit-attachment":"editAttachment","click .refresh-attachment":"refreshAttachment",keydown:"toggleSelectionHandler"},initialize:function(){this.options=b.defaults(this.options,{rerenderOnModelChange:!1}),this.on("ready",this.initialFocus),d.view.Attachment.prototype.initialize.apply(this,arguments)},initialFocus:function(){e||this.$(":input").eq(0).focus()},deleteAttachment:function(a){a.preventDefault(),confirm(c.warnDelete)&&(this.model.destroy(),this.controller.modal.focusManager.focus())},trashAttachment:function(a){var b=this.controller.library;a.preventDefault(),d.view.settings.mediaTrash&&"edit-metadata"===this.controller.content.mode()?(this.model.set("status","trash"),this.model.save().done(function(){b._requery(!0)})):this.model.destroy()},untrashAttachment:function(a){var b=this.controller.library;a.preventDefault(),this.model.set("status","inherit"),this.model.save().done(function(){b._requery(!0)})},editAttachment:function(a){var b=this.controller.states.get("edit-image");window.imageEdit&&b?(a.preventDefault(),b.set("image",this.model),this.controller.setState("edit-image")):this.$el.addClass("needs-refresh")},refreshAttachment:function(a){this.$el.removeClass("needs-refresh"),a.preventDefault(),this.model.fetch()},toggleSelectionHandler:function(a){return"keydown"===a.type&&9===a.keyCode&&a.shiftKey&&a.target===this.$(":tabbable").get(0)?(this.controller.trigger("attachment:details:shift-tab",a),!1):37===a.keyCode||38===a.keyCode||39===a.keyCode||40===a.keyCode?void this.controller.trigger("attachment:keydown:arrow",a):void 0}}),d.view.AttachmentCompat=d.View.extend({tagName:"form",className:"compat-item",events:{submit:"preventDefault","change input":"save","change select":"save","change textarea":"save"},initialize:function(){this.model.on("change:compat",this.render,this)},dispose:function(){return this.$(":focus").length&&this.save(),d.View.prototype.dispose.apply(this,arguments)},render:function(){var a=this.model.get("compat");if(a&&a.item)return this.views.detach(),this.$el.html(a.item),this.views.render(),this},preventDefault:function(a){a.preventDefault()},save:function(a){var c={};a&&a.preventDefault(),b.each(this.$el.serializeArray(),function(a){c[a.name]=a.value}),this.model.saveCompat(c)}}),d.view.Iframe=d.View.extend({className:"media-iframe",render:function(){return this.views.detach(),this.$el.html('<iframe src="'+this.controller.state().get("src")+'" />'),this.views.render(),this}}),d.view.Embed=d.View.extend({className:"media-embed",initialize:function(){this.url=new d.view.EmbedUrl({controller:this.controller,model:this.model.props}).render(),this.views.set([this.url]),this.refresh(),this.model.on("change:type",this.refresh,this),this.model.on("change:loading",this.loading,this)},settings:function(a){this._settings&&this._settings.remove(),this._settings=a,this.views.add(a)},refresh:function(){var a,b=this.model.get("type");if("image"===b)a=d.view.EmbedImage;else{if("link"!==b)return;a=d.view.EmbedLink}this.settings(new a({controller:this.controller,model:this.model.props,priority:40}))},loading:function(){this.$el.toggleClass("embed-loading",this.model.get("loading"))}}),d.view.Label=d.View.extend({tagName:"label",className:"screen-reader-text",initialize:function(){this.value=this.options.value},render:function(){return this.$el.html(this.value),this}}),d.view.EmbedUrl=d.View.extend({tagName:"label",className:"embed-url",events:{input:"url",keyup:"url",change:"url"},initialize:function(){var c=this;this.$input=a('<input id="embed-url-field" type="url" />').val(this.model.get("url")),this.input=this.$input[0],this.spinner=a('<span class="spinner" />')[0],this.$el.append([this.input,this.spinner]),this.model.on("change:url",this.render,this),this.model.get("url")&&b.delay(function(){c.model.trigger("change:url")},500)},render:function(){var a=this.$input;if(!a.is(":focus"))return this.input.value=this.model.get("url")||"http://",d.View.prototype.render.apply(this,arguments),this},ready:function(){e||this.focus()},url:function(a){this.model.set("url",a.target.value)},focus:function(){var a=this.$input;a.is(":visible")&&a.focus()[0].select()}}),d.view.EmbedLink=d.view.Settings.extend({className:"embed-link-settings",template:d.template("embed-link-settings"),initialize:function(){this.spinner=a('<span class="spinner" />'),this.$el.append(this.spinner[0]),this.listenTo(this.model,"change:url",this.updateoEmbed)},updateoEmbed:function(){var a=this.model.get("url");this.$(".setting.title").show(),this.$(".embed-container").hide().find(".embed-preview").html(""),a&&a.length<6||(this.spinner.show(),setTimeout(b.bind(this.fetch,this),500))},fetch:function(){a("#embed-url-field").val()===this.model.get("url")&&wp.ajax.send("parse-embed",{data:{post_ID:d.view.settings.post.id,shortcode:"[embed]"+this.model.get("url")+"[/embed]"}}).done(b.bind(this.renderoEmbed,this))},renderoEmbed:function(a){var b=a&&a.body||"";this.spinner.hide(),this.$(".setting.title").hide(),this.$(".embed-container").show().find(".embed-preview").html(b)}}),d.view.EmbedImage=d.view.Settings.AttachmentDisplay.extend({className:"embed-media-settings",template:d.template("embed-image-settings"),initialize:function(){d.view.Settings.AttachmentDisplay.prototype.initialize.apply(this,arguments),this.model.on("change:url",this.updateImage,this)},updateImage:function(){this.$("img").attr("src",this.model.get("url"))}}),d.view.ImageDetails=d.view.Settings.AttachmentDisplay.extend({className:"image-details",template:d.template("image-details"),events:b.defaults(d.view.Settings.AttachmentDisplay.prototype.events,{"click .edit-attachment":"editAttachment","click .replace-attachment":"replaceAttachment","click .advanced-toggle":"onToggleAdvanced",'change [data-setting="customWidth"]':"onCustomSize",'change [data-setting="customHeight"]':"onCustomSize",'keyup [data-setting="customWidth"]':"onCustomSize",'keyup [data-setting="customHeight"]':"onCustomSize"}),initialize:function(){this.options.attachment=this.model.attachment,this.listenTo(this.model,"change:url",this.updateUrl),this.listenTo(this.model,"change:link",this.toggleLinkSettings),this.listenTo(this.model,"change:size",this.toggleCustomSize),d.view.Settings.AttachmentDisplay.prototype.initialize.apply(this,arguments)},prepare:function(){var a=!1;return this.model.attachment&&(a=this.model.attachment.toJSON()),b.defaults({model:this.model.toJSON(),attachment:a},this.options)},render:function(){var a=this,b=arguments;return this.model.attachment&&"pending"===this.model.dfd.state()?this.model.dfd.done(function(){d.view.Settings.AttachmentDisplay.prototype.render.apply(a,b),a.postRender()}).fail(function(){a.model.attachment=!1,d.view.Settings.AttachmentDisplay.prototype.render.apply(a,b),a.postRender()}):(d.view.Settings.AttachmentDisplay.prototype.render.apply(this,arguments),this.postRender()),this},postRender:function(){setTimeout(b.bind(this.resetFocus,this),10),this.toggleLinkSettings(),"show"===getUserSetting("advImgDetails")&&this.toggleAdvanced(!0),this.trigger("post-render")},resetFocus:function(){this.$(".link-to-custom").blur(),this.$(".embed-media-settings").scrollTop(0)},updateUrl:function(){this.$(".image img").attr("src",this.model.get("url")),this.$(".url").val(this.model.get("url"))},toggleLinkSettings:function(){"none"===this.model.get("link")?this.$(".link-settings").addClass("hidden"):this.$(".link-settings").removeClass("hidden")},toggleCustomSize:function(){"custom"!==this.model.get("size")?this.$(".custom-size").addClass("hidden"):this.$(".custom-size").removeClass("hidden")},onCustomSize:function(b){var c,d=a(b.target).data("setting"),e=a(b.target).val();return!/^\d+/.test(e)||parseInt(e,10)<1?void b.preventDefault():void("customWidth"===d?(c=Math.round(1/this.model.get("aspectRatio")*e),this.model.set("customHeight",c,{silent:!0}),this.$('[data-setting="customHeight"]').val(c)):(c=Math.round(this.model.get("aspectRatio")*e),this.model.set("customWidth",c,{silent:!0}),this.$('[data-setting="customWidth"]').val(c)))},onToggleAdvanced:function(a){a.preventDefault(),this.toggleAdvanced()},toggleAdvanced:function(a){var b,c=this.$el.find(".advanced-section");c.hasClass("advanced-visible")||a===!1?(c.removeClass("advanced-visible"),c.find(".advanced-settings").addClass("hidden"),b="hide"):(c.addClass("advanced-visible"),c.find(".advanced-settings").removeClass("hidden"),b="show"),setUserSetting("advImgDetails",b)},editAttachment:function(a){var b=this.controller.states.get("edit-image");window.imageEdit&&b&&(a.preventDefault(),b.set("image",this.model.attachment),this.controller.setState("edit-image"))},replaceAttachment:function(a){a.preventDefault(),this.controller.setState("replace-image")}}),d.view.Cropper=d.View.extend({className:"crop-content",template:d.template("crop-content"),initialize:function(){b.bindAll(this,"onImageLoad")},ready:function(){this.controller.frame.on("content:error:crop",this.onError,this),this.$image=this.$el.find(".crop-image"),this.$image.on("load",this.onImageLoad),a(window).on("resize.cropper",b.debounce(this.onImageLoad,250))},remove:function(){a(window).off("resize.cropper"),this.$el.remove(),this.$el.off(),wp.media.View.prototype.remove.apply(this,arguments)},prepare:function(){return{title:c.cropYourImage,url:this.options.attachment.get("url")}},onImageLoad:function(){var a=this.controller.get("imgSelectOptions");"function"==typeof a&&(a=a(this.options.attachment,this.controller)),a=b.extend(a,{parent:this.$el}),this.trigger("image-loaded"),this.controller.imgSelect=this.$image.imgAreaSelect(a)},onError:function(){var a=this.options.attachment.get("filename");this.views.add(".upload-errors",new d.view.UploaderStatusError({filename:d.view.UploaderStatus.prototype.filename(a),message:_wpMediaViewsL10n.cropError}),{at:0})}}),d.view.EditImage=d.View.extend({className:"image-editor",template:d.template("image-editor"),initialize:function(a){this.editor=window.imageEdit,this.controller=a.controller,d.View.prototype.initialize.apply(this,arguments)},prepare:function(){return this.model.toJSON()},render:function(){return d.View.prototype.render.apply(this,arguments),this},loadEditor:function(){var a=this.editor.open(this.model.get("id"),this.model.get("nonces").edit,this);a.done(b.bind(this.focus,this))},focus:function(){this.$(".imgedit-submit .button").eq(0).focus()},back:function(){var a=this.controller.lastState();this.controller.setState(a)},refresh:function(){this.model.fetch()},save:function(){var a=this,b=this.controller.lastState();this.model.fetch().done(function(){a.controller.setState(b)})}}),d.view.Spinner=d.View.extend({tagName:"span",className:"spinner",spinnerTimeout:!1,delay:400,show:function(){return this.spinnerTimeout||(this.spinnerTimeout=b.delay(function(a){a.show()},this.delay,this.$el)),this},hide:function(){return this.$el.hide(),this.spinnerTimeout=clearTimeout(this.spinnerTimeout),this}})}(jQuery,_);
\ No newline at end of file
diff --git a/wp-includes/js/mediaelement/bigplay.svg b/wp-includes/js/mediaelement/bigplay.svg
index c2f62bbc0..cae681488 100644
--- a/wp-includes/js/mediaelement/bigplay.svg
+++ b/wp-includes/js/mediaelement/bigplay.svg
@@ -1 +1 @@
-<?xml version="1.0" standalone="no"?>
<!-- Generator: Adobe Fireworks CS6, Export SVG Extension by Aaron Beall (http://fireworks.abeall.com) . Version: 0.6.1  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg id="bigplay-gradient.fw-Page%201" viewBox="0 0 100 200" style="background-color:#ffffff00" version="1.1"
	xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"
	x="0px" y="0px" width="100px" height="200px"
>
	<defs>
		<radialGradient id="gradient1" cx="50%" cy="50%" r="50%">
			<stop stop-color="#222222" stop-opacity="0" offset="70%"/>
			<stop stop-color="#222222" stop-opacity="0.0118" offset="70.202%"/>
			<stop stop-color="#333333" stop-opacity="1" offset="85%"/>
			<stop stop-color="#333333" stop-opacity="0" offset="100%"/>
		</radialGradient>
		<radialGradient id="gradient2" cx="50%" cy="50%" r="50%">
			<stop stop-color="#bbbbbb" stop-opacity="0" offset="70%"/>
			<stop stop-color="#bbbbbb" stop-opacity="0.0118" offset="70.202%"/>
			<stop stop-color="#bbbbbb" stop-opacity="1" offset="85%"/>
			<stop stop-color="#bbbbbb" stop-opacity="0" offset="100%"/>
		</radialGradient>
		<filter id="filter1" x="-100%" y="-100%" width="300%" height="300%">
			<!-- Glow -->
			<feColorMatrix result="out" in="SourceGraphic" type="matrix" values="0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.251 0"/>
			<feMorphology result="out" in="out" operator="dilate" radius="3"/>
			<feGaussianBlur result="out" in="out" stdDeviation="1.5"/>
			<feBlend in="SourceGraphic" in2="out" mode="normal" result="Glow1"/>
		</filter>
		<filter id="filter2" x="-100%" y="-100%" width="300%" height="300%">
			<!-- Glow -->
			<feColorMatrix result="out" in="SourceGraphic" type="matrix" values="0 0 0 0.8667 0  0 0 0 0.8667 0  0 0 0 0.8667 0  0 0 0 0.251 0"/>
			<feMorphology result="out" in="out" operator="dilate" radius="3"/>
			<feGaussianBlur result="out" in="out" stdDeviation="1.5"/>
			<feBlend in="SourceGraphic" in2="out" mode="normal" result="Glow2"/>
		</filter>
	</defs>
	<g id="Background">
	</g>
	<g id="dark%20shadow">
		<path d="M 22 50 C 22 34.5358 34.5358 22 50 22 C 65.4642 22 78 34.5358 78 50 C 78 65.4642 65.4642 78 50 78 C 34.5358 78 22 65.4642 22 50 ZM 5 50 C 5 74.8531 25.1469 95 50 95 C 74.8531 95 95 74.8531 95 50 C 95 25.1469 74.8531 5 50 5 C 25.1469 5 5 25.1469 5 50 Z" fill="url(#gradient1)"/>
		<path d="M 22 150 C 22 134.5358 34.5358 122 50 122 C 65.4642 122 78 134.5358 78 150 C 78 165.4642 65.4642 178 50 178 C 34.5358 178 22 165.4642 22 150 ZM 5 150 C 5 174.8531 25.1469 195 50 195 C 74.8531 195 95 174.8531 95 150 C 95 125.1469 74.8531 105 50 105 C 25.1469 105 5 125.1469 5 150 Z" fill="url(#gradient2)"/>
	</g>
	<g id="dark">
		<path id="Polygon" filter="url(#filter1)" d="M 72.5 49.5 L 38.75 68.9856 L 38.75 30.0144 L 72.5 49.5 Z" fill="#ffffff"/>
		<path id="Ellipse" d="M 13 50.5 C 13 29.7891 29.7891 13 50.5 13 C 71.2109 13 88 29.7891 88 50.5 C 88 71.2109 71.2109 88 50.5 88 C 29.7891 88 13 71.2109 13 50.5 Z" stroke="#ffffff" stroke-width="5" fill="none"/>
	</g>
	<g id="light">
		<path id="Polygon2" filter="url(#filter2)" d="M 72.5 149.5 L 38.75 168.9856 L 38.75 130.0144 L 72.5 149.5 Z" fill="#ffffff"/>
		<path id="Ellipse2" d="M 13 150.5 C 13 129.7891 29.7891 113 50.5 113 C 71.2109 113 88 129.7891 88 150.5 C 88 171.211 71.2109 188 50.5 188 C 29.7891 188 13 171.211 13 150.5 Z" stroke="#ffffff" stroke-width="5" fill="none"/>
	</g>
</svg>
\ No newline at end of file
+<?xml version="1.0" standalone="no"?>
<svg id="bigplay" viewBox="0 0 100 200" style="background-color:#ffffff00" version="1.1"
	xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"
	x="0px" y="0px" width="100px" height="200px"
>
	<g id="dark">
		<path id="Polygon"  d="M 72.5 49.5 L 38.75 68.9856 L 38.75 30.0144 L 72.5 49.5 Z" fill="#ffffff" opacity="0.75" />
		<path id="Ellipse" d="M 13 50.5 C 13 29.7891 29.7891 13 50.5 13 C 71.2109 13 88 29.7891 88 50.5 C 88 71.2109 71.2109 88 50.5 88 C 29.7891 88 13 71.2109 13 50.5 Z" stroke="#ffffff" stroke-width="5" fill="none" opacity="0.75"/>
	</g>
	<g id="light">
		<path id="Polygon2"  d="M 72.5 149.5 L 38.75 168.9856 L 38.75 130.0144 L 72.5 149.5 Z" fill="#ffffff" opacity="1.0" />
		<path id="Ellipse2" d="M 13 150.5 C 13 129.7891 29.7891 113 50.5 113 C 71.2109 113 88 129.7891 88 150.5 C 88 171.211 71.2109 188 50.5 188 C 29.7891 188 13 171.211 13 150.5 Z" stroke="#ffffff" stroke-width="5" fill="none" opacity="1.0"/>
	</g>
</svg>
\ No newline at end of file
diff --git a/wp-includes/js/mediaelement/flashmediaelement.swf b/wp-includes/js/mediaelement/flashmediaelement.swf
index 2a5cb8da778c1659dbf164ce9d5fb19d246e20d6..528cc791d011b82ed61d61ad252efc98ec236f9b 100644
GIT binary patch
literal 57051
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%0DnK>zk({#%x89K
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
S524V7pF%eg^#21hDcCEVjS%(#

literal 28709
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
U82)>e5B#6Soac%9-x%4so%w;e`~Uy|

diff --git a/wp-includes/js/mediaelement/mediaelement-and-player.min.js b/wp-includes/js/mediaelement/mediaelement-and-player.min.js
index 131fedc74..5916bfd14 100644
--- a/wp-includes/js/mediaelement/mediaelement-and-player.min.js
+++ b/wp-includes/js/mediaelement/mediaelement-and-player.min.js
@@ -10,9 +10,9 @@
 * Copyright 2010-2014, John Dyer (http://j.hn)
 * License: MIT
 *
-*/var mejs=mejs||{};mejs.version="2.14.2";mejs.meIndex=0;
-mejs.plugins={silverlight:[{version:[3,0],types:["video/mp4","video/m4v","video/mov","video/wmv","audio/wma","audio/m4a","audio/mp3","audio/wav","audio/mpeg"]}],flash:[{version:[9,0,124],types:["video/mp4","video/m4v","video/mov","video/flv","video/rtmp","video/x-flv","audio/flv","audio/x-flv","audio/mp3","audio/m4a","audio/mpeg","video/youtube","video/x-youtube"]}],youtube:[{version:null,types:["video/youtube","video/x-youtube","audio/youtube","audio/x-youtube"]}],vimeo:[{version:null,types:["video/vimeo",
-"video/x-vimeo"]}]};
+*/var mejs=mejs||{};mejs.version="2.15.0";mejs.meIndex=0;
+mejs.plugins={silverlight:[{version:[3,0],types:["video/mp4","video/m4v","video/mov","video/wmv","audio/wma","audio/m4a","audio/mp3","audio/wav","audio/mpeg"]}],flash:[{version:[9,0,124],types:["video/mp4","video/m4v","video/mov","video/flv","video/rtmp","video/x-flv","audio/flv","audio/x-flv","audio/mp3","audio/m4a","audio/mpeg","video/youtube","video/x-youtube","application/x-mpegURL"]}],youtube:[{version:null,types:["video/youtube","video/x-youtube","audio/youtube","audio/x-youtube"]}],vimeo:[{version:null,
+types:["video/vimeo","video/x-vimeo"]}]};
 mejs.Utility={encodeUrl:function(a){return encodeURIComponent(a)},escapeHTML:function(a){return a.toString().split("&").join("&amp;").split("<").join("&lt;").split('"').join("&quot;")},absolutizeUrl:function(a){var b=document.createElement("div");b.innerHTML='<a href="'+this.escapeHTML(a)+'">x</a>';return b.firstChild.href},getScriptPath:function(a){for(var b=0,c,d="",e="",g,f,i=document.getElementsByTagName("script"),k=i.length,h=a.length;b<k;b++){g=i[b].src;c=g.lastIndexOf("/");if(c>-1){f=g.substring(c+
 1);g=g.substring(0,c+1)}else{f=g;g=""}for(c=0;c<h;c++){e=a[c];e=f.indexOf(e);if(e>-1){d=g;break}}if(d!=="")break}return d},secondsToTimeCode:function(a,b,c,d){if(typeof c=="undefined")c=false;else if(typeof d=="undefined")d=25;var e=Math.floor(a/3600)%24,g=Math.floor(a/60)%60,f=Math.floor(a%60);a=Math.floor((a%1*d).toFixed(3));return(b||e>0?(e<10?"0"+e:e)+":":"")+(g<10?"0"+g:g)+":"+(f<10?"0"+f:f)+(c?":"+(a<10?"0"+a:a):"")},timeCodeToSeconds:function(a,b,c,d){if(typeof c=="undefined")c=false;else if(typeof d==
 "undefined")d=25;a=a.split(":");b=parseInt(a[0],10);var e=parseInt(a[1],10),g=parseInt(a[2],10),f=0,i=0;if(c)f=parseInt(a[3])/d;return i=b*3600+e*60+g+f},convertSMPTEtoSeconds:function(a){if(typeof a!="string")return false;a=a.replace(",",".");var b=0,c=a.indexOf(".")!=-1?a.split(".")[1].length:0,d=1;a=a.split(":").reverse();for(var e=0;e<a.length;e++){d=1;if(e>0)d=Math.pow(60,e);b+=Number(a[e])*d}return Number(b.toFixed(c))},removeSwf:function(a){var b=document.getElementById(a);if(b&&/object|embed/i.test(b.nodeName))if(mejs.MediaFeatures.isIE){b.style.display=
@@ -22,19 +22,19 @@ mejs.PluginDetector={hasPluginVersion:function(a,b){var c=this.plugins[a];b[1]=b
 mejs.PluginDetector.addPlugin("flash","Shockwave Flash","application/x-shockwave-flash","ShockwaveFlash.ShockwaveFlash",function(a){var b=[];if(a=a.GetVariable("$version")){a=a.split(" ")[1].split(",");b=[parseInt(a[0],10),parseInt(a[1],10),parseInt(a[2],10)]}return b});
 mejs.PluginDetector.addPlugin("silverlight","Silverlight Plug-In","application/x-silverlight-2","AgControl.AgControl",function(a){var b=[0,0,0,0],c=function(d,e,g,f){for(;d.isVersionSupported(e[0]+"."+e[1]+"."+e[2]+"."+e[3]);)e[g]+=f;e[g]-=f};c(a,b,0,1);c(a,b,1,1);c(a,b,2,1E4);c(a,b,2,1E3);c(a,b,2,100);c(a,b,2,10);c(a,b,2,1);c(a,b,3,1);return b});
 mejs.MediaFeatures={init:function(){var a=this,b=document,c=mejs.PluginDetector.nav,d=mejs.PluginDetector.ua.toLowerCase(),e,g=["source","track","audio","video"];a.isiPad=d.match(/ipad/i)!==null;a.isiPhone=d.match(/iphone/i)!==null;a.isiOS=a.isiPhone||a.isiPad;a.isAndroid=d.match(/android/i)!==null;a.isBustedAndroid=d.match(/android 2\.[12]/)!==null;a.isBustedNativeHTTPS=location.protocol==="https:"&&(d.match(/android [12]\./)!==null||d.match(/macintosh.* version.* safari/)!==null);a.isIE=c.appName.toLowerCase().indexOf("microsoft")!=
--1||c.appName.toLowerCase().match(/trident/gi)!==null;a.isChrome=d.match(/chrome/gi)!==null;a.isFirefox=d.match(/firefox/gi)!==null;a.isWebkit=d.match(/webkit/gi)!==null;a.isGecko=d.match(/gecko/gi)!==null&&!a.isWebkit&&!a.isIE;a.isOpera=d.match(/opera/gi)!==null;a.hasTouch="ontouchstart"in window;a.svg=!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect;for(c=0;c<g.length;c++)e=document.createElement(g[c]);a.supportsMediaTag=typeof e.canPlayType!==
-"undefined"||a.isBustedAndroid;try{e.canPlayType("video/mp4")}catch(f){a.supportsMediaTag=false}a.hasSemiNativeFullScreen=typeof e.webkitEnterFullscreen!=="undefined";a.hasNativeFullscreen=typeof e.requestFullscreen!=="undefined";a.hasWebkitNativeFullScreen=typeof e.webkitRequestFullScreen!=="undefined";a.hasMozNativeFullScreen=typeof e.mozRequestFullScreen!=="undefined";a.hasMsNativeFullScreen=typeof e.msRequestFullscreen!=="undefined";a.hasTrueNativeFullScreen=a.hasWebkitNativeFullScreen||a.hasMozNativeFullScreen||
-a.hasMsNativeFullScreen;a.nativeFullScreenEnabled=a.hasTrueNativeFullScreen;if(a.hasMozNativeFullScreen)a.nativeFullScreenEnabled=document.mozFullScreenEnabled;else if(a.hasMsNativeFullScreen)a.nativeFullScreenEnabled=document.msFullscreenEnabled;if(a.isChrome)a.hasSemiNativeFullScreen=false;if(a.hasTrueNativeFullScreen){a.fullScreenEventName="";if(a.hasWebkitNativeFullScreen)a.fullScreenEventName="webkitfullscreenchange";else if(a.hasMozNativeFullScreen)a.fullScreenEventName="mozfullscreenchange";
-else if(a.hasMsNativeFullScreen)a.fullScreenEventName="MSFullscreenChange";a.isFullScreen=function(){if(e.mozRequestFullScreen)return b.mozFullScreen;else if(e.webkitRequestFullScreen)return b.webkitIsFullScreen;else if(e.hasMsNativeFullScreen)return b.msFullscreenElement!==null};a.requestFullScreen=function(i){if(a.hasWebkitNativeFullScreen)i.webkitRequestFullScreen();else if(a.hasMozNativeFullScreen)i.mozRequestFullScreen();else a.hasMsNativeFullScreen&&i.msRequestFullscreen()};a.cancelFullScreen=
-function(){if(a.hasWebkitNativeFullScreen)document.webkitCancelFullScreen();else if(a.hasMozNativeFullScreen)document.mozCancelFullScreen();else a.hasMsNativeFullScreen&&document.msExitFullscreen()}}if(a.hasSemiNativeFullScreen&&d.match(/mac os x 10_5/i)){a.hasNativeFullScreen=false;a.hasSemiNativeFullScreen=false}}};mejs.MediaFeatures.init();
+-1||c.appName.toLowerCase().match(/trident/gi)!==null;a.isChrome=d.match(/chrome/gi)!==null;a.isFirefox=d.match(/firefox/gi)!==null;a.isWebkit=d.match(/webkit/gi)!==null;a.isGecko=d.match(/gecko/gi)!==null&&!a.isWebkit&&!a.isIE;a.isOpera=d.match(/opera/gi)!==null;a.hasTouch="ontouchstart"in window;a.svg=!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect;for(c=0;c<g.length;c++)e=document.createElement(g[c]);
+a.supportsMediaTag=typeof e.canPlayType!=="undefined"||a.isBustedAndroid;try{e.canPlayType("video/mp4")}catch(f){a.supportsMediaTag=false}a.hasSemiNativeFullScreen=typeof e.webkitEnterFullscreen!=="undefined";a.hasNativeFullscreen=typeof e.requestFullscreen!=="undefined";a.hasWebkitNativeFullScreen=typeof e.webkitRequestFullScreen!=="undefined";a.hasMozNativeFullScreen=typeof e.mozRequestFullScreen!=="undefined";a.hasMsNativeFullScreen=typeof e.msRequestFullscreen!=="undefined";a.hasTrueNativeFullScreen=
+a.hasWebkitNativeFullScreen||a.hasMozNativeFullScreen||a.hasMsNativeFullScreen;a.nativeFullScreenEnabled=a.hasTrueNativeFullScreen;if(a.hasMozNativeFullScreen)a.nativeFullScreenEnabled=document.mozFullScreenEnabled;else if(a.hasMsNativeFullScreen)a.nativeFullScreenEnabled=document.msFullscreenEnabled;if(a.isChrome)a.hasSemiNativeFullScreen=false;if(a.hasTrueNativeFullScreen){a.fullScreenEventName="";if(a.hasWebkitNativeFullScreen)a.fullScreenEventName="webkitfullscreenchange";else if(a.hasMozNativeFullScreen)a.fullScreenEventName=
+"mozfullscreenchange";else if(a.hasMsNativeFullScreen)a.fullScreenEventName="MSFullscreenChange";a.isFullScreen=function(){if(a.hasMozNativeFullScreen)return b.mozFullScreen;else if(a.hasWebkitNativeFullScreen)return b.webkitIsFullScreen;else if(a.hasMsNativeFullScreen)return b.msFullscreenElement!==null};a.requestFullScreen=function(i){if(a.hasWebkitNativeFullScreen)i.webkitRequestFullScreen();else if(a.hasMozNativeFullScreen)i.mozRequestFullScreen();else a.hasMsNativeFullScreen&&i.msRequestFullscreen()};
+a.cancelFullScreen=function(){if(a.hasWebkitNativeFullScreen)document.webkitCancelFullScreen();else if(a.hasMozNativeFullScreen)document.mozCancelFullScreen();else a.hasMsNativeFullScreen&&document.msExitFullscreen()}}if(a.hasSemiNativeFullScreen&&d.match(/mac os x 10_5/i)){a.hasNativeFullScreen=false;a.hasSemiNativeFullScreen=false}}};mejs.MediaFeatures.init();
 mejs.HtmlMediaElement={pluginType:"native",isFullScreen:false,setCurrentTime:function(a){this.currentTime=a},setMuted:function(a){this.muted=a},setVolume:function(a){this.volume=a},stop:function(){this.pause()},setSrc:function(a){for(var b=this.getElementsByTagName("source");b.length>0;)this.removeChild(b[0]);if(typeof a=="string")this.src=a;else{var c;for(b=0;b<a.length;b++){c=a[b];if(this.canPlayType(c.type)){this.src=c.src;break}}}},setVideoSize:function(a,b){this.width=a;this.height=b}};
 mejs.PluginMediaElement=function(a,b,c){this.id=a;this.pluginType=b;this.src=c;this.events={};this.attributes={}};
 mejs.PluginMediaElement.prototype={pluginElement:null,pluginType:"",isFullScreen:false,playbackRate:-1,defaultPlaybackRate:-1,seekable:[],played:[],paused:true,ended:false,seeking:false,duration:0,error:null,tagName:"",muted:false,volume:1,currentTime:0,play:function(){if(this.pluginApi!=null){this.pluginType=="youtube"||this.pluginType=="vimeo"?this.pluginApi.playVideo():this.pluginApi.playMedia();this.paused=false}},load:function(){if(this.pluginApi!=null){this.pluginType=="youtube"||this.pluginType==
 "vimeo"||this.pluginApi.loadMedia();this.paused=false}},pause:function(){if(this.pluginApi!=null){this.pluginType=="youtube"||this.pluginType=="vimeo"?this.pluginApi.pauseVideo():this.pluginApi.pauseMedia();this.paused=true}},stop:function(){if(this.pluginApi!=null){this.pluginType=="youtube"||this.pluginType=="vimeo"?this.pluginApi.stopVideo():this.pluginApi.stopMedia();this.paused=true}},canPlayType:function(a){var b,c,d,e=mejs.plugins[this.pluginType];for(b=0;b<e.length;b++){d=e[b];if(mejs.PluginDetector.hasPluginVersion(this.pluginType,
 d.version))for(c=0;c<d.types.length;c++)if(a==d.types[c])return"probably"}return""},positionFullscreenButton:function(a,b,c){this.pluginApi!=null&&this.pluginApi.positionFullscreenButton&&this.pluginApi.positionFullscreenButton(Math.floor(a),Math.floor(b),c)},hideFullscreenButton:function(){this.pluginApi!=null&&this.pluginApi.hideFullscreenButton&&this.pluginApi.hideFullscreenButton()},setSrc:function(a){if(typeof a=="string"){this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(a));this.src=mejs.Utility.absolutizeUrl(a)}else{var b,
-c;for(b=0;b<a.length;b++){c=a[b];if(this.canPlayType(c.type)){this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(c.src));this.src=mejs.Utility.absolutizeUrl(a);break}}}},setCurrentTime:function(a){if(this.pluginApi!=null){this.pluginType=="youtube"||this.pluginType=="vimeo"?this.pluginApi.seekTo(a):this.pluginApi.setCurrentTime(a);this.currentTime=a}},setVolume:function(a){if(this.pluginApi!=null){this.pluginType=="youtube"||this.pluginType=="vimeo"?this.pluginApi.setVolume(a*100):this.pluginApi.setVolume(a);
-this.volume=a}},setMuted:function(a){if(this.pluginApi!=null){if(this.pluginType=="youtube"||this.pluginType=="vimeo"){a?this.pluginApi.mute():this.pluginApi.unMute();this.muted=a;this.dispatchEvent("volumechange")}else this.pluginApi.setMuted(a);this.muted=a}},setVideoSize:function(a,b){if(this.pluginElement.style){this.pluginElement.style.width=a+"px";this.pluginElement.style.height=b+"px"}this.pluginApi!=null&&this.pluginApi.setVideoSize&&this.pluginApi.setVideoSize(a,b)},setFullscreen:function(a){this.pluginApi!=
-null&&this.pluginApi.setFullscreen&&this.pluginApi.setFullscreen(a)},enterFullScreen:function(){this.pluginApi!=null&&this.pluginApi.setFullscreen&&this.setFullscreen(true)},exitFullScreen:function(){this.pluginApi!=null&&this.pluginApi.setFullscreen&&this.setFullscreen(false)},addEventListener:function(a,b){this.events[a]=this.events[a]||[];this.events[a].push(b)},removeEventListener:function(a,b){if(!a){this.events={};return true}var c=this.events[a];if(!c)return true;if(!b){this.events[a]=[];return true}for(var d=
+c;for(b=0;b<a.length;b++){c=a[b];if(this.canPlayType(c.type)){this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(c.src));this.src=mejs.Utility.absolutizeUrl(a);break}}}},setCurrentTime:function(a){if(this.pluginApi!=null){this.pluginType=="youtube"||this.pluginType=="vimeo"?this.pluginApi.seekTo(a):this.pluginApi.setCurrentTime(a);this.currentTime=a}},setVolume:function(a){if(this.pluginApi!=null){this.pluginType=="youtube"?this.pluginApi.setVolume(a*100):this.pluginApi.setVolume(a);this.volume=a}},
+setMuted:function(a){if(this.pluginApi!=null){if(this.pluginType=="youtube"){a?this.pluginApi.mute():this.pluginApi.unMute();this.muted=a;this.dispatchEvent("volumechange")}else this.pluginApi.setMuted(a);this.muted=a}},setVideoSize:function(a,b){if(this.pluginElement&&this.pluginElement.style){this.pluginElement.style.width=a+"px";this.pluginElement.style.height=b+"px"}this.pluginApi!=null&&this.pluginApi.setVideoSize&&this.pluginApi.setVideoSize(a,b)},setFullscreen:function(a){this.pluginApi!=null&&
+this.pluginApi.setFullscreen&&this.pluginApi.setFullscreen(a)},enterFullScreen:function(){this.pluginApi!=null&&this.pluginApi.setFullscreen&&this.setFullscreen(true)},exitFullScreen:function(){this.pluginApi!=null&&this.pluginApi.setFullscreen&&this.setFullscreen(false)},addEventListener:function(a,b){this.events[a]=this.events[a]||[];this.events[a].push(b)},removeEventListener:function(a,b){if(!a){this.events={};return true}var c=this.events[a];if(!c)return true;if(!b){this.events[a]=[];return true}for(var d=
 0;d<c.length;d++)if(c[d]===b){this.events[a].splice(d,1);return true}return false},dispatchEvent:function(a){var b,c,d=this.events[a];if(d){c=Array.prototype.slice.call(arguments,1);for(b=0;b<d.length;b++)d[b].apply(null,c)}},hasAttribute:function(a){return a in this.attributes},removeAttribute:function(a){delete this.attributes[a]},getAttribute:function(a){if(this.hasAttribute(a))return this.attributes[a];return""},setAttribute:function(a,b){this.attributes[a]=b},remove:function(){mejs.Utility.removeSwf(this.pluginElement.id);
 mejs.MediaPluginBridge.unregisterPluginElement(this.pluginElement.id)}};
 mejs.MediaPluginBridge={pluginMediaElements:{},htmlMediaElements:{},registerPluginElement:function(a,b,c){this.pluginMediaElements[a]=b;this.htmlMediaElements[a]=c},unregisterPluginElement:function(a){delete this.pluginMediaElements[a];delete this.htmlMediaElements[a]},initPlugin:function(a){var b=this.pluginMediaElements[a],c=this.htmlMediaElements[a];if(b){switch(b.pluginType){case "flash":b.pluginElement=b.pluginApi=document.getElementById(a);break;case "silverlight":b.pluginElement=document.getElementById(b.id);
@@ -44,27 +44,28 @@ defaultVideoHeight:270,pluginWidth:-1,pluginHeight:-1,pluginVars:[],timerRate:25
 mejs.HtmlMediaElementShim={create:function(a,b){var c=mejs.MediaElementDefaults,d=typeof a=="string"?document.getElementById(a):a,e=d.tagName.toLowerCase(),g=e==="audio"||e==="video",f=g?d.getAttribute("src"):d.getAttribute("href");e=d.getAttribute("poster");var i=d.getAttribute("autoplay"),k=d.getAttribute("preload"),h=d.getAttribute("controls"),j;for(j in b)c[j]=b[j];f=typeof f=="undefined"||f===null||f==""?null:f;e=typeof e=="undefined"||e===null?"":e;k=typeof k=="undefined"||k===null||k==="false"?
 "none":k;i=!(typeof i=="undefined"||i===null||i==="false");h=!(typeof h=="undefined"||h===null||h==="false");j=this.determinePlayback(d,c,mejs.MediaFeatures.supportsMediaTag,g,f);j.url=j.url!==null?mejs.Utility.absolutizeUrl(j.url):"";if(j.method=="native"){if(mejs.MediaFeatures.isBustedAndroid){d.src=j.url;d.addEventListener("click",function(){d.play()},false)}return this.updateNative(j,c,i,k)}else if(j.method!=="")return this.createPlugin(j,c,e,i,k,h);else{this.createErrorMessage(j,c,e);return this}},
 determinePlayback:function(a,b,c,d,e){var g=[],f,i,k,h={method:"",url:"",htmlMediaElement:a,isVideo:a.tagName.toLowerCase()!="audio"},j;if(typeof b.type!="undefined"&&b.type!=="")if(typeof b.type=="string")g.push({type:b.type,url:e});else for(f=0;f<b.type.length;f++)g.push({type:b.type[f],url:e});else if(e!==null){k=this.formatType(e,a.getAttribute("type"));g.push({type:k,url:e})}else for(f=0;f<a.childNodes.length;f++){i=a.childNodes[f];if(i.nodeType==1&&i.tagName.toLowerCase()=="source"){e=i.getAttribute("src");
-k=this.formatType(e,i.getAttribute("type"));i=i.getAttribute("media");if(!i||!window.matchMedia||window.matchMedia&&window.matchMedia(i).matches)g.push({type:k,url:e})}}if(!d&&g.length>0&&g[0].url!==null&&this.getTypeFromFile(g[0].url).indexOf("audio")>-1)h.isVideo=false;if(mejs.MediaFeatures.isBustedAndroid)a.canPlayType=function(m){return m.match(/video\/(mp4|m4v)/gi)!==null?"maybe":""};if(c&&(b.mode==="auto"||b.mode==="auto_plugin"||b.mode==="native")&&!(mejs.MediaFeatures.isBustedNativeHTTPS&&
-b.httpsBasicAuthSite===true)){if(!d){f=document.createElement(h.isVideo?"video":"audio");a.parentNode.insertBefore(f,a);a.style.display="none";h.htmlMediaElement=a=f}for(f=0;f<g.length;f++)if(a.canPlayType(g[f].type).replace(/no/,"")!==""||a.canPlayType(g[f].type.replace(/mp3/,"mpeg")).replace(/no/,"")!==""||a.canPlayType(g[f].type.replace(/m4a/,"mp4")).replace(/no/,"")!==""){h.method="native";h.url=g[f].url;break}if(h.method==="native"){if(h.url!==null)a.src=h.url;if(b.mode!=="auto_plugin")return h}}if(b.mode===
-"auto"||b.mode==="auto_plugin"||b.mode==="shim")for(f=0;f<g.length;f++){k=g[f].type;for(a=0;a<b.plugins.length;a++){e=b.plugins[a];i=mejs.plugins[e];for(c=0;c<i.length;c++){j=i[c];if(j.version==null||mejs.PluginDetector.hasPluginVersion(e,j.version))for(d=0;d<j.types.length;d++)if(k==j.types[d]){h.method=e;h.url=g[f].url;return h}}}}if(b.mode==="auto_plugin"&&h.method==="native")return h;if(h.method===""&&g.length>0)h.url=g[0].url;return h},formatType:function(a,b){return a&&!b?this.getTypeFromFile(a):
-b&&~b.indexOf(";")?b.substr(0,b.indexOf(";")):b},getTypeFromFile:function(a){a=a.split("?")[0];a=a.substring(a.lastIndexOf(".")+1).toLowerCase();return(/(mp4|m4v|ogg|ogv|webm|webmv|flv|wmv|mpeg|mov)/gi.test(a)?"video":"audio")+"/"+this.getTypeFromExtension(a)},getTypeFromExtension:function(a){switch(a){case "mp4":case "m4v":case "m4a":return"mp4";case "webm":case "webma":case "webmv":return"webm";case "ogg":case "oga":case "ogv":return"ogg";default:return a}},createErrorMessage:function(a,b,c){var d=
-a.htmlMediaElement,e=document.createElement("div");e.className="me-cannotplay";try{e.style.width=d.width+"px";e.style.height=d.height+"px"}catch(g){}e.innerHTML=b.customError?b.customError:c!==""?'<a href="'+a.url+'"><img src="'+c+'" width="100%" height="100%" /></a>':'<a href="'+a.url+'"><span>'+mejs.i18n.t("Download File")+"</span></a>";d.parentNode.insertBefore(e,d);d.style.display="none";b.error(d)},createPlugin:function(a,b,c,d,e,g){c=a.htmlMediaElement;var f=1,i=1,k="me_"+a.method+"_"+mejs.meIndex++,
-h=new mejs.PluginMediaElement(k,a.method,a.url),j=document.createElement("div"),m;h.tagName=c.tagName;for(m=0;m<c.attributes.length;m++){var q=c.attributes[m];q.specified==true&&h.setAttribute(q.name,q.value)}for(m=c.parentNode;m!==null&&m.tagName.toLowerCase()!=="body"&&m.parentNode!=null;){if(m.parentNode.tagName.toLowerCase()==="p"){m.parentNode.parentNode.insertBefore(m,m.parentNode);break}m=m.parentNode}if(a.isVideo){f=b.pluginWidth>0?b.pluginWidth:b.videoWidth>0?b.videoWidth:c.getAttribute("width")!==
-null?c.getAttribute("width"):b.defaultVideoWidth;i=b.pluginHeight>0?b.pluginHeight:b.videoHeight>0?b.videoHeight:c.getAttribute("height")!==null?c.getAttribute("height"):b.defaultVideoHeight;f=mejs.Utility.encodeUrl(f);i=mejs.Utility.encodeUrl(i)}else if(b.enablePluginDebug){f=320;i=240}h.success=b.success;mejs.MediaPluginBridge.registerPluginElement(k,h,c);j.className="me-plugin";j.id=k+"_container";a.isVideo?c.parentNode.insertBefore(j,c):document.body.insertBefore(j,document.body.childNodes[0]);
-d=["id="+k,"isvideo="+(a.isVideo?"true":"false"),"autoplay="+(d?"true":"false"),"preload="+e,"width="+f,"startvolume="+b.startVolume,"timerrate="+b.timerRate,"flashstreamer="+b.flashStreamer,"height="+i,"pseudostreamstart="+b.pseudoStreamingStartQueryParam];if(a.url!==null)a.method=="flash"?d.push("file="+mejs.Utility.encodeUrl(a.url)):d.push("file="+a.url);b.enablePluginDebug&&d.push("debug=true");b.enablePluginSmoothing&&d.push("smoothing=true");b.enablePseudoStreaming&&d.push("pseudostreaming=true");
-g&&d.push("controls=true");if(b.pluginVars)d=d.concat(b.pluginVars);switch(a.method){case "silverlight":j.innerHTML='<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" id="'+k+'" name="'+k+'" width="'+f+'" height="'+i+'" class="mejs-shim"><param name="initParams" value="'+d.join(",")+'" /><param name="windowless" value="true" /><param name="background" value="black" /><param name="minRuntimeVersion" value="3.0.0.0" /><param name="autoUpgrade" value="true" /><param name="source" value="'+
+k=this.formatType(e,i.getAttribute("type"));i=i.getAttribute("media");if(!i||!window.matchMedia||window.matchMedia&&window.matchMedia(i).matches)g.push({type:k,url:e})}}if(!d&&g.length>0&&g[0].url!==null&&this.getTypeFromFile(g[0].url).indexOf("audio")>-1)h.isVideo=false;if(mejs.MediaFeatures.isBustedAndroid)a.canPlayType=function(m){return m.match(/video\/(mp4|m4v)/gi)!==null?"maybe":""};if(c&&(b.mode==="auto"||b.mode==="auto_plugin"||b.mode==="native")&&!(mejs.MediaFeatures.isBustedNativeHTTPS&&b.httpsBasicAuthSite===true)){if(!d){f=document.createElement(h.isVideo?"video":"audio");a.parentNode.insertBefore(f,a);a.style.display="none";h.htmlMediaElement=a=f}for(f=0;f<g.length;f++)if(g[f].type=="video/m3u8"||a.canPlayType(g[f].type).replace(/no/,"")!==""||a.canPlayType(g[f].type.replace(/mp3/,"mpeg")).replace(/no/,"")!==""||a.canPlayType(g[f].type.replace(/m4a/,"mp4")).replace(/no/,
+"")!==""){h.method="native";h.url=g[f].url;break}if(h.method==="native"){if(h.url!==null)a.src=h.url;if(b.mode!=="auto_plugin")return h}}if(b.mode==="auto"||b.mode==="auto_plugin"||b.mode==="shim")for(f=0;f<g.length;f++){k=g[f].type;for(a=0;a<b.plugins.length;a++){e=b.plugins[a];i=mejs.plugins[e];for(c=0;c<i.length;c++){j=i[c];if(j.version==null||mejs.PluginDetector.hasPluginVersion(e,j.version))for(d=0;d<j.types.length;d++)if(k==j.types[d]){h.method=e;h.url=g[f].url;return h}}}}if(b.mode==="auto_plugin"&&
+h.method==="native")return h;if(h.method===""&&g.length>0)h.url=g[0].url;return h},formatType:function(a,b){return a&&!b?this.getTypeFromFile(a):b&&~b.indexOf(";")?b.substr(0,b.indexOf(";")):b},getTypeFromFile:function(a){a=a.split("?")[0];a=a.substring(a.lastIndexOf(".")+1).toLowerCase();return(/(mp4|m4v|ogg|ogv|m3u8|webm|webmv|flv|wmv|mpeg|mov)/gi.test(a)?"video":"audio")+"/"+this.getTypeFromExtension(a)},getTypeFromExtension:function(a){switch(a){case "mp4":case "m4v":case "m4a":return"mp4";case "webm":case "webma":case "webmv":return"webm";
+case "ogg":case "oga":case "ogv":return"ogg";default:return a}},createErrorMessage:function(a,b,c){var d=a.htmlMediaElement,e=document.createElement("div");e.className="me-cannotplay";try{e.style.width=d.width+"px";e.style.height=d.height+"px"}catch(g){}e.innerHTML=b.customError?b.customError:c!==""?'<a href="'+a.url+'"><img src="'+c+'" width="100%" height="100%" /></a>':'<a href="'+a.url+'"><span>'+mejs.i18n.t("Download File")+"</span></a>";d.parentNode.insertBefore(e,d);d.style.display="none";b.error(d)},
+createPlugin:function(a,b,c,d,e,g){c=a.htmlMediaElement;var f=1,i=1,k="me_"+a.method+"_"+mejs.meIndex++,h=new mejs.PluginMediaElement(k,a.method,a.url),j=document.createElement("div"),m;h.tagName=c.tagName;for(m=0;m<c.attributes.length;m++){var q=c.attributes[m];q.specified==true&&h.setAttribute(q.name,q.value)}for(m=c.parentNode;m!==null&&m.tagName.toLowerCase()!=="body"&&m.parentNode!=null;){if(m.parentNode.tagName.toLowerCase()==="p"){m.parentNode.parentNode.insertBefore(m,m.parentNode);break}m=
+m.parentNode}if(a.isVideo){f=b.pluginWidth>0?b.pluginWidth:b.videoWidth>0?b.videoWidth:c.getAttribute("width")!==null?c.getAttribute("width"):b.defaultVideoWidth;i=b.pluginHeight>0?b.pluginHeight:b.videoHeight>0?b.videoHeight:c.getAttribute("height")!==null?c.getAttribute("height"):b.defaultVideoHeight;f=mejs.Utility.encodeUrl(f);i=mejs.Utility.encodeUrl(i)}else if(b.enablePluginDebug){f=320;i=240}h.success=b.success;mejs.MediaPluginBridge.registerPluginElement(k,h,c);j.className="me-plugin";j.id=
+k+"_container";a.isVideo?c.parentNode.insertBefore(j,c):document.body.insertBefore(j,document.body.childNodes[0]);d=["id="+k,"isvideo="+(a.isVideo?"true":"false"),"autoplay="+(d?"true":"false"),"preload="+e,"width="+f,"startvolume="+b.startVolume,"timerrate="+b.timerRate,"flashstreamer="+b.flashStreamer,"height="+i,"pseudostreamstart="+b.pseudoStreamingStartQueryParam];if(a.url!==null)a.method=="flash"?d.push("file="+mejs.Utility.encodeUrl(a.url)):d.push("file="+a.url);b.enablePluginDebug&&d.push("debug=true");
+b.enablePluginSmoothing&&d.push("smoothing=true");b.enablePseudoStreaming&&d.push("pseudostreaming=true");g&&d.push("controls=true");if(b.pluginVars)d=d.concat(b.pluginVars);switch(a.method){case "silverlight":j.innerHTML='<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" id="'+k+'" name="'+k+'" width="'+f+'" height="'+i+'" class="mejs-shim"><param name="initParams" value="'+d.join(",")+'" /><param name="windowless" value="true" /><param name="background" value="black" /><param name="minRuntimeVersion" value="3.0.0.0" /><param name="autoUpgrade" value="true" /><param name="source" value="'+
 b.pluginPath+b.silverlightName+'" /></object>';break;case "flash":if(mejs.MediaFeatures.isIE){a=document.createElement("div");j.appendChild(a);a.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" id="'+k+'" width="'+f+'" height="'+i+'" class="mejs-shim"><param name="movie" value="'+b.pluginPath+b.flashName+"?x="+new Date+'" /><param name="flashvars" value="'+d.join("&amp;")+'" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><param name="scale" value="default" /></object>'}else j.innerHTML=
 '<embed id="'+k+'" name="'+k+'" play="true" loop="false" quality="high" bgcolor="#000000" wmode="transparent" allowScriptAccess="always" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="//www.macromedia.com/go/getflashplayer" src="'+b.pluginPath+b.flashName+'" flashvars="'+d.join("&")+'" width="'+f+'" height="'+i+'" scale="default"class="mejs-shim"></embed>';break;case "youtube":if(a.url.lastIndexOf("youtu.be")!=-1){a=a.url.substr(a.url.lastIndexOf("/")+1);if(a.indexOf("?")!=
 -1)a=a.substr(0,a.indexOf("?"))}else a=a.url.substr(a.url.lastIndexOf("=")+1);youtubeSettings={container:j,containerId:j.id,pluginMediaElement:h,pluginId:k,videoId:a,height:i,width:f};mejs.PluginDetector.hasPluginVersion("flash",[10,0,0])?mejs.YouTubeApi.createFlash(youtubeSettings):mejs.YouTubeApi.enqueueIframe(youtubeSettings);break;case "vimeo":b=k+"_player";h.vimeoid=a.url.substr(a.url.lastIndexOf("/")+1);j.innerHTML='<iframe src="//player.vimeo.com/video/'+h.vimeoid+"?api=1&portrait=0&byline=0&title=0&player_id="+
-b+'" width="'+f+'" height="'+i+'" frameborder="0" class="mejs-shim" id="'+b+'"></iframe>';if(typeof $f=="function"){var l=$f(j.childNodes[0]);l.addEvent("ready",function(){function o(n,p,r,s){n={type:r,target:p};if(r=="timeupdate"){p.currentTime=n.currentTime=s.seconds;p.duration=n.duration=s.duration}p.dispatchEvent(n.type,n)}l.playVideo=function(){l.api("play")};l.pauseVideo=function(){l.api("pause")};l.seekTo=function(n){l.api("seekTo",n)};l.addEvent("play",function(){o(l,h,"play");o(l,h,"playing")});
-l.addEvent("pause",function(){o(l,h,"pause")});l.addEvent("finish",function(){o(l,h,"ended")});l.addEvent("playProgress",function(n){o(l,h,"timeupdate",n)});h.pluginApi=l;mejs.MediaPluginBridge.initPlugin(k)})}else console.warn("You need to include froogaloop for vimeo to work")}c.style.display="none";c.removeAttribute("autoplay");return h},updateNative:function(a,b){var c=a.htmlMediaElement,d;for(d in mejs.HtmlMediaElement)c[d]=mejs.HtmlMediaElement[d];b.success(c,c);return c}};
+b+'" width="'+f+'" height="'+i+'" frameborder="0" class="mejs-shim" id="'+b+'"></iframe>';if(typeof $f=="function"){var l=$f(j.childNodes[0]);l.addEvent("ready",function(){function o(n,p,r,s){n={type:r,target:p};if(r=="timeupdate"){p.currentTime=n.currentTime=s.seconds;p.duration=n.duration=s.duration}p.dispatchEvent(n.type,n)}$.extend(l,{playVideo:function(){l.api("play")},stopVideo:function(){l.api("unload")},pauseVideo:function(){l.api("pause")},seekTo:function(n){l.api("seekTo",n)},setVolume:function(n){l.api("setVolume",
+n)},setMuted:function(n){if(n){l.lastVolume=l.api("getVolume");l.api("setVolume",0)}else{l.api("setVolume",l.lastVolume);delete l.lastVolume}}});l.addEvent("play",function(){o(l,h,"play");o(l,h,"playing")});l.addEvent("pause",function(){o(l,h,"pause")});l.addEvent("finish",function(){o(l,h,"ended")});l.addEvent("playProgress",function(n){o(l,h,"timeupdate",n)});h.pluginElement=j;h.pluginApi=l;mejs.MediaPluginBridge.initPlugin(k)})}else console.warn("You need to include froogaloop for vimeo to work")}c.style.display=
+"none";c.removeAttribute("autoplay");return h},updateNative:function(a,b){var c=a.htmlMediaElement,d;for(d in mejs.HtmlMediaElement)c[d]=mejs.HtmlMediaElement[d];b.success(c,c);return c}};
 mejs.YouTubeApi={isIframeStarted:false,isIframeLoaded:false,loadIframeApi:function(){if(!this.isIframeStarted){var a=document.createElement("script");a.src="//www.youtube.com/player_api";var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(a,b);this.isIframeStarted=true}},iframeQueue:[],enqueueIframe:function(a){if(this.isLoaded)this.createIframe(a);else{this.loadIframeApi();this.iframeQueue.push(a)}},createIframe:function(a){var b=a.pluginMediaElement,c=new YT.Player(a.containerId,
 {height:a.height,width:a.width,videoId:a.videoId,playerVars:{controls:0},events:{onReady:function(){a.pluginMediaElement.pluginApi=c;mejs.MediaPluginBridge.initPlugin(a.pluginId);setInterval(function(){mejs.YouTubeApi.createEvent(c,b,"timeupdate")},250)},onStateChange:function(d){mejs.YouTubeApi.handleStateChange(d.data,c,b)}}})},createEvent:function(a,b,c){c={type:c,target:b};if(a&&a.getDuration){b.currentTime=c.currentTime=a.getCurrentTime();b.duration=c.duration=a.getDuration();c.paused=b.paused;
 c.ended=b.ended;c.muted=a.isMuted();c.volume=a.getVolume()/100;c.bytesTotal=a.getVideoBytesTotal();c.bufferedBytes=a.getVideoBytesLoaded();var d=c.bufferedBytes/c.bytesTotal*c.duration;c.target.buffered=c.buffered={start:function(){return 0},end:function(){return d},length:1}}b.dispatchEvent(c.type,c)},iFrameReady:function(){for(this.isIframeLoaded=this.isLoaded=true;this.iframeQueue.length>0;)this.createIframe(this.iframeQueue.pop())},flashPlayers:{},createFlash:function(a){this.flashPlayers[a.pluginId]=
 a;var b,c="//www.youtube.com/apiplayer?enablejsapi=1&amp;playerapiid="+a.pluginId+"&amp;version=3&amp;autoplay=0&amp;controls=0&amp;modestbranding=1&loop=0";if(mejs.MediaFeatures.isIE){b=document.createElement("div");a.container.appendChild(b);b.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" id="'+a.pluginId+'" width="'+a.width+'" height="'+a.height+'" class="mejs-shim"><param name="movie" value="'+
 c+'" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /></object>'}else a.container.innerHTML='<object type="application/x-shockwave-flash" id="'+a.pluginId+'" data="'+c+'" width="'+a.width+'" height="'+a.height+'" style="visibility: visible; " class="mejs-shim"><param name="allowScriptAccess" value="always"><param name="wmode" value="transparent"></object>'},flashReady:function(a){var b=this.flashPlayers[a],c=
-document.getElementById(a),d=b.pluginMediaElement;d.pluginApi=d.pluginElement=c;mejs.MediaPluginBridge.initPlugin(a);c.cueVideoById(b.videoId);a=b.containerId+"_callback";window[a]=function(e){mejs.YouTubeApi.handleStateChange(e,c,d)};c.addEventListener("onStateChange",a);setInterval(function(){mejs.YouTubeApi.createEvent(c,d,"timeupdate")},250)},handleStateChange:function(a,b,c){switch(a){case -1:c.paused=true;c.ended=true;mejs.YouTubeApi.createEvent(b,c,"loadedmetadata");break;case 0:c.paused=false;
-c.ended=true;mejs.YouTubeApi.createEvent(b,c,"ended");break;case 1:c.paused=false;c.ended=false;mejs.YouTubeApi.createEvent(b,c,"play");mejs.YouTubeApi.createEvent(b,c,"playing");break;case 2:c.paused=true;c.ended=false;mejs.YouTubeApi.createEvent(b,c,"pause");break;case 3:mejs.YouTubeApi.createEvent(b,c,"progress")}}};function onYouTubePlayerAPIReady(){mejs.YouTubeApi.iFrameReady()}function onYouTubePlayerReady(a){mejs.YouTubeApi.flashReady(a)}window.mejs=mejs;window.MediaElement=mejs.MediaElement;
+document.getElementById(a),d=b.pluginMediaElement;d.pluginApi=d.pluginElement=c;mejs.MediaPluginBridge.initPlugin(a);c.cueVideoById(b.videoId);a=b.containerId+"_callback";window[a]=function(e){mejs.YouTubeApi.handleStateChange(e,c,d)};c.addEventListener("onStateChange",a);setInterval(function(){mejs.YouTubeApi.createEvent(c,d,"timeupdate")},250);mejs.YouTubeApi.createEvent(c,d,"canplay")},handleStateChange:function(a,b,c){switch(a){case -1:c.paused=true;c.ended=true;mejs.YouTubeApi.createEvent(b,
+c,"loadedmetadata");break;case 0:c.paused=false;c.ended=true;mejs.YouTubeApi.createEvent(b,c,"ended");break;case 1:c.paused=false;c.ended=false;mejs.YouTubeApi.createEvent(b,c,"play");mejs.YouTubeApi.createEvent(b,c,"playing");break;case 2:c.paused=true;c.ended=false;mejs.YouTubeApi.createEvent(b,c,"pause");break;case 3:mejs.YouTubeApi.createEvent(b,c,"progress")}}};function onYouTubePlayerAPIReady(){mejs.YouTubeApi.iFrameReady()}function onYouTubePlayerReady(a){mejs.YouTubeApi.flashReady(a)}
+window.mejs=mejs;window.MediaElement=mejs.MediaElement;
 (function(a,b){var c={locale:{language:"",strings:{}},methods:{}};c.getLanguage=function(){return(c.locale.language||window.navigator.userLanguage||window.navigator.language).substr(0,2).toLowerCase()};if(typeof mejsL10n!="undefined")c.locale.language=mejsL10n.language;c.methods.checkPlain=function(d){var e,g,f={"&":"&amp;",'"':"&quot;","<":"&lt;",">":"&gt;"};d=String(d);for(e in f)if(f.hasOwnProperty(e)){g=RegExp(e,"g");d=d.replace(g,f[e])}return d};c.methods.t=function(d,e){if(c.locale.strings&&
 c.locale.strings[e.context]&&c.locale.strings[e.context][d])d=c.locale.strings[e.context][d];return c.methods.checkPlain(d)};c.t=function(d,e){if(typeof d==="string"&&d.length>0){var g=c.getLanguage();e=e||{context:g};return c.methods.t(d,e)}else throw{name:"InvalidArgumentException",message:"First argument is either not a string or empty."};};b.i18n=c})(document,mejs);(function(a){if(typeof mejsL10n!="undefined")a[mejsL10n.language]=mejsL10n.strings})(mejs.i18n.locale.strings);
 (function(a){if(typeof a.de==="undefined")a.de={Fullscreen:"Vollbild","Go Fullscreen":"Vollbild an","Turn off Fullscreen":"Vollbild aus",Close:"Schlie\u00dfen"}})(mejs.i18n.locale.strings);(function(a){if(typeof a.zh==="undefined")a.zh={Fullscreen:"\u5168\u87a2\u5e55","Go Fullscreen":"\u5168\u5c4f\u6a21\u5f0f","Turn off Fullscreen":"\u9000\u51fa\u5168\u5c4f\u6a21\u5f0f",Close:"\u95dc\u9589"}})(mejs.i18n.locale.strings);
@@ -80,12 +81,13 @@ c.locale.strings[e.context]&&c.locale.strings[e.context][d])d=c.locale.strings[e
  * License: MIT
  *
  */if(typeof jQuery!="undefined")mejs.$=jQuery;else if(typeof ender!="undefined")mejs.$=ender;
-(function(f){mejs.MepDefaults={poster:"",showPosterWhenEnded:false,defaultVideoWidth:480,defaultVideoHeight:270,videoWidth:-1,videoHeight:-1,defaultAudioWidth:400,defaultAudioHeight:30,defaultSeekBackwardInterval:function(a){return a.duration*0.05},defaultSeekForwardInterval:function(a){return a.duration*0.05},audioWidth:-1,audioHeight:-1,startVolume:0.8,loop:false,autoRewind:true,enableAutosize:true,alwaysShowHours:false,showTimecodeFrameCount:false,framesPerSecond:25,autosizeProgress:true,alwaysShowControls:false,
-hideVideoControlsOnLoad:false,clickToPlayPause:true,iPadUseNativeControls:false,iPhoneUseNativeControls:false,AndroidUseNativeControls:false,features:["playpause","current","progress","duration","tracks","volume","fullscreen"],isVideo:true,enableKeyboard:true,pauseOtherPlayers:true,keyActions:[{keys:[32,179],action:function(a,b){b.paused||b.ended?a.play():a.pause()}},{keys:[38],action:function(a,b){b.setVolume(Math.min(b.volume+0.1,1))}},{keys:[40],action:function(a,b){b.setVolume(Math.max(b.volume-
-0.1,0))}},{keys:[37,227],action:function(a,b){if(!isNaN(b.duration)&&b.duration>0){if(a.isVideo){a.showControls();a.startControlsTimer()}var c=Math.max(b.currentTime-a.options.defaultSeekBackwardInterval(b),0);b.setCurrentTime(c)}}},{keys:[39,228],action:function(a,b){if(!isNaN(b.duration)&&b.duration>0){if(a.isVideo){a.showControls();a.startControlsTimer()}var c=Math.min(b.currentTime+a.options.defaultSeekForwardInterval(b),b.duration);b.setCurrentTime(c)}}},{keys:[70],action:function(a){if(typeof a.enterFullScreen!=
-"undefined")a.isFullScreen?a.exitFullScreen():a.enterFullScreen()}}]};mejs.mepIndex=0;mejs.players={};mejs.MediaElementPlayer=function(a,b){if(!(this instanceof mejs.MediaElementPlayer))return new mejs.MediaElementPlayer(a,b);this.$media=this.$node=f(a);this.node=this.media=this.$media[0];if(typeof this.node.player!="undefined")return this.node.player;else this.node.player=this;if(typeof b=="undefined")b=this.$node.data("mejsoptions");this.options=f.extend({},mejs.MepDefaults,b);this.id="mep_"+mejs.mepIndex++;
-mejs.players[this.id]=this;this.init();return this};mejs.MediaElementPlayer.prototype={hasFocus:false,controlsAreVisible:true,init:function(){var a=this,b=mejs.MediaFeatures,c=f.extend(true,{},a.options,{success:function(d,g){a.meReady(d,g)},error:function(d){a.handleError(d)}}),e=a.media.tagName.toLowerCase();a.isDynamic=e!=="audio"&&e!=="video";a.isVideo=a.isDynamic?a.options.isVideo:e!=="audio"&&a.options.isVideo;if(b.isiPad&&a.options.iPadUseNativeControls||b.isiPhone&&a.options.iPhoneUseNativeControls){a.$media.attr("controls",
-"controls");b.isiPad&&a.media.getAttribute("autoplay")!==null&&a.play()}else if(!(b.isAndroid&&a.options.AndroidUseNativeControls)){a.$media.removeAttr("controls");a.container=f('<div id="'+a.id+'" class="mejs-container '+(mejs.MediaFeatures.svg?"svg":"no-svg")+'"><div class="mejs-inner"><div class="mejs-mediaelement"></div><div class="mejs-layers"></div><div class="mejs-controls"></div><div class="mejs-clear"></div></div></div>').addClass(a.$media[0].className).insertBefore(a.$media);a.container.addClass((b.isAndroid?
+(function(f){mejs.MepDefaults={poster:"",showPosterWhenEnded:false,defaultVideoWidth:480,defaultVideoHeight:270,videoWidth:-1,videoHeight:-1,defaultAudioWidth:400,defaultAudioHeight:30,defaultSeekBackwardInterval:function(a){return a.duration*0.05},defaultSeekForwardInterval:function(a){return a.duration*0.05},setDimensions:true,audioWidth:-1,audioHeight:-1,startVolume:0.8,loop:false,autoRewind:true,enableAutosize:true,alwaysShowHours:false,showTimecodeFrameCount:false,framesPerSecond:25,autosizeProgress:true,
+alwaysShowControls:false,hideVideoControlsOnLoad:false,clickToPlayPause:true,iPadUseNativeControls:false,iPhoneUseNativeControls:false,AndroidUseNativeControls:false,features:["playpause","current","progress","duration","tracks","volume","fullscreen"],isVideo:true,enableKeyboard:true,pauseOtherPlayers:true,keyActions:[{keys:[32,179],action:function(a,b){b.paused||b.ended?a.play():a.pause()}},{keys:[38],action:function(a,b){a.container.find(".mejs-volume-slider").css("display","block");if(a.isVideo){a.showControls();
+a.startControlsTimer()}b.setVolume(Math.min(b.volume+0.1,1))}},{keys:[40],action:function(a,b){a.container.find(".mejs-volume-slider").css("display","block");if(a.isVideo){a.showControls();a.startControlsTimer()}b.setVolume(Math.max(b.volume-0.1,0))}},{keys:[37,227],action:function(a,b){if(!isNaN(b.duration)&&b.duration>0){if(a.isVideo){a.showControls();a.startControlsTimer()}var c=Math.max(b.currentTime-a.options.defaultSeekBackwardInterval(b),0);b.setCurrentTime(c)}}},{keys:[39,228],action:function(a,
+b){if(!isNaN(b.duration)&&b.duration>0){if(a.isVideo){a.showControls();a.startControlsTimer()}var c=Math.min(b.currentTime+a.options.defaultSeekForwardInterval(b),b.duration);b.setCurrentTime(c)}}},{keys:[70],action:function(a){if(typeof a.enterFullScreen!="undefined")a.isFullScreen?a.exitFullScreen():a.enterFullScreen()}},{keys:[77],action:function(a){a.container.find(".mejs-volume-slider").css("display","block");if(a.isVideo){a.showControls();a.startControlsTimer()}a.media.muted?a.setMuted(false):
+a.setMuted(true)}}]};mejs.mepIndex=0;mejs.players={};mejs.MediaElementPlayer=function(a,b){if(!(this instanceof mejs.MediaElementPlayer))return new mejs.MediaElementPlayer(a,b);this.$media=this.$node=f(a);this.node=this.media=this.$media[0];if(typeof this.node.player!="undefined")return this.node.player;else this.node.player=this;if(typeof b=="undefined")b=this.$node.data("mejsoptions");this.options=f.extend({},mejs.MepDefaults,b);this.id="mep_"+mejs.mepIndex++;mejs.players[this.id]=this;this.init();
+return this};mejs.MediaElementPlayer.prototype={hasFocus:false,controlsAreVisible:true,init:function(){var a=this,b=mejs.MediaFeatures,c=f.extend(true,{},a.options,{success:function(d,g){a.meReady(d,g)},error:function(d){a.handleError(d)}}),e=a.media.tagName.toLowerCase();a.isDynamic=e!=="audio"&&e!=="video";a.isVideo=a.isDynamic?a.options.isVideo:e!=="audio"&&a.options.isVideo;if(b.isiPad&&a.options.iPadUseNativeControls||b.isiPhone&&a.options.iPhoneUseNativeControls){a.$media.attr("controls","controls");
+b.isiPad&&a.media.getAttribute("autoplay")!==null&&a.play()}else if(!(b.isAndroid&&a.options.AndroidUseNativeControls)){a.$media.removeAttr("controls");a.container=f('<div id="'+a.id+'" class="mejs-container '+(mejs.MediaFeatures.svg?"svg":"no-svg")+'"><div class="mejs-inner"><div class="mejs-mediaelement"></div><div class="mejs-layers"></div><div class="mejs-controls"></div><div class="mejs-clear"></div></div></div>').addClass(a.$media[0].className).insertBefore(a.$media);a.container.addClass((b.isAndroid?
 "mejs-android ":"")+(b.isiOS?"mejs-ios ":"")+(b.isiPad?"mejs-ipad ":"")+(b.isiPhone?"mejs-iphone ":"")+(a.isVideo?"mejs-video ":"mejs-audio "));if(b.isiOS){b=a.$media.clone();a.container.find(".mejs-mediaelement").append(b);a.$media.remove();a.$node=a.$media=b;a.node=a.media=b[0]}else a.container.find(".mejs-mediaelement").append(a.$media);a.controls=a.container.find(".mejs-controls");a.layers=a.container.find(".mejs-layers");b=a.isVideo?"video":"audio";e=b.substring(0,1).toUpperCase()+b.substring(1);
 a.width=a.options[b+"Width"]>0||a.options[b+"Width"].toString().indexOf("%")>-1?a.options[b+"Width"]:a.media.style.width!==""&&a.media.style.width!==null?a.media.style.width:a.media.getAttribute("width")!==null?a.$media.attr("width"):a.options["default"+e+"Width"];a.height=a.options[b+"Height"]>0||a.options[b+"Height"].toString().indexOf("%")>-1?a.options[b+"Height"]:a.media.style.height!==""&&a.media.style.height!==null?a.media.style.height:a.$media[0].getAttribute("height")!==null?a.$media.attr("height"):
 a.options["default"+e+"Height"];a.setPlayerSize(a.width,a.height);c.pluginWidth=a.width;c.pluginHeight=a.height}mejs.MediaElement(a.$media[0],c);typeof a.container!="undefined"&&a.controlsAreVisible&&a.container.trigger("controlsshown")},showControls:function(a){var b=this;a=typeof a=="undefined"||a;if(!b.controlsAreVisible){if(a){b.controls.css("visibility","visible").stop(true,true).fadeIn(200,function(){b.controlsAreVisible=true;b.container.trigger("controlsshown")});b.container.find(".mejs-control").css("visibility",
@@ -97,22 +99,23 @@ c.options.features[g];if(c["build"+e])try{c["build"+e](c,c.controls,c.layers,c.m
 c.clickToPlayPauseCallback,false);c.container.bind("mouseenter mouseover",function(){if(c.controlsEnabled)if(!c.options.alwaysShowControls){c.killControlsTimer("enter");c.showControls();c.startControlsTimer(2500)}}).bind("mousemove",function(){if(c.controlsEnabled){c.controlsAreVisible||c.showControls();c.options.alwaysShowControls||c.startControlsTimer(2500)}}).bind("mouseleave",function(){c.controlsEnabled&&!c.media.paused&&!c.options.alwaysShowControls&&c.startControlsTimer(1E3)})}c.options.hideVideoControlsOnLoad&&
 c.hideControls(false);d&&!c.options.alwaysShowControls&&c.hideControls();c.options.enableAutosize&&c.media.addEventListener("loadedmetadata",function(j){if(c.options.videoHeight<=0&&c.domNode.getAttribute("height")===null&&!isNaN(j.target.videoHeight)){c.setPlayerSize(j.target.videoWidth,j.target.videoHeight);c.setControlsSize();c.media.setVideoSize(j.target.videoWidth,j.target.videoHeight)}},false)}a.addEventListener("play",function(){for(var j in mejs.players){var m=mejs.players[j];m.id!=c.id&&
 c.options.pauseOtherPlayers&&!m.paused&&!m.ended&&m.pause();m.hasFocus=false}c.hasFocus=true},false);c.media.addEventListener("ended",function(){if(c.options.autoRewind)try{c.media.setCurrentTime(0)}catch(j){}c.media.pause();c.setProgressRail&&c.setProgressRail();c.setCurrentRail&&c.setCurrentRail();if(c.options.loop)c.play();else!c.options.alwaysShowControls&&c.controlsEnabled&&c.showControls()},false);c.media.addEventListener("loadedmetadata",function(){c.updateDuration&&c.updateDuration();c.updateCurrent&&
-c.updateCurrent();if(!c.isFullScreen){c.setPlayerSize(c.width,c.height);c.setControlsSize()}},false);setTimeout(function(){c.setPlayerSize(c.width,c.height);c.setControlsSize()},50);c.globalBind("resize",function(){c.isFullScreen||mejs.MediaFeatures.hasTrueNativeFullScreen&&document.webkitIsFullScreen||c.setPlayerSize(c.width,c.height);c.setControlsSize()});c.media.pluginType=="youtube"&&c.container.find(".mejs-overlay-play").hide()}d&&a.pluginType=="native"&&c.play();if(c.options.success)typeof c.options.success==
-"string"?window[c.options.success](c.media,c.domNode,c):c.options.success(c.media,c.domNode,c)}},handleError:function(a){this.controls.hide();this.options.error&&this.options.error(a)},setPlayerSize:function(a,b){if(typeof a!="undefined")this.width=a;if(typeof b!="undefined")this.height=b;if(this.height.toString().indexOf("%")>0||this.$node.css("max-width")==="100%"||parseInt(this.$node.css("max-width").replace(/px/,""),10)/this.$node.offsetParent().width()===1||this.$node[0].currentStyle&&this.$node[0].currentStyle.maxWidth===
-"100%"){var c=this.isVideo?this.media.videoWidth&&this.media.videoWidth>0?this.media.videoWidth:this.options.defaultVideoWidth:this.options.defaultAudioWidth,e=this.isVideo?this.media.videoHeight&&this.media.videoHeight>0?this.media.videoHeight:this.options.defaultVideoHeight:this.options.defaultAudioHeight,d=this.container.parent().closest(":visible").width();c=this.isVideo||!this.options.autosizeProgress?parseInt(d*e/c,10):e;if(isNaN(c))c=this.container.parent().closest(":visible").height();if(this.container.parent()[0].tagName.toLowerCase()===
-"body"){d=f(window).width();c=f(window).height()}if(c!=0&&d!=0){this.container.width(d).height(c);this.$media.add(this.container.find(".mejs-shim")).width("100%").height("100%");this.isVideo&&this.media.setVideoSize&&this.media.setVideoSize(d,c);this.layers.children(".mejs-layer").width("100%").height("100%")}}else{this.container.width(this.width).height(this.height);this.layers.children(".mejs-layer").width(this.width).height(this.height)}d=this.layers.find(".mejs-overlay-play");c=d.find(".mejs-overlay-button");
-d.height(this.container.height()-this.controls.height());c.css("margin-top","-"+(c.height()/2-this.controls.height()/2).toString()+"px")},setControlsSize:function(){var a=0,b=0,c=this.controls.find(".mejs-time-rail"),e=this.controls.find(".mejs-time-total");this.controls.find(".mejs-time-current");this.controls.find(".mejs-time-loaded");var d=c.siblings(),g=d.last(),k=null;if(!(!this.container.is(":visible")||!c.length||!c.is(":visible"))){if(this.options&&!this.options.autosizeProgress)b=parseInt(c.css("width"));
-if(b===0||!b){d.each(function(){var j=f(this);if(j.css("position")!="absolute"&&j.is(":visible"))a+=f(this).outerWidth(true)});b=this.controls.width()-a-(c.outerWidth(true)-c.width())}do{c.width(b);e.width(b-(e.outerWidth(true)-e.width()));if(g.css("position")!="absolute"){k=g.position();b--}}while(k!=null&&k.top>0&&b>0);this.setProgressRail&&this.setProgressRail();this.setCurrentRail&&this.setCurrentRail()}},buildposter:function(a,b,c,e){var d=f('<div class="mejs-poster mejs-layer"></div>').appendTo(c);
-b=a.$media.attr("poster");if(a.options.poster!=="")b=a.options.poster;b!==""&&b!=null?this.setPoster(b):d.hide();e.addEventListener("play",function(){d.hide()},false);a.options.showPosterWhenEnded&&a.options.autoRewind&&e.addEventListener("ended",function(){d.show()},false)},setPoster:function(a){var b=this.container.find(".mejs-poster"),c=b.find("img");if(c.length==0)c=f('<img width="100%" height="100%" />').appendTo(b);c.attr("src",a);b.css({"background-image":"url("+a+")"})},buildoverlays:function(a,
-b,c,e){var d=this;if(a.isVideo){var g=f('<div class="mejs-overlay mejs-layer"><div class="mejs-overlay-loading"><span></span></div></div>').hide().appendTo(c),k=f('<div class="mejs-overlay mejs-layer"><div class="mejs-overlay-error"></div></div>').hide().appendTo(c),j=f('<div class="mejs-overlay mejs-layer mejs-overlay-play"><div class="mejs-overlay-button"></div></div>').appendTo(c).bind("click touchstart",function(){d.options.clickToPlayPause&&e.paused&&e.play()});e.addEventListener("play",function(){j.hide();
-g.hide();b.find(".mejs-time-buffering").hide();k.hide()},false);e.addEventListener("playing",function(){j.hide();g.hide();b.find(".mejs-time-buffering").hide();k.hide()},false);e.addEventListener("seeking",function(){g.show();b.find(".mejs-time-buffering").show()},false);e.addEventListener("seeked",function(){g.hide();b.find(".mejs-time-buffering").hide()},false);e.addEventListener("pause",function(){mejs.MediaFeatures.isiPhone||j.show()},false);e.addEventListener("waiting",function(){g.show();b.find(".mejs-time-buffering").show()},
-false);e.addEventListener("loadeddata",function(){g.show();b.find(".mejs-time-buffering").show()},false);e.addEventListener("canplay",function(){g.hide();b.find(".mejs-time-buffering").hide()},false);e.addEventListener("error",function(){g.hide();b.find(".mejs-time-buffering").hide();k.show();k.find("mejs-overlay-error").html("Error loading this resource")},false)}},buildkeyboard:function(a,b,c,e){this.globalBind("keydown",function(d){if(a.hasFocus&&a.options.enableKeyboard)for(var g=0,k=a.options.keyActions.length;g<
-k;g++)for(var j=a.options.keyActions[g],m=0,q=j.keys.length;m<q;m++)if(d.keyCode==j.keys[m]){d.preventDefault();j.action(a,e,d.keyCode);return false}return true});this.globalBind("click",function(d){a.hasFocus=f(d.target).closest(".mejs-container").length!=0})},findTracks:function(){var a=this,b=a.$media.find("track");a.tracks=[];b.each(function(c,e){e=f(e);a.tracks.push({srclang:e.attr("srclang")?e.attr("srclang").toLowerCase():"",src:e.attr("src"),kind:e.attr("kind"),label:e.attr("label")||"",entries:[],
-isLoaded:false})})},changeSkin:function(a){this.container[0].className="mejs-container "+a;this.setPlayerSize(this.width,this.height);this.setControlsSize()},play:function(){this.load();this.media.play()},pause:function(){try{this.media.pause()}catch(a){}},load:function(){this.isLoaded||this.media.load();this.isLoaded=true},setMuted:function(a){this.media.setMuted(a)},setCurrentTime:function(a){this.media.setCurrentTime(a)},getCurrentTime:function(){return this.media.currentTime},setVolume:function(a){this.media.setVolume(a)},
-getVolume:function(){return this.media.volume},setSrc:function(a){this.media.setSrc(a)},remove:function(){var a,b;for(a in this.options.features){b=this.options.features[a];if(this["clean"+b])try{this["clean"+b](this)}catch(c){}}if(this.isDynamic)this.$node.insertBefore(this.container);else{this.$media.prop("controls",true);this.$node.clone().show().insertBefore(this.container);this.$node.remove()}this.media.pluginType!=="native"&&this.media.remove();delete mejs.players[this.id];typeof this.container==
-"object"&&this.container.remove();this.globalUnbind();delete this.node.player}};(function(){function a(c,e){var d={d:[],w:[]};f.each((c||"").split(" "),function(g,k){var j=k+"."+e;if(j.indexOf(".")===0){d.d.push(j);d.w.push(j)}else d[b.test(k)?"w":"d"].push(j)});d.d=d.d.join(" ");d.w=d.w.join(" ");return d}var b=/^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/;mejs.MediaElementPlayer.prototype.globalBind=function(c,e,d){c=a(c,this.id);
-c.d&&f(document).bind(c.d,e,d);c.w&&f(window).bind(c.w,e,d)};mejs.MediaElementPlayer.prototype.globalUnbind=function(c,e){c=a(c,this.id);c.d&&f(document).unbind(c.d,e);c.w&&f(window).unbind(c.w,e)}})();if(typeof jQuery!="undefined")jQuery.fn.mediaelementplayer=function(a){a===false?this.each(function(){var b=jQuery(this).data("mediaelementplayer");b&&b.remove();jQuery(this).removeData("mediaelementplayer")}):this.each(function(){jQuery(this).data("mediaelementplayer",new mejs.MediaElementPlayer(this,
-a))});return this};f(document).ready(function(){f(".mejs-player").mediaelementplayer()});window.MediaElementPlayer=mejs.MediaElementPlayer})(mejs.$);
+c.updateCurrent();if(!c.isFullScreen){c.setPlayerSize(c.width,c.height);c.setControlsSize()}},false);setTimeout(function(){c.setPlayerSize(c.width,c.height);c.setControlsSize()},50);c.globalBind("resize",function(){c.isFullScreen||mejs.MediaFeatures.hasTrueNativeFullScreen&&document.webkitIsFullScreen||c.setPlayerSize(c.width,c.height);c.setControlsSize()});c.media.pluginType=="youtube"&&c.options.autoplay&&c.container.find(".mejs-overlay-play").hide()}d&&a.pluginType=="native"&&c.play();if(c.options.success)typeof c.options.success==
+"string"?window[c.options.success](c.media,c.domNode,c):c.options.success(c.media,c.domNode,c)}},handleError:function(a){this.controls.hide();this.options.error&&this.options.error(a)},setPlayerSize:function(a,b){if(!this.options.setDimensions)return false;if(typeof a!="undefined")this.width=a;if(typeof b!="undefined")this.height=b;if(this.height.toString().indexOf("%")>0||this.$node.css("max-width")==="100%"||this.$node[0].currentStyle&&this.$node[0].currentStyle.maxWidth==="100%"){var c=this.isVideo?
+this.media.videoWidth&&this.media.videoWidth>0?this.media.videoWidth:this.media.getAttribute("width")!==null?this.media.getAttribute("width"):this.options.defaultVideoWidth:this.options.defaultAudioHeight,e=this.isVideo?this.media.videoHeight&&this.media.videoHeight>0?this.media.videoHeight:this.media.getAttribute("height")!==null?this.media.getAttribute("height"):this.options.defaultVideoHeight:this.options.defaultAudioHeight,d=this.container.parent().closest(":visible").width();c=this.isVideo||
+!this.options.autosizeProgress?parseInt(d*e/c,10)>this.container.parent().closest(":visible").height()?this.container.parent().closest(":visible").height():parseInt(d*e/c,10):e;if(isNaN(c))c=this.container.parent().closest(":visible").height();if(this.container.parent()[0].tagName.toLowerCase()==="body"){d=f(window).width();c=f(window).height()}if(c!=0&&d!=0){this.container.width(d).height(c);this.$media.add(this.container.find(".mejs-shim")).width("100%").height("100%");this.isVideo&&this.media.setVideoSize&&
+this.media.setVideoSize(d,c);this.layers.children(".mejs-layer").width("100%").height("100%")}}else{this.container.width(this.width).height(this.height);this.layers.children(".mejs-layer").width(this.width).height(this.height)}d=this.layers.find(".mejs-overlay-play");c=d.find(".mejs-overlay-button");d.height(this.container.height()-this.controls.height());c.css("margin-top","-"+(c.height()/2-this.controls.height()/2).toString()+"px")},setControlsSize:function(){var a=0,b=0,c=this.controls.find(".mejs-time-rail"),
+e=this.controls.find(".mejs-time-total");this.controls.find(".mejs-time-current");this.controls.find(".mejs-time-loaded");var d=c.siblings(),g=d.last(),k=null;if(!(!this.container.is(":visible")||!c.length||!c.is(":visible"))){if(this.options&&!this.options.autosizeProgress)b=parseInt(c.css("width"));if(b===0||!b){d.each(function(){var j=f(this);if(j.css("position")!="absolute"&&j.is(":visible"))a+=f(this).outerWidth(true)});b=this.controls.width()-a-(c.outerWidth(true)-c.width())}do{c.width(b);e.width(b-
+(e.outerWidth(true)-e.width()));if(g.css("position")!="absolute"){k=g.position();b--}}while(k!=null&&k.top>0&&b>0);this.setProgressRail&&this.setProgressRail();this.setCurrentRail&&this.setCurrentRail()}},buildposter:function(a,b,c,e){var d=f('<div class="mejs-poster mejs-layer"></div>').appendTo(c);b=a.$media.attr("poster");if(a.options.poster!=="")b=a.options.poster;b!==""&&b!=null?this.setPoster(b):d.hide();e.addEventListener("play",function(){d.hide()},false);a.options.showPosterWhenEnded&&a.options.autoRewind&&
+e.addEventListener("ended",function(){d.show()},false)},setPoster:function(a){var b=this.container.find(".mejs-poster"),c=b.find("img");if(c.length==0)c=f('<img width="100%" height="100%" />').appendTo(b);c.attr("src",a);b.css({"background-image":"url("+a+")"})},buildoverlays:function(a,b,c,e){var d=this;if(a.isVideo){var g=f('<div class="mejs-overlay mejs-layer"><div class="mejs-overlay-loading"><span></span></div></div>').hide().appendTo(c),k=f('<div class="mejs-overlay mejs-layer"><div class="mejs-overlay-error"></div></div>').hide().appendTo(c),
+j=f('<div class="mejs-overlay mejs-layer mejs-overlay-play"><div class="mejs-overlay-button"></div></div>').appendTo(c).bind("click",function(){d.options.clickToPlayPause&&e.paused&&e.play()});e.addEventListener("play",function(){j.hide();g.hide();b.find(".mejs-time-buffering").hide();k.hide()},false);e.addEventListener("playing",function(){j.hide();g.hide();b.find(".mejs-time-buffering").hide();k.hide()},false);e.addEventListener("seeking",function(){g.show();b.find(".mejs-time-buffering").show()},
+false);e.addEventListener("seeked",function(){g.hide();b.find(".mejs-time-buffering").hide()},false);e.addEventListener("pause",function(){mejs.MediaFeatures.isiPhone||j.show()},false);e.addEventListener("waiting",function(){g.show();b.find(".mejs-time-buffering").show()},false);e.addEventListener("loadeddata",function(){g.show();b.find(".mejs-time-buffering").show()},false);e.addEventListener("canplay",function(){g.hide();b.find(".mejs-time-buffering").hide()},false);e.addEventListener("error",function(){g.hide();
+b.find(".mejs-time-buffering").hide();k.show();k.find("mejs-overlay-error").html("Error loading this resource")},false);e.addEventListener("keydown",function(m){d.onkeydown(a,e,m)},false)}},buildkeyboard:function(a,b,c,e){var d=this;d.globalBind("keydown",function(g){return d.onkeydown(a,e,g)});d.globalBind("click",function(g){a.hasFocus=f(g.target).closest(".mejs-container").length!=0})},onkeydown:function(a,b,c){if(a.hasFocus&&a.options.enableKeyboard)for(var e=0,d=a.options.keyActions.length;e<
+d;e++)for(var g=a.options.keyActions[e],k=0,j=g.keys.length;k<j;k++)if(c.keyCode==g.keys[k]){typeof c.preventDefault=="function"&&c.preventDefault();g.action(a,b,c.keyCode);return false}return true},findTracks:function(){var a=this,b=a.$media.find("track");a.tracks=[];b.each(function(c,e){e=f(e);a.tracks.push({srclang:e.attr("srclang")?e.attr("srclang").toLowerCase():"",src:e.attr("src"),kind:e.attr("kind"),label:e.attr("label")||"",entries:[],isLoaded:false})})},changeSkin:function(a){this.container[0].className=
+"mejs-container "+a;this.setPlayerSize(this.width,this.height);this.setControlsSize()},play:function(){this.load();this.media.play()},pause:function(){try{this.media.pause()}catch(a){}},load:function(){this.isLoaded||this.media.load();this.isLoaded=true},setMuted:function(a){this.media.setMuted(a)},setCurrentTime:function(a){this.media.setCurrentTime(a)},getCurrentTime:function(){return this.media.currentTime},setVolume:function(a){this.media.setVolume(a)},getVolume:function(){return this.media.volume},
+setSrc:function(a){this.media.setSrc(a)},remove:function(){var a,b;for(a in this.options.features){b=this.options.features[a];if(this["clean"+b])try{this["clean"+b](this)}catch(c){}}if(this.isDynamic)this.$node.insertBefore(this.container);else{this.$media.prop("controls",true);this.$node.clone().insertBefore(this.container).show();this.$node.remove()}this.media.pluginType!=="native"&&this.media.remove();delete mejs.players[this.id];typeof this.container=="object"&&this.container.remove();this.globalUnbind();
+delete this.node.player}};(function(){function a(c,e){var d={d:[],w:[]};f.each((c||"").split(" "),function(g,k){var j=k+"."+e;if(j.indexOf(".")===0){d.d.push(j);d.w.push(j)}else d[b.test(k)?"w":"d"].push(j)});d.d=d.d.join(" ");d.w=d.w.join(" ");return d}var b=/^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/;mejs.MediaElementPlayer.prototype.globalBind=function(c,e,d){c=a(c,this.id);c.d&&f(document).bind(c.d,e,d);c.w&&f(window).bind(c.w,
+e,d)};mejs.MediaElementPlayer.prototype.globalUnbind=function(c,e){c=a(c,this.id);c.d&&f(document).unbind(c.d,e);c.w&&f(window).unbind(c.w,e)}})();if(typeof f!="undefined"){f.fn.mediaelementplayer=function(a){a===false?this.each(function(){var b=f(this).data("mediaelementplayer");b&&b.remove();f(this).removeData("mediaelementplayer")}):this.each(function(){f(this).data("mediaelementplayer",new mejs.MediaElementPlayer(this,a))});return this};f(document).ready(function(){f(".mejs-player").mediaelementplayer()})}window.MediaElementPlayer=
+mejs.MediaElementPlayer})(mejs.$);
 (function(f){f.extend(mejs.MepDefaults,{playpauseText:mejs.i18n.t("Play/Pause")});f.extend(MediaElementPlayer.prototype,{buildplaypause:function(a,b,c,e){var d=f('<div class="mejs-button mejs-playpause-button mejs-play" ><button type="button" aria-controls="'+this.id+'" title="'+this.options.playpauseText+'" aria-label="'+this.options.playpauseText+'"></button></div>').appendTo(b).click(function(g){g.preventDefault();e.paused?e.play():e.pause();return false});e.addEventListener("play",function(){d.removeClass("mejs-play").addClass("mejs-pause")},
 false);e.addEventListener("playing",function(){d.removeClass("mejs-play").addClass("mejs-pause")},false);e.addEventListener("pause",function(){d.removeClass("mejs-pause").addClass("mejs-play")},false);e.addEventListener("paused",function(){d.removeClass("mejs-pause").addClass("mejs-play")},false)}})})(mejs.$);
 (function(f){f.extend(mejs.MepDefaults,{stopText:"Stop"});f.extend(MediaElementPlayer.prototype,{buildstop:function(a,b,c,e){f('<div class="mejs-button mejs-stop-button mejs-stop"><button type="button" aria-controls="'+this.id+'" title="'+this.options.stopText+'" aria-label="'+this.options.stopText+'"></button></div>').appendTo(b).click(function(){e.paused||e.pause();if(e.currentTime>0){e.setCurrentTime(0);e.pause();b.find(".mejs-time-current").width("0px");b.find(".mejs-time-handle").css("left",
@@ -133,39 +136,43 @@ j=d.container.find(".mejs-volume-slider, .mejs-horizontal-volume-slider"),m=d.co
 if(g=="vertical"){var s=m.height(),u=m.position(),v=s-s*n;p.css("top",Math.round(u.top+v-p.height()/2));q.height(s-v);q.css("top",u.top+v)}else{s=m.width();u=m.position();s=s*n;p.css("left",Math.round(u.left+s-p.width()/2));q.width(Math.round(s))}}},h=function(n){var o=null,s=m.offset();if(g=="vertical"){o=m.height();parseInt(m.css("top").replace(/px/,""),10);o=(o-(n.pageY-s.top))/o;if(s.top==0||s.left==0)return}else{o=m.width();o=(n.pageX-s.left)/o}o=Math.max(0,o);o=Math.min(o,1);t(o);o==0?e.setMuted(true):
 e.setMuted(false);e.setVolume(o)},l=false,r=false;k.hover(function(){j.show();r=true},function(){r=false;!l&&g=="vertical"&&j.hide()});j.bind("mouseover",function(){r=true}).bind("mousedown",function(n){h(n);d.globalBind("mousemove.vol",function(o){h(o)});d.globalBind("mouseup.vol",function(){l=false;d.globalUnbind(".vol");!r&&g=="vertical"&&j.hide()});l=true;return false});k.find("button").click(function(){e.setMuted(!e.muted)});e.addEventListener("volumechange",function(){if(!l)if(e.muted){t(0);
 k.removeClass("mejs-mute").addClass("mejs-unmute")}else{t(e.volume);k.removeClass("mejs-unmute").addClass("mejs-mute")}},false);if(d.container.is(":visible")){t(a.options.startVolume);a.options.startVolume===0&&e.setMuted(true);e.pluginType==="native"&&e.setVolume(a.options.startVolume)}}}})})(mejs.$);
-(function(f){f.extend(mejs.MepDefaults,{usePluginFullScreen:true,newWindowCallback:function(){return""},fullscreenText:mejs.i18n.t("Fullscreen")});f.extend(MediaElementPlayer.prototype,{isFullScreen:false,isNativeFullScreen:false,isInIframe:false,buildfullscreen:function(a,b,c,e){if(a.isVideo){a.isInIframe=window.location!=window.parent.location;if(mejs.MediaFeatures.hasTrueNativeFullScreen){c=function(){if(a.isFullScreen)if(mejs.MediaFeatures.isFullScreen()){a.isNativeFullScreen=true;a.setControlsSize()}else{a.isNativeFullScreen=
-false;a.exitFullScreen()}};mejs.MediaFeatures.hasMozNativeFullScreen?a.globalBind(mejs.MediaFeatures.fullScreenEventName,c):a.container.bind(mejs.MediaFeatures.fullScreenEventName,c)}var d=this,g=f('<div class="mejs-button mejs-fullscreen-button"><button type="button" aria-controls="'+d.id+'" title="'+d.options.fullscreenText+'" aria-label="'+d.options.fullscreenText+'"></button></div>').appendTo(b);if(d.media.pluginType==="native"||!d.options.usePluginFullScreen&&!mejs.MediaFeatures.isFirefox)g.click(function(){mejs.MediaFeatures.hasTrueNativeFullScreen&&
-mejs.MediaFeatures.isFullScreen()||a.isFullScreen?a.exitFullScreen():a.enterFullScreen()});else{var k=null;if(function(){var h=document.createElement("x"),l=document.documentElement,r=window.getComputedStyle;if(!("pointerEvents"in h.style))return false;h.style.pointerEvents="auto";h.style.pointerEvents="x";l.appendChild(h);r=r&&r(h,"").pointerEvents==="auto";l.removeChild(h);return!!r}()&&!mejs.MediaFeatures.isOpera){var j=false,m=function(){if(j){for(var h in q)q[h].hide();g.css("pointer-events",
-"");d.controls.css("pointer-events","");d.media.removeEventListener("click",d.clickToPlayPauseCallback);j=false}},q={};b=["top","left","right","bottom"];var p,t=function(){var h=g.offset().left-d.container.offset().left,l=g.offset().top-d.container.offset().top,r=g.outerWidth(true),n=g.outerHeight(true),o=d.container.width(),s=d.container.height();for(p in q)q[p].css({position:"absolute",top:0,left:0});q.top.width(o).height(l);q.left.width(h).height(n).css({top:l});q.right.width(o-h-r).height(n).css({top:l,
-left:h+r});q.bottom.width(o).height(s-n-l).css({top:l+n})};d.globalBind("resize",function(){t()});p=0;for(c=b.length;p<c;p++)q[b[p]]=f('<div class="mejs-fullscreen-hover" />').appendTo(d.container).mouseover(m).hide();g.on("mouseover",function(){if(!d.isFullScreen){var h=g.offset(),l=a.container.offset();e.positionFullscreenButton(h.left-l.left,h.top-l.top,false);g.css("pointer-events","none");d.controls.css("pointer-events","none");d.media.addEventListener("click",d.clickToPlayPauseCallback);for(p in q)q[p].show();
-t();j=true}});e.addEventListener("fullscreenchange",function(){d.isFullScreen=!d.isFullScreen;d.isFullScreen?d.media.removeEventListener("click",d.clickToPlayPauseCallback):d.media.addEventListener("click",d.clickToPlayPauseCallback);m()});d.globalBind("mousemove",function(h){if(j){var l=g.offset();if(h.pageY<l.top||h.pageY>l.top+g.outerHeight(true)||h.pageX<l.left||h.pageX>l.left+g.outerWidth(true)){g.css("pointer-events","");d.controls.css("pointer-events","");j=false}}})}else g.on("mouseover",
-function(){if(k!==null){clearTimeout(k);delete k}var h=g.offset(),l=a.container.offset();e.positionFullscreenButton(h.left-l.left,h.top-l.top,true)}).on("mouseout",function(){if(k!==null){clearTimeout(k);delete k}k=setTimeout(function(){e.hideFullscreenButton()},1500)})}a.fullscreenBtn=g;d.globalBind("keydown",function(h){if((mejs.MediaFeatures.hasTrueNativeFullScreen&&mejs.MediaFeatures.isFullScreen()||d.isFullScreen)&&h.keyCode==27)a.exitFullScreen()})}},cleanfullscreen:function(a){a.exitFullScreen()},
-containerSizeTimeout:null,enterFullScreen:function(){var a=this;if(!(a.media.pluginType!=="native"&&(mejs.MediaFeatures.isFirefox||a.options.usePluginFullScreen))){f(document.documentElement).addClass("mejs-fullscreen");normalHeight=a.container.height();normalWidth=a.container.width();if(a.media.pluginType==="native")if(mejs.MediaFeatures.hasTrueNativeFullScreen){mejs.MediaFeatures.requestFullScreen(a.container[0]);a.isInIframe&&setTimeout(function c(){if(a.isNativeFullScreen){var e=(window.devicePixelRatio||
-1)*f(window).width(),d=screen.width;Math.abs(d-e)>d*0.0020?a.exitFullScreen():setTimeout(c,500)}},500)}else if(mejs.MediaFeatures.hasSemiNativeFullScreen){a.media.webkitEnterFullscreen();return}if(a.isInIframe){var b=a.options.newWindowCallback(this);if(b!=="")if(mejs.MediaFeatures.hasTrueNativeFullScreen)setTimeout(function(){if(!a.isNativeFullScreen){a.pause();window.open(b,a.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no")}},
-250);else{a.pause();window.open(b,a.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no");return}}a.container.addClass("mejs-container-fullscreen").width("100%").height("100%");a.containerSizeTimeout=setTimeout(function(){a.container.css({width:"100%",height:"100%"});a.setControlsSize()},500);if(a.media.pluginType==="native")a.$media.width("100%").height("100%");else{a.container.find(".mejs-shim").width("100%").height("100%");
-a.media.setVideoSize(f(window).width(),f(window).height())}a.layers.children("div").width("100%").height("100%");a.fullscreenBtn&&a.fullscreenBtn.removeClass("mejs-fullscreen").addClass("mejs-unfullscreen");a.setControlsSize();a.isFullScreen=true}},exitFullScreen:function(){clearTimeout(this.containerSizeTimeout);if(this.media.pluginType!=="native"&&mejs.MediaFeatures.isFirefox)this.media.setFullscreen(false);else{if(mejs.MediaFeatures.hasTrueNativeFullScreen&&(mejs.MediaFeatures.isFullScreen()||
-this.isFullScreen))mejs.MediaFeatures.cancelFullScreen();f(document.documentElement).removeClass("mejs-fullscreen");this.container.removeClass("mejs-container-fullscreen").width(normalWidth).height(normalHeight);if(this.media.pluginType==="native")this.$media.width(normalWidth).height(normalHeight);else{this.container.find(".mejs-shim").width(normalWidth).height(normalHeight);this.media.setVideoSize(normalWidth,normalHeight)}this.layers.children("div").width(normalWidth).height(normalHeight);this.fullscreenBtn.removeClass("mejs-unfullscreen").addClass("mejs-fullscreen");
-this.setControlsSize();this.isFullScreen=false}}})})(mejs.$);
-(function(f){f.extend(mejs.MepDefaults,{startLanguage:"",tracksText:mejs.i18n.t("Captions/Subtitles"),hideCaptionsButtonWhenEmpty:true,toggleCaptionsButtonWhenOnlyOne:false,slidesSelector:""});f.extend(MediaElementPlayer.prototype,{hasChapters:false,buildtracks:function(a,b,c,e){if(a.tracks.length!=0){var d;if(this.domNode.textTracks)for(d=this.domNode.textTracks.length-1;d>=0;d--)this.domNode.textTracks[d].mode="hidden";a.chapters=f('<div class="mejs-chapters mejs-layer"></div>').prependTo(c).hide();a.captions=
-f('<div class="mejs-captions-layer mejs-layer"><div class="mejs-captions-position mejs-captions-position-hover"><span class="mejs-captions-text"></span></div></div>').prependTo(c).hide();a.captionsText=a.captions.find(".mejs-captions-text");a.captionsButton=f('<div class="mejs-button mejs-captions-button"><button type="button" aria-controls="'+this.id+'" title="'+this.options.tracksText+'" aria-label="'+this.options.tracksText+'"></button><div class="mejs-captions-selector"><ul><li><input type="radio" name="'+
-a.id+'_captions" id="'+a.id+'_captions_none" value="none" checked="checked" /><label for="'+a.id+'_captions_none">'+mejs.i18n.t("None")+"</label></li></ul></div></div>").appendTo(b);for(d=b=0;d<a.tracks.length;d++)a.tracks[d].kind=="subtitles"&&b++;this.options.toggleCaptionsButtonWhenOnlyOne&&b==1?a.captionsButton.on("click",function(){a.setTrack(a.selectedTrack==null?a.tracks[0].srclang:"none")}):a.captionsButton.hover(function(){f(this).find(".mejs-captions-selector").css("visibility","visible")},
-function(){f(this).find(".mejs-captions-selector").css("visibility","hidden")}).on("click","input[type=radio]",function(){lang=this.value;a.setTrack(lang)});a.options.alwaysShowControls?a.container.find(".mejs-captions-position").addClass("mejs-captions-position-hover"):a.container.bind("controlsshown",function(){a.container.find(".mejs-captions-position").addClass("mejs-captions-position-hover")}).bind("controlshidden",function(){e.paused||a.container.find(".mejs-captions-position").removeClass("mejs-captions-position-hover")});
-a.trackToLoad=-1;a.selectedTrack=null;a.isLoadingTrack=false;for(d=0;d<a.tracks.length;d++)a.tracks[d].kind=="subtitles"&&a.addTrackButton(a.tracks[d].srclang,a.tracks[d].label);a.loadNextTrack();e.addEventListener("timeupdate",function(){a.displayCaptions()},false);if(a.options.slidesSelector!=""){a.slidesContainer=f(a.options.slidesSelector);e.addEventListener("timeupdate",function(){a.displaySlides()},false)}e.addEventListener("loadedmetadata",function(){a.displayChapters()},false);a.container.hover(function(){if(a.hasChapters){a.chapters.css("visibility",
-"visible");a.chapters.fadeIn(200).height(a.chapters.find(".mejs-chapter").outerHeight())}},function(){a.hasChapters&&!e.paused&&a.chapters.fadeOut(200,function(){f(this).css("visibility","hidden");f(this).css("display","block")})});a.node.getAttribute("autoplay")!==null&&a.chapters.css("visibility","hidden")}},setTrack:function(a){var b;if(a=="none"){this.selectedTrack=null;this.captionsButton.removeClass("mejs-captions-enabled")}else for(b=0;b<this.tracks.length;b++)if(this.tracks[b].srclang==a){this.selectedTrack==
+(function(f){f.extend(mejs.MepDefaults,{usePluginFullScreen:true,newWindowCallback:function(){return""},fullscreenText:mejs.i18n.t("Fullscreen")});f.extend(MediaElementPlayer.prototype,{isFullScreen:false,isNativeFullScreen:false,isInIframe:false,buildfullscreen:function(a,b,c,e){if(a.isVideo){a.isInIframe=window.location!=window.parent.location;mejs.MediaFeatures.hasTrueNativeFullScreen&&a.globalBind(mejs.MediaFeatures.fullScreenEventName,function(){if(a.isFullScreen)if(mejs.MediaFeatures.isFullScreen()){a.isNativeFullScreen=
+true;a.setControlsSize()}else{a.isNativeFullScreen=false;a.exitFullScreen()}});var d=this,g=f('<div class="mejs-button mejs-fullscreen-button"><button type="button" aria-controls="'+d.id+'" title="'+d.options.fullscreenText+'" aria-label="'+d.options.fullscreenText+'"></button></div>').appendTo(b);if(d.media.pluginType==="native"||!d.options.usePluginFullScreen&&!mejs.MediaFeatures.isFirefox)g.click(function(){mejs.MediaFeatures.hasTrueNativeFullScreen&&mejs.MediaFeatures.isFullScreen()||a.isFullScreen?
+a.exitFullScreen():a.enterFullScreen()});else{var k=null;if(function(){var h=document.createElement("x"),l=document.documentElement,r=window.getComputedStyle;if(!("pointerEvents"in h.style))return false;h.style.pointerEvents="auto";h.style.pointerEvents="x";l.appendChild(h);r=r&&r(h,"").pointerEvents==="auto";l.removeChild(h);return!!r}()&&!mejs.MediaFeatures.isOpera){var j=false,m=function(){if(j){for(var h in q)q[h].hide();g.css("pointer-events","");d.controls.css("pointer-events","");d.media.removeEventListener("click",
+d.clickToPlayPauseCallback);j=false}},q={};b=["top","left","right","bottom"];var p,t=function(){var h=g.offset().left-d.container.offset().left,l=g.offset().top-d.container.offset().top,r=g.outerWidth(true),n=g.outerHeight(true),o=d.container.width(),s=d.container.height();for(p in q)q[p].css({position:"absolute",top:0,left:0});q.top.width(o).height(l);q.left.width(h).height(n).css({top:l});q.right.width(o-h-r).height(n).css({top:l,left:h+r});q.bottom.width(o).height(s-n-l).css({top:l+n})};d.globalBind("resize",
+function(){t()});p=0;for(c=b.length;p<c;p++)q[b[p]]=f('<div class="mejs-fullscreen-hover" />').appendTo(d.container).mouseover(m).hide();g.on("mouseover",function(){if(!d.isFullScreen){var h=g.offset(),l=a.container.offset();e.positionFullscreenButton(h.left-l.left,h.top-l.top,false);g.css("pointer-events","none");d.controls.css("pointer-events","none");d.media.addEventListener("click",d.clickToPlayPauseCallback);for(p in q)q[p].show();t();j=true}});e.addEventListener("fullscreenchange",function(){d.isFullScreen=
+!d.isFullScreen;d.isFullScreen?d.media.removeEventListener("click",d.clickToPlayPauseCallback):d.media.addEventListener("click",d.clickToPlayPauseCallback);m()});d.globalBind("mousemove",function(h){if(j){var l=g.offset();if(h.pageY<l.top||h.pageY>l.top+g.outerHeight(true)||h.pageX<l.left||h.pageX>l.left+g.outerWidth(true)){g.css("pointer-events","");d.controls.css("pointer-events","");j=false}}})}else g.on("mouseover",function(){if(k!==null){clearTimeout(k);delete k}var h=g.offset(),l=a.container.offset();
+e.positionFullscreenButton(h.left-l.left,h.top-l.top,true)}).on("mouseout",function(){if(k!==null){clearTimeout(k);delete k}k=setTimeout(function(){e.hideFullscreenButton()},1500)})}a.fullscreenBtn=g;d.globalBind("keydown",function(h){if((mejs.MediaFeatures.hasTrueNativeFullScreen&&mejs.MediaFeatures.isFullScreen()||d.isFullScreen)&&h.keyCode==27)a.exitFullScreen()})}},cleanfullscreen:function(a){a.exitFullScreen()},containerSizeTimeout:null,enterFullScreen:function(){var a=this;if(!(a.media.pluginType!==
+"native"&&(mejs.MediaFeatures.isFirefox||a.options.usePluginFullScreen))){f(document.documentElement).addClass("mejs-fullscreen");normalHeight=a.container.height();normalWidth=a.container.width();if(a.media.pluginType==="native")if(mejs.MediaFeatures.hasTrueNativeFullScreen){mejs.MediaFeatures.requestFullScreen(a.container[0]);a.isInIframe&&setTimeout(function c(){if(a.isNativeFullScreen){var e=(window.devicePixelRatio||1)*f(window).width(),d=screen.width;Math.abs(d-e)>d*0.0020?a.exitFullScreen():
+setTimeout(c,500)}},500)}else if(mejs.MediaFeatures.hasSemiNativeFullScreen){a.media.webkitEnterFullscreen();return}if(a.isInIframe){var b=a.options.newWindowCallback(this);if(b!=="")if(mejs.MediaFeatures.hasTrueNativeFullScreen)setTimeout(function(){if(!a.isNativeFullScreen){a.pause();window.open(b,a.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no")}},250);else{a.pause();window.open(b,a.id,"top=0,left=0,width="+screen.availWidth+
+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no");return}}a.container.addClass("mejs-container-fullscreen").width("100%").height("100%");a.containerSizeTimeout=setTimeout(function(){a.container.css({width:"100%",height:"100%"});a.setControlsSize()},500);if(a.media.pluginType==="native")a.$media.width("100%").height("100%");else{a.container.find(".mejs-shim").width("100%").height("100%");a.media.setVideoSize(f(window).width(),f(window).height())}a.layers.children("div").width("100%").height("100%");
+a.fullscreenBtn&&a.fullscreenBtn.removeClass("mejs-fullscreen").addClass("mejs-unfullscreen");a.setControlsSize();a.isFullScreen=true;a.container.find(".mejs-captions-text").css("font-size",screen.width/a.width*1*100+"%");a.container.find(".mejs-captions-position").css("bottom","45px")}},exitFullScreen:function(){clearTimeout(this.containerSizeTimeout);if(this.media.pluginType!=="native"&&mejs.MediaFeatures.isFirefox)this.media.setFullscreen(false);else{if(mejs.MediaFeatures.hasTrueNativeFullScreen&&
+(mejs.MediaFeatures.isFullScreen()||this.isFullScreen))mejs.MediaFeatures.cancelFullScreen();f(document.documentElement).removeClass("mejs-fullscreen");this.container.removeClass("mejs-container-fullscreen").width(normalWidth).height(normalHeight);if(this.media.pluginType==="native")this.$media.width(normalWidth).height(normalHeight);else{this.container.find(".mejs-shim").width(normalWidth).height(normalHeight);this.media.setVideoSize(normalWidth,normalHeight)}this.layers.children("div").width(normalWidth).height(normalHeight);
+this.fullscreenBtn.removeClass("mejs-unfullscreen").addClass("mejs-fullscreen");this.setControlsSize();this.isFullScreen=false;this.container.find(".mejs-captions-text").css("font-size","");this.container.find(".mejs-captions-position").css("bottom","")}}})})(mejs.$);
+(function(f){f.extend(mejs.MepDefaults,{speeds:["1.50","1.25","1.00","0.75"],defaultSpeed:"1.00"});f.extend(MediaElementPlayer.prototype,{buildspeed:function(a,b,c,e){if(a.isVideo)if(this.media.pluginType=="native"){c='<div class="mejs-button mejs-speed-button"><button type="button">'+this.options.defaultSpeed+'x</button><div class="mejs-speed-selector"><ul>';var d;f.inArray(this.options.defaultSpeed,this.options.speeds)===-1&&this.options.speeds.push(this.options.defaultSpeed);this.options.speeds.sort(function(g,
+k){return parseFloat(k)-parseFloat(g)});for(d=0;d<this.options.speeds.length;d++){c+='<li><input type="radio" name="speed" value="'+this.options.speeds[d]+'" id="'+this.options.speeds[d]+'" ';if(this.options.speeds[d]==this.options.defaultSpeed){c+="checked=true ";c+='/><label for="'+this.options.speeds[d]+'" class="mejs-speed-selected">'+this.options.speeds[d]+"x</label></li>"}else c+='/><label for="'+this.options.speeds[d]+'">'+this.options.speeds[d]+"x</label></li>"}c+="</ul></div></div>";a.speedButton=
+f(c).appendTo(b);a.playbackspeed=this.options.defaultSpeed;a.speedButton.on("click","input[type=radio]",function(){a.playbackspeed=f(this).attr("value");e.playbackRate=parseFloat(a.playbackspeed);a.speedButton.find("button").text(a.playbackspeed+"x");a.speedButton.find(".mejs-speed-selected").removeClass("mejs-speed-selected");a.speedButton.find("input[type=radio]:checked").next().addClass("mejs-speed-selected")});b=a.speedButton.find(".mejs-speed-selector");b.height(this.speedButton.find(".mejs-speed-selector ul").outerHeight(true)+
+a.speedButton.find(".mejs-speed-translations").outerHeight(true));b.css("top",-1*b.height()+"px")}}})})(mejs.$);
+(function(f){f.extend(mejs.MepDefaults,{startLanguage:"",tracksText:mejs.i18n.t("Captions/Subtitles"),hideCaptionsButtonWhenEmpty:true,toggleCaptionsButtonWhenOnlyOne:false,slidesSelector:""});f.extend(MediaElementPlayer.prototype,{hasChapters:false,buildtracks:function(a,b,c,e){if(a.tracks.length!==0){var d;if(this.domNode.textTracks)for(d=this.domNode.textTracks.length-1;d>=0;d--)this.domNode.textTracks[d].mode="hidden";a.chapters=f('<div class="mejs-chapters mejs-layer"></div>').prependTo(c).hide();
+a.captions=f('<div class="mejs-captions-layer mejs-layer"><div class="mejs-captions-position mejs-captions-position-hover"><span class="mejs-captions-text"></span></div></div>').prependTo(c).hide();a.captionsText=a.captions.find(".mejs-captions-text");a.captionsButton=f('<div class="mejs-button mejs-captions-button"><button type="button" aria-controls="'+this.id+'" title="'+this.options.tracksText+'" aria-label="'+this.options.tracksText+'"></button><div class="mejs-captions-selector"><ul><li><input type="radio" name="'+
+a.id+'_captions" id="'+a.id+'_captions_none" value="none" checked="checked" /><label for="'+a.id+'_captions_none">'+mejs.i18n.t("None")+"</label></li></ul></div></div>").appendTo(b);for(d=b=0;d<a.tracks.length;d++)a.tracks[d].kind=="subtitles"&&b++;if(this.options.toggleCaptionsButtonWhenOnlyOne&&b==1)a.captionsButton.on("click",function(){lang=a.selectedTrack===null?a.tracks[0].srclang:"none";a.setTrack(lang)});else{a.captionsButton.on("mouseenter focusin",function(){f(this).find(".mejs-captions-selector").css("visibility",
+"visible")}).on("click","input[type=radio]",function(){lang=this.value;a.setTrack(lang)});a.captionsButton.on("mouseleave focusout",function(){f(this).find(".mejs-captions-selector").css("visibility","hidden")})}a.options.alwaysShowControls?a.container.find(".mejs-captions-position").addClass("mejs-captions-position-hover"):a.container.bind("controlsshown",function(){a.container.find(".mejs-captions-position").addClass("mejs-captions-position-hover")}).bind("controlshidden",function(){e.paused||a.container.find(".mejs-captions-position").removeClass("mejs-captions-position-hover")});
+a.trackToLoad=-1;a.selectedTrack=null;a.isLoadingTrack=false;for(d=0;d<a.tracks.length;d++)a.tracks[d].kind=="subtitles"&&a.addTrackButton(a.tracks[d].srclang,a.tracks[d].label);a.loadNextTrack();e.addEventListener("timeupdate",function(){a.displayCaptions()},false);if(a.options.slidesSelector!==""){a.slidesContainer=f(a.options.slidesSelector);e.addEventListener("timeupdate",function(){a.displaySlides()},false)}e.addEventListener("loadedmetadata",function(){a.displayChapters()},false);a.container.hover(function(){if(a.hasChapters){a.chapters.css("visibility",
+"visible");a.chapters.fadeIn(200).height(a.chapters.find(".mejs-chapter").outerHeight())}},function(){a.hasChapters&&!e.paused&&a.chapters.fadeOut(200,function(){f(this).css("visibility","hidden");f(this).css("display","block")})});a.node.getAttribute("autoplay")!==null&&a.chapters.css("visibility","hidden")}},setTrack:function(a){var b;if(a=="none"){this.selectedTrack=null;this.captionsButton.removeClass("mejs-captions-enabled")}else for(b=0;b<this.tracks.length;b++)if(this.tracks[b].srclang==a){this.selectedTrack===
 null&&this.captionsButton.addClass("mejs-captions-enabled");this.selectedTrack=this.tracks[b];this.captions.attr("lang",this.selectedTrack.srclang);this.displayCaptions();break}},loadNextTrack:function(){this.trackToLoad++;if(this.trackToLoad<this.tracks.length){this.isLoadingTrack=true;this.loadTrack(this.trackToLoad)}else{this.isLoadingTrack=false;this.checkForTracks()}},loadTrack:function(a){var b=this,c=b.tracks[a];f.ajax({url:c.src,dataType:"text",success:function(e){c.entries=typeof e=="string"&&
-/<tt\s+xml/ig.exec(e)?mejs.TrackFormatParser.dfxp.parse(e):mejs.TrackFormatParser.webvvt.parse(e);c.isLoaded=true;b.enableTrackButton(c.srclang,c.label);b.loadNextTrack();c.kind=="chapters"&&b.media.addEventListener("play",function(){b.media.duration>0&&b.displayChapters(c)},false);c.kind=="slides"&&b.setupSlides(c)},error:function(){b.loadNextTrack()}})},enableTrackButton:function(a,b){if(b==="")b=mejs.language.codes[a]||a;this.captionsButton.find("input[value="+a+"]").prop("disabled",false).siblings("label").html(b);
-this.options.startLanguage==a&&f("#"+this.id+"_captions_"+a).click();this.adjustLanguageBox()},addTrackButton:function(a,b){if(b==="")b=mejs.language.codes[a]||a;this.captionsButton.find("ul").append(f('<li><input type="radio" name="'+this.id+'_captions" id="'+this.id+"_captions_"+a+'" value="'+a+'" disabled="disabled" /><label for="'+this.id+"_captions_"+a+'">'+b+" (loading)</label></li>"));this.adjustLanguageBox();this.container.find(".mejs-captions-translations option[value="+a+"]").remove()},
-adjustLanguageBox:function(){this.captionsButton.find(".mejs-captions-selector").height(this.captionsButton.find(".mejs-captions-selector ul").outerHeight(true)+this.captionsButton.find(".mejs-captions-translations").outerHeight(true))},checkForTracks:function(){var a=false;if(this.options.hideCaptionsButtonWhenEmpty){for(i=0;i<this.tracks.length;i++)if(this.tracks[i].kind=="subtitles"){a=true;break}if(!a){this.captionsButton.hide();this.setControlsSize()}}},displayCaptions:function(){if(typeof this.tracks!=
-"undefined"){var a,b=this.selectedTrack;if(b!=null&&b.isLoaded)for(a=0;a<b.entries.times.length;a++)if(this.media.currentTime>=b.entries.times[a].start&&this.media.currentTime<=b.entries.times[a].stop){this.captionsText.html(b.entries.text[a]);this.captions.show().height(0);return}this.captions.hide()}},setupSlides:function(a){this.slides=a;this.slides.entries.imgs=[this.slides.entries.text.length];this.showSlide(0)},showSlide:function(a){if(!(typeof this.tracks=="undefined"||typeof this.slidesContainer==
-"undefined")){var b=this,c=b.slides.entries.text[a],e=b.slides.entries.imgs[a];if(typeof e=="undefined"||typeof e.fadeIn=="undefined")b.slides.entries.imgs[a]=e=f('<img src="'+c+'">').on("load",function(){e.appendTo(b.slidesContainer).hide().fadeIn().siblings(":visible").fadeOut()});else!e.is(":visible")&&!e.is(":animated")&&e.fadeIn().siblings(":visible").fadeOut()}},displaySlides:function(){if(typeof this.slides!="undefined"){var a=this.slides,b;for(b=0;b<a.entries.times.length;b++)if(this.media.currentTime>=
-a.entries.times[b].start&&this.media.currentTime<=a.entries.times[b].stop){this.showSlide(b);break}}},displayChapters:function(){var a;for(a=0;a<this.tracks.length;a++)if(this.tracks[a].kind=="chapters"&&this.tracks[a].isLoaded){this.drawChapters(this.tracks[a]);this.hasChapters=true;break}},drawChapters:function(a){var b=this,c,e,d=e=0;b.chapters.empty();for(c=0;c<a.entries.times.length;c++){e=a.entries.times[c].stop-a.entries.times[c].start;e=Math.floor(e/b.media.duration*100);if(e+d>100||c==a.entries.times.length-
-1&&e+d<100)e=100-d;b.chapters.append(f('<div class="mejs-chapter" rel="'+a.entries.times[c].start+'" style="left: '+d.toString()+"%;width: "+e.toString()+'%;"><div class="mejs-chapter-block'+(c==a.entries.times.length-1?" mejs-chapter-block-last":"")+'"><span class="ch-title">'+a.entries.text[c]+'</span><span class="ch-time">'+mejs.Utility.secondsToTimeCode(a.entries.times[c].start)+"&ndash;"+mejs.Utility.secondsToTimeCode(a.entries.times[c].stop)+"</span></div></div>"));d+=e}b.chapters.find("div.mejs-chapter").click(function(){b.media.setCurrentTime(parseFloat(f(this).attr("rel")));
-b.media.paused&&b.media.play()});b.chapters.show()}});mejs.language={codes:{af:"Afrikaans",sq:"Albanian",ar:"Arabic",be:"Belarusian",bg:"Bulgarian",ca:"Catalan",zh:"Chinese","zh-cn":"Chinese Simplified","zh-tw":"Chinese Traditional",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch",en:"English",et:"Estonian",tl:"Filipino",fi:"Finnish",fr:"French",gl:"Galician",de:"German",el:"Greek",ht:"Haitian Creole",iw:"Hebrew",hi:"Hindi",hu:"Hungarian",is:"Icelandic",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",
-ko:"Korean",lv:"Latvian",lt:"Lithuanian",mk:"Macedonian",ms:"Malay",mt:"Maltese",no:"Norwegian",fa:"Persian",pl:"Polish",pt:"Portuguese",ro:"Romanian",ru:"Russian",sr:"Serbian",sk:"Slovak",sl:"Slovenian",es:"Spanish",sw:"Swahili",sv:"Swedish",tl:"Tagalog",th:"Thai",tr:"Turkish",uk:"Ukrainian",vi:"Vietnamese",cy:"Welsh",yi:"Yiddish"}};mejs.TrackFormatParser={webvvt:{pattern_identifier:/^([a-zA-z]+-)?[0-9]+$/,pattern_timecode:/^([0-9]{2}:[0-9]{2}:[0-9]{2}([,.][0-9]{1,3})?) --\> ([0-9]{2}:[0-9]{2}:[0-9]{2}([,.][0-9]{3})?)(.*)$/,
-parse:function(a){var b=0;a=mejs.TrackFormatParser.split2(a,/\r?\n/);for(var c={text:[],times:[]},e,d;b<a.length;b++)if(this.pattern_identifier.exec(a[b])){b++;if((e=this.pattern_timecode.exec(a[b]))&&b<a.length){b++;d=a[b];for(b++;a[b]!==""&&b<a.length;){d=d+"\n"+a[b];b++}d=f.trim(d).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig,"<a href='$1' target='_blank'>$1</a>");c.text.push(d);c.times.push({start:mejs.Utility.convertSMPTEtoSeconds(e[1])==0?0.2:mejs.Utility.convertSMPTEtoSeconds(e[1]),
-stop:mejs.Utility.convertSMPTEtoSeconds(e[3]),settings:e[5]})}}return c}},dfxp:{parse:function(a){a=f(a).filter("tt");var b=0;b=a.children("div").eq(0);var c=b.find("p");b=a.find("#"+b.attr("style"));var e,d;a={text:[],times:[]};if(b.length){d=b.removeAttr("id").get(0).attributes;if(d.length){e={};for(b=0;b<d.length;b++)e[d[b].name.split(":")[1]]=d[b].value}}for(b=0;b<c.length;b++){var g;d={start:null,stop:null,style:null};if(c.eq(b).attr("begin"))d.start=mejs.Utility.convertSMPTEtoSeconds(c.eq(b).attr("begin"));
-if(!d.start&&c.eq(b-1).attr("end"))d.start=mejs.Utility.convertSMPTEtoSeconds(c.eq(b-1).attr("end"));if(c.eq(b).attr("end"))d.stop=mejs.Utility.convertSMPTEtoSeconds(c.eq(b).attr("end"));if(!d.stop&&c.eq(b+1).attr("begin"))d.stop=mejs.Utility.convertSMPTEtoSeconds(c.eq(b+1).attr("begin"));if(e){g="";for(var k in e)g+=k+":"+e[k]+";"}if(g)d.style=g;if(d.start==0)d.start=0.2;a.times.push(d);d=f.trim(c.eq(b).html()).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig,
-"<a href='$1' target='_blank'>$1</a>");a.text.push(d);if(a.times.start==0)a.times.start=2}return a}},split2:function(a,b){return a.split(b)}};if("x\n\ny".split(/\n/gi).length!=3)mejs.TrackFormatParser.split2=function(a,b){var c=[],e="",d;for(d=0;d<a.length;d++){e+=a.substring(d,d+1);if(b.test(e)){c.push(e.replace(b,""));e=""}}c.push(e);return c}})(mejs.$);
+/<tt\s+xml/ig.exec(e)?mejs.TrackFormatParser.dfxp.parse(e):mejs.TrackFormatParser.webvtt.parse(e);c.isLoaded=true;b.enableTrackButton(c.srclang,c.label);b.loadNextTrack();c.kind=="chapters"&&b.media.addEventListener("play",function(){b.media.duration>0&&b.displayChapters(c)},false);c.kind=="slides"&&b.setupSlides(c)},error:function(){b.loadNextTrack()}})},enableTrackButton:function(a,b){if(b==="")b=mejs.language.codes[a]||a;this.captionsButton.find("input[value="+a+"]").prop("disabled",false).siblings("label").html(b);
+this.options.startLanguage==a&&f("#"+this.id+"_captions_"+a).prop("checked",true).trigger("click");this.adjustLanguageBox()},addTrackButton:function(a,b){if(b==="")b=mejs.language.codes[a]||a;this.captionsButton.find("ul").append(f('<li><input type="radio" name="'+this.id+'_captions" id="'+this.id+"_captions_"+a+'" value="'+a+'" disabled="disabled" /><label for="'+this.id+"_captions_"+a+'">'+b+" (loading)</label></li>"));this.adjustLanguageBox();this.container.find(".mejs-captions-translations option[value="+
+a+"]").remove()},adjustLanguageBox:function(){this.captionsButton.find(".mejs-captions-selector").height(this.captionsButton.find(".mejs-captions-selector ul").outerHeight(true)+this.captionsButton.find(".mejs-captions-translations").outerHeight(true))},checkForTracks:function(){var a=false;if(this.options.hideCaptionsButtonWhenEmpty){for(i=0;i<this.tracks.length;i++)if(this.tracks[i].kind=="subtitles"){a=true;break}if(!a){this.captionsButton.hide();this.setControlsSize()}}},displayCaptions:function(){if(typeof this.tracks!=
+"undefined"){var a,b=this.selectedTrack;if(b!==null&&b.isLoaded)for(a=0;a<b.entries.times.length;a++)if(this.media.currentTime>=b.entries.times[a].start&&this.media.currentTime<=b.entries.times[a].stop){this.captionsText.html(b.entries.text[a]).attr("class","mejs-captions-text "+(b.entries.times[a].identifier||""));this.captions.show().height(0);return}this.captions.hide()}},setupSlides:function(a){this.slides=a;this.slides.entries.imgs=[this.slides.entries.text.length];this.showSlide(0)},showSlide:function(a){if(!(typeof this.tracks==
+"undefined"||typeof this.slidesContainer=="undefined")){var b=this,c=b.slides.entries.text[a],e=b.slides.entries.imgs[a];if(typeof e=="undefined"||typeof e.fadeIn=="undefined")b.slides.entries.imgs[a]=e=f('<img src="'+c+'">').on("load",function(){e.appendTo(b.slidesContainer).hide().fadeIn().siblings(":visible").fadeOut()});else!e.is(":visible")&&!e.is(":animated")&&e.fadeIn().siblings(":visible").fadeOut()}},displaySlides:function(){if(typeof this.slides!="undefined"){var a=this.slides,b;for(b=0;b<
+a.entries.times.length;b++)if(this.media.currentTime>=a.entries.times[b].start&&this.media.currentTime<=a.entries.times[b].stop){this.showSlide(b);break}}},displayChapters:function(){var a;for(a=0;a<this.tracks.length;a++)if(this.tracks[a].kind=="chapters"&&this.tracks[a].isLoaded){this.drawChapters(this.tracks[a]);this.hasChapters=true;break}},drawChapters:function(a){var b=this,c,e,d=e=0;b.chapters.empty();for(c=0;c<a.entries.times.length;c++){e=a.entries.times[c].stop-a.entries.times[c].start;
+e=Math.floor(e/b.media.duration*100);if(e+d>100||c==a.entries.times.length-1&&e+d<100)e=100-d;b.chapters.append(f('<div class="mejs-chapter" rel="'+a.entries.times[c].start+'" style="left: '+d.toString()+"%;width: "+e.toString()+'%;"><div class="mejs-chapter-block'+(c==a.entries.times.length-1?" mejs-chapter-block-last":"")+'"><span class="ch-title">'+a.entries.text[c]+'</span><span class="ch-time">'+mejs.Utility.secondsToTimeCode(a.entries.times[c].start)+"&ndash;"+mejs.Utility.secondsToTimeCode(a.entries.times[c].stop)+
+"</span></div></div>"));d+=e}b.chapters.find("div.mejs-chapter").click(function(){b.media.setCurrentTime(parseFloat(f(this).attr("rel")));b.media.paused&&b.media.play()});b.chapters.show()}});mejs.language={codes:{af:"Afrikaans",sq:"Albanian",ar:"Arabic",be:"Belarusian",bg:"Bulgarian",ca:"Catalan",zh:"Chinese","zh-cn":"Chinese Simplified","zh-tw":"Chinese Traditional",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch",en:"English",et:"Estonian",fl:"Filipino",fi:"Finnish",fr:"French",gl:"Galician",de:"German",
+el:"Greek",ht:"Haitian Creole",iw:"Hebrew",hi:"Hindi",hu:"Hungarian",is:"Icelandic",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",ko:"Korean",lv:"Latvian",lt:"Lithuanian",mk:"Macedonian",ms:"Malay",mt:"Maltese",no:"Norwegian",fa:"Persian",pl:"Polish",pt:"Portuguese",ro:"Romanian",ru:"Russian",sr:"Serbian",sk:"Slovak",sl:"Slovenian",es:"Spanish",sw:"Swahili",sv:"Swedish",tl:"Tagalog",th:"Thai",tr:"Turkish",uk:"Ukrainian",vi:"Vietnamese",cy:"Welsh",yi:"Yiddish"}};mejs.TrackFormatParser={webvtt:{pattern_timecode:/^((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{1,3})?) --\> ((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{3})?)(.*)$/,
+parse:function(a){var b=0;a=mejs.TrackFormatParser.split2(a,/\r?\n/);for(var c={text:[],times:[]},e,d,g;b<a.length;b++){if((e=this.pattern_timecode.exec(a[b]))&&b<a.length){if(b-1>=0&&a[b-1]!=="")g=a[b-1];b++;d=a[b];for(b++;a[b]!==""&&b<a.length;){d=d+"\n"+a[b];b++}d=f.trim(d).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig,"<a href='$1' target='_blank'>$1</a>");c.text.push(d);c.times.push({identifier:g,start:mejs.Utility.convertSMPTEtoSeconds(e[1])===0?0.2:mejs.Utility.convertSMPTEtoSeconds(e[1]),
+stop:mejs.Utility.convertSMPTEtoSeconds(e[3]),settings:e[5]})}g=""}return c}},dfxp:{parse:function(a){a=f(a).filter("tt");var b=0;b=a.children("div").eq(0);var c=b.find("p");b=a.find("#"+b.attr("style"));var e,d;a={text:[],times:[]};if(b.length){d=b.removeAttr("id").get(0).attributes;if(d.length){e={};for(b=0;b<d.length;b++)e[d[b].name.split(":")[1]]=d[b].value}}for(b=0;b<c.length;b++){var g;d={start:null,stop:null,style:null};if(c.eq(b).attr("begin"))d.start=mejs.Utility.convertSMPTEtoSeconds(c.eq(b).attr("begin"));
+if(!d.start&&c.eq(b-1).attr("end"))d.start=mejs.Utility.convertSMPTEtoSeconds(c.eq(b-1).attr("end"));if(c.eq(b).attr("end"))d.stop=mejs.Utility.convertSMPTEtoSeconds(c.eq(b).attr("end"));if(!d.stop&&c.eq(b+1).attr("begin"))d.stop=mejs.Utility.convertSMPTEtoSeconds(c.eq(b+1).attr("begin"));if(e){g="";for(var k in e)g+=k+":"+e[k]+";"}if(g)d.style=g;if(d.start===0)d.start=0.2;a.times.push(d);d=f.trim(c.eq(b).html()).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig,
+"<a href='$1' target='_blank'>$1</a>");a.text.push(d);if(a.times.start===0)a.times.start=2}return a}},split2:function(a,b){return a.split(b)}};if("x\n\ny".split(/\n/gi).length!=3)mejs.TrackFormatParser.split2=function(a,b){var c=[],e="",d;for(d=0;d<a.length;d++){e+=a.substring(d,d+1);if(b.test(e)){c.push(e.replace(b,""));e=""}}c.push(e);return c}})(mejs.$);
 (function(f){f.extend(mejs.MepDefaults,{contextMenuItems:[{render:function(a){if(typeof a.enterFullScreen=="undefined")return null;return a.isFullScreen?mejs.i18n.t("Turn off Fullscreen"):mejs.i18n.t("Go Fullscreen")},click:function(a){a.isFullScreen?a.exitFullScreen():a.enterFullScreen()}},{render:function(a){return a.media.muted?mejs.i18n.t("Unmute"):mejs.i18n.t("Mute")},click:function(a){a.media.muted?a.setMuted(false):a.setMuted(true)}},{isSeparator:true},{render:function(){return mejs.i18n.t("Download Video")},
 click:function(a){window.location.href=a.media.currentSrc}}]});f.extend(MediaElementPlayer.prototype,{buildcontextmenu:function(a){a.contextMenu=f('<div class="mejs-contextmenu"></div>').appendTo(f("body")).hide();a.container.bind("contextmenu",function(b){if(a.isContextMenuEnabled){b.preventDefault();a.renderContextMenu(b.clientX-1,b.clientY-1);return false}});a.container.bind("click",function(){a.contextMenu.hide()});a.contextMenu.bind("mouseleave",function(){a.startContextMenuTimer()})},cleancontextmenu:function(a){a.contextMenu.remove()},
 isContextMenuEnabled:true,enableContextMenu:function(){this.isContextMenuEnabled=true},disableContextMenu:function(){this.isContextMenuEnabled=false},contextMenuTimeout:null,startContextMenuTimer:function(){var a=this;a.killContextMenuTimer();a.contextMenuTimer=setTimeout(function(){a.hideContextMenu();a.killContextMenuTimer()},750)},killContextMenuTimer:function(){var a=this.contextMenuTimer;if(a!=null){clearTimeout(a);delete a}},hideContextMenu:function(){this.contextMenu.hide()},renderContextMenu:function(a,
@@ -173,4 +180,3 @@ b){for(var c=this,e="",d=c.options.contextMenuItems,g=0,k=d.length;g<k;g++)if(d[
 "undefined"&&p.show(m,c);m.click(function(){typeof p.click!="undefined"&&p.click(c);c.contextMenu.hide()})});setTimeout(function(){c.killControlsTimer("rev3")},100)}})})(mejs.$);
 (function(f){f.extend(mejs.MepDefaults,{postrollCloseText:mejs.i18n.t("Close")});f.extend(MediaElementPlayer.prototype,{buildpostroll:function(a,b,c){var e=this.container.find('link[rel="postroll"]').attr("href");if(typeof e!=="undefined"){a.postroll=f('<div class="mejs-postroll-layer mejs-layer"><a class="mejs-postroll-close" onclick="$(this).parent().hide();return false;">'+this.options.postrollCloseText+'</a><div class="mejs-postroll-layer-content"></div></div>').prependTo(c).hide();this.media.addEventListener("ended",
 function(){f.ajax({dataType:"html",url:e,success:function(d){c.find(".mejs-postroll-layer-content").html(d)}});a.postroll.show()},false)}}})})(mejs.$);
-
diff --git a/wp-includes/js/mediaelement/mediaelementplayer.min.css b/wp-includes/js/mediaelement/mediaelementplayer.min.css
index 3f84ab750..ca859f38c 100644
--- a/wp-includes/js/mediaelement/mediaelementplayer.min.css
+++ b/wp-includes/js/mediaelement/mediaelementplayer.min.css
@@ -1 +1 @@
-.mejs-container{position:relative;background:#000;font-family:Helvetica,Arial;text-align:left;vertical-align:top;text-indent:0;}.me-plugin{position:absolute;}.mejs-embed,.mejs-embed body{width:100%;height:100%;margin:0;padding:0;background:#000;overflow:hidden;}.mejs-fullscreen{overflow:hidden!important;}.mejs-container-fullscreen{position:fixed;left:0;top:0;right:0;bottom:0;overflow:hidden;z-index:1000;}.mejs-container-fullscreen .mejs-mediaelement,.mejs-container-fullscreen video{width:100%;height:100%;}.mejs-clear{clear:both;}.mejs-background{position:absolute;top:0;left:0;}.mejs-mediaelement{position:absolute;top:0;left:0;width:100%;height:100%;}.mejs-poster{position:absolute;top:0;left:0;background-size:contain;background-position:50% 50%;background-repeat:no-repeat;}:root .mejs-poster img{display:none;}.mejs-poster img{border:0;padding:0;border:0;}.mejs-overlay{position:absolute;top:0;left:0;}.mejs-overlay-play{cursor:pointer;}.mejs-overlay-button{position:absolute;top:50%;left:50%;width:100px;height:100px;margin:-50px 0 0 -50px;background:url(bigplay.svg) no-repeat;}.no-svg .mejs-overlay-button{background-image:url(bigplay.png);}.mejs-overlay:hover .mejs-overlay-button{background-position:0 -100px;}.mejs-overlay-loading{position:absolute;top:50%;left:50%;width:80px;height:80px;margin:-40px 0 0 -40px;background:#333;background:url(background.png);background:rgba(0,0,0,0.9);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(50,50,50,0.9)),to(rgba(0,0,0,0.9)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:-moz-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:-o-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:-ms-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:linear-gradient(rgba(50,50,50,0.9),rgba(0,0,0,0.9));}.mejs-overlay-loading span{display:block;width:80px;height:80px;background:transparent url(loading.gif) 50% 50% no-repeat;}.mejs-container .mejs-controls{position:absolute;list-style-type:none;margin:0;padding:0;bottom:0;left:0;background:url(background.png);background:rgba(0,0,0,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(50,50,50,0.7)),to(rgba(0,0,0,0.7)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-moz-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-o-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-ms-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:linear-gradient(rgba(50,50,50,0.7),rgba(0,0,0,0.7));height:30px;width:100%;}.mejs-container .mejs-controls div{list-style-type:none;background-image:none;display:block;float:left;margin:0;padding:0;width:26px;height:26px;font-size:11px;line-height:11px;font-family:Helvetica,Arial;border:0;}.mejs-controls .mejs-button button{cursor:pointer;display:block;font-size:0;line-height:0;text-decoration:none;margin:7px 5px;padding:0;position:absolute;height:16px;width:16px;border:0;background:transparent url(controls.svg) no-repeat;}.no-svg .mejs-controls .mejs-button button{background-image:url(controls.png);}.mejs-controls .mejs-button button:focus{outline:dotted 1px #999;}.mejs-container .mejs-controls .mejs-time{color:#fff;display:block;height:17px;width:auto;padding:8px 3px 0 3px;overflow:hidden;text-align:center;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}.mejs-container .mejs-controls .mejs-time span{color:#fff;font-size:11px;line-height:12px;display:block;float:left;margin:1px 2px 0 0;width:auto;}.mejs-controls .mejs-play button{background-position:0 0;}.mejs-controls .mejs-pause button{background-position:0 -16px;}.mejs-controls .mejs-stop button{background-position:-112px 0;}.mejs-controls div.mejs-time-rail{direction:ltr;width:200px;padding-top:5px;}.mejs-controls .mejs-time-rail span{display:block;position:absolute;width:180px;height:10px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;cursor:pointer;}.mejs-controls .mejs-time-rail .mejs-time-total{margin:5px;background:#333;background:rgba(50,50,50,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(30,30,30,0.8)),to(rgba(60,60,60,0.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-moz-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-o-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-ms-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:linear-gradient(rgba(30,30,30,0.8),rgba(60,60,60,0.8));}.mejs-controls .mejs-time-rail .mejs-time-buffering{width:100%;background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:15px 15px;-moz-background-size:15px 15px;-o-background-size:15px 15px;background-size:15px 15px;-webkit-animation:buffering-stripes 2s linear infinite;-moz-animation:buffering-stripes 2s linear infinite;-ms-animation:buffering-stripes 2s linear infinite;-o-animation:buffering-stripes 2s linear infinite;animation:buffering-stripes 2s linear infinite;}@-webkit-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-moz-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-ms-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-o-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}.mejs-controls .mejs-time-rail .mejs-time-loaded{background:#3caac8;background:rgba(60,170,200,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(44,124,145,0.8)),to(rgba(78,183,212,0.8)));background:-webkit-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-moz-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-o-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-ms-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:linear-gradient(rgba(44,124,145,0.8),rgba(78,183,212,0.8));width:0;}.mejs-controls .mejs-time-rail .mejs-time-current{background:#fff;background:rgba(255,255,255,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(255,255,255,0.9)),to(rgba(200,200,200,0.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-moz-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-o-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-ms-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:linear-gradient(rgba(255,255,255,0.9),rgba(200,200,200,0.8));width:0;}.mejs-controls .mejs-time-rail .mejs-time-handle{display:none;position:absolute;margin:0;width:10px;background:#fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;cursor:pointer;border:solid 2px #333;top:-2px;text-align:center;}.mejs-controls .mejs-time-rail .mejs-time-float{position:absolute;display:none;background:#eee;width:36px;height:17px;border:solid 1px #333;top:-26px;margin-left:-18px;text-align:center;color:#111;}.mejs-controls .mejs-time-rail .mejs-time-float-current{margin:2px;width:30px;display:block;text-align:center;left:0;}.mejs-controls .mejs-time-rail .mejs-time-float-corner{position:absolute;display:block;width:0;height:0;line-height:0;border:solid 5px #eee;border-color:#eee transparent transparent transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;top:15px;left:13px;}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float{width:48px;}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float-current{width:44px;}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float-corner{left:18px;}.mejs-controls .mejs-fullscreen-button button{background-position:-32px 0;}.mejs-controls .mejs-unfullscreen button{background-position:-32px -16px;}.mejs-controls .mejs-mute button{background-position:-16px -16px;}.mejs-controls .mejs-unmute button{background-position:-16px 0;}.mejs-controls .mejs-volume-button{position:relative;}.mejs-controls .mejs-volume-button .mejs-volume-slider{display:none;height:115px;width:25px;background:url(background.png);background:rgba(50,50,50,0.7);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;top:-115px;left:0;z-index:1;position:absolute;margin:0;}.mejs-controls .mejs-volume-button:hover{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-total{position:absolute;left:11px;top:8px;width:2px;height:100px;background:#ddd;background:rgba(255,255,255,0.5);margin:0;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-current{position:absolute;left:11px;top:8px;width:2px;height:100px;background:#ddd;background:rgba(255,255,255,0.9);margin:0;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-handle{position:absolute;left:4px;top:-3px;width:16px;height:6px;background:#ddd;background:rgba(255,255,255,0.9);cursor:N-resize;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;margin:0;}.mejs-controls div.mejs-horizontal-volume-slider{height:26px;width:60px;position:relative;}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total{position:absolute;left:0;top:11px;width:50px;height:8px;margin:0;padding:0;font-size:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:#333;background:rgba(50,50,50,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(30,30,30,0.8)),to(rgba(60,60,60,0.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-moz-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-o-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-ms-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:linear-gradient(rgba(30,30,30,0.8),rgba(60,60,60,0.8));}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current{position:absolute;left:0;top:11px;width:50px;height:8px;margin:0;padding:0;font-size:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:#fff;background:rgba(255,255,255,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(255,255,255,0.9)),to(rgba(200,200,200,0.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-moz-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-o-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-ms-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:linear-gradient(rgba(255,255,255,0.9),rgba(200,200,200,0.8));}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-handle{display:none;}.mejs-controls .mejs-captions-button{position:relative;}.mejs-controls .mejs-captions-button button{background-position:-48px 0;}.mejs-controls .mejs-captions-button .mejs-captions-selector{visibility:hidden;position:absolute;bottom:26px;right:-10px;width:130px;height:100px;background:url(background.png);background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:10px;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul{margin:0;padding:0;display:block;list-style-type:none!important;overflow:hidden;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li{margin:0 0 6px 0;padding:0;list-style-type:none!important;display:block;color:#fff;overflow:hidden;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li label{width:100px;float:left;padding:4px 0 0 0;line-height:15px;font-family:helvetica,arial;font-size:10px;}.mejs-controls .mejs-captions-button .mejs-captions-translations{font-size:10px;margin:0 0 5px 0;}.mejs-chapters{position:absolute;top:0;left:0;-xborder-right:solid 1px #fff;width:10000px;z-index:1;}.mejs-chapters .mejs-chapter{position:absolute;float:left;background:#222;background:rgba(0,0,0,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(50,50,50,0.7)),to(rgba(0,0,0,0.7)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-moz-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-o-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-ms-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:linear-gradient(rgba(50,50,50,0.7),rgba(0,0,0,0.7));filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,startColorstr=#323232,endColorstr=#000000);overflow:hidden;border:0;}.mejs-chapters .mejs-chapter .mejs-chapter-block{font-size:11px;color:#fff;padding:5px;display:block;border-right:solid 1px #333;border-bottom:solid 1px #333;cursor:pointer;}.mejs-chapters .mejs-chapter .mejs-chapter-block-last{border-right:none;}.mejs-chapters .mejs-chapter .mejs-chapter-block:hover{background:#666;background:rgba(102,102,102,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(102,102,102,0.7)),to(rgba(50,50,50,0.6)));background:-webkit-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-moz-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-o-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-ms-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:linear-gradient(rgba(102,102,102,0.7),rgba(50,50,50,0.6));filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,startColorstr=#666666,endColorstr=#323232);}.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-title{font-size:12px;font-weight:bold;display:block;white-space:nowrap;text-overflow:ellipsis;margin:0 0 3px 0;line-height:12px;}.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-timespan{font-size:12px;line-height:12px;margin:3px 0 4px 0;display:block;white-space:nowrap;text-overflow:ellipsis;}.mejs-captions-layer{position:absolute;bottom:0;left:0;text-align:center;line-height:22px;font-size:12px;color:#fff;}.mejs-captions-layer a{color:#fff;text-decoration:underline;}.mejs-captions-layer[lang=ar]{font-size:20px;font-weight:normal;}.mejs-captions-position{position:absolute;width:100%;bottom:15px;left:0;}.mejs-captions-position-hover{bottom:45px;}.mejs-captions-text{padding:3px 5px;background:url(background.png);background:rgba(20,20,20,0.8);}.me-cannotplay a{color:#fff;font-weight:bold;}.me-cannotplay span{padding:15px;display:block;}.mejs-controls .mejs-loop-off button{background-position:-64px -16px;}.mejs-controls .mejs-loop-on button{background-position:-64px 0;}.mejs-controls .mejs-backlight-off button{background-position:-80px -16px;}.mejs-controls .mejs-backlight-on button{background-position:-80px 0;}.mejs-controls .mejs-picturecontrols-button{background-position:-96px 0;}.mejs-contextmenu{position:absolute;width:150px;padding:10px;border-radius:4px;top:0;left:0;background:#fff;border:solid 1px #999;z-index:1001;}.mejs-contextmenu .mejs-contextmenu-separator{height:1px;font-size:0;margin:5px 6px;background:#333;}.mejs-contextmenu .mejs-contextmenu-item{font-family:Helvetica,Arial;font-size:12px;padding:4px 6px;cursor:pointer;color:#333;}.mejs-contextmenu .mejs-contextmenu-item:hover{background:#2C7C91;color:#fff;}.mejs-controls .mejs-sourcechooser-button{position:relative;}.mejs-controls .mejs-sourcechooser-button button{background-position:-128px 0;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector{visibility:hidden;position:absolute;bottom:26px;right:-10px;width:130px;height:100px;background:url(background.png);background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:10px;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul{margin:0;padding:0;display:block;list-style-type:none!important;overflow:hidden;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li{margin:0 0 6px 0;padding:0;list-style-type:none!important;display:block;color:#fff;overflow:hidden;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li label{width:100px;float:left;padding:4px 0 0 0;line-height:15px;font-family:helvetica,arial;font-size:10px;}.mejs-postroll-layer{position:absolute;bottom:0;left:0;width:100%;height:100%;background:url(background.png);background:rgba(50,50,50,0.7);z-index:1000;overflow:hidden;}.mejs-postroll-layer-content{width:100%;height:100%;}.mejs-postroll-close{position:absolute;right:0;top:0;background:url(background.png);background:rgba(50,50,50,0.7);color:#fff;padding:4px;z-index:100;cursor:pointer;}
\ No newline at end of file
+.mejs-container{position:relative;background:#000;font-family:Helvetica,Arial;text-align:left;vertical-align:top;text-indent:0;}.me-plugin{position:absolute;height:auto;width:auto;}.mejs-embed,.mejs-embed body{width:100%;height:100%;margin:0;padding:0;background:#000;overflow:hidden;}.mejs-fullscreen{overflow:hidden!important;}.mejs-container-fullscreen{position:fixed;left:0;top:0;right:0;bottom:0;overflow:hidden;z-index:1000;}.mejs-container-fullscreen .mejs-mediaelement,.mejs-container-fullscreen video{width:100%;height:100%;}.mejs-clear{clear:both;}.mejs-background{position:absolute;top:0;left:0;}.mejs-mediaelement{position:absolute;top:0;left:0;width:100%;height:100%;}.mejs-poster{position:absolute;top:0;left:0;background-size:contain;background-position:50% 50%;background-repeat:no-repeat;}:root .mejs-poster img{display:none;}.mejs-poster img{border:0;padding:0;border:0;}.mejs-overlay{position:absolute;top:0;left:0;}.mejs-overlay-play{cursor:pointer;}.mejs-overlay-button{position:absolute;top:50%;left:50%;width:100px;height:100px;margin:-50px 0 0 -50px;background:url(bigplay.svg) no-repeat;}.no-svg .mejs-overlay-button{background-image:url(bigplay.png);}.mejs-overlay:hover .mejs-overlay-button{background-position:0 -100px;}.mejs-overlay-loading{position:absolute;top:50%;left:50%;width:80px;height:80px;margin:-40px 0 0 -40px;background:#333;background:url(background.png);background:rgba(0,0,0,0.9);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(50,50,50,0.9)),to(rgba(0,0,0,0.9)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:-moz-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:-o-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:-ms-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:linear-gradient(rgba(50,50,50,0.9),rgba(0,0,0,0.9));}.mejs-overlay-loading span{display:block;width:80px;height:80px;background:transparent url(loading.gif) 50% 50% no-repeat;}.mejs-container .mejs-controls{position:absolute;list-style-type:none;margin:0;padding:0;bottom:0;left:0;background:url(background.png);background:rgba(0,0,0,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(50,50,50,0.7)),to(rgba(0,0,0,0.7)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-moz-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-o-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-ms-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:linear-gradient(rgba(50,50,50,0.7),rgba(0,0,0,0.7));height:30px;width:100%;}.mejs-container .mejs-controls div{list-style-type:none;background-image:none;display:block;float:left;margin:0;padding:0;width:26px;height:26px;font-size:11px;line-height:11px;font-family:Helvetica,Arial;border:0;}.mejs-controls .mejs-button button{cursor:pointer;display:block;font-size:0;line-height:0;text-decoration:none;margin:7px 5px;padding:0;position:absolute;height:16px;width:16px;border:0;background:transparent url(controls.svg) no-repeat;}.no-svg .mejs-controls .mejs-button button{background-image:url(controls.png);}.mejs-controls .mejs-button button:focus{outline:dotted 1px #999;}.mejs-container .mejs-controls .mejs-time{color:#fff;display:block;height:17px;width:auto;padding:8px 3px 0 3px;overflow:hidden;text-align:center;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}.mejs-container .mejs-controls .mejs-time span{color:#fff;font-size:11px;line-height:12px;display:block;float:left;margin:1px 2px 0 0;width:auto;}.mejs-controls .mejs-play button{background-position:0 0;}.mejs-controls .mejs-pause button{background-position:0 -16px;}.mejs-controls .mejs-stop button{background-position:-112px 0;}.mejs-controls div.mejs-time-rail{direction:ltr;width:200px;padding-top:5px;}.mejs-controls .mejs-time-rail span{display:block;position:absolute;width:180px;height:10px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;cursor:pointer;}.mejs-controls .mejs-time-rail .mejs-time-total{margin:5px;background:#333;background:rgba(50,50,50,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(30,30,30,0.8)),to(rgba(60,60,60,0.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-moz-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-o-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-ms-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:linear-gradient(rgba(30,30,30,0.8),rgba(60,60,60,0.8));}.mejs-controls .mejs-time-rail .mejs-time-buffering{width:100%;background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:15px 15px;-moz-background-size:15px 15px;-o-background-size:15px 15px;background-size:15px 15px;-webkit-animation:buffering-stripes 2s linear infinite;-moz-animation:buffering-stripes 2s linear infinite;-ms-animation:buffering-stripes 2s linear infinite;-o-animation:buffering-stripes 2s linear infinite;animation:buffering-stripes 2s linear infinite;}@-webkit-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-moz-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-ms-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-o-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}.mejs-controls .mejs-time-rail .mejs-time-loaded{background:#3caac8;background:rgba(60,170,200,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(44,124,145,0.8)),to(rgba(78,183,212,0.8)));background:-webkit-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-moz-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-o-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-ms-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:linear-gradient(rgba(44,124,145,0.8),rgba(78,183,212,0.8));width:0;}.mejs-controls .mejs-time-rail .mejs-time-current{background:#fff;background:rgba(255,255,255,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(255,255,255,0.9)),to(rgba(200,200,200,0.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-moz-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-o-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-ms-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:linear-gradient(rgba(255,255,255,0.9),rgba(200,200,200,0.8));width:0;}.mejs-controls .mejs-time-rail .mejs-time-handle{display:none;position:absolute;margin:0;width:10px;background:#fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;cursor:pointer;border:solid 2px #333;top:-2px;text-align:center;}.mejs-controls .mejs-time-rail .mejs-time-float{position:absolute;display:none;background:#eee;width:36px;height:17px;border:solid 1px #333;top:-26px;margin-left:-18px;text-align:center;color:#111;}.mejs-controls .mejs-time-rail .mejs-time-float-current{margin:2px;width:30px;display:block;text-align:center;left:0;}.mejs-controls .mejs-time-rail .mejs-time-float-corner{position:absolute;display:block;width:0;height:0;line-height:0;border:solid 5px #eee;border-color:#eee transparent transparent transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;top:15px;left:13px;}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float{width:48px;}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float-current{width:44px;}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float-corner{left:18px;}.mejs-controls .mejs-fullscreen-button button{background-position:-32px 0;}.mejs-controls .mejs-unfullscreen button{background-position:-32px -16px;}.mejs-controls .mejs-mute button{background-position:-16px -16px;}.mejs-controls .mejs-unmute button{background-position:-16px 0;}.mejs-controls .mejs-volume-button{position:relative;}.mejs-controls .mejs-volume-button .mejs-volume-slider{display:none;height:115px;width:25px;background:url(background.png);background:rgba(50,50,50,0.7);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;top:-115px;left:0;z-index:1;position:absolute;margin:0;}.mejs-controls .mejs-volume-button:hover{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-total{position:absolute;left:11px;top:8px;width:2px;height:100px;background:#ddd;background:rgba(255,255,255,0.5);margin:0;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-current{position:absolute;left:11px;top:8px;width:2px;height:100px;background:#ddd;background:rgba(255,255,255,0.9);margin:0;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-handle{position:absolute;left:4px;top:-3px;width:16px;height:6px;background:#ddd;background:rgba(255,255,255,0.9);cursor:N-resize;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;margin:0;}.mejs-controls div.mejs-horizontal-volume-slider{height:26px;width:60px;position:relative;}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total{position:absolute;left:0;top:11px;width:50px;height:8px;margin:0;padding:0;font-size:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:#333;background:rgba(50,50,50,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(30,30,30,0.8)),to(rgba(60,60,60,0.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-moz-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-o-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-ms-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:linear-gradient(rgba(30,30,30,0.8),rgba(60,60,60,0.8));}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current{position:absolute;left:0;top:11px;width:50px;height:8px;margin:0;padding:0;font-size:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:#fff;background:rgba(255,255,255,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(255,255,255,0.9)),to(rgba(200,200,200,0.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-moz-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-o-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-ms-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:linear-gradient(rgba(255,255,255,0.9),rgba(200,200,200,0.8));}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-handle{display:none;}.mejs-controls .mejs-captions-button{position:relative;}.mejs-controls .mejs-captions-button button{background-position:-48px 0;}.mejs-controls .mejs-captions-button .mejs-captions-selector{visibility:hidden;position:absolute;bottom:26px;right:-51px;width:85px;height:100px;background:url(background.png);background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:10px 10px 0 10px;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul{margin:0;padding:0;display:block;list-style-type:none!important;overflow:hidden;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li{margin:0 0 6px 0;padding:0;list-style-type:none!important;display:block;color:#fff;overflow:hidden;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li label{width:55px;float:left;padding:4px 0 0 0;line-height:15px;font-family:helvetica,arial;font-size:10px;}.mejs-controls .mejs-captions-button .mejs-captions-translations{font-size:10px;margin:0 0 5px 0;}.mejs-chapters{position:absolute;top:0;left:0;-xborder-right:solid 1px #fff;width:10000px;z-index:1;}.mejs-chapters .mejs-chapter{position:absolute;float:left;background:#222;background:rgba(0,0,0,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(50,50,50,0.7)),to(rgba(0,0,0,0.7)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-moz-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-o-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-ms-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:linear-gradient(rgba(50,50,50,0.7),rgba(0,0,0,0.7));filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,startColorstr=#323232,endColorstr=#000000);overflow:hidden;border:0;}.mejs-chapters .mejs-chapter .mejs-chapter-block{font-size:11px;color:#fff;padding:5px;display:block;border-right:solid 1px #333;border-bottom:solid 1px #333;cursor:pointer;}.mejs-chapters .mejs-chapter .mejs-chapter-block-last{border-right:none;}.mejs-chapters .mejs-chapter .mejs-chapter-block:hover{background:#666;background:rgba(102,102,102,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(102,102,102,0.7)),to(rgba(50,50,50,0.6)));background:-webkit-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-moz-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-o-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-ms-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:linear-gradient(rgba(102,102,102,0.7),rgba(50,50,50,0.6));filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,startColorstr=#666666,endColorstr=#323232);}.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-title{font-size:12px;font-weight:bold;display:block;white-space:nowrap;text-overflow:ellipsis;margin:0 0 3px 0;line-height:12px;}.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-timespan{font-size:12px;line-height:12px;margin:3px 0 4px 0;display:block;white-space:nowrap;text-overflow:ellipsis;}.mejs-captions-layer{position:absolute;bottom:0;left:0;text-align:center;line-height:20px;font-size:16px;color:#fff;}.mejs-captions-layer a{color:#fff;text-decoration:underline;}.mejs-captions-layer[lang=ar]{font-size:20px;font-weight:normal;}.mejs-captions-position{position:absolute;width:100%;bottom:15px;left:0;}.mejs-captions-position-hover{bottom:35px;}.mejs-captions-text{padding:3px 5px;background:url(background.png);background:rgba(20,20,20,0.5);white-space:pre-wrap;}.me-cannotplay a{color:#fff;font-weight:bold;}.me-cannotplay span{padding:15px;display:block;}.mejs-controls .mejs-loop-off button{background-position:-64px -16px;}.mejs-controls .mejs-loop-on button{background-position:-64px 0;}.mejs-controls .mejs-backlight-off button{background-position:-80px -16px;}.mejs-controls .mejs-backlight-on button{background-position:-80px 0;}.mejs-controls .mejs-picturecontrols-button{background-position:-96px 0;}.mejs-contextmenu{position:absolute;width:150px;padding:10px;border-radius:4px;top:0;left:0;background:#fff;border:solid 1px #999;z-index:1001;}.mejs-contextmenu .mejs-contextmenu-separator{height:1px;font-size:0;margin:5px 6px;background:#333;}.mejs-contextmenu .mejs-contextmenu-item{font-family:Helvetica,Arial;font-size:12px;padding:4px 6px;cursor:pointer;color:#333;}.mejs-contextmenu .mejs-contextmenu-item:hover{background:#2C7C91;color:#fff;}.mejs-controls .mejs-sourcechooser-button{position:relative;}.mejs-controls .mejs-sourcechooser-button button{background-position:-128px 0;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector{visibility:hidden;position:absolute;bottom:26px;right:-10px;width:130px;height:100px;background:url(background.png);background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:10px;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul{margin:0;padding:0;display:block;list-style-type:none!important;overflow:hidden;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li{margin:0 0 6px 0;padding:0;list-style-type:none!important;display:block;color:#fff;overflow:hidden;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li label{width:100px;float:left;padding:4px 0 0 0;line-height:15px;font-family:helvetica,arial;font-size:10px;}.mejs-postroll-layer{position:absolute;bottom:0;left:0;width:100%;height:100%;background:url(background.png);background:rgba(50,50,50,0.7);z-index:1000;overflow:hidden;}.mejs-postroll-layer-content{width:100%;height:100%;}.mejs-postroll-close{position:absolute;right:0;top:0;background:url(background.png);background:rgba(50,50,50,0.7);color:#fff;padding:4px;z-index:100;cursor:pointer;}div.mejs-speed-button{width:46px!important;position:relative;}.mejs-controls .mejs-button.mejs-speed-button button{background:transparent;width:36px;font-size:11px;line-height:normal;color:#fff;}.mejs-controls .mejs-speed-button .mejs-speed-selector{visibility:hidden;position:absolute;top:-100px;left:-10px;width:60px;height:100px;background:url(background.png);background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:0;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.mejs-controls .mejs-speed-button:hover>.mejs-speed-selector{visibility:visible;}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li label.mejs-speed-selected{color:rgba(33,248,248,1);}.mejs-controls .mejs-speed-button .mejs-speed-selector ul{margin:0;padding:0;display:block;list-style-type:none!important;overflow:hidden;}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li{margin:0 0 6px 0;padding:0 10px;list-style-type:none!important;display:block;color:#fff;overflow:hidden;}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px;display:none;}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li label{width:60px;float:left;padding:4px 0 0 0;line-height:15px;font-family:helvetica,arial;font-size:11.5px;color:white;margin-left:5px;cursor:pointer;}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li:hover{background-color:#c8c8c8!important;background-color:rgba(255,255,255,.4)!important;}
\ No newline at end of file
diff --git a/wp-includes/js/mediaelement/wp-mediaelement.css b/wp-includes/js/mediaelement/wp-mediaelement.css
index ec8e37bc9..36cf8e8c1 100644
--- a/wp-includes/js/mediaelement/wp-mediaelement.css
+++ b/wp-includes/js/mediaelement/wp-mediaelement.css
@@ -1,17 +1,47 @@
+.mejs-container {
+	clear: both;
+}
+
 .mejs-container * {
 	font-family: Helvetica, Arial;
 }
 
-.mejs-container, .mejs-embed, .mejs-embed body {
-	background: #000;
+.mejs-container,
+.mejs-embed,
+.mejs-embed body,
+.mejs-container .mejs-controls {
+	background: #222;
 }
 
-.mejs-controls .mejs-time-rail .mejs-time-loaded {
-	background: #21759b;
+.mejs-controls .mejs-time-rail .mejs-time-loaded,
+.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current {
+	background: #fff;
 }
 
 .mejs-controls .mejs-time-rail .mejs-time-current {
-	background: #d54e21;
+	background: #0074a2;
+}
+
+.mejs-controls .mejs-time-rail .mejs-time-total,
+.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total {
+	background: rgba(255, 255, 255, .33);
+}
+
+.mejs-controls .mejs-time-rail span,
+.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total,
+.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current {
+	border-radius: 0;
+}
+
+.mejs-overlay-loading {
+	background: transparent;
+}
+
+/* Override theme styles that may conflict with controls. */
+.mejs-controls button:hover {
+	border: none;
+	-webkit-box-shadow: none;
+	box-shadow: none;
 }
 
 .me-cannotplay {
@@ -23,6 +53,10 @@
 	max-width: 400px;
 }
 
+.audio-details .embed-media-settings {
+	overflow: visible;
+}
+
 .media-embed-details .embed-media-settings .setting span {
 	max-width: 400px;
 	width: auto;
@@ -58,6 +92,17 @@
 	margin: 0 0 10px;
 }
 
+.wp-video {
+	max-width: 100%;
+	height: auto;
+}
+
+video.wp-video-shortcode,
+.wp-video-shortcode video {
+	max-width: 100%;
+	display: inline-block;
+}
+
 .video-details .wp-video-holder {
 	width: 100%;
 	max-width: 640px;
@@ -71,6 +116,10 @@
 	line-height: 1.5;
 }
 
+.wp-admin .wp-playlist {
+	margin: 0 0 18px;
+}
+
 .wp-playlist video {
 	display: inline-block;
 	max-width: 100%;
@@ -222,4 +271,4 @@
 
 .wp-audio-playlist .me-cannotplay span {
 	padding: 5px 15px;
-}
\ No newline at end of file
+}
diff --git a/wp-includes/js/mediaelement/wp-mediaelement.js b/wp-includes/js/mediaelement/wp-mediaelement.js
index 72ea6bde3..6e20b9005 100644
--- a/wp-includes/js/mediaelement/wp-mediaelement.js
+++ b/wp-includes/js/mediaelement/wp-mediaelement.js
@@ -7,18 +7,22 @@
 	$(function () {
 		var settings = {};
 
-		if ( $( document.body ).hasClass( 'mce-content-body' ) ) {
-			return;
-		}
-
 		if ( typeof _wpmejsSettings !== 'undefined' ) {
-			settings.pluginPath = _wpmejsSettings.pluginPath;
+			settings = _wpmejsSettings;
 		}
 
 		settings.success = function (mejs) {
-			var autoplay = mejs.attributes.autoplay && 'false' !== mejs.attributes.autoplay;
-			if ( 'flash' === mejs.pluginType && autoplay ) {
-				mejs.addEventListener( 'canplay', function () {
+			var autoplay, loop;
+
+			if ( 'flash' === mejs.pluginType ) {
+				autoplay = mejs.attributes.autoplay && 'false' !== mejs.attributes.autoplay;
+				loop = mejs.attributes.loop && 'false' !== mejs.attributes.loop;
+
+				autoplay && mejs.addEventListener( 'canplay', function () {
+					mejs.play();
+				}, false );
+
+				loop && mejs.addEventListener( 'ended', function () {
 					mejs.play();
 				}, false );
 			}
diff --git a/wp-includes/js/mediaelement/wp-playlist.js b/wp-includes/js/mediaelement/wp-playlist.js
index ced70c623..90839a5da 100644
--- a/wp-includes/js/mediaelement/wp-playlist.js
+++ b/wp-includes/js/mediaelement/wp-playlist.js
@@ -7,8 +7,7 @@
 		initialize : function (options) {
 			this.index = 0;
 			this.settings = {};
-			this.compatMode = $( 'body' ).hasClass( 'wp-admin' ) && $( '#content_ifr' ).length;
-			this.data = options.metadata || $.parseJSON( this.$('script').html() );
+			this.data = options.metadata || $.parseJSON( this.$('script.wp-playlist-script').html() );
 			this.playerNode = this.$( this.data.type );
 
 			this.tracks = new Backbone.Collection( this.data.tracks );
@@ -27,14 +26,12 @@
 				this.renderTracks();
 			}
 
-			if ( this.isCompatibleSrc() ) {
-				this.playerNode.attr( 'src', this.current.get( 'src' ) );
-			}
+			this.playerNode.attr( 'src', this.current.get( 'src' ) );
 
 			_.bindAll( this, 'bindPlayer', 'bindResetPlayer', 'setPlayer', 'ended', 'clickTrack' );
 
 			if ( ! _.isUndefined( window._wpmejsSettings ) ) {
-				this.settings.pluginPath = _wpmejsSettings.pluginPath;
+				this.settings = _wpmejsSettings;
 			}
 			this.settings.success = this.bindPlayer;
 			this.setPlayer();
@@ -47,25 +44,7 @@
 
 		bindResetPlayer : function (mejs) {
 			this.bindPlayer( mejs );
-			if ( this.isCompatibleSrc() ) {
-				this.playCurrentSrc();
-			}
-		},
-
-		isCompatibleSrc: function () {
-			var testNode;
-
-			if ( this.compatMode ) {
-				testNode = $( '<span><source type="' + this.current.get( 'type' ) + '" /></span>' );
-
-				if ( ! wp.media.mixin.isCompatible( testNode ) ) {
-					this.playerNode.removeAttr( 'src' );
-					this.playerNode.removeAttr( 'poster' );
-					return;
-				}
-			}
-
-			return true;
+			this.playCurrentSrc();
 		},
 
 		setPlayer: function (force) {
@@ -76,9 +55,7 @@
 			}
 
 			if (force) {
-				if ( this.isCompatibleSrc() ) {
-					this.playerNode.attr( 'src', this.current.get( 'src' ) );
-				}
+				this.playerNode.attr( 'src', this.current.get( 'src' ) );
 				this.settings.success = this.bindResetPlayer;
 			}
 
@@ -145,8 +122,7 @@
 				this.next();
 			} else {
 				this.index = 0;
-				this.current = this.tracks.at( this.index );
-				this.loadCurrent();
+				this.setCurrent();
 			}
 		},
 
@@ -168,7 +144,7 @@
 
 			if ( last !== current ) {
 				this.setPlayer( true );
-			} else if ( this.isCompatibleSrc() ) {
+			} else {
 				this.playerNode.attr( 'src', this.current.get( 'src' ) );
 				this.playCurrentSrc();
 			}
@@ -189,11 +165,9 @@
 	});
 
     $(document).ready(function () {
-		if ( ! $( 'body' ).hasClass( 'wp-admin' ) || $( 'body' ).hasClass( 'about-php' ) ) {
-			$('.wp-playlist').each(function () {
-				return new WPPlaylistView({ el: this });
-			});
-		}
+		$('.wp-playlist').each( function() {
+			return new WPPlaylistView({ el: this });
+		} );
     });
 
 	window.WPPlaylistView = WPPlaylistView;
diff --git a/wp-includes/js/shortcode.js b/wp-includes/js/shortcode.js
index 2f4f2642e..2d319213f 100644
--- a/wp-includes/js/shortcode.js
+++ b/wp-includes/js/shortcode.js
@@ -353,4 +353,4 @@ window.wp = window.wp || {};
 			return text + '</' + options.tag + '>';
 		}
 	});
-}());
\ No newline at end of file
+}());
diff --git a/wp-includes/js/swfupload/swfupload.js b/wp-includes/js/swfupload/swfupload.js
index e65b19cb2..9c950d4ed 100644
--- a/wp-includes/js/swfupload/swfupload.js
+++ b/wp-includes/js/swfupload/swfupload.js
@@ -3,7 +3,7 @@
  *
  * mmSWFUpload 1.0: Flash upload dialog - http://profandesign.se/swfupload/,  http://www.vinterwebb.se/
  *
- * SWFUpload is (c) 2006-2007 Lars Huring, Olov Nilzén and Mammon Media and is released under the MIT License:
+ * SWFUpload is (c) 2006-2007 Lars Huring, Olov Nilz�n and Mammon Media and is released under the MIT License:
  * http://www.opensource.org/licenses/mit-license.php
  *
  * SWFUpload 2 is (c) 2007-2008 Jake Roberts and is released under the MIT License:
diff --git a/wp-includes/js/thickbox/thickbox.js b/wp-includes/js/thickbox/thickbox.js
index 0371bd28d..5bca4b129 100644
--- a/wp-includes/js/thickbox/thickbox.js
+++ b/wp-includes/js/thickbox/thickbox.js
@@ -46,6 +46,7 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic
 			if(document.getElementById("TB_overlay") === null){
 				jQuery("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");
 				jQuery("#TB_overlay").click(tb_remove);
+				jQuery( 'body' ).addClass( 'modal-open' );
 			}
 		}
 
@@ -104,7 +105,7 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic
 			imgPreloader.onload = function(){
 			imgPreloader.onload = null;
 
-			// Resizing large images - orginal by Christian Montoya edited by me.
+			// Resizing large images - original by Christian Montoya edited by me.
 			var pagesize = tb_getPageSize();
 			var x = pagesize[0] - 150;
 			var y = pagesize[1] - 150;
@@ -185,8 +186,8 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic
 			var queryString = url.replace(/^[^\?]+\??/,'');
 			var params = tb_parseQuery( queryString );
 
-			TB_WIDTH = (params['width']*1) + 30 || 630; //defaults to 630 if no paramaters were added to URL
-			TB_HEIGHT = (params['height']*1) + 40 || 440; //defaults to 440 if no paramaters were added to URL
+			TB_WIDTH = (params['width']*1) + 30 || 630; //defaults to 630 if no parameters were added to URL
+			TB_HEIGHT = (params['height']*1) + 40 || 440; //defaults to 440 if no parameters were added to URL
 			ajaxContentW = TB_WIDTH - 30;
 			ajaxContentH = TB_HEIGHT - 45;
 
@@ -264,6 +265,7 @@ function tb_remove() {
  	jQuery("#TB_imageOff").unbind("click");
 	jQuery("#TB_closeWindowButton").unbind("click");
 	jQuery("#TB_window").fadeOut("fast",function(){jQuery('#TB_window,#TB_overlay,#TB_HideSelect').trigger("tb_unload").unbind().remove();});
+	jQuery( 'body' ).removeClass( 'modal-open' );
 	jQuery("#TB_load").remove();
 	if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
 		jQuery("body","html").css({height: "auto", width: "auto"});
diff --git a/wp-includes/js/tinymce/plugins/charmap/plugin.js b/wp-includes/js/tinymce/plugins/charmap/plugin.js
index 203a38067..27b6a46da 100644
--- a/wp-includes/js/tinymce/plugins/charmap/plugin.js
+++ b/wp-includes/js/tinymce/plugins/charmap/plugin.js
@@ -309,8 +309,13 @@ tinymce.PluginManager.add('charmap', function(editor) {
 			html: gridHtml,
 			onclick: function(e) {
 				var target = e.target;
-				if (/^(TD|DIV)$/.test(target.nodeName)) {
-					editor.execCommand('mceInsertContent', false, tinymce.trim(target.innerText || target.textContent));
+
+				if (target.tagName == 'TD') {
+					target = target.firstChild;
+				}
+
+				if (target.tagName == 'DIV') {
+					editor.execCommand('mceInsertContent', false, target.firstChild.data);
 
 					if (!e.ctrlKey) {
 						win.close();
diff --git a/wp-includes/js/tinymce/plugins/charmap/plugin.min.js b/wp-includes/js/tinymce/plugins/charmap/plugin.min.js
index eee3bb1e5..46fce44be 100644
--- a/wp-includes/js/tinymce/plugins/charmap/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/charmap/plugin.min.js
@@ -1 +1 @@
-tinymce.PluginManager.add("charmap",function(e){function a(){function a(e){for(;e;){if("TD"==e.nodeName)return e;e=e.parentNode}}var i,r,o,n;i='<table role="presentation" cellspacing="0" class="mce-charmap"><tbody>';var l=25;for(o=0;10>o;o++){for(i+="<tr>",r=0;l>r;r++){var s=t[o*l+r];i+='<td title="'+s[1]+'"><div tabindex="-1" title="'+s[1]+'" role="button">'+(s?String.fromCharCode(parseInt(s[0],10)):"&nbsp;")+"</div></td>"}i+="</tr>"}i+="</tbody></table>";var c={type:"container",html:i,onclick:function(a){var t=a.target;/^(TD|DIV)$/.test(t.nodeName)&&(e.execCommand("mceInsertContent",!1,tinymce.trim(t.innerText||t.textContent)),a.ctrlKey||n.close())},onmouseover:function(e){var t=a(e.target);t&&n.find("#preview").text(t.firstChild.firstChild.data)}};n=e.windowManager.open({title:"Special character",spacing:10,padding:10,items:[c,{type:"label",name:"preview",text:" ",style:"font-size: 40px; text-align: center",border:1,minWidth:100,minHeight:80}],buttons:[{text:"Close",onclick:function(){n.close()}}]})}var t=[["160","no-break space"],["38","ampersand"],["34","quotation mark"],["162","cent sign"],["8364","euro sign"],["163","pound sign"],["165","yen sign"],["169","copyright sign"],["174","registered sign"],["8482","trade mark sign"],["8240","per mille sign"],["181","micro sign"],["183","middle dot"],["8226","bullet"],["8230","three dot leader"],["8242","minutes / feet"],["8243","seconds / inches"],["167","section sign"],["182","paragraph sign"],["223","sharp s / ess-zed"],["8249","single left-pointing angle quotation mark"],["8250","single right-pointing angle quotation mark"],["171","left pointing guillemet"],["187","right pointing guillemet"],["8216","left single quotation mark"],["8217","right single quotation mark"],["8220","left double quotation mark"],["8221","right double quotation mark"],["8218","single low-9 quotation mark"],["8222","double low-9 quotation mark"],["60","less-than sign"],["62","greater-than sign"],["8804","less-than or equal to"],["8805","greater-than or equal to"],["8211","en dash"],["8212","em dash"],["175","macron"],["8254","overline"],["164","currency sign"],["166","broken bar"],["168","diaeresis"],["161","inverted exclamation mark"],["191","turned question mark"],["710","circumflex accent"],["732","small tilde"],["176","degree sign"],["8722","minus sign"],["177","plus-minus sign"],["247","division sign"],["8260","fraction slash"],["215","multiplication sign"],["185","superscript one"],["178","superscript two"],["179","superscript three"],["188","fraction one quarter"],["189","fraction one half"],["190","fraction three quarters"],["402","function / florin"],["8747","integral"],["8721","n-ary sumation"],["8734","infinity"],["8730","square root"],["8764","similar to"],["8773","approximately equal to"],["8776","almost equal to"],["8800","not equal to"],["8801","identical to"],["8712","element of"],["8713","not an element of"],["8715","contains as member"],["8719","n-ary product"],["8743","logical and"],["8744","logical or"],["172","not sign"],["8745","intersection"],["8746","union"],["8706","partial differential"],["8704","for all"],["8707","there exists"],["8709","diameter"],["8711","backward difference"],["8727","asterisk operator"],["8733","proportional to"],["8736","angle"],["180","acute accent"],["184","cedilla"],["170","feminine ordinal indicator"],["186","masculine ordinal indicator"],["8224","dagger"],["8225","double dagger"],["192","A - grave"],["193","A - acute"],["194","A - circumflex"],["195","A - tilde"],["196","A - diaeresis"],["197","A - ring above"],["198","ligature AE"],["199","C - cedilla"],["200","E - grave"],["201","E - acute"],["202","E - circumflex"],["203","E - diaeresis"],["204","I - grave"],["205","I - acute"],["206","I - circumflex"],["207","I - diaeresis"],["208","ETH"],["209","N - tilde"],["210","O - grave"],["211","O - acute"],["212","O - circumflex"],["213","O - tilde"],["214","O - diaeresis"],["216","O - slash"],["338","ligature OE"],["352","S - caron"],["217","U - grave"],["218","U - acute"],["219","U - circumflex"],["220","U - diaeresis"],["221","Y - acute"],["376","Y - diaeresis"],["222","THORN"],["224","a - grave"],["225","a - acute"],["226","a - circumflex"],["227","a - tilde"],["228","a - diaeresis"],["229","a - ring above"],["230","ligature ae"],["231","c - cedilla"],["232","e - grave"],["233","e - acute"],["234","e - circumflex"],["235","e - diaeresis"],["236","i - grave"],["237","i - acute"],["238","i - circumflex"],["239","i - diaeresis"],["240","eth"],["241","n - tilde"],["242","o - grave"],["243","o - acute"],["244","o - circumflex"],["245","o - tilde"],["246","o - diaeresis"],["248","o slash"],["339","ligature oe"],["353","s - caron"],["249","u - grave"],["250","u - acute"],["251","u - circumflex"],["252","u - diaeresis"],["253","y - acute"],["254","thorn"],["255","y - diaeresis"],["913","Alpha"],["914","Beta"],["915","Gamma"],["916","Delta"],["917","Epsilon"],["918","Zeta"],["919","Eta"],["920","Theta"],["921","Iota"],["922","Kappa"],["923","Lambda"],["924","Mu"],["925","Nu"],["926","Xi"],["927","Omicron"],["928","Pi"],["929","Rho"],["931","Sigma"],["932","Tau"],["933","Upsilon"],["934","Phi"],["935","Chi"],["936","Psi"],["937","Omega"],["945","alpha"],["946","beta"],["947","gamma"],["948","delta"],["949","epsilon"],["950","zeta"],["951","eta"],["952","theta"],["953","iota"],["954","kappa"],["955","lambda"],["956","mu"],["957","nu"],["958","xi"],["959","omicron"],["960","pi"],["961","rho"],["962","final sigma"],["963","sigma"],["964","tau"],["965","upsilon"],["966","phi"],["967","chi"],["968","psi"],["969","omega"],["8501","alef symbol"],["982","pi symbol"],["8476","real part symbol"],["978","upsilon - hook symbol"],["8472","Weierstrass p"],["8465","imaginary part"],["8592","leftwards arrow"],["8593","upwards arrow"],["8594","rightwards arrow"],["8595","downwards arrow"],["8596","left right arrow"],["8629","carriage return"],["8656","leftwards double arrow"],["8657","upwards double arrow"],["8658","rightwards double arrow"],["8659","downwards double arrow"],["8660","left right double arrow"],["8756","therefore"],["8834","subset of"],["8835","superset of"],["8836","not a subset of"],["8838","subset of or equal to"],["8839","superset of or equal to"],["8853","circled plus"],["8855","circled times"],["8869","perpendicular"],["8901","dot operator"],["8968","left ceiling"],["8969","right ceiling"],["8970","left floor"],["8971","right floor"],["9001","left-pointing angle bracket"],["9002","right-pointing angle bracket"],["9674","lozenge"],["9824","black spade suit"],["9827","black club suit"],["9829","black heart suit"],["9830","black diamond suit"],["8194","en space"],["8195","em space"],["8201","thin space"],["8204","zero width non-joiner"],["8205","zero width joiner"],["8206","left-to-right mark"],["8207","right-to-left mark"],["173","soft hyphen"]];e.addButton("charmap",{icon:"charmap",tooltip:"Special character",onclick:a}),e.addMenuItem("charmap",{icon:"charmap",text:"Special character",onclick:a,context:"insert"})});
\ No newline at end of file
+tinymce.PluginManager.add("charmap",function(e){function a(){function a(e){for(;e;){if("TD"==e.nodeName)return e;e=e.parentNode}}var t,r,o,n;t='<table role="presentation" cellspacing="0" class="mce-charmap"><tbody>';var l=25;for(o=0;10>o;o++){for(t+="<tr>",r=0;l>r;r++){var s=i[o*l+r];t+='<td title="'+s[1]+'"><div tabindex="-1" title="'+s[1]+'" role="button">'+(s?String.fromCharCode(parseInt(s[0],10)):"&nbsp;")+"</div></td>"}t+="</tr>"}t+="</tbody></table>";var c={type:"container",html:t,onclick:function(a){var i=a.target;"TD"==i.tagName&&(i=i.firstChild),"DIV"==i.tagName&&(e.execCommand("mceInsertContent",!1,i.firstChild.data),a.ctrlKey||n.close())},onmouseover:function(e){var i=a(e.target);i&&n.find("#preview").text(i.firstChild.firstChild.data)}};n=e.windowManager.open({title:"Special character",spacing:10,padding:10,items:[c,{type:"label",name:"preview",text:" ",style:"font-size: 40px; text-align: center",border:1,minWidth:100,minHeight:80}],buttons:[{text:"Close",onclick:function(){n.close()}}]})}var i=[["160","no-break space"],["38","ampersand"],["34","quotation mark"],["162","cent sign"],["8364","euro sign"],["163","pound sign"],["165","yen sign"],["169","copyright sign"],["174","registered sign"],["8482","trade mark sign"],["8240","per mille sign"],["181","micro sign"],["183","middle dot"],["8226","bullet"],["8230","three dot leader"],["8242","minutes / feet"],["8243","seconds / inches"],["167","section sign"],["182","paragraph sign"],["223","sharp s / ess-zed"],["8249","single left-pointing angle quotation mark"],["8250","single right-pointing angle quotation mark"],["171","left pointing guillemet"],["187","right pointing guillemet"],["8216","left single quotation mark"],["8217","right single quotation mark"],["8220","left double quotation mark"],["8221","right double quotation mark"],["8218","single low-9 quotation mark"],["8222","double low-9 quotation mark"],["60","less-than sign"],["62","greater-than sign"],["8804","less-than or equal to"],["8805","greater-than or equal to"],["8211","en dash"],["8212","em dash"],["175","macron"],["8254","overline"],["164","currency sign"],["166","broken bar"],["168","diaeresis"],["161","inverted exclamation mark"],["191","turned question mark"],["710","circumflex accent"],["732","small tilde"],["176","degree sign"],["8722","minus sign"],["177","plus-minus sign"],["247","division sign"],["8260","fraction slash"],["215","multiplication sign"],["185","superscript one"],["178","superscript two"],["179","superscript three"],["188","fraction one quarter"],["189","fraction one half"],["190","fraction three quarters"],["402","function / florin"],["8747","integral"],["8721","n-ary sumation"],["8734","infinity"],["8730","square root"],["8764","similar to"],["8773","approximately equal to"],["8776","almost equal to"],["8800","not equal to"],["8801","identical to"],["8712","element of"],["8713","not an element of"],["8715","contains as member"],["8719","n-ary product"],["8743","logical and"],["8744","logical or"],["172","not sign"],["8745","intersection"],["8746","union"],["8706","partial differential"],["8704","for all"],["8707","there exists"],["8709","diameter"],["8711","backward difference"],["8727","asterisk operator"],["8733","proportional to"],["8736","angle"],["180","acute accent"],["184","cedilla"],["170","feminine ordinal indicator"],["186","masculine ordinal indicator"],["8224","dagger"],["8225","double dagger"],["192","A - grave"],["193","A - acute"],["194","A - circumflex"],["195","A - tilde"],["196","A - diaeresis"],["197","A - ring above"],["198","ligature AE"],["199","C - cedilla"],["200","E - grave"],["201","E - acute"],["202","E - circumflex"],["203","E - diaeresis"],["204","I - grave"],["205","I - acute"],["206","I - circumflex"],["207","I - diaeresis"],["208","ETH"],["209","N - tilde"],["210","O - grave"],["211","O - acute"],["212","O - circumflex"],["213","O - tilde"],["214","O - diaeresis"],["216","O - slash"],["338","ligature OE"],["352","S - caron"],["217","U - grave"],["218","U - acute"],["219","U - circumflex"],["220","U - diaeresis"],["221","Y - acute"],["376","Y - diaeresis"],["222","THORN"],["224","a - grave"],["225","a - acute"],["226","a - circumflex"],["227","a - tilde"],["228","a - diaeresis"],["229","a - ring above"],["230","ligature ae"],["231","c - cedilla"],["232","e - grave"],["233","e - acute"],["234","e - circumflex"],["235","e - diaeresis"],["236","i - grave"],["237","i - acute"],["238","i - circumflex"],["239","i - diaeresis"],["240","eth"],["241","n - tilde"],["242","o - grave"],["243","o - acute"],["244","o - circumflex"],["245","o - tilde"],["246","o - diaeresis"],["248","o slash"],["339","ligature oe"],["353","s - caron"],["249","u - grave"],["250","u - acute"],["251","u - circumflex"],["252","u - diaeresis"],["253","y - acute"],["254","thorn"],["255","y - diaeresis"],["913","Alpha"],["914","Beta"],["915","Gamma"],["916","Delta"],["917","Epsilon"],["918","Zeta"],["919","Eta"],["920","Theta"],["921","Iota"],["922","Kappa"],["923","Lambda"],["924","Mu"],["925","Nu"],["926","Xi"],["927","Omicron"],["928","Pi"],["929","Rho"],["931","Sigma"],["932","Tau"],["933","Upsilon"],["934","Phi"],["935","Chi"],["936","Psi"],["937","Omega"],["945","alpha"],["946","beta"],["947","gamma"],["948","delta"],["949","epsilon"],["950","zeta"],["951","eta"],["952","theta"],["953","iota"],["954","kappa"],["955","lambda"],["956","mu"],["957","nu"],["958","xi"],["959","omicron"],["960","pi"],["961","rho"],["962","final sigma"],["963","sigma"],["964","tau"],["965","upsilon"],["966","phi"],["967","chi"],["968","psi"],["969","omega"],["8501","alef symbol"],["982","pi symbol"],["8476","real part symbol"],["978","upsilon - hook symbol"],["8472","Weierstrass p"],["8465","imaginary part"],["8592","leftwards arrow"],["8593","upwards arrow"],["8594","rightwards arrow"],["8595","downwards arrow"],["8596","left right arrow"],["8629","carriage return"],["8656","leftwards double arrow"],["8657","upwards double arrow"],["8658","rightwards double arrow"],["8659","downwards double arrow"],["8660","left right double arrow"],["8756","therefore"],["8834","subset of"],["8835","superset of"],["8836","not a subset of"],["8838","subset of or equal to"],["8839","superset of or equal to"],["8853","circled plus"],["8855","circled times"],["8869","perpendicular"],["8901","dot operator"],["8968","left ceiling"],["8969","right ceiling"],["8970","left floor"],["8971","right floor"],["9001","left-pointing angle bracket"],["9002","right-pointing angle bracket"],["9674","lozenge"],["9824","black spade suit"],["9827","black club suit"],["9829","black heart suit"],["9830","black diamond suit"],["8194","en space"],["8195","em space"],["8201","thin space"],["8204","zero width non-joiner"],["8205","zero width joiner"],["8206","left-to-right mark"],["8207","right-to-left mark"],["173","soft hyphen"]];e.addButton("charmap",{icon:"charmap",tooltip:"Special character",onclick:a}),e.addMenuItem("charmap",{icon:"charmap",text:"Special character",onclick:a,context:"insert"})});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/colorpicker/plugin.js b/wp-includes/js/tinymce/plugins/colorpicker/plugin.js
new file mode 100644
index 000000000..11d0af3b2
--- /dev/null
+++ b/wp-includes/js/tinymce/plugins/colorpicker/plugin.js
@@ -0,0 +1,112 @@
+/**
+ * plugin.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/*global tinymce:true */
+
+tinymce.PluginManager.add('colorpicker', function(editor) {
+	function colorPickerCallback(callback, value) {
+		function setColor(value) {
+			var color = new tinymce.util.Color(value), rgb = color.toRgb();
+
+			win.fromJSON({
+				r: rgb.r,
+				g: rgb.g,
+				b: rgb.b,
+				hex: color.toHex().substr(1)
+			});
+
+			showPreview(color.toHex());
+		}
+
+		function showPreview(hexColor) {
+			win.find('#preview')[0].getEl().style.background = hexColor;
+		}
+
+		var win = editor.windowManager.open({
+			title: 'Color',
+			items: {
+				type: 'container',
+				layout: 'flex',
+				direction: 'row',
+				align: 'stretch',
+				padding: 5,
+				spacing: 10,
+				items: [
+					{
+						type: 'colorpicker',
+						value: value,
+						onchange: function() {
+							var rgb = this.rgb();
+
+							if (win) {
+								win.find('#r').value(rgb.r);
+								win.find('#g').value(rgb.g);
+								win.find('#b').value(rgb.b);
+								win.find('#hex').value(this.value().substr(1));
+								showPreview(this.value());
+							}
+						}
+					},
+					{
+						type: 'form',
+						padding: 0,
+						labelGap: 5,
+						defaults: {
+							type: 'textbox',
+							size: 7,
+							value: '0',
+							flex: 1,
+							spellcheck: false,
+							onchange: function() {
+								var colorPickerCtrl = win.find('colorpicker')[0];
+								var name, value;
+
+								name = this.name();
+								value = this.value();
+
+								if (name == "hex") {
+									value = '#' + value;
+									setColor(value);
+									colorPickerCtrl.value(value);
+									return;
+								}
+
+								value = {
+									r: win.find('#r').value(),
+									g: win.find('#g').value(),
+									b: win.find('#b').value()
+								};
+
+								colorPickerCtrl.value(value);
+								setColor(value);
+							}
+						},
+						items: [
+							{name: 'r', label: 'R', autofocus: 1},
+							{name: 'g', label: 'G'},
+							{name: 'b', label: 'B'},
+							{name: 'hex', label: '#', value: '000000'},
+							{name: 'preview', type: 'container', border: 1}
+						]
+					}
+				]
+			},
+			onSubmit: function() {
+				callback('#' + this.toJSON().hex);
+			}
+		});
+
+		setColor(value);
+	}
+
+	if (!editor.settings.color_picker_callback) {
+		editor.settings.color_picker_callback = colorPickerCallback;
+	}
+});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/colorpicker/plugin.min.js b/wp-includes/js/tinymce/plugins/colorpicker/plugin.min.js
new file mode 100644
index 000000000..d50c7cc45
--- /dev/null
+++ b/wp-includes/js/tinymce/plugins/colorpicker/plugin.min.js
@@ -0,0 +1 @@
+tinymce.PluginManager.add("colorpicker",function(e){function n(n,a){function i(e){var n=new tinymce.util.Color(e),a=n.toRgb();l.fromJSON({r:a.r,g:a.g,b:a.b,hex:n.toHex().substr(1)}),t(n.toHex())}function t(e){l.find("#preview")[0].getEl().style.background=e}var l=e.windowManager.open({title:"Color",items:{type:"container",layout:"flex",direction:"row",align:"stretch",padding:5,spacing:10,items:[{type:"colorpicker",value:a,onchange:function(){var e=this.rgb();l&&(l.find("#r").value(e.r),l.find("#g").value(e.g),l.find("#b").value(e.b),l.find("#hex").value(this.value().substr(1)),t(this.value()))}},{type:"form",padding:0,labelGap:5,defaults:{type:"textbox",size:7,value:"0",flex:1,spellcheck:!1,onchange:function(){var e,n,a=l.find("colorpicker")[0];return e=this.name(),n=this.value(),"hex"==e?(n="#"+n,i(n),void a.value(n)):(n={r:l.find("#r").value(),g:l.find("#g").value(),b:l.find("#b").value()},a.value(n),void i(n))}},items:[{name:"r",label:"R",autofocus:1},{name:"g",label:"G"},{name:"b",label:"B"},{name:"hex",label:"#",value:"000000"},{name:"preview",type:"container",border:1}]}]},onSubmit:function(){n("#"+this.toJSON().hex)}});i(a)}e.settings.color_picker_callback||(e.settings.color_picker_callback=n)});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/compat3x/plugin.js b/wp-includes/js/tinymce/plugins/compat3x/plugin.js
index 03e864c53..cc6e32290 100644
--- a/wp-includes/js/tinymce/plugins/compat3x/plugin.js
+++ b/wp-includes/js/tinymce/plugins/compat3x/plugin.js
@@ -22,7 +22,8 @@
 (function(tinymce) {
 	var reported;
 
-	function noop() {}
+	function noop() {
+	}
 
 	function log(apiCall) {
 		if (!reported && window && window.console) {
@@ -170,7 +171,9 @@
 			onAdd: new Dispatcher(),
 			onPostRender: new Dispatcher(),
 
-			add: function(obj) { return obj; },
+			add: function(obj) {
+				return obj;
+			},
 			createButton: cmNoop,
 			createColorSplitButton: cmNoop,
 			createControl: cmNoop,
diff --git a/wp-includes/js/tinymce/plugins/image/plugin.js b/wp-includes/js/tinymce/plugins/image/plugin.js
index c7f6f5acd..9d105eff3 100644
--- a/wp-includes/js/tinymce/plugins/image/plugin.js
+++ b/wp-includes/js/tinymce/plugins/image/plugin.js
@@ -40,14 +40,27 @@ tinymce.PluginManager.add('image', function(editor) {
 		img.src = url;
 	}
 
-	function applyPreview(items) {
-		tinymce.each(items, function(item) {
-			item.textStyle = function() {
-				return editor.formatter.getCssText({inline: 'img', classes: [item.value]});
-			};
-		});
+	function buildListItems(inputList, itemCallback, startItems) {
+		function appendItems(values, output) {
+			output = output || [];
+
+			tinymce.each(values, function(item) {
+				var menuItem = {text: item.text || item.title};
+
+				if (item.menu) {
+					menuItem.menu = appendItems(item.menu);
+				} else {
+					menuItem.value = item.value;
+					itemCallback(menuItem);
+				}
+
+				output.push(menuItem);
+			});
+
+			return output;
+		}
 
-		return items;
+		return appendItems(inputList, startItems || []);
 	}
 
 	function createImageList(callback) {
@@ -61,6 +74,8 @@ tinymce.PluginManager.add('image', function(editor) {
 						callback(tinymce.util.JSON.parse(text));
 					}
 				});
+			} else if (typeof(imageList) == "function") {
+				imageList(callback);
 			} else {
 				callback(imageList);
 			}
@@ -69,45 +84,7 @@ tinymce.PluginManager.add('image', function(editor) {
 
 	function showDialog(imageList) {
 		var win, data = {}, dom = editor.dom, imgElm = editor.selection.getNode();
-		var width, height, imageListCtrl, classListCtrl;
-
-		function buildValues(listSettingName, dataItemName, defaultItems) {
-			var selectedItem, items = [];
-
-			tinymce.each(editor.settings[listSettingName] || defaultItems, function(target) {
-				var item = {
-					text: target.text || target.title,
-					value: target.value
-				};
-
-				items.push(item);
-
-				if (data[dataItemName] === target.value || (!selectedItem && target.selected)) {
-					selectedItem = item;
-				}
-			});
-
-			if (selectedItem && !data[dataItemName]) {
-				data[dataItemName] = selectedItem.value;
-				selectedItem.selected = true;
-			}
-
-			return items;
-		}
-
-		function buildImageList() {
-			var imageListItems = [{text: 'None', value: ''}];
-
-			tinymce.each(imageList, function(image) {
-				imageListItems.push({
-					text: image.text || image.title,
-					value: editor.convertURL(image.value || image.url, 'src'),
-					menu: image.menu
-				});
-			});
-
-			return imageListItems;
-		}
+		var width, height, imageListCtrl, classListCtrl, imageDimensions = editor.settings.image_dimensions !== false;
 
 		function recalcSize() {
 			var widthCtrl, heightCtrl, newWidth, newHeight;
@@ -115,6 +92,10 @@ tinymce.PluginManager.add('image', function(editor) {
 			widthCtrl = win.find('#width')[0];
 			heightCtrl = win.find('#height')[0];
 
+			if (!widthCtrl || !heightCtrl) {
+				return;
+			}
+
 			newWidth = widthCtrl.value();
 			newHeight = heightCtrl.value();
 
@@ -136,12 +117,15 @@ tinymce.PluginManager.add('image', function(editor) {
 			function waitLoad(imgElm) {
 				function selectImage() {
 					imgElm.onload = imgElm.onerror = null;
-					editor.selection.select(imgElm);
-					editor.nodeChanged();
+
+					if (editor.selection) {
+						editor.selection.select(imgElm);
+						editor.nodeChanged();
+					}
 				}
 
 				imgElm.onload = function() {
-					if (!data.width && !data.height) {
+					if (!data.width && !data.height && imageDimensions) {
 						dom.setAttribs(imgElm, {
 							width: imgElm.clientWidth,
 							height: imgElm.clientHeight
@@ -174,10 +158,11 @@ tinymce.PluginManager.add('image', function(editor) {
 				data.height = null;
 			}
 
-			if (data.style === '') {
+			if (!data.style) {
 				data.style = null;
 			}
 
+			// Setup new data excluding style properties
 			data = {
 				src: data.src,
 				alt: data.alt,
@@ -187,10 +172,6 @@ tinymce.PluginManager.add('image', function(editor) {
 				"class": data["class"]
 			};
 
-			if (!data["class"]) {
-				delete data["class"];
-			}
-
 			editor.undoManager.transact(function() {
 				// WP
 				var eventData = { node: imgElm, data: data, caption: caption };
@@ -235,20 +216,28 @@ tinymce.PluginManager.add('image', function(editor) {
 			return value;
 		}
 
-		function srcChange() {
+		function srcChange(e) {
+			var meta = e.meta || {};
+
 			if (imageListCtrl) {
 				imageListCtrl.value(editor.convertURL(this.value(), 'src'));
 			}
 
-			getImageSize(this.value(), function(data) {
-				if (data.width && data.height) {
-					width = data.width;
-					height = data.height;
-
-					win.find('#width').value(width);
-					win.find('#height').value(height);
-				}
+			tinymce.each(meta, function(value, key) {
+				win.find('#' + key).value(value);
 			});
+
+			if (!meta.width && !meta.height) {
+				getImageSize(this.value(), function(data) {
+					if (data.width && data.height && imageDimensions) {
+						width = data.width;
+						height = data.height;
+
+						win.find('#width').value(width);
+						win.find('#height').value(height);
+					}
+				});
+			}
 		}
 
 		width = dom.getAttrib(imgElm, 'width');
@@ -273,7 +262,13 @@ tinymce.PluginManager.add('image', function(editor) {
 			imageListCtrl = {
 				type: 'listbox',
 				label: 'Image list',
-				values: buildImageList(),
+				values: buildListItems(
+					imageList,
+					function(item) {
+						item.value = editor.convertURL(item.value || item.url, 'src');
+					},
+					[{text: 'None', value: ''}]
+				),
 				value: data.src && editor.convertURL(data.src, 'src'),
 				onselect: function(e) {
 					var altCtrl = win.find('#alt');
@@ -282,7 +277,7 @@ tinymce.PluginManager.add('image', function(editor) {
 						altCtrl.value(e.control.text());
 					}
 
-					win.find('#src').value(e.control.value());
+					win.find('#src').value(e.control.value()).fire('change');
 				},
 				onPostRender: function() {
 					imageListCtrl = this;
@@ -295,13 +290,29 @@ tinymce.PluginManager.add('image', function(editor) {
 				name: 'class',
 				type: 'listbox',
 				label: 'Class',
-				values: applyPreview(buildValues('image_class_list', 'class'))
+				values: buildListItems(
+					editor.settings.image_class_list,
+					function(item) {
+						if (item.value) {
+							item.textStyle = function() {
+								return editor.formatter.getCssText({inline: 'img', classes: [item.value]});
+							};
+						}
+					}
+				)
 			};
 		}
 
 		// General settings shared between simple and advanced dialogs
 		var generalFormItems = [
-			{name: 'src', type: 'filepicker', filetype: 'image', label: 'Source', autofocus: true, onchange: srcChange},
+			{
+				name: 'src',
+				type: 'filepicker',
+				filetype: 'image',
+				label: 'Source',
+				autofocus: true,
+				onchange: srcChange
+			},
 			imageListCtrl
 		];
 
@@ -309,7 +320,7 @@ tinymce.PluginManager.add('image', function(editor) {
 			generalFormItems.push({name: 'alt', type: 'textbox', label: 'Image description'});
 		}
 
-		if (editor.settings.image_dimensions !== false) {
+		if (imageDimensions) {
 			generalFormItems.push({
 				type: 'container',
 				label: 'Dimensions',
@@ -420,11 +431,6 @@ tinymce.PluginManager.add('image', function(editor) {
 		}
 	}
 
-	// WP
-	editor.addCommand( 'mceImage', function() {
-		createImageList( showDialog )();
-	});
-
 	editor.addButton('image', {
 		icon: 'image',
 		tooltip: 'Insert/edit image',
@@ -439,4 +445,6 @@ tinymce.PluginManager.add('image', function(editor) {
 		context: 'insert',
 		prependToContext: true
 	});
+
+	editor.addCommand('mceImage', createImageList(showDialog));
 });
diff --git a/wp-includes/js/tinymce/plugins/image/plugin.min.js b/wp-includes/js/tinymce/plugins/image/plugin.min.js
index bb1c7474d..e4192ae06 100644
--- a/wp-includes/js/tinymce/plugins/image/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/image/plugin.min.js
@@ -1 +1 @@
-tinymce.PluginManager.add("image",function(a){function b(a,b){function c(a,c){d.parentNode&&d.parentNode.removeChild(d),b({width:a,height:c})}var d=document.createElement("img");d.onload=function(){c(d.clientWidth,d.clientHeight)},d.onerror=function(){c()};var e=d.style;e.visibility="hidden",e.position="fixed",e.bottom=e.left=0,e.width=e.height="auto",document.body.appendChild(d),d.src=a}function c(b){return tinymce.each(b,function(b){b.textStyle=function(){return a.formatter.getCssText({inline:"img",classes:[b.value]})}}),b}function d(b){return function(){var c=a.settings.image_list;"string"==typeof c?tinymce.util.XHR.send({url:c,success:function(a){b(tinymce.util.JSON.parse(a))}}):b(c)}}function e(d){function e(b,c,d){var e,f=[];return tinymce.each(a.settings[b]||d,function(a){var b={text:a.text||a.title,value:a.value};f.push(b),(q[c]===a.value||!e&&a.selected)&&(e=b)}),e&&!q[c]&&(q[c]=e.value,e.selected=!0),f}function f(){var b=[{text:"None",value:""}];return tinymce.each(d,function(c){b.push({text:c.text||c.title,value:a.convertURL(c.value||c.url,"src"),menu:c.menu})}),b}function g(){var a,b,c,d;a=l.find("#width")[0],b=l.find("#height")[0],c=a.value(),d=b.value(),l.find("#constrain")[0].checked()&&m&&n&&c&&d&&(m!=c?(d=Math.round(c/m*d),b.value(d)):(c=Math.round(d/n*c),a.value(c))),m=c,n=d}function h(){function b(b){function c(){b.onload=b.onerror=null,a.selection.select(b),a.nodeChanged()}b.onload=function(){q.width||q.height||(r.setAttribs(b,{width:b.clientWidth,height:b.clientHeight}),a.fire("wpNewImageRefresh",{node:b})),c()},b.onerror=c}k(),g(),q=tinymce.extend(q,l.toJSON());var c=q.caption;q.alt||(q.alt=""),""===q.width&&(q.width=null),""===q.height&&(q.height=null),""===q.style&&(q.style=null),q={src:q.src,alt:q.alt,width:q.width,height:q.height,style:q.style,"class":q["class"]},q["class"]||delete q["class"],a.undoManager.transact(function(){var d={node:s,data:q,caption:c};return a.fire("wpImageFormSubmit",{imgData:d}),d.cancel?void b(d.node):q.src?(s?r.setAttribs(s,q):(q.id="__mcenew",a.focus(),a.selection.setContent(r.createHTML("img",q)),s=r.get("__mcenew"),r.setAttrib(s,"id",null)),void b(s)):void(s&&(r.remove(s),a.focus(),a.nodeChanged()))})}function i(a){return a&&(a=a.replace(/px$/,"")),a}function j(){o&&o.value(a.convertURL(this.value(),"src")),b(this.value(),function(a){a.width&&a.height&&(m=a.width,n=a.height,l.find("#width").value(m),l.find("#height").value(n))})}function k(){function b(a){return a.length>0&&/^[0-9]+$/.test(a)&&(a+="px"),a}if(a.settings.image_advtab){var c=l.toJSON(),d=r.parseStyle(c.style);delete d.margin,d["margin-top"]=d["margin-bottom"]=b(c.vspace),d["margin-left"]=d["margin-right"]=b(c.hspace),d["border-width"]=b(c.border),l.find("#style").value(r.serializeStyle(r.parseStyle(r.serializeStyle(d))))}}var l,m,n,o,p,q={},r=a.dom,s=a.selection.getNode();m=r.getAttrib(s,"width"),n=r.getAttrib(s,"height"),"IMG"!=s.nodeName||s.getAttribute("data-mce-object")||s.getAttribute("data-mce-placeholder")?s=null:(q={src:r.getAttrib(s,"src"),alt:r.getAttrib(s,"alt"),"class":r.getAttrib(s,"class"),width:m,height:n},a.fire("wpLoadImageData",{imgData:{data:q,node:s}})),d&&(o={type:"listbox",label:"Image list",values:f(),value:q.src&&a.convertURL(q.src,"src"),onselect:function(a){var b=l.find("#alt");(!b.value()||a.lastControl&&b.value()==a.lastControl.text())&&b.value(a.control.text()),l.find("#src").value(a.control.value())},onPostRender:function(){o=this}}),a.settings.image_class_list&&(p={name:"class",type:"listbox",label:"Class",values:c(e("image_class_list","class"))});var t=[{name:"src",type:"filepicker",filetype:"image",label:"Source",autofocus:!0,onchange:j},o];a.settings.image_description!==!1&&t.push({name:"alt",type:"textbox",label:"Image description"}),a.settings.image_dimensions!==!1&&t.push({type:"container",label:"Dimensions",layout:"flex",direction:"row",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:3,onchange:g,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:3,onchange:g,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}),t.push(p),a.fire("wpLoadImageForm",{data:t}),a.settings.image_advtab?(s&&(q.hspace=i(s.style.marginLeft||s.style.marginRight),q.vspace=i(s.style.marginTop||s.style.marginBottom),q.border=i(s.style.borderWidth),q.style=a.dom.serializeStyle(a.dom.parseStyle(a.dom.getAttrib(s,"style")))),l=a.windowManager.open({title:"Insert/edit image",data:q,bodyType:"tabpanel",body:[{title:"General",type:"form",items:t},{title:"Advanced",type:"form",pack:"start",items:[{label:"Style",name:"style",type:"textbox"},{type:"form",layout:"grid",packV:"start",columns:2,padding:0,alignH:["left","right"],defaults:{type:"textbox",maxWidth:50,onchange:k},items:[{label:"Vertical space",name:"vspace"},{label:"Horizontal space",name:"hspace"},{label:"Border",name:"border"}]}]}],onSubmit:h})):l=a.windowManager.open({title:"Insert/edit image",data:q,body:t,onSubmit:h})}a.addCommand("mceImage",function(){d(e)()}),a.addButton("image",{icon:"image",tooltip:"Insert/edit image",onclick:d(e),stateSelector:"img:not([data-mce-object],[data-mce-placeholder])"}),a.addMenuItem("image",{icon:"image",text:"Insert image",onclick:d(e),context:"insert",prependToContext:!0})});
+tinymce.PluginManager.add("image",function(a){function b(a,b){function c(a,c){d.parentNode&&d.parentNode.removeChild(d),b({width:a,height:c})}var d=document.createElement("img");d.onload=function(){c(d.clientWidth,d.clientHeight)},d.onerror=function(){c()};var e=d.style;e.visibility="hidden",e.position="fixed",e.bottom=e.left=0,e.width=e.height="auto",document.body.appendChild(d),d.src=a}function c(a,b,c){function d(a,c){return c=c||[],tinymce.each(a,function(a){var e={text:a.text||a.title};a.menu?e.menu=d(a.menu):(e.value=a.value,b(e)),c.push(e)}),c}return d(a,c||[])}function d(b){return function(){var c=a.settings.image_list;"string"==typeof c?tinymce.util.XHR.send({url:c,success:function(a){b(tinymce.util.JSON.parse(a))}}):"function"==typeof c?c(b):b(c)}}function e(d){function e(){var a,b,c,d;a=j.find("#width")[0],b=j.find("#height")[0],a&&b&&(c=a.value(),d=b.value(),j.find("#constrain")[0].checked()&&k&&l&&c&&d&&(k!=c?(d=Math.round(c/k*d),b.value(d)):(c=Math.round(d/l*c),a.value(c))),k=c,l=d)}function f(){function b(b){function c(){b.onload=b.onerror=null,a.selection&&(a.selection.select(b),a.nodeChanged())}b.onload=function(){o.width||o.height||!r||(p.setAttribs(b,{width:b.clientWidth,height:b.clientHeight}),a.fire("wpNewImageRefresh",{node:b})),c()},b.onerror=c}i(),e(),o=tinymce.extend(o,j.toJSON());var c=o.caption;o.alt||(o.alt=""),""===o.width&&(o.width=null),""===o.height&&(o.height=null),o.style||(o.style=null),o={src:o.src,alt:o.alt,width:o.width,height:o.height,style:o.style,"class":o["class"]},a.undoManager.transact(function(){var d={node:q,data:o,caption:c};return a.fire("wpImageFormSubmit",{imgData:d}),d.cancel?void b(d.node):o.src?(q?p.setAttribs(q,o):(o.id="__mcenew",a.focus(),a.selection.setContent(p.createHTML("img",o)),q=p.get("__mcenew"),p.setAttrib(q,"id",null)),void b(q)):void(q&&(p.remove(q),a.focus(),a.nodeChanged()))})}function g(a){return a&&(a=a.replace(/px$/,"")),a}function h(c){var d=c.meta||{};m&&m.value(a.convertURL(this.value(),"src")),tinymce.each(d,function(a,b){j.find("#"+b).value(a)}),d.width||d.height||b(this.value(),function(a){a.width&&a.height&&r&&(k=a.width,l=a.height,j.find("#width").value(k),j.find("#height").value(l))})}function i(){function b(a){return a.length>0&&/^[0-9]+$/.test(a)&&(a+="px"),a}if(a.settings.image_advtab){var c=j.toJSON(),d=p.parseStyle(c.style);delete d.margin,d["margin-top"]=d["margin-bottom"]=b(c.vspace),d["margin-left"]=d["margin-right"]=b(c.hspace),d["border-width"]=b(c.border),j.find("#style").value(p.serializeStyle(p.parseStyle(p.serializeStyle(d))))}}var j,k,l,m,n,o={},p=a.dom,q=a.selection.getNode(),r=a.settings.image_dimensions!==!1;k=p.getAttrib(q,"width"),l=p.getAttrib(q,"height"),"IMG"!=q.nodeName||q.getAttribute("data-mce-object")||q.getAttribute("data-mce-placeholder")?q=null:(o={src:p.getAttrib(q,"src"),alt:p.getAttrib(q,"alt"),"class":p.getAttrib(q,"class"),width:k,height:l},a.fire("wpLoadImageData",{imgData:{data:o,node:q}})),d&&(m={type:"listbox",label:"Image list",values:c(d,function(b){b.value=a.convertURL(b.value||b.url,"src")},[{text:"None",value:""}]),value:o.src&&a.convertURL(o.src,"src"),onselect:function(a){var b=j.find("#alt");(!b.value()||a.lastControl&&b.value()==a.lastControl.text())&&b.value(a.control.text()),j.find("#src").value(a.control.value()).fire("change")},onPostRender:function(){m=this}}),a.settings.image_class_list&&(n={name:"class",type:"listbox",label:"Class",values:c(a.settings.image_class_list,function(b){b.value&&(b.textStyle=function(){return a.formatter.getCssText({inline:"img",classes:[b.value]})})})});var s=[{name:"src",type:"filepicker",filetype:"image",label:"Source",autofocus:!0,onchange:h},m];a.settings.image_description!==!1&&s.push({name:"alt",type:"textbox",label:"Image description"}),r&&s.push({type:"container",label:"Dimensions",layout:"flex",direction:"row",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:3,onchange:e,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:3,onchange:e,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}),s.push(n),a.fire("wpLoadImageForm",{data:s}),a.settings.image_advtab?(q&&(o.hspace=g(q.style.marginLeft||q.style.marginRight),o.vspace=g(q.style.marginTop||q.style.marginBottom),o.border=g(q.style.borderWidth),o.style=a.dom.serializeStyle(a.dom.parseStyle(a.dom.getAttrib(q,"style")))),j=a.windowManager.open({title:"Insert/edit image",data:o,bodyType:"tabpanel",body:[{title:"General",type:"form",items:s},{title:"Advanced",type:"form",pack:"start",items:[{label:"Style",name:"style",type:"textbox"},{type:"form",layout:"grid",packV:"start",columns:2,padding:0,alignH:["left","right"],defaults:{type:"textbox",maxWidth:50,onchange:i},items:[{label:"Vertical space",name:"vspace"},{label:"Horizontal space",name:"hspace"},{label:"Border",name:"border"}]}]}],onSubmit:f})):j=a.windowManager.open({title:"Insert/edit image",data:o,body:s,onSubmit:f})}a.addButton("image",{icon:"image",tooltip:"Insert/edit image",onclick:d(e),stateSelector:"img:not([data-mce-object],[data-mce-placeholder])"}),a.addMenuItem("image",{icon:"image",text:"Insert image",onclick:d(e),context:"insert",prependToContext:!0}),a.addCommand("mceImage",d(e))});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/lists/plugin.js b/wp-includes/js/tinymce/plugins/lists/plugin.js
new file mode 100644
index 000000000..d7d15d80d
--- /dev/null
+++ b/wp-includes/js/tinymce/plugins/lists/plugin.js
@@ -0,0 +1,786 @@
+/**
+ * plugin.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/*global tinymce:true */
+/*eslint consistent-this:0 */
+
+tinymce.PluginManager.add('lists', function(editor) {
+	var self = this;
+
+	function isListNode(node) {
+		return node && (/^(OL|UL|DL)$/).test(node.nodeName);
+	}
+
+	function isFirstChild(node) {
+		return node.parentNode.firstChild == node;
+	}
+
+	function isLastChild(node) {
+		return node.parentNode.lastChild == node;
+	}
+
+	function isTextBlock(node) {
+		return node && !!editor.schema.getTextBlockElements()[node.nodeName];
+	}
+
+	editor.on('init', function() {
+		var dom = editor.dom, selection = editor.selection;
+
+		/**
+		 * Returns a range bookmark. This will convert indexed bookmarks into temporary span elements with
+		 * index 0 so that they can be restored properly after the DOM has been modified. Text bookmarks will not have spans
+		 * added to them since they can be restored after a dom operation.
+		 *
+		 * So this: <p><b>|</b><b>|</b></p>
+		 * becomes: <p><b><span data-mce-type="bookmark">|</span></b><b data-mce-type="bookmark">|</span></b></p>
+		 *
+		 * @param  {DOMRange} rng DOM Range to get bookmark on.
+		 * @return {Object} Bookmark object.
+		 */
+		function createBookmark(rng) {
+			var bookmark = {};
+
+			function setupEndPoint(start) {
+				var offsetNode, container, offset;
+
+				container = rng[start ? 'startContainer' : 'endContainer'];
+				offset = rng[start ? 'startOffset' : 'endOffset'];
+
+				if (container.nodeType == 1) {
+					offsetNode = dom.create('span', {'data-mce-type': 'bookmark'});
+
+					if (container.hasChildNodes()) {
+						offset = Math.min(offset, container.childNodes.length - 1);
+
+						if (start) {
+							container.insertBefore(offsetNode, container.childNodes[offset]);
+						} else {
+							dom.insertAfter(offsetNode, container.childNodes[offset]);
+						}
+					} else {
+						container.appendChild(offsetNode);
+					}
+
+					container = offsetNode;
+					offset = 0;
+				}
+
+				bookmark[start ? 'startContainer' : 'endContainer'] = container;
+				bookmark[start ? 'startOffset' : 'endOffset'] = offset;
+			}
+
+			setupEndPoint(true);
+
+			if (!rng.collapsed) {
+				setupEndPoint();
+			}
+
+			return bookmark;
+		}
+
+		/**
+		 * Moves the selection to the current bookmark and removes any selection container wrappers.
+		 *
+		 * @param {Object} bookmark Bookmark object to move selection to.
+		 */
+		function moveToBookmark(bookmark) {
+			function restoreEndPoint(start) {
+				var container, offset, node;
+
+				function nodeIndex(container) {
+					var node = container.parentNode.firstChild, idx = 0;
+
+					while (node) {
+						if (node == container) {
+							return idx;
+						}
+
+						// Skip data-mce-type=bookmark nodes
+						if (node.nodeType != 1 || node.getAttribute('data-mce-type') != 'bookmark') {
+							idx++;
+						}
+
+						node = node.nextSibling;
+					}
+
+					return -1;
+				}
+
+				container = node = bookmark[start ? 'startContainer' : 'endContainer'];
+				offset = bookmark[start ? 'startOffset' : 'endOffset'];
+
+				if (!container) {
+					return;
+				}
+
+				if (container.nodeType == 1) {
+					offset = nodeIndex(container);
+					container = container.parentNode;
+					dom.remove(node);
+				}
+
+				bookmark[start ? 'startContainer' : 'endContainer'] = container;
+				bookmark[start ? 'startOffset' : 'endOffset'] = offset;
+			}
+
+			restoreEndPoint(true);
+			restoreEndPoint();
+
+			var rng = dom.createRng();
+
+			rng.setStart(bookmark.startContainer, bookmark.startOffset);
+
+			if (bookmark.endContainer) {
+				rng.setEnd(bookmark.endContainer, bookmark.endOffset);
+			}
+
+			selection.setRng(rng);
+		}
+
+		function createNewTextBlock(contentNode, blockName) {
+			var node, textBlock, fragment = dom.createFragment(), hasContentNode;
+			var blockElements = editor.schema.getBlockElements();
+
+			if (editor.settings.forced_root_block) {
+				blockName = blockName || editor.settings.forced_root_block;
+			}
+
+			if (blockName) {
+				textBlock = dom.create(blockName);
+
+				if (textBlock.tagName === editor.settings.forced_root_block) {
+					dom.setAttribs(textBlock, editor.settings.forced_root_block_attrs);
+				}
+
+				fragment.appendChild(textBlock);
+			}
+
+			if (contentNode) {
+				while ((node = contentNode.firstChild)) {
+					var nodeName = node.nodeName;
+
+					if (!hasContentNode && (nodeName != 'SPAN' || node.getAttribute('data-mce-type') != 'bookmark')) {
+						hasContentNode = true;
+					}
+
+					if (blockElements[nodeName]) {
+						fragment.appendChild(node);
+						textBlock = null;
+					} else {
+						if (blockName) {
+							if (!textBlock) {
+								textBlock = dom.create(blockName);
+								fragment.appendChild(textBlock);
+							}
+
+							textBlock.appendChild(node);
+						} else {
+							fragment.appendChild(node);
+						}
+					}
+				}
+			}
+
+			if (!editor.settings.forced_root_block) {
+				fragment.appendChild(dom.create('br'));
+			} else {
+				// BR is needed in empty blocks on non IE browsers
+				if (!hasContentNode && (!tinymce.Env.ie || tinymce.Env.ie > 10)) {
+					textBlock.appendChild(dom.create('br', {'data-mce-bogus': '1'}));
+				}
+			}
+
+			return fragment;
+		}
+
+		function getSelectedListItems() {
+			return tinymce.grep(selection.getSelectedBlocks(), function(block) {
+				return /^(LI|DT|DD)$/.test(block.nodeName);
+			});
+		}
+
+		function splitList(ul, li, newBlock) {
+			var tmpRng, fragment;
+
+			var bookmarks = dom.select('span[data-mce-type="bookmark"]', ul);
+
+			newBlock = newBlock || createNewTextBlock(li);
+			tmpRng = dom.createRng();
+			tmpRng.setStartAfter(li);
+			tmpRng.setEndAfter(ul);
+			fragment = tmpRng.extractContents();
+
+			if (!dom.isEmpty(fragment)) {
+				dom.insertAfter(fragment, ul);
+			}
+
+			dom.insertAfter(newBlock, ul);
+
+			if (dom.isEmpty(li.parentNode)) {
+				tinymce.each(bookmarks, function(node) {
+					li.parentNode.parentNode.insertBefore(node, li.parentNode);
+				});
+
+				dom.remove(li.parentNode);
+			}
+
+			dom.remove(li);
+		}
+
+		function mergeWithAdjacentLists(listBlock) {
+			var sibling, node;
+
+			sibling = listBlock.nextSibling;
+			if (sibling && isListNode(sibling) && sibling.nodeName == listBlock.nodeName) {
+				while ((node = sibling.firstChild)) {
+					listBlock.appendChild(node);
+				}
+
+				dom.remove(sibling);
+			}
+
+			sibling = listBlock.previousSibling;
+			if (sibling && isListNode(sibling) && sibling.nodeName == listBlock.nodeName) {
+				while ((node = sibling.firstChild)) {
+					listBlock.insertBefore(node, listBlock.firstChild);
+				}
+
+				dom.remove(sibling);
+			}
+		}
+
+		/**
+		 * Normalizes the all lists in the specified element.
+		 */
+		function normalizeList(element) {
+			tinymce.each(tinymce.grep(dom.select('ol,ul', element)), function(ul) {
+				var sibling, parentNode = ul.parentNode;
+
+				// Move UL/OL to previous LI if it's the only child of a LI
+				if (parentNode.nodeName == 'LI' && parentNode.firstChild == ul) {
+					sibling = parentNode.previousSibling;
+					if (sibling && sibling.nodeName == 'LI') {
+						sibling.appendChild(ul);
+
+						if (dom.isEmpty(parentNode)) {
+							dom.remove(parentNode);
+						}
+					}
+				}
+
+				// Append OL/UL to previous LI if it's in a parent OL/UL i.e. old HTML4
+				if (isListNode(parentNode)) {
+					sibling = parentNode.previousSibling;
+					if (sibling && sibling.nodeName == 'LI') {
+						sibling.appendChild(ul);
+					}
+				}
+			});
+		}
+
+		function outdent(li) {
+			var ul = li.parentNode, ulParent = ul.parentNode, newBlock;
+
+			function removeEmptyLi(li) {
+				if (dom.isEmpty(li)) {
+					dom.remove(li);
+				}
+			}
+
+			if (li.nodeName == 'DD') {
+				dom.rename(li, 'DT');
+				return true;
+			}
+
+			if (isFirstChild(li) && isLastChild(li)) {
+				if (ulParent.nodeName == "LI") {
+					dom.insertAfter(li, ulParent);
+					removeEmptyLi(ulParent);
+					dom.remove(ul);
+				} else if (isListNode(ulParent)) {
+					dom.remove(ul, true);
+				} else {
+					ulParent.insertBefore(createNewTextBlock(li), ul);
+					dom.remove(ul);
+				}
+
+				return true;
+			} else if (isFirstChild(li)) {
+				if (ulParent.nodeName == "LI") {
+					dom.insertAfter(li, ulParent);
+					li.appendChild(ul);
+					removeEmptyLi(ulParent);
+				} else if (isListNode(ulParent)) {
+					ulParent.insertBefore(li, ul);
+				} else {
+					ulParent.insertBefore(createNewTextBlock(li), ul);
+					dom.remove(li);
+				}
+
+				return true;
+			} else if (isLastChild(li)) {
+				if (ulParent.nodeName == "LI") {
+					dom.insertAfter(li, ulParent);
+				} else if (isListNode(ulParent)) {
+					dom.insertAfter(li, ul);
+				} else {
+					dom.insertAfter(createNewTextBlock(li), ul);
+					dom.remove(li);
+				}
+
+				return true;
+			} else {
+				if (ulParent.nodeName == 'LI') {
+					ul = ulParent;
+					newBlock = createNewTextBlock(li, 'LI');
+				} else if (isListNode(ulParent)) {
+					newBlock = createNewTextBlock(li, 'LI');
+				} else {
+					newBlock = createNewTextBlock(li);
+				}
+
+				splitList(ul, li, newBlock);
+				normalizeList(ul.parentNode);
+
+				return true;
+			}
+
+			return false;
+		}
+
+		function indent(li) {
+			var sibling, newList;
+
+			function mergeLists(from, to) {
+				var node;
+
+				if (isListNode(from)) {
+					while ((node = li.lastChild.firstChild)) {
+						to.appendChild(node);
+					}
+
+					dom.remove(from);
+				}
+			}
+
+			if (li.nodeName == 'DT') {
+				dom.rename(li, 'DD');
+				return true;
+			}
+
+			sibling = li.previousSibling;
+
+			if (sibling && isListNode(sibling)) {
+				sibling.appendChild(li);
+				return true;
+			}
+
+			if (sibling && sibling.nodeName == 'LI' && isListNode(sibling.lastChild)) {
+				sibling.lastChild.appendChild(li);
+				mergeLists(li.lastChild, sibling.lastChild);
+				return true;
+			}
+
+			sibling = li.nextSibling;
+
+			if (sibling && isListNode(sibling)) {
+				sibling.insertBefore(li, sibling.firstChild);
+				return true;
+			}
+
+			if (sibling && sibling.nodeName == 'LI' && isListNode(li.lastChild)) {
+				return false;
+			}
+
+			sibling = li.previousSibling;
+			if (sibling && sibling.nodeName == 'LI') {
+				newList = dom.create(li.parentNode.nodeName);
+				sibling.appendChild(newList);
+				newList.appendChild(li);
+				mergeLists(li.lastChild, newList);
+				return true;
+			}
+
+			return false;
+		}
+
+		function indentSelection() {
+			var listElements = getSelectedListItems();
+
+			if (listElements.length) {
+				var bookmark = createBookmark(selection.getRng(true));
+
+				for (var i = 0; i < listElements.length; i++) {
+					if (!indent(listElements[i]) && i === 0) {
+						break;
+					}
+				}
+
+				moveToBookmark(bookmark);
+				editor.nodeChanged();
+
+				return true;
+			}
+		}
+
+		function outdentSelection() {
+			var listElements = getSelectedListItems();
+
+			if (listElements.length) {
+				var bookmark = createBookmark(selection.getRng(true));
+				var i, y, root = editor.getBody();
+
+				i = listElements.length;
+				while (i--) {
+					var node = listElements[i].parentNode;
+
+					while (node && node != root) {
+						y = listElements.length;
+						while (y--) {
+							if (listElements[y] === node) {
+								listElements.splice(i, 1);
+								break;
+							}
+						}
+
+						node = node.parentNode;
+					}
+				}
+
+				for (i = 0; i < listElements.length; i++) {
+					if (!outdent(listElements[i]) && i === 0) {
+						break;
+					}
+				}
+
+				moveToBookmark(bookmark);
+				editor.nodeChanged();
+
+				return true;
+			}
+		}
+
+		function applyList(listName) {
+			var rng = selection.getRng(true), bookmark = createBookmark(rng), listItemName = 'LI';
+
+			listName = listName.toUpperCase();
+
+			if (listName == 'DL') {
+				listItemName = 'DT';
+			}
+
+			function getSelectedTextBlocks() {
+				var textBlocks = [], root = editor.getBody();
+
+				function getEndPointNode(start) {
+					var container, offset;
+
+					container = rng[start ? 'startContainer' : 'endContainer'];
+					offset = rng[start ? 'startOffset' : 'endOffset'];
+
+					// Resolve node index
+					if (container.nodeType == 1) {
+						container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;
+					}
+
+					while (container.parentNode != root) {
+						if (isTextBlock(container)) {
+							return container;
+						}
+
+						if (/^(TD|TH)$/.test(container.parentNode.nodeName)) {
+							return container;
+						}
+
+						container = container.parentNode;
+					}
+
+					return container;
+				}
+
+				var startNode = getEndPointNode(true);
+				var endNode = getEndPointNode();
+				var block, siblings = [];
+
+				for (var node = startNode; node; node = node.nextSibling) {
+					siblings.push(node);
+
+					if (node == endNode) {
+						break;
+					}
+				}
+
+				tinymce.each(siblings, function(node) {
+					if (isTextBlock(node)) {
+						textBlocks.push(node);
+						block = null;
+						return;
+					}
+
+					if (dom.isBlock(node) || node.nodeName == 'BR') {
+						if (node.nodeName == 'BR') {
+							dom.remove(node);
+						}
+
+						block = null;
+						return;
+					}
+
+					var nextSibling = node.nextSibling;
+					if (tinymce.dom.BookmarkManager.isBookmarkNode(node)) {
+						if (isTextBlock(nextSibling) || (!nextSibling && node.parentNode == root)) {
+							block = null;
+							return;
+						}
+					}
+
+					if (!block) {
+						block = dom.create('p');
+						node.parentNode.insertBefore(block, node);
+						textBlocks.push(block);
+					}
+
+					block.appendChild(node);
+				});
+
+				return textBlocks;
+			}
+
+			tinymce.each(getSelectedTextBlocks(), function(block) {
+				var listBlock, sibling;
+
+				sibling = block.previousSibling;
+				if (sibling && isListNode(sibling) && sibling.nodeName == listName) {
+					listBlock = sibling;
+					block = dom.rename(block, listItemName);
+					sibling.appendChild(block);
+				} else {
+					listBlock = dom.create(listName);
+					block.parentNode.insertBefore(listBlock, block);
+					listBlock.appendChild(block);
+					block = dom.rename(block, listItemName);
+				}
+
+				mergeWithAdjacentLists(listBlock);
+			});
+
+			moveToBookmark(bookmark);
+		}
+
+		function removeList() {
+			var bookmark = createBookmark(selection.getRng(true)), root = editor.getBody();
+
+			tinymce.each(getSelectedListItems(), function(li) {
+				var node, rootList;
+
+				if (dom.isEmpty(li)) {
+					outdent(li);
+					return;
+				}
+
+				for (node = li; node && node != root; node = node.parentNode) {
+					if (isListNode(node)) {
+						rootList = node;
+					}
+				}
+
+				splitList(rootList, li);
+			});
+
+			moveToBookmark(bookmark);
+		}
+
+		function toggleList(listName) {
+			var parentList = dom.getParent(selection.getStart(), 'OL,UL,DL');
+
+			if (parentList) {
+				if (parentList.nodeName == listName) {
+					removeList(listName);
+				} else {
+					var bookmark = createBookmark(selection.getRng(true));
+					mergeWithAdjacentLists(dom.rename(parentList, listName));
+					moveToBookmark(bookmark);
+				}
+			} else {
+				applyList(listName);
+			}
+		}
+
+		function queryListCommandState(listName) {
+			return function() {
+				var parentList = dom.getParent(editor.selection.getStart(), 'UL,OL,DL');
+
+				return parentList && parentList.nodeName == listName;
+			};
+		}
+
+		self.backspaceDelete = function(isForward) {
+			function findNextCaretContainer(rng, isForward) {
+				var node = rng.startContainer, offset = rng.startOffset;
+				var nonEmptyBlocks, walker;
+
+				if (node.nodeType == 3 && (isForward ? offset < node.data.length : offset > 0)) {
+					return node;
+				}
+
+				nonEmptyBlocks = editor.schema.getNonEmptyElements();
+				walker = new tinymce.dom.TreeWalker(rng.startContainer);
+
+				while ((node = walker[isForward ? 'next' : 'prev']())) {
+					if (node.nodeName == 'LI' && !node.hasChildNodes()) {
+						return node;
+					}
+
+					if (nonEmptyBlocks[node.nodeName]) {
+						return node;
+					}
+
+					if (node.nodeType == 3 && node.data.length > 0) {
+						return node;
+					}
+				}
+			}
+
+			function mergeLiElements(fromElm, toElm) {
+				var node, listNode, ul = fromElm.parentNode;
+
+				if (isListNode(toElm.lastChild)) {
+					listNode = toElm.lastChild;
+				}
+
+				node = toElm.lastChild;
+				if (node && node.nodeName == 'BR' && fromElm.hasChildNodes()) {
+					dom.remove(node);
+				}
+
+				if (dom.isEmpty(toElm)) {
+					dom.$(toElm).empty();
+				}
+
+				if (!dom.isEmpty(fromElm)) {
+					while ((node = fromElm.firstChild)) {
+						toElm.appendChild(node);
+					}
+				}
+
+				if (listNode) {
+					toElm.appendChild(listNode);
+				}
+
+				dom.remove(fromElm);
+
+				if (dom.isEmpty(ul)) {
+					dom.remove(ul);
+				}
+			}
+
+			if (selection.isCollapsed()) {
+				var li = dom.getParent(selection.getStart(), 'LI');
+
+				if (li) {
+					var rng = selection.getRng(true);
+					var otherLi = dom.getParent(findNextCaretContainer(rng, isForward), 'LI');
+
+					if (otherLi && otherLi != li) {
+						var bookmark = createBookmark(rng);
+
+						if (isForward) {
+							mergeLiElements(otherLi, li);
+						} else {
+							mergeLiElements(li, otherLi);
+						}
+
+						moveToBookmark(bookmark);
+
+						return true;
+					} else if (!otherLi) {
+						if (!isForward && removeList(li.parentNode.nodeName)) {
+							return true;
+						}
+					}
+				}
+			}
+		};
+
+		editor.addCommand('Indent', function() {
+			if (!indentSelection()) {
+				return true;
+			}
+		});
+
+		editor.addCommand('Outdent', function() {
+			if (!outdentSelection()) {
+				return true;
+			}
+		});
+
+		editor.addCommand('InsertUnorderedList', function() {
+			toggleList('UL');
+		});
+
+		editor.addCommand('InsertOrderedList', function() {
+			toggleList('OL');
+		});
+
+		editor.addCommand('InsertDefinitionList', function() {
+			toggleList('DL');
+		});
+
+		editor.addQueryStateHandler('InsertUnorderedList', queryListCommandState('UL'));
+		editor.addQueryStateHandler('InsertOrderedList', queryListCommandState('OL'));
+		editor.addQueryStateHandler('InsertDefinitionList', queryListCommandState('DL'));
+
+		editor.on('keydown', function(e) {
+			if (e.keyCode == 9 && editor.dom.getParent(editor.selection.getStart(), 'LI,DT,DD')) {
+				e.preventDefault();
+
+				if (e.shiftKey) {
+					outdentSelection();
+				} else {
+					indentSelection();
+				}
+			}
+		});
+	});
+
+	editor.addButton('indent', {
+		icon: 'indent',
+		title: 'Increase indent',
+		cmd: 'Indent',
+		onPostRender: function() {
+			var ctrl = this;
+
+			editor.on('nodechange', function() {
+				var blocks = editor.selection.getSelectedBlocks();
+				var disable = false;
+
+				for (var i = 0, l = blocks.length; !disable && i < l; i++) {
+					var tag = blocks[i].nodeName;
+
+					disable = (tag == 'LI' && isFirstChild(blocks[i]) || tag == 'UL' || tag == 'OL' || tag == 'DD');
+				}
+
+				ctrl.disabled(disable);
+			});
+		}
+	});
+
+	editor.on('keydown', function(e) {
+		if (e.keyCode == tinymce.util.VK.BACKSPACE) {
+			if (self.backspaceDelete()) {
+				e.preventDefault();
+			}
+		} else if (e.keyCode == tinymce.util.VK.DELETE) {
+			if (self.backspaceDelete(true)) {
+				e.preventDefault();
+			}
+		}
+	});
+});
diff --git a/wp-includes/js/tinymce/plugins/lists/plugin.min.js b/wp-includes/js/tinymce/plugins/lists/plugin.min.js
new file mode 100644
index 000000000..38e3a8704
--- /dev/null
+++ b/wp-includes/js/tinymce/plugins/lists/plugin.min.js
@@ -0,0 +1 @@
+tinymce.PluginManager.add("lists",function(e){function t(e){return e&&/^(OL|UL|DL)$/.test(e.nodeName)}function n(e){return e.parentNode.firstChild==e}function r(e){return e.parentNode.lastChild==e}function a(t){return t&&!!e.schema.getTextBlockElements()[t.nodeName]}var o=this;e.on("init",function(){function i(e){function t(t){var r,a,o;a=e[t?"startContainer":"endContainer"],o=e[t?"startOffset":"endOffset"],1==a.nodeType&&(r=L.create("span",{"data-mce-type":"bookmark"}),a.hasChildNodes()?(o=Math.min(o,a.childNodes.length-1),t?a.insertBefore(r,a.childNodes[o]):L.insertAfter(r,a.childNodes[o])):a.appendChild(r),a=r,o=0),n[t?"startContainer":"endContainer"]=a,n[t?"startOffset":"endOffset"]=o}var n={};return t(!0),e.collapsed||t(),n}function d(e){function t(t){function n(e){for(var t=e.parentNode.firstChild,n=0;t;){if(t==e)return n;(1!=t.nodeType||"bookmark"!=t.getAttribute("data-mce-type"))&&n++,t=t.nextSibling}return-1}var r,a,o;r=o=e[t?"startContainer":"endContainer"],a=e[t?"startOffset":"endOffset"],r&&(1==r.nodeType&&(a=n(r),r=r.parentNode,L.remove(o)),e[t?"startContainer":"endContainer"]=r,e[t?"startOffset":"endOffset"]=a)}t(!0),t();var n=L.createRng();n.setStart(e.startContainer,e.startOffset),e.endContainer&&n.setEnd(e.endContainer,e.endOffset),k.setRng(n)}function s(t,n){var r,a,o,i=L.createFragment(),d=e.schema.getBlockElements();if(e.settings.forced_root_block&&(n=n||e.settings.forced_root_block),n&&(a=L.create(n),a.tagName===e.settings.forced_root_block&&L.setAttribs(a,e.settings.forced_root_block_attrs),i.appendChild(a)),t)for(;r=t.firstChild;){var s=r.nodeName;o||"SPAN"==s&&"bookmark"==r.getAttribute("data-mce-type")||(o=!0),d[s]?(i.appendChild(r),a=null):n?(a||(a=L.create(n),i.appendChild(a)),a.appendChild(r)):i.appendChild(r)}return e.settings.forced_root_block?o||tinymce.Env.ie&&!(tinymce.Env.ie>10)||a.appendChild(L.create("br",{"data-mce-bogus":"1"})):i.appendChild(L.create("br")),i}function f(){return tinymce.grep(k.getSelectedBlocks(),function(e){return/^(LI|DT|DD)$/.test(e.nodeName)})}function l(e,t,n){var r,a,o=L.select('span[data-mce-type="bookmark"]',e);n=n||s(t),r=L.createRng(),r.setStartAfter(t),r.setEndAfter(e),a=r.extractContents(),L.isEmpty(a)||L.insertAfter(a,e),L.insertAfter(n,e),L.isEmpty(t.parentNode)&&(tinymce.each(o,function(e){t.parentNode.parentNode.insertBefore(e,t.parentNode)}),L.remove(t.parentNode)),L.remove(t)}function c(e){var n,r;if(n=e.nextSibling,n&&t(n)&&n.nodeName==e.nodeName){for(;r=n.firstChild;)e.appendChild(r);L.remove(n)}if(n=e.previousSibling,n&&t(n)&&n.nodeName==e.nodeName){for(;r=n.firstChild;)e.insertBefore(r,e.firstChild);L.remove(n)}}function p(e){tinymce.each(tinymce.grep(L.select("ol,ul",e)),function(e){var n,r=e.parentNode;"LI"==r.nodeName&&r.firstChild==e&&(n=r.previousSibling,n&&"LI"==n.nodeName&&(n.appendChild(e),L.isEmpty(r)&&L.remove(r))),t(r)&&(n=r.previousSibling,n&&"LI"==n.nodeName&&n.appendChild(e))})}function m(e){function a(e){L.isEmpty(e)&&L.remove(e)}var o,i=e.parentNode,d=i.parentNode;return"DD"==e.nodeName?(L.rename(e,"DT"),!0):n(e)&&r(e)?("LI"==d.nodeName?(L.insertAfter(e,d),a(d),L.remove(i)):t(d)?L.remove(i,!0):(d.insertBefore(s(e),i),L.remove(i)),!0):n(e)?("LI"==d.nodeName?(L.insertAfter(e,d),e.appendChild(i),a(d)):t(d)?d.insertBefore(e,i):(d.insertBefore(s(e),i),L.remove(e)),!0):r(e)?("LI"==d.nodeName?L.insertAfter(e,d):t(d)?L.insertAfter(e,i):(L.insertAfter(s(e),i),L.remove(e)),!0):("LI"==d.nodeName?(i=d,o=s(e,"LI")):o=t(d)?s(e,"LI"):s(e),l(i,e,o),p(i.parentNode),!0)}function u(e){function n(n,r){var a;if(t(n)){for(;a=e.lastChild.firstChild;)r.appendChild(a);L.remove(n)}}var r,a;return"DT"==e.nodeName?(L.rename(e,"DD"),!0):(r=e.previousSibling,r&&t(r)?(r.appendChild(e),!0):r&&"LI"==r.nodeName&&t(r.lastChild)?(r.lastChild.appendChild(e),n(e.lastChild,r.lastChild),!0):(r=e.nextSibling,r&&t(r)?(r.insertBefore(e,r.firstChild),!0):r&&"LI"==r.nodeName&&t(e.lastChild)?!1:(r=e.previousSibling,r&&"LI"==r.nodeName?(a=L.create(e.parentNode.nodeName),r.appendChild(a),a.appendChild(e),n(e.lastChild,a),!0):!1)))}function h(){var t=f();if(t.length){for(var n=i(k.getRng(!0)),r=0;r<t.length&&(u(t[r])||0!==r);r++);return d(n),e.nodeChanged(),!0}}function C(){var t=f();if(t.length){var n,r,a=i(k.getRng(!0)),o=e.getBody();for(n=t.length;n--;)for(var s=t[n].parentNode;s&&s!=o;){for(r=t.length;r--;)if(t[r]===s){t.splice(n,1);break}s=s.parentNode}for(n=0;n<t.length&&(m(t[n])||0!==n);n++);return d(a),e.nodeChanged(),!0}}function v(n){function r(){function t(e){var t,n;for(t=o[e?"startContainer":"endContainer"],n=o[e?"startOffset":"endOffset"],1==t.nodeType&&(t=t.childNodes[Math.min(n,t.childNodes.length-1)]||t);t.parentNode!=i;){if(a(t))return t;if(/^(TD|TH)$/.test(t.parentNode.nodeName))return t;t=t.parentNode}return t}for(var n,r=[],i=e.getBody(),d=t(!0),s=t(),f=[],l=d;l&&(f.push(l),l!=s);l=l.nextSibling);return tinymce.each(f,function(e){if(a(e))return r.push(e),void(n=null);if(L.isBlock(e)||"BR"==e.nodeName)return"BR"==e.nodeName&&L.remove(e),void(n=null);var t=e.nextSibling;return tinymce.dom.BookmarkManager.isBookmarkNode(e)&&(a(t)||!t&&e.parentNode==i)?void(n=null):(n||(n=L.create("p"),e.parentNode.insertBefore(n,e),r.push(n)),void n.appendChild(e))}),r}var o=k.getRng(!0),s=i(o),f="LI";n=n.toUpperCase(),"DL"==n&&(f="DT"),tinymce.each(r(),function(e){var r,a;a=e.previousSibling,a&&t(a)&&a.nodeName==n?(r=a,e=L.rename(e,f),a.appendChild(e)):(r=L.create(n),e.parentNode.insertBefore(r,e),r.appendChild(e),e=L.rename(e,f)),c(r)}),d(s)}function g(){var n=i(k.getRng(!0)),r=e.getBody();tinymce.each(f(),function(e){var n,a;if(L.isEmpty(e))return void m(e);for(n=e;n&&n!=r;n=n.parentNode)t(n)&&(a=n);l(a,e)}),d(n)}function N(e){var t=L.getParent(k.getStart(),"OL,UL,DL");if(t)if(t.nodeName==e)g(e);else{var n=i(k.getRng(!0));c(L.rename(t,e)),d(n)}else v(e)}function y(t){return function(){var n=L.getParent(e.selection.getStart(),"UL,OL,DL");return n&&n.nodeName==t}}var L=e.dom,k=e.selection;o.backspaceDelete=function(n){function r(t,n){var r,a,o=t.startContainer,i=t.startOffset;if(3==o.nodeType&&(n?i<o.data.length:i>0))return o;for(r=e.schema.getNonEmptyElements(),a=new tinymce.dom.TreeWalker(t.startContainer);o=a[n?"next":"prev"]();){if("LI"==o.nodeName&&!o.hasChildNodes())return o;if(r[o.nodeName])return o;if(3==o.nodeType&&o.data.length>0)return o}}function a(e,n){var r,a,o=e.parentNode;if(t(n.lastChild)&&(a=n.lastChild),r=n.lastChild,r&&"BR"==r.nodeName&&e.hasChildNodes()&&L.remove(r),L.isEmpty(n)&&L.$(n).empty(),!L.isEmpty(e))for(;r=e.firstChild;)n.appendChild(r);a&&n.appendChild(a),L.remove(e),L.isEmpty(o)&&L.remove(o)}if(k.isCollapsed()){var o=L.getParent(k.getStart(),"LI");if(o){var s=k.getRng(!0),f=L.getParent(r(s,n),"LI");if(f&&f!=o){var l=i(s);return n?a(f,o):a(o,f),d(l),!0}if(!f&&!n&&g(o.parentNode.nodeName))return!0}}},e.addCommand("Indent",function(){return h()?void 0:!0}),e.addCommand("Outdent",function(){return C()?void 0:!0}),e.addCommand("InsertUnorderedList",function(){N("UL")}),e.addCommand("InsertOrderedList",function(){N("OL")}),e.addCommand("InsertDefinitionList",function(){N("DL")}),e.addQueryStateHandler("InsertUnorderedList",y("UL")),e.addQueryStateHandler("InsertOrderedList",y("OL")),e.addQueryStateHandler("InsertDefinitionList",y("DL")),e.on("keydown",function(t){9==t.keyCode&&e.dom.getParent(e.selection.getStart(),"LI,DT,DD")&&(t.preventDefault(),t.shiftKey?C():h())})}),e.addButton("indent",{icon:"indent",title:"Increase indent",cmd:"Indent",onPostRender:function(){var t=this;e.on("nodechange",function(){for(var r=e.selection.getSelectedBlocks(),a=!1,o=0,i=r.length;!a&&i>o;o++){var d=r[o].nodeName;a="LI"==d&&n(r[o])||"UL"==d||"OL"==d||"DD"==d}t.disabled(a)})}}),e.on("keydown",function(e){e.keyCode==tinymce.util.VK.BACKSPACE?o.backspaceDelete()&&e.preventDefault():e.keyCode==tinymce.util.VK.DELETE&&o.backspaceDelete(!0)&&e.preventDefault()})});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/media/plugin.js b/wp-includes/js/tinymce/plugins/media/plugin.js
index a97d5a067..3739f7051 100644
--- a/wp-includes/js/tinymce/plugins/media/plugin.js
+++ b/wp-includes/js/tinymce/plugins/media/plugin.js
@@ -17,9 +17,12 @@ tinymce.PluginManager.add('media', function(editor, url) {
 		{regex: /youtu\.be\/([\w\-.]+)/, type: 'iframe', w: 425, h: 350, url: '//www.youtube.com/embed/$1'},
 		{regex: /youtube\.com(.+)v=([^&]+)/, type: 'iframe', w: 425, h: 350, url: '//www.youtube.com/embed/$2'},
 		{regex: /vimeo\.com\/([0-9]+)/, type: 'iframe', w: 425, h: 350, url: '//player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc'},
+		{regex: /vimeo\.com\/(.*)\/([0-9]+)/, type: "iframe", w: 425, h: 350, url: "//player.vimeo.com/video/$2?title=0&amp;byline=0"},
 		{regex: /maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/, type: 'iframe', w: 425, h: 350, url: '//maps.google.com/maps/ms?msid=$2&output=embed"'}
 	];
 
+	var embedChange = (tinymce.Env.ie && tinymce.Env.ie <= 8) ? 'onChange' : 'onInput';
+
 	function guessMime(url) {
 		if (url.indexOf('.mp3') != -1) {
 			return 'audio/mpeg';
@@ -62,8 +65,21 @@ tinymce.PluginManager.add('media', function(editor, url) {
 
 	function showDialog() {
 		var win, width, height, data;
+
 		var generalFormItems = [
-			{name: 'source1', type: 'filepicker', filetype: 'media', size: 40, autofocus: true, label: 'Source'}
+			{
+				name: 'source1',
+				type: 'filepicker',
+				filetype: 'media',
+				size: 40,
+				autofocus: true,
+				label: 'Source',
+				onchange: function(e) {
+					tinymce.each(e.meta, function(value, key) {
+						win.find('#' + key).value(value);
+					});
+				}
+			}
 		];
 
 		function recalcSize(e) {
@@ -117,6 +133,23 @@ tinymce.PluginManager.add('media', function(editor, url) {
 		width = data.width;
 		height = data.height;
 
+		var embedTextBox = {
+			id: 'mcemediasource',
+			type: 'textbox',
+			flex: 1,
+			name: 'embed',
+			value: getSource(),
+			multiline: true,
+			label: 'Source'
+		};
+
+		function updateValueOnChange() {
+			data = htmlToData(this.value());
+			this.parent().parent().fromJSON(data);
+		}
+
+		embedTextBox[embedChange] = updateValueOnChange;
+
 		win = editor.windowManager.open({
 			title: 'Insert/edit video',
 			data: data,
@@ -149,20 +182,28 @@ tinymce.PluginManager.add('media', function(editor, url) {
 							text: 'Paste your embed code below:',
 							forId: 'mcemediasource'
 						},
-						{
-							id: 'mcemediasource',
-							type: 'textbox',
-							flex: 1,
-							name: 'embed',
-							value: getSource(),
-							multiline: true,
-							label: 'Source'
-						}
+						embedTextBox
 					]
 				}
 			],
 			onSubmit: function() {
+				var beforeObjects, afterObjects, i, y;
+
+				beforeObjects = editor.dom.select('img[data-mce-object]');
 				editor.insertContent(dataToHtml(this.toJSON()));
+				afterObjects = editor.dom.select('img[data-mce-object]');
+
+				// Find new image placeholder so we can select it
+				for (i = 0; i < beforeObjects.length; i++) {
+					for (y = afterObjects.length - 1; y >= 0; y--) {
+						if (beforeObjects[i] == afterObjects[y]) {
+							afterObjects.splice(y, 1);
+						}
+					}
+				}
+
+				editor.selection.select(afterObjects[0]);
+				editor.nodeChanged();
 			}
 		});
 	}
@@ -200,30 +241,30 @@ tinymce.PluginManager.add('media', function(editor, url) {
 		data.poster = editor.convertURL(data.poster, "poster");
 		data.flashPlayerUrl = editor.convertURL(url + '/moxieplayer.swf', "movie");
 
-		if (data.embed) {
-			html = updateHtml(data.embed, data, true);
-		} else {
-			tinymce.each(urlPatterns, function(pattern) {
-				var match, i, url;
-
-				if ((match = pattern.regex.exec(data.source1))) {
-					url = pattern.url;
+		tinymce.each(urlPatterns, function(pattern) {
+			var match, i, url;
 
-					for (i = 0; match[i]; i++) {
-						/*jshint loopfunc:true*/
-						/*eslint no-loop-func:0 */
-						url = url.replace('$' + i, function() {
-							return match[i];
-						});
-					}
+			if ((match = pattern.regex.exec(data.source1))) {
+				url = pattern.url;
 
-					data.source1 = url;
-					data.type = pattern.type;
-					data.width = data.width || pattern.w;
-					data.height = data.height || pattern.h;
+				for (i = 0; match[i]; i++) {
+					/*jshint loopfunc:true*/
+					/*eslint no-loop-func:0 */
+					url = url.replace('$' + i, function() {
+						return match[i];
+					});
 				}
-			});
 
+				data.source1 = url;
+				data.type = pattern.type;
+				data.width = data.width || pattern.w;
+				data.height = data.height || pattern.h;
+			}
+		});
+
+		if (data.embed) {
+			html = updateHtml(data.embed, data, true);
+		} else {
 			var videoScript = getVideoScriptMatch(data.source1);
 			if (videoScript) {
 				data.type = 'script';
@@ -340,6 +381,56 @@ tinymce.PluginManager.add('media', function(editor, url) {
 		return {};
 	}
 
+	function sanitize(html) {
+		if (editor.settings.media_filter_html === false) {
+			return html;
+		}
+
+		var writer = new tinymce.html.Writer();
+
+		new tinymce.html.SaxParser({
+			validate: false,
+			allow_conditional_comments: false,
+			special: 'script,noscript',
+
+			comment: function(text) {
+				writer.comment(text);
+			},
+
+			cdata: function(text) {
+				writer.cdata(text);
+			},
+
+			text: function(text, raw) {
+				writer.text(text, raw);
+			},
+
+			start: function(name, attrs, empty) {
+				if (name == 'script' || name == 'noscript') {
+					return;
+				}
+
+				for (var i = 0; i < attrs.length; i++) {
+					if (attrs[i].name.indexOf('on') === 0) {
+						return;
+					}
+				}
+
+				writer.start(name, attrs, empty);
+			},
+
+			end: function(name) {
+				if (name == 'script' || name == 'noscript') {
+					return;
+				}
+
+				writer.end(name);
+			}
+		}, new tinymce.html.Schema({})).parse(html);
+
+		return writer.getContent();
+	}
+
 	function updateHtml(html, data, updateAll) {
 		var writer = new tinymce.html.Writer();
 		var sourceCount = 0, hasImage;
@@ -404,7 +495,7 @@ tinymce.PluginManager.add('media', function(editor, url) {
 							width: data.width,
 							height: data.height
 						});
-					break;
+						break;
 				}
 
 				if (updateAll) {
@@ -420,13 +511,13 @@ tinymce.PluginManager.add('media', function(editor, url) {
 									src: ""
 								});
 							}
-						break;
+							break;
 
 						case "iframe":
 							setAttributes(attrs, {
 								src: data.source1
 							});
-						break;
+							break;
 
 						case "source":
 							sourceCount++;
@@ -441,7 +532,7 @@ tinymce.PluginManager.add('media', function(editor, url) {
 									return;
 								}
 							}
-						break;
+							break;
 
 						case "img":
 							if (!data.poster) {
@@ -507,11 +598,11 @@ tinymce.PluginManager.add('media', function(editor, url) {
 		// Make sure that any messy HTML is retained inside these
 		var specialElements = editor.schema.getSpecialElements();
 		tinymce.each('video audio iframe object'.split(' '), function(name) {
-			specialElements[name] = new RegExp('<\/' + name + '[^>]*>','gi');
+			specialElements[name] = new RegExp('<\/' + name + '[^>]*>', 'gi');
 		});
 
 		// Allow elements
-		editor.schema.addValidElements('object[id|style|width|height|classid|codebase|*],embed[id|style|width|height|type|src|*],video[*],audio[*]');
+		//editor.schema.addValidElements('object[id|style|width|height|classid|codebase|*],embed[id|style|width|height|type|src|*],video[*],audio[*]');
 
 		// Set allowFullscreen attribs as boolean
 		var boolAttrs = editor.schema.getBoolAttrs();
@@ -526,6 +617,9 @@ tinymce.PluginManager.add('media', function(editor, url) {
 
 			while (i--) {
 				node = nodes[i];
+				if (!node.parent) {
+					continue;
+				}
 
 				if (node.name == 'script') {
 					videoScript = getVideoScriptMatch(node.attr('src'));
@@ -591,6 +685,10 @@ tinymce.PluginManager.add('media', function(editor, url) {
 
 			while (i--) {
 				node = nodes[i];
+				if (!node.parent) {
+					continue;
+				}
+
 				realElmName = node.attr(name);
 				realElm = new tinymce.html.Node(realElmName, 1);
 
@@ -626,7 +724,7 @@ tinymce.PluginManager.add('media', function(editor, url) {
 				if (innerHtml) {
 					innerNode = new tinymce.html.Node('#text', 3);
 					innerNode.raw = true;
-					innerNode.value = unescape(innerHtml);
+					innerNode.value = sanitize(unescape(innerHtml));
 					realElm.append(innerNode);
 				}
 
diff --git a/wp-includes/js/tinymce/plugins/media/plugin.min.js b/wp-includes/js/tinymce/plugins/media/plugin.min.js
index 19e75cc14..3b7cd5c8e 100644
--- a/wp-includes/js/tinymce/plugins/media/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/media/plugin.min.js
@@ -1 +1 @@
-tinymce.PluginManager.add("media",function(e,t){function i(e){return-1!=e.indexOf(".mp3")?"audio/mpeg":-1!=e.indexOf(".wav")?"audio/wav":-1!=e.indexOf(".mp4")?"video/mp4":-1!=e.indexOf(".webm")?"video/webm":-1!=e.indexOf(".ogg")?"video/ogg":-1!=e.indexOf(".swf")?"application/x-shockwave-flash":""}function r(t){var i=e.settings.media_scripts;if(i)for(var r=0;r<i.length;r++)if(-1!==t.indexOf(i[r].filter))return i[r]}function o(){function t(e){var t,a,c,s;t=i.find("#width")[0],a=i.find("#height")[0],c=t.value(),s=a.value(),i.find("#constrain")[0].checked()&&r&&o&&c&&s&&(e.control==t?(s=Math.round(c/r*s),a.value(s)):(c=Math.round(s/o*c),t.value(c))),r=c,o=s}var i,r,o,m,d=[{name:"source1",type:"filepicker",filetype:"media",size:40,autofocus:!0,label:"Source"}];e.settings.media_alt_source!==!1&&d.push({name:"source2",type:"filepicker",filetype:"media",size:40,label:"Alternative source"}),e.settings.media_poster!==!1&&d.push({name:"poster",type:"filepicker",filetype:"image",size:40,label:"Poster"}),e.settings.media_dimensions!==!1&&d.push({type:"container",label:"Dimensions",layout:"flex",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:3,size:3,onchange:t},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:3,size:3,onchange:t},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}),m=n(e.selection.getNode()),r=m.width,o=m.height,i=e.windowManager.open({title:"Insert/edit video",data:m,bodyType:"tabpanel",body:[{title:"General",type:"form",onShowTab:function(){m=s(this.next().find("#embed").value()),this.fromJSON(m)},items:d},{title:"Embed",type:"panel",layout:"flex",direction:"column",align:"stretch",padding:10,spacing:10,onShowTab:function(){this.find("#embed").value(c(this.parent().toJSON()))},items:[{type:"label",text:"Paste your embed code below:",forId:"mcemediasource"},{id:"mcemediasource",type:"textbox",flex:1,name:"embed",value:a(),multiline:!0,label:"Source"}]}],onSubmit:function(){e.insertContent(c(this.toJSON()))}})}function a(){var t=e.selection.getNode();return t.getAttribute("data-mce-object")?e.selection.getContent():void 0}function c(o){var a="";if(!o.source1&&(tinymce.extend(o,s(o.embed)),!o.source1))return"";if(o.source2||(o.source2=""),o.poster||(o.poster=""),o.source1=e.convertURL(o.source1,"source"),o.source2=e.convertURL(o.source2,"source"),o.source1mime=i(o.source1),o.source2mime=i(o.source2),o.poster=e.convertURL(o.poster,"poster"),o.flashPlayerUrl=e.convertURL(t+"/moxieplayer.swf","movie"),o.embed)a=m(o.embed,o,!0);else{tinymce.each(d,function(e){var t,i,r;if(t=e.regex.exec(o.source1)){for(r=e.url,i=0;t[i];i++)r=r.replace("$"+i,function(){return t[i]});o.source1=r,o.type=e.type,o.width=o.width||e.w,o.height=o.height||e.h}});var c=r(o.source1);c&&(o.type="script",o.width=c.width,o.height=c.height),o.width=o.width||300,o.height=o.height||150,tinymce.each(o,function(t,i){o[i]=e.dom.encode(t)}),"iframe"==o.type?a+='<iframe src="'+o.source1+'" width="'+o.width+'" height="'+o.height+'"></iframe>':"application/x-shockwave-flash"==o.source1mime?(a+='<object data="'+o.source1+'" width="'+o.width+'" height="'+o.height+'" type="application/x-shockwave-flash">',o.poster&&(a+='<img src="'+o.poster+'" width="'+o.width+'" height="'+o.height+'" />'),a+="</object>"):-1!=o.source1mime.indexOf("audio")?e.settings.audio_template_callback?a=e.settings.audio_template_callback(o):a+='<audio controls="controls" src="'+o.source1+'">'+(o.source2?'\n<source src="'+o.source2+'"'+(o.source2mime?' type="'+o.source2mime+'"':"")+" />\n":"")+"</audio>":"script"==o.type?a+='<script src="'+o.source1+'"></script>':a=e.settings.video_template_callback?e.settings.video_template_callback(o):'<video width="'+o.width+'" height="'+o.height+'"'+(o.poster?' poster="'+o.poster+'"':"")+' controls="controls">\n<source src="'+o.source1+'"'+(o.source1mime?' type="'+o.source1mime+'"':"")+" />\n"+(o.source2?'<source src="'+o.source2+'"'+(o.source2mime?' type="'+o.source2mime+'"':"")+" />\n":"")+"</video>"}return a}function s(e){var t={};return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!0,special:"script,noscript",start:function(e,i){if(t.source1||"param"!=e||(t.source1=i.map.movie),("iframe"==e||"object"==e||"embed"==e||"video"==e||"audio"==e)&&(t.type||(t.type=e),t=tinymce.extend(i.map,t)),"script"==e){var o=r(i.map.src);if(!o)return;t={type:"script",source1:i.map.src,width:o.width,height:o.height}}"source"==e&&(t.source1?t.source2||(t.source2=i.map.src):t.source1=i.map.src),"img"!=e||t.poster||(t.poster=i.map.src)}}).parse(e),t.source1=t.source1||t.src||t.data,t.source2=t.source2||"",t.poster=t.poster||"",t}function n(t){return t.getAttribute("data-mce-object")?s(e.serializer.serialize(t,{selection:!0})):{}}function m(e,t,i){function r(e,t){var i,r,o,a;for(i in t)if(o=""+t[i],e.map[i])for(r=e.length;r--;)a=e[r],a.name==i&&(o?(e.map[i]=o,a.value=o):(delete e.map[i],e.splice(r,1)));else o&&(e.push({name:i,value:o}),e.map[i]=o)}var o,a=new tinymce.html.Writer,c=0;return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!0,special:"script,noscript",comment:function(e){a.comment(e)},cdata:function(e){a.cdata(e)},text:function(e,t){a.text(e,t)},start:function(e,s,n){switch(e){case"video":case"object":case"embed":case"img":case"iframe":r(s,{width:t.width,height:t.height})}if(i)switch(e){case"video":r(s,{poster:t.poster,src:""}),t.source2&&r(s,{src:""});break;case"iframe":r(s,{src:t.source1});break;case"source":if(c++,2>=c&&(r(s,{src:t["source"+c],type:t["source"+c+"mime"]}),!t["source"+c]))return;break;case"img":if(!t.poster)return;o=!0}a.start(e,s,n)},end:function(e){if("video"==e&&i)for(var s=1;2>=s;s++)if(t["source"+s]){var n=[];n.map={},s>c&&(r(n,{src:t["source"+s],type:t["source"+s+"mime"]}),a.start("source",n,!0))}if(t.poster&&"object"==e&&i&&!o){var m=[];m.map={},r(m,{src:t.poster,width:t.width,height:t.height}),a.start("img",m,!0)}a.end(e)}},new tinymce.html.Schema({})).parse(e),a.getContent()}var d=[{regex:/youtu\.be\/([\w\-.]+)/,type:"iframe",w:425,h:350,url:"//www.youtube.com/embed/$1"},{regex:/youtube\.com(.+)v=([^&]+)/,type:"iframe",w:425,h:350,url:"//www.youtube.com/embed/$2"},{regex:/vimeo\.com\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc"},{regex:/maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,type:"iframe",w:425,h:350,url:'//maps.google.com/maps/ms?msid=$2&output=embed"'}];e.on("ResolveName",function(e){var t;1==e.target.nodeType&&(t=e.target.getAttribute("data-mce-object"))&&(e.name=t)}),e.on("preInit",function(){var t=e.schema.getSpecialElements();tinymce.each("video audio iframe object".split(" "),function(e){t[e]=new RegExp("</"+e+"[^>]*>","gi")}),e.schema.addValidElements("object[id|style|width|height|classid|codebase|*],embed[id|style|width|height|type|src|*],video[*],audio[*]");var i=e.schema.getBoolAttrs();tinymce.each("webkitallowfullscreen mozallowfullscreen allowfullscreen".split(" "),function(e){i[e]={}}),e.parser.addNodeFilter("iframe,video,audio,object,embed,script",function(t,i){for(var o,a,c,s,n,m,d,u,l=t.length;l--;)if(a=t[l],"script"!=a.name||(u=r(a.attr("src")))){for(c=new tinymce.html.Node("img",1),c.shortEnded=!0,u&&(u.width&&a.attr("width",u.width.toString()),u.height&&a.attr("height",u.height.toString())),m=a.attributes,o=m.length;o--;)s=m[o].name,n=m[o].value,"width"!==s&&"height"!==s&&"style"!==s&&(("data"==s||"src"==s)&&(n=e.convertURL(n,s)),c.attr("data-mce-p-"+s,n));d=a.firstChild&&a.firstChild.value,d&&(c.attr("data-mce-html",escape(d)),c.firstChild=null),c.attr({width:a.attr("width")||"300",height:a.attr("height")||("audio"==i?"30":"150"),style:a.attr("style"),src:tinymce.Env.transparentSrc,"data-mce-object":i,"class":"mce-object mce-object-"+i}),a.replace(c)}}),e.serializer.addAttributeFilter("data-mce-object",function(e,t){for(var i,r,o,a,c,s,n,m=e.length;m--;){for(i=e[m],n=i.attr(t),r=new tinymce.html.Node(n,1),"audio"!=n&&"script"!=n&&r.attr({width:i.attr("width"),height:i.attr("height")}),r.attr({style:i.attr("style")}),a=i.attributes,o=a.length;o--;){var d=a[o].name;0===d.indexOf("data-mce-p-")&&r.attr(d.substr(11),a[o].value)}"script"==n&&r.attr("type","text/javascript"),c=i.attr("data-mce-html"),c&&(s=new tinymce.html.Node("#text",3),s.raw=!0,s.value=unescape(c),r.append(s)),i.replace(r)}})}),e.on("ObjectSelected",function(e){var t=e.target.getAttribute("data-mce-object");("audio"==t||"script"==t)&&e.preventDefault()}),e.on("objectResized",function(e){var t,i=e.target;i.getAttribute("data-mce-object")&&(t=i.getAttribute("data-mce-html"),t&&(t=unescape(t),i.setAttribute("data-mce-html",escape(m(t,{width:e.width,height:e.height})))))}),e.addButton("media",{tooltip:"Insert/edit video",onclick:o,stateSelector:["img[data-mce-object=video]","img[data-mce-object=iframe]"]}),e.addMenuItem("media",{icon:"media",text:"Insert video",onclick:o,context:"insert",prependToContext:!0})});
\ No newline at end of file
+tinymce.PluginManager.add("media",function(e,t){function i(e){return-1!=e.indexOf(".mp3")?"audio/mpeg":-1!=e.indexOf(".wav")?"audio/wav":-1!=e.indexOf(".mp4")?"video/mp4":-1!=e.indexOf(".webm")?"video/webm":-1!=e.indexOf(".ogg")?"video/ogg":-1!=e.indexOf(".swf")?"application/x-shockwave-flash":""}function r(t){var i=e.settings.media_scripts;if(i)for(var r=0;r<i.length;r++)if(-1!==t.indexOf(i[r].filter))return i[r]}function o(){function t(e){var t,i,a,c;t=r.find("#width")[0],i=r.find("#height")[0],a=t.value(),c=i.value(),r.find("#constrain")[0].checked()&&o&&m&&a&&c&&(e.control==t?(c=Math.round(a/o*c),i.value(c)):(a=Math.round(c/m*a),t.value(a))),o=a,m=c}function i(){u=n(this.value()),this.parent().parent().fromJSON(u)}var r,o,m,u,d=[{name:"source1",type:"filepicker",filetype:"media",size:40,autofocus:!0,label:"Source",onchange:function(e){tinymce.each(e.meta,function(e,t){r.find("#"+t).value(e)})}}];e.settings.media_alt_source!==!1&&d.push({name:"source2",type:"filepicker",filetype:"media",size:40,label:"Alternative source"}),e.settings.media_poster!==!1&&d.push({name:"poster",type:"filepicker",filetype:"image",size:40,label:"Poster"}),e.settings.media_dimensions!==!1&&d.push({type:"container",label:"Dimensions",layout:"flex",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:3,size:3,onchange:t},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:3,size:3,onchange:t},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}),u=s(e.selection.getNode()),o=u.width,m=u.height;var h={id:"mcemediasource",type:"textbox",flex:1,name:"embed",value:a(),multiline:!0,label:"Source"};h[l]=i,r=e.windowManager.open({title:"Insert/edit video",data:u,bodyType:"tabpanel",body:[{title:"General",type:"form",onShowTab:function(){u=n(this.next().find("#embed").value()),this.fromJSON(u)},items:d},{title:"Embed",type:"panel",layout:"flex",direction:"column",align:"stretch",padding:10,spacing:10,onShowTab:function(){this.find("#embed").value(c(this.parent().toJSON()))},items:[{type:"label",text:"Paste your embed code below:",forId:"mcemediasource"},h]}],onSubmit:function(){var t,i,r,o;for(t=e.dom.select("img[data-mce-object]"),e.insertContent(c(this.toJSON())),i=e.dom.select("img[data-mce-object]"),r=0;r<t.length;r++)for(o=i.length-1;o>=0;o--)t[r]==i[o]&&i.splice(o,1);e.selection.select(i[0]),e.nodeChanged()}})}function a(){var t=e.selection.getNode();return t.getAttribute("data-mce-object")?e.selection.getContent():void 0}function c(o){var a="";if(!o.source1&&(tinymce.extend(o,n(o.embed)),!o.source1))return"";if(o.source2||(o.source2=""),o.poster||(o.poster=""),o.source1=e.convertURL(o.source1,"source"),o.source2=e.convertURL(o.source2,"source"),o.source1mime=i(o.source1),o.source2mime=i(o.source2),o.poster=e.convertURL(o.poster,"poster"),o.flashPlayerUrl=e.convertURL(t+"/moxieplayer.swf","movie"),tinymce.each(d,function(e){var t,i,r;if(t=e.regex.exec(o.source1)){for(r=e.url,i=0;t[i];i++)r=r.replace("$"+i,function(){return t[i]});o.source1=r,o.type=e.type,o.width=o.width||e.w,o.height=o.height||e.h}}),o.embed)a=u(o.embed,o,!0);else{var c=r(o.source1);c&&(o.type="script",o.width=c.width,o.height=c.height),o.width=o.width||300,o.height=o.height||150,tinymce.each(o,function(t,i){o[i]=e.dom.encode(t)}),"iframe"==o.type?a+='<iframe src="'+o.source1+'" width="'+o.width+'" height="'+o.height+'"></iframe>':"application/x-shockwave-flash"==o.source1mime?(a+='<object data="'+o.source1+'" width="'+o.width+'" height="'+o.height+'" type="application/x-shockwave-flash">',o.poster&&(a+='<img src="'+o.poster+'" width="'+o.width+'" height="'+o.height+'" />'),a+="</object>"):-1!=o.source1mime.indexOf("audio")?e.settings.audio_template_callback?a=e.settings.audio_template_callback(o):a+='<audio controls="controls" src="'+o.source1+'">'+(o.source2?'\n<source src="'+o.source2+'"'+(o.source2mime?' type="'+o.source2mime+'"':"")+" />\n":"")+"</audio>":"script"==o.type?a+='<script src="'+o.source1+'"></script>':a=e.settings.video_template_callback?e.settings.video_template_callback(o):'<video width="'+o.width+'" height="'+o.height+'"'+(o.poster?' poster="'+o.poster+'"':"")+' controls="controls">\n<source src="'+o.source1+'"'+(o.source1mime?' type="'+o.source1mime+'"':"")+" />\n"+(o.source2?'<source src="'+o.source2+'"'+(o.source2mime?' type="'+o.source2mime+'"':"")+" />\n":"")+"</video>"}return a}function n(e){var t={};return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!0,special:"script,noscript",start:function(e,i){if(t.source1||"param"!=e||(t.source1=i.map.movie),("iframe"==e||"object"==e||"embed"==e||"video"==e||"audio"==e)&&(t.type||(t.type=e),t=tinymce.extend(i.map,t)),"script"==e){var o=r(i.map.src);if(!o)return;t={type:"script",source1:i.map.src,width:o.width,height:o.height}}"source"==e&&(t.source1?t.source2||(t.source2=i.map.src):t.source1=i.map.src),"img"!=e||t.poster||(t.poster=i.map.src)}}).parse(e),t.source1=t.source1||t.src||t.data,t.source2=t.source2||"",t.poster=t.poster||"",t}function s(t){return t.getAttribute("data-mce-object")?n(e.serializer.serialize(t,{selection:!0})):{}}function m(t){if(e.settings.media_filter_html===!1)return t;var i=new tinymce.html.Writer;return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!1,special:"script,noscript",comment:function(e){i.comment(e)},cdata:function(e){i.cdata(e)},text:function(e,t){i.text(e,t)},start:function(e,t,r){if("script"!=e&&"noscript"!=e){for(var o=0;o<t.length;o++)if(0===t[o].name.indexOf("on"))return;i.start(e,t,r)}},end:function(e){"script"!=e&&"noscript"!=e&&i.end(e)}},new tinymce.html.Schema({})).parse(t),i.getContent()}function u(e,t,i){function r(e,t){var i,r,o,a;for(i in t)if(o=""+t[i],e.map[i])for(r=e.length;r--;)a=e[r],a.name==i&&(o?(e.map[i]=o,a.value=o):(delete e.map[i],e.splice(r,1)));else o&&(e.push({name:i,value:o}),e.map[i]=o)}var o,a=new tinymce.html.Writer,c=0;return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!0,special:"script,noscript",comment:function(e){a.comment(e)},cdata:function(e){a.cdata(e)},text:function(e,t){a.text(e,t)},start:function(e,n,s){switch(e){case"video":case"object":case"embed":case"img":case"iframe":r(n,{width:t.width,height:t.height})}if(i)switch(e){case"video":r(n,{poster:t.poster,src:""}),t.source2&&r(n,{src:""});break;case"iframe":r(n,{src:t.source1});break;case"source":if(c++,2>=c&&(r(n,{src:t["source"+c],type:t["source"+c+"mime"]}),!t["source"+c]))return;break;case"img":if(!t.poster)return;o=!0}a.start(e,n,s)},end:function(e){if("video"==e&&i)for(var n=1;2>=n;n++)if(t["source"+n]){var s=[];s.map={},n>c&&(r(s,{src:t["source"+n],type:t["source"+n+"mime"]}),a.start("source",s,!0))}if(t.poster&&"object"==e&&i&&!o){var m=[];m.map={},r(m,{src:t.poster,width:t.width,height:t.height}),a.start("img",m,!0)}a.end(e)}},new tinymce.html.Schema({})).parse(e),a.getContent()}var d=[{regex:/youtu\.be\/([\w\-.]+)/,type:"iframe",w:425,h:350,url:"//www.youtube.com/embed/$1"},{regex:/youtube\.com(.+)v=([^&]+)/,type:"iframe",w:425,h:350,url:"//www.youtube.com/embed/$2"},{regex:/vimeo\.com\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc"},{regex:/vimeo\.com\/(.*)\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$2?title=0&amp;byline=0"},{regex:/maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,type:"iframe",w:425,h:350,url:'//maps.google.com/maps/ms?msid=$2&output=embed"'}],l=tinymce.Env.ie&&tinymce.Env.ie<=8?"onChange":"onInput";e.on("ResolveName",function(e){var t;1==e.target.nodeType&&(t=e.target.getAttribute("data-mce-object"))&&(e.name=t)}),e.on("preInit",function(){var t=e.schema.getSpecialElements();tinymce.each("video audio iframe object".split(" "),function(e){t[e]=new RegExp("</"+e+"[^>]*>","gi")});var i=e.schema.getBoolAttrs();tinymce.each("webkitallowfullscreen mozallowfullscreen allowfullscreen".split(" "),function(e){i[e]={}}),e.parser.addNodeFilter("iframe,video,audio,object,embed,script",function(t,i){for(var o,a,c,n,s,m,u,d,l=t.length;l--;)if(a=t[l],a.parent&&("script"!=a.name||(d=r(a.attr("src"))))){for(c=new tinymce.html.Node("img",1),c.shortEnded=!0,d&&(d.width&&a.attr("width",d.width.toString()),d.height&&a.attr("height",d.height.toString())),m=a.attributes,o=m.length;o--;)n=m[o].name,s=m[o].value,"width"!==n&&"height"!==n&&"style"!==n&&(("data"==n||"src"==n)&&(s=e.convertURL(s,n)),c.attr("data-mce-p-"+n,s));u=a.firstChild&&a.firstChild.value,u&&(c.attr("data-mce-html",escape(u)),c.firstChild=null),c.attr({width:a.attr("width")||"300",height:a.attr("height")||("audio"==i?"30":"150"),style:a.attr("style"),src:tinymce.Env.transparentSrc,"data-mce-object":i,"class":"mce-object mce-object-"+i}),a.replace(c)}}),e.serializer.addAttributeFilter("data-mce-object",function(e,t){for(var i,r,o,a,c,n,s,u=e.length;u--;)if(i=e[u],i.parent){for(s=i.attr(t),r=new tinymce.html.Node(s,1),"audio"!=s&&"script"!=s&&r.attr({width:i.attr("width"),height:i.attr("height")}),r.attr({style:i.attr("style")}),a=i.attributes,o=a.length;o--;){var d=a[o].name;0===d.indexOf("data-mce-p-")&&r.attr(d.substr(11),a[o].value)}"script"==s&&r.attr("type","text/javascript"),c=i.attr("data-mce-html"),c&&(n=new tinymce.html.Node("#text",3),n.raw=!0,n.value=m(unescape(c)),r.append(n)),i.replace(r)}})}),e.on("ObjectSelected",function(e){var t=e.target.getAttribute("data-mce-object");("audio"==t||"script"==t)&&e.preventDefault()}),e.on("objectResized",function(e){var t,i=e.target;i.getAttribute("data-mce-object")&&(t=i.getAttribute("data-mce-html"),t&&(t=unescape(t),i.setAttribute("data-mce-html",escape(u(t,{width:e.width,height:e.height})))))}),e.addButton("media",{tooltip:"Insert/edit video",onclick:o,stateSelector:["img[data-mce-object=video]","img[data-mce-object=iframe]"]}),e.addMenuItem("media",{icon:"media",text:"Insert video",onclick:o,context:"insert",prependToContext:!0})});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/paste/plugin.js b/wp-includes/js/tinymce/plugins/paste/plugin.js
index d4479042e..699096a39 100644
--- a/wp-includes/js/tinymce/plugins/paste/plugin.js
+++ b/wp-includes/js/tinymce/plugins/paste/plugin.js
@@ -170,14 +170,46 @@ define("tinymce/pasteplugin/Utils", [
 			}
 		}
 
+		html = filter(html, [
+			/<!\[[^\]]+\]>/g // Conditional comments
+		]);
+
 		walk(domParser.parse(html));
 
 		return text;
 	}
 
+	/**
+	 * Trims the specified HTML by removing all WebKit fragments, all elements wrapping the body trailing BR elements etc.
+	 *
+	 * @param {String} html Html string to trim contents on.
+	 * @return {String} Html contents that got trimmed.
+	 */
+	function trimHtml(html) {
+		function trimSpaces(all, s1, s2) {
+			// WebKit &nbsp; meant to preserve multiple spaces but instead inserted around all inline tags,
+			// including the spans with inline styles created on paste
+			if (!s1 && !s2) {
+				return ' ';
+			}
+
+			return '\u00a0';
+		}
+
+		html = filter(html, [
+			/^[\s\S]*<body[^>]*>\s*|\s*<\/body[^>]*>[\s\S]*$/g, // Remove anything but the contents within the BODY element
+			/<!--StartFragment-->|<!--EndFragment-->/g, // Inner fragments (tables from excel on mac)
+			[/( ?)<span class="Apple-converted-space">\u00a0<\/span>( ?)/g, trimSpaces],
+			/<br>$/i // Trailing BR elements
+		]);
+
+		return html;
+	}
+
 	return {
 		filter: filter,
-		innerText: innerText
+		innerText: innerText,
+		trimHtml: trimHtml
 	};
 });
 
@@ -208,7 +240,7 @@ define("tinymce/pasteplugin/Utils", [
  *  2. Wait for the browser to fire a "paste" event and get the contents out of the paste bin.
  *  3. Check if the paste was successful if true, process the HTML.
  *  (4). If the paste was unsuccessful use IE execCommand, Clipboard API, document.dataTransfer old WebKit API etc.
- * 
+ *
  * @class tinymce.pasteplugin.Clipboard
  * @private
  */
@@ -218,7 +250,7 @@ define("tinymce/pasteplugin/Clipboard", [
 	"tinymce/pasteplugin/Utils"
 ], function(Env, VK, Utils) {
 	return function(editor) {
-		var self = this, pasteBinElm, lastRng, keyboardPasteTimeStamp = 0;
+		var self = this, pasteBinElm, lastRng, keyboardPasteTimeStamp = 0, draggingInternally = false;
 		var pasteBinDefaultContent = '%MCEPASTEBIN%', keyboardPastePlainTextState;
 
 		/**
@@ -248,7 +280,7 @@ define("tinymce/pasteplugin/Clipboard", [
 				}
 
 				if (!args.isDefaultPrevented()) {
-					editor.insertContent(html);
+					editor.insertContent(html, {merge: editor.settings.paste_merge_formats !== false});
 				}
 			}
 		}
@@ -306,7 +338,9 @@ define("tinymce/pasteplugin/Clipboard", [
 			if (editor.inline) {
 				scrollContainer = editor.selection.getScrollContainer();
 
-				if (scrollContainer) {
+				// Can't always rely on scrollTop returning a useful value.
+				// It returns 0 if the browser doesn't support scrollTop for the element or is non-scrollable
+				if (scrollContainer && scrollContainer.scrollTop > 0) {
 					scrollTop = scrollContainer.scrollTop;
 				}
 			}
@@ -341,7 +375,7 @@ define("tinymce/pasteplugin/Clipboard", [
 			pasteBinElm = dom.add(editor.getBody(), 'div', {
 				id: "mcepastebin",
 				contentEditable: true,
-				"data-mce-bogus": "1",
+				"data-mce-bogus": "all",
 				style: 'position: absolute; top: ' + top + 'px;' +
 					'width: 10px; height: 10px; overflow: hidden; opacity: 0'
 			}, pasteBinDefaultContent);
@@ -380,7 +414,6 @@ define("tinymce/pasteplugin/Clipboard", [
 				}
 			}
 
-			keyboardPastePlainTextState = false;
 			pasteBinElm = lastRng = null;
 		}
 
@@ -390,22 +423,23 @@ define("tinymce/pasteplugin/Clipboard", [
 		 * @return {String} Get the contents of the paste bin.
 		 */
 		function getPasteBinHtml() {
-			var html = pasteBinDefaultContent, pasteBinClones, i;
+			var html = '', pasteBinClones, i, clone, cloneHtml;
 
 			// Since WebKit/Chrome might clone the paste bin when pasting
 			// for example: <img style="float: right"> we need to check if any of them contains some useful html.
 			// TODO: Man o man is this ugly. WebKit is the new IE! Remove this if they ever fix it!
 			pasteBinClones = editor.dom.select('div[id=mcepastebin]');
-			i = pasteBinClones.length;
-			while (i--) {
-				var cloneHtml = pasteBinClones[i].innerHTML;
+			for (i = 0; i < pasteBinClones.length; i++) {
+				clone = pasteBinClones[i];
 
-				if (html == pasteBinDefaultContent) {
-					html = '';
+				// Pasting plain text produces pastebins in pastebinds makes sence right!?
+				if (clone.firstChild && clone.firstChild.id == 'mcepastebin') {
+					clone = clone.firstChild;
 				}
 
-				if (cloneHtml.length > html.length) {
-					html = cloneHtml;
+				cloneHtml = clone.innerHTML;
+				if (html != pasteBinDefaultContent) {
+					html += cloneHtml;
 				}
 			}
 
@@ -421,16 +455,20 @@ define("tinymce/pasteplugin/Clipboard", [
 		function getDataTransferItems(dataTransfer) {
 			var data = {};
 
-			if (dataTransfer && dataTransfer.types) {
-				// Use old WebKit API
-				var legacyText = dataTransfer.getData('Text');
-				if (legacyText && legacyText.length > 0) {
-					data['text/plain'] = legacyText;
+			if (dataTransfer) {
+				// Use old WebKit/IE API
+				if (dataTransfer.getData) {
+					var legacyText = dataTransfer.getData('Text');
+					if (legacyText && legacyText.length > 0) {
+						data['text/plain'] = legacyText;
+					}
 				}
 
-				for (var i = 0; i < dataTransfer.types.length; i++) {
-					var contentType = dataTransfer.types[i];
-					data[contentType] = dataTransfer.getData(contentType);
+				if (dataTransfer.types) {
+					for (var i = 0; i < dataTransfer.types.length; i++) {
+						var contentType = dataTransfer.types[i];
+						data[contentType] = dataTransfer.getData(contentType);
+					}
 				}
 			}
 
@@ -452,54 +490,78 @@ define("tinymce/pasteplugin/Clipboard", [
 		 * Checks if the clipboard contains image data if it does it will take that data
 		 * and convert it into a data url image and paste that image at the caret location.
 		 *
-		 * @param  {ClipboardEvent} e Paste event object.
-		 * @param  {Object} clipboardContent Collection of clipboard contents.
+		 * @param  {ClipboardEvent} e Paste/drop event object.
+		 * @param  {DOMRange} rng Optional rng object to move selection to.
 		 * @return {Boolean} true/false if the image data was found or not.
 		 */
-		function pasteImageData(e, clipboardContent) {
-			function pasteImage(item) {
-				if (items[i].type == 'image/png') {
-					var reader = new FileReader();
+		function pasteImageData(e, rng) {
+			var dataTransfer = e.clipboardData || e.dataTransfer;
 
-					reader.onload = function() {
-						pasteHtml('<img src="' + reader.result + '">');
-					};
+			function processItems(items) {
+				var i, item, reader;
 
-					reader.readAsDataURL(item.getAsFile());
+				function pasteImage() {
+					if (rng) {
+						editor.selection.setRng(rng);
+						rng = null;
+					}
 
-					return true;
+					pasteHtml('<img src="' + reader.result + '">');
 				}
-			}
 
-			// If paste data images are disabled or there is HTML or plain text
-			// contents then proceed with the normal paste process
-			if (!editor.settings.paste_data_images || "text/html" in clipboardContent || "text/plain" in clipboardContent) {
-				return;
-			}
+				if (items) {
+					for (i = 0; i < items.length; i++) {
+						item = items[i];
 
-			if (e.clipboardData) {
-				var items = e.clipboardData.items;
+						if (/^image\/(jpeg|png|gif)$/.test(item.type)) {
+							reader = new FileReader();
+							reader.onload = pasteImage;
+							reader.readAsDataURL(item.getAsFile ? item.getAsFile() : item);
 
-				if (items) {
-					for (var i = 0; i < items.length; i++) {
-						if (pasteImage(items[i])) {
+							e.preventDefault();
 							return true;
 						}
 					}
 				}
 			}
+
+			if (editor.settings.paste_data_images && dataTransfer) {
+				return processItems(dataTransfer.items) || processItems(dataTransfer.files);
+			}
+		}
+
+		/**
+		 * Chrome on Andoid doesn't support proper clipboard access so we have no choice but to allow the browser default behavior.
+		 *
+		 * @param {Event} e Paste event object to check if it contains any data.
+		 * @return {Boolean} true/false if the clipboard is empty or not.
+		 */
+		function isBrokenAndoidClipboardEvent(e) {
+			var clipboardData = e.clipboardData;
+
+			return navigator.userAgent.indexOf('Android') != -1 && clipboardData && clipboardData.items && clipboardData.items.length === 0;
 		}
 
 		function getCaretRangeFromEvent(e) {
-			var doc = editor.getDoc(), rng;
+			var doc = editor.getDoc(), rng, point;
 
 			if (doc.caretPositionFromPoint) {
-				var point = doc.caretPositionFromPoint(e.clientX, e.clientY);
+				point = doc.caretPositionFromPoint(e.clientX, e.clientY);
 				rng = doc.createRange();
 				rng.setStart(point.offsetNode, point.offset);
 				rng.collapse(true);
 			} else if (doc.caretRangeFromPoint) {
 				rng = doc.caretRangeFromPoint(e.clientX, e.clientY);
+			} else if (doc.body.createTextRange) {
+				rng = doc.body.createTextRange();
+
+				try {
+					rng.moveToPoint(e.clientX, e.clientY);
+					rng.collapse(true);
+				} catch (ex) {
+					// Append to top or bottom depending on drop location
+					rng.collapse(e.clientY < doc.body.clientHeight);
+				}
 			}
 
 			return rng;
@@ -509,16 +571,29 @@ define("tinymce/pasteplugin/Clipboard", [
 			return mimeType in clipboardContent && clipboardContent[mimeType].length > 0;
 		}
 
+		function isKeyboardPasteEvent(e) {
+			return (VK.metaKeyPressed(e) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45);
+		}
+
 		function registerEventHandlers() {
 			editor.on('keydown', function(e) {
-				if (e.isDefaultPrevented()) {
-					return;
+				function removePasteBinOnKeyUp(e) {
+					// Ctrl+V or Shift+Insert
+					if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) {
+						removePasteBin();
+					}
 				}
 
 				// Ctrl+V or Shift+Insert
-				if ((VK.metaKeyPressed(e) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45)) {
+				if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) {
 					keyboardPastePlainTextState = e.shiftKey && e.keyCode == 86;
 
+					// Edge case on Safari on Mac where it doesn't handle Cmd+Shift+V correctly
+					// it fires the keydown but no paste or keyup so we are left with a paste bin
+					if (keyboardPastePlainTextState && Env.webkit && navigator.userAgent.indexOf('Version/') != -1) {
+						return;
+					}
+
 					// Prevent undoManager keydown handler from making an undo level with the pastebin in it
 					e.stopImmediatePropagation();
 
@@ -534,20 +609,33 @@ define("tinymce/pasteplugin/Clipboard", [
 
 					removePasteBin();
 					createPasteBin();
+
+					// Remove pastebin if we get a keyup and no paste event
+					// For example pasting a file in IE 11 will not produce a paste event
+					editor.once('keyup', removePasteBinOnKeyUp);
+					editor.once('paste', function() {
+						editor.off('keyup', removePasteBinOnKeyUp);
+					});
 				}
 			});
 
 			editor.on('paste', function(e) {
+				// Getting content from the Clipboard can take some time
+				var clipboardTimer = new Date().getTime();
 				var clipboardContent = getClipboardContent(e);
-				var isKeyBoardPaste = new Date().getTime() - keyboardPasteTimeStamp < 1000;
+				var clipboardDelay = new Date().getTime() - clipboardTimer;
+
+				var isKeyBoardPaste = (new Date().getTime() - keyboardPasteTimeStamp - clipboardDelay) < 1000;
 				var plainTextMode = self.pasteFormat == "text" || keyboardPastePlainTextState;
 
-				if (e.isDefaultPrevented()) {
+				keyboardPastePlainTextState = false;
+
+				if (e.isDefaultPrevented() || isBrokenAndoidClipboardEvent(e)) {
 					removePasteBin();
 					return;
 				}
 
-				if (pasteImageData(e, clipboardContent)) {
+				if (pasteImageData(e)) {
 					removePasteBin();
 					return;
 				}
@@ -570,59 +658,81 @@ define("tinymce/pasteplugin/Clipboard", [
 				}
 
 				setTimeout(function() {
-					var html = getPasteBinHtml();
+					var content;
+
+					// Grab HTML from Clipboard API or paste bin as a fallback
+					if (hasContentType(clipboardContent, 'text/html')) {
+						content = clipboardContent['text/html'];
+					} else {
+						content = getPasteBinHtml();
+
+						// If paste bin is empty try using plain text mode
+						// since that is better than nothing right
+						if (content == pasteBinDefaultContent) {
+							plainTextMode = true;
+						}
+					}
+
+					content = Utils.trimHtml(content);
 
 					// WebKit has a nice bug where it clones the paste bin if you paste from for example notepad
+					// so we need to force plain text mode in this case
 					if (pasteBinElm && pasteBinElm.firstChild && pasteBinElm.firstChild.id === 'mcepastebin') {
 						plainTextMode = true;
 					}
 
 					removePasteBin();
 
-					// Always use pastebin HTML if it's available since it contains Word contents
-					if (!plainTextMode && isKeyBoardPaste && html && html != pasteBinDefaultContent) {
-						clipboardContent['text/html'] = html;
+					// If we got nothing from clipboard API and pastebin then we could try the last resort: plain/text
+					if (!content.length) {
+						plainTextMode = true;
 					}
 
-					if (html == pasteBinDefaultContent || !isKeyBoardPaste) {
-						html = clipboardContent['text/html'] || clipboardContent['text/plain'] || pasteBinDefaultContent;
-
-						if (html == pasteBinDefaultContent) {
-							if (!isKeyBoardPaste) {
-								editor.windowManager.alert('Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.');
-							}
-
-							return;
+					// Grab plain text from Clipboard API or convert existing HTML to plain text
+					if (plainTextMode) {
+						// Use plain text contents from Clipboard API unless the HTML contains paragraphs then
+						// we should convert the HTML to plain text since works better when pasting HTML/Word contents as plain text
+						if (hasContentType(clipboardContent, 'text/plain') && content.indexOf('</p>') == -1) {
+							content = clipboardContent['text/plain'];
+						} else {
+							content = Utils.innerText(content);
 						}
 					}
 
-					// Force plain text mode if we only got a text/plain content type
-					if (!hasContentType(clipboardContent, 'text/html') && hasContentType(clipboardContent, 'text/plain')) {
-						plainTextMode = true;
+					// If the content is the paste bin default HTML then it was
+					// impossible to get the cliboard data out.
+					if (content == pasteBinDefaultContent) {
+						if (!isKeyBoardPaste) {
+							editor.windowManager.alert('Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.');
+						}
+
+						return;
 					}
 
 					if (plainTextMode) {
-						pasteText(clipboardContent['text/plain'] || Utils.innerText(html));
+						pasteText(content);
 					} else {
-						pasteHtml(html);
+						pasteHtml(content);
 					}
 				}, 0);
 			});
 
-			editor.on('dragstart', function(e) {
-				if (e.dataTransfer.types) {
-					try {
-						e.dataTransfer.setData('mce-internal', editor.selection.getContent());
-					} catch (ex) {
-						// IE 10 throws an error since it doesn't support custom data items
-					}
-				}
+			editor.on('dragstart dragend', function(e) {
+				draggingInternally = e.type == 'dragstart';
 			});
 
 			editor.on('drop', function(e) {
 				var rng = getCaretRangeFromEvent(e);
 
-				if (rng && !e.isDefaultPrevented()) {
+				if (e.isDefaultPrevented() || draggingInternally) {
+					return;
+				}
+
+				if (pasteImageData(e, rng)) {
+					return;
+				}
+
+				if (rng && editor.settings.paste_filter_drop !== false) {
 					var dropContent = getDataTransferItems(e.dataTransfer);
 					var content = dropContent['mce-internal'] || dropContent['text/html'] || dropContent['text/plain'];
 
@@ -636,6 +746,8 @@ define("tinymce/pasteplugin/Clipboard", [
 
 							editor.selection.setRng(rng);
 
+							content = Utils.trimHtml(content);
+
 							if (!dropContent['text/html']) {
 								pasteText(content);
 							} else {
@@ -645,6 +757,20 @@ define("tinymce/pasteplugin/Clipboard", [
 					}
 				}
 			});
+
+			editor.on('dragover dragend', function(e) {
+				var i, dataTransfer = e.dataTransfer;
+
+				if (editor.settings.paste_data_images && dataTransfer) {
+					for (i = 0; i < dataTransfer.types.length; i++) {
+						// Prevent default if we have files dragged into the editor since the pasteImageData handles that
+						if (dataTransfer.types[i] == "Files") {
+							e.preventDefault();
+							return false;
+						}
+					}
+				}
+			});
 		}
 
 		self.pasteHtml = pasteHtml;
@@ -661,7 +787,10 @@ define("tinymce/pasteplugin/Clipboard", [
 
 					while (i--) {
 						var src = nodes[i].attributes.map.src;
-						if (src && src.indexOf('data:image') === 0) {
+
+						// Some browsers automatically produce data uris on paste
+						// Safari on Mac produces webkit-fake-url see: https://bugs.webkit.org/show_bug.cgi?id=49141
+						if (src && /^(data:image|webkit\-fake\-url)/.test(src)) {
 							if (!nodes[i].attr('data-mce-object') && src !== Env.transparentSrc) {
 								nodes[i].remove();
 							}
@@ -670,11 +799,6 @@ define("tinymce/pasteplugin/Clipboard", [
 				}
 			});
 		});
-
-		// Fix for #6504 we need to remove the paste bin on IE if the user paste in a file
-		editor.on('PreProcess', function() {
-			editor.dom.remove(editor.dom.get('mcepastebin'));
-		});
 	};
 });
 
@@ -715,6 +839,38 @@ define("tinymce/pasteplugin/WordFilter", [
 		);
 	}
 
+	/**
+	 * Checks if the specified text starts with "1. " or "a. " etc.
+	 */
+	function isNumericList(text) {
+		var found, patterns;
+
+		patterns = [
+			/^[IVXLMCD]{1,2}\.[ \u00a0]/,  // Roman upper case
+			/^[ivxlmcd]{1,2}\.[ \u00a0]/,  // Roman lower case
+			/^[a-z]{1,2}[\.\)][ \u00a0]/,  // Alphabetical a-z
+			/^[A-Z]{1,2}[\.\)][ \u00a0]/,  // Alphabetical A-Z
+			/^[0-9]+\.[ \u00a0]/,          // Numeric lists
+			/^[\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]+\.[ \u00a0]/, // Japanese
+			/^[\u58f1\u5f10\u53c2\u56db\u4f0d\u516d\u4e03\u516b\u4e5d\u62fe]+\.[ \u00a0]/  // Chinese
+		];
+
+		text = text.replace(/^[\u00a0 ]+/, '');
+
+		Tools.each(patterns, function(pattern) {
+			if (pattern.test(text)) {
+				found = true;
+				return false;
+			}
+		});
+
+		return found;
+	}
+
+	function isBulletList(text) {
+		return /^[\s\u00a0]*[\u2022\u00b7\u00a7\u00d8\u25CF]\s*/.test(text);
+	}
+
 	function WordFilter(editor) {
 		var settings = editor.settings;
 
@@ -734,7 +890,55 @@ define("tinymce/pasteplugin/WordFilter", [
 			function convertFakeListsToProperLists(node) {
 				var currentListNode, prevListNode, lastLevel = 1;
 
-				function convertParagraphToLi(paragraphNode, listStartTextNode, listName, start) {
+				function getText(node) {
+					var txt = '';
+
+					if (node.type === 3) {
+						return node.value;
+					}
+
+					if ((node = node.firstChild)) {
+						do {
+							txt += getText(node);
+						} while ((node = node.next));
+					}
+
+					return txt;
+				}
+
+				function trimListStart(node, regExp) {
+					if (node.type === 3) {
+						if (regExp.test(node.value)) {
+							node.value = node.value.replace(regExp, '');
+							return false;
+						}
+					}
+
+					if ((node = node.firstChild)) {
+						do {
+							if (!trimListStart(node, regExp)) {
+								return false;
+							}
+						} while ((node = node.next));
+					}
+
+					return true;
+				}
+
+				function removeIgnoredNodes(node) {
+					if (node._listIgnore) {
+						node.remove();
+						return;
+					}
+
+					if ((node = node.firstChild)) {
+						do {
+							removeIgnoredNodes(node);
+						} while ((node = node.next));
+					}
+				}
+
+				function convertParagraphToLi(paragraphNode, listName, start) {
 					var level = paragraphNode._listLevel || lastLevel;
 
 					// Handle list nesting
@@ -765,12 +969,6 @@ define("tinymce/pasteplugin/WordFilter", [
 					}
 
 					paragraphNode.name = 'li';
-					listStartTextNode.value = '';
-
-					var nextNode = listStartTextNode.next;
-					if (nextNode && nextNode.type == 3) {
-						nextNode.value = nextNode.value.replace(/^\u00a0+/, '');
-					}
 
 					// Append list to previous list if it exists
 					if (level > lastLevel && prevListNode) {
@@ -778,6 +976,12 @@ define("tinymce/pasteplugin/WordFilter", [
 					}
 
 					lastLevel = level;
+
+					// Remove start of list item "1. " or "&middot; " etc
+					removeIgnoredNodes(paragraphNode);
+					trimListStart(paragraphNode, /^\u00a0+/);
+					trimListStart(paragraphNode, /^\s*([\u2022\u00b7\u00a7\u00d8\u25CF]|\w+\.)/);
+					trimListStart(paragraphNode, /^\u00a0+/);
 				}
 
 				var paragraphs = node.getAll('p');
@@ -787,26 +991,16 @@ define("tinymce/pasteplugin/WordFilter", [
 
 					if (node.name == 'p' && node.firstChild) {
 						// Find first text node in paragraph
-						var nodeText = '';
-						var listStartTextNode = node.firstChild;
-
-						while (listStartTextNode) {
-							nodeText = listStartTextNode.value;
-							if (nodeText) {
-								break;
-							}
-
-							listStartTextNode = listStartTextNode.firstChild;
-						}
+						var nodeText = getText(node);
 
 						// Detect unordered lists look for bullets
-						if (/^\s*[\u2022\u00b7\u00a7\u00d8\u25CF]\s*$/.test(nodeText)) {
-							convertParagraphToLi(node, listStartTextNode, 'ul');
+						if (isBulletList(nodeText)) {
+							convertParagraphToLi(node, 'ul');
 							continue;
 						}
 
 						// Detect ordered lists 1., a. or ixv.
-						if (/^\s*\w+\.$/.test(nodeText)) {
+						if (isNumericList(nodeText)) {
 							// Parse OL start number
 							var matches = /([0-9])\./.exec(nodeText);
 							var start = 1;
@@ -814,7 +1008,13 @@ define("tinymce/pasteplugin/WordFilter", [
 								start = parseInt(matches[1], 10);
 							}
 
-							convertParagraphToLi(node, listStartTextNode, 'ol', start);
+							convertParagraphToLi(node, 'ol', start);
+							continue;
+						}
+
+						// Convert paragraphs marked as lists but doesn't look like anything
+						if (node._listLevel) {
+							convertParagraphToLi(node, 'ul', 1);
 							continue;
 						}
 
@@ -824,20 +1024,27 @@ define("tinymce/pasteplugin/WordFilter", [
 			}
 
 			function filterStyles(node, styleValue) {
-				var outputStyles = {}, styles = editor.dom.parseStyle(styleValue);
-
-				// Parse out list indent level for lists
-				if (node.name === 'p') {
-					var matches = /mso-list:\w+ \w+([0-9]+)/.exec(styleValue);
-
-					if (matches) {
-						node._listLevel = parseInt(matches[1], 10);
-					}
-				}
+				var outputStyles = {}, matches, styles = editor.dom.parseStyle(styleValue);
 
 				Tools.each(styles, function(value, name) {
 					// Convert various MS styles to W3C styles
 					switch (name) {
+						case 'mso-list':
+							// Parse out list indent level for lists
+							matches = /\w+ \w+([0-9]+)/i.exec(styleValue);
+							if (matches) {
+								node._listLevel = parseInt(matches[1], 10);
+							}
+
+							// Remove these nodes <span style="mso-list:Ignore">o</span>
+							// Since the span gets removed we mark the text node and the span
+							if (/Ignore/i.test(value) && node.firstChild) {
+								node._listIgnore = true;
+								node.firstChild._listIgnore = true;
+							}
+
+							break;
+
 						case "horiz-align":
 							name = "text-align";
 							break;
@@ -995,7 +1202,7 @@ define("tinymce/pasteplugin/WordFilter", [
 						node = nodes[i];
 
 						className = node.attr('class');
-						if (/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(className)) {
+						if (/^(MsoCommentReference|MsoCommentText|msoDel|MsoCaption)$/i.test(className)) {
 							node.remove();
 						}
 
@@ -1036,7 +1243,8 @@ define("tinymce/pasteplugin/WordFilter", [
 						if (!href && !name) {
 							node.unwrap();
 						} else {
-							if (name && name.indexOf('Toc') !== 0) {
+							// Remove all named anchors that aren't specific to TOC, Footnotes or Endnotes
+							if (name && !/^_?(?:toc|edn|ftn)/i.test(name)) {
 								node.unwrap();
 								continue;
 							}
@@ -1101,25 +1309,6 @@ define("tinymce/pasteplugin/Quirks", [
 			});
 		}
 
-		/**
-		 * Removes WebKit fragment comments and converted-space spans.
-		 *
-		 * This:
-		 *   <!--StartFragment-->a<span class="Apple-converted-space">&nbsp;</span>b<!--EndFragment-->
-		 *
-		 * Becomes:
-		 *   a&nbsp;b
-		 */
-		function removeWebKitFragments(html) {
-			html = Utils.filter(html, [
-				/^[\s\S]*<!--StartFragment-->|<!--EndFragment-->[\s\S]*$/g, // WebKit fragment
-				[/<span class="Apple-converted-space">\u00a0<\/span>/g, '\u00a0'], // WebKit &nbsp;
-				/<br>$/i // Traling BR elements
-			]);
-
-			return html;
-		}
-
 		/**
 		 * Removes BR elements after block elements. IE9 has a nasty bug where it puts a BR element after each
 		 * block element when pasting from word. This removes those elements.
@@ -1182,46 +1371,63 @@ define("tinymce/pasteplugin/Quirks", [
 			}
 
 			// Filter away styles that isn't matching the target node
+			var webKitStyles = editor.settings.paste_webkit_styles;
 
-			var webKitStyles = editor.getParam("paste_webkit_styles", "color font-size font-family background-color").split(/[, ]/);
+			if (editor.settings.paste_remove_styles_if_webkit === false || webKitStyles == "all") {
+				return content;
+			}
 
-			if (editor.settings.paste_remove_styles_if_webkit === false) {
-				webKitStyles = "all";
+			if (webKitStyles) {
+				webKitStyles = webKitStyles.split(/[, ]/);
 			}
 
 			// Keep specific styles that doesn't match the current node computed style
-			if (webKitStyles != "all") {
+			if (webKitStyles) {
 				var dom = editor.dom, node = editor.selection.getNode();
 
-				content = content.replace(/ style=\"([^\"]+)\"/gi, function(a, value) {
+				content = content.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi, function(all, before, value, after) {
 					var inputStyles = dom.parseStyle(value, 'span'), outputStyles = {};
 
 					if (webKitStyles === "none") {
-						return '';
+						return before + after;
 					}
 
 					for (var i = 0; i < webKitStyles.length; i++) {
-						if (dom.toHex(dom.getStyle(node, webKitStyles[i], true)) != inputStyles[webKitStyles[i]]) {
-							outputStyles[webKitStyles[i]] = inputStyles[webKitStyles[i]];
+						var inputValue = inputStyles[webKitStyles[i]], currentValue = dom.getStyle(node, webKitStyles[i], true);
+
+						if (/color/.test(webKitStyles[i])) {
+							inputValue = dom.toHex(inputValue);
+							currentValue = dom.toHex(currentValue);
+						}
+
+						if (currentValue != inputValue) {
+							outputStyles[webKitStyles[i]] = inputValue;
 						}
 					}
 
 					outputStyles = dom.serializeStyle(outputStyles, 'span');
 					if (outputStyles) {
-						return ' style="' + outputStyles + '"';
+						return before + ' style="' + outputStyles + '"' + after;
 					}
 
-					return '';
+					return before + after;
 				});
+			} else {
+				// Remove all external styles
+				content = content.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi, '$1$3');
 			}
 
+			// Keep internal styles
+			content = content.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi, function(all, before, value, after) {
+				return before + ' style="' + value + '"' + after;
+			});
+
 			return content;
 		}
 
 		// Sniff browsers and apply fixes since we can't feature detect
 		if (Env.webkit) {
 			addPreProcessFilter(removeWebKitStyles);
-			addPreProcessFilter(removeWebKitFragments);
 		}
 
 		if (Env.ie) {
@@ -1343,5 +1549,5 @@ define("tinymce/pasteplugin/Plugin", [
 	});
 });
 
-expose(["tinymce/pasteplugin/Utils","tinymce/pasteplugin/Clipboard","tinymce/pasteplugin/WordFilter","tinymce/pasteplugin/Quirks","tinymce/pasteplugin/Plugin"]);
+expose(["tinymce/pasteplugin/Utils","tinymce/pasteplugin/WordFilter"]);
 })(this);
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/paste/plugin.min.js b/wp-includes/js/tinymce/plugins/paste/plugin.min.js
index 1766f6413..1f20a76d3 100644
--- a/wp-includes/js/tinymce/plugins/paste/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/paste/plugin.min.js
@@ -1 +1 @@
-!function(e,t){"use strict";function n(e,t){for(var n,i=[],r=0;r<e.length;++r){if(n=s[e[r]]||o(e[r]),!n)throw"module definition dependecy not found: "+e[r];i.push(n)}t.apply(null,i)}function i(e,i,r){if("string"!=typeof e)throw"invalid module definition, module id must be defined and be a string";if(i===t)throw"invalid module definition, dependencies must be specified";if(r===t)throw"invalid module definition, definition function must be specified";n(i,function(){s[e]=r.apply(null,arguments)})}function r(e){return!!s[e]}function o(t){for(var n=e,i=t.split(/[.\/]/),r=0;r<i.length;++r){if(!n[i[r]])return;n=n[i[r]]}return n}function a(n){for(var i=0;i<n.length;i++){for(var r=e,o=n[i],a=o.split(/[.\/]/),l=0;l<a.length-1;++l)r[a[l]]===t&&(r[a[l]]={}),r=r[a[l]];r[a[a.length-1]]=s[o]}}var s={},l="tinymce/pasteplugin/Utils",c="tinymce/util/Tools",u="tinymce/html/DomParser",d="tinymce/html/Schema",f="tinymce/pasteplugin/Clipboard",m="tinymce/Env",p="tinymce/util/VK",g="tinymce/pasteplugin/WordFilter",h="tinymce/html/Serializer",v="tinymce/html/Node",b="tinymce/pasteplugin/Quirks",y="tinymce/pasteplugin/Plugin",x="tinymce/PluginManager";i(l,[c,u,d],function(e,t,n){function i(t,n){return e.each(n,function(e){t=e.constructor==RegExp?t.replace(e,""):t.replace(e[0],e[1])}),t}function r(i){function r(e){var t=e.name,n=e;if("br"===t)return void(s+="\n");if(l[t]&&(s+=" "),c[t])return void(s+=" ");if(3==e.type&&(s+=e.value),!e.shortEnded&&(e=e.firstChild))do r(e);while(e=e.next);u[t]&&n.next&&(s+="\n","p"==t&&(s+="\n"))}var o=new n,a=new t({},o),s="",l=o.getShortEndedElements(),c=e.makeMap("script noscript style textarea video audio iframe object"," "),u=o.getBlockElements();return r(a.parse(i)),s}return{filter:i,innerText:r}}),i(f,[m,p,l],function(e,t,n){return function(i){function r(e){var t,n=i.dom;if(t=i.fire("BeforePastePreProcess",{content:e}),t=i.fire("PastePreProcess",t),e=t.content,!t.isDefaultPrevented()){if(i.hasEventListeners("PastePostProcess")&&!t.isDefaultPrevented()){var r=n.add(i.getBody(),"div",{style:"display:none"},e);t=i.fire("PastePostProcess",{node:r}),n.remove(r),e=t.node.innerHTML}t.isDefaultPrevented()||i.insertContent(e)}}function o(e){e=i.dom.encode(e).replace(/\r\n/g,"\n");var t=i.dom.getParent(i.selection.getStart(),i.dom.isBlock),o=i.settings.forced_root_block,a;o&&(a=i.dom.createHTML(o,i.settings.forced_root_block_attrs),a=a.substr(0,a.length-3)+">"),t&&/^(PRE|DIV)$/.test(t.nodeName)||!o?e=n.filter(e,[[/\n/g,"<br>"]]):(e=n.filter(e,[[/\n\n/g,"</p>"+a],[/^(.*<\/p>)(<p>)$/,a+"$1"],[/\n/g,"<br />"]]),-1!=e.indexOf("<p>")&&(e=a+e)),r(e)}function a(){var t=i.dom,n=i.getBody(),r=i.dom.getViewPort(i.getWin()),o=r.y,a=20,s;if(v=i.selection.getRng(),i.inline&&(s=i.selection.getScrollContainer(),s&&(o=s.scrollTop)),v.getClientRects){var l=v.getClientRects();if(l.length)a=o+(l[0].top-t.getPos(n).y);else{a=o;var c=v.startContainer;c&&(3==c.nodeType&&c.parentNode!=n&&(c=c.parentNode),1==c.nodeType&&(a=t.getPos(c,s||n).y))}}h=t.add(i.getBody(),"div",{id:"mcepastebin",contentEditable:!0,"data-mce-bogus":"1",style:"position: absolute; top: "+a+"px;width: 10px; height: 10px; overflow: hidden; opacity: 0"},y),(e.ie||e.gecko)&&t.setStyle(h,"left","rtl"==t.getStyle(n,"direction",!0)?65535:-65535),t.bind(h,"beforedeactivate focusin focusout",function(e){e.stopPropagation()}),h.focus(),i.selection.select(h,!0)}function s(){if(h){for(var e;e=i.dom.get("mcepastebin");)i.dom.remove(e),i.dom.unbind(e);v&&i.selection.setRng(v)}x=!1,h=v=null}function l(){var e=y,t,n;for(t=i.dom.select("div[id=mcepastebin]"),n=t.length;n--;){var r=t[n].innerHTML;e==y&&(e=""),r.length>e.length&&(e=r)}return e}function c(e){var t={};if(e&&e.types){var n=e.getData("Text");n&&n.length>0&&(t["text/plain"]=n);for(var i=0;i<e.types.length;i++){var r=e.types[i];t[r]=e.getData(r)}}return t}function u(e){return c(e.clipboardData||i.getDoc().dataTransfer)}function d(e,t){function n(e){if("image/png"==o[a].type){var t=new FileReader;return t.onload=function(){r('<img src="'+t.result+'">')},t.readAsDataURL(e.getAsFile()),!0}}if(!(!i.settings.paste_data_images||"text/html"in t||"text/plain"in t)&&e.clipboardData){var o=e.clipboardData.items;if(o)for(var a=0;a<o.length;a++)if(n(o[a]))return!0}}function f(e){var t=i.getDoc(),n;if(t.caretPositionFromPoint){var r=t.caretPositionFromPoint(e.clientX,e.clientY);n=t.createRange(),n.setStart(r.offsetNode,r.offset),n.collapse(!0)}else t.caretRangeFromPoint&&(n=t.caretRangeFromPoint(e.clientX,e.clientY));return n}function m(e,t){return t in e&&e[t].length>0}function p(){i.on("keydown",function(n){if(!n.isDefaultPrevented()&&(t.metaKeyPressed(n)&&86==n.keyCode||n.shiftKey&&45==n.keyCode)){if(x=n.shiftKey&&86==n.keyCode,n.stopImmediatePropagation(),b=(new Date).getTime(),e.ie&&x)return n.preventDefault(),void i.fire("paste",{ieFake:!0});s(),a()}}),i.on("paste",function(t){var c=u(t),f=(new Date).getTime()-b<1e3,p="text"==g.pasteFormat||x;return t.isDefaultPrevented()?void s():d(t,c)?void s():(f||t.preventDefault(),!e.ie||f&&!t.ieFake||(a(),i.dom.bind(h,"paste",function(e){e.stopPropagation()}),i.getDoc().execCommand("Paste",!1,null),c["text/html"]=l()),void setTimeout(function(){var e=l();return h&&h.firstChild&&"mcepastebin"===h.firstChild.id&&(p=!0),s(),!p&&f&&e&&e!=y&&(c["text/html"]=e),e!=y&&f||(e=c["text/html"]||c["text/plain"]||y,e!=y)?(!m(c,"text/html")&&m(c,"text/plain")&&(p=!0),void(p?o(c["text/plain"]||n.innerText(e)):r(e))):void(f||i.windowManager.alert("Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents."))},0))}),i.on("dragstart",function(e){if(e.dataTransfer.types)try{e.dataTransfer.setData("mce-internal",i.selection.getContent())}catch(t){}}),i.on("drop",function(e){var t=f(e);if(t&&!e.isDefaultPrevented()){var n=c(e.dataTransfer),a=n["mce-internal"]||n["text/html"]||n["text/plain"];a&&(e.preventDefault(),i.undoManager.transact(function(){n["mce-internal"]&&i.execCommand("Delete"),i.selection.setRng(t),n["text/html"]?r(a):o(a)}))}})}var g=this,h,v,b=0,y="%MCEPASTEBIN%",x;g.pasteHtml=r,g.pasteText=o,i.on("preInit",function(){p(),i.parser.addNodeFilter("img",function(t){if(!i.settings.paste_data_images)for(var n=t.length;n--;){var r=t[n].attributes.map.src;r&&0===r.indexOf("data:image")&&(t[n].attr("data-mce-object")||r===e.transparentSrc||t[n].remove())}})}),i.on("PreProcess",function(){i.dom.remove(i.dom.get("mcepastebin"))})}}),i(g,[c,u,d,h,v,l],function(e,t,n,i,r,o){function a(e){return/<font face="Times New Roman"|class="?Mso|style="[^"]*\bmso-|style='[^'']*\bmso-|w:WordDocument/i.test(e)||/class="OutlineElement/.test(e)||/id="?docs\-internal\-guid\-/.test(e)}function s(s){var l=s.settings;s.on("BeforePastePreProcess",function(c){function u(e){function t(e,t,a,s){var l=e._listLevel||o;l!=o&&(o>l?n&&(n=n.parent.parent):(i=n,n=null)),n&&n.name==a?n.append(e):(i=i||n,n=new r(a,1),s>1&&n.attr("start",""+s),e.wrap(n)),e.name="li",t.value="";var c=t.next;c&&3==c.type&&(c.value=c.value.replace(/^\u00a0+/,"")),l>o&&i&&i.lastChild.append(n),o=l}for(var n,i,o=1,a=e.getAll("p"),s=0;s<a.length;s++)if(e=a[s],"p"==e.name&&e.firstChild){for(var l="",c=e.firstChild;c&&!(l=c.value);)c=c.firstChild;if(/^\s*[\u2022\u00b7\u00a7\u00d8\u25CF]\s*$/.test(l)){t(e,c,"ul");continue}if(/^\s*\w+\.$/.test(l)){var u=/([0-9])\./.exec(l),d=1;u&&(d=parseInt(u[1],10)),t(e,c,"ol",d);continue}n=null}}function d(t,n){var i={},o=s.dom.parseStyle(n);if("p"===t.name){var a=/mso-list:\w+ \w+([0-9]+)/.exec(n);a&&(t._listLevel=parseInt(a[1],10))}return e.each(o,function(e,n){switch(n){case"horiz-align":n="text-align";break;case"vert-align":n="vertical-align";break;case"font-color":case"mso-foreground":n="color";break;case"mso-background":case"mso-highlight":n="background";break;case"font-weight":case"font-style":return void("normal"!=e&&(i[n]=e));case"mso-element":if(/^(comment|comment-list)$/i.test(e))return void t.remove()}return 0===n.indexOf("mso-comment")?void t.remove():void(0!==n.indexOf("mso-")&&("all"==m||p&&p[n])&&(i[n]=e))}),/(bold)/i.test(i["font-weight"])&&(delete i["font-weight"],t.wrap(new r("b",1))),/(italic)/i.test(i["font-style"])&&(delete i["font-style"],t.wrap(new r("i",1))),i=s.dom.serializeStyle(i,t.name),i?i:null}var f=c.content,m,p;if(m=l.paste_retain_style_properties,m&&(p=e.makeMap(m.split(/[, ]/))),l.paste_enable_default_filters!==!1&&a(c.content)){c.wordContent=!0,f=o.filter(f,[/<!--[\s\S]+?-->/gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/&nbsp;/gi,"\xa0"],[/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,function(e,t){return t.length>0?t.replace(/./," ").slice(Math.floor(t.length/2)).split("").join("\xa0"):""}]]);var g=l.paste_word_valid_elements;g||(g="-strong/b,-em/i,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,-table[width],-tr,-td[colspan|rowspan|width],-th,-thead,-tfoot,-tbody,-a[href|name],sub,sup,strike,br,del");var h=new n({valid_elements:g,valid_children:"-li[p]"});e.each(h.elements,function(e){e.attributes["class"]||(e.attributes["class"]={},e.attributesOrder.push("class")),e.attributes.style||(e.attributes.style={},e.attributesOrder.push("style"))});var v=new t({},h);v.addAttributeFilter("style",function(e){for(var t=e.length,n;t--;)n=e[t],n.attr("style",d(n,n.attr("style"))),"span"==n.name&&n.parent&&!n.attributes.length&&n.unwrap()}),v.addAttributeFilter("class",function(e){for(var t=e.length,n,i;t--;)n=e[t],i=n.attr("class"),/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(i)&&n.remove(),n.attr("class",null)}),v.addNodeFilter("del",function(e){for(var t=e.length;t--;)e[t].remove()}),v.addNodeFilter("a",function(e){for(var t=e.length,n,i,r;t--;)if(n=e[t],i=n.attr("href"),r=n.attr("name"),i&&-1!=i.indexOf("#_msocom_"))n.remove();else if(i&&0===i.indexOf("file://")&&(i=i.split("#")[1],i&&(i="#"+i)),i||r){if(r&&0!==r.indexOf("Toc")){n.unwrap();continue}n.attr({href:i,name:r})}else n.unwrap()});var b=v.parse(f);u(b),c.content=new i({},h).serialize(b)}})}return s.isWordContent=a,s}),i(b,[m,c,g,l],function(e,t,n,i){return function(r){function o(e){r.on("BeforePastePreProcess",function(t){t.content=e(t.content)})}function a(e){return e=i.filter(e,[/^[\s\S]*<!--StartFragment-->|<!--EndFragment-->[\s\S]*$/g,[/<span class="Apple-converted-space">\u00a0<\/span>/g,"\xa0"],/<br>$/i])}function s(e){if(!n.isWordContent(e))return e;var o=[];t.each(r.schema.getBlockElements(),function(e,t){o.push(t)});var a=new RegExp("(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*(<\\/?("+o.join("|")+")[^>]*>)(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*","g");return e=i.filter(e,[[a,"$1"]]),e=i.filter(e,[[/<br><br>/g,"<BR><BR>"],[/<br>/g," "],[/<BR><BR>/g,"<br>"]])}function l(e){if(n.isWordContent(e))return e;var t=r.getParam("paste_webkit_styles","color font-size font-family background-color").split(/[, ]/);if(r.settings.paste_remove_styles_if_webkit===!1&&(t="all"),"all"!=t){var i=r.dom,o=r.selection.getNode();e=e.replace(/ style=\"([^\"]+)\"/gi,function(e,n){var r=i.parseStyle(n,"span"),a={};if("none"===t)return"";for(var s=0;s<t.length;s++)i.toHex(i.getStyle(o,t[s],!0))!=r[t[s]]&&(a[t[s]]=r[t[s]]);return a=i.serializeStyle(a,"span"),a?' style="'+a+'"':""})}return e}e.webkit&&(o(l),o(a)),e.ie&&o(s)}}),i(y,[x,f,g,b],function(e,t,n,i){var r;e.add("paste",function(e){function o(){"text"==s.pasteFormat?(this.active(!1),s.pasteFormat="html"):(s.pasteFormat="text",this.active(!0),r||(e.windowManager.alert("Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off."),r=!0))}var a=this,s,l=e.settings;a.clipboard=s=new t(e),a.quirks=new i(e),a.wordFilter=new n(e),e.settings.paste_as_text&&(a.clipboard.pasteFormat="text"),l.paste_preprocess&&e.on("PastePreProcess",function(e){l.paste_preprocess.call(a,a,e)}),l.paste_postprocess&&e.on("PastePostProcess",function(e){l.paste_postprocess.call(a,a,e)}),e.addCommand("mceInsertClipboardContent",function(e,t){t.content&&a.clipboard.pasteHtml(t.content),t.text&&a.clipboard.pasteText(t.text)}),e.paste_block_drop&&e.on("dragend dragover draggesture dragdrop drop drag",function(e){e.preventDefault(),e.stopPropagation()}),e.settings.paste_data_images||e.on("drop",function(e){var t=e.dataTransfer;t&&t.files&&t.files.length>0&&e.preventDefault()}),e.addButton("pastetext",{icon:"pastetext",tooltip:"Paste as text",onclick:o,active:"text"==a.clipboard.pasteFormat}),e.addMenuItem("pastetext",{text:"Paste as text",selectable:!0,active:s.pasteFormat,onclick:o})})}),a([l,f,g,b,y])}(this);
\ No newline at end of file
+!function(e,t){"use strict";function n(e,t){for(var n,i=[],r=0;r<e.length;++r){if(n=s[e[r]]||a(e[r]),!n)throw"module definition dependecy not found: "+e[r];i.push(n)}t.apply(null,i)}function i(e,i,r){if("string"!=typeof e)throw"invalid module definition, module id must be defined and be a string";if(i===t)throw"invalid module definition, dependencies must be specified";if(r===t)throw"invalid module definition, definition function must be specified";n(i,function(){s[e]=r.apply(null,arguments)})}function r(e){return!!s[e]}function a(t){for(var n=e,i=t.split(/[.\/]/),r=0;r<i.length;++r){if(!n[i[r]])return;n=n[i[r]]}return n}function o(n){for(var i=0;i<n.length;i++){for(var r=e,a=n[i],o=a.split(/[.\/]/),l=0;l<o.length-1;++l)r[o[l]]===t&&(r[o[l]]={}),r=r[o[l]];r[o[o.length-1]]=s[a]}}var s={},l="tinymce/pasteplugin/Utils",c="tinymce/util/Tools",u="tinymce/html/DomParser",d="tinymce/html/Schema",f="tinymce/pasteplugin/Clipboard",p="tinymce/Env",m="tinymce/util/VK",g="tinymce/pasteplugin/WordFilter",v="tinymce/html/Serializer",h="tinymce/html/Node",b="tinymce/pasteplugin/Quirks",y="tinymce/pasteplugin/Plugin",w="tinymce/PluginManager";i(l,[c,u,d],function(e,t,n){function i(t,n){return e.each(n,function(e){t=e.constructor==RegExp?t.replace(e,""):t.replace(e[0],e[1])}),t}function r(r){function a(e){var t=e.name,n=e;if("br"===t)return void(l+="\n");if(c[t]&&(l+=" "),u[t])return void(l+=" ");if(3==e.type&&(l+=e.value),!e.shortEnded&&(e=e.firstChild))do a(e);while(e=e.next);d[t]&&n.next&&(l+="\n","p"==t&&(l+="\n"))}var o=new n,s=new t({},o),l="",c=o.getShortEndedElements(),u=e.makeMap("script noscript style textarea video audio iframe object"," "),d=o.getBlockElements();return r=i(r,[/<!\[[^\]]+\]>/g]),a(s.parse(r)),l}function a(e){function t(e,t,n){return t||n?"\xa0":" "}return e=i(e,[/^[\s\S]*<body[^>]*>\s*|\s*<\/body[^>]*>[\s\S]*$/g,/<!--StartFragment-->|<!--EndFragment-->/g,[/( ?)<span class="Apple-converted-space">\u00a0<\/span>( ?)/g,t],/<br>$/i])}return{filter:i,innerText:r,trimHtml:a}}),i(f,[p,m,l],function(e,t,n){return function(i){function r(e){var t,n=i.dom;if(t=i.fire("BeforePastePreProcess",{content:e}),t=i.fire("PastePreProcess",t),e=t.content,!t.isDefaultPrevented()){if(i.hasEventListeners("PastePostProcess")&&!t.isDefaultPrevented()){var r=n.add(i.getBody(),"div",{style:"display:none"},e);t=i.fire("PastePostProcess",{node:r}),n.remove(r),e=t.node.innerHTML}t.isDefaultPrevented()||i.insertContent(e,{merge:i.settings.paste_merge_formats!==!1})}}function a(e){e=i.dom.encode(e).replace(/\r\n/g,"\n");var t=i.dom.getParent(i.selection.getStart(),i.dom.isBlock),a=i.settings.forced_root_block,o;a&&(o=i.dom.createHTML(a,i.settings.forced_root_block_attrs),o=o.substr(0,o.length-3)+">"),t&&/^(PRE|DIV)$/.test(t.nodeName)||!a?e=n.filter(e,[[/\n/g,"<br>"]]):(e=n.filter(e,[[/\n\n/g,"</p>"+o],[/^(.*<\/p>)(<p>)$/,o+"$1"],[/\n/g,"<br />"]]),-1!=e.indexOf("<p>")&&(e=o+e)),r(e)}function o(){var t=i.dom,n=i.getBody(),r=i.dom.getViewPort(i.getWin()),a=r.y,o=20,s;if(y=i.selection.getRng(),i.inline&&(s=i.selection.getScrollContainer(),s&&s.scrollTop>0&&(a=s.scrollTop)),y.getClientRects){var l=y.getClientRects();if(l.length)o=a+(l[0].top-t.getPos(n).y);else{o=a;var c=y.startContainer;c&&(3==c.nodeType&&c.parentNode!=n&&(c=c.parentNode),1==c.nodeType&&(o=t.getPos(c,s||n).y))}}b=t.add(i.getBody(),"div",{id:"mcepastebin",contentEditable:!0,"data-mce-bogus":"all",style:"position: absolute; top: "+o+"px;width: 10px; height: 10px; overflow: hidden; opacity: 0"},P),(e.ie||e.gecko)&&t.setStyle(b,"left","rtl"==t.getStyle(n,"direction",!0)?65535:-65535),t.bind(b,"beforedeactivate focusin focusout",function(e){e.stopPropagation()}),b.focus(),i.selection.select(b,!0)}function s(){if(b){for(var e;e=i.dom.get("mcepastebin");)i.dom.remove(e),i.dom.unbind(e);y&&i.selection.setRng(y)}b=y=null}function l(){var e="",t,n,r,a;for(t=i.dom.select("div[id=mcepastebin]"),n=0;n<t.length;n++)r=t[n],r.firstChild&&"mcepastebin"==r.firstChild.id&&(r=r.firstChild),a=r.innerHTML,e!=P&&(e+=a);return e}function c(e){var t={};if(e){if(e.getData){var n=e.getData("Text");n&&n.length>0&&(t["text/plain"]=n)}if(e.types)for(var i=0;i<e.types.length;i++){var r=e.types[i];t[r]=e.getData(r)}}return t}function u(e){return c(e.clipboardData||i.getDoc().dataTransfer)}function d(e,t){function n(n){function a(){t&&(i.selection.setRng(t),t=null),r('<img src="'+l.result+'">')}var o,s,l;if(n)for(o=0;o<n.length;o++)if(s=n[o],/^image\/(jpeg|png|gif)$/.test(s.type))return l=new FileReader,l.onload=a,l.readAsDataURL(s.getAsFile?s.getAsFile():s),e.preventDefault(),!0}var a=e.clipboardData||e.dataTransfer;return i.settings.paste_data_images&&a?n(a.items)||n(a.files):void 0}function f(e){var t=e.clipboardData;return-1!=navigator.userAgent.indexOf("Android")&&t&&t.items&&0===t.items.length}function p(e){var t=i.getDoc(),n,r;if(t.caretPositionFromPoint)r=t.caretPositionFromPoint(e.clientX,e.clientY),n=t.createRange(),n.setStart(r.offsetNode,r.offset),n.collapse(!0);else if(t.caretRangeFromPoint)n=t.caretRangeFromPoint(e.clientX,e.clientY);else if(t.body.createTextRange){n=t.body.createTextRange();try{n.moveToPoint(e.clientX,e.clientY),n.collapse(!0)}catch(a){n.collapse(e.clientY<t.body.clientHeight)}}return n}function m(e,t){return t in e&&e[t].length>0}function g(e){return t.metaKeyPressed(e)&&86==e.keyCode||e.shiftKey&&45==e.keyCode}function v(){i.on("keydown",function(t){function n(e){g(e)&&!e.isDefaultPrevented()&&s()}if(g(t)&&!t.isDefaultPrevented()){if(_=t.shiftKey&&86==t.keyCode,_&&e.webkit&&-1!=navigator.userAgent.indexOf("Version/"))return;if(t.stopImmediatePropagation(),w=(new Date).getTime(),e.ie&&_)return t.preventDefault(),void i.fire("paste",{ieFake:!0});s(),o(),i.once("keyup",n),i.once("paste",function(){i.off("keyup",n)})}}),i.on("paste",function(t){var c=(new Date).getTime(),p=u(t),g=(new Date).getTime()-c,v=(new Date).getTime()-w-g<1e3,y="text"==h.pasteFormat||_;return _=!1,t.isDefaultPrevented()||f(t)?void s():d(t)?void s():(v||t.preventDefault(),!e.ie||v&&!t.ieFake||(o(),i.dom.bind(b,"paste",function(e){e.stopPropagation()}),i.getDoc().execCommand("Paste",!1,null),p["text/html"]=l()),void setTimeout(function(){var e;return m(p,"text/html")?e=p["text/html"]:(e=l(),e==P&&(y=!0)),e=n.trimHtml(e),b&&b.firstChild&&"mcepastebin"===b.firstChild.id&&(y=!0),s(),e.length||(y=!0),y&&(e=m(p,"text/plain")&&-1==e.indexOf("</p>")?p["text/plain"]:n.innerText(e)),e==P?void(v||i.windowManager.alert("Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.")):void(y?a(e):r(e))},0))}),i.on("dragstart dragend",function(e){x="dragstart"==e.type}),i.on("drop",function(e){var t=p(e);if(!e.isDefaultPrevented()&&!x&&!d(e,t)&&t&&i.settings.paste_filter_drop!==!1){var o=c(e.dataTransfer),s=o["mce-internal"]||o["text/html"]||o["text/plain"];s&&(e.preventDefault(),i.undoManager.transact(function(){o["mce-internal"]&&i.execCommand("Delete"),i.selection.setRng(t),s=n.trimHtml(s),o["text/html"]?r(s):a(s)}))}}),i.on("dragover dragend",function(e){var t,n=e.dataTransfer;if(i.settings.paste_data_images&&n)for(t=0;t<n.types.length;t++)if("Files"==n.types[t])return e.preventDefault(),!1})}var h=this,b,y,w=0,x=!1,P="%MCEPASTEBIN%",_;h.pasteHtml=r,h.pasteText=a,i.on("preInit",function(){v(),i.parser.addNodeFilter("img",function(t){if(!i.settings.paste_data_images)for(var n=t.length;n--;){var r=t[n].attributes.map.src;r&&/^(data:image|webkit\-fake\-url)/.test(r)&&(t[n].attr("data-mce-object")||r===e.transparentSrc||t[n].remove())}})})}}),i(g,[c,u,d,v,h,l],function(e,t,n,i,r,a){function o(e){return/<font face="Times New Roman"|class="?Mso|style="[^"]*\bmso-|style='[^'']*\bmso-|w:WordDocument/i.test(e)||/class="OutlineElement/.test(e)||/id="?docs\-internal\-guid\-/.test(e)}function s(t){var n,i;return i=[/^[IVXLMCD]{1,2}\.[ \u00a0]/,/^[ivxlmcd]{1,2}\.[ \u00a0]/,/^[a-z]{1,2}[\.\)][ \u00a0]/,/^[A-Z]{1,2}[\.\)][ \u00a0]/,/^[0-9]+\.[ \u00a0]/,/^[\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]+\.[ \u00a0]/,/^[\u58f1\u5f10\u53c2\u56db\u4f0d\u516d\u4e03\u516b\u4e5d\u62fe]+\.[ \u00a0]/],t=t.replace(/^[\u00a0 ]+/,""),e.each(i,function(e){return e.test(t)?(n=!0,!1):void 0}),n}function l(e){return/^[\s\u00a0]*[\u2022\u00b7\u00a7\u00d8\u25CF]\s*/.test(e)}function c(c){var u=c.settings;c.on("BeforePastePreProcess",function(d){function f(e){function t(e){var n="";if(3===e.type)return e.value;if(e=e.firstChild)do n+=t(e);while(e=e.next);return n}function n(e,t){if(3===e.type&&t.test(e.value))return e.value=e.value.replace(t,""),!1;if(e=e.firstChild)do if(!n(e,t))return!1;while(e=e.next);return!0}function i(e){if(e._listIgnore)return void e.remove();if(e=e.firstChild)do i(e);while(e=e.next)}function a(e,t,a){var s=e._listLevel||u;s!=u&&(u>s?o&&(o=o.parent.parent):(c=o,o=null)),o&&o.name==t?o.append(e):(c=c||o,o=new r(t,1),a>1&&o.attr("start",""+a),e.wrap(o)),e.name="li",s>u&&c&&c.lastChild.append(o),u=s,i(e),n(e,/^\u00a0+/),n(e,/^\s*([\u2022\u00b7\u00a7\u00d8\u25CF]|\w+\.)/),n(e,/^\u00a0+/)}for(var o,c,u=1,d=e.getAll("p"),f=0;f<d.length;f++)if(e=d[f],"p"==e.name&&e.firstChild){var p=t(e);if(l(p)){a(e,"ul");continue}if(s(p)){var m=/([0-9])\./.exec(p),g=1;m&&(g=parseInt(m[1],10)),a(e,"ol",g);continue}if(e._listLevel){a(e,"ul",1);continue}o=null}}function p(t,n){var i={},a,o=c.dom.parseStyle(n);return e.each(o,function(e,r){switch(r){case"mso-list":a=/\w+ \w+([0-9]+)/i.exec(n),a&&(t._listLevel=parseInt(a[1],10)),/Ignore/i.test(e)&&t.firstChild&&(t._listIgnore=!0,t.firstChild._listIgnore=!0);break;case"horiz-align":r="text-align";break;case"vert-align":r="vertical-align";break;case"font-color":case"mso-foreground":r="color";break;case"mso-background":case"mso-highlight":r="background";break;case"font-weight":case"font-style":return void("normal"!=e&&(i[r]=e));case"mso-element":if(/^(comment|comment-list)$/i.test(e))return void t.remove()}return 0===r.indexOf("mso-comment")?void t.remove():void(0!==r.indexOf("mso-")&&("all"==g||v&&v[r])&&(i[r]=e))}),/(bold)/i.test(i["font-weight"])&&(delete i["font-weight"],t.wrap(new r("b",1))),/(italic)/i.test(i["font-style"])&&(delete i["font-style"],t.wrap(new r("i",1))),i=c.dom.serializeStyle(i,t.name),i?i:null}var m=d.content,g,v;if(g=u.paste_retain_style_properties,g&&(v=e.makeMap(g.split(/[, ]/))),u.paste_enable_default_filters!==!1&&o(d.content)){d.wordContent=!0,m=a.filter(m,[/<!--[\s\S]+?-->/gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/&nbsp;/gi,"\xa0"],[/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,function(e,t){return t.length>0?t.replace(/./," ").slice(Math.floor(t.length/2)).split("").join("\xa0"):""}]]);var h=u.paste_word_valid_elements;h||(h="-strong/b,-em/i,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,-table[width],-tr,-td[colspan|rowspan|width],-th,-thead,-tfoot,-tbody,-a[href|name],sub,sup,strike,br,del");var b=new n({valid_elements:h,valid_children:"-li[p]"});e.each(b.elements,function(e){e.attributes["class"]||(e.attributes["class"]={},e.attributesOrder.push("class")),e.attributes.style||(e.attributes.style={},e.attributesOrder.push("style"))});var y=new t({},b);y.addAttributeFilter("style",function(e){for(var t=e.length,n;t--;)n=e[t],n.attr("style",p(n,n.attr("style"))),"span"==n.name&&n.parent&&!n.attributes.length&&n.unwrap()}),y.addAttributeFilter("class",function(e){for(var t=e.length,n,i;t--;)n=e[t],i=n.attr("class"),/^(MsoCommentReference|MsoCommentText|msoDel|MsoCaption)$/i.test(i)&&n.remove(),n.attr("class",null)}),y.addNodeFilter("del",function(e){for(var t=e.length;t--;)e[t].remove()}),y.addNodeFilter("a",function(e){for(var t=e.length,n,i,r;t--;)if(n=e[t],i=n.attr("href"),r=n.attr("name"),i&&-1!=i.indexOf("#_msocom_"))n.remove();else if(i&&0===i.indexOf("file://")&&(i=i.split("#")[1],i&&(i="#"+i)),i||r){if(r&&!/^_?(?:toc|edn|ftn)/i.test(r)){n.unwrap();continue}n.attr({href:i,name:r})}else n.unwrap()});var w=y.parse(m);f(w),d.content=new i({},b).serialize(w)}})}return c.isWordContent=o,c}),i(b,[p,c,g,l],function(e,t,n,i){return function(r){function a(e){r.on("BeforePastePreProcess",function(t){t.content=e(t.content)})}function o(e){if(!n.isWordContent(e))return e;var a=[];t.each(r.schema.getBlockElements(),function(e,t){a.push(t)});var o=new RegExp("(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*(<\\/?("+a.join("|")+")[^>]*>)(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*","g");return e=i.filter(e,[[o,"$1"]]),e=i.filter(e,[[/<br><br>/g,"<BR><BR>"],[/<br>/g," "],[/<BR><BR>/g,"<br>"]])}function s(e){if(n.isWordContent(e))return e;var t=r.settings.paste_webkit_styles;if(r.settings.paste_remove_styles_if_webkit===!1||"all"==t)return e;if(t&&(t=t.split(/[, ]/)),t){var i=r.dom,a=r.selection.getNode();e=e.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,function(e,n,r,o){var s=i.parseStyle(r,"span"),l={};if("none"===t)return n+o;for(var c=0;c<t.length;c++){var u=s[t[c]],d=i.getStyle(a,t[c],!0);/color/.test(t[c])&&(u=i.toHex(u),d=i.toHex(d)),d!=u&&(l[t[c]]=u)}return l=i.serializeStyle(l,"span"),l?n+' style="'+l+'"'+o:n+o})}else e=e.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,"$1$3");return e=e.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi,function(e,t,n,i){return t+' style="'+n+'"'+i})}e.webkit&&a(s),e.ie&&a(o)}}),i(y,[w,f,g,b],function(e,t,n,i){var r;e.add("paste",function(e){function a(){"text"==s.pasteFormat?(this.active(!1),s.pasteFormat="html"):(s.pasteFormat="text",this.active(!0),r||(e.windowManager.alert("Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off."),r=!0))}var o=this,s,l=e.settings;o.clipboard=s=new t(e),o.quirks=new i(e),o.wordFilter=new n(e),e.settings.paste_as_text&&(o.clipboard.pasteFormat="text"),l.paste_preprocess&&e.on("PastePreProcess",function(e){l.paste_preprocess.call(o,o,e)}),l.paste_postprocess&&e.on("PastePostProcess",function(e){l.paste_postprocess.call(o,o,e)}),e.addCommand("mceInsertClipboardContent",function(e,t){t.content&&o.clipboard.pasteHtml(t.content),t.text&&o.clipboard.pasteText(t.text)}),e.paste_block_drop&&e.on("dragend dragover draggesture dragdrop drop drag",function(e){e.preventDefault(),e.stopPropagation()}),e.settings.paste_data_images||e.on("drop",function(e){var t=e.dataTransfer;t&&t.files&&t.files.length>0&&e.preventDefault()}),e.addButton("pastetext",{icon:"pastetext",tooltip:"Paste as text",onclick:a,active:"text"==o.clipboard.pasteFormat}),e.addMenuItem("pastetext",{text:"Paste as text",selectable:!0,active:s.pasteFormat,onclick:a})})}),o([l,g])}(this);
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/tabfocus/plugin.js b/wp-includes/js/tinymce/plugins/tabfocus/plugin.js
index 0d81497f5..47ddfdee1 100644
--- a/wp-includes/js/tinymce/plugins/tabfocus/plugin.js
+++ b/wp-includes/js/tinymce/plugins/tabfocus/plugin.js
@@ -22,7 +22,7 @@ tinymce.PluginManager.add('tabfocus', function(editor) {
 	function tabHandler(e) {
 		var x, el, v, i;
 
-		if (e.keyCode !== 9 || e.ctrlKey || e.altKey || e.metaKey) {
+		if (e.keyCode !== 9 || e.ctrlKey || e.altKey || e.metaKey || e.isDefaultPrevented()) {
 			return;
 		}
 
@@ -112,13 +112,14 @@ tinymce.PluginManager.add('tabfocus', function(editor) {
 			// Remove default tabIndex in inline mode
 			tinymce.DOM.setAttrib(editor.getBody(), 'tabIndex', null);
 		}
-	});
 
-	editor.on('keyup', tabCancel);
+		editor.on('keyup', tabCancel);
 
-	if (tinymce.Env.gecko) {
-		editor.on('keypress keydown', tabHandler);
-	} else {
-		editor.on('keydown', tabHandler);
-	}
+		// Add later so other plugins can preventDefault()
+		if (tinymce.Env.gecko) {
+			editor.on('keypress keydown', tabHandler);
+		} else {
+			editor.on('keydown', tabHandler);
+		}
+	});
 });
diff --git a/wp-includes/js/tinymce/plugins/tabfocus/plugin.min.js b/wp-includes/js/tinymce/plugins/tabfocus/plugin.min.js
index 68fe35e35..2e6dbd1f6 100644
--- a/wp-includes/js/tinymce/plugins/tabfocus/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/tabfocus/plugin.min.js
@@ -1 +1 @@
-tinymce.PluginManager.add("tabfocus",function(e){function n(e){9!==e.keyCode||e.ctrlKey||e.altKey||e.metaKey||e.preventDefault()}function t(n){function t(n){function t(e){return"BODY"===e.nodeName||"hidden"!=e.type&&"none"!=e.style.display&&"hidden"!=e.style.visibility&&t(e.parentNode)}function r(e){return e.tabIndex||"INPUT"==e.nodeName||"TEXTAREA"==e.nodeName}function c(e){return!r(e)&&"-1"!=e.getAttribute("tabindex")&&t(e)}if(u=i.select(":input:enabled,*[tabindex]:not(iframe)"),o(u,function(n,t){return n.id==e.id?(a=t,!1):void 0}),n>0){for(d=a+1;d<u.length;d++)if(c(u[d]))return u[d]}else for(d=a-1;d>=0;d--)if(c(u[d]))return u[d];return null}var a,u,c,d;if(!(9!==n.keyCode||n.ctrlKey||n.altKey||n.metaKey)&&(c=r(e.getParam("tab_focus",e.getParam("tabfocus_elements",":prev,:next"))),1==c.length&&(c[1]=c[0],c[0]=":prev"),u=n.shiftKey?":prev"==c[0]?t(-1):i.get(c[0]):":next"==c[1]?t(1):i.get(c[1]))){var y=tinymce.get(u.id||u.name);u.id&&y?y.focus():window.setTimeout(function(){tinymce.Env.webkit||window.focus(),u.focus()},10),n.preventDefault()}}var i=tinymce.DOM,o=tinymce.each,r=tinymce.explode;e.on("init",function(){e.inline&&tinymce.DOM.setAttrib(e.getBody(),"tabIndex",null)}),e.on("keyup",n),tinymce.Env.gecko?e.on("keypress keydown",t):e.on("keydown",t)});
\ No newline at end of file
+tinymce.PluginManager.add("tabfocus",function(a){function b(a){9!==a.keyCode||a.ctrlKey||a.altKey||a.metaKey||a.preventDefault()}function c(b){function c(b){function c(a){return"BODY"===a.nodeName||"hidden"!=a.type&&"none"!=a.style.display&&"hidden"!=a.style.visibility&&c(a.parentNode)}function f(a){return a.tabIndex||"INPUT"==a.nodeName||"TEXTAREA"==a.nodeName}function i(a){return!f(a)&&"-1"!=a.getAttribute("tabindex")&&c(a)}if(h=d.select(":input:enabled,*[tabindex]:not(iframe)"),e(h,function(b,c){return b.id==a.id?(g=c,!1):void 0}),b>0){for(j=g+1;j<h.length;j++)if(i(h[j]))return h[j]}else for(j=g-1;j>=0;j--)if(i(h[j]))return h[j];return null}var g,h,i,j;if(!(9!==b.keyCode||b.ctrlKey||b.altKey||b.metaKey||b.isDefaultPrevented())&&(i=f(a.getParam("tab_focus",a.getParam("tabfocus_elements",":prev,:next"))),1==i.length&&(i[1]=i[0],i[0]=":prev"),h=b.shiftKey?":prev"==i[0]?c(-1):d.get(i[0]):":next"==i[1]?c(1):d.get(i[1]))){var k=tinymce.get(h.id||h.name);h.id&&k?k.focus():window.setTimeout(function(){tinymce.Env.webkit||window.focus(),h.focus()},10),b.preventDefault()}}var d=tinymce.DOM,e=tinymce.each,f=tinymce.explode;a.on("init",function(){a.inline&&tinymce.DOM.setAttrib(a.getBody(),"tabIndex",null),a.on("keyup",b),tinymce.Env.gecko?a.on("keypress keydown",c):a.on("keydown",c)})});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/textcolor/plugin.js b/wp-includes/js/tinymce/plugins/textcolor/plugin.js
index a3a01e790..b33988be8 100644
--- a/wp-includes/js/tinymce/plugins/textcolor/plugin.js
+++ b/wp-includes/js/tinymce/plugins/textcolor/plugin.js
@@ -12,6 +12,25 @@
 /*eslint consistent-this:0 */
 
 tinymce.PluginManager.add('textcolor', function(editor) {
+	var cols, rows;
+
+	rows = editor.settings.textcolor_rows || 5;
+	cols = editor.settings.textcolor_cols || 8;
+
+	function getCurrentColor(format) {
+		var color;
+
+		editor.dom.getParents(editor.selection.getStart(), function(elm) {
+			var value;
+
+			if ((value = elm.style[format == 'forecolor' ? 'color' : 'background-color'])) {
+				color = value;
+			}
+		});
+
+		return color;
+	}
+
 	function mapColors() {
 		var i, colors = [], colorMap;
 
@@ -46,22 +65,21 @@ tinymce.PluginManager.add('textcolor', function(editor) {
 			"00FF00", "Lime",
 			"00FFFF", "Aqua",
 			"00CCFF", "Sky blue",
-			"993366", "Brown",
-			"C0C0C0", "Silver",
+			"993366", "Red violet",
+			"FFFFFF", "White",
 			"FF99CC", "Pink",
 			"FFCC99", "Peach",
 			"FFFF99", "Light yellow",
 			"CCFFCC", "Pale green",
 			"CCFFFF", "Pale cyan",
 			"99CCFF", "Light sky blue",
-			"CC99FF", "Plum",
-			"FFFFFF", "White"
+			"CC99FF", "Plum"
 		];
 
 		for (i = 0; i < colorMap.length; i += 2) {
 			colors.push({
 				text: colorMap[i + 1],
-				color: colorMap[i]
+				color: '#' + colorMap[i]
 			});
 		}
 
@@ -69,14 +87,33 @@ tinymce.PluginManager.add('textcolor', function(editor) {
 	}
 
 	function renderColorPicker() {
-		var ctrl = this, colors, color, html, last, rows, cols, x, y, i;
+		var ctrl = this, colors, color, html, last, x, y, i, id = ctrl._id, count = 0;
+
+		function getColorCellHtml(color, title) {
+			var isNoColor = color == 'transparent';
+
+			return (
+				'<td class="mce-grid-cell' + (isNoColor ? ' mce-colorbtn-trans' : '') + '">' +
+					'<div id="' + id + '-' + (count++) + '"' +
+						' data-mce-color="' + (color ? color : '') + '"' +
+						' role="option"' +
+						' tabIndex="-1"' +
+						' style="' + (color ? 'background-color: ' + color : '') + '"' +
+						' title="' + tinymce.translate(title) + '">' +
+						(isNoColor ? '&#215;' : '') +
+					'</div>' +
+				'</td>'
+			);
+		}
 
 		colors = mapColors();
+		colors.push({
+			text: tinymce.translate("No color"),
+			color: "transparent"
+		});
 
 		html = '<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>';
 		last = colors.length - 1;
-		rows = editor.settings.textcolor_rows || 5;
-		cols = editor.settings.textcolor_cols || 8;
 
 		for (y = 0; y < rows; y++) {
 			html += '<tr>';
@@ -88,32 +125,98 @@ tinymce.PluginManager.add('textcolor', function(editor) {
 					html += '<td></td>';
 				} else {
 					color = colors[i];
-					html += (
-						'<td>' +
-							'<div id="' + ctrl._id + '-' + i + '"' +
-								' data-mce-color="' + color.color + '"' +
-								' role="option"' +
-								' tabIndex="-1"' +
-								' style="' + (color ? 'background-color: #' + color.color : '') + '"' +
-								' title="' + color.text + '">' +
-							'</div>' +
-						'</td>'
-					);
+					html += getColorCellHtml(color.color, color.text);
 				}
 			}
 
 			html += '</tr>';
 		}
 
+		if (editor.settings.color_picker_callback) {
+			html += (
+				'<tr>' +
+					'<td colspan="' + cols + '" class="mce-custom-color-btn">' +
+						'<div id="' + id + '-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" ' +
+							'role="button" tabindex="-1" aria-labelledby="' + id + '-c" style="width: 100%">' +
+							'<button type="button" role="presentation" tabindex="-1">' + tinymce.translate('Custom...') + '</button>' +
+						'</div>' +
+					'</td>' +
+				'</tr>'
+			);
+
+			html += '<tr>';
+
+			for (x = 0; x < cols; x++) {
+				html += getColorCellHtml('', 'Custom color');
+			}
+
+			html += '</tr>';
+		}
+
 		html += '</tbody></table>';
 
 		return html;
 	}
 
+	function applyFormat(format, value) {
+		editor.focus();
+		editor.formatter.apply(format, {value: value});
+		editor.nodeChanged();
+	}
+
+	function removeFormat(format) {
+		editor.focus();
+		editor.formatter.remove(format, {value: null}, null, true);
+		editor.nodeChanged();
+	}
+
 	function onPanelClick(e) {
 		var buttonCtrl = this.parent(), value;
 
-		if ((value = e.target.getAttribute('data-mce-color'))) {
+		function selectColor(value) {
+			buttonCtrl.hidePanel();
+			buttonCtrl.color(value);
+			applyFormat(buttonCtrl.settings.format, value);
+		}
+
+		function setDivColor(div, value) {
+			div.style.background = value;
+			div.setAttribute('data-mce-color', value);
+		}
+
+		if (tinymce.DOM.getParent(e.target, '.mce-custom-color-btn')) {
+			buttonCtrl.hidePanel();
+
+			editor.settings.color_picker_callback.call(editor, function(value) {
+				var tableElm = buttonCtrl.panel.getEl().getElementsByTagName('table')[0];
+				var customColorCells, div, i;
+
+				customColorCells = tinymce.map(tableElm.rows[tableElm.rows.length - 1].childNodes, function(elm) {
+					return elm.firstChild;
+				});
+
+				for (i = 0; i < customColorCells.length; i++) {
+					div = customColorCells[i];
+					if (!div.getAttribute('data-mce-color')) {
+						break;
+					}
+				}
+
+				// Shift colors to the right
+				// TODO: Might need to be the left on RTL
+				if (i == cols) {
+					for (i = 0; i < cols - 1; i++) {
+						setDivColor(customColorCells[i], customColorCells[i + 1].getAttribute('data-mce-color'));
+					}
+				}
+
+				setDivColor(div, value);
+				selectColor(value);
+			}, getCurrentColor(buttonCtrl.settings.format));
+		}
+
+		value = e.target.getAttribute('data-mce-color');
+		if (value) {
 			if (this.lastId) {
 				document.getElementById(this.lastId).setAttribute('aria-selected', false);
 			}
@@ -121,10 +224,15 @@ tinymce.PluginManager.add('textcolor', function(editor) {
 			e.target.setAttribute('aria-selected', true);
 			this.lastId = e.target.id;
 
+			if (value == 'transparent') {
+				removeFormat(buttonCtrl.settings.format);
+				buttonCtrl.hidePanel();
+				return;
+			}
+
+			selectColor(value);
+		} else if (value !== null) {
 			buttonCtrl.hidePanel();
-			value = '#' + value;
-			buttonCtrl.color(value);
-			editor.execCommand(buttonCtrl.settings.selectcmd, false, value);
 		}
 	}
 
@@ -132,14 +240,14 @@ tinymce.PluginManager.add('textcolor', function(editor) {
 		var self = this;
 
 		if (self._color) {
-			editor.execCommand(self.settings.selectcmd, false, self._color);
+			applyFormat(self.settings.format, self._color);
 		}
 	}
 
 	editor.addButton('forecolor', {
 		type: 'colorbutton',
 		tooltip: 'Text color',
-		selectcmd: 'ForeColor',
+		format: 'forecolor',
 		panel: {
 			role: 'application',
 			ariaRemember: true,
@@ -152,7 +260,7 @@ tinymce.PluginManager.add('textcolor', function(editor) {
 	editor.addButton('backcolor', {
 		type: 'colorbutton',
 		tooltip: 'Background color',
-		selectcmd: 'HiliteColor',
+		format: 'hilitecolor',
 		panel: {
 			role: 'application',
 			ariaRemember: true,
diff --git a/wp-includes/js/tinymce/plugins/textcolor/plugin.min.js b/wp-includes/js/tinymce/plugins/textcolor/plugin.min.js
index 8f49254de..e95134752 100644
--- a/wp-includes/js/tinymce/plugins/textcolor/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/textcolor/plugin.min.js
@@ -1 +1 @@
-tinymce.PluginManager.add("textcolor",function(e){function t(){var t,o,r=[];for(o=e.settings.textcolor_map||["000000","Black","993300","Burnt orange","333300","Dark olive","003300","Dark green","003366","Dark azure","000080","Navy Blue","333399","Indigo","333333","Very dark gray","800000","Maroon","FF6600","Orange","808000","Olive","008000","Green","008080","Teal","0000FF","Blue","666699","Grayish blue","808080","Gray","FF0000","Red","FF9900","Amber","99CC00","Yellow green","339966","Sea green","33CCCC","Turquoise","3366FF","Royal blue","800080","Purple","999999","Medium gray","FF00FF","Magenta","FFCC00","Gold","FFFF00","Yellow","00FF00","Lime","00FFFF","Aqua","00CCFF","Sky blue","993366","Brown","C0C0C0","Silver","FF99CC","Pink","FFCC99","Peach","FFFF99","Light yellow","CCFFCC","Pale green","CCFFFF","Pale cyan","99CCFF","Light sky blue","CC99FF","Plum","FFFFFF","White"],t=0;t<o.length;t+=2)r.push({text:o[t+1],color:o[t]});return r}function o(){var o,r,l,a,c,i,n,F,d,s=this;for(o=t(),l='<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>',a=o.length-1,c=e.settings.textcolor_rows||5,i=e.settings.textcolor_cols||8,F=0;c>F;F++){for(l+="<tr>",n=0;i>n;n++)d=F*i+n,d>a?l+="<td></td>":(r=o[d],l+='<td><div id="'+s._id+"-"+d+'" data-mce-color="'+r.color+'" role="option" tabIndex="-1" style="'+(r?"background-color: #"+r.color:"")+'" title="'+r.text+'"></div></td>');l+="</tr>"}return l+="</tbody></table>"}function r(t){var o,r=this.parent();(o=t.target.getAttribute("data-mce-color"))&&(this.lastId&&document.getElementById(this.lastId).setAttribute("aria-selected",!1),t.target.setAttribute("aria-selected",!0),this.lastId=t.target.id,r.hidePanel(),o="#"+o,r.color(o),e.execCommand(r.settings.selectcmd,!1,o))}function l(){var t=this;t._color&&e.execCommand(t.settings.selectcmd,!1,t._color)}e.addButton("forecolor",{type:"colorbutton",tooltip:"Text color",selectcmd:"ForeColor",panel:{role:"application",ariaRemember:!0,html:o,onclick:r},onclick:l}),e.addButton("backcolor",{type:"colorbutton",tooltip:"Background color",selectcmd:"HiliteColor",panel:{role:"application",ariaRemember:!0,html:o,onclick:r},onclick:l})});
\ No newline at end of file
+tinymce.PluginManager.add("textcolor",function(t){function e(e){var o;return t.dom.getParents(t.selection.getStart(),function(t){var r;(r=t.style["forecolor"==e?"color":"background-color"])&&(o=r)}),o}function o(){var e,o,r=[];for(o=t.settings.textcolor_map||["000000","Black","993300","Burnt orange","333300","Dark olive","003300","Dark green","003366","Dark azure","000080","Navy Blue","333399","Indigo","333333","Very dark gray","800000","Maroon","FF6600","Orange","808000","Olive","008000","Green","008080","Teal","0000FF","Blue","666699","Grayish blue","808080","Gray","FF0000","Red","FF9900","Amber","99CC00","Yellow green","339966","Sea green","33CCCC","Turquoise","3366FF","Royal blue","800080","Purple","999999","Medium gray","FF00FF","Magenta","FFCC00","Gold","FFFF00","Yellow","00FF00","Lime","00FFFF","Aqua","00CCFF","Sky blue","993366","Red violet","FFFFFF","White","FF99CC","Pink","FFCC99","Peach","FFFF99","Light yellow","CCFFCC","Pale green","CCFFFF","Pale cyan","99CCFF","Light sky blue","CC99FF","Plum"],e=0;e<o.length;e+=2)r.push({text:o[e+1],color:"#"+o[e]});return r}function r(){function e(t,e){var o="transparent"==t;return'<td class="mce-grid-cell'+(o?" mce-colorbtn-trans":"")+'"><div id="'+m+"-"+F++ +'" data-mce-color="'+(t?t:"")+'" role="option" tabIndex="-1" style="'+(t?"background-color: "+t:"")+'" title="'+tinymce.translate(e)+'">'+(o?"&#215;":"")+"</div></td>"}var r,l,a,n,c,d,u,g=this,m=g._id,F=0;for(r=o(),r.push({text:tinymce.translate("No color"),color:"transparent"}),a='<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>',n=r.length-1,d=0;s>d;d++){for(a+="<tr>",c=0;i>c;c++)u=d*i+c,u>n?a+="<td></td>":(l=r[u],a+=e(l.color,l.text));a+="</tr>"}if(t.settings.color_picker_callback){for(a+='<tr><td colspan="'+i+'" class="mce-custom-color-btn"><div id="'+m+'-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" role="button" tabindex="-1" aria-labelledby="'+m+'-c" style="width: 100%"><button type="button" role="presentation" tabindex="-1">'+tinymce.translate("Custom...")+"</button></div></td></tr>",a+="<tr>",c=0;i>c;c++)a+=e("","Custom color");a+="</tr>"}return a+="</tbody></table>"}function l(e,o){t.focus(),t.formatter.apply(e,{value:o}),t.nodeChanged()}function a(e){t.focus(),t.formatter.remove(e,{value:null},null,!0),t.nodeChanged()}function n(o){function r(t){s.hidePanel(),s.color(t),l(s.settings.format,t)}function n(t,e){t.style.background=e,t.setAttribute("data-mce-color",e)}var c,s=this.parent();if(tinymce.DOM.getParent(o.target,".mce-custom-color-btn")&&(s.hidePanel(),t.settings.color_picker_callback.call(t,function(t){var e,o,l,a=s.panel.getEl().getElementsByTagName("table")[0];for(e=tinymce.map(a.rows[a.rows.length-1].childNodes,function(t){return t.firstChild}),l=0;l<e.length&&(o=e[l],o.getAttribute("data-mce-color"));l++);if(l==i)for(l=0;i-1>l;l++)n(e[l],e[l+1].getAttribute("data-mce-color"));n(o,t),r(t)},e(s.settings.format))),c=o.target.getAttribute("data-mce-color")){if(this.lastId&&document.getElementById(this.lastId).setAttribute("aria-selected",!1),o.target.setAttribute("aria-selected",!0),this.lastId=o.target.id,"transparent"==c)return a(s.settings.format),void s.hidePanel();r(c)}else null!==c&&s.hidePanel()}function c(){var t=this;t._color&&l(t.settings.format,t._color)}var i,s;s=t.settings.textcolor_rows||5,i=t.settings.textcolor_cols||8,t.addButton("forecolor",{type:"colorbutton",tooltip:"Text color",format:"forecolor",panel:{role:"application",ariaRemember:!0,html:r,onclick:n},onclick:c}),t.addButton("backcolor",{type:"colorbutton",tooltip:"Background color",format:"hilitecolor",panel:{role:"application",ariaRemember:!0,html:r,onclick:n},onclick:c})});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wordpress/plugin.js b/wp-includes/js/tinymce/plugins/wordpress/plugin.js
index b79146ac0..15f0ccf54 100644
--- a/wp-includes/js/tinymce/plugins/wordpress/plugin.js
+++ b/wp-includes/js/tinymce/plugins/wordpress/plugin.js
@@ -38,8 +38,11 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
 		});
 
 		if ( pixels && ! initial ) {
-			iframe = editor.getContentAreaContainer().firstChild;
-			DOM.setStyle( iframe, 'height', iframe.clientHeight + pixels ); // Resize iframe
+			// Resize iframe, not needed in iOS
+			if ( ! tinymce.Env.iOS ) {
+				iframe = editor.getContentAreaContainer().firstChild;
+				DOM.setStyle( iframe, 'height', iframe.clientHeight + pixels );
+			}
 
 			if ( state === 'hide' ) {
 				setUserSetting('hidetb', '0');
@@ -49,6 +52,8 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
 				wpAdvButton && wpAdvButton.active( true );
 			}
 		}
+
+		editor.fire( 'wp-toolbar-toggle' );
 	}
 
 	// Add the kitchen sink button :)
@@ -78,18 +83,24 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
 
 	// Replace Read More/Next Page tags with images
 	editor.on( 'BeforeSetContent', function( e ) {
+		var title;
+
 		if ( e.content ) {
 			if ( e.content.indexOf( '<!--more' ) !== -1 ) {
+				title = editor.editorManager.i18n.translate( 'Read more...' );
+
 				e.content = e.content.replace( /<!--more(.*?)-->/g, function( match, moretext ) {
-					return '<img src="' + tinymce.Env.transparentSrc + '" data-wp-more="' + moretext + '" ' +
-						'class="wp-more-tag mce-wp-more" title="Read More..." data-mce-resize="false" data-mce-placeholder="1" />';
+					return '<img src="' + tinymce.Env.transparentSrc + '" data-wp-more="more" data-wp-more-text="' + moretext + '" ' +
+						'class="wp-more-tag mce-wp-more" title="' + title + '" data-mce-resize="false" data-mce-placeholder="1" />';
 				});
 			}
 
 			if ( e.content.indexOf( '<!--nextpage-->' ) !== -1 ) {
+				title = editor.editorManager.i18n.translate( 'Page break' );
+
 				e.content = e.content.replace( /<!--nextpage-->/g,
-					'<img src="' + tinymce.Env.transparentSrc + '" class="wp-more-tag mce-wp-nextpage" ' +
-						'title="Page break" data-mce-resize="false" data-mce-placeholder="1" />' );
+					'<img src="' + tinymce.Env.transparentSrc + '" data-wp-more="nextpage" class="wp-more-tag mce-wp-nextpage" ' +
+						'title="' + title + '" data-mce-resize="false" data-mce-placeholder="1" />' );
 			}
 		}
 	});
@@ -100,16 +111,14 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
 			e.content = e.content.replace(/<img[^>]+>/g, function( image ) {
 				var match, moretext = '';
 
-				if ( image.indexOf('wp-more-tag') !== -1 ) {
-					if ( image.indexOf('mce-wp-more') !== -1 ) {
-						if ( match = image.match( /data-wp-more="([^"]+)"/ ) ) {
-							moretext = match[1];
-						}
-
-						image = '<!--more' + moretext + '-->';
-					} else if ( image.indexOf('mce-wp-nextpage') !== -1 ) {
-						image = '<!--nextpage-->';
+				if ( image.indexOf( 'data-wp-more="more"' ) !== -1 ) {
+					if ( match = image.match( /data-wp-more-text="([^"]+)"/ ) ) {
+						moretext = match[1];
 					}
+
+					image = '<!--more' + moretext + '-->';
+				} else if ( image.indexOf( 'data-wp-more="nextpage"' ) !== -1 ) {
+					image = '<!--nextpage-->';
 				}
 
 				return image;
@@ -118,16 +127,11 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
 	});
 
 	// Display the tag name instead of img in element path
-	editor.on( 'ResolveName', function( e ) {
-		var dom = editor.dom,
-			target = e.target;
-
-		if ( target.nodeName === 'IMG' && dom.hasClass( target, 'wp-more-tag' ) ) {
-			if ( dom.hasClass( target, 'mce-wp-more' ) ) {
-				e.name = 'more';
-			} else if ( dom.hasClass( target, 'mce-wp-nextpage' ) ) {
-				e.name = 'nextpage';
-			}
+	editor.on( 'ResolveName', function( event ) {
+		var attr;
+
+		if ( event.target.nodeName === 'IMG' && ( attr = editor.dom.getAttrib( event.target, 'data-wp-more' ) ) ) {
+			event.name = attr;
 		}
 	});
 
@@ -140,9 +144,10 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
 
 		tag = tag || 'more';
 		classname += ' mce-wp-' + tag;
-		title = tag === 'more' ? 'More...' : 'Next Page';
+		title = tag === 'more' ? 'Read more...' : 'Next page';
+		title = editor.editorManager.i18n.translate( title );
 		html = '<img src="' + tinymce.Env.transparentSrc + '" title="' + title + '" class="' + classname + '" ' +
-			'data-mce-resize="false" data-mce-placeholder="1" />';
+			'data-wp-more="' + tag + '" data-mce-resize="false" data-mce-placeholder="1" />';
 
 		// Most common case
 		if ( node.nodeName === 'BODY' || ( node.nodeName === 'P' && node.parentNode.nodeName === 'BODY' ) ) {
@@ -277,6 +282,10 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
 			doc = editor.getDoc(),
 			dom = editor.dom;
 
+		if ( tinymce.Env.iOS ) {
+			dom.addClass( doc.documentElement, 'ios' );
+		}
+
 		if ( editor.getParam( 'directionality' ) === 'rtl' ) {
 			bodyClass.push('rtl');
 			dom.setAttrib( doc.documentElement, 'dir', 'rtl' );
@@ -290,6 +299,8 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
 			} else if ( env.ie < 8 ) {
 				bodyClass.push('ie7');
 			}
+		} else if ( env.webkit ) {
+			bodyClass.push('webkit');
 		}
 
 		bodyClass.push('wp-editor');
@@ -321,6 +332,28 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
 				}
 			});
 		}
+
+		if ( editor.getParam( 'wp_paste_filters', true ) ) {
+			if ( ! tinymce.Env.webkit ) {
+				// In WebKit handled by removeWebKitStyles()
+				editor.on( 'PastePreProcess', function( event ) {
+					// Remove all inline styles
+					event.content = event.content.replace( /(<[^>]+) style="[^"]*"([^>]*>)/gi, '$1$2' );
+
+					// Put back the internal styles
+					event.content = event.content.replace(/(<[^>]+) data-mce-style=([^>]+>)/gi, '$1 style=$2' );
+				});
+			}
+
+			editor.on( 'PastePostProcess', function( event ) {
+				// Remove empty paragraphs
+				tinymce.each( dom.select( 'p', event.node ), function( node ) {
+					if ( dom.isEmpty( node ) ) {
+						dom.remove( node );
+					}
+				});
+			});
+		}
 	});
 
 	// Word count
@@ -342,22 +375,33 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
 
 	editor.on( 'SaveContent', function( e ) {
 		// If editor is hidden, we just want the textarea's value to be saved
-		if ( editor.isHidden() ) {
+		if ( ! editor.inline && editor.isHidden() ) {
 			e.content = e.element.value;
 			return;
 		}
 
 		// Keep empty paragraphs :(
-		e.content = e.content.replace( /<p>(<br ?\/?>|\u00a0|\uFEFF)?<\/p>/g, '<p>&nbsp;</p>' );
+		e.content = e.content.replace( /<p>(?:<br ?\/?>|\u00a0|\uFEFF| )*<\/p>/g, '<p>&nbsp;</p>' );
 
 		if ( editor.getParam( 'wpautop', true ) && typeof window.switchEditors !== 'undefined' ) {
 			e.content = window.switchEditors.pre_wpautop( e.content );
 		}
 	});
 
+	// Remove spaces from empty paragraphs.
+	editor.on( 'BeforeSetContent', function( event ) {
+		if ( event.content ) {
+			event.content = event.content.replace( /<p>(?:&nbsp;|\u00a0|\uFEFF| )+<\/p>/gi, '<p></p>' );
+		}
+	});
+
 	editor.on( 'preInit', function() {
 		// Don't replace <i> with <em> and <b> with <strong> and don't remove them when empty
 		editor.schema.addValidElements( '@[id|accesskey|class|dir|lang|style|tabindex|title|contenteditable|draggable|dropzone|hidden|spellcheck|translate],i,b' );
+
+		if ( tinymce.Env.iOS ) {
+			editor.settings.height = 300;
+		}
 	});
 
 	// Add custom shortcuts
diff --git a/wp-includes/js/tinymce/plugins/wordpress/plugin.min.js b/wp-includes/js/tinymce/plugins/wordpress/plugin.min.js
index c391dcc2b..55b3eb6e1 100644
--- a/wp-includes/js/tinymce/plugins/wordpress/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/wordpress/plugin.min.js
@@ -1 +1 @@
-tinymce.ui.FloatPanel.zIndex=100100,tinymce.PluginManager.add("wordpress",function(a){function b(b){var c,d,e,f=0;d="hide"===b,a.theme.panel&&(e=a.theme.panel.find(".toolbar:not(.menubar)")),!e||e.length<2||"hide"===b&&!e[1].visible()||(!b&&e[1].visible()&&(b="hide"),tinymce.each(e,function(a,c){c>0&&("hide"===b?(a.hide(),f+=30):(a.show(),f-=30))}),f&&!d&&(c=a.getContentAreaContainer().firstChild,j.setStyle(c,"height",c.clientHeight+f),"hide"===b?(setUserSetting("hidetb","0"),g&&g.active(!1)):(setUserSetting("hidetb","1"),g&&g.active(!0))))}function c(a){return a.replace(/\[embed\]([\s\S]+?)\[\/embed\][\s\u00a0]*/g,function(a,b){return'<img width="300" height="200" src="'+tinymce.Env.transparentSrc+'" class="wp-oembed" alt="'+b+'" title="'+b+'" data-mce-resize="false" data-mce-placeholder="1" />'})}function d(a){return a.replace(/<img[^>]+>/g,function(a){if(-1!==a.indexOf('class="wp-oembed')){var b=a.match(/alt="([^\"]+)"/);b[1]&&(a="[embed]"+b[1]+"[/embed]")}return a})}function e(b,c){var d,e,f,g,h;f=a.dom.getViewPort(a.getWin()),d=j.getPos(a.getContentAreaContainer()),e=a.dom.getPos(b),g=Math.max(e.x-f.x,0)+d.x,h=Math.max(e.y-f.y,0)+d.y,j.setStyles(c,{top:h+5+"px",left:g+5+"px",display:"block"})}function f(){j.hide(j.select("#wp_editbtns, #wp_gallerybtns"))}var g,h,i,j=tinymce.DOM,k=0;return a.addButton("wp_adv",{tooltip:"Toolbar Toggle",cmd:"WP_Adv",onPostRender:function(){g=this,g.active("1"===getUserSetting("hidetb")?!0:!1)}}),a.on("PostRender",function(){a.getParam("wordpress_adv_hidden",!0)&&"0"===getUserSetting("hidetb","0")&&b("hide")}),a.addCommand("WP_Adv",function(){b()}),a.on("focus",function(){window.wpActiveEditor=a.id}),a.on("BeforeSetContent",function(a){a.content&&(-1!==a.content.indexOf("<!--more")&&(a.content=a.content.replace(/<!--more(.*?)-->/g,function(a,b){return'<img src="'+tinymce.Env.transparentSrc+'" data-wp-more="'+b+'" class="wp-more-tag mce-wp-more" title="Read More..." data-mce-resize="false" data-mce-placeholder="1" />'})),-1!==a.content.indexOf("<!--nextpage-->")&&(a.content=a.content.replace(/<!--nextpage-->/g,'<img src="'+tinymce.Env.transparentSrc+'" class="wp-more-tag mce-wp-nextpage" title="Page break" data-mce-resize="false" data-mce-placeholder="1" />')))}),a.on("PostProcess",function(a){a.get&&(a.content=a.content.replace(/<img[^>]+>/g,function(a){var b,c="";return-1!==a.indexOf("wp-more-tag")&&(-1!==a.indexOf("mce-wp-more")?((b=a.match(/data-wp-more="([^"]+)"/))&&(c=b[1]),a="<!--more"+c+"-->"):-1!==a.indexOf("mce-wp-nextpage")&&(a="<!--nextpage-->")),a}))}),a.on("ResolveName",function(b){var c=a.dom,d=b.target;"IMG"===d.nodeName&&c.hasClass(d,"wp-more-tag")&&(c.hasClass(d,"mce-wp-more")?b.name="more":c.hasClass(d,"mce-wp-nextpage")&&(b.name="nextpage"))}),a.addCommand("WP_More",function(b){var c,d,e,f="wp-more-tag",g=a.dom,h=a.selection.getNode();return b=b||"more",f+=" mce-wp-"+b,e="more"===b?"More...":"Next Page",d='<img src="'+tinymce.Env.transparentSrc+'" title="'+e+'" class="'+f+'" data-mce-resize="false" data-mce-placeholder="1" />',"BODY"===h.nodeName||"P"===h.nodeName&&"BODY"===h.parentNode.nodeName?void a.insertContent(d):(c=g.getParent(h,function(a){return a.parentNode&&"BODY"===a.parentNode.nodeName?!0:!1},a.getBody()),void(c&&("P"===c.nodeName?c.appendChild(g.create("p",null,d).firstChild):g.insertAfter(g.create("p",null,d),c),a.nodeChanged())))}),a.addCommand("WP_Code",function(){a.formatter.toggle("code")}),a.addCommand("WP_Page",function(){a.execCommand("WP_More","nextpage")}),a.addCommand("WP_Help",function(){a.windowManager.open({url:tinymce.baseURL+"/wp-mce-help.php",title:"Keyboard Shortcuts",width:450,height:420,inline:1,classes:"wp-help"})}),a.addCommand("WP_Medialib",function(){"undefined"!=typeof wp&&wp.media&&wp.media.editor&&wp.media.editor.open(a.id)}),a.addButton("wp_more",{tooltip:"Insert Read More tag",onclick:function(){a.execCommand("WP_More","more")}}),a.addButton("wp_page",{tooltip:"Page break",onclick:function(){a.execCommand("WP_More","nextpage")}}),a.addButton("wp_help",{tooltip:"Keyboard Shortcuts",cmd:"WP_Help"}),a.addButton("wp_code",{tooltip:"Code",cmd:"WP_Code",stateSelector:"code"}),"undefined"!=typeof wp&&wp.media&&wp.media.editor&&a.addMenuItem("add_media",{text:"Add Media",icon:"wp-media-library",context:"insert",cmd:"WP_Medialib"}),a.addMenuItem("wp_more",{text:"Insert Read More tag",icon:"wp_more",context:"insert",onclick:function(){a.execCommand("WP_More","more")}}),a.addMenuItem("wp_page",{text:"Page break",icon:"wp_page",context:"insert",onclick:function(){a.execCommand("WP_More","nextpage")}}),a.on("BeforeExecCommand",function(b){!tinymce.Env.webkit||"InsertUnorderedList"!==b.command&&"InsertOrderedList"!==b.command||(i||(i=a.dom.create("style",{type:"text/css"},"#tinymce,#tinymce span,#tinymce li,#tinymce li>span,#tinymce p,#tinymce p>span{font:medium sans-serif;color:#000;line-height:normal;}")),a.getDoc().head.appendChild(i))}),a.on("ExecCommand",function(b){tinymce.Env.webkit&&i&&("InsertUnorderedList"===b.command||"InsertOrderedList"===b.command)&&a.dom.remove(i)}),a.on("init",function(){var b=tinymce.Env,c=["mceContentBody"],d=a.getDoc(),e=a.dom;"rtl"===a.getParam("directionality")&&(c.push("rtl"),e.setAttrib(d.documentElement,"dir","rtl")),b.ie&&(9===parseInt(b.ie,10)?c.push("ie9"):8===parseInt(b.ie,10)?c.push("ie8"):b.ie<8&&c.push("ie7")),c.push("wp-editor"),tinymce.each(c,function(a){a&&e.addClass(d.body,a)}),a.on("BeforeSetContent",function(a){a.content&&(a.content=a.content.replace(/<p>\s*<(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)( [^>]*)?>/gi,"<$1$2>"),a.content=a.content.replace(/<\/(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)>\s*<\/p>/gi,"</$1>"))}),"undefined"!=typeof window.jQuery&&window.jQuery(document).triggerHandler("tinymce-editor-init",[a]),window.tinyMCEPreInit&&window.tinyMCEPreInit.dragDropUpload&&e.bind(d,"dragstart dragend dragover drop",function(a){"undefined"!=typeof window.jQuery&&window.jQuery(document).trigger(new window.jQuery.Event(a))})}),"undefined"!=typeof window.jQuery&&a.on("keyup",function(b){var c=b.keyCode||b.charCode;c!==k&&((13===c||8===k||46===k)&&window.jQuery(document).triggerHandler("wpcountwords",[a.getContent({format:"raw"})]),k=c)}),a.on("SaveContent",function(b){return a.isHidden()?void(b.content=b.element.value):(b.content=b.content.replace(/<p>(<br ?\/?>|\u00a0|\uFEFF)?<\/p>/g,"<p>&nbsp;</p>"),void(a.getParam("wpautop",!0)&&"undefined"!=typeof window.switchEditors&&(b.content=window.switchEditors.pre_wpautop(b.content))))}),a.on("preInit",function(){a.schema.addValidElements("@[id|accesskey|class|dir|lang|style|tabindex|title|contenteditable|draggable|dropzone|hidden|spellcheck|translate],i,b")}),h="alt+shift",a.addShortcut(h+"+c","","JustifyCenter"),a.addShortcut(h+"+r","","JustifyRight"),a.addShortcut(h+"+l","","JustifyLeft"),a.addShortcut(h+"+j","","JustifyFull"),a.addShortcut(h+"+q","","mceBlockQuote"),a.addShortcut(h+"+u","","InsertUnorderedList"),a.addShortcut(h+"+o","","InsertOrderedList"),a.addShortcut(h+"+n","","mceSpellCheck"),a.addShortcut(h+"+s","","unlink"),a.addShortcut(h+"+m","","WP_Medialib"),a.addShortcut(h+"+z","","WP_Adv"),a.addShortcut(h+"+t","","WP_More"),a.addShortcut(h+"+d","","Strikethrough"),a.addShortcut(h+"+h","","WP_Help"),a.addShortcut(h+"+p","","WP_Page"),a.addShortcut(h+"+x","","WP_Code"),a.addShortcut("ctrl+s","",function(){"undefined"!=typeof wp&&wp.autosave&&wp.autosave.server.triggerSave()}),a.on("init",function(){a.dom.bind(a.getWin(),"scroll",function(){f()}),a.dom.bind(a.getBody(),"dragstart",function(){f()})}),a.on("BeforeExecCommand",function(){f()}),a.on("SaveContent",function(){f()}),a.on("MouseDown",function(a){"IMG"!==a.target.nodeName&&f()}),a.on("keydown",function(a){(a.which===tinymce.util.VK.DELETE||a.which===tinymce.util.VK.BACKSPACE)&&f()}),{_showButtons:e,_hideButtons:f,_setEmbed:c,_getEmbed:d}});
\ No newline at end of file
+tinymce.ui.FloatPanel.zIndex=100100,tinymce.PluginManager.add("wordpress",function(a){function b(b){var c,d,e,f=0;d="hide"===b,a.theme.panel&&(e=a.theme.panel.find(".toolbar:not(.menubar)")),!e||e.length<2||"hide"===b&&!e[1].visible()||(!b&&e[1].visible()&&(b="hide"),tinymce.each(e,function(a,c){c>0&&("hide"===b?(a.hide(),f+=30):(a.show(),f-=30))}),f&&!d&&(tinymce.Env.iOS||(c=a.getContentAreaContainer().firstChild,j.setStyle(c,"height",c.clientHeight+f)),"hide"===b?(setUserSetting("hidetb","0"),g&&g.active(!1)):(setUserSetting("hidetb","1"),g&&g.active(!0))),a.fire("wp-toolbar-toggle"))}function c(a){return a.replace(/\[embed\]([\s\S]+?)\[\/embed\][\s\u00a0]*/g,function(a,b){return'<img width="300" height="200" src="'+tinymce.Env.transparentSrc+'" class="wp-oembed" alt="'+b+'" title="'+b+'" data-mce-resize="false" data-mce-placeholder="1" />'})}function d(a){return a.replace(/<img[^>]+>/g,function(a){if(-1!==a.indexOf('class="wp-oembed')){var b=a.match(/alt="([^\"]+)"/);b[1]&&(a="[embed]"+b[1]+"[/embed]")}return a})}function e(b,c){var d,e,f,g,h;f=a.dom.getViewPort(a.getWin()),d=j.getPos(a.getContentAreaContainer()),e=a.dom.getPos(b),g=Math.max(e.x-f.x,0)+d.x,h=Math.max(e.y-f.y,0)+d.y,j.setStyles(c,{top:h+5+"px",left:g+5+"px",display:"block"})}function f(){j.hide(j.select("#wp_editbtns, #wp_gallerybtns"))}var g,h,i,j=tinymce.DOM,k=0;return a.addButton("wp_adv",{tooltip:"Toolbar Toggle",cmd:"WP_Adv",onPostRender:function(){g=this,g.active("1"===getUserSetting("hidetb")?!0:!1)}}),a.on("PostRender",function(){a.getParam("wordpress_adv_hidden",!0)&&"0"===getUserSetting("hidetb","0")&&b("hide")}),a.addCommand("WP_Adv",function(){b()}),a.on("focus",function(){window.wpActiveEditor=a.id}),a.on("BeforeSetContent",function(b){var c;b.content&&(-1!==b.content.indexOf("<!--more")&&(c=a.editorManager.i18n.translate("Read more..."),b.content=b.content.replace(/<!--more(.*?)-->/g,function(a,b){return'<img src="'+tinymce.Env.transparentSrc+'" data-wp-more="more" data-wp-more-text="'+b+'" class="wp-more-tag mce-wp-more" title="'+c+'" data-mce-resize="false" data-mce-placeholder="1" />'})),-1!==b.content.indexOf("<!--nextpage-->")&&(c=a.editorManager.i18n.translate("Page break"),b.content=b.content.replace(/<!--nextpage-->/g,'<img src="'+tinymce.Env.transparentSrc+'" data-wp-more="nextpage" class="wp-more-tag mce-wp-nextpage" title="'+c+'" data-mce-resize="false" data-mce-placeholder="1" />')))}),a.on("PostProcess",function(a){a.get&&(a.content=a.content.replace(/<img[^>]+>/g,function(a){var b,c="";return-1!==a.indexOf('data-wp-more="more"')?((b=a.match(/data-wp-more-text="([^"]+)"/))&&(c=b[1]),a="<!--more"+c+"-->"):-1!==a.indexOf('data-wp-more="nextpage"')&&(a="<!--nextpage-->"),a}))}),a.on("ResolveName",function(b){var c;"IMG"===b.target.nodeName&&(c=a.dom.getAttrib(b.target,"data-wp-more"))&&(b.name=c)}),a.addCommand("WP_More",function(b){var c,d,e,f="wp-more-tag",g=a.dom,h=a.selection.getNode();return b=b||"more",f+=" mce-wp-"+b,e="more"===b?"Read more...":"Next page",e=a.editorManager.i18n.translate(e),d='<img src="'+tinymce.Env.transparentSrc+'" title="'+e+'" class="'+f+'" data-wp-more="'+b+'" data-mce-resize="false" data-mce-placeholder="1" />',"BODY"===h.nodeName||"P"===h.nodeName&&"BODY"===h.parentNode.nodeName?void a.insertContent(d):(c=g.getParent(h,function(a){return a.parentNode&&"BODY"===a.parentNode.nodeName?!0:!1},a.getBody()),void(c&&("P"===c.nodeName?c.appendChild(g.create("p",null,d).firstChild):g.insertAfter(g.create("p",null,d),c),a.nodeChanged())))}),a.addCommand("WP_Code",function(){a.formatter.toggle("code")}),a.addCommand("WP_Page",function(){a.execCommand("WP_More","nextpage")}),a.addCommand("WP_Help",function(){a.windowManager.open({url:tinymce.baseURL+"/wp-mce-help.php",title:"Keyboard Shortcuts",width:450,height:420,inline:1,classes:"wp-help"})}),a.addCommand("WP_Medialib",function(){"undefined"!=typeof wp&&wp.media&&wp.media.editor&&wp.media.editor.open(a.id)}),a.addButton("wp_more",{tooltip:"Insert Read More tag",onclick:function(){a.execCommand("WP_More","more")}}),a.addButton("wp_page",{tooltip:"Page break",onclick:function(){a.execCommand("WP_More","nextpage")}}),a.addButton("wp_help",{tooltip:"Keyboard Shortcuts",cmd:"WP_Help"}),a.addButton("wp_code",{tooltip:"Code",cmd:"WP_Code",stateSelector:"code"}),"undefined"!=typeof wp&&wp.media&&wp.media.editor&&a.addMenuItem("add_media",{text:"Add Media",icon:"wp-media-library",context:"insert",cmd:"WP_Medialib"}),a.addMenuItem("wp_more",{text:"Insert Read More tag",icon:"wp_more",context:"insert",onclick:function(){a.execCommand("WP_More","more")}}),a.addMenuItem("wp_page",{text:"Page break",icon:"wp_page",context:"insert",onclick:function(){a.execCommand("WP_More","nextpage")}}),a.on("BeforeExecCommand",function(b){!tinymce.Env.webkit||"InsertUnorderedList"!==b.command&&"InsertOrderedList"!==b.command||(i||(i=a.dom.create("style",{type:"text/css"},"#tinymce,#tinymce span,#tinymce li,#tinymce li>span,#tinymce p,#tinymce p>span{font:medium sans-serif;color:#000;line-height:normal;}")),a.getDoc().head.appendChild(i))}),a.on("ExecCommand",function(b){tinymce.Env.webkit&&i&&("InsertUnorderedList"===b.command||"InsertOrderedList"===b.command)&&a.dom.remove(i)}),a.on("init",function(){var b=tinymce.Env,c=["mceContentBody"],d=a.getDoc(),e=a.dom;tinymce.Env.iOS&&e.addClass(d.documentElement,"ios"),"rtl"===a.getParam("directionality")&&(c.push("rtl"),e.setAttrib(d.documentElement,"dir","rtl")),b.ie?9===parseInt(b.ie,10)?c.push("ie9"):8===parseInt(b.ie,10)?c.push("ie8"):b.ie<8&&c.push("ie7"):b.webkit&&c.push("webkit"),c.push("wp-editor"),tinymce.each(c,function(a){a&&e.addClass(d.body,a)}),a.on("BeforeSetContent",function(a){a.content&&(a.content=a.content.replace(/<p>\s*<(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)( [^>]*)?>/gi,"<$1$2>"),a.content=a.content.replace(/<\/(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)>\s*<\/p>/gi,"</$1>"))}),"undefined"!=typeof window.jQuery&&window.jQuery(document).triggerHandler("tinymce-editor-init",[a]),window.tinyMCEPreInit&&window.tinyMCEPreInit.dragDropUpload&&e.bind(d,"dragstart dragend dragover drop",function(a){"undefined"!=typeof window.jQuery&&window.jQuery(document).trigger(new window.jQuery.Event(a))}),a.getParam("wp_paste_filters",!0)&&(tinymce.Env.webkit||a.on("PastePreProcess",function(a){a.content=a.content.replace(/(<[^>]+) style="[^"]*"([^>]*>)/gi,"$1$2"),a.content=a.content.replace(/(<[^>]+) data-mce-style=([^>]+>)/gi,"$1 style=$2")}),a.on("PastePostProcess",function(a){tinymce.each(e.select("p",a.node),function(a){e.isEmpty(a)&&e.remove(a)})}))}),"undefined"!=typeof window.jQuery&&a.on("keyup",function(b){var c=b.keyCode||b.charCode;c!==k&&((13===c||8===k||46===k)&&window.jQuery(document).triggerHandler("wpcountwords",[a.getContent({format:"raw"})]),k=c)}),a.on("SaveContent",function(b){return!a.inline&&a.isHidden()?void(b.content=b.element.value):(b.content=b.content.replace(/<p>(?:<br ?\/?>|\u00a0|\uFEFF| )*<\/p>/g,"<p>&nbsp;</p>"),void(a.getParam("wpautop",!0)&&"undefined"!=typeof window.switchEditors&&(b.content=window.switchEditors.pre_wpautop(b.content))))}),a.on("BeforeSetContent",function(a){a.content&&(a.content=a.content.replace(/<p>(?:&nbsp;|\u00a0|\uFEFF| )+<\/p>/gi,"<p></p>"))}),a.on("preInit",function(){a.schema.addValidElements("@[id|accesskey|class|dir|lang|style|tabindex|title|contenteditable|draggable|dropzone|hidden|spellcheck|translate],i,b"),tinymce.Env.iOS&&(a.settings.height=300)}),h="alt+shift",a.addShortcut(h+"+c","","JustifyCenter"),a.addShortcut(h+"+r","","JustifyRight"),a.addShortcut(h+"+l","","JustifyLeft"),a.addShortcut(h+"+j","","JustifyFull"),a.addShortcut(h+"+q","","mceBlockQuote"),a.addShortcut(h+"+u","","InsertUnorderedList"),a.addShortcut(h+"+o","","InsertOrderedList"),a.addShortcut(h+"+n","","mceSpellCheck"),a.addShortcut(h+"+s","","unlink"),a.addShortcut(h+"+m","","WP_Medialib"),a.addShortcut(h+"+z","","WP_Adv"),a.addShortcut(h+"+t","","WP_More"),a.addShortcut(h+"+d","","Strikethrough"),a.addShortcut(h+"+h","","WP_Help"),a.addShortcut(h+"+p","","WP_Page"),a.addShortcut(h+"+x","","WP_Code"),a.addShortcut("ctrl+s","",function(){"undefined"!=typeof wp&&wp.autosave&&wp.autosave.server.triggerSave()}),a.on("init",function(){a.dom.bind(a.getWin(),"scroll",function(){f()}),a.dom.bind(a.getBody(),"dragstart",function(){f()})}),a.on("BeforeExecCommand",function(){f()}),a.on("SaveContent",function(){f()}),a.on("MouseDown",function(a){"IMG"!==a.target.nodeName&&f()}),a.on("keydown",function(a){(a.which===tinymce.util.VK.DELETE||a.which===tinymce.util.VK.BACKSPACE)&&f()}),{_showButtons:e,_hideButtons:f,_setEmbed:c,_getEmbed:d}});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpautoresize/plugin.js b/wp-includes/js/tinymce/plugins/wpautoresize/plugin.js
new file mode 100644
index 000000000..dc1f52443
--- /dev/null
+++ b/wp-includes/js/tinymce/plugins/wpautoresize/plugin.js
@@ -0,0 +1,207 @@
+/**
+ * plugin.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+// Forked for WordPress so it can be turned on/off after loading.
+
+/*global tinymce:true */
+/*eslint no-nested-ternary:0 */
+
+/**
+ * Auto Resize
+ *
+ * This plugin automatically resizes the content area to fit its content height.
+ * It will retain a minimum height, which is the height of the content area when
+ * it's initialized.
+ */
+tinymce.PluginManager.add( 'wpautoresize', function( editor ) {
+	var settings = editor.settings,
+		oldSize = 300,
+		isActive = false;
+
+	function isFullscreen() {
+		return editor.plugins.fullscreen && editor.plugins.fullscreen.isFullscreen();
+	}
+
+	if ( editor.settings.inline ) {
+		return;
+	}
+
+	function getInt( n ) {
+		return parseInt( n, 10 ) || 0;
+	}
+
+	/**
+	 * This method gets executed each time the editor needs to resize.
+	 */
+	function resize( e ) {
+		var deltaSize, doc, body, docElm, DOM = tinymce.DOM, resizeHeight, myHeight,
+			marginTop, marginBottom, paddingTop, paddingBottom, borderTop, borderBottom;
+
+		if ( ! isActive ) {
+			return;
+		}
+
+		doc = editor.getDoc();
+		if ( ! doc ) {
+			return;
+		}
+
+		e = e || {};
+		body = doc.body;
+		docElm = doc.documentElement;
+		resizeHeight = settings.autoresize_min_height;
+
+		if ( ! body || ( e && e.type === 'setcontent' && e.initial ) || isFullscreen() ) {
+			if ( body && docElm ) {
+				body.style.overflowY = 'auto';
+				docElm.style.overflowY = 'auto'; // Old IE
+			}
+
+			return;
+		}
+
+		// Calculate outer height of the body element using CSS styles
+		marginTop = editor.dom.getStyle( body, 'margin-top', true );
+		marginBottom = editor.dom.getStyle( body, 'margin-bottom', true );
+		paddingTop = editor.dom.getStyle( body, 'padding-top', true );
+		paddingBottom = editor.dom.getStyle( body, 'padding-bottom', true );
+		borderTop = editor.dom.getStyle( body, 'border-top-width', true );
+		borderBottom = editor.dom.getStyle( body, 'border-bottom-width', true );
+		myHeight = body.offsetHeight + getInt( marginTop ) + getInt( marginBottom ) +
+			getInt( paddingTop ) + getInt( paddingBottom ) +
+			getInt( borderTop ) + getInt( borderBottom );
+
+		// IE < 11, other?
+		if ( myHeight && myHeight < docElm.offsetHeight ) {
+			myHeight = docElm.offsetHeight;
+		}
+
+		// Make sure we have a valid height
+		if ( isNaN( myHeight ) || myHeight <= 0 ) {
+			// Get height differently depending on the browser used
+			myHeight = tinymce.Env.ie ? body.scrollHeight : ( tinymce.Env.webkit && body.clientHeight === 0 ? 0 : body.offsetHeight );
+		}
+
+		// Don't make it smaller than the minimum height
+		if ( myHeight > settings.autoresize_min_height ) {
+			resizeHeight = myHeight;
+		}
+
+		// If a maximum height has been defined don't exceed this height
+		if ( settings.autoresize_max_height && myHeight > settings.autoresize_max_height ) {
+			resizeHeight = settings.autoresize_max_height;
+			body.style.overflowY = 'auto';
+			docElm.style.overflowY = 'auto'; // Old IE
+		} else {
+			body.style.overflowY = 'hidden';
+			docElm.style.overflowY = 'hidden'; // Old IE
+			body.scrollTop = 0;
+		}
+
+		// Resize content element
+		if (resizeHeight !== oldSize) {
+			deltaSize = resizeHeight - oldSize;
+			DOM.setStyle( editor.iframeElement, 'height', resizeHeight + 'px' );
+			oldSize = resizeHeight;
+
+			// WebKit doesn't decrease the size of the body element until the iframe gets resized
+			// So we need to continue to resize the iframe down until the size gets fixed
+			if ( tinymce.isWebKit && deltaSize < 0 ) {
+				resize( e );
+			}
+
+			editor.fire( 'wp-autoresize', { height: resizeHeight } );
+		}
+	}
+
+	/**
+	 * Calls the resize x times in 100ms intervals. We can't wait for load events since
+	 * the CSS files might load async.
+	 */
+	function wait( times, interval, callback ) {
+		setTimeout( function() {
+			resize();
+
+			if ( times-- ) {
+				wait( times, interval, callback );
+			} else if ( callback ) {
+				callback();
+			}
+		}, interval );
+	}
+
+	// Define minimum height
+	settings.autoresize_min_height = parseInt(editor.getParam( 'autoresize_min_height', editor.getElement().offsetHeight), 10 );
+
+	// Define maximum height
+	settings.autoresize_max_height = parseInt(editor.getParam( 'autoresize_max_height', 0), 10 );
+
+	function on() {
+		if ( ! editor.dom.hasClass( editor.getBody(), 'wp-autoresize' ) ) {
+			isActive = true;
+			editor.dom.addClass( editor.getBody(), 'wp-autoresize' );
+			// Add appropriate listeners for resizing the content area
+			editor.on( 'nodechange setcontent keyup FullscreenStateChanged', resize );
+			resize();
+		}
+	}
+
+	function off() {
+		var doc;
+
+		// Don't turn off if the setting is 'on'
+		if ( ! settings.wp_autoresize_on ) {
+			isActive = false;
+			doc = editor.getDoc();
+			editor.dom.removeClass( editor.getBody(), 'wp-autoresize' );
+			editor.off( 'nodechange setcontent keyup FullscreenStateChanged', resize );
+			doc.body.style.overflowY = 'auto';
+			doc.documentElement.style.overflowY = 'auto'; // Old IE
+			oldSize = 0;
+		}
+	}
+
+	if ( settings.wp_autoresize_on ) {
+		// Turn resizing on when the editor loads
+		isActive = true;
+
+		editor.on( 'init', function() {
+			editor.dom.addClass( editor.getBody(), 'wp-autoresize' );
+		});
+
+		editor.on( 'nodechange keyup FullscreenStateChanged', resize );
+
+		editor.on( 'setcontent', function() {
+			wait( 3, 100 );
+		});
+
+		if ( editor.getParam( 'autoresize_on_init', true ) ) {
+			editor.on( 'init', function() {
+				// Hit it 10 times in 200 ms intervals
+				wait( 10, 200, function() {
+					// Hit it 5 times in 1 sec intervals
+					wait( 5, 1000 );
+				});
+			});
+		}
+	}
+
+	// Reset the stored size
+	editor.on( 'show', function() {
+		oldSize = 0;
+	});
+
+	// Register the command
+	editor.addCommand( 'wpAutoResize', resize );
+
+	// On/off
+	editor.addCommand( 'wpAutoResizeOn', on );
+	editor.addCommand( 'wpAutoResizeOff', off );
+});
diff --git a/wp-includes/js/tinymce/plugins/wpautoresize/plugin.min.js b/wp-includes/js/tinymce/plugins/wpautoresize/plugin.min.js
new file mode 100644
index 000000000..14296b2af
--- /dev/null
+++ b/wp-includes/js/tinymce/plugins/wpautoresize/plugin.min.js
@@ -0,0 +1 @@
+tinymce.PluginManager.add("wpautoresize",function(a){function b(){return a.plugins.fullscreen&&a.plugins.fullscreen.isFullscreen()}function c(a){return parseInt(a,10)||0}function d(e){var f,g,k,l,m,n,o,p,q,r,s,t,u=tinymce.DOM;if(j&&(g=a.getDoc())){if(e=e||{},k=g.body,l=g.documentElement,m=h.autoresize_min_height,!k||e&&"setcontent"===e.type&&e.initial||b())return void(k&&l&&(k.style.overflowY="auto",l.style.overflowY="auto"));o=a.dom.getStyle(k,"margin-top",!0),p=a.dom.getStyle(k,"margin-bottom",!0),q=a.dom.getStyle(k,"padding-top",!0),r=a.dom.getStyle(k,"padding-bottom",!0),s=a.dom.getStyle(k,"border-top-width",!0),t=a.dom.getStyle(k,"border-bottom-width",!0),n=k.offsetHeight+c(o)+c(p)+c(q)+c(r)+c(s)+c(t),n&&n<l.offsetHeight&&(n=l.offsetHeight),(isNaN(n)||0>=n)&&(n=tinymce.Env.ie?k.scrollHeight:tinymce.Env.webkit&&0===k.clientHeight?0:k.offsetHeight),n>h.autoresize_min_height&&(m=n),h.autoresize_max_height&&n>h.autoresize_max_height?(m=h.autoresize_max_height,k.style.overflowY="auto",l.style.overflowY="auto"):(k.style.overflowY="hidden",l.style.overflowY="hidden",k.scrollTop=0),m!==i&&(f=m-i,u.setStyle(a.iframeElement,"height",m+"px"),i=m,tinymce.isWebKit&&0>f&&d(e),a.fire("wp-autoresize",{height:m}))}}function e(a,b,c){setTimeout(function(){d(),a--?e(a,b,c):c&&c()},b)}function f(){a.dom.hasClass(a.getBody(),"wp-autoresize")||(j=!0,a.dom.addClass(a.getBody(),"wp-autoresize"),a.on("nodechange setcontent keyup FullscreenStateChanged",d),d())}function g(){var b;h.wp_autoresize_on||(j=!1,b=a.getDoc(),a.dom.removeClass(a.getBody(),"wp-autoresize"),a.off("nodechange setcontent keyup FullscreenStateChanged",d),b.body.style.overflowY="auto",b.documentElement.style.overflowY="auto",i=0)}var h=a.settings,i=300,j=!1;a.settings.inline||(h.autoresize_min_height=parseInt(a.getParam("autoresize_min_height",a.getElement().offsetHeight),10),h.autoresize_max_height=parseInt(a.getParam("autoresize_max_height",0),10),h.wp_autoresize_on&&(j=!0,a.on("init",function(){a.dom.addClass(a.getBody(),"wp-autoresize")}),a.on("nodechange keyup FullscreenStateChanged",d),a.on("setcontent",function(){e(3,100)}),a.getParam("autoresize_on_init",!0)&&a.on("init",function(){e(10,200,function(){e(5,1e3)})})),a.on("show",function(){i=0}),a.addCommand("wpAutoResize",d),a.addCommand("wpAutoResizeOn",f),a.addCommand("wpAutoResizeOff",g))});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js b/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js
index 8894cd8f5..6725535a3 100644
--- a/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js
+++ b/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js
@@ -1,10 +1,11 @@
 /* global tinymce */
 tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
-	var toolbarActive = false;
+	var toolbarActive = false,
+		editingImage = false;
 
 	function parseShortcode( content ) {
 		return content.replace( /(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g, function( a, b, c ) {
-			var id, cls, w, cap, img, width,
+			var id, align, classes, caption, img, width,
 				trim = tinymce.trim;
 
 			id = b.match( /id=['"]([^'"]*)['"] ?/ );
@@ -12,50 +13,56 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 				b = b.replace( id[0], '' );
 			}
 
-			cls = b.match( /align=['"]([^'"]*)['"] ?/ );
-			if ( cls ) {
-				b = b.replace( cls[0], '' );
+			align = b.match( /align=['"]([^'"]*)['"] ?/ );
+			if ( align ) {
+				b = b.replace( align[0], '' );
 			}
 
-			w = b.match( /width=['"]([0-9]*)['"] ?/ );
-			if ( w ) {
-				b = b.replace( w[0], '' );
+			classes = b.match( /class=['"]([^'"]*)['"] ?/ );
+			if ( classes ) {
+				b = b.replace( classes[0], '' );
+			}
+
+			width = b.match( /width=['"]([0-9]*)['"] ?/ );
+			if ( width ) {
+				b = b.replace( width[0], '' );
 			}
 
 			c = trim( c );
 			img = c.match( /((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)([\s\S]*)/i );
 
 			if ( img && img[2] ) {
-				cap = trim( img[2] );
+				caption = trim( img[2] );
 				img = trim( img[1] );
 			} else {
 				// old captions shortcode style
-				cap = trim( b ).replace( /caption=['"]/, '' ).replace( /['"]$/, '' );
+				caption = trim( b ).replace( /caption=['"]/, '' ).replace( /['"]$/, '' );
 				img = c;
 			}
 
-			id = ( id && id[1] ) ? id[1] : '';
-			cls = ( cls && cls[1] ) ? cls[1] : 'alignnone';
+			id = ( id && id[1] ) ? id[1].replace( /[<>&]+/g,  '' ) : '';
+			align = ( align && align[1] ) ? align[1] : 'alignnone';
+			classes = ( classes && classes[1] ) ? ' ' + classes[1].replace( /[<>&]+/g,  '' ) : '';
 
-			if ( ! w && img ) {
-				w = img.match( /width=['"]([0-9]*)['"]/ );
+			if ( ! width && img ) {
+				width = img.match( /width=['"]([0-9]*)['"]/ );
 			}
 
-			if ( w && w[1] ) {
-				w = w[1];
+			if ( width && width[1] ) {
+				width = width[1];
 			}
 
-			if ( ! w || ! cap ) {
+			if ( ! width || ! caption ) {
 				return c;
 			}
 
-			width = parseInt( w, 10 );
+			width = parseInt( width, 10 );
 			if ( ! editor.getParam( 'wpeditimage_html5_captions' ) ) {
 				width += 10;
 			}
 
-			return '<div class="mceTemp"><dl id="'+ id +'" class="wp-caption '+ cls +'" style="width: '+ width +'px">' +
-				'<dt class="wp-caption-dt">'+ img +'</dt><dd class="wp-caption-dd">'+ cap +'</dd></dl></div>';
+			return '<div class="mceTemp"><dl id="' + id + '" class="wp-caption ' + align + classes + '" style="width: ' + width + 'px">' +
+				'<dt class="wp-caption-dt">'+ img +'</dt><dd class="wp-caption-dd">'+ caption +'</dd></dl></div>';
 		});
 	}
 
@@ -75,32 +82,38 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 				return '';
 			}
 
-			out = b.replace( /<dl ([^>]+)>\s*<dt [^>]+>([\s\S]+?)<\/dt>\s*<dd [^>]+>([\s\S]*?)<\/dd>\s*<\/dl>/gi, function( a, b, c, cap ) {
-				var id, cls, w;
+			out = b.replace( /<dl ([^>]+)>\s*<dt [^>]+>([\s\S]+?)<\/dt>\s*<dd [^>]+>([\s\S]*?)<\/dd>\s*<\/dl>/gi, function( a, b, c, caption ) {
+				var id, classes, align, width;
 
-				w = c.match( /width="([0-9]*)"/ );
-				w = ( w && w[1] ) ? w[1] : '';
+				width = c.match( /width="([0-9]*)"/ );
+				width = ( width && width[1] ) ? width[1] : '';
 
-				if ( ! w || ! cap ) {
+				if ( ! width || ! caption ) {
 					return c;
 				}
 
 				id = b.match( /id="([^"]*)"/ );
 				id = ( id && id[1] ) ? id[1] : '';
 
-				cls = b.match( /class="([^"]*)"/ );
-				cls = ( cls && cls[1] ) ? cls[1] : '';
-				cls = cls.match( /align[a-z]+/ ) || 'alignnone';
+				classes = b.match( /class="([^"]*)"/ );
+				classes = ( classes && classes[1] ) ? classes[1] : '';
 
-				cap = cap.replace( /\r\n|\r/g, '\n' ).replace( /<[a-zA-Z0-9]+( [^<>]+)?>/g, function( a ) {
+				align = classes.match( /align[a-z]+/i ) || 'alignnone';
+				classes = classes.replace( /wp-caption ?|align[a-z]+ ?/gi, '' );
+
+				if ( classes ) {
+					classes = ' class="' + classes + '"';
+				}
+
+				caption = caption.replace( /\r\n|\r/g, '\n' ).replace( /<[a-zA-Z0-9]+( [^<>]+)?>/g, function( a ) {
 					// no line breaks inside HTML tags
 					return a.replace( /[\r\n\t]+/, ' ' );
 				});
 
 				// convert remaining line breaks to <br>
-				cap = cap.replace( /\s*\n\s*/g, '<br />' );
+				caption = caption.replace( /\s*\n\s*/g, '<br />' );
 
-				return '[caption id="'+ id +'" align="'+ cls +'" width="'+ w +'"]'+ c +' '+ cap +'[/caption]';
+				return '[caption id="' + id + '" align="' + align + '" width="' + width + '"' + classes + ']' + c + ' ' + caption + '[/caption]';
 			});
 
 			if ( out.indexOf('[caption') !== 0 ) {
@@ -115,6 +128,7 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 
 	function extractImageData( imageNode ) {
 		var classes, extraClasses, metadata, captionBlock, caption, link, width, height,
+			captionClassName = [],
 			dom = editor.dom,
 			isIntRegExp = /^\d+$/;
 
@@ -180,9 +194,13 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 			tinymce.each( classes, function( name ) {
 				if ( /^align/.test( name ) ) {
 					metadata.align = name.replace( 'align', '' );
+				} else if ( name && name !== 'wp-caption' ) {
+					captionClassName.push( name );
 				}
 			} );
 
+			metadata.captionClassName = captionClassName.join( ' ' );
+
 			caption = dom.select( 'dd.wp-caption-dd', captionBlock );
 			if ( caption.length ) {
 				caption = caption[0];
@@ -210,7 +228,7 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 
 	function updateImage( imageNode, imageData ) {
 		var classes, className, node, html, parent, wrap, linkNode,
-			captionNode, dd, dl, id, attrs, linkAttrs, width, height,
+			captionNode, dd, dl, id, attrs, linkAttrs, width, height, align,
 			dom = editor.dom;
 
 		classes = tinymce.explode( imageData.extraClasses, ' ' );
@@ -287,7 +305,12 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 		if ( imageData.caption ) {
 
 			id = imageData.attachment_id ? 'attachment_' + imageData.attachment_id : null;
-			className = 'wp-caption align' + ( imageData.align || 'none' );
+			align = 'align' + ( imageData.align || 'none' );
+			className = 'wp-caption ' + align;
+
+			if ( imageData.captionClassName ) {
+				className += ' ' + imageData.captionClassName.replace( /[<>&]+/g,  '' );
+			}
 
 			if ( ! editor.getParam( 'wpeditimage_html5_captions' ) ) {
 				width = parseInt( width, 10 );
@@ -389,6 +412,7 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 		frame.on( 'close', function() {
 			editor.focus();
 			frame.detach();
+			editingImage = false;
 		});
 
 		frame.open();
@@ -413,12 +437,14 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 			}
 
 			editor.selection.collapse( true );
-			editor.nodeChanged();
 			editor.dom.remove( wrap );
 		} else {
 			editor.dom.remove( node );
 		}
+
 		removeToolbar();
+		editor.nodeChanged();
+		editor.undoManager.add();
 	}
 
 	function addToolbar( node ) {
@@ -435,12 +461,12 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 		dom.setAttrib( node, 'data-wp-imgselect', 1 );
 		rectangle = dom.getRect( node );
 
-		toolbarHtml = '<div class="dashicons dashicons-edit edit" data-mce-bogus="1"></div>' +
-			'<div class="dashicons dashicons-no-alt remove" data-mce-bogus="1"></div>';
+		toolbarHtml = '<i class="dashicons dashicons-edit edit" data-mce-bogus="all"></i>' +
+			'<i class="dashicons dashicons-no-alt remove" data-mce-bogus="all"></i>';
 
-		toolbar = dom.create( 'div', {
+		toolbar = dom.create( 'p', {
 			'id': 'wp-image-toolbar',
-			'data-mce-bogus': '1',
+			'data-mce-bogus': 'all',
 			'contenteditable': false
 		}, toolbarHtml );
 
@@ -468,6 +494,7 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 
 		editor.dom.setAttrib( editor.dom.select( 'img[data-wp-imgselect]' ), 'data-wp-imgselect', null );
 
+		editingImage = false;
 		toolbarActive = false;
 	}
 
@@ -483,6 +510,61 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 		return false;
 	}
 
+	function isToolbarButton( node ) {
+		return ( node && node.nodeName === 'I' && node.parentNode.id === 'wp-image-toolbar' );
+	}
+
+	function edit( event ) {
+		var image,
+			node = event.target,
+			dom = editor.dom;
+
+		// Don't trigger on right-click
+		if ( event.button && event.button > 1 ) {
+			return;
+		}
+
+		if ( isToolbarButton( node ) ) {
+			image = dom.select( 'img[data-wp-imgselect]' )[0];
+
+			if ( image ) {
+				editor.selection.select( image );
+
+				if ( dom.hasClass( node, 'remove' ) ) {
+					removeImage( image );
+				} else if ( dom.hasClass( node, 'edit' ) ) {
+					if ( ! editingImage ) {
+						editImage( image );
+						editingImage = true;
+					}
+				}
+			}
+
+			event.preventDefault();
+		} else if ( node.nodeName === 'IMG' && ! editor.dom.getAttrib( node, 'data-wp-imgselect' ) && ! isPlaceholder( node ) ) {
+			addToolbar( node );
+		} else if ( node.nodeName !== 'IMG' ) {
+			removeToolbar();
+		}
+	}
+
+	if ( 'ontouchend' in document ) {
+		editor.on( 'click', function( event ) {
+			var target = event.target;
+
+			if ( editingImage && target.nodeName === 'IMG' ) {
+				event.preventDefault();
+			}
+
+			if ( isToolbarButton( target ) ) {
+				event.preventDefault();
+				event.stopPropagation();
+			}
+		});
+	}
+
+	editor.on( 'mouseup touchend', edit );
+
 	editor.on( 'init', function() {
 		var dom = editor.dom,
 			captionClass = editor.getParam( 'wpeditimage_html5_captions' ) ? 'html5-captions' : 'html4-captions';
@@ -753,28 +835,31 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 	});
 
 	editor.on( 'ObjectResized', function( event ) {
-        var parent, width,
-			node = event.target,
-			dom = editor.dom;
+		var node = event.target;
 
 		if ( node.nodeName === 'IMG' ) {
-			node.className = node.className.replace( /\bsize-[^ ]+/, '' );
+			editor.undoManager.transact( function() {
+				var parent, width,
+					dom = editor.dom;
 
-			if ( parent = dom.getParent( node, '.wp-caption' ) ) {
-				width = event.width || dom.getAttrib( node, 'width' );
+				node.className = node.className.replace( /\bsize-[^ ]+/, '' );
 
-				if ( width ) {
-					width = parseInt( width, 10 );
+				if ( parent = dom.getParent( node, '.wp-caption' ) ) {
+					width = event.width || dom.getAttrib( node, 'width' );
 
-					if ( ! editor.getParam( 'wpeditimage_html5_captions' ) ) {
-						width += 10;
-					}
+					if ( width ) {
+						width = parseInt( width, 10 );
 
-					dom.setStyle( parent, 'width', width + 'px' );
+						if ( ! editor.getParam( 'wpeditimage_html5_captions' ) ) {
+							width += 10;
+						}
+
+						dom.setStyle( parent, 'width', width + 'px' );
+					}
 				}
-			}
-			// refresh toolbar
-			addToolbar( node );
+				// refresh toolbar
+				addToolbar( node );
+			});
 		}
     });
 
@@ -791,29 +876,15 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 				dom.insertAfter( p, node );
 				editor.selection.setCursorLocation( p, 0 );
 				editor.nodeChanged();
-
-				if ( tinymce.Env.ie > 8 ) {
-					setTimeout( function() {
-						editor.selection.setCursorLocation( p, 0 );
-						editor.selection.setContent( event.value );
-					}, 500 );
-
-					return false;
-				}
 			}
 		} else if ( cmd === 'JustifyLeft' || cmd === 'JustifyRight' || cmd === 'JustifyCenter' ) {
 			node = editor.selection.getNode();
 			align = cmd.substr(7).toLowerCase();
 			align = 'align' + align;
+			DL = dom.getParent( node, 'dl.wp-caption' );
 
 			removeToolbar();
 
-			if ( dom.is( node, 'dl.wp-caption' ) ) {
-				DL = node;
-			} else {
-				DL = dom.getParent( node, 'dl.wp-caption' );
-			}
-
 			if ( DL ) {
 				// When inside an image caption, set the align* class on dl.wp-caption
 				if ( dom.hasClass( DL, align ) ) {
@@ -824,7 +895,12 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 					dom.addClass( DL, align );
 				}
 
-				return false;
+				if ( node.nodeName === 'IMG' ) {
+					// Re-select the image to update resize handles, etc.
+					editor.nodeChanged();
+				}
+
+				event.preventDefault();
 			}
 
 			if ( node.nodeName === 'IMG' ) {
@@ -842,9 +918,10 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 		var node, wrap, P, spacer,
 			selection = editor.selection,
 			keyCode = event.keyCode,
-			dom = editor.dom;
+			dom = editor.dom,
+			VK = tinymce.util.VK;
 
-		if ( keyCode === tinymce.util.VK.ENTER ) {
+		if ( keyCode === VK.ENTER ) {
 			// When pressing Enter inside a caption move the caret to a new parapraph under it
 			node = selection.getNode();
 			wrap = dom.getParent( node, 'div.mceTemp' );
@@ -871,7 +948,7 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 				editor.nodeChanged();
 				selection.setCursorLocation( P, 0 );
 			}
-		} else if ( keyCode === tinymce.util.VK.DELETE || keyCode === tinymce.util.VK.BACKSPACE ) {
+		} else if ( keyCode === VK.DELETE || keyCode === VK.BACKSPACE ) {
 			node = selection.getNode();
 
 			if ( node.nodeName === 'DIV' && dom.hasClass( node, 'mceTemp' ) ) {
@@ -889,10 +966,9 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 			removeToolbar();
 		}
 
-		// Key presses will replace the image so we need to remove the toolbar
+		// Most key presses will replace the image so we need to remove the toolbar
 		if ( toolbarActive ) {
-			if ( event.ctrlKey || event.metaKey || event.altKey ||
-				( keyCode < 48 && keyCode > 90 ) || keyCode > 186 ) {
+			if ( event.ctrlKey || event.metaKey || event.altKey || ( keyCode < 48 && keyCode !== VK.SPACEBAR ) ) {
 				return;
 			}
 
@@ -901,7 +977,7 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 	});
 
 	editor.on( 'mousedown', function( event ) {
-		if ( editor.dom.getParent( event.target, '#wp-image-toolbar' ) ) {
+		if ( isToolbarButton( event.target ) ) {
 			if ( tinymce.Env.ie ) {
 				// Stop IE > 8 from making the wrapper resizable on mousedown
 				event.preventDefault();
@@ -911,36 +987,23 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 		}
 	});
 
-	editor.on( 'mouseup', function( event ) {
-		var image,
-			node = event.target,
-			dom = editor.dom;
-
-		// Don't trigger on right-click
-		if ( event.button && event.button > 1 ) {
-			return;
-		}
-
-		if ( node.nodeName === 'DIV' && dom.getParent( node, '#wp-image-toolbar' ) ) {
-			image = dom.select( 'img[data-wp-imgselect]' )[0];
-
-			if ( image ) {
-				editor.selection.select( image );
+	// Remove from undo levels
+	editor.on( 'BeforeAddUndo', function( event ) {
+		event.level.content = event.level.content.replace( / data-wp-imgselect="1"/g, '' );
+	});
 
-				if ( dom.hasClass( node, 'remove' ) ) {
-					removeImage( image );
-				} else if ( dom.hasClass( node, 'edit' ) ) {
-					editImage( image );
-				}
+	// After undo/redo FF seems to set the image height very slowly when it is set to 'auto' in the CSS.
+	// This causes image.getBoundingClientRect() to return wrong values and the resize handles are shown in wrong places.
+	// Collapse the selection to remove the resize handles.
+	if ( tinymce.Env.gecko ) {
+		editor.on( 'undo redo', function() {
+			if ( editor.selection.getNode().nodeName === 'IMG' ) {
+				editor.selection.collapse();
 			}
-		} else if ( node.nodeName === 'IMG' && ! editor.dom.getAttrib( node, 'data-wp-imgselect' ) && ! isPlaceholder( node ) ) {
-			addToolbar( node );
-		} else if ( node.nodeName !== 'IMG' ) {
-			removeToolbar();
-		}
-	});
+		});
+	}
 
-	editor.on( 'cut', function() {
+	editor.on( 'cut wpview-selected', function() {
 		removeToolbar();
 	});
 
@@ -953,7 +1016,9 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 	};
 
 	editor.on( 'BeforeSetContent', function( event ) {
-		event.content = editor.wpSetImgCaption( event.content );
+		if ( event.format !== 'raw' ) {
+			event.content = editor.wpSetImgCaption( event.content );
+		}
 	});
 
 	editor.on( 'PostProcess', function( event ) {
diff --git a/wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js b/wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js
index 7445d5a88..715299dfe 100644
--- a/wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js
@@ -1 +1 @@
-tinymce.PluginManager.add("wpeditimage",function(a){function b(b){return b.replace(/(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g,function(b,c,d){var e,f,g,h,i,j,k=tinymce.trim;return e=c.match(/id=['"]([^'"]*)['"] ?/),e&&(c=c.replace(e[0],"")),f=c.match(/align=['"]([^'"]*)['"] ?/),f&&(c=c.replace(f[0],"")),g=c.match(/width=['"]([0-9]*)['"] ?/),g&&(c=c.replace(g[0],"")),d=k(d),i=d.match(/((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)([\s\S]*)/i),i&&i[2]?(h=k(i[2]),i=k(i[1])):(h=k(c).replace(/caption=['"]/,"").replace(/['"]$/,""),i=d),e=e&&e[1]?e[1]:"",f=f&&f[1]?f[1]:"alignnone",!g&&i&&(g=i.match(/width=['"]([0-9]*)['"]/)),g&&g[1]&&(g=g[1]),g&&h?(j=parseInt(g,10),a.getParam("wpeditimage_html5_captions")||(j+=10),'<div class="mceTemp"><dl id="'+e+'" class="wp-caption '+f+'" style="width: '+j+'px"><dt class="wp-caption-dt">'+i+'</dt><dd class="wp-caption-dd">'+h+"</dd></dl></div>"):d})}function c(a){return a.replace(/<div (?:id="attachment_|class="mceTemp)[^>]*>([\s\S]+?)<\/div>/g,function(a,b){var c="";return-1===b.indexOf("<img ")?(c=b.match(/<dd [^>]+>([\s\S]+?)<\/dd>/i),c&&c[1]?"<p>"+c[1]+"</p>":""):(c=b.replace(/<dl ([^>]+)>\s*<dt [^>]+>([\s\S]+?)<\/dt>\s*<dd [^>]+>([\s\S]*?)<\/dd>\s*<\/dl>/gi,function(a,b,c,d){var e,f,g;return g=c.match(/width="([0-9]*)"/),g=g&&g[1]?g[1]:"",g&&d?(e=b.match(/id="([^"]*)"/),e=e&&e[1]?e[1]:"",f=b.match(/class="([^"]*)"/),f=f&&f[1]?f[1]:"",f=f.match(/align[a-z]+/)||"alignnone",d=d.replace(/\r\n|\r/g,"\n").replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),d=d.replace(/\s*\n\s*/g,"<br />"),'[caption id="'+e+'" align="'+f+'" width="'+g+'"]'+c+" "+d+"[/caption]"):c}),0!==c.indexOf("[caption")&&(c=b.replace(/[\s\S]*?((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)(<p>[\s\S]*<\/p>)?[\s\S]*/gi,"<p>$1</p>$2")),c)})}function d(b){var c,d,e,f,g,h,i,j,k=a.dom,l=/^\d+$/;return e={attachment_id:!1,size:"custom",caption:"",align:"none",extraClasses:"",link:!1,linkUrl:"",linkClassName:"",linkTargetBlank:!1,linkRel:"",title:""},e.url=k.getAttrib(b,"src"),e.alt=k.getAttrib(b,"alt"),e.title=k.getAttrib(b,"title"),i=k.getAttrib(b,"width"),j=k.getAttrib(b,"height"),(!l.test(i)||parseInt(i,10)<1)&&(i=b.naturalWidth||b.width),(!l.test(j)||parseInt(j,10)<1)&&(j=b.naturalHeight||b.height),e.customWidth=e.width=i,e.customHeight=e.height=j,c=tinymce.explode(b.className," "),d=[],tinymce.each(c,function(a){/^wp-image/.test(a)?e.attachment_id=parseInt(a.replace("wp-image-",""),10):/^align/.test(a)?e.align=a.replace("align",""):/^size/.test(a)?e.size=a.replace("size-",""):d.push(a)}),e.extraClasses=d.join(" "),f=k.getParents(b,".wp-caption"),f.length&&(f=f[0],c=f.className.split(" "),tinymce.each(c,function(a){/^align/.test(a)&&(e.align=a.replace("align",""))}),g=k.select("dd.wp-caption-dd",f),g.length&&(g=g[0],e.caption=a.serializer.serialize(g).replace(/<br[^>]*>/g,"$&\n").replace(/^<p>/,"").replace(/<\/p>$/,""))),b.parentNode&&"A"===b.parentNode.nodeName&&(h=b.parentNode,e.linkUrl=k.getAttrib(h,"href"),e.linkTargetBlank="_blank"===k.getAttrib(h,"target")?!0:!1,e.linkRel=k.getAttrib(h,"rel"),e.linkClassName=h.className),e}function e(a){return a&&!(!a.textContent&&!a.innerText)}function f(b,c){var d,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u=a.dom;d=tinymce.explode(c.extraClasses," "),d||(d=[]),c.caption||d.push("align"+c.align),c.attachment_id&&(d.push("wp-image-"+c.attachment_id),c.size&&"custom"!==c.size&&d.push("size-"+c.size)),s=c.width,t=c.height,"custom"===c.size&&(s=c.customWidth,t=c.customHeight),q={src:c.url,width:s||null,height:t||null,alt:c.alt,title:c.title||null,"class":d.join(" ")||null},u.setAttribs(b,q),r={href:c.linkUrl,rel:c.linkRel||null,target:c.linkTargetBlank?"_blank":null,"class":c.linkClassName||null},b.parentNode&&"A"===b.parentNode.nodeName&&!e(b.parentNode)?c.linkUrl?u.setAttribs(b.parentNode,r):u.remove(b.parentNode,!0):c.linkUrl&&((l=u.getParent(b,"a"))&&u.insertAfter(b,l),l=u.create("a",r),b.parentNode.insertBefore(l,b),l.appendChild(b)),m=a.dom.getParent(b,".mceTemp"),g=b.parentNode&&"A"===b.parentNode.nodeName&&!e(b.parentNode)?b.parentNode:b,c.caption?(p=c.attachment_id?"attachment_"+c.attachment_id:null,f="wp-caption align"+(c.align||"none"),a.getParam("wpeditimage_html5_captions")||(s=parseInt(s,10),s+=10),m?(o=u.select("dl.wp-caption",m),o.length&&u.setAttribs(o,{id:p,"class":f,style:"width: "+s+"px"}),n=u.select(".wp-caption-dd",m),n.length&&u.setHTML(n[0],c.caption)):(p=p?'id="'+p+'" ':"",h="<dl "+p+'class="'+f+'" style="width: '+s+'px"><dt class="wp-caption-dt">'+u.getOuterHTML(g)+'</dt><dd class="wp-caption-dd">'+c.caption+"</dd></dl>",(j=u.getParent(g,"p"))?(k=u.create("div",{"class":"mceTemp"},h),j.parentNode.insertBefore(k,j),u.remove(g),u.isEmpty(j)&&u.remove(j)):u.setOuterHTML(g,'<div class="mceTemp">'+h+"</div>"))):m&&(j=u.create("p"),m.parentNode.insertBefore(j,m),j.appendChild(g),u.remove(m)),wp.media.events&&wp.media.events.trigger("editor:image-update",{editor:a,metadata:c,image:b}),a.nodeChanged(),i(b)}function g(b){var c,e,g;return"undefined"!=typeof wp&&wp.media?(g=d(b),wp.media.events.trigger("editor:image-edit",{editor:a,metadata:g,image:b}),c=wp.media({frame:"image",state:"image-details",metadata:g}),wp.media.events.trigger("editor:frame-create",{frame:c}),e=function(d){a.focus(),a.undoManager.transact(function(){f(b,d)}),c.detach()},c.state("image-details").on("update",e),c.state("replace-image").on("replace",e),c.on("close",function(){a.focus(),c.detach()}),void c.open()):void a.execCommand("mceImage")}function h(b){var c;"DIV"===b.nodeName&&a.dom.hasClass(b,"mceTemp")?c=b:("IMG"===b.nodeName||"DT"===b.nodeName||"A"===b.nodeName)&&(c=a.dom.getParent(b,"div.mceTemp")),c?(a.selection.select(c.nextSibling?c.nextSibling:c.previousSibling?c.previousSibling:c.parentNode),a.selection.collapse(!0),a.nodeChanged(),a.dom.remove(c)):a.dom.remove(b),j()}function i(b){var c,d,e,f,g=a.dom;j(),b&&"IMG"===b.nodeName&&!k(b)&&(g.setAttrib(b,"data-wp-imgselect",1),c=g.getRect(b),d='<div class="dashicons dashicons-edit edit" data-mce-bogus="1"></div><div class="dashicons dashicons-no-alt remove" data-mce-bogus="1"></div>',e=g.create("div",{id:"wp-image-toolbar","data-mce-bogus":"1",contenteditable:!1},d),f=a.rtl?c.x+c.w-82:c.x,a.getBody().appendChild(e),g.setStyles(e,{top:c.y,left:f}),l=!0)}function j(){var b=a.dom.get("wp-image-toolbar");b&&a.dom.remove(b),a.dom.setAttrib(a.dom.select("img[data-wp-imgselect]"),"data-wp-imgselect",null),l=!1}function k(b){var c=a.dom;return c.hasClass(b,"mceItem")||c.getAttrib(b,"data-mce-placeholder")||c.getAttrib(b,"data-mce-object")?!0:!1}var l=!1;return a.on("init",function(){var b=a.dom,c=a.getParam("wpeditimage_html5_captions")?"html5-captions":"html4-captions";b.addClass(a.getBody(),c),a.on("wpLoadImageForm",function(b){if(!a.getParam("wpeditimage_disable_captions")){var c={type:"textbox",flex:1,name:"caption",minHeight:60,multiline:!0,scroll:!0,label:"Image caption"};b.data.splice(b.data.length-1,0,c)}}),a.on("wpNewImageRefresh",function(a){var c,d;(c=b.getParent(a.node,"dl.wp-caption"))&&(c.style.width||(d=parseInt(a.node.clientWidth,10)+10,d=d?d+"px":"50%",b.setStyle(c,"width",d)))}),a.on("wpImageFormSubmit",function(c){var d,e,f,g,h,i=c.imgData.data,j=c.imgData.node,k=c.imgData.caption,l="",m="",n="";return i.id="__wp-temp-img-id",c.imgData.cancel=!0,i.style||(i.style=null),i.src?(k&&(k=k.replace(/\r\n|\r/g,"\n").replace(/<\/?[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),k=k.replace(/(<br[^>]*>)\s*\n\s*/g,"$1").replace(/\s*\n\s*/g,"<br />")),j?(h=j.id||null,b.setAttribs(j,i),d=b.getParent(j,"dl.wp-caption"),k?d?(e=b.select("dd.wp-caption-dd",d)[0])&&(e.innerHTML=k):(j.className&&(l=j.className.match(/wp-image-([0-9]+)/),m=j.className.match(/align(left|right|center|none)/)),m?(m=m[0],j.className=j.className.replace(/align(left|right|center|none)/g,"")):m="alignnone",m=' class="wp-caption '+m+'"',l&&(l=' id="attachment_'+l[1]+'"'),n=i.width||j.clientWidth,n&&(n=parseInt(n,10),a.getParam("wpeditimage_html5_captions")||(n+=10),n=' style="width: '+n+'px"'),j.parentNode&&"A"===j.parentNode.nodeName?(g=b.getOuterHTML(j.parentNode),f=j.parentNode):(g=b.getOuterHTML(j),f=j),g="<dl "+l+m+n+'><dt class="wp-caption-dt">'+g+'</dt><dd class="wp-caption-dd">'+k+"</dd></dl>",(e=b.getParent(j,"p"))?(d=b.create("div",{"class":"mceTemp"},g),b.insertAfter(d,e),a.selection.select(d),a.nodeChanged(),b.remove(f),b.isEmpty(e)&&b.remove(e)):a.selection.setContent('<div class="mceTemp">'+g+"</div>")):d&&(g=b.getOuterHTML("A"===j.parentNode.nodeName?j.parentNode:j),e=b.create("p",{},g),b.insertAfter(e,d.parentNode),a.selection.select(e),a.nodeChanged(),b.remove(d.parentNode))):(g=b.createHTML("img",i),k?(f=a.selection.getNode(),i.width&&(n=parseInt(i.width,10),a.getParam("wpeditimage_html5_captions")||(n+=10),n=' style="width: '+n+'px"'),g='<dl class="wp-caption alignnone"'+n+'><dt class="wp-caption-dt">'+g+'</dt><dd class="wp-caption-dd">'+k+"</dd></dl>",e="P"===f.nodeName?f:b.getParent(f,"p"),e&&"P"===e.nodeName?(d=b.create("div",{"class":"mceTemp"},g),e.parentNode.insertBefore(d,e),a.selection.select(d),a.nodeChanged(),b.isEmpty(e)&&b.remove(e)):a.selection.setContent('<div class="mceTemp">'+g+"</div>")):a.selection.setContent(g)),j=b.get("__wp-temp-img-id"),b.setAttrib(j,"id",h),void(c.imgData.node=j)):void(j&&(b.remove((d=b.getParent(j,"div.mceTemp"))?d:"A"===j.parentNode.nodeName?j.parentNode:j),a.nodeChanged()))}),a.on("wpLoadImageData",function(c){var d,e=c.imgData.data,f=c.imgData.node;(d=b.getParent(f,"dl.wp-caption"))&&(d=b.select("dd.wp-caption-dd",d)[0],d&&(e.caption=a.serializer.serialize(d).replace(/<br[^>]*>/g,"$&\n").replace(/^<p>/,"").replace(/<\/p>$/,"")))}),b.bind(a.getDoc(),"dragstart",function(c){var d=a.selection.getNode();"IMG"===d.nodeName&&b.getParent(d,".wp-caption")&&c.preventDefault(),j()}),tinymce.Env.ie&&tinymce.Env.ie>10&&(b.bind(a.getBody(),"mscontrolselect",function(c){"IMG"===c.target.nodeName&&b.getParent(c.target,".wp-caption")?a.getBody().focus():"DL"===c.target.nodeName&&b.hasClass(c.target,"wp-caption")&&c.target.focus()}),a.on("click",function(c){"IMG"===c.target.nodeName&&b.getAttrib(c.target,"data-wp-imgselect")&&b.getParent(c.target,"dl.wp-caption")&&a.getBody().focus()}))}),a.on("ObjectResized",function(b){var c,d,e=b.target,f=a.dom;"IMG"===e.nodeName&&(e.className=e.className.replace(/\bsize-[^ ]+/,""),(c=f.getParent(e,".wp-caption"))&&(d=b.width||f.getAttrib(e,"width"),d&&(d=parseInt(d,10),a.getParam("wpeditimage_html5_captions")||(d+=10),f.setStyle(c,"width",d+"px"))),i(e))}),a.on("BeforeExecCommand",function(b){var c,d,e,f,g=b.command,h=a.dom;if("mceInsertContent"===g){if((c=h.getParent(a.selection.getNode(),"div.mceTemp"))&&(d=h.create("p"),h.insertAfter(d,c),a.selection.setCursorLocation(d,0),a.nodeChanged(),tinymce.Env.ie>8))return setTimeout(function(){a.selection.setCursorLocation(d,0),a.selection.setContent(b.value)},500),!1}else if("JustifyLeft"===g||"JustifyRight"===g||"JustifyCenter"===g){if(c=a.selection.getNode(),f=g.substr(7).toLowerCase(),f="align"+f,j(),e=h.is(c,"dl.wp-caption")?c:h.getParent(c,"dl.wp-caption"))return h.hasClass(e,f)?(h.removeClass(e,f),h.addClass(e,"alignnone")):(e.className=e.className.replace(/align[^ ]+/g,""),h.addClass(e,f)),!1;"IMG"===c.nodeName&&(h.hasClass(c,f)?h.addClass(c,"alignnone"):h.removeClass(c,"alignnone"))}}),a.on("keydown",function(b){var c,d,e,f,g=a.selection,i=b.keyCode,k=a.dom;if(i===tinymce.util.VK.ENTER)c=g.getNode(),d=k.getParent(c,"div.mceTemp"),d&&(k.events.cancel(b),tinymce.each(k.select("dt, dd",d),function(a){k.isEmpty(a)&&k.remove(a)}),f=tinymce.Env.ie&&tinymce.Env.ie<11?"":'<br data-mce-bogus="1" />',e=k.create("p",null,f),"DD"===c.nodeName?k.insertAfter(e,d):d.parentNode.insertBefore(e,d),a.nodeChanged(),g.setCursorLocation(e,0));else if(i===tinymce.util.VK.DELETE||i===tinymce.util.VK.BACKSPACE){if(c=g.getNode(),"DIV"===c.nodeName&&k.hasClass(c,"mceTemp")?d=c:("IMG"===c.nodeName||"DT"===c.nodeName||"A"===c.nodeName)&&(d=k.getParent(c,"div.mceTemp")),d)return k.events.cancel(b),h(c),!1;j()}if(l){if(b.ctrlKey||b.metaKey||b.altKey||48>i&&i>90||i>186)return;j()}}),a.on("mousedown",function(b){a.dom.getParent(b.target,"#wp-image-toolbar")?tinymce.Env.ie&&b.preventDefault():"IMG"!==b.target.nodeName&&j()}),a.on("mouseup",function(b){var c,d=b.target,e=a.dom;b.button&&b.button>1||("DIV"===d.nodeName&&e.getParent(d,"#wp-image-toolbar")?(c=e.select("img[data-wp-imgselect]")[0],c&&(a.selection.select(c),e.hasClass(d,"remove")?h(c):e.hasClass(d,"edit")&&g(c))):"IMG"!==d.nodeName||a.dom.getAttrib(d,"data-wp-imgselect")||k(d)?"IMG"!==d.nodeName&&j():i(d))}),a.on("cut",function(){j()}),a.wpSetImgCaption=function(a){return b(a)},a.wpGetImgCaption=function(a){return c(a)},a.on("BeforeSetContent",function(b){b.content=a.wpSetImgCaption(b.content)}),a.on("PostProcess",function(b){b.get&&(b.content=a.wpGetImgCaption(b.content),b.content=b.content.replace(/ data-wp-imgselect="1"/g,""))}),{_do_shcode:b,_get_shcode:c}});
\ No newline at end of file
+tinymce.PluginManager.add("wpeditimage",function(a){function b(b){return b.replace(/(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g,function(b,c,d){var e,f,g,h,i,j,k=tinymce.trim;return e=c.match(/id=['"]([^'"]*)['"] ?/),e&&(c=c.replace(e[0],"")),f=c.match(/align=['"]([^'"]*)['"] ?/),f&&(c=c.replace(f[0],"")),g=c.match(/class=['"]([^'"]*)['"] ?/),g&&(c=c.replace(g[0],"")),j=c.match(/width=['"]([0-9]*)['"] ?/),j&&(c=c.replace(j[0],"")),d=k(d),i=d.match(/((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)([\s\S]*)/i),i&&i[2]?(h=k(i[2]),i=k(i[1])):(h=k(c).replace(/caption=['"]/,"").replace(/['"]$/,""),i=d),e=e&&e[1]?e[1].replace(/[<>&]+/g,""):"",f=f&&f[1]?f[1]:"alignnone",g=g&&g[1]?" "+g[1].replace(/[<>&]+/g,""):"",!j&&i&&(j=i.match(/width=['"]([0-9]*)['"]/)),j&&j[1]&&(j=j[1]),j&&h?(j=parseInt(j,10),a.getParam("wpeditimage_html5_captions")||(j+=10),'<div class="mceTemp"><dl id="'+e+'" class="wp-caption '+f+g+'" style="width: '+j+'px"><dt class="wp-caption-dt">'+i+'</dt><dd class="wp-caption-dd">'+h+"</dd></dl></div>"):d})}function c(a){return a.replace(/<div (?:id="attachment_|class="mceTemp)[^>]*>([\s\S]+?)<\/div>/g,function(a,b){var c="";return-1===b.indexOf("<img ")?(c=b.match(/<dd [^>]+>([\s\S]+?)<\/dd>/i),c&&c[1]?"<p>"+c[1]+"</p>":""):(c=b.replace(/<dl ([^>]+)>\s*<dt [^>]+>([\s\S]+?)<\/dt>\s*<dd [^>]+>([\s\S]*?)<\/dd>\s*<\/dl>/gi,function(a,b,c,d){var e,f,g,h;return h=c.match(/width="([0-9]*)"/),h=h&&h[1]?h[1]:"",h&&d?(e=b.match(/id="([^"]*)"/),e=e&&e[1]?e[1]:"",f=b.match(/class="([^"]*)"/),f=f&&f[1]?f[1]:"",g=f.match(/align[a-z]+/i)||"alignnone",f=f.replace(/wp-caption ?|align[a-z]+ ?/gi,""),f&&(f=' class="'+f+'"'),d=d.replace(/\r\n|\r/g,"\n").replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),d=d.replace(/\s*\n\s*/g,"<br />"),'[caption id="'+e+'" align="'+g+'" width="'+h+'"'+f+"]"+c+" "+d+"[/caption]"):c}),0!==c.indexOf("[caption")&&(c=b.replace(/[\s\S]*?((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)(<p>[\s\S]*<\/p>)?[\s\S]*/gi,"<p>$1</p>$2")),c)})}function d(b){var c,d,e,f,g,h,i,j,k=[],l=a.dom,m=/^\d+$/;return e={attachment_id:!1,size:"custom",caption:"",align:"none",extraClasses:"",link:!1,linkUrl:"",linkClassName:"",linkTargetBlank:!1,linkRel:"",title:""},e.url=l.getAttrib(b,"src"),e.alt=l.getAttrib(b,"alt"),e.title=l.getAttrib(b,"title"),i=l.getAttrib(b,"width"),j=l.getAttrib(b,"height"),(!m.test(i)||parseInt(i,10)<1)&&(i=b.naturalWidth||b.width),(!m.test(j)||parseInt(j,10)<1)&&(j=b.naturalHeight||b.height),e.customWidth=e.width=i,e.customHeight=e.height=j,c=tinymce.explode(b.className," "),d=[],tinymce.each(c,function(a){/^wp-image/.test(a)?e.attachment_id=parseInt(a.replace("wp-image-",""),10):/^align/.test(a)?e.align=a.replace("align",""):/^size/.test(a)?e.size=a.replace("size-",""):d.push(a)}),e.extraClasses=d.join(" "),f=l.getParents(b,".wp-caption"),f.length&&(f=f[0],c=f.className.split(" "),tinymce.each(c,function(a){/^align/.test(a)?e.align=a.replace("align",""):a&&"wp-caption"!==a&&k.push(a)}),e.captionClassName=k.join(" "),g=l.select("dd.wp-caption-dd",f),g.length&&(g=g[0],e.caption=a.serializer.serialize(g).replace(/<br[^>]*>/g,"$&\n").replace(/^<p>/,"").replace(/<\/p>$/,""))),b.parentNode&&"A"===b.parentNode.nodeName&&(h=b.parentNode,e.linkUrl=l.getAttrib(h,"href"),e.linkTargetBlank="_blank"===l.getAttrib(h,"target")?!0:!1,e.linkRel=l.getAttrib(h,"rel"),e.linkClassName=h.className),e}function e(a){return a&&!(!a.textContent&&!a.innerText)}function f(b,c){var d,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u,v=a.dom;d=tinymce.explode(c.extraClasses," "),d||(d=[]),c.caption||d.push("align"+c.align),c.attachment_id&&(d.push("wp-image-"+c.attachment_id),c.size&&"custom"!==c.size&&d.push("size-"+c.size)),s=c.width,t=c.height,"custom"===c.size&&(s=c.customWidth,t=c.customHeight),q={src:c.url,width:s||null,height:t||null,alt:c.alt,title:c.title||null,"class":d.join(" ")||null},v.setAttribs(b,q),r={href:c.linkUrl,rel:c.linkRel||null,target:c.linkTargetBlank?"_blank":null,"class":c.linkClassName||null},b.parentNode&&"A"===b.parentNode.nodeName&&!e(b.parentNode)?c.linkUrl?v.setAttribs(b.parentNode,r):v.remove(b.parentNode,!0):c.linkUrl&&((l=v.getParent(b,"a"))&&v.insertAfter(b,l),l=v.create("a",r),b.parentNode.insertBefore(l,b),l.appendChild(b)),m=a.dom.getParent(b,".mceTemp"),g=b.parentNode&&"A"===b.parentNode.nodeName&&!e(b.parentNode)?b.parentNode:b,c.caption?(p=c.attachment_id?"attachment_"+c.attachment_id:null,u="align"+(c.align||"none"),f="wp-caption "+u,c.captionClassName&&(f+=" "+c.captionClassName.replace(/[<>&]+/g,"")),a.getParam("wpeditimage_html5_captions")||(s=parseInt(s,10),s+=10),m?(o=v.select("dl.wp-caption",m),o.length&&v.setAttribs(o,{id:p,"class":f,style:"width: "+s+"px"}),n=v.select(".wp-caption-dd",m),n.length&&v.setHTML(n[0],c.caption)):(p=p?'id="'+p+'" ':"",h="<dl "+p+'class="'+f+'" style="width: '+s+'px"><dt class="wp-caption-dt">'+v.getOuterHTML(g)+'</dt><dd class="wp-caption-dd">'+c.caption+"</dd></dl>",(j=v.getParent(g,"p"))?(k=v.create("div",{"class":"mceTemp"},h),j.parentNode.insertBefore(k,j),v.remove(g),v.isEmpty(j)&&v.remove(j)):v.setOuterHTML(g,'<div class="mceTemp">'+h+"</div>"))):m&&(j=v.create("p"),m.parentNode.insertBefore(j,m),j.appendChild(g),v.remove(m)),wp.media.events&&wp.media.events.trigger("editor:image-update",{editor:a,metadata:c,image:b}),a.nodeChanged(),i(b)}function g(b){var c,e,g;return"undefined"!=typeof wp&&wp.media?(g=d(b),wp.media.events.trigger("editor:image-edit",{editor:a,metadata:g,image:b}),c=wp.media({frame:"image",state:"image-details",metadata:g}),wp.media.events.trigger("editor:frame-create",{frame:c}),e=function(d){a.focus(),a.undoManager.transact(function(){f(b,d)}),c.detach()},c.state("image-details").on("update",e),c.state("replace-image").on("replace",e),c.on("close",function(){a.focus(),c.detach(),o=!1}),void c.open()):void a.execCommand("mceImage")}function h(b){var c;"DIV"===b.nodeName&&a.dom.hasClass(b,"mceTemp")?c=b:("IMG"===b.nodeName||"DT"===b.nodeName||"A"===b.nodeName)&&(c=a.dom.getParent(b,"div.mceTemp")),c?(a.selection.select(c.nextSibling?c.nextSibling:c.previousSibling?c.previousSibling:c.parentNode),a.selection.collapse(!0),a.dom.remove(c)):a.dom.remove(b),j(),a.nodeChanged(),a.undoManager.add()}function i(b){var c,d,e,f,g=a.dom;j(),b&&"IMG"===b.nodeName&&!k(b)&&(g.setAttrib(b,"data-wp-imgselect",1),c=g.getRect(b),d='<i class="dashicons dashicons-edit edit" data-mce-bogus="all"></i><i class="dashicons dashicons-no-alt remove" data-mce-bogus="all"></i>',e=g.create("p",{id:"wp-image-toolbar","data-mce-bogus":"all",contenteditable:!1},d),f=a.rtl?c.x+c.w-82:c.x,a.getBody().appendChild(e),g.setStyles(e,{top:c.y,left:f}),n=!0)}function j(){var b=a.dom.get("wp-image-toolbar");b&&a.dom.remove(b),a.dom.setAttrib(a.dom.select("img[data-wp-imgselect]"),"data-wp-imgselect",null),o=!1,n=!1}function k(b){var c=a.dom;return c.hasClass(b,"mceItem")||c.getAttrib(b,"data-mce-placeholder")||c.getAttrib(b,"data-mce-object")?!0:!1}function l(a){return a&&"I"===a.nodeName&&"wp-image-toolbar"===a.parentNode.id}function m(b){var c,d=b.target,e=a.dom;b.button&&b.button>1||(l(d)?(c=e.select("img[data-wp-imgselect]")[0],c&&(a.selection.select(c),e.hasClass(d,"remove")?h(c):e.hasClass(d,"edit")&&(o||(g(c),o=!0))),b.preventDefault()):"IMG"!==d.nodeName||a.dom.getAttrib(d,"data-wp-imgselect")||k(d)?"IMG"!==d.nodeName&&j():i(d))}var n=!1,o=!1;return"ontouchend"in document&&a.on("click",function(a){var b=a.target;o&&"IMG"===b.nodeName&&a.preventDefault(),l(b)&&(a.preventDefault(),a.stopPropagation())}),a.on("mouseup touchend",m),a.on("init",function(){var b=a.dom,c=a.getParam("wpeditimage_html5_captions")?"html5-captions":"html4-captions";b.addClass(a.getBody(),c),a.on("wpLoadImageForm",function(b){if(!a.getParam("wpeditimage_disable_captions")){var c={type:"textbox",flex:1,name:"caption",minHeight:60,multiline:!0,scroll:!0,label:"Image caption"};b.data.splice(b.data.length-1,0,c)}}),a.on("wpNewImageRefresh",function(a){var c,d;(c=b.getParent(a.node,"dl.wp-caption"))&&(c.style.width||(d=parseInt(a.node.clientWidth,10)+10,d=d?d+"px":"50%",b.setStyle(c,"width",d)))}),a.on("wpImageFormSubmit",function(c){var d,e,f,g,h,i=c.imgData.data,j=c.imgData.node,k=c.imgData.caption,l="",m="",n="";return i.id="__wp-temp-img-id",c.imgData.cancel=!0,i.style||(i.style=null),i.src?(k&&(k=k.replace(/\r\n|\r/g,"\n").replace(/<\/?[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),k=k.replace(/(<br[^>]*>)\s*\n\s*/g,"$1").replace(/\s*\n\s*/g,"<br />")),j?(h=j.id||null,b.setAttribs(j,i),d=b.getParent(j,"dl.wp-caption"),k?d?(e=b.select("dd.wp-caption-dd",d)[0])&&(e.innerHTML=k):(j.className&&(l=j.className.match(/wp-image-([0-9]+)/),m=j.className.match(/align(left|right|center|none)/)),m?(m=m[0],j.className=j.className.replace(/align(left|right|center|none)/g,"")):m="alignnone",m=' class="wp-caption '+m+'"',l&&(l=' id="attachment_'+l[1]+'"'),n=i.width||j.clientWidth,n&&(n=parseInt(n,10),a.getParam("wpeditimage_html5_captions")||(n+=10),n=' style="width: '+n+'px"'),j.parentNode&&"A"===j.parentNode.nodeName?(g=b.getOuterHTML(j.parentNode),f=j.parentNode):(g=b.getOuterHTML(j),f=j),g="<dl "+l+m+n+'><dt class="wp-caption-dt">'+g+'</dt><dd class="wp-caption-dd">'+k+"</dd></dl>",(e=b.getParent(j,"p"))?(d=b.create("div",{"class":"mceTemp"},g),b.insertAfter(d,e),a.selection.select(d),a.nodeChanged(),b.remove(f),b.isEmpty(e)&&b.remove(e)):a.selection.setContent('<div class="mceTemp">'+g+"</div>")):d&&(g=b.getOuterHTML("A"===j.parentNode.nodeName?j.parentNode:j),e=b.create("p",{},g),b.insertAfter(e,d.parentNode),a.selection.select(e),a.nodeChanged(),b.remove(d.parentNode))):(g=b.createHTML("img",i),k?(f=a.selection.getNode(),i.width&&(n=parseInt(i.width,10),a.getParam("wpeditimage_html5_captions")||(n+=10),n=' style="width: '+n+'px"'),g='<dl class="wp-caption alignnone"'+n+'><dt class="wp-caption-dt">'+g+'</dt><dd class="wp-caption-dd">'+k+"</dd></dl>",e="P"===f.nodeName?f:b.getParent(f,"p"),e&&"P"===e.nodeName?(d=b.create("div",{"class":"mceTemp"},g),e.parentNode.insertBefore(d,e),a.selection.select(d),a.nodeChanged(),b.isEmpty(e)&&b.remove(e)):a.selection.setContent('<div class="mceTemp">'+g+"</div>")):a.selection.setContent(g)),j=b.get("__wp-temp-img-id"),b.setAttrib(j,"id",h),void(c.imgData.node=j)):void(j&&(b.remove((d=b.getParent(j,"div.mceTemp"))?d:"A"===j.parentNode.nodeName?j.parentNode:j),a.nodeChanged()))}),a.on("wpLoadImageData",function(c){var d,e=c.imgData.data,f=c.imgData.node;(d=b.getParent(f,"dl.wp-caption"))&&(d=b.select("dd.wp-caption-dd",d)[0],d&&(e.caption=a.serializer.serialize(d).replace(/<br[^>]*>/g,"$&\n").replace(/^<p>/,"").replace(/<\/p>$/,"")))}),b.bind(a.getDoc(),"dragstart",function(c){var d=a.selection.getNode();"IMG"===d.nodeName&&b.getParent(d,".wp-caption")&&c.preventDefault(),j()}),tinymce.Env.ie&&tinymce.Env.ie>10&&(b.bind(a.getBody(),"mscontrolselect",function(c){"IMG"===c.target.nodeName&&b.getParent(c.target,".wp-caption")?a.getBody().focus():"DL"===c.target.nodeName&&b.hasClass(c.target,"wp-caption")&&c.target.focus()}),a.on("click",function(c){"IMG"===c.target.nodeName&&b.getAttrib(c.target,"data-wp-imgselect")&&b.getParent(c.target,"dl.wp-caption")&&a.getBody().focus()}))}),a.on("ObjectResized",function(b){var c=b.target;"IMG"===c.nodeName&&a.undoManager.transact(function(){var d,e,f=a.dom;c.className=c.className.replace(/\bsize-[^ ]+/,""),(d=f.getParent(c,".wp-caption"))&&(e=b.width||f.getAttrib(c,"width"),e&&(e=parseInt(e,10),a.getParam("wpeditimage_html5_captions")||(e+=10),f.setStyle(d,"width",e+"px"))),i(c)})}),a.on("BeforeExecCommand",function(b){var c,d,e,f,g=b.command,h=a.dom;"mceInsertContent"===g?(c=h.getParent(a.selection.getNode(),"div.mceTemp"))&&(d=h.create("p"),h.insertAfter(d,c),a.selection.setCursorLocation(d,0),a.nodeChanged()):("JustifyLeft"===g||"JustifyRight"===g||"JustifyCenter"===g)&&(c=a.selection.getNode(),f=g.substr(7).toLowerCase(),f="align"+f,e=h.getParent(c,"dl.wp-caption"),j(),e&&(h.hasClass(e,f)?(h.removeClass(e,f),h.addClass(e,"alignnone")):(e.className=e.className.replace(/align[^ ]+/g,""),h.addClass(e,f)),"IMG"===c.nodeName&&a.nodeChanged(),b.preventDefault()),"IMG"===c.nodeName&&(h.hasClass(c,f)?h.addClass(c,"alignnone"):h.removeClass(c,"alignnone")))}),a.on("keydown",function(b){var c,d,e,f,g=a.selection,i=b.keyCode,k=a.dom,l=tinymce.util.VK;if(i===l.ENTER)c=g.getNode(),d=k.getParent(c,"div.mceTemp"),d&&(k.events.cancel(b),tinymce.each(k.select("dt, dd",d),function(a){k.isEmpty(a)&&k.remove(a)}),f=tinymce.Env.ie&&tinymce.Env.ie<11?"":'<br data-mce-bogus="1" />',e=k.create("p",null,f),"DD"===c.nodeName?k.insertAfter(e,d):d.parentNode.insertBefore(e,d),a.nodeChanged(),g.setCursorLocation(e,0));else if(i===l.DELETE||i===l.BACKSPACE){if(c=g.getNode(),"DIV"===c.nodeName&&k.hasClass(c,"mceTemp")?d=c:("IMG"===c.nodeName||"DT"===c.nodeName||"A"===c.nodeName)&&(d=k.getParent(c,"div.mceTemp")),d)return k.events.cancel(b),h(c),!1;j()}if(n){if(b.ctrlKey||b.metaKey||b.altKey||48>i&&i!==l.SPACEBAR)return;j()}}),a.on("mousedown",function(a){l(a.target)?tinymce.Env.ie&&a.preventDefault():"IMG"!==a.target.nodeName&&j()}),a.on("BeforeAddUndo",function(a){a.level.content=a.level.content.replace(/ data-wp-imgselect="1"/g,"")}),tinymce.Env.gecko&&a.on("undo redo",function(){"IMG"===a.selection.getNode().nodeName&&a.selection.collapse()}),a.on("cut wpview-selected",function(){j()}),a.wpSetImgCaption=function(a){return b(a)},a.wpGetImgCaption=function(a){return c(a)},a.on("BeforeSetContent",function(b){"raw"!==b.format&&(b.content=a.wpSetImgCaption(b.content))}),a.on("PostProcess",function(b){b.get&&(b.content=a.wpGetImgCaption(b.content),b.content=b.content.replace(/ data-wp-imgselect="1"/g,""))}),{_do_shcode:b,_get_shcode:c}});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.js b/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.js
index ed60d3cd5..9e0940e9e 100644
--- a/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.js
+++ b/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.js
@@ -3,81 +3,54 @@
  * WP Fullscreen (Distraction Free Writing) TinyMCE plugin
  */
 tinymce.PluginManager.add( 'wpfullscreen', function( editor ) {
-	var settings = editor.settings,
-		oldSize = 0;
-
-	function resize( e ) {
-		var deltaSize, myHeight,
-			d = editor.getDoc(),
-			body = d.body,
-			DOM = tinymce.DOM,
-			resizeHeight = 250;
-
-		if ( ( e && e.type === 'setcontent' && e.initial ) || editor.settings.inline ) {
-			return;
-		}
-
-		// Get height differently depending on the browser used
-		myHeight = tinymce.Env.ie ? body.scrollHeight : ( tinymce.Env.webkit && body.clientHeight === 0 ? 0 : body.offsetHeight );
-
-		// Don't make it smaller than 250px
-		if ( myHeight > 250 ) {
-			resizeHeight = myHeight;
-		}
-
-		body.scrollTop = 0;
-
-		// Resize content element
-		if ( resizeHeight !== oldSize ) {
-			deltaSize = resizeHeight - oldSize;
-			DOM.setStyle( DOM.get( editor.id + '_ifr' ), 'height', resizeHeight + 'px' );
-			oldSize = resizeHeight;
-
-			// WebKit doesn't decrease the size of the body element until the iframe gets resized
-			// So we need to continue to resize the iframe down until the size gets fixed
-			if ( tinymce.isWebKit && deltaSize < 0 ) {
-				resize( e );
-			}
-		}
-	}
-
-	// Register the command
-	editor.addCommand( 'wpAutoResize', resize );
+	var settings = editor.settings;
 
 	function fullscreenOn() {
 		settings.wp_fullscreen = true;
 		editor.dom.addClass( editor.getDoc().documentElement, 'wp-fullscreen' );
-		// Add listeners for auto-resizing
-		editor.on( 'change setcontent paste keyup', resize );
+		// Start auto-resizing
+		editor.execCommand( 'wpAutoResizeOn' );
 	}
 
 	function fullscreenOff() {
 		settings.wp_fullscreen = false;
 		editor.dom.removeClass( editor.getDoc().documentElement, 'wp-fullscreen' );
-		// Remove listeners for auto-resizing
-		editor.off( 'change setcontent paste keyup', resize );
-		oldSize = 0;
+		// Stop auto-resizing
+		editor.execCommand( 'wpAutoResizeOff' );
 	}
 
 	// For use from outside the editor.
 	editor.addCommand( 'wpFullScreenOn', fullscreenOn );
 	editor.addCommand( 'wpFullScreenOff', fullscreenOff );
 
+	function getExtAPI() {
+		return ( typeof wp !== 'undefined' && wp.editor && wp.editor.fullscreen );
+	}
+
+	// Toggle DFW mode. For use from inside the editor.
 	function toggleFullscreen() {
-		// Toggle DFW mode. For use from inside the editor.
-		if ( typeof wp === 'undefined' || ! wp.editor || ! wp.editor.fullscreen ) {
-			return;
-		}
+		var fullscreen = getExtAPI();
 
-		if ( editor.getParam('wp_fullscreen') ) {
-			wp.editor.fullscreen.off();
-		} else {
-			wp.editor.fullscreen.on();
+		if ( fullscreen ) {
+			if ( editor.getParam('wp_fullscreen') ) {
+				fullscreen.off();
+			} else {
+				fullscreen.on();
+			}
 		}
 	}
 
 	editor.addCommand( 'wpFullScreen', toggleFullscreen );
 
+	editor.on( 'keydown', function( event ) {
+		var fullscreen;
+
+		// Turn fullscreen off when Esc is pressed.
+		if ( event.keyCode === 27 && ( fullscreen = getExtAPI() ) && fullscreen.settings.visible ) {
+			fullscreen.off();
+		}
+	});
+
 	editor.on( 'init', function() {
 		// Set the editor when initializing from whitin DFW
 		if ( editor.getParam('wp_fullscreen') ) {
diff --git a/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.min.js b/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.min.js
index b45073523..22295c375 100644
--- a/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.min.js
@@ -1 +1 @@
-tinymce.PluginManager.add("wpfullscreen",function(a){function b(c){var d,e,f=a.getDoc(),h=f.body,i=tinymce.DOM,j=250;c&&"setcontent"===c.type&&c.initial||a.settings.inline||(e=tinymce.Env.ie?h.scrollHeight:tinymce.Env.webkit&&0===h.clientHeight?0:h.offsetHeight,e>250&&(j=e),h.scrollTop=0,j!==g&&(d=j-g,i.setStyle(i.get(a.id+"_ifr"),"height",j+"px"),g=j,tinymce.isWebKit&&0>d&&b(c)))}function c(){f.wp_fullscreen=!0,a.dom.addClass(a.getDoc().documentElement,"wp-fullscreen"),a.on("change setcontent paste keyup",b)}function d(){f.wp_fullscreen=!1,a.dom.removeClass(a.getDoc().documentElement,"wp-fullscreen"),a.off("change setcontent paste keyup",b),g=0}function e(){"undefined"!=typeof wp&&wp.editor&&wp.editor.fullscreen&&(a.getParam("wp_fullscreen")?wp.editor.fullscreen.off():wp.editor.fullscreen.on())}var f=a.settings,g=0;a.addCommand("wpAutoResize",b),a.addCommand("wpFullScreenOn",c),a.addCommand("wpFullScreenOff",d),a.addCommand("wpFullScreen",e),a.on("init",function(){a.getParam("wp_fullscreen")&&c(),a.addShortcut("alt+shift+w","","wpFullScreen")}),a.addButton("wp_fullscreen",{tooltip:"Distraction Free Writing",shortcut:"Alt+Shift+W",onclick:e,classes:"wp-fullscreen btn widget"}),a.addMenuItem("wp_fullscreen",{text:"Distraction Free Writing",icon:"wp_fullscreen",shortcut:"Alt+Shift+W",context:"view",onclick:e})});
\ No newline at end of file
+tinymce.PluginManager.add("wpfullscreen",function(a){function b(){f.wp_fullscreen=!0,a.dom.addClass(a.getDoc().documentElement,"wp-fullscreen"),a.execCommand("wpAutoResizeOn")}function c(){f.wp_fullscreen=!1,a.dom.removeClass(a.getDoc().documentElement,"wp-fullscreen"),a.execCommand("wpAutoResizeOff")}function d(){return"undefined"!=typeof wp&&wp.editor&&wp.editor.fullscreen}function e(){var b=d();b&&(a.getParam("wp_fullscreen")?b.off():b.on())}var f=a.settings;a.addCommand("wpFullScreenOn",b),a.addCommand("wpFullScreenOff",c),a.addCommand("wpFullScreen",e),a.on("keydown",function(a){var b;27===a.keyCode&&(b=d())&&b.settings.visible&&b.off()}),a.on("init",function(){a.getParam("wp_fullscreen")&&b(),a.addShortcut("alt+shift+w","","wpFullScreen")}),a.addButton("wp_fullscreen",{tooltip:"Distraction Free Writing",shortcut:"Alt+Shift+W",onclick:e,classes:"wp-fullscreen btn widget"}),a.addMenuItem("wp_fullscreen",{text:"Distraction Free Writing",icon:"wp_fullscreen",shortcut:"Alt+Shift+W",context:"view",onclick:e})});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wplink/plugin.js b/wp-includes/js/tinymce/plugins/wplink/plugin.js
index d992360b8..8c055857f 100644
--- a/wp-includes/js/tinymce/plugins/wplink/plugin.js
+++ b/wp-includes/js/tinymce/plugins/wplink/plugin.js
@@ -15,9 +15,10 @@ tinymce.PluginManager.add( 'wplink', function( editor ) {
 	editor.addShortcut( 'ctrl+k', '', 'WP_Link' );
 
 	function setState( button, node ) {
-		var parent = editor.dom.getParent( node, 'a' );
+		var parent = editor.dom.getParent( node, 'a' ),
+			getView = editor.plugins.wpview ? editor.plugins.wpview.getView : function() { return false; };
 
-		button.disabled( ( editor.selection.isCollapsed() && ! parent ) || ( parent && ! parent.href ) );
+		button.disabled( ( editor.selection.isCollapsed() && ! parent ) || ( parent && ! parent.href ) || getView( node ) );
 		button.active( parent && parent.href );
 	}
 
diff --git a/wp-includes/js/tinymce/plugins/wplink/plugin.min.js b/wp-includes/js/tinymce/plugins/wplink/plugin.min.js
index dc282b9f3..32203b75c 100644
--- a/wp-includes/js/tinymce/plugins/wplink/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/wplink/plugin.min.js
@@ -1 +1 @@
-tinymce.PluginManager.add("wplink",function(a){function b(b,c){var d=a.dom.getParent(c,"a");b.disabled(a.selection.isCollapsed()&&!d||d&&!d.href),b.active(d&&d.href)}var c;a.addCommand("WP_Link",function(){c&&c.disabled()||"undefined"==typeof window.wpLink||window.wpLink.open(a.id)}),a.addShortcut("alt+shift+a","","WP_Link"),a.addShortcut("ctrl+k","","WP_Link"),a.addButton("link",{icon:"link",tooltip:"Insert/edit link",shortcut:"Alt+Shift+A",cmd:"WP_Link",onPostRender:function(){c=this,a.on("nodechange",function(a){b(c,a.element)})}}),a.addButton("unlink",{icon:"unlink",tooltip:"Remove link",cmd:"unlink",onPostRender:function(){var c=this;a.on("nodechange",function(a){b(c,a.element)})}}),a.addMenuItem("link",{icon:"link",text:"Insert link",shortcut:"Alt+Shift+A",cmd:"WP_Link",stateSelector:"a[href]",context:"insert",prependToContext:!0})});
\ No newline at end of file
+tinymce.PluginManager.add("wplink",function(a){function b(b,c){var d=a.dom.getParent(c,"a"),e=a.plugins.wpview?a.plugins.wpview.getView:function(){return!1};b.disabled(a.selection.isCollapsed()&&!d||d&&!d.href||e(c)),b.active(d&&d.href)}var c;a.addCommand("WP_Link",function(){c&&c.disabled()||"undefined"==typeof window.wpLink||window.wpLink.open(a.id)}),a.addShortcut("alt+shift+a","","WP_Link"),a.addShortcut("ctrl+k","","WP_Link"),a.addButton("link",{icon:"link",tooltip:"Insert/edit link",shortcut:"Alt+Shift+A",cmd:"WP_Link",onPostRender:function(){c=this,a.on("nodechange",function(a){b(c,a.element)})}}),a.addButton("unlink",{icon:"unlink",tooltip:"Remove link",cmd:"unlink",onPostRender:function(){var c=this;a.on("nodechange",function(a){b(c,a.element)})}}),a.addMenuItem("link",{icon:"link",text:"Insert link",shortcut:"Alt+Shift+A",cmd:"WP_Link",stateSelector:"a[href]",context:"insert",prependToContext:!0})});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpview/plugin.js b/wp-includes/js/tinymce/plugins/wpview/plugin.js
index 4e224b068..7bbf46657 100644
--- a/wp-includes/js/tinymce/plugins/wpview/plugin.js
+++ b/wp-includes/js/tinymce/plugins/wpview/plugin.js
@@ -1,44 +1,50 @@
 /* global tinymce */
+
 /**
  * WordPress View plugin.
  */
 tinymce.PluginManager.add( 'wpview', function( editor ) {
 	var selected,
+		Env = tinymce.Env,
 		VK = tinymce.util.VK,
 		TreeWalker = tinymce.dom.TreeWalker,
-		toRemove = false;
+		toRemove = false,
+		firstFocus = true,
+		_noop = function() { return false; },
+		isios = /iPad|iPod|iPhone/.test( navigator.userAgent ),
+		cursorInterval, lastKeyDownNode, setViewCursorTries, focus, execCommandView;
+
+	function getView( node ) {
+		return getParent( node, 'wpview-wrap' );
+	}
 
-	function getParentView( node ) {
-		while ( node && node.nodeName !== 'BODY' ) {
-			if ( isView( node ) ) {
+	/**
+	 * Returns the node or a parent of the node that has the passed className.
+	 * Doing this directly is about 40% faster
+	 */
+	function getParent( node, className ) {
+		while ( node && node.parentNode ) {
+			if ( node.className && ( ' ' + node.className + ' ' ).indexOf( ' ' + className + ' ' ) !== -1 ) {
 				return node;
 			}
 
 			node = node.parentNode;
 		}
-	}
-
-	function isView( node ) {
-		return node && /\bwpview-wrap\b/.test( node.className );
-	}
 
-	function createPadNode() {
-		return editor.dom.create( 'p', { 'data-wpview-pad': 1 },
-			( tinymce.Env.ie && tinymce.Env.ie < 11 ) ? '' : '<br data-mce-bogus="1" />' );
+		return false;
 	}
 
 	/**
 	 * Get the text/shortcode string for a view.
 	 *
-	 * @param view The view wrapper's HTML id or node
+	 * @param view The view wrapper's node
 	 * @returns string The text/shoercode string of the view
 	 */
 	function getViewText( view ) {
-		view = getParentView( typeof view === 'string' ? editor.dom.get( view ) : view );
-
-		if ( view ) {
+		if ( view = getView( view ) ) {
 			return window.decodeURIComponent( editor.dom.getAttrib( view, 'data-wpview-text' ) || '' );
 		}
+
 		return '';
 	}
 
@@ -49,12 +55,13 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
 	 * @param text The text string to be set
 	 */
 	function setViewText( view, text ) {
-		view = getParentView( typeof view === 'string' ? editor.dom.get( view ) : view );
+		view = getView( view );
 
 		if ( view ) {
 			editor.dom.setAttrib( view, 'data-wpview-text', window.encodeURIComponent( text || '' ) );
 			return true;
 		}
+
 		return false;
 	}
 
@@ -62,38 +69,86 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
 		event.stopPropagation();
 	}
 
+	function setViewCursor( before, view ) {
+		var location = before ? 'before' : 'after',
+			offset = before ? 0 : 1;
+		deselect();
+		editor.selection.setCursorLocation( editor.dom.select( '.wpview-selection-' + location, view )[0], offset );
+		editor.nodeChanged();
+	}
+
+	function handleEnter( view, before, key ) {
+		var dom = editor.dom,
+			padNode = dom.create( 'p' );
+
+		if ( ! ( Env.ie && Env.ie < 11 ) ) {
+			padNode.innerHTML = '<br data-mce-bogus="1">';
+		}
+
+		if ( before ) {
+			view.parentNode.insertBefore( padNode, view );
+		} else {
+			dom.insertAfter( padNode, view );
+		}
+
+		deselect();
+
+		if ( before && key === VK.ENTER ) {
+			setViewCursor( before, view );
+		} else {
+			editor.selection.setCursorLocation( padNode, 0 );
+		}
+
+		editor.nodeChanged();
+	}
+
+	function removeView( view ) {
+		// TODO: trigger an event to run a clean up function.
+		// Maybe `jQuery( view ).trigger( 'remove' );`?
+		editor.undoManager.transact( function() {
+			handleEnter( view );
+			editor.dom.remove( view );
+		});
+	}
+
 	function select( viewNode ) {
 		var clipboard,
 			dom = editor.dom;
 
 		// Bail if node is already selected.
-		if ( viewNode === selected ) {
+		if ( ! viewNode || viewNode === selected ) {
 			return;
 		}
 
+		// Make sure that the editor is focused.
+		// It is possible that the editor is not focused when the mouse event fires
+		// without focus, the selection will not work properly.
+		editor.getBody().focus();
+
 		deselect();
 		selected = viewNode;
-		dom.addClass( viewNode, 'selected' );
+		dom.setAttrib( viewNode, 'data-mce-selected', 1 );
 
 		clipboard = dom.create( 'div', {
 			'class': 'wpview-clipboard',
 			'contenteditable': 'true'
 		}, getViewText( viewNode ) );
 
-		// Prepend inside the wrapper
-		viewNode.insertBefore( clipboard, viewNode.firstChild );
+		editor.dom.select( '.wpview-body', viewNode )[0].appendChild( clipboard );
 
 		// Both of the following are necessary to prevent manipulating the selection/focus
 		dom.bind( clipboard, 'beforedeactivate focusin focusout', _stop );
 		dom.bind( selected, 'beforedeactivate focusin focusout', _stop );
 
-		// Make sure that the editor is focused.
-		// It is possible that the editor is not focused when the mouse event fires
-		// without focus, the selection will not work properly.
-		editor.getBody().focus();
-
 		// select the hidden div
-		editor.selection.select( clipboard, true );
+		if ( isios ) {
+			editor.selection.select( clipboard );
+		} else {
+			editor.selection.select( clipboard, true );
+		}
+
+		editor.nodeChanged();
+		editor.fire( 'wpview-selected', viewNode );
 	}
 
 	/**
@@ -109,41 +164,24 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
 			dom.remove( clipboard );
 
 			dom.unbind( selected, 'beforedeactivate focusin focusout click mouseup', _stop );
-			dom.removeClass( selected, 'selected' );
+			dom.setAttrib( selected, 'data-mce-selected', null );
 		}
 
 		selected = null;
 	}
 
-	function selectSiblingView( node, direction ) {
-		var body = editor.getBody(),
-			sibling = direction === 'previous' ? 'previousSibling' : 'nextSibling';
-
-		while ( node && node.parentNode !== body ) {
-			if ( node[sibling] ) {
-				// The caret will be in another element
-				return false;
-			}
-
-			node = node.parentNode;
-		}
-
-		if ( isView( node[sibling] ) ) {
-			select( node[sibling] );
-			return true;
-		}
-
-		return false;
-	}
-
 	// Check if the `wp.mce` API exists.
 	if ( typeof wp === 'undefined' || ! wp.mce ) {
-		return;
+		return {
+			getViewText: _noop,
+			setViewText: _noop,
+			getView: _noop
+		};
 	}
 
 	// Remove the content of view wrappers from HTML string
 	function emptyViews( content ) {
-		return content.replace(/(<div[^>]+wpview-wrap[^>]+>)[\s\S]+?data-wpview-end[^>]*><\/ins><\/div>/g, '$1</div>' );
+		return content.replace(/<div[^>]+data-wpview-text=\"([^"]+)"[^>]*>[\s\S]+?wpview-selection-after[^>]+>(?:&nbsp;|\u00a0)*<\/p><\/div>/g, '$1' );
 	}
 
 	// Prevent adding undo levels on changes inside a view wrapper
@@ -157,12 +195,22 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
 	// matching view patterns, and transform the matches into
 	// view wrappers.
 	editor.on( 'BeforeSetContent', function( event ) {
+		var node;
+
 		if ( ! event.content ) {
 			return;
 		}
 
-		if ( ! event.initial ) {
-			wp.mce.views.unbind( editor );
+		if ( selected ) {
+			removeView( selected );
+		}
+
+		node = editor.selection.getNode();
+
+		// When a url is pasted, only try to embed it when pasted in an empty paragrapgh.
+		if ( event.content.match( /^\s*(https?:\/\/[^\s"]+)\s*$/i ) &&
+			( node.nodeName !== 'P' || node.parentNode !== editor.getBody() || ! editor.dom.isEmpty( node ) ) ) {
+			return;
 		}
 
 		event.content = wp.mce.views.toViews( event.content );
@@ -170,77 +218,63 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
 
 	// When the editor's content has been updated and the DOM has been
 	// processed, render the views in the document.
-	editor.on( 'SetContent', function( event ) {
-		var body, padNode;
-
+	editor.on( 'SetContent', function() {
 		wp.mce.views.render();
-
-		// Add padding <p> if the noneditable node is last
-		if ( event.load || ! event.set ) {
-			body = editor.getBody();
-
-			if ( isView( body.lastChild ) ) {
-				padNode = createPadNode();
-				body.appendChild( padNode );
-
-				if ( ! event.initial ) {
-					editor.selection.setCursorLocation( padNode, 0 );
-				}
-			}
-		}
 	});
 
-	// Detect mouse down events that are adjacent to a view when a view is the first view or the last view
+	// Set the cursor before or after a view when clicking next to it.
 	editor.on( 'click', function( event ) {
-		var body = editor.getBody(),
-			doc = editor.getDoc(),
-			scrollTop = doc.documentElement.scrollTop || body.scrollTop || 0,
-			x, y, firstNode, lastNode, padNode;
-
-		if ( event.target.nodeName === 'HTML' && ! event.metaKey && ! event.ctrlKey ) {
-			firstNode = body.firstChild;
-			lastNode = body.lastChild;
-			x = event.clientX;
-			y = event.clientY;
-
-			// Detect clicks above or to the left if the first node is a wpview
-			if ( isView( firstNode ) && ( ( x < firstNode.offsetLeft && y < ( firstNode.offsetHeight - scrollTop ) ) ||
-				y < firstNode.offsetTop ) ) {
-
-				padNode = createPadNode();
-				body.insertBefore( padNode, firstNode );
-
-			// Detect clicks to the right and below the last view
-			} else if ( isView( lastNode ) && ( x > ( lastNode.offsetLeft + lastNode.offsetWidth ) ||
-				( ( scrollTop + y ) - ( lastNode.offsetTop + lastNode.offsetHeight ) ) > 0 ) ) {
-
-				padNode = createPadNode();
-				body.appendChild( padNode );
-			}
-
-			if ( padNode ) {
-				// Make sure that a selected view is deselected so that focus and selection are handled properly
-				deselect();
-				editor.getBody().focus();
-				editor.selection.setCursorLocation( padNode, 0 );
-			}
+		var x = event.clientX,
+			y = event.clientY,
+			body = editor.getBody(),
+			bodyRect = body.getBoundingClientRect(),
+			first = body.firstChild,
+			firstRect = first.getBoundingClientRect(),
+			last = body.lastChild,
+			lastRect = last.getBoundingClientRect(),
+			view;
+
+		if ( y < firstRect.top && ( view = getView( first ) ) ) {
+			setViewCursor( true, view );
+			event.preventDefault();
+		} else if ( y > lastRect.bottom && ( view = getView( last ) ) ) {
+			setViewCursor( false, view );
+			event.preventDefault();
+		} else {
+			tinymce.each( editor.dom.select( '.wpview-wrap' ), function( view ) {
+				var rect = view.getBoundingClientRect();
+
+				if ( y >= rect.top && y <= rect.bottom ) {
+					if ( x < bodyRect.left ) {
+						setViewCursor( true, view );
+						event.preventDefault();
+					} else if ( x > bodyRect.right ) {
+						setViewCursor( false, view );
+						event.preventDefault();
+					}
+					return;
+				}
+			});
 		}
 	});
 
 	editor.on( 'init', function() {
-		var selection = editor.selection;
+		var scrolled = false,
+			selection = editor.selection,
+			MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
+
 		// When a view is selected, ensure content that is being pasted
 		// or inserted is added to a text node (instead of the view).
 		editor.on( 'BeforeSetContent', function() {
 			var walker, target,
-				view = getParentView( selection.getNode() );
+				view = getView( selection.getNode() );
 
 			// If the selection is not within a view, bail.
 			if ( ! view ) {
 				return;
 			}
 
-			if ( ! view.nextSibling || isView( view.nextSibling ) ) {
+			if ( ! view.nextSibling || getView( view.nextSibling ) ) {
 				// If there are no additional nodes or the next node is a
 				// view, create a text node after the current view.
 				target = editor.getDoc().createTextNode('');
@@ -256,86 +290,66 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
 			selection.collapse( true );
 		});
 
-		// When the selection's content changes, scan any new content
-		// for matching views.
-		//
-		// Runs on paste and on inserting nodes/html.
-		editor.on( 'SetContent', function( e ) {
-			if ( ! e.context ) {
-				return;
-			}
-
-			var node = selection.getNode();
-
-			if ( ! node.innerHTML ) {
-				return;
-			}
-
-			node.innerHTML = wp.mce.views.toViews( node.innerHTML );
+		editor.dom.bind( editor.getDoc(), 'touchmove', function() {
+			scrolled = true;
 		});
 
-		editor.dom.bind( editor.getBody(), 'mousedown mouseup click', function( event ) {
-			var view = getParentView( event.target ),
-				deselectEventType;
+		editor.on( 'mousedown mouseup click touchend', function( event ) {
+			var view = getView( event.target );
+
+			firstFocus = false;
 
 			// Contain clicks inside the view wrapper
 			if ( view ) {
-				event.stopPropagation();
-
-				// Hack to try and keep the block resize handles from appearing. They will show on mousedown and then be removed on mouseup.
-				if ( tinymce.Env.ie <= 10 ) {
-					deselect();
-				}
-
-				select( view );
+				event.stopImmediatePropagation();
+				event.preventDefault();
 
-				if ( event.type === 'click' && ! event.metaKey && ! event.ctrlKey ) {
+				if ( ( event.type === 'touchend' || event.type === 'mousedown' ) && ! event.metaKey && ! event.ctrlKey ) {
 					if ( editor.dom.hasClass( event.target, 'edit' ) ) {
 						wp.mce.views.edit( view );
+						editor.focus();
+						return false;
 					} else if ( editor.dom.hasClass( event.target, 'remove' ) ) {
-						editor.dom.remove( view );
+						removeView( view );
+						return false;
 					}
 				}
-				// Returning false stops the ugly bars from appearing in IE11 and stops the view being selected as a range in FF.
-				// Unfortunately, it also inhibits the dragging of views to a new location.
-				return false;
-			} else {
 
-				// Fix issue with deselecting a view in IE8. Without this hack, clicking content above the view wouldn't actually deselect it
-				// and the caret wouldn't be placed at the mouse location
-				if ( tinymce.Env.ie && tinymce.Env.ie <= 8 ) {
-					deselectEventType = 'mouseup';
+				if ( event.type === 'touchend' && scrolled ) {
+					scrolled = false;
 				} else {
-					deselectEventType = 'mousedown';
+					select( view );
 				}
 
-				if ( event.type === deselectEventType ) {
+				// Returning false stops the ugly bars from appearing in IE11 and stops the view being selected as a range in FF.
+				// Unfortunately, it also inhibits the dragging of views to a new location.
+				return false;
+			} else {
+				if ( event.type === 'touchend' || event.type === 'mousedown' ) {
 					deselect();
 				}
 			}
-		});
-	});
 
-	editor.on( 'PreProcess', function( event ) {
-		var dom = editor.dom;
-
-		// Remove empty padding nodes
-		tinymce.each( dom.select( 'p[data-wpview-pad]', event.node ), function( node ) {
-			if ( dom.isEmpty( node ) ) {
-				dom.remove( node );
-			} else {
-				dom.setAttrib( node, 'data-wpview-pad', null );
+			if ( event.type === 'touchend' && scrolled ) {
+				scrolled = false;
 			}
-		});
+		}, true );
+
+		if ( MutationObserver ) {
+			new MutationObserver( function() {
+				editor.fire( 'wp-body-class-change' );
+			} )
+			.observe( editor.getBody(), {
+				attributes: true,
+				attributeFilter: ['class']
+			} );
+		}
+	});
 
-		// Replace the wpview node with the wpview string/shortcode?
-		tinymce.each( dom.select( 'div[data-wpview-text]', event.node ), function( node ) {
-			// Empty the wrap node
-			if ( 'textContent' in node ) {
-				node.textContent = '\u00a0';
-			} else {
-				node.innerText = '\u00a0';
-			}
+	editor.on( 'PreProcess', function( event ) {
+		// Empty the wpview wrap nodes
+		tinymce.each( editor.dom.select( 'div[data-wpview-text]', event.node ), function( node ) {
+			node.textContent = node.innerText = '\u00a0';
 		});
     });
 
@@ -350,163 +364,331 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
 		}
 	});
 
+	// Excludes arrow keys, delete, backspace, enter, space bar.
+	// Ref: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.keyCode
+	function isSpecialKey( key ) {
+		return ( ( key <= 47 && key !== VK.SPACEBAR && key !== VK.ENTER && key !== VK.DELETE && key !== VK.BACKSPACE && ( key < 37 || key > 40 ) ) ||
+			key >= 224 || // OEM or non-printable 
+			( key >= 144 && key <= 150 ) || // Num Lock, Scroll Lock, OEM
+			( key >= 91 && key <= 93 ) || // Windows keys
+			( key >= 112 && key <= 135 ) ); // F keys
+	}
+
+	// (De)select views when arrow keys are used to navigate the content of the editor.
 	editor.on( 'keydown', function( event ) {
-		var keyCode = event.keyCode,
-			body = editor.getBody(),
-			view, padNode;
+		var key = event.keyCode,
+			dom = editor.dom,
+			selection = editor.selection,
+			node, view, cursorBefore, cursorAfter,
+			range, clonedRange, tempRange;
 
-		// If a view isn't selected, let the event go on its merry way.
-		if ( ! selected ) {
-			return;
-		}
+		if ( selected ) {
+			// Ignore key presses that involve the command or control key, but continue when in combination with backspace or v.
+			// Also ignore the F# keys.
+			if ( ( ( event.metaKey || event.ctrlKey ) && key !== VK.BACKSPACE && key !== 86 ) || ( key >= 112 && key <= 123 ) ) {
+				// Remove the view when pressing cmd/ctrl+x on keyup, otherwise the browser can't copy the content.
+				if ( ( event.metaKey || event.ctrlKey ) && key === 88 ) {
+					toRemove = selected;
+				}
+				return;
+			}
+
+			view = getView( selection.getNode() );
 
-		// Let keypresses that involve the command or control keys through.
-		// Also, let any of the F# keys through.
-		if ( event.metaKey || event.ctrlKey || ( keyCode >= 112 && keyCode <= 123 ) ) {
-			if ( ( event.metaKey || event.ctrlKey ) && keyCode === 88 ) {
-				toRemove = selected;
+			// If the caret is not within the selected view, deselect the view and bail.
+			if ( view !== selected ) {
+				deselect();
+				return;
 			}
-			return;
-		}
 
-		view = getParentView( editor.selection.getNode() );
+			if ( key === VK.LEFT ) {
+				setViewCursor( true, view );
+				event.preventDefault();
+			} else if ( key === VK.UP ) {
+				if ( view.previousSibling ) {
+					if ( getView( view.previousSibling ) ) {
+						setViewCursor( true, view.previousSibling );
+					} else {
+						deselect();
+						selection.select( view.previousSibling, true );
+						selection.collapse();
+					}
+				} else {
+					setViewCursor( true, view );
+				}
+				event.preventDefault();
+			} else if ( key === VK.RIGHT ) {
+				setViewCursor( false, view );
+				event.preventDefault();
+			} else if ( key === VK.DOWN ) {
+				if ( view.nextSibling ) {
+					if ( getView( view.nextSibling ) ) {
+						setViewCursor( false, view.nextSibling );
+					} else {
+						deselect();
+						selection.setCursorLocation( view.nextSibling, 0 );
+					}
+				} else {
+					setViewCursor( false, view );
+				}
 
-		// If the caret is not within the selected view, deselect the
-		// view and bail.
-		if ( view !== selected ) {
-			deselect();
-			return;
-		}
+				event.preventDefault();
+			// Ignore keys that don't insert anything.
+			} else if ( ! isSpecialKey( key ) ) {
+				removeView( selected );
 
-		// Deselect views with the arrow keys
-		if ( keyCode === VK.LEFT || keyCode === VK.UP ) {
-			deselect();
-			// Handle case where two views are stacked on top of one another
-			if ( isView( view.previousSibling ) ) {
-				select( view.previousSibling );
-			// Handle case where view is the first node
-			} else if ( ! view.previousSibling ) {
-				padNode = createPadNode();
-				body.insertBefore( padNode, body.firstChild );
-				editor.selection.setCursorLocation( body.firstChild, 0 );
-			// Handle default case
-			} else {
-				editor.selection.select( view.previousSibling, true );
-				editor.selection.collapse();
+				if ( key === VK.ENTER || key === VK.DELETE || key === VK.BACKSPACE ) {
+					event.preventDefault();
+				}
 			}
-		} else if ( keyCode === VK.RIGHT || keyCode === VK.DOWN ) {
-			deselect();
-			// Handle case where the next node is another wpview
-			if ( isView( view.nextSibling ) ) {
-				select( view.nextSibling );
-			// Handle case were the view is that last node
-			} else if ( ! view.nextSibling ) {
-				padNode = createPadNode();
-				body.appendChild( padNode );
-				editor.selection.setCursorLocation( body.lastChild, 0 );
-			// Handle default case where the next node is a non-wpview
-			} else {
-				editor.selection.setCursorLocation( view.nextSibling, 0 );
+		} else {
+			if ( event.metaKey || event.ctrlKey || ( key >= 112 && key <= 123 ) ) {
+				return;
 			}
-		} else if ( keyCode === VK.DELETE || keyCode === VK.BACKSPACE ) {
-			// If delete or backspace is pressed, delete the view.
-			editor.dom.remove( selected );
-		}
 
-		event.preventDefault();
-	});
-
-	// Select views when arrow keys are used to navigate the content of the editor.
-	editor.on( 'keydown', function( event ) {
-		var keyCode = event.keyCode,
-			dom = editor.dom,
-			range = editor.selection.getRng(),
-			startNode = range.startContainer,
-			body = editor.getBody(),
-			node, container;
-
-		if ( ! startNode || startNode === body || event.metaKey || event.ctrlKey ) {
-			return;
-		}
+			node = selection.getNode();
+			lastKeyDownNode = node;
+			view = getView( node );
+
+			// Make sure we don't delete part of a view.
+			// If the range ends or starts with the view, we'll need to trim it.
+			if ( ! selection.isCollapsed() ) {
+				range = selection.getRng();
+
+				if ( view = getView( range.endContainer ) ) {
+					clonedRange = range.cloneRange();
+					selection.select( view.previousSibling, true );
+					selection.collapse();
+					tempRange = selection.getRng();
+					clonedRange.setEnd( tempRange.endContainer, tempRange.endOffset );
+					selection.setRng( clonedRange );
+				} else if ( view = getView( range.startContainer ) ) {
+					clonedRange = range.cloneRange();
+					clonedRange.setStart( view.nextSibling, 0 );
+					selection.setRng( clonedRange );
+				}
+			}
 
-		if ( keyCode === VK.UP || keyCode === VK.LEFT ) {
-			if ( keyCode === VK.LEFT && ( ! range.collapsed || range.startOffset !== 0 ) ) {
-				// Not at the beginning of the current range
+			if ( ! view ) {
+				// Make sure we don't eat any content.
+				if ( event.keyCode === VK.BACKSPACE ) {
+					if ( editor.dom.isEmpty( node ) ) {
+						if ( view = getView( node.previousSibling ) ) {
+							setViewCursor( false, view );
+							editor.dom.remove( node );
+							event.preventDefault();
+						}
+					} else if ( ( range = selection.getRng() ) &&
+							range.startOffset === 0 &&
+							range.endOffset === 0 &&
+							( view = getView( node.previousSibling ) ) ) {
+						setViewCursor( false, view );
+						event.preventDefault();
+					}
+				}
 				return;
 			}
 
-			if ( ! ( node = dom.getParent( startNode, dom.isBlock ) ) ) {
+			if ( ! ( ( cursorBefore = dom.hasClass( view, 'wpview-selection-before' ) ) ||
+					( cursorAfter = dom.hasClass( view, 'wpview-selection-after' ) ) ) ) {
 				return;
 			}
 
-			if ( selectSiblingView( node, 'previous' ) ) {
-				event.preventDefault();
-			}
-		} else if ( keyCode === VK.DOWN || keyCode === VK.RIGHT ) {
-			if ( ! ( node = dom.getParent( startNode, dom.isBlock ) ) ) {
+			if ( isSpecialKey( key ) ) {
+				// ignore
 				return;
 			}
 
-			if ( keyCode === VK.RIGHT ) {
-				container = range.endContainer;
-
-				if ( ! range.collapsed || ( range.startOffset === 0 && container.length ) ||
-					container.nextSibling ||
-					( container.nodeType === 3 && range.startOffset !== container.length ) ) { // Not at the end of the current range
-
-					return;
+			if ( ( cursorAfter && key === VK.UP ) || ( cursorBefore && key === VK.BACKSPACE ) ) {
+				if ( view.previousSibling ) {
+					if ( getView( view.previousSibling ) ) {
+						setViewCursor( false, view.previousSibling );
+					} else {
+						if ( dom.isEmpty( view.previousSibling ) && key === VK.BACKSPACE ) {
+							dom.remove( view.previousSibling );
+						} else {
+							selection.select( view.previousSibling, true );
+							selection.collapse();
+						}
+					}
+				} else {
+					setViewCursor( true, view );
 				}
-
-				// In a child element
-				while ( container && container !== node && container !== body ) {
-					if ( container.nextSibling ) {
-						return;
+				event.preventDefault();
+			} else if ( cursorAfter && ( key === VK.DOWN || key === VK.RIGHT ) ) {
+				if ( view.nextSibling ) {
+					if ( getView( view.nextSibling ) ) {
+						setViewCursor( key === VK.RIGHT, view.nextSibling );
+					} else {
+						selection.setCursorLocation( view.nextSibling, 0 );
+					}
+				}
+				event.preventDefault();
+			} else if ( cursorBefore && ( key === VK.UP || key ===  VK.LEFT ) ) {
+				if ( view.previousSibling ) {
+					if ( getView( view.previousSibling ) ) {
+						setViewCursor( key === VK.UP, view.previousSibling );
+					} else {
+						selection.select( view.previousSibling, true );
+						selection.collapse();
 					}
-					container = container.parentNode;
 				}
+				event.preventDefault();
+			} else if ( cursorBefore && key === VK.DOWN ) {
+				if ( view.nextSibling ) {
+					if ( getView( view.nextSibling ) ) {
+						setViewCursor( true, view.nextSibling );
+					} else {
+						selection.setCursorLocation( view.nextSibling, 0 );
+					}
+				} else {
+					setViewCursor( false, view );
+				}
+				event.preventDefault();
+			} else if ( ( cursorAfter && key === VK.LEFT ) || ( cursorBefore && key === VK.RIGHT ) ) {
+				select( view );
+				event.preventDefault();
+			} else if ( cursorAfter && key === VK.BACKSPACE ) {
+				removeView( view );
+				event.preventDefault();
+			} else if ( cursorAfter ) {
+				handleEnter( view );
+			} else if ( cursorBefore ) {
+				handleEnter( view , true, key );
 			}
 
-			if ( selectSiblingView( node, 'next' ) ) {
+			if ( key === VK.ENTER ) {
 				event.preventDefault();
 			}
 		}
 	});
 
-	editor.on( 'keyup', function( event ) {
-		var padNode,
-			keyCode = event.keyCode,
-			body = editor.getBody(),
-			range;
-
+	editor.on( 'keyup', function() {
 		if ( toRemove ) {
-			editor.dom.remove( toRemove );
+			removeView( toRemove );
 			toRemove = false;
 		}
+	});
+
+	editor.on( 'focus', function() {
+		var view;
+
+		focus = true;
+		editor.dom.addClass( editor.getBody(), 'has-focus' );
+
+		// Edge case: show the fake caret when the editor is focused for the first time
+		// and the first element is a view.
+		if ( firstFocus && ( view = getView( editor.getBody().firstChild ) ) ) {
+			setViewCursor( true, view );
+		}
+
+		firstFocus = false;
+	} );
+
+	editor.on( 'blur', function() {
+		focus = false;
+		editor.dom.removeClass( editor.getBody(), 'has-focus' );
+	} );
 
-		if ( keyCode === VK.DELETE || keyCode === VK.BACKSPACE ) {
-			// Make sure there is padding if the last element is a view
-			if ( isView( body.lastChild ) ) {
-				padNode = createPadNode();
-				body.appendChild( padNode );
+	editor.on( 'NodeChange', function( event ) {
+		var dom = editor.dom,
+			views = editor.dom.select( '.wpview-wrap' ),
+			className = event.element.className,
+			view = getView( event.element ),
+			lKDN = lastKeyDownNode;
 
-				if ( body.childNodes.length === 2 ) {
-					editor.selection.setCursorLocation( padNode, 0 );
+		lastKeyDownNode = false;
+
+		clearInterval( cursorInterval );
+
+		// This runs a lot and is faster than replacing each class separately
+		tinymce.each( views, function ( view ) {
+			if ( view.className ) {
+				view.className = view.className.replace( / ?\bwpview-(?:selection-before|selection-after|cursor-hide)\b/g, '' );
+			}
+		});
+
+		if ( focus && view ) {
+			if ( ( className === 'wpview-selection-before' || className === 'wpview-selection-after' ) &&
+				editor.selection.isCollapsed() ) {
+
+				setViewCursorTries = 0;
+
+				deselect();
+
+				// Make sure the cursor arrived in the right node.
+				// This is necessary for Firefox.
+				if ( lKDN === view.previousSibling ) {
+					setViewCursor( true, view );
+					return;
+				} else if ( lKDN === view.nextSibling ) {
+					setViewCursor( false, view );
+					return;
 				}
+
+				dom.addClass( view, className );
+
+				cursorInterval = setInterval( function() {
+					if ( dom.hasClass( view, 'wpview-cursor-hide' ) ) {
+						dom.removeClass( view, 'wpview-cursor-hide' );
+					} else {
+						dom.addClass( view, 'wpview-cursor-hide' );
+					}
+				}, 500 );
+			// If the cursor lands anywhere else in the view, set the cursor before it.
+			// Only try this once to prevent a loop. (You never know.)
+			} else if ( ! getParent( event.element, 'wpview-clipboard' ) && ! setViewCursorTries ) {
+				deselect();
+				setViewCursorTries++;
+				setViewCursor( true, view );
 			}
+		}
+	});
 
-			range = editor.selection.getRng();
+	editor.on( 'BeforeExecCommand', function() {
+		var node = editor.selection.getNode(),
+			view;
 
-			// Allow an initial element in the document to be removed when it is before a view
-			if ( body.firstChild === range.startContainer && range.collapsed === true &&
-					isView( range.startContainer.nextSibling ) && range.startOffset === 0 ) {
+		if ( node && ( node.className === 'wpview-selection-before' || node.className === 'wpview-selection-after' ) && ( view = getView( node ) ) ) {
+			handleEnter( view );
+			execCommandView = view;
+		}
+	});
+
+	editor.on( 'ExecCommand', function() {
+		var toSelect, node;
+
+		if ( selected ) {
+			toSelect = selected;
+			deselect();
+			select( toSelect );
+		}
 
-				editor.dom.remove( range.startContainer );
+		if ( execCommandView ) {
+			node = execCommandView.nextSibling;
+
+			if ( node && node.nodeName === 'P' && editor.dom.isEmpty( node ) ) {
+				editor.dom.remove( node );
+				setViewCursor( false, execCommandView );
 			}
+
+			execCommandView = false;
+		}
+	});
+
+	editor.on( 'ResolveName', function( event ) {
+		if ( editor.dom.hasClass( event.target, 'wpview-wrap' ) ) {
+			event.name = editor.dom.getAttrib( event.target, 'data-wpview-type' ) || 'wpview';
+			event.stopPropagation();
+		} else if ( getView( event.target ) ) {
+			event.preventDefault();
+			event.stopPropagation();
 		}
 	});
 
 	return {
 		getViewText: getViewText,
-		setViewText: setViewText
+		setViewText: setViewText,
+		getView: getView
 	};
 });
diff --git a/wp-includes/js/tinymce/plugins/wpview/plugin.min.js b/wp-includes/js/tinymce/plugins/wpview/plugin.min.js
index f11bf25fd..d6e7866cb 100644
--- a/wp-includes/js/tinymce/plugins/wpview/plugin.min.js
+++ b/wp-includes/js/tinymce/plugins/wpview/plugin.min.js
@@ -1 +1 @@
-tinymce.PluginManager.add("wpview",function(a){function b(a){for(;a&&"BODY"!==a.nodeName;){if(c(a))return a;a=a.parentNode}}function c(a){return a&&/\bwpview-wrap\b/.test(a.className)}function d(){return a.dom.create("p",{"data-wpview-pad":1},tinymce.Env.ie&&tinymce.Env.ie<11?"":'<br data-mce-bogus="1" />')}function e(c){return c=b("string"==typeof c?a.dom.get(c):c),c?window.decodeURIComponent(a.dom.getAttrib(c,"data-wpview-text")||""):""}function f(c,d){return c=b("string"==typeof c?a.dom.get(c):c),c?(a.dom.setAttrib(c,"data-wpview-text",window.encodeURIComponent(d||"")),!0):!1}function g(a){a.stopPropagation()}function h(b){var c,d=a.dom;b!==l&&(i(),l=b,d.addClass(b,"selected"),c=d.create("div",{"class":"wpview-clipboard",contenteditable:"true"},e(b)),b.insertBefore(c,b.firstChild),d.bind(c,"beforedeactivate focusin focusout",g),d.bind(l,"beforedeactivate focusin focusout",g),a.getBody().focus(),a.selection.select(c,!0))}function i(){var b,c=a.dom;l&&(b=a.dom.select(".wpview-clipboard",l)[0],c.unbind(b),c.remove(b),c.unbind(l,"beforedeactivate focusin focusout click mouseup",g),c.removeClass(l,"selected")),l=null}function j(b,d){for(var e=a.getBody(),f="previous"===d?"previousSibling":"nextSibling";b&&b.parentNode!==e;){if(b[f])return!1;b=b.parentNode}return c(b[f])?(h(b[f]),!0):!1}function k(a){return a.replace(/(<div[^>]+wpview-wrap[^>]+>)[\s\S]+?data-wpview-end[^>]*><\/ins><\/div>/g,"$1</div>")}var l,m=tinymce.util.VK,n=tinymce.dom.TreeWalker,o=!1;if("undefined"!=typeof wp&&wp.mce)return a.on("BeforeAddUndo",function(a){a.lastLevel&&k(a.level.content)===k(a.lastLevel.content)&&a.preventDefault()}),a.on("BeforeSetContent",function(b){b.content&&(b.initial||wp.mce.views.unbind(a),b.content=wp.mce.views.toViews(b.content))}),a.on("SetContent",function(b){var e,f;wp.mce.views.render(),(b.load||!b.set)&&(e=a.getBody(),c(e.lastChild)&&(f=d(),e.appendChild(f),b.initial||a.selection.setCursorLocation(f,0)))}),a.on("click",function(b){var e,f,g,h,j,k=a.getBody(),l=a.getDoc(),m=l.documentElement.scrollTop||k.scrollTop||0;"HTML"!==b.target.nodeName||b.metaKey||b.ctrlKey||(g=k.firstChild,h=k.lastChild,e=b.clientX,f=b.clientY,c(g)&&(e<g.offsetLeft&&f<g.offsetHeight-m||f<g.offsetTop)?(j=d(),k.insertBefore(j,g)):c(h)&&(e>h.offsetLeft+h.offsetWidth||m+f-(h.offsetTop+h.offsetHeight)>0)&&(j=d(),k.appendChild(j)),j&&(i(),a.getBody().focus(),a.selection.setCursorLocation(j,0)))}),a.on("init",function(){var d=a.selection;a.on("BeforeSetContent",function(){var e,f,g=b(d.getNode());g&&(!g.nextSibling||c(g.nextSibling)?(f=a.getDoc().createTextNode(""),a.dom.insertAfter(f,g)):(e=new n(g.nextSibling,g.nextSibling),f=e.next()),d.select(f),d.collapse(!0))}),a.on("SetContent",function(a){if(a.context){var b=d.getNode();b.innerHTML&&(b.innerHTML=wp.mce.views.toViews(b.innerHTML))}}),a.dom.bind(a.getBody(),"mousedown mouseup click",function(c){var d,e=b(c.target);return e?(c.stopPropagation(),tinymce.Env.ie<=10&&i(),h(e),"click"!==c.type||c.metaKey||c.ctrlKey||(a.dom.hasClass(c.target,"edit")?wp.mce.views.edit(e):a.dom.hasClass(c.target,"remove")&&a.dom.remove(e)),!1):(d=tinymce.Env.ie&&tinymce.Env.ie<=8?"mouseup":"mousedown",void(c.type===d&&i()))})}),a.on("PreProcess",function(b){var c=a.dom;tinymce.each(c.select("p[data-wpview-pad]",b.node),function(a){c.isEmpty(a)?c.remove(a):c.setAttrib(a,"data-wpview-pad",null)}),tinymce.each(c.select("div[data-wpview-text]",b.node),function(a){"textContent"in a?a.textContent=" ":a.innerText=" "})}),a.on("PostProcess",function(a){a.content&&(a.content=a.content.replace(/<div [^>]*?data-wpview-text="([^"]*)"[^>]*>[\s\S]*?<\/div>/g,function(a,b){return b?"<p>"+window.decodeURIComponent(b)+"</p>":""}))}),a.on("keydown",function(e){var f,g,j=e.keyCode,k=a.getBody();if(l){if(e.metaKey||e.ctrlKey||j>=112&&123>=j)return void((e.metaKey||e.ctrlKey)&&88===j&&(o=l));if(f=b(a.selection.getNode()),f!==l)return void i();j===m.LEFT||j===m.UP?(i(),c(f.previousSibling)?h(f.previousSibling):f.previousSibling?(a.selection.select(f.previousSibling,!0),a.selection.collapse()):(g=d(),k.insertBefore(g,k.firstChild),a.selection.setCursorLocation(k.firstChild,0))):j===m.RIGHT||j===m.DOWN?(i(),c(f.nextSibling)?h(f.nextSibling):f.nextSibling?a.selection.setCursorLocation(f.nextSibling,0):(g=d(),k.appendChild(g),a.selection.setCursorLocation(k.lastChild,0))):(j===m.DELETE||j===m.BACKSPACE)&&a.dom.remove(l),e.preventDefault()}}),a.on("keydown",function(b){var c,d,e=b.keyCode,f=a.dom,g=a.selection.getRng(),h=g.startContainer,i=a.getBody();if(h&&h!==i&&!b.metaKey&&!b.ctrlKey)if(e===m.UP||e===m.LEFT){if(e===m.LEFT&&(!g.collapsed||0!==g.startOffset))return;if(!(c=f.getParent(h,f.isBlock)))return;j(c,"previous")&&b.preventDefault()}else if(e===m.DOWN||e===m.RIGHT){if(!(c=f.getParent(h,f.isBlock)))return;if(e===m.RIGHT){if(d=g.endContainer,!g.collapsed||0===g.startOffset&&d.length||d.nextSibling||3===d.nodeType&&g.startOffset!==d.length)return;for(;d&&d!==c&&d!==i;){if(d.nextSibling)return;d=d.parentNode}}j(c,"next")&&b.preventDefault()}}),a.on("keyup",function(b){var e,f,g=b.keyCode,h=a.getBody();o&&(a.dom.remove(o),o=!1),(g===m.DELETE||g===m.BACKSPACE)&&(c(h.lastChild)&&(e=d(),h.appendChild(e),2===h.childNodes.length&&a.selection.setCursorLocation(e,0)),f=a.selection.getRng(),h.firstChild===f.startContainer&&f.collapsed===!0&&c(f.startContainer.nextSibling)&&0===f.startOffset&&a.dom.remove(f.startContainer))}),{getViewText:e,setViewText:f}});
\ No newline at end of file
+tinymce.PluginManager.add("wpview",function(a){function b(a){return c(a,"wpview-wrap")}function c(a,b){for(;a&&a.parentNode;){if(a.className&&-1!==(" "+a.className+" ").indexOf(" "+b+" "))return a;a=a.parentNode}return!1}function d(c){return(c=b(c))?window.decodeURIComponent(a.dom.getAttrib(c,"data-wpview-text")||""):""}function e(c,d){return c=b(c),c?(a.dom.setAttrib(c,"data-wpview-text",window.encodeURIComponent(d||"")),!0):!1}function f(a){a.stopPropagation()}function g(b,c){var d=b?"before":"after",e=b?0:1;k(),a.selection.setCursorLocation(a.dom.select(".wpview-selection-"+d,c)[0],e),a.nodeChanged()}function h(b,c,d){var e=a.dom,f=e.create("p");t.ie&&t.ie<11||(f.innerHTML='<br data-mce-bogus="1">'),c?b.parentNode.insertBefore(f,b):e.insertAfter(f,b),k(),c&&d===u.ENTER?g(c,b):a.selection.setCursorLocation(f,0),a.nodeChanged()}function i(b){a.undoManager.transact(function(){h(b),a.dom.remove(b)})}function j(b){var c,e=a.dom;b&&b!==n&&(a.getBody().focus(),k(),n=b,e.setAttrib(b,"data-mce-selected",1),c=e.create("div",{"class":"wpview-clipboard",contenteditable:"true"},d(b)),a.dom.select(".wpview-body",b)[0].appendChild(c),e.bind(c,"beforedeactivate focusin focusout",f),e.bind(n,"beforedeactivate focusin focusout",f),z?a.selection.select(c):a.selection.select(c,!0),a.nodeChanged(),a.fire("wpview-selected",b))}function k(){var b,c=a.dom;n&&(b=a.dom.select(".wpview-clipboard",n)[0],c.unbind(b),c.remove(b),c.unbind(n,"beforedeactivate focusin focusout click mouseup",f),c.setAttrib(n,"data-mce-selected",null)),n=null}function l(a){return a.replace(/<div[^>]+data-wpview-text=\"([^"]+)"[^>]*>[\s\S]+?wpview-selection-after[^>]+>(?:&nbsp;|\u00a0)*<\/p><\/div>/g,"$1")}function m(a){return 47>=a&&a!==u.SPACEBAR&&a!==u.ENTER&&a!==u.DELETE&&a!==u.BACKSPACE&&(37>a||a>40)||a>=224||a>=144&&150>=a||a>=91&&93>=a||a>=112&&135>=a}var n,o,p,q,r,s,t=tinymce.Env,u=tinymce.util.VK,v=tinymce.dom.TreeWalker,w=!1,x=!0,y=function(){return!1},z=/iPad|iPod|iPhone/.test(navigator.userAgent);return"undefined"!=typeof wp&&wp.mce?(a.on("BeforeAddUndo",function(a){a.lastLevel&&l(a.level.content)===l(a.lastLevel.content)&&a.preventDefault()}),a.on("BeforeSetContent",function(b){var c;b.content&&(n&&i(n),c=a.selection.getNode(),(!b.content.match(/^\s*(https?:\/\/[^\s"]+)\s*$/i)||"P"===c.nodeName&&c.parentNode===a.getBody()&&a.dom.isEmpty(c))&&(b.content=wp.mce.views.toViews(b.content)))}),a.on("SetContent",function(){wp.mce.views.render()}),a.on("click",function(c){var d,e=c.clientX,f=c.clientY,h=a.getBody(),i=h.getBoundingClientRect(),j=h.firstChild,k=j.getBoundingClientRect(),l=h.lastChild,m=l.getBoundingClientRect();f<k.top&&(d=b(j))?(g(!0,d),c.preventDefault()):f>m.bottom&&(d=b(l))?(g(!1,d),c.preventDefault()):tinymce.each(a.dom.select(".wpview-wrap"),function(a){var b=a.getBoundingClientRect();return f>=b.top&&f<=b.bottom?void(e<i.left?(g(!0,a),c.preventDefault()):e>i.right&&(g(!1,a),c.preventDefault())):void 0})}),a.on("init",function(){var c=!1,d=a.selection,e=window.MutationObserver||window.WebKitMutationObserver;a.on("BeforeSetContent",function(){var c,e,f=b(d.getNode());f&&(!f.nextSibling||b(f.nextSibling)?(e=a.getDoc().createTextNode(""),a.dom.insertAfter(e,f)):(c=new v(f.nextSibling,f.nextSibling),e=c.next()),d.select(e),d.collapse(!0))}),a.dom.bind(a.getDoc(),"touchmove",function(){c=!0}),a.on("mousedown mouseup click touchend",function(d){var e=b(d.target);if(x=!1,e){if(d.stopImmediatePropagation(),d.preventDefault(),!("touchend"!==d.type&&"mousedown"!==d.type||d.metaKey||d.ctrlKey)){if(a.dom.hasClass(d.target,"edit"))return wp.mce.views.edit(e),a.focus(),!1;if(a.dom.hasClass(d.target,"remove"))return i(e),!1}return"touchend"===d.type&&c?c=!1:j(e),!1}("touchend"===d.type||"mousedown"===d.type)&&k(),"touchend"===d.type&&c&&(c=!1)},!0),e&&new e(function(){a.fire("wp-body-class-change")}).observe(a.getBody(),{attributes:!0,attributeFilter:["class"]})}),a.on("PreProcess",function(b){tinymce.each(a.dom.select("div[data-wpview-text]",b.node),function(a){a.textContent=a.innerText=" "})}),a.on("PostProcess",function(a){a.content&&(a.content=a.content.replace(/<div [^>]*?data-wpview-text="([^"]*)"[^>]*>[\s\S]*?<\/div>/g,function(a,b){return b?"<p>"+window.decodeURIComponent(b)+"</p>":""}))}),a.on("keydown",function(c){var d,e,f,l,o,q,r,s=c.keyCode,t=a.dom,v=a.selection;if(n){if((c.metaKey||c.ctrlKey)&&s!==u.BACKSPACE&&86!==s||s>=112&&123>=s)return void((c.metaKey||c.ctrlKey)&&88===s&&(w=n));if(e=b(v.getNode()),e!==n)return void k();s===u.LEFT?(g(!0,e),c.preventDefault()):s===u.UP?(e.previousSibling?b(e.previousSibling)?g(!0,e.previousSibling):(k(),v.select(e.previousSibling,!0),v.collapse()):g(!0,e),c.preventDefault()):s===u.RIGHT?(g(!1,e),c.preventDefault()):s===u.DOWN?(e.nextSibling?b(e.nextSibling)?g(!1,e.nextSibling):(k(),v.setCursorLocation(e.nextSibling,0)):g(!1,e),c.preventDefault()):m(s)||(i(n),(s===u.ENTER||s===u.DELETE||s===u.BACKSPACE)&&c.preventDefault())}else{if(c.metaKey||c.ctrlKey||s>=112&&123>=s)return;if(d=v.getNode(),p=d,e=b(d),v.isCollapsed()||(o=v.getRng(),(e=b(o.endContainer))?(q=o.cloneRange(),v.select(e.previousSibling,!0),v.collapse(),r=v.getRng(),q.setEnd(r.endContainer,r.endOffset),v.setRng(q)):(e=b(o.startContainer))&&(q=o.cloneRange(),q.setStart(e.nextSibling,0),v.setRng(q))),!e)return void(c.keyCode===u.BACKSPACE&&(a.dom.isEmpty(d)?(e=b(d.previousSibling))&&(g(!1,e),a.dom.remove(d),c.preventDefault()):(o=v.getRng())&&0===o.startOffset&&0===o.endOffset&&(e=b(d.previousSibling))&&(g(!1,e),c.preventDefault())));if(!(f=t.hasClass(e,"wpview-selection-before"))&&!(l=t.hasClass(e,"wpview-selection-after")))return;if(m(s))return;l&&s===u.UP||f&&s===u.BACKSPACE?(e.previousSibling?b(e.previousSibling)?g(!1,e.previousSibling):t.isEmpty(e.previousSibling)&&s===u.BACKSPACE?t.remove(e.previousSibling):(v.select(e.previousSibling,!0),v.collapse()):g(!0,e),c.preventDefault()):!l||s!==u.DOWN&&s!==u.RIGHT?!f||s!==u.UP&&s!==u.LEFT?f&&s===u.DOWN?(e.nextSibling?b(e.nextSibling)?g(!0,e.nextSibling):v.setCursorLocation(e.nextSibling,0):g(!1,e),c.preventDefault()):l&&s===u.LEFT||f&&s===u.RIGHT?(j(e),c.preventDefault()):l&&s===u.BACKSPACE?(i(e),c.preventDefault()):l?h(e):f&&h(e,!0,s):(e.previousSibling&&(b(e.previousSibling)?g(s===u.UP,e.previousSibling):(v.select(e.previousSibling,!0),v.collapse())),c.preventDefault()):(e.nextSibling&&(b(e.nextSibling)?g(s===u.RIGHT,e.nextSibling):v.setCursorLocation(e.nextSibling,0)),c.preventDefault()),s===u.ENTER&&c.preventDefault()}}),a.on("keyup",function(){w&&(i(w),w=!1)}),a.on("focus",function(){var c;r=!0,a.dom.addClass(a.getBody(),"has-focus"),x&&(c=b(a.getBody().firstChild))&&g(!0,c),x=!1}),a.on("blur",function(){r=!1,a.dom.removeClass(a.getBody(),"has-focus")}),a.on("NodeChange",function(d){var e=a.dom,f=a.dom.select(".wpview-wrap"),h=d.element.className,i=b(d.element),j=p;if(p=!1,clearInterval(o),tinymce.each(f,function(a){a.className&&(a.className=a.className.replace(/ ?\bwpview-(?:selection-before|selection-after|cursor-hide)\b/g,""))}),r&&i)if("wpview-selection-before"!==h&&"wpview-selection-after"!==h||!a.selection.isCollapsed())c(d.element,"wpview-clipboard")||q||(k(),q++,g(!0,i));else{if(q=0,k(),j===i.previousSibling)return void g(!0,i);if(j===i.nextSibling)return void g(!1,i);e.addClass(i,h),o=setInterval(function(){e.hasClass(i,"wpview-cursor-hide")?e.removeClass(i,"wpview-cursor-hide"):e.addClass(i,"wpview-cursor-hide")},500)}}),a.on("BeforeExecCommand",function(){var c,d=a.selection.getNode();d&&("wpview-selection-before"===d.className||"wpview-selection-after"===d.className)&&(c=b(d))&&(h(c),s=c)}),a.on("ExecCommand",function(){var b,c;n&&(b=n,k(),j(b)),s&&(c=s.nextSibling,c&&"P"===c.nodeName&&a.dom.isEmpty(c)&&(a.dom.remove(c),g(!1,s)),s=!1)}),a.on("ResolveName",function(c){a.dom.hasClass(c.target,"wpview-wrap")?(c.name=a.dom.getAttrib(c.target,"data-wpview-type")||"wpview",c.stopPropagation()):b(c.target)&&(c.preventDefault(),c.stopPropagation())}),{getViewText:d,setViewText:e,getView:b}):{getViewText:y,setViewText:y,getView:y}});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/skins/lightgray/skin.ie7.min.css b/wp-includes/js/tinymce/skins/lightgray/skin.ie7.min.css
index cd2bbdf3f..f2ca5b927 100644
--- a/wp-includes/js/tinymce/skins/lightgray/skin.ie7.min.css
+++ b/wp-includes/js/tinymce/skins/lightgray/skin.ie7.min.css
@@ -1 +1 @@
-.mce-container,.mce-container *,.mce-widget,.mce-widget *,.mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal;font-weight:normal;text-align:left;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr}.mce-widget button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.mce-container *[unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:visible !important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mce-wordcount{position:absolute;top:0;right:0;padding:8px}div.mce-edit-area{background:#FFF;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative}.mce-fullscreen .mce-resizehandle{display:none}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid #9e9e9e;width:20px;height:20px;line-height:20px;text-align:center;vertical-align:middle;padding:2px}.mce-charmap td div{text-align:center}.mce-charmap td:hover{background:#d9d9d9}.mce-grid td div{border:1px solid #d6d6d6;width:12px;height:12px;margin:2px;cursor:pointer}.mce-grid td div:focus{border-color:#a1a1a1}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover,.mce-grid a:focus{border-color:#a1a1a1}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#d6d6d6;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#a1a1a1;background:#c8def4}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-toolbar-grp{padding-bottom:2px}.mce-toolbar-grp .mce-flow-layout-item{margin-bottom:0}.mce-rtl .mce-wordcount{left:0;right:auto}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,0.6);width:5px;height:100%;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#AAA;opacity:.6;filter:alpha(opacity=60);zoom:1;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scroll{position:relative}.mce-panel{border:0 solid #9e9e9e;background-color:#f0f0f0;background-image:-moz-linear-gradient(top, #fdfdfd, #ddd);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fdfdfd), to(#ddd));background-image:-webkit-linear-gradient(top, #fdfdfd, #ddd);background-image:-o-linear-gradient(top, #fdfdfd, #ddd);background-image:linear-gradient(to bottom, #fdfdfd, #ddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffdfdfd', endColorstr='#ffdddddd', GradientType=0);zoom:1}.mce-floatpanel{position:absolute;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2)}.mce-floatpanel.mce-fixed{position:fixed}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);top:0;left:0;background:#fff;border:1px solid #9e9e9e;border:1px solid rgba(0,0,0,0.25)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#9e9e9e;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.mce-floatpanel.mce-popover.mce-bottom.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;background:#fff;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#000}#mce-modal-block.mce-in{opacity:.3;filter:alpha(opacity=30);zoom:1}.mce-window-move{cursor:move}.mce-window{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;background:#fff;position:fixed;top:0;left:0;opacity:0;-webkit-transition:opacity 150ms ease-in;transition:opacity 150ms ease-in}.mce-window.mce-in{opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #c5c5c5;position:relative}.mce-window-head .mce-close{position:absolute;right:15px;top:9px;font-size:20px;font-weight:bold;line-height:20px;color:#858585;cursor:pointer;height:20px;overflow:hidden}.mce-close:hover{color:#adadad}.mce-window-head .mce-title{line-height:20px;font-size:20px;font-weight:bold;text-rendering:optimizelegibility;padding-right:10px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:#fff;border-top:1px solid #c5c5c5;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window.mce-fullscreen,.mce-window.mce-fullscreen .mce-foot{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mce-rtl .mce-window-head .mce-close{position:absolute;right:auto;left:15px}.mce-rtl .mce-window-head .mce-dragh{left:auto;right:0}.mce-rtl .mce-window-head .mce-title{direction:rtl;text-align:right}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1}.mce-tooltip-inner{font-size:11px;background-color:#000;color:#fff;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-inner{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-tooltip-inner{-webkit-box-shadow:0 0 5px #000000;-moz-box-shadow:0 0 5px #000000;box-shadow:0 0 5px #000000}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-nw,.mce-tooltip-sw{margin-left:-14px}.mce-tooltip-n .mce-tooltip-arrow{top:0px;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-btn{border:1px solid #b1b1b1;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25) rgba(0,0,0,0.25);position:relative;text-shadow:0 1px 1px rgba(255,255,255,0.75);display:inline-block;*display:inline;*zoom:1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);background-color:#f0f0f0;background-image:-moz-linear-gradient(top, #fff, #d9d9d9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#d9d9d9));background-image:-webkit-linear-gradient(top, #fff, #d9d9d9);background-image:-o-linear-gradient(top, #fff, #d9d9d9);background-image:linear-gradient(to bottom, #fff, #d9d9d9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffd9d9d9', GradientType=0);zoom:1}.mce-btn:hover,.mce-btn:focus{color:#333;background-color:#e3e3e3;background-image:-moz-linear-gradient(top, #f2f2f2, #ccc);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#ccc));background-image:-webkit-linear-gradient(top, #f2f2f2, #ccc);background-image:-o-linear-gradient(top, #f2f2f2, #ccc);background-image:linear-gradient(to bottom, #f2f2f2, #ccc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffcccccc', GradientType=0);zoom:1}.mce-btn.mce-disabled button,.mce-btn.mce-disabled:hover button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover{background-color:#d6d6d6;background-image:-moz-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#c0c0c0));background-image:-webkit-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-o-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:linear-gradient(to bottom, #e6e6e6, #c0c0c0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffc0c0c0', GradientType=0);zoom:1;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-btn:not(.mce-disabled):active{background-color:#d6d6d6;background-image:-moz-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#c0c0c0));background-image:-webkit-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-o-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:linear-gradient(to bottom, #e6e6e6, #c0c0c0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffc0c0c0', GradientType=0);zoom:1;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-btn button{padding:4px 10px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#333;text-align:center;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px #fff}.mce-primary{min-width:50px;color:#fff;border:1px solid #b1b1b1;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25) rgba(0,0,0,0.25);background-color:#006dcc;background-image:-moz-linear-gradient(top, #08c, #04c);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#04c));background-image:-webkit-linear-gradient(top, #08c, #04c);background-image:-o-linear-gradient(top, #08c, #04c);background-image:linear-gradient(to bottom, #08c, #04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);zoom:1}.mce-primary:hover,.mce-primary:focus{background-color:#005fb3;background-image:-moz-linear-gradient(top, #0077b3, #003cb3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0077b3), to(#003cb3));background-image:-webkit-linear-gradient(top, #0077b3, #003cb3);background-image:-o-linear-gradient(top, #0077b3, #003cb3);background-image:linear-gradient(to bottom, #0077b3, #003cb3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0077b3', endColorstr='#ff003cb3', GradientType=0);zoom:1}.mce-primary.mce-disabled button,.mce-primary.mce-disabled:hover button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-primary.mce-active,.mce-primary.mce-active:hover,.mce-primary:not(.mce-disabled):active{background-color:#005299;background-image:-moz-linear-gradient(top, #069, #039);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#069), to(#039));background-image:-webkit-linear-gradient(top, #069, #039);background-image:-o-linear-gradient(top, #069, #039);background-image:linear-gradient(to bottom, #069, #039);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff006699', endColorstr='#ff003399', GradientType=0);zoom:1;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-primary button,.mce-primary button i{color:#fff;text-shadow:1px 1px #333}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:1px 5px;font-size:12px;*padding-bottom:2px}.mce-btn-small i{line-height:20px;vertical-align:top;*line-height:18px}.mce-btn .mce-caret{margin-top:8px;margin-left:0}.mce-btn-small .mce-caret{margin-top:8px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #333;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#aaa}.mce-caret.mce-up{border-bottom:4px solid #333;border-top:0}.mce-rtl .mce-btn button{direction:rtl}.mce-btn-group .mce-btn{border-width:1px 0 1px 0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mce-btn-group .mce-first{border-left:1px solid #b1b1b1;border-left:1px solid rgba(0,0,0,0.25);-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.mce-btn-group .mce-last{border-right:1px solid #b1b1b1;border-right:1px solid rgba(0,0,0,0.1);-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.mce-btn-group .mce-first.mce-last{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);background-color:#f0f0f0;background-image:-moz-linear-gradient(top, #fff, #d9d9d9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#d9d9d9));background-image:-webkit-linear-gradient(top, #fff, #d9d9d9);background-image:-o-linear-gradient(top, #fff, #d9d9d9);background-image:linear-gradient(to bottom, #fff, #d9d9d9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffd9d9d9', GradientType=0);zoom:1;text-indent:-10em;*font-size:0;*line-height:0;*text-indent:0;overflow:hidden}.mce-checked i.mce-i-checkbox{color:#333;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox,.mce-checkbox.mce-focus i.mce-i-checkbox{border:1px solid rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65)}.mce-checkbox.mce-disabled .mce-label,.mce-checkbox.mce-disabled i.mce-i-checkbox{color:#acacac}.mce-rtl .mce-checkbox{direction:rtl;text-align:right}.mce-rtl i.mce-i-checkbox{margin:0 0 0 3px}.mce-colorbutton .mce-ico{position:relative}.mce-colorbutton-grid{margin:4px}.mce-colorbutton button{padding-right:4px}.mce-colorbutton .mce-preview{padding-right:3px;display:block;position:absolute;left:50%;top:50%;margin-left:-14px;margin-top:7px;background:gray;width:13px;height:2px;overflow:hidden}.mce-colorbutton.mce-btn-small .mce-preview{margin-left:-16px;padding-right:0;width:16px}.mce-colorbutton .mce-open{padding-left:4px;border-left:1px solid transparent;border-right:1px solid transparent}.mce-colorbutton:hover .mce-open{border-left-color:#bdbdbd;border-right-color:#bdbdbd}.mce-colorbutton.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-colorbutton{direction:rtl}.mce-rtl .mce-colorbutton .mce-preview{margin-left:0;padding-right:0;padding-left:4px;margin-right:-14px}.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview{margin-left:0;padding-right:0;margin-right:-17px;padding-left:0}.mce-rtl .mce-colorbutton button{padding-right:10px;padding-left:10px}.mce-rtl .mce-colorbutton .mce-open{padding-left:4px;padding-right:4px}.mce-combobox{display:inline-block;*display:inline;*zoom:1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);*height:32px}.mce-combobox input{border:1px solid #c5c5c5;border-right-color:#c5c5c5;height:28px}.mce-combobox.mce-disabled input{color:#adadad}.mce-combobox.mce-has-open input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.mce-combobox .mce-btn{border-left:0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox.mce-disabled .mce-btn button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#333}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:#666;color:#fff}.mce-path .mce-divider{display:inline}.mce-disabled .mce-path-item{color:#aaa}.mce-rtl .mce-path{direction:rtl}.mce-fieldset{border:0 solid #9E9E9E;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-tinymce-inline .mce-flow-layout{white-space:nowrap}.mce-rtl .mce-flow-layout{text-align:right;direction:rtl}.mce-rtl .mce-flow-layout-item{margin:2px 2px 2px 0}.mce-rtl .mce-flow-layout-item.mce-last{margin-left:2px}.mce-iframe{border:0 solid #9e9e9e;width:100%;height:100%}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label.mce-disabled{color:#aaa}.mce-label.mce-multiline{white-space:pre-wrap}.mce-label.mce-error{color:#a00}.mce-rtl .mce-label{text-align:right;direction:rtl}.mce-menubar .mce-menubtn{border-color:transparent;background:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:none}.mce-menubar{border:1px solid #c4c4c4}.mce-menubar .mce-menubtn button span{color:#333}.mce-menubar .mce-caret{border-top-color:#333}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus{border-color:transparent;background:#e6e6e6;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-menubtn span{color:#333;margin-right:2px;line-height:20px;*line-height:16px}.mce-menubtn.mce-btn-small span{font-size:12px}.mce-menubtn.mce-fixed-width span{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;width:90px}.mce-menubtn.mce-fixed-width.mce-btn-small span{width:70px}.mce-menubtn .mce-caret{*margin-top:6px}.mce-rtl .mce-menubtn button{direction:rtl;text-align:right}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-rtl .mce-listbox .mce-caret{right:auto;left:8px}.mce-rtl .mce-listbox button{padding-right:10px;padding-left:20px}.mce-menu-item{display:block;padding:6px 15px 6px 12px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap;cursor:pointer;line-height:normal;border-left:4px solid transparent;margin-bottom:1px}.mce-menu-item .mce-ico,.mce-menu-item .mce-text{color:#333}.mce-menu-item.mce-disabled .mce-text,.mce-menu-item.mce-disabled .mce-ico{color:#adadad}.mce-menu-item:hover .mce-text,.mce-menu-item.mce-selected .mce-text,.mce-menu-item:focus .mce-text{color:#fff}.mce-menu-item:hover .mce-ico,.mce-menu-item.mce-selected .mce-ico,.mce-menu-item:focus .mce-ico{color:#fff}.mce-menu-item.mce-disabled:hover{background:#ccc}.mce-menu-shortcut{display:inline-block;color:#adadad}.mce-menu-shortcut{display:inline-block;*display:inline;*zoom:1;padding:0 15px 0 20px}.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item.mce-selected .mce-menu-shortcut,.mce-menu-item:focus .mce-menu-shortcut{color:#fff}.mce-menu-item .mce-caret{margin-top:4px;*margin-top:3px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #333}.mce-menu-item.mce-selected .mce-caret,.mce-menu-item:focus .mce-caret,.mce-menu-item:hover .mce-caret{border-left-color:#fff}.mce-menu-align .mce-menu-shortcut{*margin-top:-2px}.mce-menu-align .mce-menu-shortcut,.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu-item.mce-active i{visibility:visible}.mce-menu-item-normal.mce-active{background-color:#c8def4}.mce-menu-item-preview.mce-active{border-left:5px solid #aaa}.mce-menu-item-normal.mce-active .mce-text{color:#333}.mce-menu-item-normal.mce-active:hover .mce-text,.mce-menu-item-normal.mce-active:hover .mce-ico{color:#fff}.mce-menu-item-normal.mce-active:focus .mce-text,.mce-menu-item-normal.mce-active:focus .mce-ico{color:#fff}.mce-menu-item:hover,.mce-menu-item.mce-selected,.mce-menu-item:focus{text-decoration:none;color:#fff;background-color:#0081c2;background-image:-moz-linear-gradient(top, #08c, #0077b3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#0077b3));background-image:-webkit-linear-gradient(top, #08c, #0077b3);background-image:-o-linear-gradient(top, #08c, #0077b3);background-image:linear-gradient(to bottom, #08c, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);zoom:1}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:#cbcbcb;border-bottom:1px solid #fff;cursor:default;filter:none}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-menu-align.mce-rtl .mce-menu-shortcut,.mce-menu-align.mce-rtl .mce-caret{right:auto;left:0}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #333;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:#fff}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:2px 0 0;min-width:160px;background:#fff;border:1px solid #989898;border:1px solid rgba(0,0,0,0.2);z-index:1002;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);max-height:400px;overflow:auto;overflow-x:hidden}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block;*display:inline}.mce-menu-sub-tr-tl{margin:-6px 0 0 -1px}.mce-menu-sub-br-bl{margin:6px 0 0 -1px}.mce-menu-sub-tl-tr{margin:-6px 0 0 1px}.mce-menu-sub-bl-br{margin:6px 0 0 1px}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-container-body .mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#333}.mce-spacer{visibility:hidden}.mce-splitbtn .mce-open{border-left:1px solid transparent;border-right:1px solid transparent}.mce-splitbtn:hover .mce-open{border-left-color:#bdbdbd;border-right-color:#bdbdbd}.mce-splitbtn button{padding-right:4px}.mce-splitbtn .mce-open{padding-left:4px}.mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-splitbtn.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-splitbtn{direction:rtl;text-align:right}.mce-rtl .mce-splitbtn button{padding-right:10px;padding-left:10px}.mce-rtl .mce-splitbtn .mce-open{padding-left:4px;padding-right:4px}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #c5c5c5}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #c5c5c5;border-width:0 1px 0 0;background:#e3e3e3;padding:8px;text-shadow:0 1px 1px rgba(255,255,255,0.75);height:13px;cursor:pointer}.mce-tab:hover{background:#fdfdfd}.mce-tab.mce-active{background:#fdfdfd;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-rtl .mce-tabs{text-align:right;direction:rtl}.mce-rtl .mce-tab{border-width:0 0 0 1px}.mce-textbox{background:#fff;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);display:inline-block;-webkit-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:pre-wrap;*white-space:pre;color:#333}.mce-textbox:focus,.mce-textbox.mce-focus{border-color:rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65)}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px}.mce-textbox.mce-disabled{color:#adadad}.mce-rtl .mce-textbox{text-align:right;direction:rtl}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url('img/loader.gif') no-repeat center center}.mce-throbber-inline{position:static;height:50px}@font-face{font-family:'tinymce';src:url('fonts/tinymce.eot');src:url('fonts/tinymce.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce.woff') format('woff'),url('fonts/tinymce.ttf') format('truetype'),url('fonts/tinymce.svg#tinymce') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'tinymce-small';src:url('fonts/tinymce-small.eot');src:url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce-small.woff') format('woff'),url('fonts/tinymce-small.ttf') format('truetype'),url('fonts/tinymce-small.svg#tinymce') format('svg');font-weight:normal;font-style:normal}.mce-ico{font-family:'tinymce';font-style:normal;font-weight:normal;font-size:16px;line-height:16px;vertical-align:text-top;-webkit-font-smoothing:antialiased;display:inline-block;background:transparent center center;width:16px;height:16px;color:#333;-ie7-icon:' '}.mce-btn-small .mce-ico{font-family:'tinymce-small'}.mce-ico,i.mce-i-checkbox{zoom:expression(this.runtimeStyle['zoom'] = '1', this.innerHTML = this.currentStyle['-ie7-icon'].substr(1, 1) + '&nbsp;')}.mce-i-save{-ie7-icon:"\e000"}.mce-i-newdocument{-ie7-icon:"\e001"}.mce-i-fullpage{-ie7-icon:"\e002"}.mce-i-alignleft{-ie7-icon:"\e003"}.mce-i-aligncenter{-ie7-icon:"\e004"}.mce-i-alignright{-ie7-icon:"\e005"}.mce-i-alignjustify{-ie7-icon:"\e006"}.mce-i-cut{-ie7-icon:"\e007"}.mce-i-paste{-ie7-icon:"\e008"}.mce-i-searchreplace{-ie7-icon:"\e009"}.mce-i-bullist{-ie7-icon:"\e00a"}.mce-i-numlist{-ie7-icon:"\e00b"}.mce-i-indent{-ie7-icon:"\e00c"}.mce-i-outdent{-ie7-icon:"\e00d"}.mce-i-blockquote{-ie7-icon:"\e00e"}.mce-i-undo{-ie7-icon:"\e00f"}.mce-i-redo{-ie7-icon:"\e010"}.mce-i-link{-ie7-icon:"\e011"}.mce-i-unlink{-ie7-icon:"\e012"}.mce-i-anchor{-ie7-icon:"\e013"}.mce-i-image{-ie7-icon:"\e014"}.mce-i-media{-ie7-icon:"\e015"}.mce-i-help{-ie7-icon:"\e016"}.mce-i-code{-ie7-icon:"\e017"}.mce-i-insertdatetime{-ie7-icon:"\e018"}.mce-i-preview{-ie7-icon:"\e019"}.mce-i-forecolor{-ie7-icon:"\e01a"}.mce-i-backcolor{-ie7-icon:"\e01a"}.mce-i-table{-ie7-icon:"\e01b"}.mce-i-hr{-ie7-icon:"\e01c"}.mce-i-removeformat{-ie7-icon:"\e01d"}.mce-i-subscript{-ie7-icon:"\e01e"}.mce-i-superscript{-ie7-icon:"\e01f"}.mce-i-charmap{-ie7-icon:"\e020"}.mce-i-emoticons{-ie7-icon:"\e021"}.mce-i-print{-ie7-icon:"\e022"}.mce-i-fullscreen{-ie7-icon:"\e023"}.mce-i-spellchecker{-ie7-icon:"\e024"}.mce-i-nonbreaking{-ie7-icon:"\e025"}.mce-i-template{-ie7-icon:"\e026"}.mce-i-pagebreak{-ie7-icon:"\e027"}.mce-i-restoredraft{-ie7-icon:"\e028"}.mce-i-untitled{-ie7-icon:"\e029"}.mce-i-bold{-ie7-icon:"\e02a"}.mce-i-italic{-ie7-icon:"\e02b"}.mce-i-underline{-ie7-icon:"\e02c"}.mce-i-strikethrough{-ie7-icon:"\e02d"}.mce-i-visualchars{-ie7-icon:"\e02e"}.mce-i-ltr{-ie7-icon:"\e02f"}.mce-i-rtl{-ie7-icon:"\e030"}.mce-i-copy{-ie7-icon:"\e031"}.mce-i-resize{-ie7-icon:"\e032"}.mce-i-browse{-ie7-icon:"\e034"}.mce-i-pastetext{-ie7-icon:"\e035"}.mce-i-checkbox,.mce-i-selected{-ie7-icon:"\e033"}.mce-i-selected{visibility:hidden}.mce-i-backcolor{background:#BBB}
\ No newline at end of file
+.mce-container,.mce-container *,.mce-widget,.mce-widget *,.mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal;font-weight:normal;text-align:left;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-widget button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.mce-container *[unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:inherit !important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mce-wordcount{position:absolute;top:0;right:0;padding:8px}div.mce-edit-area{background:#FFF;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative}.mce-fullscreen .mce-resizehandle{display:none}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid #9e9e9e;width:20px;height:20px;line-height:20px;text-align:center;vertical-align:middle;padding:2px}.mce-charmap td div{text-align:center}.mce-charmap td:hover{background:#d9d9d9}.mce-grid td.mce-grid-cell div{border:1px solid #d6d6d6;width:15px;height:15px;margin:0px;cursor:pointer}.mce-grid td.mce-grid-cell div:focus{border-color:#a1a1a1}.mce-grid td.mce-grid-cell div[disabled]{cursor:not-allowed}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover,.mce-grid a:focus{border-color:#a1a1a1}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#d6d6d6;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#a1a1a1;background:#c8def4}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-colorbtn-trans div{text-align:center;vertical-align:middle;font-weight:bold;font-size:20px;line-height:16px;color:#707070}.mce-toolbar-grp{padding-bottom:2px}.mce-toolbar-grp .mce-flow-layout-item{margin-bottom:0}.mce-rtl .mce-wordcount{left:0;right:auto}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,0.6);width:5px;height:100%;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#AAA;opacity:.6;filter:alpha(opacity=60);zoom:1;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scroll{position:relative}.mce-panel{border:0 solid #9e9e9e;background-color:#f0f0f0;background-image:-moz-linear-gradient(top, #fdfdfd, #ddd);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fdfdfd), to(#ddd));background-image:-webkit-linear-gradient(top, #fdfdfd, #ddd);background-image:-o-linear-gradient(top, #fdfdfd, #ddd);background-image:linear-gradient(to bottom, #fdfdfd, #ddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffdfdfd', endColorstr='#ffdddddd', GradientType=0);zoom:1}.mce-floatpanel{position:absolute;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2)}.mce-floatpanel.mce-fixed{position:fixed}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);top:0;left:0;background:#fff;border:1px solid #9e9e9e;border:1px solid rgba(0,0,0,0.25)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#9e9e9e;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.mce-floatpanel.mce-popover.mce-bottom.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;background:#fff;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#000}#mce-modal-block.mce-in{opacity:.3;filter:alpha(opacity=30);zoom:1}.mce-window-move{cursor:move}.mce-window{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;background:#fff;position:fixed;top:0;left:0;opacity:0;-webkit-transition:opacity 150ms ease-in;transition:opacity 150ms ease-in}.mce-window.mce-in{opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #c5c5c5;position:relative}.mce-window-head .mce-close{position:absolute;right:15px;top:9px;font-size:20px;font-weight:bold;line-height:20px;color:#858585;cursor:pointer;height:20px;overflow:hidden}.mce-close:hover{color:#adadad}.mce-window-head .mce-title{line-height:20px;font-size:20px;font-weight:bold;text-rendering:optimizelegibility;padding-right:10px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:#fff;border-top:1px solid #c5c5c5;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window.mce-fullscreen,.mce-window.mce-fullscreen .mce-foot{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mce-rtl .mce-window-head .mce-close{position:absolute;right:auto;left:15px}.mce-rtl .mce-window-head .mce-dragh{left:auto;right:0}.mce-rtl .mce-window-head .mce-title{direction:rtl;text-align:right}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1}.mce-tooltip-inner{font-size:11px;background-color:#000;color:#fff;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-inner{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-tooltip-inner{-webkit-box-shadow:0 0 5px #000000;-moz-box-shadow:0 0 5px #000000;box-shadow:0 0 5px #000000}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-nw,.mce-tooltip-sw{margin-left:-14px}.mce-tooltip-n .mce-tooltip-arrow{top:0px;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-btn{border:1px solid #b1b1b1;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25) rgba(0,0,0,0.25);position:relative;text-shadow:0 1px 1px rgba(255,255,255,0.75);display:inline-block;*display:inline;*zoom:1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);background-color:#f0f0f0;background-image:-moz-linear-gradient(top, #fff, #d9d9d9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#d9d9d9));background-image:-webkit-linear-gradient(top, #fff, #d9d9d9);background-image:-o-linear-gradient(top, #fff, #d9d9d9);background-image:linear-gradient(to bottom, #fff, #d9d9d9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffd9d9d9', GradientType=0);zoom:1}.mce-btn:hover,.mce-btn:focus{color:#333;background-color:#e3e3e3;background-image:-moz-linear-gradient(top, #f2f2f2, #ccc);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#ccc));background-image:-webkit-linear-gradient(top, #f2f2f2, #ccc);background-image:-o-linear-gradient(top, #f2f2f2, #ccc);background-image:linear-gradient(to bottom, #f2f2f2, #ccc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffcccccc', GradientType=0);zoom:1}.mce-btn.mce-disabled button,.mce-btn.mce-disabled:hover button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover{background-color:#d6d6d6;background-image:-moz-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#c0c0c0));background-image:-webkit-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-o-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:linear-gradient(to bottom, #e6e6e6, #c0c0c0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffc0c0c0', GradientType=0);zoom:1;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-btn:active{background-color:#d6d6d6;background-image:-moz-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#c0c0c0));background-image:-webkit-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-o-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:linear-gradient(to bottom, #e6e6e6, #c0c0c0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffc0c0c0', GradientType=0);zoom:1;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-btn button{padding:4px 10px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#333;text-align:center;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px #fff}.mce-primary{min-width:50px;color:#fff;border:1px solid #b1b1b1;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25) rgba(0,0,0,0.25);background-color:#006dcc;background-image:-moz-linear-gradient(top, #08c, #04c);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#04c));background-image:-webkit-linear-gradient(top, #08c, #04c);background-image:-o-linear-gradient(top, #08c, #04c);background-image:linear-gradient(to bottom, #08c, #04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);zoom:1}.mce-primary:hover,.mce-primary:focus{background-color:#005fb3;background-image:-moz-linear-gradient(top, #0077b3, #003cb3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0077b3), to(#003cb3));background-image:-webkit-linear-gradient(top, #0077b3, #003cb3);background-image:-o-linear-gradient(top, #0077b3, #003cb3);background-image:linear-gradient(to bottom, #0077b3, #003cb3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0077b3', endColorstr='#ff003cb3', GradientType=0);zoom:1}.mce-primary.mce-disabled button,.mce-primary.mce-disabled:hover button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-primary.mce-active,.mce-primary.mce-active:hover,.mce-primary:not(.mce-disabled):active{background-color:#005299;background-image:-moz-linear-gradient(top, #069, #039);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#069), to(#039));background-image:-webkit-linear-gradient(top, #069, #039);background-image:-o-linear-gradient(top, #069, #039);background-image:linear-gradient(to bottom, #069, #039);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff006699', endColorstr='#ff003399', GradientType=0);zoom:1;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-primary button,.mce-primary button i{color:#fff;text-shadow:1px 1px #333}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:1px 5px;font-size:12px;*padding-bottom:2px}.mce-btn-small i{line-height:20px;vertical-align:top;*line-height:18px}.mce-btn .mce-caret{margin-top:8px;margin-left:0}.mce-btn-small .mce-caret{margin-top:8px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #333;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#aaa}.mce-caret.mce-up{border-bottom:4px solid #333;border-top:0}.mce-btn-flat{border:0;background:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:none}.mce-btn-flat:hover,.mce-btn-flat.mce-active,.mce-btn-flat:focus,.mce-btn-flat:active{border:0;background:#e6e6e6;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-rtl .mce-btn button{direction:rtl}.mce-btn-group .mce-btn{border-width:1px 0 1px 0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mce-btn-group .mce-first{border-left:1px solid #b1b1b1;border-left:1px solid rgba(0,0,0,0.25);-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.mce-btn-group .mce-last{border-right:1px solid #b1b1b1;border-right:1px solid rgba(0,0,0,0.1);-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.mce-btn-group .mce-first.mce-last{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);background-color:#f0f0f0;background-image:-moz-linear-gradient(top, #fff, #d9d9d9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#d9d9d9));background-image:-webkit-linear-gradient(top, #fff, #d9d9d9);background-image:-o-linear-gradient(top, #fff, #d9d9d9);background-image:linear-gradient(to bottom, #fff, #d9d9d9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffd9d9d9', GradientType=0);zoom:1;text-indent:-10em;*font-size:0;*line-height:0;*text-indent:0;overflow:hidden}.mce-checked i.mce-i-checkbox{color:#333;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox,.mce-checkbox.mce-focus i.mce-i-checkbox{border:1px solid rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65)}.mce-checkbox.mce-disabled .mce-label,.mce-checkbox.mce-disabled i.mce-i-checkbox{color:#acacac}.mce-rtl .mce-checkbox{direction:rtl;text-align:right}.mce-rtl i.mce-i-checkbox{margin:0 0 0 3px}.mce-combobox{display:inline-block;*display:inline;*zoom:1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);*height:32px}.mce-combobox input{border:1px solid #c5c5c5;border-right-color:#c5c5c5;height:28px}.mce-combobox.mce-disabled input{color:#adadad}.mce-combobox.mce-has-open input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.mce-combobox .mce-btn{border-left:0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox.mce-disabled .mce-btn button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-colorbox i{border:1px solid #c5c5c5;width:14px;height:14px}.mce-colorbutton .mce-ico{position:relative}.mce-colorbutton-grid{margin:4px}.mce-colorbutton button{padding-right:4px}.mce-colorbutton .mce-preview{padding-right:3px;display:block;position:absolute;left:50%;top:50%;margin-left:-14px;margin-top:7px;background:gray;width:13px;height:2px;overflow:hidden}.mce-colorbutton.mce-btn-small .mce-preview{margin-left:-16px;padding-right:0;width:16px}.mce-colorbutton .mce-open{padding-left:4px;border-left:1px solid transparent;border-right:1px solid transparent}.mce-colorbutton:hover .mce-open{border-left-color:#bdbdbd;border-right-color:#bdbdbd}.mce-colorbutton.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-colorbutton{direction:rtl}.mce-rtl .mce-colorbutton .mce-preview{margin-left:0;padding-right:0;padding-left:4px;margin-right:-14px}.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview{margin-left:0;padding-right:0;margin-right:-17px;padding-left:0}.mce-rtl .mce-colorbutton button{padding-right:10px;padding-left:10px}.mce-rtl .mce-colorbutton .mce-open{padding-left:4px;padding-right:4px}.mce-colorpicker{position:relative;width:250px;height:220px}.mce-colorpicker-sv{position:absolute;top:0;left:0;width:90%;height:100%;border:1px solid #c5c5c5;cursor:crosshair;overflow:hidden}.mce-colorpicker-h-chunk{width:100%}.mce-colorpicker-overlay1,.mce-colorpicker-overlay2{width:100%;height:100%;position:absolute;top:0;left:0}.mce-colorpicker-overlay1{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')";background:linear-gradient(to right, #fff, rgba(255,255,255,0))}.mce-colorpicker-overlay2{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#00000000', endColorstr='#000000');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')";background:linear-gradient(to bottom, rgba(0,0,0,0), #000)}.mce-colorpicker-selector1{background:none;position:absolute;width:12px;height:12px;margin:-8px 0 0 -8px;border:1px solid black;border-radius:50%}.mce-colorpicker-selector2{position:absolute;width:10px;height:10px;border:1px solid white;border-radius:50%}.mce-colorpicker-h{position:absolute;top:0;right:0;width:6.5%;height:100%;border:1px solid #c5c5c5;cursor:crosshair}.mce-colorpicker-h-marker{margin-top:-4px;position:absolute;top:0;left:-1px;width:100%;border:1px solid #333;background:#fff;height:4px;z-index:100}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#333}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:#666;color:#fff}.mce-path .mce-divider{display:inline}.mce-disabled .mce-path-item{color:#aaa}.mce-rtl .mce-path{direction:rtl}.mce-fieldset{border:0 solid #9E9E9E;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-tinymce-inline .mce-flow-layout{white-space:nowrap}.mce-rtl .mce-flow-layout{text-align:right;direction:rtl}.mce-rtl .mce-flow-layout-item{margin:2px 2px 2px 0}.mce-rtl .mce-flow-layout-item.mce-last{margin-left:2px}.mce-iframe{border:0 solid #9e9e9e;width:100%;height:100%}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label.mce-disabled{color:#aaa}.mce-label.mce-multiline{white-space:pre-wrap}.mce-label.mce-error{color:#a00}.mce-rtl .mce-label{text-align:right;direction:rtl}.mce-menubar .mce-menubtn{border-color:transparent;background:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:none}.mce-menubar{border:1px solid #c4c4c4}.mce-menubar .mce-menubtn button span{color:#333}.mce-menubar .mce-caret{border-top-color:#333}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus{border-color:transparent;background:#e6e6e6;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-menubtn span{color:#333;margin-right:2px;line-height:20px;*line-height:16px}.mce-menubtn.mce-btn-small span{font-size:12px}.mce-menubtn.mce-fixed-width span{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;width:90px}.mce-menubtn.mce-fixed-width.mce-btn-small span{width:70px}.mce-menubtn .mce-caret{*margin-top:6px}.mce-rtl .mce-menubtn button{direction:rtl;text-align:right}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-rtl .mce-listbox .mce-caret{right:auto;left:8px}.mce-rtl .mce-listbox button{padding-right:10px;padding-left:20px}.mce-menu-item{display:block;padding:6px 15px 6px 12px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap;cursor:pointer;line-height:normal;border-left:4px solid transparent;margin-bottom:1px}.mce-menu-item .mce-ico,.mce-menu-item .mce-text{color:#333}.mce-menu-item.mce-disabled .mce-text,.mce-menu-item.mce-disabled .mce-ico{color:#adadad}.mce-menu-item:hover .mce-text,.mce-menu-item.mce-selected .mce-text,.mce-menu-item:focus .mce-text{color:#fff}.mce-menu-item:hover .mce-ico,.mce-menu-item.mce-selected .mce-ico,.mce-menu-item:focus .mce-ico{color:#fff}.mce-menu-item.mce-disabled:hover{background:#ccc}.mce-menu-shortcut{display:inline-block;color:#adadad}.mce-menu-shortcut{display:inline-block;*display:inline;*zoom:1;padding:0 15px 0 20px}.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item.mce-selected .mce-menu-shortcut,.mce-menu-item:focus .mce-menu-shortcut{color:#fff}.mce-menu-item .mce-caret{margin-top:4px;*margin-top:3px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #333}.mce-menu-item.mce-selected .mce-caret,.mce-menu-item:focus .mce-caret,.mce-menu-item:hover .mce-caret{border-left-color:#fff}.mce-menu-align .mce-menu-shortcut{*margin-top:-2px}.mce-menu-align .mce-menu-shortcut,.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu-item.mce-active i{visibility:visible}.mce-menu-item-normal.mce-active{background-color:#c8def4}.mce-menu-item-preview.mce-active{border-left:5px solid #aaa}.mce-menu-item-normal.mce-active .mce-text{color:#333}.mce-menu-item-normal.mce-active:hover .mce-text,.mce-menu-item-normal.mce-active:hover .mce-ico{color:#fff}.mce-menu-item-normal.mce-active:focus .mce-text,.mce-menu-item-normal.mce-active:focus .mce-ico{color:#fff}.mce-menu-item:hover,.mce-menu-item.mce-selected,.mce-menu-item:focus{text-decoration:none;color:#fff;background-color:#0081c2;background-image:-moz-linear-gradient(top, #08c, #0077b3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#0077b3));background-image:-webkit-linear-gradient(top, #08c, #0077b3);background-image:-o-linear-gradient(top, #08c, #0077b3);background-image:linear-gradient(to bottom, #08c, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);zoom:1}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:#cbcbcb;border-bottom:1px solid #fff;cursor:default;filter:none}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-menu-align.mce-rtl .mce-menu-shortcut,.mce-menu-align.mce-rtl .mce-caret{right:auto;left:0}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #333;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:#fff}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:2px 0 0;min-width:160px;background:#fff;border:1px solid #989898;border:1px solid rgba(0,0,0,0.2);z-index:1002;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);max-height:400px;overflow:auto;overflow-x:hidden}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block;*display:inline}.mce-menu-sub-tr-tl{margin:-6px 0 0 -1px}.mce-menu-sub-br-bl{margin:6px 0 0 -1px}.mce-menu-sub-tl-tr{margin:-6px 0 0 1px}.mce-menu-sub-bl-br{margin:6px 0 0 1px}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-container-body .mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#333}.mce-spacer{visibility:hidden}.mce-splitbtn .mce-open{border-left:1px solid transparent;border-right:1px solid transparent}.mce-splitbtn:hover .mce-open{border-left-color:#bdbdbd;border-right-color:#bdbdbd}.mce-splitbtn button{padding-right:4px}.mce-splitbtn .mce-open{padding-left:4px}.mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-splitbtn.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-splitbtn{direction:rtl;text-align:right}.mce-rtl .mce-splitbtn button{padding-right:10px;padding-left:10px}.mce-rtl .mce-splitbtn .mce-open{padding-left:4px;padding-right:4px}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #c5c5c5}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #c5c5c5;border-width:0 1px 0 0;background:#e3e3e3;padding:8px;text-shadow:0 1px 1px rgba(255,255,255,0.75);height:13px;cursor:pointer}.mce-tab:hover{background:#fdfdfd}.mce-tab.mce-active{background:#fdfdfd;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-rtl .mce-tabs{text-align:right;direction:rtl}.mce-rtl .mce-tab{border-width:0 0 0 1px}.mce-textbox{background:#fff;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);display:inline-block;-webkit-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:pre-wrap;*white-space:pre;color:#333}.mce-textbox:focus,.mce-textbox.mce-focus{border-color:rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65)}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px}.mce-textbox.mce-disabled{color:#adadad}.mce-rtl .mce-textbox{text-align:right;direction:rtl}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url('img/loader.gif') no-repeat center center}.mce-throbber-inline{position:static;height:50px}@font-face{font-family:'tinymce';src:url('fonts/tinymce.eot');src:url('fonts/tinymce.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce.woff') format('woff'),url('fonts/tinymce.ttf') format('truetype'),url('fonts/tinymce.svg#tinymce') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'tinymce-small';src:url('fonts/tinymce-small.eot');src:url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce-small.woff') format('woff'),url('fonts/tinymce-small.ttf') format('truetype'),url('fonts/tinymce-small.svg#tinymce') format('svg');font-weight:normal;font-style:normal}.mce-ico{font-family:'tinymce';font-style:normal;font-weight:normal;font-size:16px;line-height:16px;vertical-align:text-top;-webkit-font-smoothing:antialiased;display:inline-block;background:transparent center center;width:16px;height:16px;color:#333;-ie7-icon:' '}.mce-btn-small .mce-ico{font-family:'tinymce-small'}.mce-ico,i.mce-i-checkbox{zoom:expression(this.runtimeStyle['zoom'] = '1', this.innerHTML = this.currentStyle['-ie7-icon'].substr(1, 1) + '&nbsp;')}.mce-i-save{-ie7-icon:"\e000"}.mce-i-newdocument{-ie7-icon:"\e001"}.mce-i-fullpage{-ie7-icon:"\e002"}.mce-i-alignleft{-ie7-icon:"\e003"}.mce-i-aligncenter{-ie7-icon:"\e004"}.mce-i-alignright{-ie7-icon:"\e005"}.mce-i-alignjustify{-ie7-icon:"\e006"}.mce-i-cut{-ie7-icon:"\e007"}.mce-i-paste{-ie7-icon:"\e008"}.mce-i-searchreplace{-ie7-icon:"\e009"}.mce-i-bullist{-ie7-icon:"\e00a"}.mce-i-numlist{-ie7-icon:"\e00b"}.mce-i-indent{-ie7-icon:"\e00c"}.mce-i-outdent{-ie7-icon:"\e00d"}.mce-i-blockquote{-ie7-icon:"\e00e"}.mce-i-undo{-ie7-icon:"\e00f"}.mce-i-redo{-ie7-icon:"\e010"}.mce-i-link{-ie7-icon:"\e011"}.mce-i-unlink{-ie7-icon:"\e012"}.mce-i-anchor{-ie7-icon:"\e013"}.mce-i-image{-ie7-icon:"\e014"}.mce-i-media{-ie7-icon:"\e015"}.mce-i-help{-ie7-icon:"\e016"}.mce-i-code{-ie7-icon:"\e017"}.mce-i-insertdatetime{-ie7-icon:"\e018"}.mce-i-preview{-ie7-icon:"\e019"}.mce-i-forecolor{-ie7-icon:"\e01a"}.mce-i-backcolor{-ie7-icon:"\e01a"}.mce-i-table{-ie7-icon:"\e01b"}.mce-i-hr{-ie7-icon:"\e01c"}.mce-i-removeformat{-ie7-icon:"\e01d"}.mce-i-subscript{-ie7-icon:"\e01e"}.mce-i-superscript{-ie7-icon:"\e01f"}.mce-i-charmap{-ie7-icon:"\e020"}.mce-i-emoticons{-ie7-icon:"\e021"}.mce-i-print{-ie7-icon:"\e022"}.mce-i-fullscreen{-ie7-icon:"\e023"}.mce-i-spellchecker{-ie7-icon:"\e024"}.mce-i-nonbreaking{-ie7-icon:"\e025"}.mce-i-template{-ie7-icon:"\e026"}.mce-i-pagebreak{-ie7-icon:"\e027"}.mce-i-restoredraft{-ie7-icon:"\e028"}.mce-i-untitled{-ie7-icon:"\e029"}.mce-i-bold{-ie7-icon:"\e02a"}.mce-i-italic{-ie7-icon:"\e02b"}.mce-i-underline{-ie7-icon:"\e02c"}.mce-i-strikethrough{-ie7-icon:"\e02d"}.mce-i-visualchars{-ie7-icon:"\e02e"}.mce-i-ltr{-ie7-icon:"\e02f"}.mce-i-rtl{-ie7-icon:"\e030"}.mce-i-copy{-ie7-icon:"\e031"}.mce-i-resize{-ie7-icon:"\e032"}.mce-i-browse{-ie7-icon:"\e034"}.mce-i-pastetext{-ie7-icon:"\e035"}.mce-i-checkbox,.mce-i-selected{-ie7-icon:"\e033"}.mce-i-selected{visibility:hidden}.mce-i-backcolor{background:#BBB}
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/skins/lightgray/skin.min.css b/wp-includes/js/tinymce/skins/lightgray/skin.min.css
index 284ac1dea..872959bce 100644
--- a/wp-includes/js/tinymce/skins/lightgray/skin.min.css
+++ b/wp-includes/js/tinymce/skins/lightgray/skin.min.css
@@ -1 +1 @@
-.mce-container,.mce-container *,.mce-widget,.mce-widget *,.mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal;font-weight:normal;text-align:left;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr}.mce-widget button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.mce-container *[unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:visible !important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mce-wordcount{position:absolute;top:0;right:0;padding:8px}div.mce-edit-area{background:#FFF;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative}.mce-fullscreen .mce-resizehandle{display:none}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid #9e9e9e;width:20px;height:20px;line-height:20px;text-align:center;vertical-align:middle;padding:2px}.mce-charmap td div{text-align:center}.mce-charmap td:hover{background:#d9d9d9}.mce-grid td div{border:1px solid #d6d6d6;width:12px;height:12px;margin:2px;cursor:pointer}.mce-grid td div:focus{border-color:#a1a1a1}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover,.mce-grid a:focus{border-color:#a1a1a1}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#d6d6d6;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#a1a1a1;background:#c8def4}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-toolbar-grp{padding-bottom:2px}.mce-toolbar-grp .mce-flow-layout-item{margin-bottom:0}.mce-rtl .mce-wordcount{left:0;right:auto}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,0.6);width:5px;height:100%;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#AAA;opacity:.6;filter:alpha(opacity=60);zoom:1;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scroll{position:relative}.mce-panel{border:0 solid #9e9e9e;background-color:#f0f0f0;background-image:-moz-linear-gradient(top, #fdfdfd, #ddd);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fdfdfd), to(#ddd));background-image:-webkit-linear-gradient(top, #fdfdfd, #ddd);background-image:-o-linear-gradient(top, #fdfdfd, #ddd);background-image:linear-gradient(to bottom, #fdfdfd, #ddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffdfdfd', endColorstr='#ffdddddd', GradientType=0);zoom:1}.mce-floatpanel{position:absolute;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2)}.mce-floatpanel.mce-fixed{position:fixed}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);top:0;left:0;background:#fff;border:1px solid #9e9e9e;border:1px solid rgba(0,0,0,0.25)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#9e9e9e;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.mce-floatpanel.mce-popover.mce-bottom.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;background:#fff;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#000}#mce-modal-block.mce-in{opacity:.3;filter:alpha(opacity=30);zoom:1}.mce-window-move{cursor:move}.mce-window{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;background:#fff;position:fixed;top:0;left:0;opacity:0;-webkit-transition:opacity 150ms ease-in;transition:opacity 150ms ease-in}.mce-window.mce-in{opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #c5c5c5;position:relative}.mce-window-head .mce-close{position:absolute;right:15px;top:9px;font-size:20px;font-weight:bold;line-height:20px;color:#858585;cursor:pointer;height:20px;overflow:hidden}.mce-close:hover{color:#adadad}.mce-window-head .mce-title{line-height:20px;font-size:20px;font-weight:bold;text-rendering:optimizelegibility;padding-right:10px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:#fff;border-top:1px solid #c5c5c5;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window.mce-fullscreen,.mce-window.mce-fullscreen .mce-foot{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mce-rtl .mce-window-head .mce-close{position:absolute;right:auto;left:15px}.mce-rtl .mce-window-head .mce-dragh{left:auto;right:0}.mce-rtl .mce-window-head .mce-title{direction:rtl;text-align:right}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1}.mce-tooltip-inner{font-size:11px;background-color:#000;color:#fff;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-inner{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-tooltip-inner{-webkit-box-shadow:0 0 5px #000000;-moz-box-shadow:0 0 5px #000000;box-shadow:0 0 5px #000000}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-nw,.mce-tooltip-sw{margin-left:-14px}.mce-tooltip-n .mce-tooltip-arrow{top:0px;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-btn{border:1px solid #b1b1b1;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25) rgba(0,0,0,0.25);position:relative;text-shadow:0 1px 1px rgba(255,255,255,0.75);display:inline-block;*display:inline;*zoom:1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);background-color:#f0f0f0;background-image:-moz-linear-gradient(top, #fff, #d9d9d9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#d9d9d9));background-image:-webkit-linear-gradient(top, #fff, #d9d9d9);background-image:-o-linear-gradient(top, #fff, #d9d9d9);background-image:linear-gradient(to bottom, #fff, #d9d9d9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffd9d9d9', GradientType=0);zoom:1}.mce-btn:hover,.mce-btn:focus{color:#333;background-color:#e3e3e3;background-image:-moz-linear-gradient(top, #f2f2f2, #ccc);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#ccc));background-image:-webkit-linear-gradient(top, #f2f2f2, #ccc);background-image:-o-linear-gradient(top, #f2f2f2, #ccc);background-image:linear-gradient(to bottom, #f2f2f2, #ccc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffcccccc', GradientType=0);zoom:1}.mce-btn.mce-disabled button,.mce-btn.mce-disabled:hover button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover{background-color:#d6d6d6;background-image:-moz-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#c0c0c0));background-image:-webkit-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-o-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:linear-gradient(to bottom, #e6e6e6, #c0c0c0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffc0c0c0', GradientType=0);zoom:1;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-btn:not(.mce-disabled):active{background-color:#d6d6d6;background-image:-moz-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#c0c0c0));background-image:-webkit-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-o-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:linear-gradient(to bottom, #e6e6e6, #c0c0c0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffc0c0c0', GradientType=0);zoom:1;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-btn button{padding:4px 10px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#333;text-align:center;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px #fff}.mce-primary{min-width:50px;color:#fff;border:1px solid #b1b1b1;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25) rgba(0,0,0,0.25);background-color:#006dcc;background-image:-moz-linear-gradient(top, #08c, #04c);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#04c));background-image:-webkit-linear-gradient(top, #08c, #04c);background-image:-o-linear-gradient(top, #08c, #04c);background-image:linear-gradient(to bottom, #08c, #04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);zoom:1}.mce-primary:hover,.mce-primary:focus{background-color:#005fb3;background-image:-moz-linear-gradient(top, #0077b3, #003cb3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0077b3), to(#003cb3));background-image:-webkit-linear-gradient(top, #0077b3, #003cb3);background-image:-o-linear-gradient(top, #0077b3, #003cb3);background-image:linear-gradient(to bottom, #0077b3, #003cb3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0077b3', endColorstr='#ff003cb3', GradientType=0);zoom:1}.mce-primary.mce-disabled button,.mce-primary.mce-disabled:hover button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-primary.mce-active,.mce-primary.mce-active:hover,.mce-primary:not(.mce-disabled):active{background-color:#005299;background-image:-moz-linear-gradient(top, #069, #039);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#069), to(#039));background-image:-webkit-linear-gradient(top, #069, #039);background-image:-o-linear-gradient(top, #069, #039);background-image:linear-gradient(to bottom, #069, #039);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff006699', endColorstr='#ff003399', GradientType=0);zoom:1;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-primary button,.mce-primary button i{color:#fff;text-shadow:1px 1px #333}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:1px 5px;font-size:12px;*padding-bottom:2px}.mce-btn-small i{line-height:20px;vertical-align:top;*line-height:18px}.mce-btn .mce-caret{margin-top:8px;margin-left:0}.mce-btn-small .mce-caret{margin-top:8px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #333;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#aaa}.mce-caret.mce-up{border-bottom:4px solid #333;border-top:0}.mce-rtl .mce-btn button{direction:rtl}.mce-btn-group .mce-btn{border-width:1px 0 1px 0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mce-btn-group .mce-first{border-left:1px solid #b1b1b1;border-left:1px solid rgba(0,0,0,0.25);-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.mce-btn-group .mce-last{border-right:1px solid #b1b1b1;border-right:1px solid rgba(0,0,0,0.1);-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.mce-btn-group .mce-first.mce-last{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);background-color:#f0f0f0;background-image:-moz-linear-gradient(top, #fff, #d9d9d9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#d9d9d9));background-image:-webkit-linear-gradient(top, #fff, #d9d9d9);background-image:-o-linear-gradient(top, #fff, #d9d9d9);background-image:linear-gradient(to bottom, #fff, #d9d9d9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffd9d9d9', GradientType=0);zoom:1;text-indent:-10em;*font-size:0;*line-height:0;*text-indent:0;overflow:hidden}.mce-checked i.mce-i-checkbox{color:#333;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox,.mce-checkbox.mce-focus i.mce-i-checkbox{border:1px solid rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65)}.mce-checkbox.mce-disabled .mce-label,.mce-checkbox.mce-disabled i.mce-i-checkbox{color:#acacac}.mce-rtl .mce-checkbox{direction:rtl;text-align:right}.mce-rtl i.mce-i-checkbox{margin:0 0 0 3px}.mce-colorbutton .mce-ico{position:relative}.mce-colorbutton-grid{margin:4px}.mce-colorbutton button{padding-right:4px}.mce-colorbutton .mce-preview{padding-right:3px;display:block;position:absolute;left:50%;top:50%;margin-left:-14px;margin-top:7px;background:gray;width:13px;height:2px;overflow:hidden}.mce-colorbutton.mce-btn-small .mce-preview{margin-left:-16px;padding-right:0;width:16px}.mce-colorbutton .mce-open{padding-left:4px;border-left:1px solid transparent;border-right:1px solid transparent}.mce-colorbutton:hover .mce-open{border-left-color:#bdbdbd;border-right-color:#bdbdbd}.mce-colorbutton.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-colorbutton{direction:rtl}.mce-rtl .mce-colorbutton .mce-preview{margin-left:0;padding-right:0;padding-left:4px;margin-right:-14px}.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview{margin-left:0;padding-right:0;margin-right:-17px;padding-left:0}.mce-rtl .mce-colorbutton button{padding-right:10px;padding-left:10px}.mce-rtl .mce-colorbutton .mce-open{padding-left:4px;padding-right:4px}.mce-combobox{display:inline-block;*display:inline;*zoom:1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);*height:32px}.mce-combobox input{border:1px solid #c5c5c5;border-right-color:#c5c5c5;height:28px}.mce-combobox.mce-disabled input{color:#adadad}.mce-combobox.mce-has-open input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.mce-combobox .mce-btn{border-left:0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox.mce-disabled .mce-btn button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#333}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:#666;color:#fff}.mce-path .mce-divider{display:inline}.mce-disabled .mce-path-item{color:#aaa}.mce-rtl .mce-path{direction:rtl}.mce-fieldset{border:0 solid #9E9E9E;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-tinymce-inline .mce-flow-layout{white-space:nowrap}.mce-rtl .mce-flow-layout{text-align:right;direction:rtl}.mce-rtl .mce-flow-layout-item{margin:2px 2px 2px 0}.mce-rtl .mce-flow-layout-item.mce-last{margin-left:2px}.mce-iframe{border:0 solid #9e9e9e;width:100%;height:100%}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label.mce-disabled{color:#aaa}.mce-label.mce-multiline{white-space:pre-wrap}.mce-label.mce-error{color:#a00}.mce-rtl .mce-label{text-align:right;direction:rtl}.mce-menubar .mce-menubtn{border-color:transparent;background:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:none}.mce-menubar{border:1px solid #c4c4c4}.mce-menubar .mce-menubtn button span{color:#333}.mce-menubar .mce-caret{border-top-color:#333}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus{border-color:transparent;background:#e6e6e6;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-menubtn span{color:#333;margin-right:2px;line-height:20px;*line-height:16px}.mce-menubtn.mce-btn-small span{font-size:12px}.mce-menubtn.mce-fixed-width span{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;width:90px}.mce-menubtn.mce-fixed-width.mce-btn-small span{width:70px}.mce-menubtn .mce-caret{*margin-top:6px}.mce-rtl .mce-menubtn button{direction:rtl;text-align:right}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-rtl .mce-listbox .mce-caret{right:auto;left:8px}.mce-rtl .mce-listbox button{padding-right:10px;padding-left:20px}.mce-menu-item{display:block;padding:6px 15px 6px 12px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap;cursor:pointer;line-height:normal;border-left:4px solid transparent;margin-bottom:1px}.mce-menu-item .mce-ico,.mce-menu-item .mce-text{color:#333}.mce-menu-item.mce-disabled .mce-text,.mce-menu-item.mce-disabled .mce-ico{color:#adadad}.mce-menu-item:hover .mce-text,.mce-menu-item.mce-selected .mce-text,.mce-menu-item:focus .mce-text{color:#fff}.mce-menu-item:hover .mce-ico,.mce-menu-item.mce-selected .mce-ico,.mce-menu-item:focus .mce-ico{color:#fff}.mce-menu-item.mce-disabled:hover{background:#ccc}.mce-menu-shortcut{display:inline-block;color:#adadad}.mce-menu-shortcut{display:inline-block;*display:inline;*zoom:1;padding:0 15px 0 20px}.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item.mce-selected .mce-menu-shortcut,.mce-menu-item:focus .mce-menu-shortcut{color:#fff}.mce-menu-item .mce-caret{margin-top:4px;*margin-top:3px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #333}.mce-menu-item.mce-selected .mce-caret,.mce-menu-item:focus .mce-caret,.mce-menu-item:hover .mce-caret{border-left-color:#fff}.mce-menu-align .mce-menu-shortcut{*margin-top:-2px}.mce-menu-align .mce-menu-shortcut,.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu-item.mce-active i{visibility:visible}.mce-menu-item-normal.mce-active{background-color:#c8def4}.mce-menu-item-preview.mce-active{border-left:5px solid #aaa}.mce-menu-item-normal.mce-active .mce-text{color:#333}.mce-menu-item-normal.mce-active:hover .mce-text,.mce-menu-item-normal.mce-active:hover .mce-ico{color:#fff}.mce-menu-item-normal.mce-active:focus .mce-text,.mce-menu-item-normal.mce-active:focus .mce-ico{color:#fff}.mce-menu-item:hover,.mce-menu-item.mce-selected,.mce-menu-item:focus{text-decoration:none;color:#fff;background-color:#0081c2;background-image:-moz-linear-gradient(top, #08c, #0077b3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#0077b3));background-image:-webkit-linear-gradient(top, #08c, #0077b3);background-image:-o-linear-gradient(top, #08c, #0077b3);background-image:linear-gradient(to bottom, #08c, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);zoom:1}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:#cbcbcb;border-bottom:1px solid #fff;cursor:default;filter:none}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-menu-align.mce-rtl .mce-menu-shortcut,.mce-menu-align.mce-rtl .mce-caret{right:auto;left:0}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #333;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:#fff}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:2px 0 0;min-width:160px;background:#fff;border:1px solid #989898;border:1px solid rgba(0,0,0,0.2);z-index:1002;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);max-height:400px;overflow:auto;overflow-x:hidden}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block;*display:inline}.mce-menu-sub-tr-tl{margin:-6px 0 0 -1px}.mce-menu-sub-br-bl{margin:6px 0 0 -1px}.mce-menu-sub-tl-tr{margin:-6px 0 0 1px}.mce-menu-sub-bl-br{margin:6px 0 0 1px}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-container-body .mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#333}.mce-spacer{visibility:hidden}.mce-splitbtn .mce-open{border-left:1px solid transparent;border-right:1px solid transparent}.mce-splitbtn:hover .mce-open{border-left-color:#bdbdbd;border-right-color:#bdbdbd}.mce-splitbtn button{padding-right:4px}.mce-splitbtn .mce-open{padding-left:4px}.mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-splitbtn.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-splitbtn{direction:rtl;text-align:right}.mce-rtl .mce-splitbtn button{padding-right:10px;padding-left:10px}.mce-rtl .mce-splitbtn .mce-open{padding-left:4px;padding-right:4px}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #c5c5c5}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #c5c5c5;border-width:0 1px 0 0;background:#e3e3e3;padding:8px;text-shadow:0 1px 1px rgba(255,255,255,0.75);height:13px;cursor:pointer}.mce-tab:hover{background:#fdfdfd}.mce-tab.mce-active{background:#fdfdfd;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-rtl .mce-tabs{text-align:right;direction:rtl}.mce-rtl .mce-tab{border-width:0 0 0 1px}.mce-textbox{background:#fff;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);display:inline-block;-webkit-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:pre-wrap;*white-space:pre;color:#333}.mce-textbox:focus,.mce-textbox.mce-focus{border-color:rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65)}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px}.mce-textbox.mce-disabled{color:#adadad}.mce-rtl .mce-textbox{text-align:right;direction:rtl}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url('img/loader.gif') no-repeat center center}.mce-throbber-inline{position:static;height:50px}@font-face{font-family:'tinymce';src:url('fonts/tinymce.eot');src:url('fonts/tinymce.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce.woff') format('woff'),url('fonts/tinymce.ttf') format('truetype'),url('fonts/tinymce.svg#tinymce') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'tinymce-small';src:url('fonts/tinymce-small.eot');src:url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce-small.woff') format('woff'),url('fonts/tinymce-small.ttf') format('truetype'),url('fonts/tinymce-small.svg#tinymce') format('svg');font-weight:normal;font-style:normal}.mce-ico{font-family:'tinymce',Arial;font-style:normal;font-weight:normal;font-variant:normal;font-size:16px;line-height:16px;speak:none;vertical-align:text-top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;background:transparent center center;background-size:cover;width:16px;height:16px;color:#333}.mce-btn-small .mce-ico{font-family:'tinymce-small',Arial}.mce-i-save:before{content:"\e000"}.mce-i-newdocument:before{content:"\e001"}.mce-i-fullpage:before{content:"\e002"}.mce-i-alignleft:before{content:"\e003"}.mce-i-aligncenter:before{content:"\e004"}.mce-i-alignright:before{content:"\e005"}.mce-i-alignjustify:before{content:"\e006"}.mce-i-cut:before{content:"\e007"}.mce-i-paste:before{content:"\e008"}.mce-i-searchreplace:before{content:"\e009"}.mce-i-bullist:before{content:"\e00a"}.mce-i-numlist:before{content:"\e00b"}.mce-i-indent:before{content:"\e00c"}.mce-i-outdent:before{content:"\e00d"}.mce-i-blockquote:before{content:"\e00e"}.mce-i-undo:before{content:"\e00f"}.mce-i-redo:before{content:"\e010"}.mce-i-link:before{content:"\e011"}.mce-i-unlink:before{content:"\e012"}.mce-i-anchor:before{content:"\e013"}.mce-i-image:before{content:"\e014"}.mce-i-media:before{content:"\e015"}.mce-i-help:before{content:"\e016"}.mce-i-code:before{content:"\e017"}.mce-i-insertdatetime:before{content:"\e018"}.mce-i-preview:before{content:"\e019"}.mce-i-forecolor:before{content:"\e01a"}.mce-i-backcolor:before{content:"\e01a"}.mce-i-table:before{content:"\e01b"}.mce-i-hr:before{content:"\e01c"}.mce-i-removeformat:before{content:"\e01d"}.mce-i-subscript:before{content:"\e01e"}.mce-i-superscript:before{content:"\e01f"}.mce-i-charmap:before{content:"\e020"}.mce-i-emoticons:before{content:"\e021"}.mce-i-print:before{content:"\e022"}.mce-i-fullscreen:before{content:"\e023"}.mce-i-spellchecker:before{content:"\e024"}.mce-i-nonbreaking:before{content:"\e025"}.mce-i-template:before{content:"\e026"}.mce-i-pagebreak:before{content:"\e027"}.mce-i-restoredraft:before{content:"\e028"}.mce-i-untitled:before{content:"\e029"}.mce-i-bold:before{content:"\e02a"}.mce-i-italic:before{content:"\e02b"}.mce-i-underline:before{content:"\e02c"}.mce-i-strikethrough:before{content:"\e02d"}.mce-i-visualchars:before{content:"\e02e"}.mce-i-visualblocks:before{content:"\e02e"}.mce-i-ltr:before{content:"\e02f"}.mce-i-rtl:before{content:"\e030"}.mce-i-copy:before{content:"\e031"}.mce-i-resize:before{content:"\e032"}.mce-i-browse:before{content:"\e034"}.mce-i-pastetext:before{content:"\e035"}.mce-i-checkbox:before,.mce-i-selected:before{content:"\e033"}.mce-i-selected{visibility:hidden}i.mce-i-backcolor{text-shadow:none;background:#bbb}
\ No newline at end of file
+.mce-container,.mce-container *,.mce-widget,.mce-widget *,.mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal;font-weight:normal;text-align:left;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-widget button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.mce-container *[unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:inherit !important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mce-wordcount{position:absolute;top:0;right:0;padding:8px}div.mce-edit-area{background:#FFF;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative}.mce-fullscreen .mce-resizehandle{display:none}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid #9e9e9e;width:20px;height:20px;line-height:20px;text-align:center;vertical-align:middle;padding:2px}.mce-charmap td div{text-align:center}.mce-charmap td:hover{background:#d9d9d9}.mce-grid td.mce-grid-cell div{border:1px solid #d6d6d6;width:15px;height:15px;margin:0px;cursor:pointer}.mce-grid td.mce-grid-cell div:focus{border-color:#a1a1a1}.mce-grid td.mce-grid-cell div[disabled]{cursor:not-allowed}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover,.mce-grid a:focus{border-color:#a1a1a1}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#d6d6d6;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#a1a1a1;background:#c8def4}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-colorbtn-trans div{text-align:center;vertical-align:middle;font-weight:bold;font-size:20px;line-height:16px;color:#707070}.mce-toolbar-grp{padding-bottom:2px}.mce-toolbar-grp .mce-flow-layout-item{margin-bottom:0}.mce-rtl .mce-wordcount{left:0;right:auto}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,0.6);width:5px;height:100%;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#AAA;opacity:.6;filter:alpha(opacity=60);zoom:1;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mce-scroll{position:relative}.mce-panel{border:0 solid #9e9e9e;background-color:#f0f0f0;background-image:-moz-linear-gradient(top, #fdfdfd, #ddd);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fdfdfd), to(#ddd));background-image:-webkit-linear-gradient(top, #fdfdfd, #ddd);background-image:-o-linear-gradient(top, #fdfdfd, #ddd);background-image:linear-gradient(to bottom, #fdfdfd, #ddd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffdfdfd', endColorstr='#ffdddddd', GradientType=0);zoom:1}.mce-floatpanel{position:absolute;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2)}.mce-floatpanel.mce-fixed{position:fixed}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);top:0;left:0;background:#fff;border:1px solid #9e9e9e;border:1px solid rgba(0,0,0,0.25)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#9e9e9e;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.mce-floatpanel.mce-popover.mce-bottom.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;background:#fff;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#000}#mce-modal-block.mce-in{opacity:.3;filter:alpha(opacity=30);zoom:1}.mce-window-move{cursor:move}.mce-window{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;background:#fff;position:fixed;top:0;left:0;opacity:0;-webkit-transition:opacity 150ms ease-in;transition:opacity 150ms ease-in}.mce-window.mce-in{opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #c5c5c5;position:relative}.mce-window-head .mce-close{position:absolute;right:15px;top:9px;font-size:20px;font-weight:bold;line-height:20px;color:#858585;cursor:pointer;height:20px;overflow:hidden}.mce-close:hover{color:#adadad}.mce-window-head .mce-title{line-height:20px;font-size:20px;font-weight:bold;text-rendering:optimizelegibility;padding-right:10px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:#fff;border-top:1px solid #c5c5c5;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window.mce-fullscreen,.mce-window.mce-fullscreen .mce-foot{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mce-rtl .mce-window-head .mce-close{position:absolute;right:auto;left:15px}.mce-rtl .mce-window-head .mce-dragh{left:auto;right:0}.mce-rtl .mce-window-head .mce-title{direction:rtl;text-align:right}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1}.mce-tooltip-inner{font-size:11px;background-color:#000;color:#fff;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-inner{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-tooltip-inner{-webkit-box-shadow:0 0 5px #000000;-moz-box-shadow:0 0 5px #000000;box-shadow:0 0 5px #000000}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-nw,.mce-tooltip-sw{margin-left:-14px}.mce-tooltip-n .mce-tooltip-arrow{top:0px;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-btn{border:1px solid #b1b1b1;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25) rgba(0,0,0,0.25);position:relative;text-shadow:0 1px 1px rgba(255,255,255,0.75);display:inline-block;*display:inline;*zoom:1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);background-color:#f0f0f0;background-image:-moz-linear-gradient(top, #fff, #d9d9d9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#d9d9d9));background-image:-webkit-linear-gradient(top, #fff, #d9d9d9);background-image:-o-linear-gradient(top, #fff, #d9d9d9);background-image:linear-gradient(to bottom, #fff, #d9d9d9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffd9d9d9', GradientType=0);zoom:1}.mce-btn:hover,.mce-btn:focus{color:#333;background-color:#e3e3e3;background-image:-moz-linear-gradient(top, #f2f2f2, #ccc);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#ccc));background-image:-webkit-linear-gradient(top, #f2f2f2, #ccc);background-image:-o-linear-gradient(top, #f2f2f2, #ccc);background-image:linear-gradient(to bottom, #f2f2f2, #ccc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffcccccc', GradientType=0);zoom:1}.mce-btn.mce-disabled button,.mce-btn.mce-disabled:hover button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover{background-color:#d6d6d6;background-image:-moz-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#c0c0c0));background-image:-webkit-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-o-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:linear-gradient(to bottom, #e6e6e6, #c0c0c0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffc0c0c0', GradientType=0);zoom:1;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-btn:active{background-color:#d6d6d6;background-image:-moz-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#c0c0c0));background-image:-webkit-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:-o-linear-gradient(top, #e6e6e6, #c0c0c0);background-image:linear-gradient(to bottom, #e6e6e6, #c0c0c0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffc0c0c0', GradientType=0);zoom:1;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-btn button{padding:4px 10px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#333;text-align:center;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px #fff}.mce-primary{min-width:50px;color:#fff;border:1px solid #b1b1b1;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25) rgba(0,0,0,0.25);background-color:#006dcc;background-image:-moz-linear-gradient(top, #08c, #04c);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#04c));background-image:-webkit-linear-gradient(top, #08c, #04c);background-image:-o-linear-gradient(top, #08c, #04c);background-image:linear-gradient(to bottom, #08c, #04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);zoom:1}.mce-primary:hover,.mce-primary:focus{background-color:#005fb3;background-image:-moz-linear-gradient(top, #0077b3, #003cb3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0077b3), to(#003cb3));background-image:-webkit-linear-gradient(top, #0077b3, #003cb3);background-image:-o-linear-gradient(top, #0077b3, #003cb3);background-image:linear-gradient(to bottom, #0077b3, #003cb3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0077b3', endColorstr='#ff003cb3', GradientType=0);zoom:1}.mce-primary.mce-disabled button,.mce-primary.mce-disabled:hover button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-primary.mce-active,.mce-primary.mce-active:hover,.mce-primary:not(.mce-disabled):active{background-color:#005299;background-image:-moz-linear-gradient(top, #069, #039);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#069), to(#039));background-image:-webkit-linear-gradient(top, #069, #039);background-image:-o-linear-gradient(top, #069, #039);background-image:linear-gradient(to bottom, #069, #039);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff006699', endColorstr='#ff003399', GradientType=0);zoom:1;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-primary button,.mce-primary button i{color:#fff;text-shadow:1px 1px #333}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:1px 5px;font-size:12px;*padding-bottom:2px}.mce-btn-small i{line-height:20px;vertical-align:top;*line-height:18px}.mce-btn .mce-caret{margin-top:8px;margin-left:0}.mce-btn-small .mce-caret{margin-top:8px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #333;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#aaa}.mce-caret.mce-up{border-bottom:4px solid #333;border-top:0}.mce-btn-flat{border:0;background:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:none}.mce-btn-flat:hover,.mce-btn-flat.mce-active,.mce-btn-flat:focus,.mce-btn-flat:active{border:0;background:#e6e6e6;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-rtl .mce-btn button{direction:rtl}.mce-btn-group .mce-btn{border-width:1px 0 1px 0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mce-btn-group .mce-first{border-left:1px solid #b1b1b1;border-left:1px solid rgba(0,0,0,0.25);-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.mce-btn-group .mce-last{border-right:1px solid #b1b1b1;border-right:1px solid rgba(0,0,0,0.1);-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.mce-btn-group .mce-first.mce-last{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);background-color:#f0f0f0;background-image:-moz-linear-gradient(top, #fff, #d9d9d9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#d9d9d9));background-image:-webkit-linear-gradient(top, #fff, #d9d9d9);background-image:-o-linear-gradient(top, #fff, #d9d9d9);background-image:linear-gradient(to bottom, #fff, #d9d9d9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffd9d9d9', GradientType=0);zoom:1;text-indent:-10em;*font-size:0;*line-height:0;*text-indent:0;overflow:hidden}.mce-checked i.mce-i-checkbox{color:#333;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox,.mce-checkbox.mce-focus i.mce-i-checkbox{border:1px solid rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65)}.mce-checkbox.mce-disabled .mce-label,.mce-checkbox.mce-disabled i.mce-i-checkbox{color:#acacac}.mce-rtl .mce-checkbox{direction:rtl;text-align:right}.mce-rtl i.mce-i-checkbox{margin:0 0 0 3px}.mce-combobox{display:inline-block;*display:inline;*zoom:1;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);*height:32px}.mce-combobox input{border:1px solid #c5c5c5;border-right-color:#c5c5c5;height:28px}.mce-combobox.mce-disabled input{color:#adadad}.mce-combobox.mce-has-open input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.mce-combobox .mce-btn{border-left:0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox.mce-disabled .mce-btn button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-colorbox i{border:1px solid #c5c5c5;width:14px;height:14px}.mce-colorbutton .mce-ico{position:relative}.mce-colorbutton-grid{margin:4px}.mce-colorbutton button{padding-right:4px}.mce-colorbutton .mce-preview{padding-right:3px;display:block;position:absolute;left:50%;top:50%;margin-left:-14px;margin-top:7px;background:gray;width:13px;height:2px;overflow:hidden}.mce-colorbutton.mce-btn-small .mce-preview{margin-left:-16px;padding-right:0;width:16px}.mce-colorbutton .mce-open{padding-left:4px;border-left:1px solid transparent;border-right:1px solid transparent}.mce-colorbutton:hover .mce-open{border-left-color:#bdbdbd;border-right-color:#bdbdbd}.mce-colorbutton.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-colorbutton{direction:rtl}.mce-rtl .mce-colorbutton .mce-preview{margin-left:0;padding-right:0;padding-left:4px;margin-right:-14px}.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview{margin-left:0;padding-right:0;margin-right:-17px;padding-left:0}.mce-rtl .mce-colorbutton button{padding-right:10px;padding-left:10px}.mce-rtl .mce-colorbutton .mce-open{padding-left:4px;padding-right:4px}.mce-colorpicker{position:relative;width:250px;height:220px}.mce-colorpicker-sv{position:absolute;top:0;left:0;width:90%;height:100%;border:1px solid #c5c5c5;cursor:crosshair;overflow:hidden}.mce-colorpicker-h-chunk{width:100%}.mce-colorpicker-overlay1,.mce-colorpicker-overlay2{width:100%;height:100%;position:absolute;top:0;left:0}.mce-colorpicker-overlay1{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')";background:linear-gradient(to right, #fff, rgba(255,255,255,0))}.mce-colorpicker-overlay2{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#00000000', endColorstr='#000000');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')";background:linear-gradient(to bottom, rgba(0,0,0,0), #000)}.mce-colorpicker-selector1{background:none;position:absolute;width:12px;height:12px;margin:-8px 0 0 -8px;border:1px solid black;border-radius:50%}.mce-colorpicker-selector2{position:absolute;width:10px;height:10px;border:1px solid white;border-radius:50%}.mce-colorpicker-h{position:absolute;top:0;right:0;width:6.5%;height:100%;border:1px solid #c5c5c5;cursor:crosshair}.mce-colorpicker-h-marker{margin-top:-4px;position:absolute;top:0;left:-1px;width:100%;border:1px solid #333;background:#fff;height:4px;z-index:100}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#333}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:#666;color:#fff}.mce-path .mce-divider{display:inline}.mce-disabled .mce-path-item{color:#aaa}.mce-rtl .mce-path{direction:rtl}.mce-fieldset{border:0 solid #9E9E9E;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-tinymce-inline .mce-flow-layout{white-space:nowrap}.mce-rtl .mce-flow-layout{text-align:right;direction:rtl}.mce-rtl .mce-flow-layout-item{margin:2px 2px 2px 0}.mce-rtl .mce-flow-layout-item.mce-last{margin-left:2px}.mce-iframe{border:0 solid #9e9e9e;width:100%;height:100%}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label.mce-disabled{color:#aaa}.mce-label.mce-multiline{white-space:pre-wrap}.mce-label.mce-error{color:#a00}.mce-rtl .mce-label{text-align:right;direction:rtl}.mce-menubar .mce-menubtn{border-color:transparent;background:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:none}.mce-menubar{border:1px solid #c4c4c4}.mce-menubar .mce-menubtn button span{color:#333}.mce-menubar .mce-caret{border-top-color:#333}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus{border-color:transparent;background:#e6e6e6;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-menubtn span{color:#333;margin-right:2px;line-height:20px;*line-height:16px}.mce-menubtn.mce-btn-small span{font-size:12px}.mce-menubtn.mce-fixed-width span{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;width:90px}.mce-menubtn.mce-fixed-width.mce-btn-small span{width:70px}.mce-menubtn .mce-caret{*margin-top:6px}.mce-rtl .mce-menubtn button{direction:rtl;text-align:right}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-rtl .mce-listbox .mce-caret{right:auto;left:8px}.mce-rtl .mce-listbox button{padding-right:10px;padding-left:20px}.mce-menu-item{display:block;padding:6px 15px 6px 12px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap;cursor:pointer;line-height:normal;border-left:4px solid transparent;margin-bottom:1px}.mce-menu-item .mce-ico,.mce-menu-item .mce-text{color:#333}.mce-menu-item.mce-disabled .mce-text,.mce-menu-item.mce-disabled .mce-ico{color:#adadad}.mce-menu-item:hover .mce-text,.mce-menu-item.mce-selected .mce-text,.mce-menu-item:focus .mce-text{color:#fff}.mce-menu-item:hover .mce-ico,.mce-menu-item.mce-selected .mce-ico,.mce-menu-item:focus .mce-ico{color:#fff}.mce-menu-item.mce-disabled:hover{background:#ccc}.mce-menu-shortcut{display:inline-block;color:#adadad}.mce-menu-shortcut{display:inline-block;*display:inline;*zoom:1;padding:0 15px 0 20px}.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item.mce-selected .mce-menu-shortcut,.mce-menu-item:focus .mce-menu-shortcut{color:#fff}.mce-menu-item .mce-caret{margin-top:4px;*margin-top:3px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #333}.mce-menu-item.mce-selected .mce-caret,.mce-menu-item:focus .mce-caret,.mce-menu-item:hover .mce-caret{border-left-color:#fff}.mce-menu-align .mce-menu-shortcut{*margin-top:-2px}.mce-menu-align .mce-menu-shortcut,.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu-item.mce-active i{visibility:visible}.mce-menu-item-normal.mce-active{background-color:#c8def4}.mce-menu-item-preview.mce-active{border-left:5px solid #aaa}.mce-menu-item-normal.mce-active .mce-text{color:#333}.mce-menu-item-normal.mce-active:hover .mce-text,.mce-menu-item-normal.mce-active:hover .mce-ico{color:#fff}.mce-menu-item-normal.mce-active:focus .mce-text,.mce-menu-item-normal.mce-active:focus .mce-ico{color:#fff}.mce-menu-item:hover,.mce-menu-item.mce-selected,.mce-menu-item:focus{text-decoration:none;color:#fff;background-color:#0081c2;background-image:-moz-linear-gradient(top, #08c, #0077b3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#0077b3));background-image:-webkit-linear-gradient(top, #08c, #0077b3);background-image:-o-linear-gradient(top, #08c, #0077b3);background-image:linear-gradient(to bottom, #08c, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);zoom:1}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:#cbcbcb;border-bottom:1px solid #fff;cursor:default;filter:none}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-menu-align.mce-rtl .mce-menu-shortcut,.mce-menu-align.mce-rtl .mce-caret{right:auto;left:0}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #333;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:#fff}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:2px 0 0;min-width:160px;background:#fff;border:1px solid #989898;border:1px solid rgba(0,0,0,0.2);z-index:1002;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);max-height:400px;overflow:auto;overflow-x:hidden}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block;*display:inline}.mce-menu-sub-tr-tl{margin:-6px 0 0 -1px}.mce-menu-sub-br-bl{margin:6px 0 0 -1px}.mce-menu-sub-tl-tr{margin:-6px 0 0 1px}.mce-menu-sub-bl-br{margin:6px 0 0 1px}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-container-body .mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#333}.mce-spacer{visibility:hidden}.mce-splitbtn .mce-open{border-left:1px solid transparent;border-right:1px solid transparent}.mce-splitbtn:hover .mce-open{border-left-color:#bdbdbd;border-right-color:#bdbdbd}.mce-splitbtn button{padding-right:4px}.mce-splitbtn .mce-open{padding-left:4px}.mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05)}.mce-splitbtn.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-splitbtn{direction:rtl;text-align:right}.mce-rtl .mce-splitbtn button{padding-right:10px;padding-left:10px}.mce-rtl .mce-splitbtn .mce-open{padding-left:4px;padding-right:4px}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #c5c5c5}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #c5c5c5;border-width:0 1px 0 0;background:#e3e3e3;padding:8px;text-shadow:0 1px 1px rgba(255,255,255,0.75);height:13px;cursor:pointer}.mce-tab:hover{background:#fdfdfd}.mce-tab.mce-active{background:#fdfdfd;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-rtl .mce-tabs{text-align:right;direction:rtl}.mce-rtl .mce-tab{border-width:0 0 0 1px}.mce-textbox{background:#fff;border:1px solid #c5c5c5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);display:inline-block;-webkit-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:pre-wrap;*white-space:pre;color:#333}.mce-textbox:focus,.mce-textbox.mce-focus{border-color:rgba(82,168,236,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.65)}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px}.mce-textbox.mce-disabled{color:#adadad}.mce-rtl .mce-textbox{text-align:right;direction:rtl}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url('img/loader.gif') no-repeat center center}.mce-throbber-inline{position:static;height:50px}@font-face{font-family:'tinymce';src:url('fonts/tinymce.eot');src:url('fonts/tinymce.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce.woff') format('woff'),url('fonts/tinymce.ttf') format('truetype'),url('fonts/tinymce.svg#tinymce') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'tinymce-small';src:url('fonts/tinymce-small.eot');src:url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce-small.woff') format('woff'),url('fonts/tinymce-small.ttf') format('truetype'),url('fonts/tinymce-small.svg#tinymce') format('svg');font-weight:normal;font-style:normal}.mce-ico{font-family:'tinymce',Arial;font-style:normal;font-weight:normal;font-variant:normal;font-size:16px;line-height:16px;speak:none;vertical-align:text-top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;background:transparent center center;background-size:cover;width:16px;height:16px;color:#333}.mce-btn-small .mce-ico{font-family:'tinymce-small',Arial}.mce-i-save:before{content:"\e000"}.mce-i-newdocument:before{content:"\e001"}.mce-i-fullpage:before{content:"\e002"}.mce-i-alignleft:before{content:"\e003"}.mce-i-aligncenter:before{content:"\e004"}.mce-i-alignright:before{content:"\e005"}.mce-i-alignjustify:before{content:"\e006"}.mce-i-cut:before{content:"\e007"}.mce-i-paste:before{content:"\e008"}.mce-i-searchreplace:before{content:"\e009"}.mce-i-bullist:before{content:"\e00a"}.mce-i-numlist:before{content:"\e00b"}.mce-i-indent:before{content:"\e00c"}.mce-i-outdent:before{content:"\e00d"}.mce-i-blockquote:before{content:"\e00e"}.mce-i-undo:before{content:"\e00f"}.mce-i-redo:before{content:"\e010"}.mce-i-link:before{content:"\e011"}.mce-i-unlink:before{content:"\e012"}.mce-i-anchor:before{content:"\e013"}.mce-i-image:before{content:"\e014"}.mce-i-media:before{content:"\e015"}.mce-i-help:before{content:"\e016"}.mce-i-code:before{content:"\e017"}.mce-i-insertdatetime:before{content:"\e018"}.mce-i-preview:before{content:"\e019"}.mce-i-forecolor:before{content:"\e01a"}.mce-i-backcolor:before{content:"\e01a"}.mce-i-table:before{content:"\e01b"}.mce-i-hr:before{content:"\e01c"}.mce-i-removeformat:before{content:"\e01d"}.mce-i-subscript:before{content:"\e01e"}.mce-i-superscript:before{content:"\e01f"}.mce-i-charmap:before{content:"\e020"}.mce-i-emoticons:before{content:"\e021"}.mce-i-print:before{content:"\e022"}.mce-i-fullscreen:before{content:"\e023"}.mce-i-spellchecker:before{content:"\e024"}.mce-i-nonbreaking:before{content:"\e025"}.mce-i-template:before{content:"\e026"}.mce-i-pagebreak:before{content:"\e027"}.mce-i-restoredraft:before{content:"\e028"}.mce-i-untitled:before{content:"\e029"}.mce-i-bold:before{content:"\e02a"}.mce-i-italic:before{content:"\e02b"}.mce-i-underline:before{content:"\e02c"}.mce-i-strikethrough:before{content:"\e02d"}.mce-i-visualchars:before{content:"\e02e"}.mce-i-visualblocks:before{content:"\e02e"}.mce-i-ltr:before{content:"\e02f"}.mce-i-rtl:before{content:"\e030"}.mce-i-copy:before{content:"\e031"}.mce-i-resize:before{content:"\e032"}.mce-i-browse:before{content:"\e034"}.mce-i-pastetext:before{content:"\e035"}.mce-i-checkbox:before,.mce-i-selected:before{content:"\e033"}.mce-i-selected{visibility:hidden}i.mce-i-backcolor{text-shadow:none;background:#bbb}
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/skins/wordpress/images/more.png b/wp-includes/js/tinymce/skins/wordpress/images/more.png
index 3ea7b0075a61100b60deff3e6d4e718b3759e47a..f7d4a3ad4b3b3d201ca42a5ae18187979bca0311 100644
GIT binary patch
delta 329
zcmV-P0k;0m1I+`FjejdiL_t(|+U?uHa)K}vKv6)fiBPPx#Q*=(lF)Xhy0p$fJ!g|A
zJK0=Gq-p_xhpOBH01#UM5L*C1Yym)Qfg8Iip7VN%eciSp&JN{jjK}@5<_mz>0(ZnV
zSGF1Ra>-o{bA5Ny(6*_o$_j`ra9?cSPPwq%M_)H%N$YoHFMr3q*n-#se-PUt<)_#o
z_4UiC>?nsNvb(9T#TGUc+gL20o?w2muWR1$yu>ziRr9_tu`Q>wAs)(E?eKMW+x`4t
zcHhj~o1f>~imlna>ex2pA@udllWm$Kd-Y`NzL~{#&9Mbmyp7zZ*Xi7*>oeP&Ufam9
zp>1Sf&9M#nEkd8<-^d`gz{6tOjB{wy@Aquy$iAEg@7aRb0svwQ0AdROVhaF>EdYou
b0Q_^G#@u|>`wUyU00000NkvXXu0mjf3>d74

delta 330
zcmV-Q0k!_k1I`1GjejgjL_t(|+U?uHa)K}vKvBS06QNjX!T<l$lF)Xhy0p$fJ!g|A
zJK0=GqzVAQLsf180EjIBh%Ephwg4cuz>VFQ&UwA0t_~rl*`Zub>9}9kd;t(!;Evel
z$~Hq@F1f35uJ3N_LzvpCtbo`8_r><@lndK_bagY7w0=kSa(~>5Er>1f2eIv^{1n?y
zUHx(@JIZm1>~8F8v4suAHWkaKCzzk?>zX$_FR_hn)x7UZY|H6vOowt-+kc(iwm(0Z
z-8b|0=I8mgVrw?9I=0Plh+Td2WIOLBhpQ)B_suM}YmP0j;%($Gy^iNFU7y+J^x8&-
z4Q(R>YmRNqZ$tS^{*4S`3p^~g%`k^{`u(2m9NCvs?>$=(TL3_80YGd4Kx_d3u>}CJ
c1%Q9<6UN+p)y_t-8UO$Q07*qoM6N<$f}W(LeE<Le

diff --git a/wp-includes/js/tinymce/skins/wordpress/wp-content.css b/wp-includes/js/tinymce/skins/wordpress/wp-content.css
index d252d1e52..9cd5c944b 100644
--- a/wp-includes/js/tinymce/skins/wordpress/wp-content.css
+++ b/wp-includes/js/tinymce/skins/wordpress/wp-content.css
@@ -1,24 +1,53 @@
 /* Additional default styles for the editor */
+
+html.ios {
+	height: 100%;
+}
+
+.ios body#tinymce {
+	height: 200%;
+	max-width: none;
+}
+
 body {
 	font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif;
 	font-size: 13px;
 	line-height: 19px;
 	color: #333;
-	margin: 10px;
+	margin: 9px 10px;
+}
+
+body.wp-autoresize {
+	max-width: 100%;
+	overflow: visible !important;
+	/* The padding ensures margins of the children are contained in the body. */
+	padding-top: 1px !important;
+	padding-bottom: 1px !important;
+	padding-left: 0 !important;
+	padding-right: 0 !important;
+}
+
+/* When font-weight is different than the default browser style,
+Chrome and Safari replace <strong> and <b> with spans with inline styles on pasting?! */
+body.webkit strong,
+body.webkit b {
+	font-weight: bold !important;
 }
 
 /* DFW mode */
 html.wp-fullscreen,
-html.wp-fullscreen body {
-	background: transparent;
+html.wp-fullscreen body#tinymce {
 	width: auto;
 	max-width: none;
 	min-height: 0;
 	overflow: hidden;
+	color: #333;
+	background: transparent;
 }
 
 .aligncenter,
-dl.aligncenter {
+dl.aligncenter,
+.html5-captions .wp-caption.aligncenter {
 	display: block;
 	margin-left: auto;
 	margin-right: auto;
@@ -94,8 +123,7 @@ img::selection {
 	padding: 0;
 }
 
-.mce-content-body img.mce-wp-nextpage,
-.mce-content-body img.mce-wp-more {
+.mce-content-body img[data-wp-more] {
 	border: 0;
 	-webkit-box-shadow: none;
 	box-shadow: none;
@@ -107,16 +135,15 @@ img::selection {
 	cursor: default;
 }
 
-.mce-content-body img.mce-wp-nextpage[data-mce-selected],
-.mce-content-body img.mce-wp-more[data-mce-selected] {
+.mce-content-body img[data-wp-more][data-mce-selected] {
 	outline: 1px dotted #888;
 }
 
-.mce-content-body img.mce-wp-more {
+.mce-content-body img[data-wp-more="more"] {
 	background: transparent url( images/more.png ) repeat-y scroll center center;
 }
 
-.mce-content-body img.mce-wp-nextpage {
+.mce-content-body img[data-wp-more="nextpage"] {
     background: transparent url( images/pagebreak.png ) repeat-y scroll center center;
 }
 
@@ -166,7 +193,6 @@ video,
 embed {
 	display: -moz-inline-stack;
 	display: inline-block;
-	max-width: 100%;
 }
 
 audio {
@@ -185,7 +211,9 @@ audio {
 
 /* delegate the handling of the selection to the wpview tinymce plugin */
 .wpview-wrap,
-.wpview-wrap * {
+.wpview-wrap *,
+#wp-image-toolbar,
+#wp-image-toolbar * {
 	-moz-user-select: none;
 	-webkit-user-select: none;
 	-ms-user-select: none;
@@ -193,7 +221,8 @@ audio {
 }
 
 /* hide the shortcode content, but allow the content to still be selected */
-.wpview-wrap .wpview-clipboard {
+.wpview-wrap .wpview-clipboard,
+.wpview-wrap > p {
 	position: absolute;
 	top: 0;
 	left: 0;
@@ -208,6 +237,45 @@ audio {
 	height: 1px;
 }
 
+/* An ugly box will appear when this is focussed in IE, so we'll move it outside the window. */
+.wpview-wrap.wpview-selection-before > p,
+.wpview-wrap.wpview-selection-after > p {
+	left: -10000px;
+}
+
+.wpview-wrap .wpview-clipboard,
+.wpview-wrap .wpview-clipboard *,
+.wpview-wrap > p {
+	-moz-user-select: text;
+	-webkit-user-select: text;
+	-ms-user-select: text;
+	user-select: text;
+}
+
+.has-focus .wpview-wrap.wpview-selection-before:before,
+.has-focus .wpview-wrap.wpview-selection-after:before {
+	content: '';
+	margin: 0;
+	padding: 0;
+	position: absolute;
+	top: -2px;
+	left: -3px;
+	bottom: -2px;
+	width: 1px;
+	background-color: black;
+	background-color: currentcolor;
+	opacity: 1;
+}
+
+.has-focus .wpview-wrap.wpview-selection-after:before {
+	left: auto;
+	right: -3px;
+}
+
+.has-focus .wpview-wrap.wpview-cursor-hide:before {
+	opacity: 0;
+}
+
 /**
  * Media previews
  */
@@ -217,13 +285,13 @@ audio {
 	border: 1px solid transparent;
 }
 
-.wpview-wrap.selected {
+.wpview-wrap[data-mce-selected] {
 	background-color: rgba(0,0,0,0.1);
 	border-color: rgba(0,0,0,0.3);
 }
 
-.ie8 .wpview-wrap.selected,
-.ie7 .wpview-wrap.selected {
+.ie8 .wpview-wrap[data-mce-selected],
+.ie7 .wpview-wrap[data-mce-selected] {
 	background-color: #e5e5e5;
 	border-color: #777;
 }
@@ -236,7 +304,7 @@ audio {
 	left: 0;
 }
 
-.wpview-wrap.selected .wpview-overlay {
+.wpview-wrap[data-mce-selected] .wpview-overlay {
 	display: none;
 }
 
@@ -248,16 +316,68 @@ audio {
 	z-index: 100;
 }
 
-.wpview-wrap.selected .toolbar {
+.wpview-wrap[data-mce-selected] .toolbar {
+	display: block;
+}
+
+.wpview-wrap .loading-placeholder {
+	border: 1px dashed #ccc;
+	padding: 10px;
+}
+
+.wpview-wrap[data-mce-selected] .loading-placeholder {
+	border-color: transparent;
+}
+
+/* A little "loading" animation, not showing in IE < 10 */
+.wpview-wrap .wpview-loading {
+	width: 60px;
+	height: 5px;
+	overflow: hidden;
+	background-color: transparent;
+	margin: 10px auto 0;
+}
+
+.wpview-wrap .wpview-loading ins {
+	background-color: #333;
+	margin: 0 0 0 -60px;
+	width: 60px;
+	height: 5px;
 	display: block;
+	-webkit-animation: wpview-loading 1.3s infinite 1s linear;
+	animation: wpview-loading 1.3s infinite 1s linear;
+}
+
+@-webkit-keyframes wpview-loading {
+	0% {
+		margin-left: -60px;
+	}
+	100% {
+		margin-left: 60px;
+	}
+}
+
+@keyframes wpview-loading {
+	0% {
+		margin-left: -60px;
+	}
+	100% {
+		margin-left: 60px;
+	}
+}
+
+.wpview-wrap .wpview-content > iframe {
+	max-width: 100%;
+	background: transparent;
 }
 
 #wp-image-toolbar {
 	position: absolute;
+	margin: 0;
 }
 
 .wpview-wrap .toolbar div,
-#wp-image-toolbar div {
+#wp-image-toolbar i {
 	margin-top: 7px;
 	margin-left: 7px;
 	padding: 2px;
@@ -273,8 +393,8 @@ audio {
 
 .ie8 .wpview-wrap .toolbar div,
 .ie7 .wpview-wrap .toolbar div,
-.ie8 #wp-image-toolbar div,
-.ie7 #wp-image-toolbar div {
+.ie8 #wp-image-toolbar i,
+.ie7 #wp-image-toolbar i {
 	display: inline;
 	padding: 0;
 }
@@ -291,15 +411,17 @@ audio {
 
 .wpview-error {
 	border: 1px solid #dedede;
-	padding: 20px 0;
+	padding: 1em 0;
 	margin: 0;
+	word-wrap: break-word;
 }
 
-.selected .wpview-error {
+.wpview-wrap[data-mce-selected] .wpview-error {
 	border-color: transparent;
 }
 
-.wpview-error .dashicons {
+.wpview-error .dashicons,
+.loading-placeholder .dashicons {
 	display: block;
 	margin: 0 auto;
 	width: 32px;
@@ -313,25 +435,24 @@ audio {
 	font-family: 'Open Sans', sans-serif;
 }
 
-
 .wpview-wrap .toolbar div:hover,
-#wp-image-toolbar div:hover {
+#wp-image-toolbar i:hover {
 	box-shadow: 0 1px 3px rgba(0,0,0,0.8);
 	background-color: #000;
 	color: #2ea2cc;
 }
 
 /* Audio player is short; therefore let's put the toolbar above */
-.wpview-type-audio .toolbar {
+.wpview-wrap[data-wpview-type="audio"] .toolbar {
 	top: auto;
 	bottom: -34px;
 }
 
-.wpview-type-audio .toolbar div {
+.wpview-wrap[data-wpview-type="audio"] .toolbar div {
 	margin-top: 0;
 }
 
-.wpview-type-audio .toolbar div:first-child {
+.wpview-wrap[data-wpview-type="audio"] .toolbar div:first-child {
 	margin-left: 0;
 }
 
@@ -467,7 +588,7 @@ img.wp-oembed {
 }
 
 .rtl .wpview-wrap .toolbar div,
-.rtl #wp-image-toolbar div {
+.rtl #wp-image-toolbar i {
 	margin-left: auto;
 	margin-right: 7px;
 }
diff --git a/wp-includes/js/tinymce/themes/modern/theme.js b/wp-includes/js/tinymce/themes/modern/theme.js
index 614cdbc9d..db77f1a27 100644
--- a/wp-includes/js/tinymce/themes/modern/theme.js
+++ b/wp-includes/js/tinymce/themes/modern/theme.js
@@ -342,13 +342,13 @@ tinymce.ThemeManager.add('modern', function(editor) {
 			width = Math.max(settings.min_width || 100, width);
 			width = Math.min(settings.max_width || 0xFFFF, width);
 
-			DOM.css(containerElm, 'width', width + (containerSize.width - iframeSize.width));
-			DOM.css(iframeElm, 'width', width);
+			DOM.setStyle(containerElm, 'width', width + (containerSize.width - iframeSize.width));
+			DOM.setStyle(iframeElm, 'width', width);
 		}
 
 		height = Math.max(settings.min_height || 100, height);
 		height = Math.min(settings.max_height || 0xFFFF, height);
-		DOM.css(iframeElm, 'height', height);
+		DOM.setStyle(iframeElm, 'height', height);
 
 		editor.fire('ResizeEditor');
 	}
@@ -383,7 +383,7 @@ tinymce.ThemeManager.add('modern', function(editor) {
 					deltaY = Math.max(0, scrollContainerPos.y - bodyPos.y);
 				}
 
-				panel.fixed(false).moveRel(body, editor.rtl ? ['tr-br', 'br-tr'] : ['tl-bl', 'bl-tl']).moveBy(deltaX, deltaY);
+				panel.fixed(false).moveRel(body, editor.rtl ? ['tr-br', 'br-tr'] : ['tl-bl', 'bl-tl', 'tr-br']).moveBy(deltaX, deltaY);
 			}
 		}
 
@@ -460,7 +460,7 @@ tinymce.ThemeManager.add('modern', function(editor) {
 			}
 		});
 
-		editor.on('blur', hide);
+		editor.on('blur hide', hide);
 
 		// Remove the panel when the editor is removed
 		editor.on('remove', function() {
diff --git a/wp-includes/js/tinymce/themes/modern/theme.min.js b/wp-includes/js/tinymce/themes/modern/theme.min.js
index 7efbb0d69..ea84b66b6 100644
--- a/wp-includes/js/tinymce/themes/modern/theme.min.js
+++ b/wp-includes/js/tinymce/themes/modern/theme.min.js
@@ -1 +1 @@
-tinymce.ThemeManager.add("modern",function(e){function t(){function t(t){var i,o=[];if(t)return d(t.split(/[ ,]/),function(t){function n(){var n=e.selection;"bullist"==r&&n.selectorChanged("ul > li",function(e,n){for(var i,o=n.parents.length;o--&&(i=n.parents[o].nodeName,"OL"!=i&&"UL"!=i););t.active(e&&"UL"==i)}),"numlist"==r&&n.selectorChanged("ol > li",function(e,n){for(var i,o=n.parents.length;o--&&(i=n.parents[o].nodeName,"OL"!=i&&"UL"!=i););t.active(e&&"OL"==i)}),t.settings.stateSelector&&n.selectorChanged(t.settings.stateSelector,function(e){t.active(e)},!0),t.settings.disabledStateSelector&&n.selectorChanged(t.settings.disabledStateSelector,function(e){t.disabled(e)})}var r;"|"==t?i=null:c.has(t)?(t={type:t},u.toolbar_items_size&&(t.size=u.toolbar_items_size),o.push(t),i=null):(i||(i={type:"buttongroup",items:[]},o.push(i)),e.buttons[t]&&(r=t,t=e.buttons[r],"function"==typeof t&&(t=t()),t.type=t.type||"button",u.toolbar_items_size&&(t.size=u.toolbar_items_size),t=c.create(t),i.items.push(t),e.initialized?n():e.on("init",n)))}),n.push({type:"toolbar",layout:"flow",items:o}),!0}var n=[];if(tinymce.isArray(u.toolbar)){if(0===u.toolbar.length)return;tinymce.each(u.toolbar,function(e,t){u["toolbar"+(t+1)]=e}),delete u.toolbar}for(var i=1;10>i&&t(u["toolbar"+i]);i++);return n.length||u.toolbar===!1||t(u.toolbar||f),n.length?{type:"panel",layout:"stack",classes:"toolbar-grp",ariaRoot:!0,ariaRemember:!0,items:n}:void 0}function n(){function t(t){var n;return"|"==t?{text:"|"}:n=e.menuItems[t]}function n(n){var i,o,r,a,s;if(s=tinymce.makeMap((u.removed_menuitems||"").split(/[ ,]/)),u.menu?(o=u.menu[n],a=!0):o=h[n],o){i={text:o.title},r=[],d((o.items||"").split(/[ ,]/),function(e){var n=t(e);n&&!s[e]&&r.push(t(e))}),a||d(e.menuItems,function(e){e.context==n&&("before"==e.separator&&r.push({text:"|"}),e.prependToContext?r.unshift(e):r.push(e),"after"==e.separator&&r.push({text:"|"}))});for(var l=0;l<r.length;l++)"|"==r[l].text&&(0===l||l==r.length-1)&&r.splice(l,1);if(i.menu=r,!i.menu.length)return null}return i}var i,o=[],r=[];if(u.menu)for(i in u.menu)r.push(i);else for(i in h)r.push(i);for(var a="string"==typeof u.menubar?u.menubar.split(/[ ,]/):r,s=0;s<a.length;s++){var l=a[s];l=n(l),l&&o.push(l)}return o}function i(t){function n(e){var n=t.find(e)[0];n&&n.focus(!0)}e.shortcuts.add("Alt+F9","",function(){n("menubar")}),e.shortcuts.add("Alt+F10","",function(){n("toolbar")}),e.shortcuts.add("Alt+F11","",function(){n("elementpath")}),t.on("cancel",function(){e.focus()})}function o(t,n){function i(e){return{width:e.clientWidth,height:e.clientHeight}}var o,r,a,s;o=e.getContainer(),r=e.getContentAreaContainer().firstChild,a=i(o),s=i(r),null!==t&&(t=Math.max(u.min_width||100,t),t=Math.min(u.max_width||65535,t),m.css(o,"width",t+(a.width-s.width)),m.css(r,"width",t)),n=Math.max(u.min_height||100,n),n=Math.min(u.max_height||65535,n),m.css(r,"height",n),e.fire("ResizeEditor")}function r(t,n){var i=e.getContentAreaContainer();l.resizeTo(i.clientWidth+t,i.clientHeight+n)}function a(o){function r(){if(h&&h.moveRel&&h.visible()&&!h._fixed){var t=e.selection.getScrollContainer(),n=e.getBody(),i=0,o=0;if(t){var r=m.getPos(n),a=m.getPos(t);i=Math.max(0,a.x-r.x),o=Math.max(0,a.y-r.y)}h.fixed(!1).moveRel(n,e.rtl?["tr-br","br-tr"]:["tl-bl","bl-tl"]).moveBy(i,o)}}function a(){h&&(h.show(),r(),m.addClass(e.getBody(),"mce-edit-focus"))}function s(){h&&(h.hide(),m.removeClass(e.getBody(),"mce-edit-focus"))}function d(){return h?void(h.visible()||a()):(h=l.panel=c.create({type:f?"panel":"floatpanel",role:"application",classes:"tinymce tinymce-inline",layout:"flex",direction:"column",align:"stretch",autohide:!1,autofix:!0,fixed:!!f,border:1,items:[u.menubar===!1?null:{type:"menubar",border:"0 0 1 0",items:n()},t()]}),e.fire("BeforeRenderUI"),h.renderTo(f||document.body).reflow(),i(h),a(),e.on("nodeChange",r),e.on("activate",a),e.on("deactivate",s),void e.nodeChanged())}var h,f;return u.fixed_toolbar_container&&(f=m.select(u.fixed_toolbar_container)[0]),u.content_editable=!0,e.on("focus",function(){o.skinUiCss?tinymce.DOM.styleSheetLoader.load(o.skinUiCss,d,d):d()}),e.on("blur",s),e.on("remove",function(){h&&(h.remove(),h=null)}),o.skinUiCss&&tinymce.DOM.styleSheetLoader.load(o.skinUiCss),{}}function s(r){var a,s,d;return r.skinUiCss&&tinymce.DOM.loadCSS(r.skinUiCss),a=l.panel=c.create({type:"panel",role:"application",classes:"tinymce",style:"visibility: hidden",layout:"stack",border:1,items:[u.menubar===!1?null:{type:"menubar",border:"0 0 1 0",items:n()},t(),{type:"panel",name:"iframe",layout:"stack",classes:"edit-area",html:"",border:"1 0 0 0"}]}),u.resize!==!1&&(s={type:"resizehandle",direction:u.resize,onResizeStart:function(){var t=e.getContentAreaContainer().firstChild;d={width:t.clientWidth,height:t.clientHeight}},onResize:function(e){"both"==u.resize?o(d.width+e.deltaX,d.height+e.deltaY):o(null,d.height+e.deltaY)}}),u.statusbar!==!1&&a.add({type:"panel",name:"statusbar",classes:"statusbar",layout:"flow",border:"1 0 0 0",ariaRoot:!0,items:[{type:"elementpath"},s]}),u.readonly&&a.find("*").disabled(!0),e.fire("BeforeRenderUI"),a.renderBefore(r.targetNode).reflow(),u.width&&tinymce.DOM.setStyle(a.getEl(),"width",u.width),e.on("remove",function(){a.remove(),a=null}),i(a),{iframeContainer:a.find("#iframe")[0].getEl(),editorContainer:a.getEl()}}var l=this,u=e.settings,c=tinymce.ui.Factory,d=tinymce.each,m=tinymce.DOM,h={file:{title:"File",items:"newdocument"},edit:{title:"Edit",items:"undo redo | cut copy paste pastetext | selectall"},insert:{title:"Insert",items:"|"},view:{title:"View",items:"visualaid |"},format:{title:"Format",items:"bold italic underline strikethrough superscript subscript | formats | removeformat"},table:{title:"Table"},tools:{title:"Tools"}},f="undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image";l.renderUI=function(t){var n=u.skin!==!1?u.skin||"lightgray":!1;if(n){var i=u.skin_url;i=i?e.documentBaseURI.toAbsolute(i):tinymce.baseURL+"/skins/"+n,t.skinUiCss=tinymce.Env.documentMode<=7?i+"/skin.ie7.min.css":i+"/skin.min.css",e.contentCSS.push(i+"/content"+(e.inline?".inline":"")+".min.css")}return e.on("ProgressState",function(e){l.throbber=l.throbber||new tinymce.ui.Throbber(l.panel.getEl("body")),e.state?l.throbber.show(e.time):l.throbber.hide()}),u.inline?a(t):s(t)},l.resizeTo=o,l.resizeBy=r});
\ No newline at end of file
+tinymce.ThemeManager.add("modern",function(e){function t(){function t(t){var n,o=[];if(t)return d(t.split(/[ ,]/),function(t){function i(){var i=e.selection;"bullist"==r&&i.selectorChanged("ul > li",function(e,i){for(var n,o=i.parents.length;o--&&(n=i.parents[o].nodeName,"OL"!=n&&"UL"!=n););t.active(e&&"UL"==n)}),"numlist"==r&&i.selectorChanged("ol > li",function(e,i){for(var n,o=i.parents.length;o--&&(n=i.parents[o].nodeName,"OL"!=n&&"UL"!=n););t.active(e&&"OL"==n)}),t.settings.stateSelector&&i.selectorChanged(t.settings.stateSelector,function(e){t.active(e)},!0),t.settings.disabledStateSelector&&i.selectorChanged(t.settings.disabledStateSelector,function(e){t.disabled(e)})}var r;"|"==t?n=null:c.has(t)?(t={type:t},u.toolbar_items_size&&(t.size=u.toolbar_items_size),o.push(t),n=null):(n||(n={type:"buttongroup",items:[]},o.push(n)),e.buttons[t]&&(r=t,t=e.buttons[r],"function"==typeof t&&(t=t()),t.type=t.type||"button",u.toolbar_items_size&&(t.size=u.toolbar_items_size),t=c.create(t),n.items.push(t),e.initialized?i():e.on("init",i)))}),i.push({type:"toolbar",layout:"flow",items:o}),!0}var i=[];if(tinymce.isArray(u.toolbar)){if(0===u.toolbar.length)return;tinymce.each(u.toolbar,function(e,t){u["toolbar"+(t+1)]=e}),delete u.toolbar}for(var n=1;10>n&&t(u["toolbar"+n]);n++);return i.length||u.toolbar===!1||t(u.toolbar||f),i.length?{type:"panel",layout:"stack",classes:"toolbar-grp",ariaRoot:!0,ariaRemember:!0,items:i}:void 0}function i(){function t(t){var i;return"|"==t?{text:"|"}:i=e.menuItems[t]}function i(i){var n,o,r,a,s;if(s=tinymce.makeMap((u.removed_menuitems||"").split(/[ ,]/)),u.menu?(o=u.menu[i],a=!0):o=h[i],o){n={text:o.title},r=[],d((o.items||"").split(/[ ,]/),function(e){var i=t(e);i&&!s[e]&&r.push(t(e))}),a||d(e.menuItems,function(e){e.context==i&&("before"==e.separator&&r.push({text:"|"}),e.prependToContext?r.unshift(e):r.push(e),"after"==e.separator&&r.push({text:"|"}))});for(var l=0;l<r.length;l++)"|"==r[l].text&&(0===l||l==r.length-1)&&r.splice(l,1);if(n.menu=r,!n.menu.length)return null}return n}var n,o=[],r=[];if(u.menu)for(n in u.menu)r.push(n);else for(n in h)r.push(n);for(var a="string"==typeof u.menubar?u.menubar.split(/[ ,]/):r,s=0;s<a.length;s++){var l=a[s];l=i(l),l&&o.push(l)}return o}function n(t){function i(e){var i=t.find(e)[0];i&&i.focus(!0)}e.shortcuts.add("Alt+F9","",function(){i("menubar")}),e.shortcuts.add("Alt+F10","",function(){i("toolbar")}),e.shortcuts.add("Alt+F11","",function(){i("elementpath")}),t.on("cancel",function(){e.focus()})}function o(t,i){function n(e){return{width:e.clientWidth,height:e.clientHeight}}var o,r,a,s;o=e.getContainer(),r=e.getContentAreaContainer().firstChild,a=n(o),s=n(r),null!==t&&(t=Math.max(u.min_width||100,t),t=Math.min(u.max_width||65535,t),m.setStyle(o,"width",t+(a.width-s.width)),m.setStyle(r,"width",t)),i=Math.max(u.min_height||100,i),i=Math.min(u.max_height||65535,i),m.setStyle(r,"height",i),e.fire("ResizeEditor")}function r(t,i){var n=e.getContentAreaContainer();l.resizeTo(n.clientWidth+t,n.clientHeight+i)}function a(o){function r(){if(h&&h.moveRel&&h.visible()&&!h._fixed){var t=e.selection.getScrollContainer(),i=e.getBody(),n=0,o=0;if(t){var r=m.getPos(i),a=m.getPos(t);n=Math.max(0,a.x-r.x),o=Math.max(0,a.y-r.y)}h.fixed(!1).moveRel(i,e.rtl?["tr-br","br-tr"]:["tl-bl","bl-tl","tr-br"]).moveBy(n,o)}}function a(){h&&(h.show(),r(),m.addClass(e.getBody(),"mce-edit-focus"))}function s(){h&&(h.hide(),m.removeClass(e.getBody(),"mce-edit-focus"))}function d(){return h?void(h.visible()||a()):(h=l.panel=c.create({type:f?"panel":"floatpanel",role:"application",classes:"tinymce tinymce-inline",layout:"flex",direction:"column",align:"stretch",autohide:!1,autofix:!0,fixed:!!f,border:1,items:[u.menubar===!1?null:{type:"menubar",border:"0 0 1 0",items:i()},t()]}),e.fire("BeforeRenderUI"),h.renderTo(f||document.body).reflow(),n(h),a(),e.on("nodeChange",r),e.on("activate",a),e.on("deactivate",s),void e.nodeChanged())}var h,f;return u.fixed_toolbar_container&&(f=m.select(u.fixed_toolbar_container)[0]),u.content_editable=!0,e.on("focus",function(){o.skinUiCss?tinymce.DOM.styleSheetLoader.load(o.skinUiCss,d,d):d()}),e.on("blur hide",s),e.on("remove",function(){h&&(h.remove(),h=null)}),o.skinUiCss&&tinymce.DOM.styleSheetLoader.load(o.skinUiCss),{}}function s(r){var a,s,d;return r.skinUiCss&&tinymce.DOM.loadCSS(r.skinUiCss),a=l.panel=c.create({type:"panel",role:"application",classes:"tinymce",style:"visibility: hidden",layout:"stack",border:1,items:[u.menubar===!1?null:{type:"menubar",border:"0 0 1 0",items:i()},t(),{type:"panel",name:"iframe",layout:"stack",classes:"edit-area",html:"",border:"1 0 0 0"}]}),u.resize!==!1&&(s={type:"resizehandle",direction:u.resize,onResizeStart:function(){var t=e.getContentAreaContainer().firstChild;d={width:t.clientWidth,height:t.clientHeight}},onResize:function(e){"both"==u.resize?o(d.width+e.deltaX,d.height+e.deltaY):o(null,d.height+e.deltaY)}}),u.statusbar!==!1&&a.add({type:"panel",name:"statusbar",classes:"statusbar",layout:"flow",border:"1 0 0 0",ariaRoot:!0,items:[{type:"elementpath"},s]}),u.readonly&&a.find("*").disabled(!0),e.fire("BeforeRenderUI"),a.renderBefore(r.targetNode).reflow(),u.width&&tinymce.DOM.setStyle(a.getEl(),"width",u.width),e.on("remove",function(){a.remove(),a=null}),n(a),{iframeContainer:a.find("#iframe")[0].getEl(),editorContainer:a.getEl()}}var l=this,u=e.settings,c=tinymce.ui.Factory,d=tinymce.each,m=tinymce.DOM,h={file:{title:"File",items:"newdocument"},edit:{title:"Edit",items:"undo redo | cut copy paste pastetext | selectall"},insert:{title:"Insert",items:"|"},view:{title:"View",items:"visualaid |"},format:{title:"Format",items:"bold italic underline strikethrough superscript subscript | formats | removeformat"},table:{title:"Table"},tools:{title:"Tools"}},f="undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image";l.renderUI=function(t){var i=u.skin!==!1?u.skin||"lightgray":!1;if(i){var n=u.skin_url;n=n?e.documentBaseURI.toAbsolute(n):tinymce.baseURL+"/skins/"+i,t.skinUiCss=tinymce.Env.documentMode<=7?n+"/skin.ie7.min.css":n+"/skin.min.css",e.contentCSS.push(n+"/content"+(e.inline?".inline":"")+".min.css")}return e.on("ProgressState",function(e){l.throbber=l.throbber||new tinymce.ui.Throbber(l.panel.getEl("body")),e.state?l.throbber.show(e.time):l.throbber.hide()}),u.inline?a(t):s(t)},l.resizeTo=o,l.resizeBy=r});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/tinymce.min.js b/wp-includes/js/tinymce/tinymce.min.js
index 271e76c5d..24009c84c 100644
--- a/wp-includes/js/tinymce/tinymce.min.js
+++ b/wp-includes/js/tinymce/tinymce.min.js
@@ -1,10 +1,11 @@
-// 4.0.21.1 (2014-04-09)
-!function(e,t){"use strict";function n(e,t){for(var n,r=[],i=0;i<e.length;++i){if(n=s[e[i]]||o(e[i]),!n)throw"module definition dependecy not found: "+e[i];r.push(n)}t.apply(null,r)}function r(e,r,i){if("string"!=typeof e)throw"invalid module definition, module id must be defined and be a string";if(r===t)throw"invalid module definition, dependencies must be specified";if(i===t)throw"invalid module definition, definition function must be specified";n(r,function(){s[e]=i.apply(null,arguments)})}function i(e){return!!s[e]}function o(t){for(var n=e,r=t.split(/[.\/]/),i=0;i<r.length;++i){if(!n[r[i]])return;n=n[r[i]]}return n}function a(n){for(var r=0;r<n.length;r++){for(var i=e,o=n[r],a=o.split(/[.\/]/),l=0;l<a.length-1;++l)i[a[l]]===t&&(i[a[l]]={}),i=i[a[l]];i[a[a.length-1]]=s[o]}}var s={},l="tinymce/dom/EventUtils",c="tinymce/dom/Sizzle",u="tinymce/dom/DomQuery",d="tinymce/html/Styles",f="tinymce/dom/TreeWalker",p="tinymce/util/Tools",m="tinymce/dom/Range",h="tinymce/html/Entities",g="tinymce/Env",v="tinymce/dom/StyleSheetLoader",y="tinymce/dom/DOMUtils",b="tinymce/dom/ScriptLoader",C="tinymce/AddOnManager",x="tinymce/html/Node",w="tinymce/html/Schema",_="tinymce/html/SaxParser",N="tinymce/html/DomParser",E="tinymce/html/Writer",S="tinymce/html/Serializer",k="tinymce/dom/Serializer",T="tinymce/dom/TridentSelection",R="tinymce/util/VK",A="tinymce/dom/ControlSelection",B="tinymce/dom/RangeUtils",L="tinymce/dom/Selection",D="tinymce/fmt/Preview",M="tinymce/Formatter",H="tinymce/UndoManager",P="tinymce/EnterKey",O="tinymce/ForceBlocks",I="tinymce/EditorCommands",F="tinymce/util/URI",z="tinymce/util/Class",W="tinymce/ui/Selector",V="tinymce/ui/Collection",U="tinymce/ui/DomUtils",q="tinymce/ui/Control",$="tinymce/ui/Factory",j="tinymce/ui/KeyboardNavigation",K="tinymce/ui/Container",Y="tinymce/ui/DragHelper",G="tinymce/ui/Scrollable",X="tinymce/ui/Panel",J="tinymce/ui/Movable",Q="tinymce/ui/Resizable",Z="tinymce/ui/FloatPanel",et="tinymce/ui/Window",tt="tinymce/ui/MessageBox",nt="tinymce/WindowManager",rt="tinymce/util/Quirks",it="tinymce/util/Observable",ot="tinymce/Shortcuts",at="tinymce/Editor",st="tinymce/util/I18n",lt="tinymce/FocusManager",ct="tinymce/EditorManager",ut="tinymce/LegacyInput",dt="tinymce/util/XHR",ft="tinymce/util/JSON",pt="tinymce/util/JSONRequest",mt="tinymce/util/JSONP",ht="tinymce/util/LocalStorage",gt="tinymce/Compat",vt="tinymce/ui/Layout",yt="tinymce/ui/AbsoluteLayout",bt="tinymce/ui/Tooltip",Ct="tinymce/ui/Widget",xt="tinymce/ui/Button",wt="tinymce/ui/ButtonGroup",_t="tinymce/ui/Checkbox",Nt="tinymce/ui/PanelButton",Et="tinymce/ui/ColorButton",St="tinymce/ui/ComboBox",kt="tinymce/ui/Path",Tt="tinymce/ui/ElementPath",Rt="tinymce/ui/FormItem",At="tinymce/ui/Form",Bt="tinymce/ui/FieldSet",Lt="tinymce/ui/FilePicker",Dt="tinymce/ui/FitLayout",Mt="tinymce/ui/FlexLayout",Ht="tinymce/ui/FlowLayout",Pt="tinymce/ui/FormatControls",Ot="tinymce/ui/GridLayout",It="tinymce/ui/Iframe",Ft="tinymce/ui/Label",zt="tinymce/ui/Toolbar",Wt="tinymce/ui/MenuBar",Vt="tinymce/ui/MenuButton",Ut="tinymce/ui/ListBox",qt="tinymce/ui/MenuItem",$t="tinymce/ui/Menu",jt="tinymce/ui/Radio",Kt="tinymce/ui/ResizeHandle",Yt="tinymce/ui/Spacer",Gt="tinymce/ui/SplitButton",Xt="tinymce/ui/StackLayout",Jt="tinymce/ui/TabPanel",Qt="tinymce/ui/TextBox",Zt="tinymce/ui/Throbber";r(l,[],function(){function e(e,t,n,r){e.addEventListener?e.addEventListener(t,n,r||!1):e.attachEvent&&e.attachEvent("on"+t,n)}function t(e,t,n,r){e.removeEventListener?e.removeEventListener(t,n,r||!1):e.detachEvent&&e.detachEvent("on"+t,n)}function n(e,t){function n(){return!1}function r(){return!0}var i,o=t||{},l;for(i in e)s[i]||(o[i]=e[i]);if(o.target||(o.target=o.srcElement||document),e&&a.test(e.type)&&e.pageX===l&&e.clientX!==l){var c=o.target.ownerDocument||document,u=c.documentElement,d=c.body;o.pageX=e.clientX+(u&&u.scrollLeft||d&&d.scrollLeft||0)-(u&&u.clientLeft||d&&d.clientLeft||0),o.pageY=e.clientY+(u&&u.scrollTop||d&&d.scrollTop||0)-(u&&u.clientTop||d&&d.clientTop||0)}return o.preventDefault=function(){o.isDefaultPrevented=r,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},o.stopPropagation=function(){o.isPropagationStopped=r,e&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)},o.stopImmediatePropagation=function(){o.isImmediatePropagationStopped=r,o.stopPropagation()},o.isDefaultPrevented||(o.isDefaultPrevented=n,o.isPropagationStopped=n,o.isImmediatePropagationStopped=n),o}function r(n,r,i){function o(){i.domLoaded||(i.domLoaded=!0,r(c))}function a(){("complete"===l.readyState||"interactive"===l.readyState&&l.body)&&(t(l,"readystatechange",a),o())}function s(){try{l.documentElement.doScroll("left")}catch(e){return void setTimeout(s,0)}o()}var l=n.document,c={type:"ready"};return i.domLoaded?void r(c):(l.addEventListener?"complete"===l.readyState?o():e(n,"DOMContentLoaded",o):(e(l,"readystatechange",a),l.documentElement.doScroll&&n.self===n.top&&s()),void e(n,"load",o))}function i(){function i(e,t){var n,r,i,o,a=s[t];if(n=a&&a[e.type])for(r=0,i=n.length;i>r;r++)if(o=n[r],o&&o.func.call(o.scope,e)===!1&&e.preventDefault(),e.isImmediatePropagationStopped())return}var a=this,s={},l,c,u,d,f;c=o+(+new Date).toString(32),d="onmouseenter"in document.documentElement,u="onfocusin"in document.documentElement,f={mouseenter:"mouseover",mouseleave:"mouseout"},l=1,a.domLoaded=!1,a.events=s,a.bind=function(t,o,p,m){function h(e){i(n(e||_.event),g)}var g,v,y,b,C,x,w,_=window;if(t&&3!==t.nodeType&&8!==t.nodeType){for(t[c]?g=t[c]:(g=l++,t[c]=g,s[g]={}),m=m||t,o=o.split(" "),y=o.length;y--;)b=o[y],x=h,C=w=!1,"DOMContentLoaded"===b&&(b="ready"),a.domLoaded&&"ready"===b&&"complete"==t.readyState?p.call(m,n({type:b})):(d||(C=f[b],C&&(x=function(e){var t,r;if(t=e.currentTarget,r=e.relatedTarget,r&&t.contains)r=t.contains(r);else for(;r&&r!==t;)r=r.parentNode;r||(e=n(e||_.event),e.type="mouseout"===e.type?"mouseleave":"mouseenter",e.target=t,i(e,g))})),u||"focusin"!==b&&"focusout"!==b||(w=!0,C="focusin"===b?"focus":"blur",x=function(e){e=n(e||_.event),e.type="focus"===e.type?"focusin":"focusout",i(e,g)}),v=s[g][b],v?"ready"===b&&a.domLoaded?p({type:b}):v.push({func:p,scope:m}):(s[g][b]=v=[{func:p,scope:m}],v.fakeName=C,v.capture=w,v.nativeHandler=x,"ready"===b?r(t,x,a):e(t,C||b,x,w)));return t=v=0,p}},a.unbind=function(e,n,r){var i,o,l,u,d,f;if(!e||3===e.nodeType||8===e.nodeType)return a;if(i=e[c]){if(f=s[i],n){for(n=n.split(" "),l=n.length;l--;)if(d=n[l],o=f[d]){if(r)for(u=o.length;u--;)if(o[u].func===r){var p=o.nativeHandler,m=o.fakeName,h=o.capture;o=o.slice(0,u).concat(o.slice(u+1)),o.nativeHandler=p,o.fakeName=m,o.capture=h,f[d]=o}r&&0!==o.length||(delete f[d],t(e,o.fakeName||d,o.nativeHandler,o.capture))}}else{for(d in f)o=f[d],t(e,o.fakeName||d,o.nativeHandler,o.capture);f={}}for(d in f)return a;delete s[i];try{delete e[c]}catch(g){e[c]=null}}return a},a.fire=function(e,t,r){var o;if(!e||3===e.nodeType||8===e.nodeType)return a;r=n(null,r),r.type=t,r.target=e;do o=e[c],o&&i(r,o),e=e.parentNode||e.ownerDocument||e.defaultView||e.parentWindow;while(e&&!r.isPropagationStopped());return a},a.clean=function(e){var t,n,r=a.unbind;if(!e||3===e.nodeType||8===e.nodeType)return a;if(e[c]&&r(e),e.getElementsByTagName||(e=e.document),e&&e.getElementsByTagName)for(r(e),n=e.getElementsByTagName("*"),t=n.length;t--;)e=n[t],e[c]&&r(e);return a},a.destroy=function(){s={}},a.cancel=function(e){return e&&(e.preventDefault(),e.stopImmediatePropagation()),!1}}var o="mce-data-",a=/^(?:mouse|contextmenu)|click/,s={keyLocation:1,layerX:1,layerY:1,returnValue:1};return i.Event=new i,i.Event.bind(window,"ready",function(){}),i}),r(c,[],function(){function e(e){return ht.test(e+"")}function n(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>_.cacheLength&&delete e[t.shift()],e[n]=r,r}}function r(e){return e[I]=!0,e}function i(e){var t=B.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t=null}}function o(e,t,n,r){var i,o,a,s,l,c,f,p,m,h;if((t?t.ownerDocument||t:F)!==B&&A(t),t=t||B,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(D&&!r){if(i=gt.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&O(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return Z.apply(n,t.getElementsByTagName(e)),n;if((a=i[3])&&z.getElementsByClassName&&t.getElementsByClassName)return Z.apply(n,t.getElementsByClassName(a)),n}if(z.qsa&&!M.test(e)){if(f=!0,p=I,m=t,h=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){for(c=u(e),(f=t.getAttribute("id"))?p=f.replace(bt,"\\$&"):t.setAttribute("id",p),p="[id='"+p+"'] ",l=c.length;l--;)c[l]=p+d(c[l]);m=mt.test(e)&&t.parentNode||t,h=c.join(",")}if(h)try{return Z.apply(n,m.querySelectorAll(h)),n}catch(g){}finally{f||t.removeAttribute("id")}}}return b(e.replace(lt,"$1"),t,n,r)}function a(e,t){var n=t&&e,r=n&&(~t.sourceIndex||G)-(~e.sourceIndex||G);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function u(e,t){var n,r,i,a,s,l,c,u=q[e+" "];if(u)return t?0:u.slice(0);for(s=e,l=[],c=_.preFilter;s;){(!n||(r=ct.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=ut.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(lt," ")}),s=s.slice(n.length));for(a in _.filter)!(r=pt[a].exec(s))||c[a]&&!(r=c[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?o.error(e):q(e,l).slice(0)}function d(e){for(var t=0,n=e.length,r="";n>t;t++)r+=e[t].value;return r}function f(e,t,n){var r=t.dir,i=n&&"parentNode"===r,o=V++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,a){var s,l,c,u=W+" "+o;if(a){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,a))return!0}else for(;t=t[r];)if(1===t.nodeType||i)if(c=t[I]||(t[I]={}),(l=c[r])&&l[0]===u){if((s=l[1])===!0||s===w)return s===!0}else if(l=c[r]=[u],l[1]=e(t,n,a)||w,l[1]===!0)return!0}}function p(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function m(e,t,n,r,i){for(var o,a=[],s=0,l=e.length,c=null!=t;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),c&&t.push(s));return a}function h(e,t,n,i,o,a){return i&&!i[I]&&(i=h(i)),o&&!o[I]&&(o=h(o,a)),r(function(r,a,s,l){var c,u,d,f=[],p=[],h=a.length,g=r||y(t||"*",s.nodeType?[s]:s,[]),v=!e||!r&&t?g:m(g,f,e,s,l),b=n?o||(r?e:h||i)?[]:a:v;if(n&&n(v,b,s,l),i)for(c=m(b,p),i(c,[],s,l),u=c.length;u--;)(d=c[u])&&(b[p[u]]=!(v[p[u]]=d));if(r){if(o||e){if(o){for(c=[],u=b.length;u--;)(d=b[u])&&c.push(v[u]=d);o(null,b=[],c,l)}for(u=b.length;u--;)(d=b[u])&&(c=o?tt.call(r,d):f[u])>-1&&(r[c]=!(a[c]=d))}}else b=m(b===a?b.splice(h,b.length):b),o?o(null,a,b,l):Z.apply(a,b)})}function g(e){for(var t,n,r,i=e.length,o=_.relative[e[0].type],a=o||_.relative[" "],s=o?1:0,l=f(function(e){return e===t},a,!0),c=f(function(e){return tt.call(t,e)>-1},a,!0),u=[function(e,n,r){return!o&&(r||n!==k)||((t=n).nodeType?l(e,n,r):c(e,n,r))}];i>s;s++)if(n=_.relative[e[s].type])u=[f(p(u),n)];else{if(n=_.filter[e[s].type].apply(null,e[s].matches),n[I]){for(r=++s;i>r&&!_.relative[e[r].type];r++);return h(s>1&&p(u),s>1&&d(e.slice(0,s-1)).replace(lt,"$1"),n,r>s&&g(e.slice(s,r)),i>r&&g(e=e.slice(r)),i>r&&d(e))}u.push(n)}return p(u)}function v(e,t){var n=0,i=t.length>0,a=e.length>0,s=function(r,s,l,c,u){var d,f,p,h=[],g=0,v="0",y=r&&[],b=null!=u,C=k,x=r||a&&_.find.TAG("*",u&&s.parentNode||s),N=W+=null==C?1:Math.random()||.1;for(b&&(k=s!==B&&s,w=n);null!=(d=x[v]);v++){if(a&&d){for(f=0;p=e[f++];)if(p(d,s,l)){c.push(d);break}b&&(W=N,w=++n)}i&&((d=!p&&d)&&g--,r&&y.push(d))}if(g+=v,i&&v!==g){for(f=0;p=t[f++];)p(y,h,s,l);if(r){if(g>0)for(;v--;)y[v]||h[v]||(h[v]=J.call(c));h=m(h)}Z.apply(c,h),b&&!r&&h.length>0&&g+t.length>1&&o.uniqueSort(c)}return b&&(W=N,k=C),y};return i?r(s):s}function y(e,t,n){for(var r=0,i=t.length;i>r;r++)o(e,t[r],n);return n}function b(e,t,n,r){var i,o,a,s,l,c=u(e);if(!r&&1===c.length){if(o=c[0]=c[0].slice(0),o.length>2&&"ID"===(a=o[0]).type&&9===t.nodeType&&D&&_.relative[o[1].type]){if(t=(_.find.ID(a.matches[0].replace(xt,wt),t)||[])[0],!t)return n;e=e.slice(o.shift().value.length)}for(i=pt.needsContext.test(e)?0:o.length;i--&&(a=o[i],!_.relative[s=a.type]);)if((l=_.find[s])&&(r=l(a.matches[0].replace(xt,wt),mt.test(o[0].type)&&t.parentNode||t))){if(o.splice(i,1),e=r.length&&d(o),!e)return Z.apply(n,r),n;break}}return S(e,c)(r,t,!D,n,mt.test(e)),n}function C(){}var x,w,_,N,E,S,k,T,R,A,B,L,D,M,H,P,O,I="sizzle"+-new Date,F=window.document,z={},W=0,V=0,U=n(),q=n(),$=n(),j=!1,K=function(){return 0},Y=typeof t,G=1<<31,X=[],J=X.pop,Q=X.push,Z=X.push,et=X.slice,tt=X.indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1},nt="[\\x20\\t\\r\\n\\f]",rt="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",it=rt.replace("w","w#"),ot="([*^$|!~]?=)",at="\\["+nt+"*("+rt+")"+nt+"*(?:"+ot+nt+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+it+")|)|)"+nt+"*\\]",st=":("+rt+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+at.replace(3,8)+")*)|.*)\\)|)",lt=new RegExp("^"+nt+"+|((?:^|[^\\\\])(?:\\\\.)*)"+nt+"+$","g"),ct=new RegExp("^"+nt+"*,"+nt+"*"),ut=new RegExp("^"+nt+"*([\\x20\\t\\r\\n\\f>+~])"+nt+"*"),dt=new RegExp(st),ft=new RegExp("^"+it+"$"),pt={ID:new RegExp("^#("+rt+")"),CLASS:new RegExp("^\\.("+rt+")"),NAME:new RegExp("^\\[name=['\"]?("+rt+")['\"]?\\]"),TAG:new RegExp("^("+rt.replace("w","w*")+")"),ATTR:new RegExp("^"+at),PSEUDO:new RegExp("^"+st),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+nt+"*(even|odd|(([+-]|)(\\d*)n|)"+nt+"*(?:([+-]|)"+nt+"*(\\d+)|))"+nt+"*\\)|)","i"),needsContext:new RegExp("^"+nt+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+nt+"*((?:-\\d)?\\d*)"+nt+"*\\)|)(?=[^-]|$)","i")},mt=/[\x20\t\r\n\f]*[+~]/,ht=/^[^{]+\{\s*\[native code/,gt=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,vt=/^(?:input|select|textarea|button)$/i,yt=/^h\d$/i,bt=/'|\\/g,Ct=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,xt=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,wt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320)};try{Z.apply(X=et.call(F.childNodes),F.childNodes),X[F.childNodes.length].nodeType}catch(_t){Z={apply:X.length?function(e,t){Q.apply(e,et.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}E=o.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},A=o.setDocument=function(n){var r=n?n.ownerDocument||n:F;return r!==B&&9===r.nodeType&&r.documentElement?(B=r,L=r.documentElement,D=!E(r),z.getElementsByTagName=i(function(e){return e.appendChild(r.createComment("")),!e.getElementsByTagName("*").length}),z.attributes=i(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),z.getElementsByClassName=i(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),z.getByName=i(function(e){e.id=I+0,e.appendChild(B.createElement("a")).setAttribute("name",I),e.appendChild(B.createElement("i")).setAttribute("name",I),L.appendChild(e);var t=r.getElementsByName&&r.getElementsByName(I).length===2+r.getElementsByName(I+0).length;return L.removeChild(e),t}),z.sortDetached=i(function(e){return e.compareDocumentPosition&&1&e.compareDocumentPosition(B.createElement("div"))}),_.attrHandle=i(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==Y&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},z.getByName?(_.find.ID=function(e,t){if(typeof t.getElementById!==Y&&D){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},_.filter.ID=function(e){var t=e.replace(xt,wt);return function(e){return e.getAttribute("id")===t}}):(_.find.ID=function(e,n){if(typeof n.getElementById!==Y&&D){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==Y&&r.getAttributeNode("id").value===e?[r]:t:[]}},_.filter.ID=function(e){var t=e.replace(xt,wt);return function(e){var n=typeof e.getAttributeNode!==Y&&e.getAttributeNode("id");return n&&n.value===t}}),_.find.TAG=z.getElementsByTagName?function(e,t){return typeof t.getElementsByTagName!==Y?t.getElementsByTagName(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},_.find.NAME=z.getByName&&function(e,t){return typeof t.getElementsByName!==Y?t.getElementsByName(name):void 0},_.find.CLASS=z.getElementsByClassName&&function(e,t){return typeof t.getElementsByClassName!==Y&&D?t.getElementsByClassName(e):void 0},H=[],M=[":focus"],(z.qsa=e(r.querySelectorAll))&&(i(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||M.push("\\["+nt+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||M.push(":checked")}),i(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&M.push("[*^$]="+nt+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||M.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),M.push(",.*:")})),(z.matchesSelector=e(P=L.matchesSelector||L.mozMatchesSelector||L.webkitMatchesSelector||L.oMatchesSelector||L.msMatchesSelector))&&i(function(e){z.disconnectedMatch=P.call(e,"div"),P.call(e,"[s!='']:x"),H.push("!=",st)}),M=new RegExp(M.join("|")),H=H.length&&new RegExp(H.join("|")),O=e(L.contains)||L.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},K=L.compareDocumentPosition?function(e,t){if(e===t)return j=!0,0;var n=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return n?1&n||T&&t.compareDocumentPosition(e)===n?e===r||O(F,e)?-1:t===r||O(F,t)?1:R?tt.call(R,e)-tt.call(R,t):0:4&n?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var n,i=0,o=e.parentNode,s=t.parentNode,l=[e],c=[t];if(e===t)return j=!0,0;if(!o||!s)return e===r?-1:t===r?1:o?-1:s?1:0;if(o===s)return a(e,t);for(n=e;n=n.parentNode;)l.unshift(n);for(n=t;n=n.parentNode;)c.unshift(n);for(;l[i]===c[i];)i++;return i?a(l[i],c[i]):l[i]===F?-1:c[i]===F?1:0},B):B},o.matches=function(e,t){return o(e,null,null,t)},o.matchesSelector=function(e,t){if((e.ownerDocument||e)!==B&&A(e),t=t.replace(Ct,"='$1']"),z.matchesSelector&&D&&(!H||!H.test(t))&&!M.test(t))try{var n=P.call(e,t);if(n||z.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return o(t,B,null,[e]).length>0},o.contains=function(e,t){return(e.ownerDocument||e)!==B&&A(e),O(e,t)},o.attr=function(e,t){var n;return(e.ownerDocument||e)!==B&&A(e),D&&(t=t.toLowerCase()),(n=_.attrHandle[t])?n(e):!D||z.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},o.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},o.uniqueSort=function(e){var t,n=[],r=0,i=0;if(j=!z.detectDuplicates,T=!z.sortDetached,R=!z.sortStable&&e.slice(0),e.sort(K),j){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return e},N=o.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=N(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=N(t);return n},_=o.selectors={cacheLength:50,createPseudo:r,match:pt,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(xt,wt),e[3]=(e[4]||e[5]||"").replace(xt,wt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||o.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&o.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return pt.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&dt.test(n)&&(t=u(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(xt,wt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+nt+")"+e+"("+nt+"|$)"))&&U(e,function(e){return t.test(e.className||typeof e.getAttribute!==Y&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=o.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,f,p,m,h=o!==a?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!l&&!s;if(g){if(o){for(;h;){for(d=t;d=d[h];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;m=h="only"===e&&!m&&"nextSibling"}return!0}if(m=[a?g.firstChild:g.lastChild],a&&y){for(u=g[I]||(g[I]={}),c=u[e]||[],p=c[0]===W&&c[1],f=c[0]===W&&c[2],d=p&&g.childNodes[p];d=++p&&d&&d[h]||(f=p=0)||m.pop();)if(1===d.nodeType&&++f&&d===t){u[e]=[W,p,f];break}}else if(y&&(c=(t[I]||(t[I]={}))[e])&&c[0]===W)f=c[1];else for(;(d=++p&&d&&d[h]||(f=p=0)||m.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++f||(y&&((d[I]||(d[I]={}))[e]=[W,f]),d!==t)););return f-=i,f===r||f%r===0&&f/r>=0}}},PSEUDO:function(e,t){var n,i=_.pseudos[e]||_.setFilters[e.toLowerCase()]||o.error("unsupported pseudo: "+e);return i[I]?i(t):i.length>1?(n=[e,e,"",t],_.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,n){for(var r,o=i(e,t),a=o.length;a--;)r=tt.call(e,o[a]),e[r]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:r(function(e){var t=[],n=[],i=S(e.replace(lt,"$1"));return i[I]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),!n.pop()}}),has:r(function(e){return function(t){return o(e,t).length>0}}),contains:r(function(e){return function(t){return(t.textContent||t.innerText||N(t)).indexOf(e)>-1}}),lang:r(function(e){return ft.test(e||"")||o.error("unsupported lang: "+e),e=e.replace(xt,wt).toLowerCase(),function(t){var n;do if(n=D?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(e){var t=window.location&&window.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===L},focus:function(e){return e===B.activeElement&&(!B.hasFocus||B.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!_.pseudos.empty(e)},header:function(e){return yt.test(e.nodeName)},input:function(e){return vt.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[0>n?n+t:n]}),even:c(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var r=0>n?n+t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=0>n?n+t:n;++r<t;)e.push(r);return e})}};for(x in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})_.pseudos[x]=s(x);for(x in{submit:!0,reset:!0})_.pseudos[x]=l(x);return S=o.compile=function(e,t){var n,r=[],i=[],o=$[e+" "];if(!o){for(t||(t=u(e)),n=t.length;n--;)o=g(t[n]),o[I]?r.push(o):i.push(o);o=$(e,v(i,r))}return o},_.pseudos.nth=_.pseudos.eq,C.prototype=_.filters=_.pseudos,_.setFilters=new C,z.sortStable=I.split("").sort(K).join("")===I,A(),[0,0].sort(K),z.detectDuplicates=j,o}),r(u,[l,c],function(e,n){function r(e){return"undefined"!=typeof e}function i(e){return"string"==typeof e}function o(e){var t,n,r;for(r=v.createElement("div"),t=v.createDocumentFragment(),r.innerHTML=e;n=r.firstChild;)t.appendChild(n);return t}function a(e,t,n){var r;if("string"==typeof t)t=o(t);else if(t.length){for(r=0;r<t.length;r++)a(e,t[r],n);return e}for(r=e.length;r--;)n.call(e[r],t.parentNode?t:t);return e}function s(e,t){return e&&t&&-1!==(" "+e.className+" ").indexOf(" "+t+" ")}function l(e,t){var n;for(e=e||[],"string"==typeof e&&(e=e.split(" ")),t=t||{},n=e.length;n--;)t[e[n]]={};return t}function c(e,t){return new c.fn.init(e,t)}function u(e){var t=arguments,n,r,i;for(r=1;r<t.length;r++){n=t[r];for(i in n)e[i]=n[i]}return e}function d(e){var t=[],n,r;for(n=0,r=e.length;r>n;n++)t[n]=e[n];return t}function f(e,t){var n;if(t.indexOf)return t.indexOf(e);for(n=t.length;n--;)if(t[n]===e)return n;return-1}function p(e){return null===e||e===t?"":(""+e).replace(N,"")}function m(e,t){var n,r,i,o,a;if(e)if(n=e.length,n===o){for(r in e)if(e.hasOwnProperty(r)&&(a=e[r],t.call(a,a,r)===!1))break}else for(i=0;n>i&&(a=e[i],t.call(a,a,r)!==!1);i++);return e}function h(e,n,r){for(var i=[],o=e[n];o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!c(o).is(r));)1===o.nodeType&&i.push(o),o=o[n];return i}function g(e,t,n,r){for(var i=[];e;e=e[n])r&&e.nodeType!==r||e===t||i.push(e);return i}var v=document,y=Array.prototype.push,b=Array.prototype.slice,C=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,x=e.Event,w=l("fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom"),_=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},N=/^\s*|\s*$/g;return c.fn=c.prototype={constructor:c,selector:"",length:0,init:function(e,t){var n=this,r,a;if(!e)return n;if(e.nodeType)return n.context=n[0]=e,n.length=1,n;if(i(e)){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:C.exec(e),!r)return c(t||document).find(e);if(r[1])for(a=o(e).firstChild;a;)this.add(a),a=a.nextSibling;else{if(a=v.getElementById(r[2]),a.id!==r[2])return n.find(e);n.length=1,n[0]=a}}else this.add(e);return n},toArray:function(){return d(this)},add:function(e){var t=this;return _(e)?y.apply(t,e):e instanceof c?t.add(e.toArray()):y.call(t,e),t},attr:function(e,n){var i=this;if("object"==typeof e)m(e,function(e,t){i.attr(t,e)});else{if(!r(n))return i[0]&&1===i[0].nodeType?i[0].getAttribute(e):t;this.each(function(){1===this.nodeType&&this.setAttribute(e,n)})}return i},css:function(e,n){var i=this;if("object"==typeof e)m(e,function(e,t){i.css(t,e)});else{if(e=e.replace(/-(\D)/g,function(e,t){return t.toUpperCase()}),!r(n))return i[0]?i[0].style[e]:t;"number"!=typeof n||w[e]||(n+="px"),i.each(function(){var t=this.style;"opacity"===e&&this.runtimeStyle&&"undefined"==typeof this.runtimeStyle.opacity&&(t.filter=""===n?"":"alpha(opacity="+100*n+")");try{t[e]=n}catch(r){}})}return i},remove:function(){for(var e=this,t,n=this.length;n--;)t=e[n],x.clean(t),t.parentNode&&t.parentNode.removeChild(t);return this},empty:function(){for(var e=this,t,n=this.length;n--;)for(t=e[n];t.firstChild;)t.removeChild(t.firstChild);return this},html:function(e){var t=this,n;if(r(e)){for(n=t.length;n--;)t[n].innerHTML=e;return t}return t[0]?t[0].innerHTML:""},text:function(e){var t=this,n;if(r(e)){for(n=t.length;n--;)t[n].innerText=t[0].textContent=e;return t}return t[0]?t[0].innerText||t[0].textContent:""},append:function(){return a(this,arguments,function(e){1===this.nodeType&&this.appendChild(e)})},prepend:function(){return a(this,arguments,function(e){1===this.nodeType&&this.insertBefore(e,this.firstChild)})},before:function(){var e=this;return e[0]&&e[0].parentNode?a(e,arguments,function(e){this.parentNode.insertBefore(e,this.nextSibling)}):e},after:function(){var e=this;return e[0]&&e[0].parentNode?a(e,arguments,function(e){this.parentNode.insertBefore(e,this)}):e},appendTo:function(e){return c(e).append(this),this},addClass:function(e){return this.toggleClass(e,!0)},removeClass:function(e){return this.toggleClass(e,!1)},toggleClass:function(e,t){var n=this;return-1!==e.indexOf(" ")?m(e.split(" "),function(){n.toggleClass(this,t)}):n.each(function(n){var r;s(n,e)!==t&&(r=n.className,t?n.className+=r?" "+e:e:n.className=p((" "+r+" ").replace(" "+e+" "," ")))}),n},hasClass:function(e){return s(this[0],e)},each:function(e){return m(this,e)},on:function(e,t){return this.each(function(){x.bind(this,e,t)})},off:function(e,t){return this.each(function(){x.unbind(this,e,t)})},show:function(){return this.css("display","")},hide:function(){return this.css("display","none")},slice:function(){return new c(b.apply(this,arguments))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},replaceWith:function(e){var t=this;return t[0]&&t[0].parentNode.replaceChild(c(e)[0],t[0]),t},wrap:function(e){return e=c(e)[0],this.each(function(){var t=this,n=e.cloneNode(!1);t.parentNode.insertBefore(n,t),n.appendChild(t)})},unwrap:function(){return this.each(function(){for(var e=this,t=e.firstChild,n;t;)n=t,t=t.nextSibling,e.parentNode.insertBefore(n,e)})},clone:function(){var e=[];return this.each(function(){e.push(this.cloneNode(!0))}),c(e)},find:function(e){var t,n,r=[];for(t=0,n=this.length;n>t;t++)c.find(e,this[t],r);return c(r)},push:y,sort:[].sort,splice:[].splice},u(c,{extend:u,toArray:d,inArray:f,isArray:_,each:m,trim:p,makeMap:l,find:n,expr:n.selectors,unique:n.uniqueSort,text:n.getText,isXMLDoc:n.isXML,contains:n.contains,filter:function(e,t,n){return n&&(e=":not("+e+")"),t=1===t.length?c.find.matchesSelector(t[0],e)?[t[0]]:[]:c.find.matches(e,t)}}),m({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t){return h(e,"parentNode",t)},next:function(e){return g(e,"nextSibling",1)},prev:function(e){return g(e,"previousSibling",1)},nextNodes:function(e){return g(e,"nextSibling")},prevNodes:function(e){return g(e,"previousSibling")},children:function(e){return g(e.firstChild,"nextSibling",1)},contents:function(e){return d(("iframe"===e.nodeName?e.contentDocument||e.contentWindow.document:e).childNodes)}},function(e,t){c.fn[e]=function(n){var r=this,i;if(r.length>1)throw new Error("DomQuery only supports traverse functions on a single node.");return r[0]&&(i=t(r[0],n)),i=c(i),n&&"parentsUntil"!==e?i.filter(n):i}}),c.fn.filter=function(e){return c.filter(e)},c.fn.is=function(e){return!!e&&this.filter(e).length>0},c.fn.init.prototype=c.fn,c}),r(d,[],function(){return function(e,t){function n(e,t,n,r){function i(e){return e=parseInt(e,10).toString(16),e.length>1?e:"0"+e}return"#"+i(t)+i(n)+i(r)}var r=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,i=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,o=/\s*([^:]+):\s*([^;]+);?/g,a=/\s+$/,s,l,c={},u,d="\ufeff";
-for(e=e||{},u=("\\\" \\' \\; \\: ; : "+d).split(" "),l=0;l<u.length;l++)c[u[l]]=d+l,c[d+l]=u[l];return{toHex:function(e){return e.replace(r,n)},parse:function(t){function s(e,t,n){var r,i,o,a;if(r=h[e+"-top"+t],r&&(i=h[e+"-right"+t],i&&(o=h[e+"-bottom"+t],o&&(a=h[e+"-left"+t])))){var s=[r,i,o,a];for(l=s.length-1;l--&&s[l]===s[l+1];);l>-1&&n||(h[e+t]=-1==l?s[0]:s.join(" "),delete h[e+"-top"+t],delete h[e+"-right"+t],delete h[e+"-bottom"+t],delete h[e+"-left"+t])}}function u(e){var t=h[e],n;if(t){for(t=t.split(" "),n=t.length;n--;)if(t[n]!==t[0])return!1;return h[e]=t[0],!0}}function d(e,t,n,r){u(t)&&u(n)&&u(r)&&(h[e]=h[t]+" "+h[n]+" "+h[r],delete h[t],delete h[n],delete h[r])}function f(e){return b=!0,c[e]}function p(e,t){return b&&(e=e.replace(/\uFEFF[0-9]/g,function(e){return c[e]})),t||(e=e.replace(/\\([\'\";:])/g,"$1")),e}function m(t,n,r,i,o,a){return(o=o||a)?(o=p(o),"'"+o.replace(/\'/g,"\\'")+"'"):(n=p(n||r||i),!e.allow_script_urls&&/(java|vb)script:/i.test(n.replace(/[\s\r\n]+/,""))?"":(C&&(n=C.call(x,n,"style")),"url('"+n.replace(/\'/g,"\\'")+"')"))}var h={},g,v,y,b,C=e.url_converter,x=e.url_converter_scope||this;if(t){for(t=t.replace(/[\u0000-\u001F]/g,""),t=t.replace(/\\[\"\';:\uFEFF]/g,f).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(e){return e.replace(/[;:]/g,f)});g=o.exec(t);){if(v=g[1].replace(a,"").toLowerCase(),y=g[2].replace(a,""),v&&y.length>0){if(!e.allow_script_urls&&("behavior"==v||/expression\s*\(/.test(y)))continue;"font-weight"===v&&"700"===y?y="bold":("color"===v||"background-color"===v)&&(y=y.toLowerCase()),y=y.replace(r,n),y=y.replace(i,m),h[v]=b?p(y,!0):y}o.lastIndex=g.index+g[0].length}s("border","",!0),s("border","-width"),s("border","-color"),s("border","-style"),s("padding",""),s("margin",""),d("border","border-width","border-style","border-color"),"medium none"===h.border&&delete h.border,"none"===h["border-image"]&&delete h["border-image"]}return h},serialize:function(e,n){function r(n){var r,o,a,l;if(r=t.styles[n])for(o=0,a=r.length;a>o;o++)n=r[o],l=e[n],l!==s&&l.length>0&&(i+=(i.length>0?" ":"")+n+": "+l+";")}var i="",o,a;if(n&&t&&t.styles)r("*"),r(n);else for(o in e)a=e[o],a!==s&&a.length>0&&(i+=(i.length>0?" ":"")+o+": "+a+";");return i}}}}),r(f,[],function(){return function(e,t){function n(e,n,r,i){var o,a;if(e){if(!i&&e[n])return e[n];if(e!=t){if(o=e[r])return o;for(a=e.parentNode;a&&a!=t;a=a.parentNode)if(o=a[r])return o}}}var r=e;this.current=function(){return r},this.next=function(e){return r=n(r,"firstChild","nextSibling",e)},this.prev=function(e){return r=n(r,"lastChild","previousSibling",e)}}}),r(p,[],function(){function e(e){return null===e||e===t?"":(""+e).replace(h,"")}function n(e,n){return n?"array"==n&&g(e)?!0:typeof e==n:e!==t}function r(e){var t=[],n,r;for(n=0,r=e.length;r>n;n++)t[n]=e[n];return t}function i(e,t,n){var r;for(e=e||[],t=t||",","string"==typeof e&&(e=e.split(t)),n=n||{},r=e.length;r--;)n[e[r]]={};return n}function o(e,n,r){var i,o;if(!e)return 0;if(r=r||e,e.length!==t){for(i=0,o=e.length;o>i;i++)if(n.call(r,e[i],i,e)===!1)return 0}else for(i in e)if(e.hasOwnProperty(i)&&n.call(r,e[i],i,e)===!1)return 0;return 1}function a(e,t){var n=[];return o(e,function(e){n.push(t(e))}),n}function s(e,t){var n=[];return o(e,function(e){(!t||t(e))&&n.push(e)}),n}function l(e,t,n){var r=this,i,o,a,s,l,c=0;if(e=/^((static) )?([\w.]+)(:([\w.]+))?/.exec(e),a=e[3].match(/(^|\.)(\w+)$/i)[2],o=r.createNS(e[3].replace(/\.\w+$/,""),n),!o[a]){if("static"==e[2])return o[a]=t,void(this.onCreate&&this.onCreate(e[2],e[3],o[a]));t[a]||(t[a]=function(){},c=1),o[a]=t[a],r.extend(o[a].prototype,t),e[5]&&(i=r.resolve(e[5]).prototype,s=e[5].match(/\.(\w+)$/i)[1],l=o[a],o[a]=c?function(){return i[s].apply(this,arguments)}:function(){return this.parent=i[s],l.apply(this,arguments)},o[a].prototype[a]=o[a],r.each(i,function(e,t){o[a].prototype[t]=i[t]}),r.each(t,function(e,t){i[t]?o[a].prototype[t]=function(){return this.parent=i[t],e.apply(this,arguments)}:t!=a&&(o[a].prototype[t]=e)})),r.each(t["static"],function(e,t){o[a][t]=e})}}function c(e,t){var n,r;if(e)for(n=0,r=e.length;r>n;n++)if(e[n]===t)return n;return-1}function u(e,n){var r,i,o,a=arguments,s;for(r=1,i=a.length;i>r;r++){n=a[r];for(o in n)n.hasOwnProperty(o)&&(s=n[o],s!==t&&(e[o]=s))}return e}function d(e,t,n,r){r=r||this,e&&(n&&(e=e[n]),o(e,function(e,i){return t.call(r,e,i,n)===!1?!1:void d(e,t,n,r)}))}function f(e,t){var n,r;for(t=t||window,e=e.split("."),n=0;n<e.length;n++)r=e[n],t[r]||(t[r]={}),t=t[r];return t}function p(e,t){var n,r;for(t=t||window,e=e.split("."),n=0,r=e.length;r>n&&(t=t[e[n]],t);n++);return t}function m(t,r){return!t||n(t,"array")?t:a(t.split(r||","),e)}var h=/^\s*|\s*$/g,g=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};return{trim:e,isArray:g,is:n,toArray:r,makeMap:i,each:o,map:a,grep:s,inArray:c,extend:u,create:l,walk:d,createNS:f,resolve:p,explode:m}}),r(m,[p],function(e){function t(n){function r(){return H.createDocumentFragment()}function i(e,t){_(F,e,t)}function o(e,t){_(z,e,t)}function a(e){i(e.parentNode,j(e))}function s(e){i(e.parentNode,j(e)+1)}function l(e){o(e.parentNode,j(e))}function c(e){o(e.parentNode,j(e)+1)}function u(e){e?(M[U]=M[V],M[q]=M[W]):(M[V]=M[U],M[W]=M[q]),M.collapsed=F}function d(e){a(e),c(e)}function f(e){i(e,0),o(e,1===e.nodeType?e.childNodes.length:e.nodeValue.length)}function p(e,t){var n=M[V],r=M[W],i=M[U],o=M[q],a=t.startContainer,s=t.startOffset,l=t.endContainer,c=t.endOffset;return 0===e?w(n,r,a,s):1===e?w(i,o,a,s):2===e?w(i,o,l,c):3===e?w(n,r,l,c):void 0}function m(){N(I)}function h(){return N(P)}function g(){return N(O)}function v(e){var t=this[V],r=this[W],i,o;3!==t.nodeType&&4!==t.nodeType||!t.nodeValue?(t.childNodes.length>0&&(o=t.childNodes[r]),o?t.insertBefore(e,o):3==t.nodeType?n.insertAfter(e,t):t.appendChild(e)):r?r>=t.nodeValue.length?n.insertAfter(e,t):(i=t.splitText(r),t.parentNode.insertBefore(e,i)):t.parentNode.insertBefore(e,t)}function y(e){var t=M.extractContents();M.insertNode(e),e.appendChild(t),M.selectNode(e)}function b(){return $(new t(n),{startContainer:M[V],startOffset:M[W],endContainer:M[U],endOffset:M[q],collapsed:M.collapsed,commonAncestorContainer:M.commonAncestorContainer})}function C(e,t){var n;if(3==e.nodeType)return e;if(0>t)return e;for(n=e.firstChild;n&&t>0;)--t,n=n.nextSibling;return n?n:e}function x(){return M[V]==M[U]&&M[W]==M[q]}function w(e,t,r,i){var o,a,s,l,c,u;if(e==r)return t==i?0:i>t?-1:1;for(o=r;o&&o.parentNode!=e;)o=o.parentNode;if(o){for(a=0,s=e.firstChild;s!=o&&t>a;)a++,s=s.nextSibling;return a>=t?-1:1}for(o=e;o&&o.parentNode!=r;)o=o.parentNode;if(o){for(a=0,s=r.firstChild;s!=o&&i>a;)a++,s=s.nextSibling;return i>a?-1:1}for(l=n.findCommonAncestor(e,r),c=e;c&&c.parentNode!=l;)c=c.parentNode;for(c||(c=l),u=r;u&&u.parentNode!=l;)u=u.parentNode;if(u||(u=l),c==u)return 0;for(s=l.firstChild;s;){if(s==c)return-1;if(s==u)return 1;s=s.nextSibling}}function _(e,t,r){var i,o;for(e?(M[V]=t,M[W]=r):(M[U]=t,M[q]=r),i=M[U];i.parentNode;)i=i.parentNode;for(o=M[V];o.parentNode;)o=o.parentNode;o==i?w(M[V],M[W],M[U],M[q])>0&&M.collapse(e):M.collapse(e),M.collapsed=x(),M.commonAncestorContainer=n.findCommonAncestor(M[V],M[U])}function N(e){var t,n=0,r=0,i,o,a,s,l,c;if(M[V]==M[U])return E(e);for(t=M[U],i=t.parentNode;i;t=i,i=i.parentNode){if(i==M[V])return S(t,e);++n}for(t=M[V],i=t.parentNode;i;t=i,i=i.parentNode){if(i==M[U])return k(t,e);++r}for(o=r-n,a=M[V];o>0;)a=a.parentNode,o--;for(s=M[U];0>o;)s=s.parentNode,o++;for(l=a.parentNode,c=s.parentNode;l!=c;l=l.parentNode,c=c.parentNode)a=l,s=c;return T(a,s,e)}function E(e){var t,n,i,o,a,s,l,c,u;if(e!=I&&(t=r()),M[W]==M[q])return t;if(3==M[V].nodeType){if(n=M[V].nodeValue,i=n.substring(M[W],M[q]),e!=O&&(o=M[V],c=M[W],u=M[q]-M[W],0===c&&u>=o.nodeValue.length-1?o.parentNode.removeChild(o):o.deleteData(c,u),M.collapse(F)),e==I)return;return i.length>0&&t.appendChild(H.createTextNode(i)),t}for(o=C(M[V],M[W]),a=M[q]-M[W];o&&a>0;)s=o.nextSibling,l=L(o,e),t&&t.appendChild(l),--a,o=s;return e!=O&&M.collapse(F),t}function S(e,t){var n,i,o,a,s,l;if(t!=I&&(n=r()),i=R(e,t),n&&n.appendChild(i),o=j(e),a=o-M[W],0>=a)return t!=O&&(M.setEndBefore(e),M.collapse(z)),n;for(i=e.previousSibling;a>0;)s=i.previousSibling,l=L(i,t),n&&n.insertBefore(l,n.firstChild),--a,i=s;return t!=O&&(M.setEndBefore(e),M.collapse(z)),n}function k(e,t){var n,i,o,a,s,l;for(t!=I&&(n=r()),o=A(e,t),n&&n.appendChild(o),i=j(e),++i,a=M[q]-i,o=e.nextSibling;o&&a>0;)s=o.nextSibling,l=L(o,t),n&&n.appendChild(l),--a,o=s;return t!=O&&(M.setStartAfter(e),M.collapse(F)),n}function T(e,t,n){var i,o,a,s,l,c,u;for(n!=I&&(o=r()),i=A(e,n),o&&o.appendChild(i),a=j(e),s=j(t),++a,l=s-a,c=e.nextSibling;l>0;)u=c.nextSibling,i=L(c,n),o&&o.appendChild(i),c=u,--l;return i=R(t,n),o&&o.appendChild(i),n!=O&&(M.setStartAfter(e),M.collapse(F)),o}function R(e,t){var n=C(M[U],M[q]-1),r,i,o,a,s,l=n!=M[U];if(n==e)return B(n,l,z,t);for(r=n.parentNode,i=B(r,z,z,t);r;){for(;n;)o=n.previousSibling,a=B(n,l,z,t),t!=I&&i.insertBefore(a,i.firstChild),l=F,n=o;if(r==e)return i;n=r.previousSibling,r=r.parentNode,s=B(r,z,z,t),t!=I&&s.appendChild(i),i=s}}function A(e,t){var n=C(M[V],M[W]),r=n!=M[V],i,o,a,s,l;if(n==e)return B(n,r,F,t);for(i=n.parentNode,o=B(i,z,F,t);i;){for(;n;)a=n.nextSibling,s=B(n,r,F,t),t!=I&&o.appendChild(s),r=F,n=a;if(i==e)return o;n=i.nextSibling,i=i.parentNode,l=B(i,z,F,t),t!=I&&l.appendChild(o),o=l}}function B(e,t,r,i){var o,a,s,l,c;if(t)return L(e,i);if(3==e.nodeType){if(o=e.nodeValue,r?(l=M[W],a=o.substring(l),s=o.substring(0,l)):(l=M[q],a=o.substring(0,l),s=o.substring(l)),i!=O&&(e.nodeValue=s),i==I)return;return c=n.clone(e,z),c.nodeValue=a,c}if(i!=I)return n.clone(e,z)}function L(e,t){return t!=I?t==O?n.clone(e,F):e:void e.parentNode.removeChild(e)}function D(){return n.create("body",null,g()).outerText}var M=this,H=n.doc,P=0,O=1,I=2,F=!0,z=!1,W="startOffset",V="startContainer",U="endContainer",q="endOffset",$=e.extend,j=n.nodeIndex;return $(M,{startContainer:H,startOffset:0,endContainer:H,endOffset:0,collapsed:F,commonAncestorContainer:H,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:i,setEnd:o,setStartBefore:a,setStartAfter:s,setEndBefore:l,setEndAfter:c,collapse:u,selectNode:d,selectNodeContents:f,compareBoundaryPoints:p,deleteContents:m,extractContents:h,cloneContents:g,insertNode:v,surroundContents:y,cloneRange:b,toStringIE:D}),M}return t.prototype.toString=function(){return this.toStringIE()},t}),r(h,[p],function(e){function t(e){var t;return t=document.createElement("div"),t.innerHTML=e,t.textContent||t.innerText||e}function n(e,t){var n,r,i,a={};if(e){for(e=e.split(","),t=t||10,n=0;n<e.length;n+=2)r=String.fromCharCode(parseInt(e[n],t)),o[r]||(i="&"+e[n+1]+";",a[r]=i,a[i]=r);return a}}var r=e.makeMap,i,o,a,s=/[&<>\"\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,c=/[<>&\"\']/g,u=/&(#x|#)?([\w]+);/g,d={128:"\u20ac",130:"\u201a",131:"\u0192",132:"\u201e",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02c6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017d",145:"\u2018",146:"\u2019",147:"\u201c",148:"\u201d",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02dc",153:"\u2122",154:"\u0161",155:"\u203a",156:"\u0153",158:"\u017e",159:"\u0178"};o={'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;","&":"&amp;"},a={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":'"',"&apos;":"'"},i=n("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32);var f={encodeRaw:function(e,t){return e.replace(t?s:l,function(e){return o[e]||e})},encodeAllRaw:function(e){return(""+e).replace(c,function(e){return o[e]||e})},encodeNumeric:function(e,t){return e.replace(t?s:l,function(e){return e.length>1?"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";":o[e]||"&#"+e.charCodeAt(0)+";"})},encodeNamed:function(e,t,n){return n=n||i,e.replace(t?s:l,function(e){return o[e]||n[e]||e})},getEncodeFunc:function(e,t){function a(e,n){return e.replace(n?s:l,function(e){return o[e]||t[e]||"&#"+e.charCodeAt(0)+";"||e})}function c(e,n){return f.encodeNamed(e,n,t)}return t=n(t)||i,e=r(e.replace(/\+/g,",")),e.named&&e.numeric?a:e.named?t?c:f.encodeNamed:e.numeric?f.encodeNumeric:f.encodeRaw},decode:function(e){return e.replace(u,function(e,n,r){return n?(r=parseInt(r,2===n.length?16:10),r>65535?(r-=65536,String.fromCharCode(55296+(r>>10),56320+(1023&r))):d[r]||String.fromCharCode(r)):a[e]||i[e]||t(e)})}};return f}),r(g,[],function(){var e=navigator,t=e.userAgent,n,r,i,o,a,s,l;n=window.opera&&window.opera.buildNumber,r=/WebKit/.test(t),i=!r&&!n&&/MSIE/gi.test(t)&&/Explorer/gi.test(e.appName),i=i&&/MSIE (\w+)\./.exec(t)[1],o=-1==t.indexOf("Trident/")||-1==t.indexOf("rv:")&&-1==e.appName.indexOf("Netscape")?!1:11,i=i||o,a=!r&&!o&&/Gecko/.test(t),s=-1!=t.indexOf("Mac"),l=/(iPad|iPhone)/.test(t);var c=!l||t.match(/AppleWebKit\/(\d*)/)[1]>=534;return{opera:n,webkit:r,ie:i,gecko:a,mac:s,iOS:l,contentEditable:c,transparentSrc:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",caretAfter:8!=i,range:window.getSelection&&"Range"in window,documentMode:i?document.documentMode||7:10}}),r(v,[],function(){return function(e,t){function n(t){e.getElementsByTagName("head")[0].appendChild(t)}function r(t,r,s){function l(){for(var e=v.passed,t=e.length;t--;)e[t]();v.status=2,v.passed=[],v.failed=[]}function c(){for(var e=v.failed,t=e.length;t--;)e[t]();v.status=3,v.passed=[],v.failed=[]}function u(){var e=navigator.userAgent.match(/WebKit\/(\d*)/);return!!(e&&e[1]<536)}function d(e,t){e()||((new Date).getTime()-g<a?window.setTimeout(t,0):c())}function f(){d(function(){for(var t=e.styleSheets,n,r=t.length,i;r--;)if(n=t[r],i=n.ownerNode?n.ownerNode:n.owningElement,i&&i.id===m.id)return l(),!0},f)}function p(){d(function(){try{var e=h.sheet.cssRules;return l(),!!e}catch(t){}},p)}var m,h,g,v;if(o[t]?v=o[t]:(v={passed:[],failed:[]},o[t]=v),r&&v.passed.push(r),s&&v.failed.push(s),1!=v.status){if(2==v.status)return void l();if(3==v.status)return void c();if(v.status=1,m=e.createElement("link"),m.rel="stylesheet",m.type="text/css",m.id="u"+i++,m.async=!1,m.defer=!1,g=(new Date).getTime(),"onload"in m&&!u())m.onload=f,m.onerror=c;else{if(navigator.userAgent.indexOf("Firefox")>0)return h=e.createElement("style"),h.textContent='@import "'+t+'"',p(),void n(h);f()}n(m),m.href=t}}var i=0,o={},a;t=t||{},a=t.maxLoadTime||5e3,this.load=r}}),r(y,[c,d,l,f,m,h,g,p,v],function(e,n,r,i,o,a,s,l,c){function u(e,t){var i=this,o;i.doc=e,i.win=window,i.files={},i.counter=0,i.stdMode=!v||e.documentMode>=8,i.boxModel=!v||"CSS1Compat"==e.compatMode||i.stdMode,i.hasOuterHTML="outerHTML"in e.createElement("a"),i.styleSheetLoader=new c(e),this.boundEvents=[],i.settings=t=h({keep_values:!1,hex_colors:1},t),i.schema=t.schema,i.styles=new n({url_converter:t.url_converter,url_converter_scope:t.url_converter_scope},t.schema),i.fixDoc(e),i.events=t.ownEvents?new r(t.proxy):r.Event,o=t.schema?t.schema.getBlockElements():{},i.isBlock=function(e){if(!e)return!1;var t=e.nodeType;return t?!(1!==t||!o[e.nodeName]):!!o[e]}}var d=l.each,f=l.is,p=l.grep,m=l.trim,h=l.extend,g=s.webkit,v=s.ie,y=/^([a-z0-9],?)+$/i,b=/^[ \t\r\n]*$/,C=l.makeMap("fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom"," ");return u.prototype={root:null,props:{"for":"htmlFor","class":"className",className:"className",checked:"checked",disabled:"disabled",maxlength:"maxLength",readonly:"readOnly",selected:"selected",value:"value",id:"id",name:"name",type:"type"},fixDoc:function(e){var t=this.settings,n;if(v&&t.schema){"abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video".replace(/\w+/g,function(t){e.createElement(t)});for(n in t.schema.getCustomElements())e.createElement(n)}},clone:function(e,t){var n=this,r,i;return!v||1!==e.nodeType||t?e.cloneNode(t):(i=n.doc,t?r.firstChild:(r=i.createElement(e.nodeName),d(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),r))},getRoot:function(){var e=this;return e.get(e.settings.root_element)||e.doc.body},getViewPort:function(e){var t,n;return e=e?e:this.win,t=e.document,n=this.boxModel?t.documentElement:t.body,{x:e.pageXOffset||n.scrollLeft,y:e.pageYOffset||n.scrollTop,w:e.innerWidth||n.clientWidth,h:e.innerHeight||n.clientHeight}},getRect:function(e){var t=this,n,r;return e=t.get(e),n=t.getPos(e),r=t.getSize(e),{x:n.x,y:n.y,w:r.w,h:r.h}},getSize:function(e){var t=this,n,r;return e=t.get(e),n=t.getStyle(e,"width"),r=t.getStyle(e,"height"),-1===n.indexOf("px")&&(n=0),-1===r.indexOf("px")&&(r=0),{w:parseInt(n,10)||e.offsetWidth||e.clientWidth,h:parseInt(r,10)||e.offsetHeight||e.clientHeight}},getParent:function(e,t,n){return this.getParents(e,t,n,!1)},getParents:function(e,n,r,i){var o=this,a,s=[];for(e=o.get(e),i=i===t,r=r||("BODY"!=o.getRoot().nodeName?o.getRoot().parentNode:null),f(n,"string")&&(a=n,n="*"===n?function(e){return 1==e.nodeType}:function(e){return o.is(e,a)});e&&e!=r&&e.nodeType&&9!==e.nodeType;){if(!n||n(e)){if(!i)return e;s.push(e)}e=e.parentNode}return i?s:null},get:function(e){var t;return e&&this.doc&&"string"==typeof e&&(t=e,e=this.doc.getElementById(e),e&&e.id!==t)?this.doc.getElementsByName(t)[1]:e},getNext:function(e,t){return this._findSib(e,t,"nextSibling")},getPrev:function(e,t){return this._findSib(e,t,"previousSibling")},select:function(t,n){var r=this;return e(t,r.get(n)||r.get(r.settings.root_element)||r.doc,[])},is:function(n,r){var i;if(n.length===t){if("*"===r)return 1==n.nodeType;if(y.test(r)){for(r=r.toLowerCase().split(/,/),n=n.nodeName.toLowerCase(),i=r.length-1;i>=0;i--)if(r[i]==n)return!0;return!1}}if(n.nodeType&&1!=n.nodeType)return!1;var o=n.nodeType?[n]:n;return e(r,o[0].ownerDocument||o[0],null,o).length>0},add:function(e,t,n,r,i){var o=this;return this.run(e,function(e){var a;return a=f(t,"string")?o.doc.createElement(t):t,o.setAttribs(a,n),r&&(r.nodeType?a.appendChild(r):o.setHTML(a,r)),i?a:e.appendChild(a)})},create:function(e,t,n){return this.add(this.doc.createElement(e),e,t,n,1)},createHTML:function(e,t,n){var r="",i;r+="<"+e;for(i in t)t.hasOwnProperty(i)&&null!==t[i]&&(r+=" "+i+'="'+this.encode(t[i])+'"');return"undefined"!=typeof n?r+">"+n+"</"+e+">":r+" />"},createFragment:function(e){var t,n,r=this.doc,i;for(i=r.createElement("div"),t=r.createDocumentFragment(),e&&(i.innerHTML=e);n=i.firstChild;)t.appendChild(n);return t},remove:function(e,t){return this.run(e,function(e){var n,r=e.parentNode;if(!r)return null;if(t)for(;n=e.firstChild;)!v||3!==n.nodeType||n.nodeValue?r.insertBefore(n,e):e.removeChild(n);return r.removeChild(e)})},setStyle:function(e,t,n){return this.run(e,function(e){var r=this,i,o;if(t)if("string"==typeof t){i=e.style,t=t.replace(/-(\D)/g,function(e,t){return t.toUpperCase()}),"number"!=typeof n||C[t]||(n+="px"),"opacity"===t&&e.runtimeStyle&&"undefined"==typeof e.runtimeStyle.opacity&&(i.filter=""===n?"":"alpha(opacity="+100*n+")"),"float"==t&&(t="cssFloat"in e.style?"cssFloat":"styleFloat");try{i[t]=n}catch(a){}r.settings.update_styles&&e.removeAttribute("data-mce-style")}else for(o in t)r.setStyle(e,o,t[o])})},getStyle:function(e,n,r){if(e=this.get(e)){if(this.doc.defaultView&&r){n=n.replace(/[A-Z]/g,function(e){return"-"+e});try{return this.doc.defaultView.getComputedStyle(e,null).getPropertyValue(n)}catch(i){return null}}return n=n.replace(/-(\D)/g,function(e,t){return t.toUpperCase()}),"float"==n&&(n=v?"styleFloat":"cssFloat"),e.currentStyle&&r?e.currentStyle[n]:e.style?e.style[n]:t}},setStyles:function(e,t){this.setStyle(e,t)},css:function(e,t,n){this.setStyle(e,t,n)},removeAllAttribs:function(e){return this.run(e,function(e){var t,n=e.attributes;for(t=n.length-1;t>=0;t--)e.removeAttributeNode(n.item(t))})},setAttrib:function(e,t,n){var r=this;if(e&&t)return this.run(e,function(e){var i=r.settings,o=e.getAttribute(t);if(null!==n)switch(t){case"style":if(!f(n,"string"))return void d(n,function(t,n){r.setStyle(e,n,t)});i.keep_values&&(n?e.setAttribute("data-mce-style",n,2):e.removeAttribute("data-mce-style",2)),e.style.cssText=n;break;case"class":e.className=n||"";break;case"src":case"href":i.keep_values&&(i.url_converter&&(n=i.url_converter.call(i.url_converter_scope||r,n,t,e)),r.setAttrib(e,"data-mce-"+t,n,2));break;case"shape":e.setAttribute("data-mce-style",n)}f(n)&&null!==n&&0!==n.length?e.setAttribute(t,""+n,2):e.removeAttribute(t,2),o!=n&&i.onSetAttrib&&i.onSetAttrib({attrElm:e,attrName:t,attrValue:n})})},setAttribs:function(e,t){var n=this;return this.run(e,function(e){d(t,function(t,r){n.setAttrib(e,r,t)})})},getAttrib:function(e,t,n){var r,i=this,o;if(e=i.get(e),!e||1!==e.nodeType)return n===o?!1:n;if(f(n)||(n=""),/^(src|href|style|coords|shape)$/.test(t)&&(r=e.getAttribute("data-mce-"+t)))return r;if(v&&i.props[t]&&(r=e[i.props[t]],r=r&&r.nodeValue?r.nodeValue:r),r||(r=e.getAttribute(t,2)),/^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noshade|nowrap|readonly|selected)$/.test(t))return e[i.props[t]]===!0&&""===r?t:r?t:"";if("FORM"===e.nodeName&&e.getAttributeNode(t))return e.getAttributeNode(t).nodeValue;if("style"===t&&(r=r||e.style.cssText,r&&(r=i.serializeStyle(i.parseStyle(r),e.nodeName),i.settings.keep_values&&e.setAttribute("data-mce-style",r))),g&&"class"===t&&r&&(r=r.replace(/(apple|webkit)\-[a-z\-]+/gi,"")),v)switch(t){case"rowspan":case"colspan":1===r&&(r="");break;case"size":("+0"===r||20===r||0===r)&&(r="");break;case"width":case"height":case"vspace":case"checked":case"disabled":case"readonly":0===r&&(r="");break;case"hspace":-1===r&&(r="");break;case"maxlength":case"tabindex":(32768===r||2147483647===r||"32768"===r)&&(r="");break;case"multiple":case"compact":case"noshade":case"nowrap":return 65535===r?t:n;case"shape":r=r.toLowerCase();break;default:0===t.indexOf("on")&&r&&(r=(""+r).replace(/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/,"$1"))}return r!==o&&null!==r&&""!==r?""+r:n},getPos:function(e,t){var n=this,r=0,i=0,o,a=n.doc,s;if(e=n.get(e),t=t||a.body,e){if(t===a.body&&e.getBoundingClientRect)return s=e.getBoundingClientRect(),t=n.boxModel?a.documentElement:a.body,r=s.left+(a.documentElement.scrollLeft||a.body.scrollLeft)-t.clientLeft,i=s.top+(a.documentElement.scrollTop||a.body.scrollTop)-t.clientTop,{x:r,y:i};for(o=e;o&&o!=t&&o.nodeType;)r+=o.offsetLeft||0,i+=o.offsetTop||0,o=o.offsetParent;for(o=e.parentNode;o&&o!=t&&o.nodeType;)r-=o.scrollLeft||0,i-=o.scrollTop||0,o=o.parentNode}return{x:r,y:i}},parseStyle:function(e){return this.styles.parse(e)},serializeStyle:function(e,t){return this.styles.serialize(e,t)},addStyle:function(e){var t=this,n=t.doc,r,i;if(t!==u.DOM&&n===document){var o=u.DOM.addedStyles;if(o=o||[],o[e])return;o[e]=!0,u.DOM.addedStyles=o}i=n.getElementById("mceDefaultStyles"),i||(i=n.createElement("style"),i.id="mceDefaultStyles",i.type="text/css",r=n.getElementsByTagName("head")[0],r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i)),i.styleSheet?i.styleSheet.cssText+=e:i.appendChild(n.createTextNode(e))},loadCSS:function(e){var t=this,n=t.doc,r;return t!==u.DOM&&n===document?void u.DOM.loadCSS(e):(e||(e=""),r=n.getElementsByTagName("head")[0],void d(e.split(","),function(e){var i;t.files[e]||(t.files[e]=!0,i=t.create("link",{rel:"stylesheet",href:e}),v&&n.documentMode&&n.recalc&&(i.onload=function(){n.recalc&&n.recalc(),i.onload=null}),r.appendChild(i))}))},addClass:function(e,t){return this.run(e,function(e){var n;return t?this.hasClass(e,t)?e.className:(n=this.removeClass(e,t),e.className=n=(""!==n?n+" ":"")+t,n):0})},removeClass:function(e,t){var n=this,r;return n.run(e,function(e){var i;return n.hasClass(e,t)?(r||(r=new RegExp("(^|\\s+)"+t+"(\\s+|$)","g")),i=e.className.replace(r," "),i=m(" "!=i?i:""),e.className=i,i||(e.removeAttribute("class"),e.removeAttribute("className")),i):e.className})},hasClass:function(e,t){return e=this.get(e),e&&t?-1!==(" "+e.className+" ").indexOf(" "+t+" "):!1},toggleClass:function(e,n,r){r=r===t?!this.hasClass(e,n):r,this.hasClass(e,n)!==r&&(r?this.addClass(e,n):this.removeClass(e,n))},show:function(e){return this.setStyle(e,"display","block")},hide:function(e){return this.setStyle(e,"display","none")},isHidden:function(e){return e=this.get(e),!e||"none"==e.style.display||"none"==this.getStyle(e,"display")},uniqueId:function(e){return(e?e:"mce_")+this.counter++},setHTML:function(e,t){var n=this;return n.run(e,function(e){if(v){for(;e.firstChild;)e.removeChild(e.firstChild);try{e.innerHTML="<br />"+t,e.removeChild(e.firstChild)}catch(r){var i=n.create("div");i.innerHTML="<br />"+t,d(p(i.childNodes),function(t,n){n&&e.canHaveHTML&&e.appendChild(t)})}}else e.innerHTML=t;return t})},getOuterHTML:function(e){var t,n=this;return(e=n.get(e))?1===e.nodeType&&n.hasOuterHTML?e.outerHTML:(t=(e.ownerDocument||n.doc).createElement("body"),t.appendChild(e.cloneNode(!0)),t.innerHTML):null},setOuterHTML:function(e,t,n){var r=this;return r.run(e,function(e){function i(){var i,o;for(o=n.createElement("body"),o.innerHTML=t,i=o.lastChild;i;)r.insertAfter(i.cloneNode(!0),e),i=i.previousSibling;r.remove(e)}if(1==e.nodeType)if(n=n||e.ownerDocument||r.doc,v)try{1==e.nodeType&&r.hasOuterHTML?e.outerHTML=t:i()}catch(o){i()}else i()})},decode:a.decode,encode:a.encodeAllRaw,insertAfter:function(e,t){return t=this.get(t),this.run(e,function(e){var n,r;return n=t.parentNode,r=t.nextSibling,r?n.insertBefore(e,r):n.appendChild(e),e})},replace:function(e,t,n){var r=this;return r.run(t,function(t){return f(t,"array")&&(e=e.cloneNode(!0)),n&&d(p(t.childNodes),function(t){e.appendChild(t)}),t.parentNode.replaceChild(e,t)})},rename:function(e,t){var n=this,r;return e.nodeName!=t.toUpperCase()&&(r=n.create(t),d(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),n.replace(r,e,1)),r||e},findCommonAncestor:function(e,t){for(var n=e,r;n;){for(r=t;r&&n!=r;)r=r.parentNode;if(n==r)break;n=n.parentNode}return!n&&e.ownerDocument?e.ownerDocument.documentElement:n},toHex:function(e){return this.styles.toHex(l.trim(e))},run:function(e,t,n){var r=this,i;return"string"==typeof e&&(e=r.get(e)),e?(n=n||this,e.nodeType||!e.length&&0!==e.length?t.call(n,e):(i=[],d(e,function(e,o){e&&("string"==typeof e&&(e=r.get(e)),i.push(t.call(n,e,o)))}),i)):!1},getAttribs:function(e){var t;if(e=this.get(e),!e)return[];if(v){if(t=[],"OBJECT"==e.nodeName)return e.attributes;"OPTION"===e.nodeName&&this.getAttrib(e,"selected")&&t.push({specified:1,nodeName:"selected"});var n=/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi;return e.cloneNode(!1).outerHTML.replace(n,"").replace(/[\w:\-]+/gi,function(e){t.push({specified:1,nodeName:e})}),t}return e.attributes},isEmpty:function(e,t){var n=this,r,o,a,s,l,c=0;if(e=e.firstChild){s=new i(e,e.parentNode),t=t||n.schema?n.schema.getNonEmptyElements():null;do{if(a=e.nodeType,1===a){if(e.getAttribute("data-mce-bogus"))continue;if(l=e.nodeName.toLowerCase(),t&&t[l]){if("br"===l){c++;continue}return!1}for(o=n.getAttribs(e),r=o.length;r--;)if(l=o[r].nodeName,"name"===l||"data-mce-bookmark"===l)return!1}if(8==a)return!1;if(3===a&&!b.test(e.nodeValue))return!1}while(e=s.next())}return 1>=c},createRng:function(){var e=this.doc;return e.createRange?e.createRange():new o(this)},nodeIndex:function(e,t){var n=0,r,i;if(e)for(r=e.nodeType,e=e.previousSibling;e;e=e.previousSibling)i=e.nodeType,(!t||3!=i||i!=r&&e.nodeValue.length)&&(n++,r=i);return n},split:function(e,t,n){function r(e){function t(e){var t=e.previousSibling&&"SPAN"==e.previousSibling.nodeName,n=e.nextSibling&&"SPAN"==e.nextSibling.nodeName;return t&&n}var n,o=e.childNodes,a=e.nodeType;if(1!=a||"bookmark"!=e.getAttribute("data-mce-type")){for(n=o.length-1;n>=0;n--)r(o[n]);if(9!=a){if(3==a&&e.nodeValue.length>0){var s=m(e.nodeValue).length;if(!i.isBlock(e.parentNode)||s>0||0===s&&t(e))return}else if(1==a&&(o=e.childNodes,1==o.length&&o[0]&&1==o[0].nodeType&&"bookmark"==o[0].getAttribute("data-mce-type")&&e.parentNode.insertBefore(o[0],e),o.length||/^(br|hr|input|img)$/i.test(e.nodeName)))return;i.remove(e)}return e}}var i=this,o=i.createRng(),a,s,l;return e&&t?(o.setStart(e.parentNode,i.nodeIndex(e)),o.setEnd(t.parentNode,i.nodeIndex(t)),a=o.extractContents(),o=i.createRng(),o.setStart(t.parentNode,i.nodeIndex(t)+1),o.setEnd(e.parentNode,i.nodeIndex(e)+1),s=o.extractContents(),l=e.parentNode,l.insertBefore(r(a),e),n?l.replaceChild(n,t):l.insertBefore(t,e),l.insertBefore(r(s),e),i.remove(e),n||t):void 0},bind:function(e,t,n,r){var i=this;if(l.isArray(e)){for(var o=e.length;o--;)e[o]=i.bind(e[o],t,n,r);return e}return!i.settings.collect||e!==i.doc&&e!==i.win||i.boundEvents.push([e,t,n,r]),i.events.bind(e,t,n,r||i)},unbind:function(e,t,n){var r=this,i;if(l.isArray(e)){for(i=e.length;i--;)e[i]=r.unbind(e[i],t,n);return e}if(r.boundEvents&&(e===r.doc||e===r.win))for(i=r.boundEvents.length;i--;){var o=r.boundEvents[i];e!=o[0]||t&&t!=o[1]||n&&n!=o[2]||this.events.unbind(o[0],o[1],o[2])}return this.events.unbind(e,t,n)},fire:function(e,t,n){return this.events.fire(e,t,n)},getContentEditable:function(e){var t;return 1!=e.nodeType?null:(t=e.getAttribute("data-mce-contenteditable"),t&&"inherit"!==t?t:"inherit"!==e.contentEditable?e.contentEditable:null)},destroy:function(){var t=this;if(t.boundEvents){for(var n=t.boundEvents.length;n--;){var r=t.boundEvents[n];this.events.unbind(r[0],r[1],r[2])}t.boundEvents=null}e.setDocument&&e.setDocument(),t.win=t.doc=t.root=t.events=t.frag=null},dumpRng:function(e){return"startContainer: "+e.startContainer.nodeName+", startOffset: "+e.startOffset+", endContainer: "+e.endContainer.nodeName+", endOffset: "+e.endOffset},_findSib:function(e,t,n){var r=this,i=t;if(e)for("string"==typeof i&&(i=function(e){return r.is(e,t)}),e=e[n];e;e=e[n])if(i(e))return e;return null}},u.DOM=new u(document),u}),r(b,[y,p],function(e,t){function n(){function e(e,t){function n(){o.remove(s),a&&(a.onreadystatechange=a.onload=a=null),t()
-}function i(){"undefined"!=typeof console&&console.log&&console.log("Failed to load: "+e)}var o=r,a,s;s=o.uniqueId(),a=document.createElement("script"),a.id=s,a.type="text/javascript",a.src=e,"onreadystatechange"in a?a.onreadystatechange=function(){/loaded|complete/.test(a.readyState)&&n()}:a.onload=n,a.onerror=i,(document.getElementsByTagName("head")[0]||document.body).appendChild(a)}var t=0,n=1,a=2,s={},l=[],c={},u=[],d=0,f;this.isDone=function(e){return s[e]==a},this.markDone=function(e){s[e]=a},this.add=this.load=function(e,n,r){var i=s[e];i==f&&(l.push(e),s[e]=t),n&&(c[e]||(c[e]=[]),c[e].push({func:n,scope:r||this}))},this.loadQueue=function(e,t){this.loadScripts(l,e,t)},this.loadScripts=function(t,r,l){function p(e){i(c[e],function(e){e.func.call(e.scope)}),c[e]=f}var m;u.push({func:r,scope:l||this}),(m=function(){var r=o(t);t.length=0,i(r,function(t){return s[t]==a?void p(t):void(s[t]!=n&&(s[t]=n,d++,e(t,function(){s[t]=a,d--,p(t),m()})))}),d||(i(u,function(e){e.func.call(e.scope)}),u.length=0)})()}}var r=e.DOM,i=t.each,o=t.grep;return n.ScriptLoader=new n,n}),r(C,[b,p],function(e,n){function r(){var e=this;e.items=[],e.urls={},e.lookup={}}var i=n.each;return r.prototype={get:function(e){return this.lookup[e]?this.lookup[e].instance:t},dependencies:function(e){var t;return this.lookup[e]&&(t=this.lookup[e].dependencies),t||[]},requireLangPack:function(t,n){var i=r.language;if(i&&r.languageLoad!==!1){if(n)if(n=","+n+",",-1!=n.indexOf(","+i.substr(0,2)+","))i=i.substr(0,2);else if(-1==n.indexOf(","+i+","))return;e.ScriptLoader.add(this.urls[t]+"/langs/"+i+".js")}},add:function(e,t,n){return this.items.push(t),this.lookup[e]={instance:t,dependencies:n},t},createUrl:function(e,t){return"object"==typeof t?t:{prefix:e.prefix,resource:t,suffix:e.suffix}},addComponents:function(t,n){var r=this.urls[t];i(n,function(t){e.ScriptLoader.add(r+"/"+t)})},load:function(n,o,a,s){function l(){var r=c.dependencies(n);i(r,function(e){var n=c.createUrl(o,e);c.load(n.resource,n,t,t)}),a&&a.call(s?s:e)}var c=this,u=o;c.urls[n]||("object"==typeof o&&(u=o.prefix+o.resource+o.suffix),0!==u.indexOf("/")&&-1==u.indexOf("://")&&(u=r.baseURL+"/"+u),c.urls[n]=u.substring(0,u.lastIndexOf("/")),c.lookup[n]?l():e.ScriptLoader.add(u,l,s))}},r.PluginManager=new r,r.ThemeManager=new r,r}),r(x,[],function(){function e(e,t,n){var r,i,o=n?"lastChild":"firstChild",a=n?"prev":"next";if(e[o])return e[o];if(e!==t){if(r=e[a])return r;for(i=e.parent;i&&i!==t;i=i.parent)if(r=i[a])return r}}function t(e,t){this.name=e,this.type=t,1===t&&(this.attributes=[],this.attributes.map={})}var n=/^[ \t\r\n]*$/,r={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};return t.prototype={replace:function(e){var t=this;return e.parent&&e.remove(),t.insert(e,t),t.remove(),t},attr:function(e,t){var n=this,r,i,o;if("string"!=typeof e){for(i in e)n.attr(i,e[i]);return n}if(r=n.attributes){if(t!==o){if(null===t){if(e in r.map)for(delete r.map[e],i=r.length;i--;)if(r[i].name===e)return r=r.splice(i,1),n;return n}if(e in r.map){for(i=r.length;i--;)if(r[i].name===e){r[i].value=t;break}}else r.push({name:e,value:t});return r.map[e]=t,n}return r.map[e]}},clone:function(){var e=this,n=new t(e.name,e.type),r,i,o,a,s;if(o=e.attributes){for(s=[],s.map={},r=0,i=o.length;i>r;r++)a=o[r],"id"!==a.name&&(s[s.length]={name:a.name,value:a.value},s.map[a.name]=a.value);n.attributes=s}return n.value=e.value,n.shortEnded=e.shortEnded,n},wrap:function(e){var t=this;return t.parent.insert(e,t),e.append(t),t},unwrap:function(){var e=this,t,n;for(t=e.firstChild;t;)n=t.next,e.insert(t,e,!0),t=n;e.remove()},remove:function(){var e=this,t=e.parent,n=e.next,r=e.prev;return t&&(t.firstChild===e?(t.firstChild=n,n&&(n.prev=null)):r.next=n,t.lastChild===e?(t.lastChild=r,r&&(r.next=null)):n.prev=r,e.parent=e.next=e.prev=null),e},append:function(e){var t=this,n;return e.parent&&e.remove(),n=t.lastChild,n?(n.next=e,e.prev=n,t.lastChild=e):t.lastChild=t.firstChild=e,e.parent=t,e},insert:function(e,t,n){var r;return e.parent&&e.remove(),r=t.parent||this,n?(t===r.firstChild?r.firstChild=e:t.prev.next=e,e.prev=t.prev,e.next=t,t.prev=e):(t===r.lastChild?r.lastChild=e:t.next.prev=e,e.next=t.next,e.prev=t,t.next=e),e.parent=r,e},getAll:function(t){var n=this,r,i=[];for(r=n.firstChild;r;r=e(r,n))r.name===t&&i.push(r);return i},empty:function(){var t=this,n,r,i;if(t.firstChild){for(n=[],i=t.firstChild;i;i=e(i,t))n.push(i);for(r=n.length;r--;)i=n[r],i.parent=i.firstChild=i.lastChild=i.next=i.prev=null}return t.firstChild=t.lastChild=null,t},isEmpty:function(t){var r=this,i=r.firstChild,o,a;if(i)do{if(1===i.type){if(i.attributes.map["data-mce-bogus"])continue;if(t[i.name])return!1;for(o=i.attributes.length;o--;)if(a=i.attributes[o].name,"name"===a||0===a.indexOf("data-mce-"))return!1}if(8===i.type)return!1;if(3===i.type&&!n.test(i.value))return!1}while(i=e(i,r));return!0},walk:function(t){return e(this,null,t)}},t.create=function(e,n){var i,o;if(i=new t(e,r[e]||1),n)for(o in n)i.attr(o,n[o]);return i},t}),r(w,[p],function(e){function t(e,t){return e?e.split(t||" "):[]}function n(e){function n(e,n,r){function i(e){var t={},n,r;for(n=0,r=e.length;r>n;n++)t[e[n]]={};return t}var o,l,c,u=arguments;for(r=r||[],n=n||"","string"==typeof r&&(r=t(r)),l=3;l<u.length;l++)"string"==typeof u[l]&&(u[l]=t(u[l])),r.push.apply(r,u[l]);for(e=t(e),o=e.length;o--;)c=[].concat(s,t(n)),a[e[o]]={attributes:i(c),attributesOrder:c,children:i(r)}}function i(e,n){var r,i,o,s;for(e=t(e),r=e.length,n=t(n);r--;)for(i=a[e[r]],o=0,s=n.length;s>o;o++)i.attributes[n[o]]={},i.attributesOrder.push(n[o])}var a={},s,l,c,u,d,f;return r[e]?r[e]:(s=t("id accesskey class dir lang style tabindex title"),l=t("address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul"),c=t("a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd label map noscript object q s samp script select small span strong sub sup textarea u var #text #comment"),"html4"!=e&&(s.push.apply(s,t("contenteditable contextmenu draggable dropzone hidden spellcheck translate")),l.push.apply(l,t("article aside details dialog figure header footer hgroup section nav")),c.push.apply(c,t("audio canvas command datalist mark meter output progress time wbr video ruby bdi keygen"))),"html5-strict"!=e&&(s.push("xml:lang"),f=t("acronym applet basefont big font strike tt"),c.push.apply(c,f),o(f,function(e){n(e,"",c)}),d=t("center dir isindex noframes"),l.push.apply(l,d),u=[].concat(l,c),o(d,function(e){n(e,"",u)})),u=u||[].concat(l,c),n("html","manifest","head body"),n("head","","base command link meta noscript script style title"),n("title hr noscript br"),n("base","href target"),n("link","href rel media hreflang type sizes hreflang"),n("meta","name http-equiv content charset"),n("style","media type scoped"),n("script","src async defer type charset"),n("body","onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload",u),n("address dt dd div caption","",u),n("h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn","",c),n("blockquote","cite",u),n("ol","reversed start type","li"),n("ul","","li"),n("li","value",u),n("dl","","dt dd"),n("a","href target rel media hreflang type",c),n("q","cite",c),n("ins del","cite datetime",u),n("img","src alt usemap ismap width height"),n("iframe","src name width height",u),n("embed","src type width height"),n("object","data type typemustmatch name usemap form width height",u,"param"),n("param","name value"),n("map","name",u,"area"),n("area","alt coords shape href target rel media hreflang type"),n("table","border","caption colgroup thead tfoot tbody tr"+("html4"==e?" col":"")),n("colgroup","span","col"),n("col","span"),n("tbody thead tfoot","","tr"),n("tr","","td th"),n("td","colspan rowspan headers",u),n("th","colspan rowspan headers scope abbr",u),n("form","accept-charset action autocomplete enctype method name novalidate target",u),n("fieldset","disabled form name",u,"legend"),n("label","form for",c),n("input","accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate formtarget height list max maxlength min multiple name pattern readonly required size src step type value width"),n("button","disabled form formaction formenctype formmethod formnovalidate formtarget name type value","html4"==e?u:c),n("select","disabled form multiple name required size","option optgroup"),n("optgroup","disabled label","option"),n("option","disabled label selected value"),n("textarea","cols dirname disabled form maxlength name readonly required rows wrap"),n("menu","type label",u,"li"),n("noscript","",u),"html4"!=e&&(n("wbr"),n("ruby","",c,"rt rp"),n("figcaption","",u),n("mark rt rp summary bdi","",c),n("canvas","width height",u),n("video","src crossorigin poster preload autoplay mediagroup loop muted controls width height",u,"track source"),n("audio","src crossorigin preload autoplay mediagroup loop muted controls",u,"track source"),n("source","src type media"),n("track","kind src srclang label default"),n("datalist","",c,"option"),n("article section nav aside header footer","",u),n("hgroup","","h1 h2 h3 h4 h5 h6"),n("figure","",u,"figcaption"),n("time","datetime",c),n("dialog","open",u),n("command","type label icon disabled checked radiogroup command"),n("output","for form name",c),n("progress","value max",c),n("meter","value min max low high optimum",c),n("details","open",u,"summary"),n("keygen","autofocus challenge disabled form keytype name")),"html5-strict"!=e&&(i("script","language xml:space"),i("style","xml:space"),i("object","declare classid codebase codetype archive standby align border hspace vspace"),i("param","valuetype type"),i("a","charset name rev shape coords"),i("br","clear"),i("applet","codebase archive code object alt name width height align hspace vspace"),i("img","name longdesc align border hspace vspace"),i("iframe","longdesc frameborder marginwidth marginheight scrolling align"),i("font basefont","size color face"),i("input","usemap align"),i("select","onchange"),i("textarea"),i("h1 h2 h3 h4 h5 h6 div p legend caption","align"),i("ul","type compact"),i("li","type"),i("ol dl menu dir","compact"),i("pre","width xml:space"),i("hr","align noshade size width"),i("isindex","prompt"),i("table","summary width frame rules cellspacing cellpadding align bgcolor"),i("col","width align char charoff valign"),i("colgroup","width align char charoff valign"),i("thead","align char charoff valign"),i("tr","align char charoff valign bgcolor"),i("th","axis align char charoff valign nowrap bgcolor width height"),i("form","accept"),i("td","abbr axis scope align char charoff valign nowrap bgcolor width height"),i("tfoot","align char charoff valign"),i("tbody","align char charoff valign"),i("area","nohref"),i("body","background bgcolor text link vlink alink")),"html4"!=e&&(i("input button select textarea","autofocus"),i("input textarea","placeholder"),i("a","download"),i("link script img","crossorigin"),i("iframe","srcdoc sandbox seamless allowfullscreen")),o(t("a form meter progress dfn"),function(e){a[e]&&delete a[e].children[e]}),delete a.caption.children.table,r[e]=a,a)}var r={},i=e.makeMap,o=e.each,a=e.extend,s=e.explode,l=e.inArray;return function(e){function c(t,n,o){var s=e[t];return s?s=i(s,",",i(s.toUpperCase()," ")):(s=r[t],s||(s=i(n," ",i(n.toUpperCase()," ")),s=a(s,o),r[t]=s)),s}function u(e){return new RegExp("^"+e.replace(/([?+*])/g,".$1")+"$")}function d(e){var n,r,o,a,s,c,d,f,p,m,h,g,y,C,x,w,_,N,E,S=/^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)\])?$/,k=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,T=/[*?+]/;if(e)for(e=t(e,","),v["@"]&&(w=v["@"].attributes,_=v["@"].attributesOrder),n=0,r=e.length;r>n;n++)if(s=S.exec(e[n])){if(C=s[1],p=s[2],x=s[3],f=s[5],g={},y=[],c={attributes:g,attributesOrder:y},"#"===C&&(c.paddEmpty=!0),"-"===C&&(c.removeEmpty=!0),"!"===s[4]&&(c.removeEmptyAttrs=!0),w){for(N in w)g[N]=w[N];y.push.apply(y,_)}if(f)for(f=t(f,"|"),o=0,a=f.length;a>o;o++)if(s=k.exec(f[o])){if(d={},h=s[1],m=s[2].replace(/::/g,":"),C=s[3],E=s[4],"!"===h&&(c.attributesRequired=c.attributesRequired||[],c.attributesRequired.push(m),d.required=!0),"-"===h){delete g[m],y.splice(l(y,m),1);continue}C&&("="===C&&(c.attributesDefault=c.attributesDefault||[],c.attributesDefault.push({name:m,value:E}),d.defaultValue=E),":"===C&&(c.attributesForced=c.attributesForced||[],c.attributesForced.push({name:m,value:E}),d.forcedValue=E),"<"===C&&(d.validValues=i(E,"?"))),T.test(m)?(c.attributePatterns=c.attributePatterns||[],d.pattern=u(m),c.attributePatterns.push(d)):(g[m]||y.push(m),g[m]=d)}w||"@"!=p||(w=g,_=y),x&&(c.outputName=p,v[x]=c),T.test(p)?(c.pattern=u(p),b.push(c)):v[p]=c}}function f(e){v={},b=[],d(e),o(x,function(e,t){y[t]=e.children})}function p(e){var n=/^(~)?(.+)$/;e&&(r.text_block_elements=r.block_elements=null,o(t(e,","),function(e){var t=n.exec(e),r="~"===t[1],i=r?"span":"div",s=t[2];if(y[s]=y[i],R[s]=i,r||(S[s.toUpperCase()]={},S[s]={}),!v[s]){var l=v[i];l=a({},l),delete l.removeEmptyAttrs,delete l.removeEmpty,v[s]=l}o(y,function(e,t){e[i]&&(y[t]=e=a({},y[t]),e[s]=e[i])})}))}function m(e){var n=/^([+\-]?)(\w+)\[([^\]]+)\]$/;e&&o(t(e,","),function(e){var r=n.exec(e),i,s;r&&(s=r[1],i=s?y[r[2]]:y[r[2]]={"#comment":{}},i=y[r[2]],o(t(r[3],"|"),function(e){"-"===s?(y[r[2]]=i=a({},y[r[2]]),delete i[e]):i[e]={}}))})}function h(e){var t=v[e],n;if(t)return t;for(n=b.length;n--;)if(t=b[n],t.pattern.test(e))return t}var g=this,v={},y={},b=[],C,x,w,_,N,E,S,k,T,R={},A={};e=e||{},x=n(e.schema),e.verify_html===!1&&(e.valid_elements="*[*]"),e.valid_styles&&(C={},o(e.valid_styles,function(e,t){C[t]=s(e)})),w=c("whitespace_elements","pre script noscript style textarea video audio iframe object"),_=c("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr"),N=c("short_ended_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr track"),E=c("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls"),k=c("non_empty_elements","td th iframe video audio object script",N),T=c("text_block_elements","h1 h2 h3 h4 h5 h6 p div address pre form blockquote center dir fieldset header footer article section hgroup aside nav figure"),S=c("block_elements","hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup",T),o((e.special||"script noscript style textarea").split(" "),function(e){A[e]=new RegExp("</"+e+"[^>]*>","gi")}),e.valid_elements?f(e.valid_elements):(o(x,function(e,t){v[t]={attributes:e.attributes,attributesOrder:e.attributesOrder},y[t]=e.children}),"html5"!=e.schema&&o(t("strong/b em/i"),function(e){e=t(e,"/"),v[e[1]].outputName=e[0]}),v.img.attributesDefault=[{name:"alt",value:""}],o(t("ol ul sub sup blockquote span font a table tbody tr strong em b i"),function(e){v[e]&&(v[e].removeEmpty=!0)}),o(t("p h1 h2 h3 h4 h5 h6 th td pre div address caption"),function(e){v[e].paddEmpty=!0}),o(t("span"),function(e){v[e].removeEmptyAttrs=!0})),p(e.custom_elements),m(e.valid_children),d(e.extended_valid_elements),m("+ol[ul|ol],+ul[ul|ol]"),e.invalid_elements&&o(s(e.invalid_elements),function(e){v[e]&&delete v[e]}),h("span")||d("span[!data-mce-type|*]"),g.children=y,g.styles=C,g.getBoolAttrs=function(){return E},g.getBlockElements=function(){return S},g.getTextBlockElements=function(){return T},g.getShortEndedElements=function(){return N},g.getSelfClosingElements=function(){return _},g.getNonEmptyElements=function(){return k},g.getWhiteSpaceElements=function(){return w},g.getSpecialElements=function(){return A},g.isValidChild=function(e,t){var n=y[e];return!(!n||!n[t])},g.isValid=function(e,t){var n,r,i=h(e);if(i){if(!t)return!0;if(i.attributes[t])return!0;if(n=i.attributePatterns)for(r=n.length;r--;)if(n[r].pattern.test(e))return!0}return!1},g.getElementRule=h,g.getCustomElements=function(){return R},g.addValidElements=d,g.setValidElements=f,g.addCustomElements=p,g.addValidChildren=m,g.elements=v}}),r(_,[w,h,p],function(e,t,n){var r=n.each;return function(i,o){function a(){}var s=this;i=i||{},s.schema=o=o||new e,i.fix_self_closing!==!1&&(i.fix_self_closing=!0),r("comment cdata text start end pi doctype".split(" "),function(e){e&&(s[e]=i[e]||a)}),s.parse=function(e){function r(e){var t,n;for(t=f.length;t--&&f[t].name!==e;);if(t>=0){for(n=f.length-1;n>=t;n--)e=f[n],e.valid&&s.end(e.name);f.length=t}}function a(e,t,n,r,o){var a,s,l=/[\s\u0000-\u001F]+/g;if(t=t.toLowerCase(),n=t in C?t:F(n||r||o||""),w&&!v&&0!==t.indexOf("data-")){if(a=k[t],!a&&T){for(s=T.length;s--&&(a=T[s],!a.pattern.test(t)););-1===s&&(a=null)}if(!a)return;if(a.validValues&&!(n in a.validValues))return}if(W[t]&&!i.allow_script_urls){var c=n.replace(l,"");try{if(c=decodeURIComponent(c),V.test(c))return}catch(u){if(c=unescape(c),V.test(c))return}}p.map[t]=n,p.push({name:t,value:n})}var s=this,l,c=0,u,d,f=[],p,m,h,g,v,y,b,C,x,w,_,N,E,S,k,T,R,A,B,L,D,M,H,P,O,I=0,F=t.decode,z,W=n.makeMap("src,href"),V=/(java|vb)script:/i;for(M=new RegExp("<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([^>]+)>)|(?:([A-Za-z0-9\\-\\:\\.]+)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))","g"),H=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g,b=o.getShortEndedElements(),D=i.self_closing_elements||o.getSelfClosingElements(),C=o.getBoolAttrs(),w=i.validate,y=i.remove_internals,z=i.fix_self_closing,P=o.getSpecialElements();l=M.exec(e);){if(c<l.index&&s.text(F(e.substr(c,l.index-c))),u=l[6])u=u.toLowerCase(),":"===u.charAt(0)&&(u=u.substr(1)),r(u);else if(u=l[7]){if(u=u.toLowerCase(),":"===u.charAt(0)&&(u=u.substr(1)),x=u in b,z&&D[u]&&f.length>0&&f[f.length-1].name===u&&r(u),!w||(_=o.getElementRule(u))){if(N=!0,w&&(k=_.attributes,T=_.attributePatterns),(S=l[8])?(v=-1!==S.indexOf("data-mce-type"),v&&y&&(N=!1),p=[],p.map={},S.replace(H,a)):(p=[],p.map={}),w&&!v){if(R=_.attributesRequired,A=_.attributesDefault,B=_.attributesForced,L=_.removeEmptyAttrs,L&&!p.length&&(N=!1),B)for(m=B.length;m--;)E=B[m],g=E.name,O=E.value,"{$uid}"===O&&(O="mce_"+I++),p.map[g]=O,p.push({name:g,value:O});if(A)for(m=A.length;m--;)E=A[m],g=E.name,g in p.map||(O=E.value,"{$uid}"===O&&(O="mce_"+I++),p.map[g]=O,p.push({name:g,value:O}));if(R){for(m=R.length;m--&&!(R[m]in p.map););-1===m&&(N=!1)}p.map["data-mce-bogus"]&&(N=!1)}N&&s.start(u,p,x)}else N=!1;if(d=P[u]){d.lastIndex=c=l.index+l[0].length,(l=d.exec(e))?(N&&(h=e.substr(c,l.index-c)),c=l.index+l[0].length):(h=e.substr(c),c=e.length),N&&(h.length>0&&s.text(h,!0),s.end(u)),M.lastIndex=c;continue}x||(S&&S.indexOf("/")==S.length-1?N&&s.end(u):f.push({name:u,valid:N}))}else(u=l[1])?(">"===u.charAt(0)&&(u=" "+u),i.allow_conditional_comments||"[if"!==u.substr(0,3)||(u=" "+u),s.comment(u)):(u=l[2])?s.cdata(u):(u=l[3])?s.doctype(u):(u=l[4])&&s.pi(u,l[5]);c=l.index+l[0].length}for(c<e.length&&s.text(F(e.substr(c))),m=f.length-1;m>=0;m--)u=f[m],u.valid&&s.end(u.name)}}}),r(N,[x,w,_,p],function(e,t,n,r){var i=r.makeMap,o=r.each,a=r.explode,s=r.extend;return function(r,l){function c(t){var n,r,o,a,s,c,d,f,p,m,h,g,v,y;for(h=i("tr,td,th,tbody,thead,tfoot,table"),m=l.getNonEmptyElements(),g=l.getTextBlockElements(),n=0;n<t.length;n++)if(r=t[n],r.parent&&!r.fixed)if(g[r.name]&&"li"==r.parent.name){for(v=r.next;v&&g[v.name];)v.name="li",v.fixed=!0,r.parent.insert(v,r.parent),v=v.next;r.unwrap(r)}else{for(a=[r],o=r.parent;o&&!l.isValidChild(o.name,r.name)&&!h[o.name];o=o.parent)a.push(o);if(o&&a.length>1){for(a.reverse(),s=c=u.filterNode(a[0].clone()),p=0;p<a.length-1;p++){for(l.isValidChild(c.name,a[p].name)?(d=u.filterNode(a[p].clone()),c.append(d)):d=c,f=a[p].firstChild;f&&f!=a[p+1];)y=f.next,d.append(f),f=y;c=d}s.isEmpty(m)?o.insert(r,a[0],!0):(o.insert(s,a[0],!0),o.insert(r,s)),o=a[0],(o.isEmpty(m)||o.firstChild===o.lastChild&&"br"===o.firstChild.name)&&o.empty().remove()}else if(r.parent){if("li"===r.name){if(v=r.prev,v&&("ul"===v.name||"ul"===v.name)){v.append(r);continue}if(v=r.next,v&&("ul"===v.name||"ul"===v.name)){v.insert(r,v.firstChild,!0);continue}r.wrap(u.filterNode(new e("ul",1)));continue}l.isValidChild(r.parent.name,"div")&&l.isValidChild("div",r.name)?r.wrap(u.filterNode(new e("div",1))):"style"===r.name||"script"===r.name?r.empty().remove():r.unwrap()}}}var u=this,d={},f=[],p={},m={};r=r||{},r.validate="validate"in r?r.validate:!0,r.root_name=r.root_name||"body",u.schema=l=l||new t,u.filterNode=function(e){var t,n,r;n in d&&(r=p[n],r?r.push(e):p[n]=[e]),t=f.length;for(;t--;)n=f[t].name,n in e.attributes.map&&(r=m[n],r?r.push(e):m[n]=[e]);return e},u.addNodeFilter=function(e,t){o(a(e),function(e){var n=d[e];n||(d[e]=n=[]),n.push(t)})},u.addAttributeFilter=function(e,t){o(a(e),function(e){var n;for(n=0;n<f.length;n++)if(f[n].name===e)return void f[n].callbacks.push(t);f.push({name:e,callbacks:[t]})})},u.parse=function(t,o){function a(){function e(e){e&&(t=e.firstChild,t&&3==t.type&&(t.value=t.value.replace(R,"")),t=e.lastChild,t&&3==t.type&&(t.value=t.value.replace(L,"")))}var t=y.firstChild,n,i;if(l.isValidChild(y.name,I.toLowerCase())){for(;t;)n=t.next,3==t.type||1==t.type&&"p"!==t.name&&!T[t.name]&&!t.attr("data-mce-type")?i?i.append(t):(i=u(I,1),i.attr(r.forced_root_block_attrs),y.insert(i,t),i.append(t)):(e(i),i=null),t=n;e(i)}}function u(t,n){var r=new e(t,n),i;return t in d&&(i=p[t],i?i.push(r):p[t]=[r]),r}function h(e){var t,n,r;for(t=e.prev;t&&3===t.type;)n=t.value.replace(L,""),n.length>0?(t.value=n,t=t.prev):(r=t.prev,t.remove(),t=r)}function g(e){var t,n={};for(t in e)"li"!==t&&"p"!=t&&(n[t]=e[t]);return n}var v,y,b,C,x,w,_,N,E,S,k,T,R,A=[],B,L,D,M,H,P,O,I;if(o=o||{},p={},m={},T=s(i("script,style,head,html,body,title,meta,param"),l.getBlockElements()),O=l.getNonEmptyElements(),P=l.children,k=r.validate,I="forced_root_block"in o?o.forced_root_block:r.forced_root_block,H=l.getWhiteSpaceElements(),R=/^[ \t\r\n]+/,L=/[ \t\r\n]+$/,D=/[ \t\r\n]+/g,M=/^[ \t\r\n]+$/,v=new n({validate:k,allow_script_urls:r.allow_script_urls,allow_conditional_comments:r.allow_conditional_comments,self_closing_elements:g(l.getSelfClosingElements()),cdata:function(e){b.append(u("#cdata",4)).value=e},text:function(e,t){var n;B||(e=e.replace(D," "),b.lastChild&&T[b.lastChild.name]&&(e=e.replace(R,""))),0!==e.length&&(n=u("#text",3),n.raw=!!t,b.append(n).value=e)},comment:function(e){b.append(u("#comment",8)).value=e},pi:function(e,t){b.append(u(e,7)).value=t,h(b)},doctype:function(e){var t;t=b.append(u("#doctype",10)),t.value=e,h(b)},start:function(e,t,n){var r,i,o,a,s;if(o=k?l.getElementRule(e):{}){for(r=u(o.outputName||e,1),r.attributes=t,r.shortEnded=n,b.append(r),s=P[b.name],s&&P[r.name]&&!s[r.name]&&A.push(r),i=f.length;i--;)a=f[i].name,a in t.map&&(E=m[a],E?E.push(r):m[a]=[r]);T[e]&&h(r),n||(b=r),!B&&H[e]&&(B=!0)}},end:function(t){var n,r,i,o,a;if(r=k?l.getElementRule(t):{}){if(T[t]&&!B){if(n=b.firstChild,n&&3===n.type)if(i=n.value.replace(R,""),i.length>0)n.value=i,n=n.next;else for(o=n.next,n.remove(),n=o;n&&3===n.type;)i=n.value,o=n.next,(0===i.length||M.test(i))&&(n.remove(),n=o),n=o;if(n=b.lastChild,n&&3===n.type)if(i=n.value.replace(L,""),i.length>0)n.value=i,n=n.prev;else for(o=n.prev,n.remove(),n=o;n&&3===n.type;)i=n.value,o=n.prev,(0===i.length||M.test(i))&&(n.remove(),n=o),n=o}if(B&&H[t]&&(B=!1),(r.removeEmpty||r.paddEmpty)&&b.isEmpty(O))if(r.paddEmpty)b.empty().append(new e("#text","3")).value="\xa0";else if(!b.attributes.map.name&&!b.attributes.map.id)return a=b.parent,b.empty().remove(),void(b=a);b=b.parent}}},l),y=b=new e(o.context||r.root_name,11),v.parse(t),k&&A.length&&(o.context?o.invalid=!0:c(A)),I&&("body"==y.name||o.isRootContent)&&a(),!o.invalid){for(S in p){for(E=d[S],C=p[S],_=C.length;_--;)C[_].parent||C.splice(_,1);for(x=0,w=E.length;w>x;x++)E[x](C,S,o)}for(x=0,w=f.length;w>x;x++)if(E=f[x],E.name in m){for(C=m[E.name],_=C.length;_--;)C[_].parent||C.splice(_,1);for(_=0,N=E.callbacks.length;N>_;_++)E.callbacks[_](C,E.name,o)}}return y},r.remove_trailing_brs&&u.addNodeFilter("br",function(t){var n,r=t.length,i,o=s({},l.getBlockElements()),a=l.getNonEmptyElements(),c,u,d,f,p,m;for(o.body=1,n=0;r>n;n++)if(i=t[n],c=i.parent,o[i.parent.name]&&i===c.lastChild){for(d=i.prev;d;){if(f=d.name,"span"!==f||"bookmark"!==d.attr("data-mce-type")){if("br"!==f)break;if("br"===f){i=null;break}}d=d.prev}i&&(i.remove(),c.isEmpty(a)&&(p=l.getElementRule(c.name),p&&(p.removeEmpty?c.remove():p.paddEmpty&&(c.empty().append(new e("#text",3)).value="\xa0"))))}else{for(u=i;c&&c.firstChild===u&&c.lastChild===u&&(u=c,!o[c.name]);)c=c.parent;u===c&&(m=new e("#text",3),m.value="\xa0",i.replace(m))}}),r.allow_html_in_named_anchor||u.addAttributeFilter("id,name",function(e){for(var t=e.length,n,r,i,o;t--;)if(o=e[t],"a"===o.name&&o.firstChild&&!o.attr("href")){i=o.parent,n=o.lastChild;do r=n.prev,i.insert(n,o),n=r;while(n)}})}}),r(E,[h,p],function(e,t){var n=t.makeMap;return function(t){var r=[],i,o,a,s,l;return t=t||{},i=t.indent,o=n(t.indent_before||""),a=n(t.indent_after||""),s=e.getEncodeFunc(t.entity_encoding||"raw",t.entities),l="html"==t.element_format,{start:function(e,t,n){var c,u,d,f;if(i&&o[e]&&r.length>0&&(f=r[r.length-1],f.length>0&&"\n"!==f&&r.push("\n")),r.push("<",e),t)for(c=0,u=t.length;u>c;c++)d=t[c],r.push(" ",d.name,'="',s(d.value,!0),'"');r[r.length]=!n||l?">":" />",n&&i&&a[e]&&r.length>0&&(f=r[r.length-1],f.length>0&&"\n"!==f&&r.push("\n"))},end:function(e){var t;r.push("</",e,">"),i&&a[e]&&r.length>0&&(t=r[r.length-1],t.length>0&&"\n"!==t&&r.push("\n"))},text:function(e,t){e.length>0&&(r[r.length]=t?e:s(e))},cdata:function(e){r.push("<![CDATA[",e,"]]>")},comment:function(e){r.push("<!--",e,"-->")},pi:function(e,t){t?r.push("<?",e," ",t,"?>"):r.push("<?",e,"?>"),i&&r.push("\n")},doctype:function(e){r.push("<!DOCTYPE",e,">",i?"\n":"")},reset:function(){r.length=0},getContent:function(){return r.join("").replace(/\n$/,"")}}}}),r(S,[E,w],function(e,t){return function(n,r){var i=this,o=new e(n);n=n||{},n.validate="validate"in n?n.validate:!0,i.schema=r=r||new t,i.writer=o,i.serialize=function(e){function t(e){var n=i[e.type],s,l,c,u,d,f,p,m,h;if(n)n(e);else{if(s=e.name,l=e.shortEnded,c=e.attributes,a&&c&&c.length>1){for(f=[],f.map={},h=r.getElementRule(e.name),p=0,m=h.attributesOrder.length;m>p;p++)u=h.attributesOrder[p],u in c.map&&(d=c.map[u],f.map[u]=d,f.push({name:u,value:d}));for(p=0,m=c.length;m>p;p++)u=c[p].name,u in f.map||(d=c.map[u],f.map[u]=d,f.push({name:u,value:d}));c=f}if(o.start(e.name,c,l),!l){if(e=e.firstChild)do t(e);while(e=e.next);o.end(s)}}}var i,a;return a=n.validate,i={3:function(e){o.text(e.value,e.raw)},8:function(e){o.comment(e.value)},7:function(e){o.pi(e.name,e.value)},10:function(e){o.doctype(e.value)},4:function(e){o.cdata(e.value)},11:function(e){if(e=e.firstChild)do t(e);while(e=e.next)}},o.reset(),1!=e.type||n.inner?i[11](e):t(e),o.getContent()}}}),r(k,[y,N,h,S,x,w,g,p],function(e,t,n,r,i,o,a,s){var l=s.each,c=s.trim,u=e.DOM;return function(e,i){var s,d,f;return i&&(s=i.dom,d=i.schema),s=s||u,d=d||new o(e),e.entity_encoding=e.entity_encoding||"named",e.remove_trailing_brs="remove_trailing_brs"in e?e.remove_trailing_brs:!0,f=new t(e,d),f.addAttributeFilter("data-mce-tabindex",function(e,t){for(var n=e.length,r;n--;)r=e[n],r.attr("tabindex",r.attributes.map["data-mce-tabindex"]),r.attr(t,null)}),f.addAttributeFilter("src,href,style",function(t,n){for(var r=t.length,i,o,a="data-mce-"+n,l=e.url_converter,c=e.url_converter_scope,u;r--;)i=t[r],o=i.attributes.map[a],o!==u?(i.attr(n,o.length>0?o:null),i.attr(a,null)):(o=i.attributes.map[n],"style"===n?o=s.serializeStyle(s.parseStyle(o),i.name):l&&(o=l.call(c,o,n,i.name)),i.attr(n,o.length>0?o:null))}),f.addAttributeFilter("class",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.attr("class").replace(/(?:^|\s)mce-item-\w+(?!\S)/g,""),n.attr("class",r.length>0?r:null)}),f.addAttributeFilter("data-mce-type",function(e,t,n){for(var r=e.length,i;r--;)i=e[r],"bookmark"!==i.attributes.map["data-mce-type"]||n.cleanup||i.remove()}),f.addAttributeFilter("data-mce-expando",function(e,t){for(var n=e.length;n--;)e[n].attr(t,null)}),f.addNodeFilter("noscript",function(e){for(var t=e.length,r;t--;)r=e[t].firstChild,r&&(r.value=n.decode(r.value))}),f.addNodeFilter("script,style",function(e,t){function n(e){return e.replace(/(<!--\[CDATA\[|\]\]-->)/g,"\n").replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*((<!--)?(\s*\/\/)?\s*<!\[CDATA\[|(<!--\s*)?\/\*\s*<!\[CDATA\[\s*\*\/|(\/\/)?\s*<!--|\/\*\s*<!--\s*\*\/)\s*[\r\n]*/gi,"").replace(/\s*(\/\*\s*\]\]>\s*\*\/(-->)?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g,"")}for(var r=e.length,i,o;r--;)if(i=e[r],o=i.firstChild?i.firstChild.value:"","script"===t){var a=(i.attr("type")||"text/javascript").replace(/^mce\-/,"");i.attr("type","text/javascript"===a?null:a),o.length>0&&(i.firstChild.value="// <![CDATA[\n"+n(o)+"\n// ]]>")}else o.length>0&&(i.firstChild.value="<!--\n"+n(o)+"\n-->")}),f.addNodeFilter("#comment",function(e){for(var t=e.length,n;t--;)n=e[t],0===n.value.indexOf("[CDATA[")?(n.name="#cdata",n.type=4,n.value=n.value.replace(/^\[CDATA\[|\]\]$/g,"")):0===n.value.indexOf("mce:protected ")&&(n.name="#text",n.type=3,n.raw=!0,n.value=unescape(n.value).substr(14))}),f.addNodeFilter("xml:namespace,input",function(e,t){for(var n=e.length,r;n--;)r=e[n],7===r.type?r.remove():1===r.type&&("input"!==t||"type"in r.attributes.map||r.attr("type","text"))}),e.fix_list_elements&&f.addNodeFilter("ul,ol",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.parent,("ul"===r.name||"ol"===r.name)&&n.prev&&"li"===n.prev.name&&n.prev.append(n)}),f.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style,data-mce-selected",function(e,t){for(var n=e.length;n--;)e[n].attr(t,null)}),{schema:d,addNodeFilter:f.addNodeFilter,addAttributeFilter:f.addAttributeFilter,serialize:function(t,n){var i=this,o,u,p,m,h;return a.ie&&s.select("script,style,select,map").length>0?(h=t.innerHTML,t=t.cloneNode(!1),s.setHTML(t,h)):t=t.cloneNode(!0),o=t.ownerDocument.implementation,o.createHTMLDocument&&(u=o.createHTMLDocument(""),l("BODY"==t.nodeName?t.childNodes:[t],function(e){u.body.appendChild(u.importNode(e,!0))}),t="BODY"!=t.nodeName?u.body.firstChild:u.body,p=s.doc,s.doc=u),n=n||{},n.format=n.format||"html",n.selection&&(n.forced_root_block=""),n.no_events||(n.node=t,i.onPreProcess(n)),m=new r(e,d),n.content=m.serialize(f.parse(c(n.getInner?t.innerHTML:s.getOuterHTML(t)),n)),n.cleanup||(n.content=n.content.replace(/\uFEFF/g,"")),n.no_events||i.onPostProcess(n),p&&(s.doc=p),n.node=null,n.content},addRules:function(e){d.addValidElements(e)},setRules:function(e){d.setValidElements(e)},onPreProcess:function(e){i&&i.fire("PreProcess",e)},onPostProcess:function(e){i&&i.fire("PostProcess",e)}}}}),r(T,[],function(){function e(e){function t(t,n){var r,i=0,o,a,s,l,c,u,d=-1,f;if(r=t.duplicate(),r.collapse(n),f=r.parentElement(),f.ownerDocument===e.dom.doc){for(;"false"===f.contentEditable;)f=f.parentNode;if(!f.hasChildNodes())return{node:f,inside:1};for(s=f.children,o=s.length-1;o>=i;)if(u=Math.floor((i+o)/2),l=s[u],r.moveToElementText(l),d=r.compareEndPoints(n?"StartToStart":"EndToEnd",t),d>0)o=u-1;else{if(!(0>d))return{node:l};i=u+1}if(0>d)for(l?r.collapse(!1):(r.moveToElementText(f),r.collapse(!0),l=f,a=!0),c=0;0!==r.compareEndPoints(n?"StartToStart":"StartToEnd",t)&&0!==r.move("character",1)&&f==r.parentElement();)c++;else for(r.collapse(!0),c=0;0!==r.compareEndPoints(n?"StartToStart":"StartToEnd",t)&&0!==r.move("character",-1)&&f==r.parentElement();)c++;return{node:l,position:d,offset:c,inside:a}}}function n(){function n(e){var n=t(o,e),r,i,s=0,l,c,u;if(r=n.node,i=n.offset,n.inside&&!r.hasChildNodes())return void a[e?"setStart":"setEnd"](r,0);if(i===c)return void a[e?"setStartBefore":"setEndAfter"](r);
-if(n.position<0){if(l=n.inside?r.firstChild:r.nextSibling,!l)return void a[e?"setStartAfter":"setEndAfter"](r);if(!i)return void(3==l.nodeType?a[e?"setStart":"setEnd"](l,0):a[e?"setStartBefore":"setEndBefore"](l));for(;l;){if(u=l.nodeValue,s+=u.length,s>=i){r=l,s-=i,s=u.length-s;break}l=l.nextSibling}}else{if(l=r.previousSibling,!l)return a[e?"setStartBefore":"setEndBefore"](r);if(!i)return void(3==r.nodeType?a[e?"setStart":"setEnd"](l,r.nodeValue.length):a[e?"setStartAfter":"setEndAfter"](l));for(;l;){if(s+=l.nodeValue.length,s>=i){r=l,s-=i;break}l=l.previousSibling}}a[e?"setStart":"setEnd"](r,s)}var o=e.getRng(),a=i.createRng(),s,l,c,u,d;if(s=o.item?o.item(0):o.parentElement(),s.ownerDocument!=i.doc)return a;if(l=e.isCollapsed(),o.item)return a.setStart(s.parentNode,i.nodeIndex(s)),a.setEnd(a.startContainer,a.startOffset+1),a;try{n(!0),l||n()}catch(f){if(-2147024809!=f.number)throw f;d=r.getBookmark(2),c=o.duplicate(),c.collapse(!0),s=c.parentElement(),l||(c=o.duplicate(),c.collapse(!1),u=c.parentElement(),u.innerHTML=u.innerHTML),s.innerHTML=s.innerHTML,r.moveToBookmark(d),o=e.getRng(),n(!0),l||n()}return a}var r=this,i=e.dom,o=!1;this.getBookmark=function(n){function r(e){var t,n,r,o,a=[];for(t=e.parentNode,n=i.getRoot().parentNode;t!=n&&9!==t.nodeType;){for(r=t.children,o=r.length;o--;)if(e===r[o]){a.push(o);break}e=t,t=t.parentNode}return a}function o(e){var n;return n=t(a,e),n?{position:n.position,offset:n.offset,indexes:r(n.node),inside:n.inside}:void 0}var a=e.getRng(),s={};return 2===n&&(a.item?s.start={ctrl:!0,indexes:r(a.item(0))}:(s.start=o(!0),e.isCollapsed()||(s.end=o()))),s},this.moveToBookmark=function(e){function t(e){var t,n,r,o;for(t=i.getRoot(),n=e.length-1;n>=0;n--)o=t.children,r=e[n],r<=o.length-1&&(t=o[r]);return t}function n(n){var i=e[n?"start":"end"],a,s,l,c;i&&(a=i.position>0,s=o.createTextRange(),s.moveToElementText(t(i.indexes)),c=i.offset,c!==l?(s.collapse(i.inside||a),s.moveStart("character",a?-c:c)):s.collapse(n),r.setEndPoint(n?"StartToStart":"EndToStart",s),n&&r.collapse(!0))}var r,o=i.doc.body;e.start&&(e.start.ctrl?(r=o.createControlRange(),r.addElement(t(e.start.indexes)),r.select()):(r=o.createTextRange(),n(!0),n(),r.select()))},this.addRange=function(t){function n(e){var t,n,a,d,m;a=i.create("a"),t=e?s:c,n=e?l:u,d=r.duplicate(),(t==f||t==f.documentElement)&&(t=p,n=0),3==t.nodeType?(t.parentNode.insertBefore(a,t),d.moveToElementText(a),d.moveStart("character",n),i.remove(a),r.setEndPoint(e?"StartToStart":"EndToEnd",d)):(m=t.childNodes,m.length?(n>=m.length?i.insertAfter(a,m[m.length-1]):t.insertBefore(a,m[n]),d.moveToElementText(a)):t.canHaveHTML&&(t.innerHTML="<span>&#xFEFF;</span>",a=t.firstChild,d.moveToElementText(a),d.collapse(o)),r.setEndPoint(e?"StartToStart":"EndToEnd",d),i.remove(a))}var r,a,s,l,c,u,d,f=e.dom.doc,p=f.body,m,h;if(s=t.startContainer,l=t.startOffset,c=t.endContainer,u=t.endOffset,r=p.createTextRange(),s==c&&1==s.nodeType){if(l==u&&!s.hasChildNodes()){if(s.canHaveHTML)return d=s.previousSibling,d&&!d.hasChildNodes()&&i.isBlock(d)?d.innerHTML="&#xFEFF;":d=null,s.innerHTML="<span>&#xFEFF;</span><span>&#xFEFF;</span>",r.moveToElementText(s.lastChild),r.select(),i.doc.selection.clear(),s.innerHTML="",void(d&&(d.innerHTML=""));l=i.nodeIndex(s),s=s.parentNode}if(l==u-1)try{if(h=s.childNodes[l],a=p.createControlRange(),a.addElement(h),a.select(),m=e.getRng(),m.item&&h===m.item(0))return}catch(g){}}n(!0),n(),r.select()},this.getRangeAt=n}return e}),r(R,[g],function(e){return{BACKSPACE:8,DELETE:46,DOWN:40,ENTER:13,LEFT:37,RIGHT:39,SPACEBAR:32,TAB:9,UP:38,modifierPressed:function(e){return e.shiftKey||e.ctrlKey||e.altKey},metaKeyPressed:function(t){return(e.mac?t.metaKey:t.ctrlKey)&&!t.altKey}}}),r(A,[R,p,g],function(e,t,n){return function(r,i){function o(e){var t=i.settings.object_resizing;return t===!1||n.iOS?!1:("string"!=typeof t&&(t="table,img,div"),"false"===e.getAttribute("data-mce-resize")?!1:i.dom.is(e,t))}function a(t){var n,r;n=t.screenX-k,r=t.screenY-T,H=n*E[2]+B,P=r*E[3]+L,H=5>H?5:H,P=5>P?5:P,(e.modifierPressed(t)||"IMG"==w.nodeName&&E[2]*E[3]!==0)&&(H=Math.round(P/D),P=Math.round(H*D)),C.setStyles(_,{width:H,height:P}),E[2]<0&&_.clientWidth<=H&&C.setStyle(_,"left",R+(B-H)),E[3]<0&&_.clientHeight<=P&&C.setStyle(_,"top",A+(L-P)),M||(i.fire("ObjectResizeStart",{target:w,width:B,height:L}),M=!0)}function s(){function e(e,t){t&&(w.style[e]||!i.schema.isValid(w.nodeName.toLowerCase(),e)?C.setStyle(w,e,t):C.setAttrib(w,e,t))}M=!1,e("width",H),e("height",P),C.unbind(O,"mousemove",a),C.unbind(O,"mouseup",s),I!=O&&(C.unbind(I,"mousemove",a),C.unbind(I,"mouseup",s)),C.remove(_),F&&"TABLE"!=w.nodeName||l(w),i.fire("ObjectResized",{target:w,width:H,height:P}),i.nodeChanged()}function l(e,t,r){var l,u,d,f,p,m=i.getBody();g(),l=C.getPos(e,m),R=l.x,A=l.y,p=e.getBoundingClientRect(),u=p.width||p.right-p.left,d=p.height||p.bottom-p.top,w!=e&&(h(),w=e,H=P=0),f=i.fire("ObjectSelected",{target:e}),o(e)&&!f.isDefaultPrevented()?x(N,function(e,o){function l(t){k=t.screenX,T=t.screenY,B=w.clientWidth,L=w.clientHeight,D=L/B,E=e,_=w.cloneNode(!0),C.addClass(_,"mce-clonedresizable"),_.contentEditable=!1,_.unSelectabe=!0,C.setStyles(_,{left:R,top:A,margin:0}),_.removeAttribute("data-mce-selected"),i.getBody().appendChild(_),C.bind(O,"mousemove",a),C.bind(O,"mouseup",s),I!=O&&(C.bind(I,"mousemove",a),C.bind(I,"mouseup",s))}var c,f;return t?void(o==t&&l(r)):(c=C.get("mceResizeHandle"+o),c?C.show(c):(f=i.getBody(),c=C.add(f,"div",{id:"mceResizeHandle"+o,"data-mce-bogus":!0,"class":"mce-resizehandle",unselectable:!0,style:"cursor:"+o+"-resize; margin:0; padding:0"}),n.ie&&(c.contentEditable=!1)),e.elm||(C.bind(c,"mousedown",function(e){e.stopImmediatePropagation(),e.preventDefault(),l(e)}),e.elm=c),void C.setStyles(c,{left:u*e[0]+R-c.offsetWidth/2,top:d*e[1]+A-c.offsetHeight/2}))}):c(),w.setAttribute("data-mce-selected","1")}function c(){var e,t;g(),w&&w.removeAttribute("data-mce-selected");for(e in N)t=C.get("mceResizeHandle"+e),t&&(C.unbind(t),C.remove(t))}function u(e){function t(e,t){if(e)do if(e===t)return!0;while(e=e.parentNode)}var n;return x(C.select("img[data-mce-selected],hr[data-mce-selected]"),function(e){e.removeAttribute("data-mce-selected")}),n="mousedown"==e.type?e.target:r.getNode(),n=C.getParent(n,F?"table":"table,img,hr"),t(n,i.getBody())&&(v(),t(r.getStart(),n)&&t(r.getEnd(),n)&&(!F||n!=r.getStart()&&"IMG"!==r.getStart().nodeName))?void l(n):void c()}function d(e,t,n){e&&e.attachEvent&&e.attachEvent("on"+t,n)}function f(e,t,n){e&&e.detachEvent&&e.detachEvent("on"+t,n)}function p(e){var t=e.srcElement,n,r,o,a,s,c,u;n=t.getBoundingClientRect(),c=S.clientX-n.left,u=S.clientY-n.top;for(r in N)if(o=N[r],a=t.offsetWidth*o[0],s=t.offsetHeight*o[1],Math.abs(a-c)<8&&Math.abs(s-u)<8){E=o;break}M=!0,i.getDoc().selection.empty(),l(t,r,S)}function m(e){var t=e.srcElement;if(t!=w){if(h(),0===t.id.indexOf("mceResizeHandle"))return void(e.returnValue=!1);("IMG"==t.nodeName||"TABLE"==t.nodeName)&&(c(),w=t,d(t,"resizestart",p))}}function h(){f(w,"resizestart",p)}function g(){for(var e in N){var t=N[e];t.elm&&(C.unbind(t.elm),delete t.elm)}}function v(){try{i.getDoc().execCommand("enableObjectResizing",!1,!1)}catch(e){}}function y(e){var t;if(F){t=O.body.createControlRange();try{return t.addElement(e),t.select(),!0}catch(n){}}}function b(){w=_=null,F&&(h(),f(i.getBody(),"controlselect",m))}var C=i.dom,x=t.each,w,_,N,E,S,k,T,R,A,B,L,D,M,H,P,O=i.getDoc(),I=document,F=n.ie&&n.ie<11;N={n:[.5,0,0,-1],e:[1,.5,1,0],s:[.5,1,0,1],w:[0,.5,-1,0],nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]};var z=".mce-content-body";return i.contentStyles.push(z+" div.mce-resizehandle {position: absolute;border: 1px solid black;background: #FFF;width: 5px;height: 5px;z-index: 10000}"+z+" .mce-resizehandle:hover {background: #000}"+z+" img[data-mce-selected], hr[data-mce-selected] {outline: 1px solid black;resize: none}"+z+" .mce-clonedresizable {position: absolute;"+(n.gecko?"":"outline: 1px dashed black;")+"opacity: .5;filter: alpha(opacity=50);z-index: 10000}"),i.on("init",function(){F?(i.on("ObjectResized",function(e){"TABLE"!=e.target.nodeName&&(c(),y(e.target))}),d(i.getBody(),"controlselect",m),i.on("mousedown",function(e){S=e})):(v(),n.ie>=11&&(i.on("mouseup",function(e){var t=e.target.nodeName;/^(TABLE|IMG|HR)$/.test(t)&&(i.selection.select(e.target,"TABLE"==t),i.nodeChanged())}),i.dom.bind(i.getBody(),"mscontrolselect",function(e){/^(TABLE|IMG|HR)$/.test(e.target.nodeName)&&(e.preventDefault(),"IMG"==e.target.tagName&&window.setTimeout(function(){i.selection.select(e.target)},0))}))),i.on("nodechange mousedown mouseup ResizeEditor",u),i.on("keydown keyup",function(e){w&&"TABLE"==w.nodeName&&u(e)})}),i.on("remove",g),{isResizable:o,showResizeRect:l,hideResizeRect:c,updateResizeRect:u,controlSelect:y,destroy:b}}}),r(B,[p,f],function(e,t){function n(e){this.walk=function(t,n){function i(e){var t;return t=e[0],3===t.nodeType&&t===l&&c>=t.nodeValue.length&&e.splice(0,1),t=e[e.length-1],0===d&&e.length>0&&t===u&&3===t.nodeType&&e.splice(e.length-1,1),e}function o(e,t,n){for(var r=[];e&&e!=n;e=e[t])r.push(e);return r}function a(e,t){do{if(e.parentNode==t)return e;e=e.parentNode}while(e)}function s(e,t,r){var a=r?"nextSibling":"previousSibling";for(h=e,g=h.parentNode;h&&h!=t;h=g)g=h.parentNode,v=o(h==e?h:h[a],a),v.length&&(r||v.reverse(),n(i(v)))}var l=t.startContainer,c=t.startOffset,u=t.endContainer,d=t.endOffset,f,p,m,h,g,v,y;if(y=e.select("td.mce-item-selected,th.mce-item-selected"),y.length>0)return void r(y,function(e){n([e])});if(1==l.nodeType&&l.hasChildNodes()&&(l=l.childNodes[c]),1==u.nodeType&&u.hasChildNodes()&&(u=u.childNodes[Math.min(d-1,u.childNodes.length-1)]),l==u)return n(i([l]));for(f=e.findCommonAncestor(l,u),h=l;h;h=h.parentNode){if(h===u)return s(l,f,!0);if(h===f)break}for(h=u;h;h=h.parentNode){if(h===l)return s(u,f);if(h===f)break}p=a(l,f)||l,m=a(u,f)||u,s(l,p,!0),v=o(p==l?p:p.nextSibling,"nextSibling",m==u?m.nextSibling:m),v.length&&n(i(v)),s(u,m)},this.split=function(e){function t(e,t){return e.splitText(t)}var n=e.startContainer,r=e.startOffset,i=e.endContainer,o=e.endOffset;return n==i&&3==n.nodeType?r>0&&r<n.nodeValue.length&&(i=t(n,r),n=i.previousSibling,o>r?(o-=r,n=i=t(i,o).previousSibling,o=i.nodeValue.length,r=0):o=0):(3==n.nodeType&&r>0&&r<n.nodeValue.length&&(n=t(n,r),r=0),3==i.nodeType&&o>0&&o<i.nodeValue.length&&(i=t(i,o).previousSibling,o=i.nodeValue.length)),{startContainer:n,startOffset:r,endContainer:i,endOffset:o}},this.normalize=function(n){function r(r){function a(n,r){for(var i=new t(n,e.getParent(n.parentNode,e.isBlock)||f);n=i[r?"prev":"next"]();)if("BR"===n.nodeName)return!0}function s(e,t){return e.previousSibling&&e.previousSibling.nodeName==t}function l(n,r){var a,s,l;if(r=r||c,l=e.getParent(r.parentNode,e.isBlock)||f,n&&"BR"==r.nodeName&&g&&e.isEmpty(l))return c=r.parentNode,u=e.nodeIndex(r),void(i=!0);for(a=new t(r,l);p=a[n?"prev":"next"]();){if(3===p.nodeType&&p.nodeValue.length>0)return c=p,u=n?p.nodeValue.length:0,void(i=!0);if(e.isBlock(p)||m[p.nodeName.toLowerCase()])return;s=p}o&&s&&(c=s,i=!0,u=0)}var c,u,d,f=e.getRoot(),p,m,h,g;if(c=n[(r?"start":"end")+"Container"],u=n[(r?"start":"end")+"Offset"],g=1==c.nodeType&&u===c.childNodes.length,m=e.schema.getNonEmptyElements(),h=r,1==c.nodeType&&u>c.childNodes.length-1&&(h=!1),9===c.nodeType&&(c=e.getRoot(),u=0),c===f){if(h&&(p=c.childNodes[u>0?u-1:0],p&&(m[p.nodeName]||"TABLE"==p.nodeName)))return;if(c.hasChildNodes()&&(u=Math.min(!h&&u>0?u-1:u,c.childNodes.length-1),c=c.childNodes[u],u=0,c.hasChildNodes()&&!/TABLE/.test(c.nodeName))){p=c,d=new t(c,f);do{if(3===p.nodeType&&p.nodeValue.length>0){u=h?0:p.nodeValue.length,c=p,i=!0;break}if(m[p.nodeName.toLowerCase()]){u=e.nodeIndex(p),c=p.parentNode,"IMG"!=p.nodeName||h||u++,i=!0;break}}while(p=h?d.next():d.prev())}}o&&(3===c.nodeType&&0===u&&l(!0),1===c.nodeType&&(p=c.childNodes[u],p||(p=c.childNodes[u-1]),!p||"BR"!==p.nodeName||s(p,"A")||a(p)||a(p,!0)||l(!0,p))),h&&!o&&3===c.nodeType&&u===c.nodeValue.length&&l(!1),i&&n["set"+(r?"Start":"End")](c,u)}var i,o;return o=n.collapsed,r(!0),o||r(),i&&o&&n.collapse(!0),i}}var r=e.each;return n.compareRanges=function(e,t){if(e&&t){if(!e.item&&!e.duplicate)return e.startContainer==t.startContainer&&e.startOffset==t.startOffset;if(e.item&&t.item&&e.item(0)===t.item(0))return!0;if(e.isEqual&&t.isEqual&&t.isEqual(e))return!0}return!1},n}),r(L,[f,T,A,B,g,p],function(e,n,r,i,o,a){function s(e,t,i,o){var a=this;a.dom=e,a.win=t,a.serializer=i,a.editor=o,a.controlSelection=new r(a,o),a.win.getSelection||(a.tridentSel=new n(a))}var l=a.each,c=a.grep,u=a.trim,d=o.ie,f=o.opera;return s.prototype={setCursorLocation:function(e,t){var n=this,r=n.dom.createRng();e?(r.setStart(e,t),r.setEnd(e,t),n.setRng(r),n.collapse(!1)):(n._moveEndPoint(r,n.editor.getBody(),!0),n.setRng(r))},getContent:function(e){var n=this,r=n.getRng(),i=n.dom.create("body"),o=n.getSel(),a,s,l;return e=e||{},a=s="",e.get=!0,e.format=e.format||"html",e.selection=!0,n.editor.fire("BeforeGetContent",e),"text"==e.format?n.isCollapsed()?"":r.text||(o.toString?o.toString():""):(r.cloneContents?(l=r.cloneContents(),l&&i.appendChild(l)):r.item!==t||r.htmlText!==t?(i.innerHTML="<br>"+(r.item?r.item(0).outerHTML:r.htmlText),i.removeChild(i.firstChild)):i.innerHTML=r.toString(),/^\s/.test(i.innerHTML)&&(a=" "),/\s+$/.test(i.innerHTML)&&(s=" "),e.getInner=!0,e.content=n.isCollapsed()?"":a+n.serializer.serialize(i,e)+s,n.editor.fire("GetContent",e),e.content)},setContent:function(e,t){var n=this,r=n.getRng(),i,o=n.win.document,a,s;if(t=t||{format:"html"},t.set=!0,t.selection=!0,e=t.content=e,t.no_events||n.editor.fire("BeforeSetContent",t),e=t.content,r.insertNode){e+='<span id="__caret">_</span>',r.startContainer==o&&r.endContainer==o?o.body.innerHTML=e:(r.deleteContents(),0===o.body.childNodes.length?o.body.innerHTML=e:r.createContextualFragment?r.insertNode(r.createContextualFragment(e)):(a=o.createDocumentFragment(),s=o.createElement("div"),a.appendChild(s),s.outerHTML=e,r.insertNode(a))),i=n.dom.get("__caret"),r=o.createRange(),r.setStartBefore(i),r.setEndBefore(i),n.setRng(r),n.dom.remove("__caret");try{n.setRng(r)}catch(l){}}else r.item&&(o.execCommand("Delete",!1,null),r=n.getRng()),/^\s+/.test(e)?(r.pasteHTML('<span id="__mce_tmp">_</span>'+e),n.dom.remove("__mce_tmp")):r.pasteHTML(e);t.no_events||n.editor.fire("SetContent",t)},getStart:function(){var e=this,t=e.getRng(),n,r,i,o;if(t.duplicate||t.item){if(t.item)return t.item(0);for(i=t.duplicate(),i.collapse(1),n=i.parentElement(),n.ownerDocument!==e.dom.doc&&(n=e.dom.getRoot()),r=o=t.parentElement();o=o.parentNode;)if(o==n){n=r;break}return n}return n=t.startContainer,1==n.nodeType&&n.hasChildNodes()&&(n=n.childNodes[Math.min(n.childNodes.length-1,t.startOffset)]),n&&3==n.nodeType?n.parentNode:n},getEnd:function(){var e=this,t=e.getRng(),n,r;return t.duplicate||t.item?t.item?t.item(0):(t=t.duplicate(),t.collapse(0),n=t.parentElement(),n.ownerDocument!==e.dom.doc&&(n=e.dom.getRoot()),n&&"BODY"==n.nodeName?n.lastChild||n:n):(n=t.endContainer,r=t.endOffset,1==n.nodeType&&n.hasChildNodes()&&(n=n.childNodes[r>0?r-1:r]),n&&3==n.nodeType?n.parentNode:n)},getBookmark:function(e,t){function n(e,t){var n=0;return l(a.select(e),function(e,r){e==t&&(n=r)}),n}function r(e){function t(t){var n,r,i,o=t?"start":"end";n=e[o+"Container"],r=e[o+"Offset"],1==n.nodeType&&"TR"==n.nodeName&&(i=n.childNodes,n=i[Math.min(t?r:r-1,i.length-1)],n&&(r=t?0:n.childNodes.length,e["set"+(t?"Start":"End")](n,r)))}return t(!0),t(),e}function i(){function e(e,n){var i=e[n?"startContainer":"endContainer"],a=e[n?"startOffset":"endOffset"],s=[],l,c,u=0;if(3==i.nodeType){if(t)for(l=i.previousSibling;l&&3==l.nodeType;l=l.previousSibling)a+=l.nodeValue.length;s.push(a)}else c=i.childNodes,a>=c.length&&c.length&&(u=1,a=Math.max(0,c.length-1)),s.push(o.dom.nodeIndex(c[a],t)+u);for(;i&&i!=r;i=i.parentNode)s.push(o.dom.nodeIndex(i,t));return s}var n=o.getRng(!0),r=a.getRoot(),i={};return i.start=e(n,!0),o.isCollapsed()||(i.end=e(n)),i}var o=this,a=o.dom,s,c,u,d,f,p,m="&#xFEFF;",h;if(2==e)return p=o.getNode(),f=p?p.nodeName:null,"IMG"==f?{name:f,index:n(f,p)}:o.tridentSel?o.tridentSel.getBookmark(e):i();if(e)return{rng:o.getRng()};if(s=o.getRng(),u=a.uniqueId(),d=o.isCollapsed(),h="overflow:hidden;line-height:0px",s.duplicate||s.item){if(s.item)return p=s.item(0),f=p.nodeName,{name:f,index:n(f,p)};c=s.duplicate();try{s.collapse(),s.pasteHTML('<span data-mce-type="bookmark" id="'+u+'_start" style="'+h+'">'+m+"</span>"),d||(c.collapse(!1),s.moveToElementText(c.parentElement()),0===s.compareEndPoints("StartToEnd",c)&&c.move("character",-1),c.pasteHTML('<span data-mce-type="bookmark" id="'+u+'_end" style="'+h+'">'+m+"</span>"))}catch(g){return null}}else{if(p=o.getNode(),f=p.nodeName,"IMG"==f)return{name:f,index:n(f,p)};c=r(s.cloneRange()),d||(c.collapse(!1),c.insertNode(a.create("span",{"data-mce-type":"bookmark",id:u+"_end",style:h},m))),s=r(s),s.collapse(!0),s.insertNode(a.create("span",{"data-mce-type":"bookmark",id:u+"_start",style:h},m))}return o.moveToBookmark({id:u,keep:1}),{id:u}},moveToBookmark:function(e){function t(t){var n=e[t?"start":"end"],r,i,o,l;if(n){for(o=n[0],i=s,r=n.length-1;r>=1;r--){if(l=i.childNodes,n[r]>l.length-1)return;i=l[n[r]]}3===i.nodeType&&(o=Math.min(n[0],i.nodeValue.length)),1===i.nodeType&&(o=Math.min(n[0],i.childNodes.length)),t?a.setStart(i,o):a.setEnd(i,o)}return!0}function n(t){var n=o.get(e.id+"_"+t),r,i,a,s,d=e.keep;if(n&&(r=n.parentNode,"start"==t?(d?(r=n.firstChild,i=1):i=o.nodeIndex(n),u=p=r,m=h=i):(d?(r=n.firstChild,i=1):i=o.nodeIndex(n),p=r,h=i),!d)){for(s=n.previousSibling,a=n.nextSibling,l(c(n.childNodes),function(e){3==e.nodeType&&(e.nodeValue=e.nodeValue.replace(/\uFEFF/g,""))});n=o.get(e.id+"_"+t);)o.remove(n,1);s&&a&&s.nodeType==a.nodeType&&3==s.nodeType&&!f&&(i=s.nodeValue.length,s.appendData(a.nodeValue),o.remove(a),"start"==t?(u=p=s,m=h=i):(p=s,h=i))}}function r(e){return!o.isBlock(e)||e.innerHTML||d||(e.innerHTML='<br data-mce-bogus="1" />'),e}var i=this,o=i.dom,a,s,u,p,m,h;if(e)if(e.start){if(a=o.createRng(),s=o.getRoot(),i.tridentSel)return i.tridentSel.moveToBookmark(e);t(!0)&&t()&&i.setRng(a)}else e.id?(n("start"),n("end"),u&&(a=o.createRng(),a.setStart(r(u),m),a.setEnd(r(p),h),i.setRng(a))):e.name?i.select(o.select(e.name)[e.index]):e.rng&&i.setRng(e.rng)},select:function(e,t){var n=this,r=n.dom,i=r.createRng(),o;if(n.lastFocusBookmark=null,e){if(!t&&n.controlSelection.controlSelect(e))return;o=r.nodeIndex(e),i.setStart(e.parentNode,o),i.setEnd(e.parentNode,o+1),t&&(n._moveEndPoint(i,e,!0),n._moveEndPoint(i,e)),n.setRng(i)}return e},isCollapsed:function(){var e=this,t=e.getRng(),n=e.getSel();return!t||t.item?!1:t.compareEndPoints?0===t.compareEndPoints("StartToEnd",t):!n||t.collapsed},collapse:function(e){var t=this,n=t.getRng(),r;n.item&&(r=n.item(0),n=t.win.document.body.createTextRange(),n.moveToElementText(r)),n.collapse(!!e),t.setRng(n)},getSel:function(){var e=this.win;return e.getSelection?e.getSelection():e.document.selection},getRng:function(e){function t(e,t,n){try{return t.compareBoundaryPoints(e,n)}catch(r){return-1}}var n=this,r,i,o,a=n.win.document,s;if(!e&&n.lastFocusBookmark){var l=n.lastFocusBookmark;return l.startContainer?(i=a.createRange(),i.setStart(l.startContainer,l.startOffset),i.setEnd(l.endContainer,l.endOffset)):i=l,i}if(e&&n.tridentSel)return n.tridentSel.getRangeAt(0);try{(r=n.getSel())&&(i=r.rangeCount>0?r.getRangeAt(0):r.createRange?r.createRange():a.createRange())}catch(c){}if(d&&i&&i.setStart&&a.selection){try{s=a.selection.createRange()}catch(c){}s&&s.item&&(o=s.item(0),i=a.createRange(),i.setStartBefore(o),i.setEndAfter(o))}return i||(i=a.createRange?a.createRange():a.body.createTextRange()),i.setStart&&9===i.startContainer.nodeType&&i.collapsed&&(o=n.dom.getRoot(),i.setStart(o,0),i.setEnd(o,0)),n.selectedRange&&n.explicitRange&&(0===t(i.START_TO_START,i,n.selectedRange)&&0===t(i.END_TO_END,i,n.selectedRange)?i=n.explicitRange:(n.selectedRange=null,n.explicitRange=null)),i},setRng:function(e,t){var n=this,r;if(e.select)try{e.select()}catch(i){}else if(n.tridentSel){if(e.cloneRange)try{return void n.tridentSel.addRange(e)}catch(i){}}else if(r=n.getSel()){n.explicitRange=e;try{r.removeAllRanges(),r.addRange(e)}catch(i){}t===!1&&r.extend&&(r.collapse(e.endContainer,e.endOffset),r.extend(e.startContainer,e.startOffset)),n.selectedRange=r.rangeCount>0?r.getRangeAt(0):null}},setNode:function(e){var t=this;return t.setContent(t.dom.getOuterHTML(e)),e},getNode:function(){function e(e,t){for(var n=e;e&&3===e.nodeType&&0===e.length;)e=t?e.nextSibling:e.previousSibling;return e||n}var t=this,n=t.getRng(),r,i=n.startContainer,o=n.endContainer,a=n.startOffset,s=n.endOffset,l=t.dom.getRoot();return n?n.setStart?(r=n.commonAncestorContainer,!n.collapsed&&(i==o&&2>s-a&&i.hasChildNodes()&&(r=i.childNodes[a]),3===i.nodeType&&3===o.nodeType&&(i=i.length===a?e(i.nextSibling,!0):i.parentNode,o=0===s?e(o.previousSibling,!1):o.parentNode,i&&i===o))?i:r&&3==r.nodeType?r.parentNode:r):(r=n.item?n.item(0):n.parentElement(),r.ownerDocument!==t.win.document&&(r=l),r):l},getSelectedBlocks:function(t,n){var r=this,i=r.dom,o,a,s=[];if(a=i.getRoot(),t=i.getParent(t||r.getStart(),i.isBlock),n=i.getParent(n||r.getEnd(),i.isBlock),t&&t!=a&&s.push(t),t&&n&&t!=n){o=t;for(var l=new e(t,a);(o=l.next())&&o!=n;)i.isBlock(o)&&s.push(o)}return n&&t!=n&&n!=a&&s.push(n),s},isForward:function(){var e=this.dom,t=this.getSel(),n,r;return t&&t.anchorNode&&t.focusNode?(n=e.createRng(),n.setStart(t.anchorNode,t.anchorOffset),n.collapse(!0),r=e.createRng(),r.setStart(t.focusNode,t.focusOffset),r.collapse(!0),n.compareBoundaryPoints(n.START_TO_START,r)<=0):!0},normalize:function(){var e=this,t=e.getRng();return!d&&new i(e.dom).normalize(t)&&e.setRng(t,e.isForward()),t},selectorChanged:function(e,t){var n=this,r;return n.selectorChangedData||(n.selectorChangedData={},r={},n.editor.on("NodeChange",function(e){var t=e.element,i=n.dom,o=i.getParents(t,null,i.getRoot()),a={};l(n.selectorChangedData,function(e,t){l(o,function(n){return i.is(n,t)?(r[t]||(l(e,function(e){e(!0,{node:n,selector:t,parents:o})}),r[t]=e),a[t]=e,!1):void 0})}),l(r,function(e,n){a[n]||(delete r[n],l(e,function(e){e(!1,{node:t,selector:n,parents:o})}))})})),n.selectorChangedData[e]||(n.selectorChangedData[e]=[]),n.selectorChangedData[e].push(t),n},getScrollContainer:function(){for(var e,t=this.dom.getRoot();t&&"BODY"!=t.nodeName;){if(t.scrollHeight>t.clientHeight){e=t;break}t=t.parentNode}return e},scrollIntoView:function(e){function t(e){for(var t=0,n=0,r=e;r&&r.nodeType;)t+=r.offsetLeft||0,n+=r.offsetTop||0,r=r.offsetParent;return{x:t,y:n}}var n,r,i=this,o=i.dom,a=o.getRoot(),s,l;if("BODY"!=a.nodeName){var c=i.getScrollContainer();if(c)return n=t(e).y-t(c).y,l=c.clientHeight,s=c.scrollTop,void((s>n||n+25>s+l)&&(c.scrollTop=s>n?n:n-l+25))}r=o.getViewPort(i.editor.getWin()),n=o.getPos(e).y,s=r.y,l=r.h,(n<r.y||n+25>s+l)&&i.editor.getWin().scrollTo(0,s>n?n:n-l+25)},_moveEndPoint:function(t,n,r){var i=n,a=new e(n,i),s=this.dom.schema.getNonEmptyElements();do{if(3==n.nodeType&&0!==u(n.nodeValue).length)return void(r?t.setStart(n,0):t.setEnd(n,n.nodeValue.length));if(s[n.nodeName])return void(r?t.setStartBefore(n):"BR"==n.nodeName?t.setEndBefore(n):t.setEndAfter(n));if(o.ie&&o.ie<11&&this.dom.isBlock(n)&&this.dom.isEmpty(n))return void(r?t.setStart(n,0):t.setEnd(n,0))}while(n=r?a.next():a.prev());"BODY"==i.nodeName&&(r?t.setStart(i,0):t.setEnd(i,i.childNodes.length))},destroy:function(){this.win=null,this.controlSelection.destroy()}},s}),r(D,[p],function(e){function t(e,t){function r(e){return e.replace(/%(\w+)/g,"")}var i,o,a=e.dom,s="",l,c;if(c=e.settings.preview_styles,c===!1)return"";if(c||(c="font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow"),"string"==typeof t){if(t=e.formatter.get(t),!t)return;t=t[0]}return i=t.block||t.inline||"span",o=a.create(i),n(t.styles,function(e,t){e=r(e),e&&a.setStyle(o,t,e)}),n(t.attributes,function(e,t){e=r(e),e&&a.setAttrib(o,t,e)}),n(t.classes,function(e){e=r(e),a.hasClass(o,e)||a.addClass(o,e)}),e.fire("PreviewFormats"),a.setStyles(o,{position:"absolute",left:-65535}),e.getBody().appendChild(o),l=a.getStyle(e.getBody(),"fontSize",!0),l=/px$/.test(l)?parseInt(l,10):0,n(c.split(" "),function(t){var n=a.getStyle(o,t,!0);if(!("background-color"==t&&/transparent|rgba\s*\([^)]+,\s*0\)/.test(n)&&(n=a.getStyle(e.getBody(),t,!0),"#ffffff"==a.toHex(n).toLowerCase())||"color"==t&&"#000000"==a.toHex(n).toLowerCase())){if("font-size"==t&&/em|%$/.test(n)){if(0===l)return;n=parseFloat(n,10)/(/%$/.test(n)?100:1),n=n*l+"px"}"border"==t&&n&&(s+="padding:0 2px;"),s+=t+":"+n+";"}}),e.fire("AfterPreviewFormats"),a.remove(o),s}var n=e.each;return{getCssText:t}}),r(M,[f,B,p,D],function(e,t,n,r){return function(i){function o(e){return e.nodeType&&(e=e.nodeName),!!i.schema.getTextBlockElements()[e.toLowerCase()]}function a(e,t){return z.getParents(e,t,z.getRoot())}function s(e){return 1===e.nodeType&&"_mce_caret"===e.id}function l(){d({alignleft:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"left"},defaultBlock:"div"},{selector:"img,table",collapsed:!1,styles:{"float":"left"}}],aligncenter:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"center"},defaultBlock:"div"},{selector:"img",collapsed:!1,styles:{display:"block",marginLeft:"auto",marginRight:"auto"}},{selector:"table",collapsed:!1,styles:{marginLeft:"auto",marginRight:"auto"}}],alignright:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"right"},defaultBlock:"div"},{selector:"img,table",collapsed:!1,styles:{"float":"right"}}],alignjustify:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"justify"},defaultBlock:"div"}],bold:[{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}},{inline:"b",remove:"all"}],italic:[{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}},{inline:"i",remove:"all"}],underline:[{inline:"span",styles:{textDecoration:"underline"},exact:!0},{inline:"u",remove:"all"}],strikethrough:[{inline:"span",styles:{textDecoration:"line-through"},exact:!0},{inline:"strike",remove:"all"}],forecolor:{inline:"span",styles:{color:"%value"},wrap_links:!1},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},wrap_links:!1},fontname:{inline:"span",styles:{fontFamily:"%value"}},fontsize:{inline:"span",styles:{fontSize:"%value"}},fontsize_class:{inline:"span",attributes:{"class":"%value"}},blockquote:{block:"blockquote",wrapper:1,remove:"all"},subscript:{inline:"sub"},superscript:{inline:"sup"},code:{inline:"code"},link:{inline:"a",selector:"a",remove:"all",split:!0,deep:!0,onmatch:function(){return!0},onformat:function(e,t,n){nt(n,function(t,n){z.setAttrib(e,n,t)})}},removeformat:[{selector:"b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q",remove:"all",split:!0,expand:!1,block_expand:!0,deep:!0},{selector:"span",attributes:["style","class"],remove:"empty",split:!0,expand:!1,deep:!0},{selector:"*",attributes:["style","class"],split:!1,expand:!1,deep:!0}]}),nt("p h1 h2 h3 h4 h5 h6 div address pre div dt dd samp".split(/\s/),function(e){d(e,{block:e,remove:"all"})}),d(i.settings.formats)}function c(){i.addShortcut("ctrl+b","bold_desc","Bold"),i.addShortcut("ctrl+i","italic_desc","Italic"),i.addShortcut("ctrl+u","underline_desc","Underline");for(var e=1;6>=e;e++)i.addShortcut("ctrl+"+e,"",["FormatBlock",!1,"h"+e]);i.addShortcut("ctrl+7","",["FormatBlock",!1,"p"]),i.addShortcut("ctrl+8","",["FormatBlock",!1,"div"]),i.addShortcut("ctrl+9","",["FormatBlock",!1,"address"])}function u(e){return e?F[e]:F}function d(e,t){e&&("string"!=typeof e?nt(e,function(e,t){d(t,e)}):(t=t.length?t:[t],nt(t,function(e){e.deep===Q&&(e.deep=!e.selector),e.split===Q&&(e.split=!e.selector||e.inline),e.remove===Q&&e.selector&&!e.inline&&(e.remove="none"),e.selector&&e.inline&&(e.mixed=!0,e.block_expand=!0),"string"==typeof e.classes&&(e.classes=e.classes.split(/\s+/))}),F[e]=t))}function f(e){var t;return i.dom.getParent(e,function(e){return t=i.dom.getStyle(e,"text-decoration"),t&&"none"!==t}),t}function p(e){var t;1===e.nodeType&&e.parentNode&&1===e.parentNode.nodeType&&(t=f(e.parentNode),i.dom.getStyle(e,"color")&&t?i.dom.setStyle(e,"text-decoration",t):i.dom.getStyle(e,"textdecoration")===t&&i.dom.setStyle(e,"text-decoration",null))}function m(t,n,r){function a(e,t){t=t||h,e&&(t.onformat&&t.onformat(e,t,n,r),nt(t.styles,function(t,r){z.setStyle(e,r,k(t,n))}),nt(t.attributes,function(t,r){z.setAttrib(e,r,k(t,n))}),nt(t.classes,function(t){t=k(t,n),z.hasClass(e,t)||z.addClass(e,t)}))}function l(){function t(t,n){var i=new e(n);for(r=i.current();r;r=i.prev())if(r.childNodes.length>1||r==t||"BR"==r.tagName)return r}var n=i.selection.getRng(),o=n.startContainer,a=n.endContainer;if(o!=a&&0===n.endOffset){var s=t(o,a),l=3==s.nodeType?s.length:s.childNodes.length;n.setEnd(s,l)}return n}function c(e,t,n,r,i){var o=[],a=-1,s,l=-1,c=-1,u;return nt(e.childNodes,function(e,t){return"UL"===e.nodeName||"OL"===e.nodeName?(a=t,s=e,!1):void 0}),nt(e.childNodes,function(e,n){"SPAN"===e.nodeName&&"bookmark"==z.getAttrib(e,"data-mce-type")&&(e.id==t.id+"_start"?l=n:e.id==t.id+"_end"&&(c=n))}),0>=a||a>l&&c>a?(nt(rt(e.childNodes),i),0):(u=z.clone(n,G),nt(rt(e.childNodes),function(e,t){(a>l&&a>t||l>a&&t>a)&&(o.push(e),e.parentNode.removeChild(e))}),a>l?e.insertBefore(u,s):l>a&&e.insertBefore(u,s.nextSibling),r.push(u),nt(o,function(e){u.appendChild(e)}),u)}function d(e,r,i){var l=[],u,d,p=!0;u=h.inline||h.block,d=z.create(u),a(d),V.walk(e,function(e){function m(e){var y,C,x,w,_;return _=p,y=e.nodeName.toLowerCase(),C=e.parentNode.nodeName.toLowerCase(),1===e.nodeType&&Z(e)&&(_=p,p="true"===Z(e),w=!0),N(y,"br")?(g=0,void(h.block&&z.remove(e))):h.wrapper&&v(e,t,n)?void(g=0):p&&!w&&h.block&&!h.wrapper&&o(y)&&U(C,u)?(e=z.rename(e,u),a(e),l.push(e),void(g=0)):h.selector&&(nt(f,function(t){"collapsed"in t&&t.collapsed!==b||z.is(e,t.selector)&&!s(e)&&(a(e,t),x=!0)}),!h.inline||x)?void(g=0):void(!p||w||!U(u,y)||!U(C,u)||!i&&3===e.nodeType&&1===e.nodeValue.length&&65279===e.nodeValue.charCodeAt(0)||s(e)||h.inline&&q(e)?"li"==y&&r?g=c(e,r,d,l,m):(g=0,nt(rt(e.childNodes),m),w&&(p=_),g=0):(g||(g=z.clone(d,G),e.parentNode.insertBefore(g,e),l.push(g)),g.appendChild(e)))}var g;nt(e,m)}),h.wrap_links===!1&&nt(l,function(e){function t(e){var n,r,i;if("A"===e.nodeName){for(r=z.clone(d,G),l.push(r),i=rt(e.childNodes),n=0;n<i.length;n++)r.appendChild(i[n]);e.appendChild(r)}nt(rt(e.childNodes),t)}t(e)}),nt(l,function(e){function r(e){var t=0;return nt(e.childNodes,function(e){T(e)||M(e)||t++}),t}function i(e){var t,n;return nt(e.childNodes,function(e){return 1!=e.nodeType||M(e)||s(e)?void 0:(t=e,G)}),t&&!M(t)&&_(t,h)&&(n=z.clone(t,G),a(n),z.replace(n,e,X),z.remove(t,1)),n||e}var o;if(o=r(e),(l.length>1||!q(e))&&0===o)return void z.remove(e,1);if(h.inline||h.wrapper){if(h.exact||1!==o||(e=i(e)),nt(f,function(t){nt(z.select(t.inline,e),function(e){var r;if(!M(e)){if(t.wrap_links===!1){r=e.parentNode;do if("A"===r.nodeName)return;while(r=r.parentNode)}B(t,n,e,t.exact?e:null)}})}),v(e.parentNode,t,n))return z.remove(e,1),e=0,X;h.merge_with_parents&&z.getParent(e.parentNode,function(r){return v(r,t,n)?(z.remove(e,1),e=0,X):void 0}),e&&h.merge_siblings!==!1&&(e=H(D(e),e),e=H(e,D(e,X)))}})}var f=u(t),h=f[0],g,y,b=!r&&W.isCollapsed();if(h)if(r)r.nodeType?(y=z.createRng(),y.setStartBefore(r),y.setEndAfter(r),d(A(y,f),null,!0)):d(r,null,!0);else if(b&&h.inline&&!z.select("td.mce-item-selected,th.mce-item-selected").length)O("apply",t,n);else{var C=i.selection.getNode();$||!f[0].defaultBlock||z.getParent(C,z.isBlock)||m(f[0].defaultBlock),i.selection.setRng(l()),g=W.getBookmark(),d(A(W.getRng(X),f),g),h.styles&&(h.styles.color||h.styles.textDecoration)&&(it(C,p,"childNodes"),p(C)),W.moveToBookmark(g),I(W.getRng(X)),i.nodeChanged()}}function h(e,t,n){function r(e){var n,i,o,a,s;
-if(1===e.nodeType&&Z(e)&&(a=b,b="true"===Z(e),s=!0),n=rt(e.childNodes),b&&!s)for(i=0,o=p.length;o>i&&!B(p[i],t,e,e);i++);if(m.deep&&n.length){for(i=0,o=n.length;o>i;i++)r(n[i]);s&&(b=a)}}function o(n){var r;return nt(a(n.parentNode).reverse(),function(n){var i;r||"_start"==n.id||"_end"==n.id||(i=v(n,e,t),i&&i.split!==!1&&(r=n))}),r}function s(e,n,r,i){var o,a,s,l,c,u;if(e){for(u=e.parentNode,o=n.parentNode;o&&o!=u;o=o.parentNode){for(a=z.clone(o,G),c=0;c<p.length;c++)if(B(p[c],t,a,a)){a=0;break}a&&(s&&a.appendChild(s),l||(l=a),s=a)}!i||m.mixed&&q(e)||(n=z.split(e,n)),s&&(r.parentNode.insertBefore(s,r),l.appendChild(r))}return n}function l(e){return s(o(e),e,e,!0)}function c(e){var t=z.get(e?"_start":"_end"),n=t[e?"firstChild":"lastChild"];return M(n)&&(n=n[e?"firstChild":"lastChild"]),z.remove(t,!0),n}function d(e){var t,n,o=e.commonAncestorContainer;e=A(e,p,X),m.split&&(t=P(e,X),n=P(e),t!=n?(/^(TR|TH|TD)$/.test(t.nodeName)&&t.firstChild&&(t="TR"==t.nodeName?t.firstChild.firstChild||t:t.firstChild||t),o&&/^T(HEAD|BODY|FOOT|R)$/.test(o.nodeName)&&/^(TH|TD)$/.test(n.nodeName)&&n.firstChild&&(n=n.firstChild||n),t=R(t,"span",{id:"_start","data-mce-type":"bookmark"}),n=R(n,"span",{id:"_end","data-mce-type":"bookmark"}),l(t),l(n),t=c(X),n=c()):t=n=l(t),e.startContainer=t.parentNode,e.startOffset=j(t),e.endContainer=n.parentNode,e.endOffset=j(n)+1),V.walk(e,function(e){nt(e,function(e){r(e),1===e.nodeType&&"underline"===i.dom.getStyle(e,"text-decoration")&&e.parentNode&&"underline"===f(e.parentNode)&&B({deep:!1,exact:!0,inline:"span",styles:{textDecoration:"underline"}},null,e)})})}var p=u(e),m=p[0],h,g,b=!0;return n?void(n.nodeType?(g=z.createRng(),g.setStartBefore(n),g.setEndAfter(n),d(g)):d(n)):void(W.isCollapsed()&&m.inline&&!z.select("td.mce-item-selected,th.mce-item-selected").length?O("remove",e,t):(h=W.getBookmark(),d(W.getRng(X)),W.moveToBookmark(h),m.inline&&y(e,t,W.getStart())&&I(W.getRng(!0)),i.nodeChanged()))}function g(e,t,n){var r=u(e);!y(e,t,n)||"toggle"in r[0]&&!r[0].toggle?m(e,t,n):h(e,t,n)}function v(e,t,n,r){function i(e,t,i){var o,a,s=t[i],l;if(t.onmatch)return t.onmatch(e,t,i);if(s)if(s.length===Q){for(o in s)if(s.hasOwnProperty(o)){if(a="attributes"===i?z.getAttrib(e,o):E(e,o),r&&!a&&!t.exact)return;if((!r||t.exact)&&!N(a,S(k(s[o],n),o)))return}}else for(l=0;l<s.length;l++)if("attributes"===i?z.getAttrib(e,s[l]):E(e,s[l]))return t;return t}var o=u(t),a,s,l;if(o&&e)for(s=0;s<o.length;s++)if(a=o[s],_(e,a)&&i(e,a,"attributes")&&i(e,a,"styles")){if(l=a.classes)for(s=0;s<l.length;s++)if(!z.hasClass(e,l[s]))return;return a}}function y(e,t,n){function r(n){var r=z.getRoot();return n===r?!1:(n=z.getParent(n,function(n){return n.parentNode===r||!!v(n,e,t,!0)}),v(n,e,t))}var i;return n?r(n):(n=W.getNode(),r(n)?X:(i=W.getStart(),i!=n&&r(i)?X:G))}function b(e,t){var n,r=[],i={};return n=W.getStart(),z.getParent(n,function(n){var o,a;for(o=0;o<e.length;o++)a=e[o],!i[a]&&v(n,a,t)&&(i[a]=!0,r.push(a))},z.getRoot()),r}function C(e){var t=u(e),n,r,i,o,s;if(t)for(n=W.getStart(),r=a(n),o=t.length-1;o>=0;o--){if(s=t[o].selector,!s||t[o].defaultBlock)return X;for(i=r.length-1;i>=0;i--)if(z.is(r[i],s))return X}return G}function x(e,t,n){var r;return J||(J={},r={},i.on("NodeChange",function(e){var t=a(e.element),n={};nt(J,function(e,i){nt(t,function(o){return v(o,i,{},e.similar)?(r[i]||(nt(e,function(e){e(!0,{node:o,format:i,parents:t})}),r[i]=e),n[i]=e,!1):void 0})}),nt(r,function(i,o){n[o]||(delete r[o],nt(i,function(n){n(!1,{node:e.element,format:o,parents:t})}))})})),nt(e.split(","),function(e){J[e]||(J[e]=[],J[e].similar=n),J[e].push(t)}),this}function w(e){return r.getCssText(i,e)}function _(e,t){return N(e,t.inline)?X:N(e,t.block)?X:t.selector?1==e.nodeType&&z.is(e,t.selector):void 0}function N(e,t){return e=e||"",t=t||"",e=""+(e.nodeName||e),t=""+(t.nodeName||t),e.toLowerCase()==t.toLowerCase()}function E(e,t){return S(z.getStyle(e,t),t)}function S(e,t){return("color"==t||"backgroundColor"==t)&&(e=z.toHex(e)),"fontWeight"==t&&700==e&&(e="bold"),"fontFamily"==t&&(e=e.replace(/[\'\"]/g,"").replace(/,\s+/g,",")),""+e}function k(e,t){return"string"!=typeof e?e=e(t):t&&(e=e.replace(/%(\w+)/g,function(e,n){return t[n]||e})),e}function T(e){return e&&3===e.nodeType&&/^([\t \r\n]+|)$/.test(e.nodeValue)}function R(e,t,n){var r=z.create(t,n);return e.parentNode.insertBefore(r,e),r.appendChild(e),r}function A(t,n,r){function s(e){function t(e){return"BR"==e.nodeName&&e.getAttribute("data-mce-bogus")&&!e.nextSibling}var r,i,o,a,s;if(r=i=e?g:y,a=e?"previousSibling":"nextSibling",s=z.getRoot(),3==r.nodeType&&!T(r)&&(e?v>0:b<r.nodeValue.length))return r;for(;;){if(!n[0].block_expand&&q(i))return i;for(o=i[a];o;o=o[a])if(!M(o)&&!T(o)&&!t(o))return i;if(i.parentNode==s){r=i;break}i=i.parentNode}return r}function l(e,t){for(t===Q&&(t=3===e.nodeType?e.length:e.childNodes.length);e&&e.hasChildNodes();)e=e.childNodes[t],e&&(t=3===e.nodeType?e.length:e.childNodes.length);return{node:e,offset:t}}function c(e){for(var t=e;t;){if(1===t.nodeType&&Z(t))return"false"===Z(t)?t:e;t=t.parentNode}return e}function u(t,n,o){function a(e,t){var n,i,a=e.nodeValue;return"undefined"==typeof t&&(t=o?a.length:0),o?(n=a.lastIndexOf(" ",t),i=a.lastIndexOf("\xa0",t),n=n>i?n:i,-1===n||r||n++):(n=a.indexOf(" ",t),i=a.indexOf("\xa0",t),n=-1!==n&&(-1===i||i>n)?n:i),n}var s,l,c,u;if(3===t.nodeType){if(c=a(t,n),-1!==c)return{container:t,offset:c};u=t}for(s=new e(t,z.getParent(t,q)||i.getBody());l=s[o?"prev":"next"]();)if(3===l.nodeType){if(u=l,c=a(l),-1!==c)return{container:l,offset:c}}else if(q(l))break;return u?(n=o?0:u.length,{container:u,offset:n}):void 0}function d(e,r){var i,o,s,l;for(3==e.nodeType&&0===e.nodeValue.length&&e[r]&&(e=e[r]),i=a(e),o=0;o<i.length;o++)for(s=0;s<n.length;s++)if(l=n[s],!("collapsed"in l&&l.collapsed!==t.collapsed)&&z.is(i[o],l.selector))return i[o];return e}function f(e,t){var r,i=z.getRoot();if(n[0].wrapper||(r=z.getParent(e,n[0].block,i)),r||(r=z.getParent(3==e.nodeType?e.parentNode:e,function(e){return e!=i&&o(e)})),r&&n[0].wrapper&&(r=a(r,"ul,ol").reverse()[0]||r),!r)for(r=e;r[t]&&!q(r[t])&&(r=r[t],!N(r,"br")););return r||e}var p,m,h,g=t.startContainer,v=t.startOffset,y=t.endContainer,b=t.endOffset;if(1==g.nodeType&&g.hasChildNodes()&&(p=g.childNodes.length-1,g=g.childNodes[v>p?p:v],3==g.nodeType&&(v=0)),1==y.nodeType&&y.hasChildNodes()&&(p=y.childNodes.length-1,y=y.childNodes[b>p?p:b-1],3==y.nodeType&&(b=y.nodeValue.length)),g=c(g),y=c(y),(M(g.parentNode)||M(g))&&(g=M(g)?g:g.parentNode,g=g.nextSibling||g,3==g.nodeType&&(v=0)),(M(y.parentNode)||M(y))&&(y=M(y)?y:y.parentNode,y=y.previousSibling||y,3==y.nodeType&&(b=y.length)),n[0].inline&&(t.collapsed&&(h=u(g,v,!0),h&&(g=h.container,v=h.offset),h=u(y,b),h&&(y=h.container,b=h.offset)),m=l(y,b),m.node)){for(;m.node&&0===m.offset&&m.node.previousSibling;)m=l(m.node.previousSibling);m.node&&m.offset>0&&3===m.node.nodeType&&" "===m.node.nodeValue.charAt(m.offset-1)&&m.offset>1&&(y=m.node,y.splitText(m.offset-1))}return(n[0].inline||n[0].block_expand)&&(n[0].inline&&3==g.nodeType&&0!==v||(g=s(!0)),n[0].inline&&3==y.nodeType&&b!==y.nodeValue.length||(y=s())),n[0].selector&&n[0].expand!==G&&!n[0].inline&&(g=d(g,"previousSibling"),y=d(y,"nextSibling")),(n[0].block||n[0].selector)&&(g=f(g,"previousSibling"),y=f(y,"nextSibling"),n[0].block&&(q(g)||(g=s(!0)),q(y)||(y=s()))),1==g.nodeType&&(v=j(g),g=g.parentNode),1==y.nodeType&&(b=j(y)+1,y=y.parentNode),{startContainer:g,startOffset:v,endContainer:y,endOffset:b}}function B(e,t,n,r){var i,o,a;if(!_(n,e))return G;if("all"!=e.remove)for(nt(e.styles,function(e,i){e=S(k(e,t),i),"number"==typeof i&&(i=e,r=0),(!r||N(E(r,i),e))&&z.setStyle(n,i,""),a=1}),a&&""===z.getAttrib(n,"style")&&(n.removeAttribute("style"),n.removeAttribute("data-mce-style")),nt(e.attributes,function(e,i){var o;if(e=k(e,t),"number"==typeof i&&(i=e,r=0),!r||N(z.getAttrib(r,i),e)){if("class"==i&&(e=z.getAttrib(n,i),e&&(o="",nt(e.split(/\s+/),function(e){/mce\w+/.test(e)&&(o+=(o?" ":"")+e)}),o)))return void z.setAttrib(n,i,o);"class"==i&&n.removeAttribute("className"),Y.test(i)&&n.removeAttribute("data-mce-"+i),n.removeAttribute(i)}}),nt(e.classes,function(e){e=k(e,t),(!r||z.hasClass(r,e))&&z.removeClass(n,e)}),o=z.getAttribs(n),i=0;i<o.length;i++)if(0!==o[i].nodeName.indexOf("_"))return G;return"none"!=e.remove?(L(n,e),X):void 0}function L(e,t){function n(e,t,n){return e=D(e,t,n),!e||"BR"==e.nodeName||q(e)}var r=e.parentNode,o;t.block&&($?r==z.getRoot()&&(t.list_block&&N(e,t.list_block)||nt(rt(e.childNodes),function(e){U($,e.nodeName.toLowerCase())?o?o.appendChild(e):(o=R(e,$),z.setAttribs(o,i.settings.forced_root_block_attrs)):o=0})):q(e)&&!q(r)&&(n(e,G)||n(e.firstChild,X,1)||e.insertBefore(z.create("br"),e.firstChild),n(e,X)||n(e.lastChild,G,1)||e.appendChild(z.create("br")))),t.selector&&t.inline&&!N(t.inline,e)||z.remove(e,1)}function D(e,t,n){if(e)for(t=t?"nextSibling":"previousSibling",e=n?e:e[t];e;e=e[t])if(1==e.nodeType||!T(e))return e}function M(e){return e&&1==e.nodeType&&"bookmark"==e.getAttribute("data-mce-type")}function H(e,t){function n(e,t){function n(e){var t={};return nt(z.getAttribs(e),function(n){var r=n.nodeName.toLowerCase();0!==r.indexOf("_")&&"style"!==r&&"data-mce-style"!==r&&(t[r]=z.getAttrib(e,r))}),t}function r(e,t){var n,r;for(r in e)if(e.hasOwnProperty(r)){if(n=t[r],n===Q)return G;if(e[r]!=n)return G;delete t[r]}for(r in t)if(t.hasOwnProperty(r))return G;return X}return e.nodeName!=t.nodeName?G:r(n(e),n(t))&&r(z.parseStyle(z.getAttrib(e,"style")),z.parseStyle(z.getAttrib(t,"style")))?!M(e)&&!M(t):G}function r(e,t){for(i=e;i;i=i[t]){if(3==i.nodeType&&0!==i.nodeValue.length)return e;if(1==i.nodeType&&!M(i))return i}return e}var i,o;if(e&&t&&(e=r(e,"previousSibling"),t=r(t,"nextSibling"),n(e,t))){for(i=e.nextSibling;i&&i!=t;)o=i,i=i.nextSibling,e.appendChild(o);return z.remove(t),nt(rt(t.childNodes),function(t){e.appendChild(t)}),e}return t}function P(t,n){var r,o,a;return r=t[n?"startContainer":"endContainer"],o=t[n?"startOffset":"endOffset"],1==r.nodeType&&(a=r.childNodes.length-1,!n&&o&&o--,r=r.childNodes[o>a?a:o]),3===r.nodeType&&n&&o>=r.nodeValue.length&&(r=new e(r,i.getBody()).next()||r),3!==r.nodeType||n||0!==o||(r=new e(r,i.getBody()).prev()||r),r}function O(t,n,r){function a(e){var t=z.create("span",{id:y,"data-mce-bogus":!0,style:b?"color:red":""});return e&&t.appendChild(i.getDoc().createTextNode(K)),t}function s(e,t){for(;e;){if(3===e.nodeType&&e.nodeValue!==K||e.childNodes.length>1)return!1;t&&1===e.nodeType&&t.push(e),e=e.firstChild}return!0}function l(e){for(;e;){if(e.id===y)return e;e=e.parentNode}}function c(t){var n;if(t)for(n=new e(t,t),t=n.current();t;t=n.next())if(3===t.nodeType)return t}function d(e,t){var n,r;if(e)r=W.getRng(!0),s(e)?(t!==!1&&(r.setStartBefore(e),r.setEndBefore(e)),z.remove(e)):(n=c(e),n.nodeValue.charAt(0)===K&&(n=n.deleteData(0,1)),z.remove(e,1)),W.setRng(r);else if(e=l(W.getStart()),!e)for(;e=z.get(y);)d(e,!1)}function f(){var e,t,i,o,s,d,f;e=W.getRng(!0),o=e.startOffset,d=e.startContainer,f=d.nodeValue,t=l(W.getStart()),t&&(i=c(t)),f&&o>0&&o<f.length&&/\w/.test(f.charAt(o))&&/\w/.test(f.charAt(o-1))?(s=W.getBookmark(),e.collapse(!0),e=A(e,u(n)),e=V.split(e),m(n,r,e),W.moveToBookmark(s)):(t&&i.nodeValue===K?m(n,r,t):(t=a(!0),i=t.firstChild,e.insertNode(t),o=1,m(n,r,t)),W.setCursorLocation(i,o))}function p(){var e=W.getRng(!0),t,i,s,l,c,d,f=[],p,m;for(t=e.startContainer,i=e.startOffset,c=t,3==t.nodeType&&((i!=t.nodeValue.length||t.nodeValue===K)&&(l=!0),c=c.parentNode);c;){if(v(c,n,r)){d=c;break}c.nextSibling&&(l=!0),f.push(c),c=c.parentNode}if(d)if(l)s=W.getBookmark(),e.collapse(!0),e=A(e,u(n),!0),e=V.split(e),h(n,r,e),W.moveToBookmark(s);else{for(m=a(),c=m,p=f.length-1;p>=0;p--)c.appendChild(z.clone(f[p],!1)),c=c.firstChild;c.appendChild(z.doc.createTextNode(K)),c=c.firstChild;var g=z.getParent(d,o);g&&z.isEmpty(g)?d.parentNode.replaceChild(m,d):z.insertAfter(m,d),W.setCursorLocation(c,1),z.isEmpty(d)&&z.remove(d)}}function g(){var e;e=l(W.getStart()),e&&!z.isEmpty(e)&&it(e,function(e){1!=e.nodeType||e.id===y||z.isEmpty(e)||z.setAttrib(e,"data-mce-bogus",null)},"childNodes")}var y="_mce_caret",b=i.settings.caret_debug;i._hasCaretEvents||(tt=function(){var e=[],t;if(s(l(W.getStart()),e))for(t=e.length;t--;)z.setAttrib(e[t],"data-mce-bogus","1")},et=function(e){var t=e.keyCode;d(),(8==t||37==t||39==t)&&d(l(W.getStart())),g()},i.on("SetContent",function(e){e.selection&&g()}),i._hasCaretEvents=!0),"apply"==t?f():p()}function I(t){var n=t.startContainer,r=t.startOffset,i,o,a,s,l;if(3==n.nodeType&&r>=n.nodeValue.length&&(r=j(n),n=n.parentNode,i=!0),1==n.nodeType)for(s=n.childNodes,n=s[Math.min(r,s.length-1)],o=new e(n,z.getParent(n,z.isBlock)),(r>s.length-1||i)&&o.next(),a=o.current();a;a=o.next())if(3==a.nodeType&&!T(a))return l=z.create("a",null,K),a.parentNode.insertBefore(l,a),t.setStart(a,0),W.setRng(t),void z.remove(l)}var F={},z=i.dom,W=i.selection,V=new t(z),U=i.schema.isValidChild,q=z.isBlock,$=i.settings.forced_root_block,j=z.nodeIndex,K="\ufeff",Y=/^(src|href|style)$/,G=!1,X=!0,J,Q,Z=z.getContentEditable,et,tt,nt=n.each,rt=n.grep,it=n.walk,ot=n.extend;ot(this,{get:u,register:d,apply:m,remove:h,toggle:g,match:y,matchAll:b,matchNode:v,canApply:C,formatChanged:x,getCssText:w}),l(),c(),i.on("BeforeGetContent",function(){tt&&tt()}),i.on("mouseup keydown",function(e){et&&et(e)})}}),r(H,[g,p],function(e,t){var n=t.trim,r;return r=new RegExp(["<span[^>]+data-mce-bogus[^>]+>[\u200b\ufeff]+<\\/span>","<div[^>]+data-mce-bogus[^>]+><\\/div>",'\\s?data-mce-selected="[^"]+"'].join("|"),"gi"),function(t){function i(){return n(t.getContent({format:"raw",no_events:1}).replace(r,""))}function o(e){a.typing=!1,a.add({},e)}var a=this,s=0,l=[],c,u,d=0;return t.on("init",function(){a.add()}),t.on("BeforeExecCommand",function(e){var t=e.command;"Undo"!=t&&"Redo"!=t&&"mceRepaint"!=t&&a.beforeChange()}),t.on("ExecCommand",function(e){var t=e.command;"Undo"!=t&&"Redo"!=t&&"mceRepaint"!=t&&o(e)}),t.on("ObjectResizeStart",function(){a.beforeChange()}),t.on("SaveContent ObjectResized blur",o),t.dom.bind(t.dom.getRoot(),"dragend",o),t.on("KeyUp",function(n){var r=n.keyCode;(r>=33&&36>=r||r>=37&&40>=r||45==r||13==r||n.ctrlKey)&&(o(),t.nodeChanged()),(46==r||8==r||e.mac&&(91==r||93==r))&&t.nodeChanged(),u&&a.typing&&(t.isDirty()||(t.isNotDirty=!l[0]||i()==l[0].content,t.isNotDirty||t.fire("change",{level:l[0],lastLevel:null})),t.fire("TypingUndo"),u=!1,t.nodeChanged())}),t.on("KeyDown",function(e){var t=e.keyCode;return t>=33&&36>=t||t>=37&&40>=t||45==t?void(a.typing&&o(e)):void((16>t||t>20)&&224!=t&&91!=t&&!a.typing&&(a.beforeChange(),a.typing=!0,a.add({},e),u=!0))}),t.on("MouseDown",function(e){a.typing&&o(e)}),t.addShortcut("ctrl+z","","Undo"),t.addShortcut("ctrl+y,ctrl+shift+z","","Redo"),t.on("AddUndo Undo Redo ClearUndos MouseUp",function(e){e.isDefaultPrevented()||t.nodeChanged()}),a={data:l,typing:!1,beforeChange:function(){d||(c=t.selection.getBookmark(2,!0))},add:function(e,n){var r,o=t.settings,a;if(e=e||{},e.content=i(),d||t.removed)return null;if(a=l[s],t.fire("BeforeAddUndo",{level:e,lastLevel:a,originalEvent:n}).isDefaultPrevented())return null;if(a&&a.content==e.content)return null;if(l[s]&&(l[s].beforeBookmark=c),o.custom_undo_redo_levels&&l.length>o.custom_undo_redo_levels){for(r=0;r<l.length-1;r++)l[r]=l[r+1];l.length--,s=l.length}e.bookmark=t.selection.getBookmark(2,!0),s<l.length-1&&(l.length=s+1),l.push(e),s=l.length-1;var u={level:e,lastLevel:a,originalEvent:n};return t.fire("AddUndo",u),s>0&&(t.isNotDirty=!1,t.fire("change",u)),e},undo:function(){var e;return a.typing&&(a.add(),a.typing=!1),s>0&&(e=l[--s],0===s&&(t.isNotDirty=!0),t.setContent(e.content,{format:"raw"}),t.selection.moveToBookmark(e.beforeBookmark),t.fire("undo",{level:e})),e},redo:function(){var e;return s<l.length-1&&(e=l[++s],t.setContent(e.content,{format:"raw"}),t.selection.moveToBookmark(e.bookmark),t.fire("redo",{level:e})),e},clear:function(){l=[],s=0,a.typing=!1,t.fire("ClearUndos")},hasUndo:function(){return s>0||a.typing&&l[0]&&i()!=l[0].content},hasRedo:function(){return s<l.length-1&&!this.typing},transact:function(e){a.beforeChange();try{d++,e()}finally{d--}a.add()}}}}),r(P,[f,B,g],function(e,t,n){var r=n.ie&&n.ie<11;return function(i){function o(o){function f(e){return e&&a.isBlock(e)&&!/^(TD|TH|CAPTION|FORM)$/.test(e.nodeName)&&!/^(fixed|absolute)/i.test(e.style.position)&&"true"!==a.getContentEditable(e)}function p(e){var t;a.isBlock(e)&&(t=s.getRng(),e.appendChild(a.create("span",null,"\xa0")),s.select(e),e.lastChild.outerHTML="",s.setRng(t))}function m(e){for(var t=e,n=[],r;t=t.firstChild;){if(a.isBlock(t))return;1!=t.nodeType||d[t.nodeName.toLowerCase()]||n.push(t)}for(r=n.length;r--;)t=n[r],!t.hasChildNodes()||t.firstChild==t.lastChild&&""===t.firstChild.nodeValue?a.remove(t):"A"==t.nodeName&&" "===(t.innerText||t.textContent)&&a.remove(t)}function h(t){function r(e){for(;e;){if(1==e.nodeType||3==e.nodeType&&e.data&&/[\r\n\s]/.test(e.data))return e;e=e.nextSibling}}var i,o,l,c=t,u;if(n.ie&&n.ie<9&&B&&B.firstChild&&B.firstChild==B.lastChild&&"BR"==B.firstChild.tagName&&a.remove(B.firstChild),"LI"==t.nodeName){var f=r(t.firstChild);f&&/^(UL|OL)$/.test(f.nodeName)&&t.insertBefore(a.doc.createTextNode("\xa0"),t.firstChild)}if(l=a.createRng(),t.hasChildNodes()){for(i=new e(t,t);o=i.current();){if(3==o.nodeType){l.setStart(o,0),l.setEnd(o,0);break}if(d[o.nodeName.toLowerCase()]){l.setStartBefore(o),l.setEndBefore(o);break}c=o,o=i.next()}o||(l.setStart(c,0),l.setEnd(c,0))}else"BR"==t.nodeName?t.nextSibling&&a.isBlock(t.nextSibling)?((!L||9>L)&&(u=a.create("br"),t.parentNode.insertBefore(u,t)),l.setStartBefore(t),l.setEndBefore(t)):(l.setStartAfter(t),l.setEndAfter(t)):(l.setStart(t,0),l.setEnd(t,0));s.setRng(l),a.remove(u),s.scrollIntoView(t)}function g(e){var t=l.forced_root_block;t&&t.toLowerCase()===e.tagName.toLowerCase()&&a.setAttribs(e,l.forced_root_block_attrs)}function v(e){var t=R,n,i,o;if(e||"TABLE"==O?(n=a.create(e||F),g(n)):n=B.cloneNode(!1),o=n,l.keep_styles!==!1)do if(/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U|VAR|CITE|DFN|CODE|MARK|Q|SUP|SUB|SAMP)$/.test(t.nodeName)){if("_mce_caret"==t.id)continue;i=t.cloneNode(!1),a.setAttrib(i,"id",""),n.hasChildNodes()?(i.appendChild(n.firstChild),n.appendChild(i)):(o=i,n.appendChild(i))}while(t=t.parentNode);return r||(o.innerHTML='<br data-mce-bogus="1">'),n}function y(t){var n,r,i;if(3==R.nodeType&&(t?A>0:A<R.nodeValue.length))return!1;if(R.parentNode==B&&z&&!t)return!0;if(t&&1==R.nodeType&&R==B.firstChild)return!0;if("TABLE"===R.nodeName||R.previousSibling&&"TABLE"==R.previousSibling.nodeName)return z&&!t||!z&&t;for(n=new e(R,B),3==R.nodeType&&(t&&0===A?n.prev():t||A!=R.nodeValue.length||n.next());r=n.current();){if(1===r.nodeType){if(!r.getAttribute("data-mce-bogus")&&(i=r.nodeName.toLowerCase(),d[i]&&"br"!==i))return!1}else if(3===r.nodeType&&!/^[ \t\r\n]*$/.test(r.nodeValue))return!1;t?n.prev():n.next()}return!0}function b(e,t){var n,r,o,s,l,c,d=F||"P";if(r=a.getParent(e,a.isBlock),c=i.getBody().nodeName.toLowerCase(),!r||!f(r)){if(r=r||T,!r.hasChildNodes())return n=a.create(d),g(n),r.appendChild(n),S.setStart(n,0),S.setEnd(n,0),n;for(s=e;s.parentNode!=r;)s=s.parentNode;for(;s&&!a.isBlock(s);)o=s,s=s.previousSibling;if(o&&u.isValidChild(c,d.toLowerCase())){for(n=a.create(d),g(n),o.parentNode.insertBefore(n,o),s=o;s&&!a.isBlock(s);)l=s.nextSibling,n.appendChild(s),s=l;S.setStart(e,t),S.setEnd(e,t)}}return e}function C(){function e(e){for(var t=P[e?"firstChild":"lastChild"];t&&1!=t.nodeType;)t=t[e?"nextSibling":"previousSibling"];return t===B}function t(){var e=P.parentNode;return"LI"==e.nodeName?e:P}var n=P.parentNode.nodeName;/^(OL|UL|LI)$/.test(n)&&(F="LI"),M=F?v(F):a.create("BR"),e(!0)&&e()?"LI"==n?a.insertAfter(M,t()):a.replace(M,P):e(!0)?"LI"==n?(a.insertAfter(M,t()),M.appendChild(a.doc.createTextNode(" ")),M.appendChild(P)):P.parentNode.insertBefore(M,P):e()?(a.insertAfter(M,t()),p(M)):(P=t(),k=S.cloneRange(),k.setStartAfter(B),k.setEndAfter(P),H=k.extractContents(),"LI"==F&&"LI"==H.firstChild.nodeName?(M=H.firstChild,a.insertAfter(H,P)):(a.insertAfter(H,P),a.insertAfter(M,P))),a.remove(B),h(M),c.add()}function x(){for(var t=new e(R,B),n;n=t.next();)if(d[n.nodeName.toLowerCase()]||n.length>0)return!0}function w(){var e,t,n;R&&3==R.nodeType&&A>=R.nodeValue.length&&(r||x()||(e=a.create("br"),S.insertNode(e),S.setStartAfter(e),S.setEndAfter(e),t=!0)),e=a.create("br"),S.insertNode(e),r&&"PRE"==O&&(!L||8>L)&&e.parentNode.insertBefore(a.doc.createTextNode("\r"),e),n=a.create("span",{},"&nbsp;"),e.parentNode.insertBefore(n,e),s.scrollIntoView(n),a.remove(n),t?(S.setStartBefore(e),S.setEndBefore(e)):(S.setStartAfter(e),S.setEndAfter(e)),s.setRng(S),c.add()}function _(e){do 3===e.nodeType&&(e.nodeValue=e.nodeValue.replace(/^[\r\n]+/,"")),e=e.firstChild;while(e)}function N(e){var t=a.getRoot(),n,r;for(n=e;n!==t&&"false"!==a.getContentEditable(n);)"true"===a.getContentEditable(n)&&(r=n),n=n.parentNode;return n!==t?r:t}function E(e){var t;r||(e.normalize(),t=e.lastChild,(!t||/^(left|right)$/gi.test(a.getStyle(t,"float",!0)))&&a.add(e,"br"))}var S,k,T,R,A,B,L,D,M,H,P,O,I,F,z;if(S=s.getRng(!0),!o.isDefaultPrevented()){if(!S.collapsed)return void i.execCommand("Delete");if(new t(a).normalize(S),R=S.startContainer,A=S.startOffset,F=(l.force_p_newlines?"p":"")||l.forced_root_block,F=F?F.toUpperCase():"",L=a.doc.documentMode,D=o.shiftKey,1==R.nodeType&&R.hasChildNodes()&&(z=A>R.childNodes.length-1,R=R.childNodes[Math.min(A,R.childNodes.length-1)]||R,A=z&&3==R.nodeType?R.nodeValue.length:0),T=N(R)){if(c.beforeChange(),!a.isBlock(T)&&T!=a.getRoot())return void((!F||D)&&w());if((F&&!D||!F&&D)&&(R=b(R,A)),B=a.getParent(R,a.isBlock),P=B?a.getParent(B.parentNode,a.isBlock):null,O=B?B.nodeName.toUpperCase():"",I=P?P.nodeName.toUpperCase():"","LI"!=I||o.ctrlKey||(B=P,O=I),"LI"==O){if(!F&&D)return void w();if(a.isEmpty(B))return void C()}if("PRE"==O&&l.br_in_pre!==!1){if(!D)return void w()}else if(!F&&!D&&"LI"!=O||F&&D)return void w();F&&B===i.getBody()||(F=F||"P",y()?(M=/^(H[1-6]|PRE|FIGURE)$/.test(O)&&"HGROUP"!=I?v(F):v(),l.end_container_on_empty_block&&f(P)&&a.isEmpty(B)?M=a.split(P,B):a.insertAfter(M,B),h(M)):y(!0)?(M=B.parentNode.insertBefore(v(),B),p(M),h(B)):(k=S.cloneRange(),k.setEndAfter(B),H=k.extractContents(),_(H),M=H.firstChild,a.insertAfter(H,B),m(M),E(B),h(M)),a.setAttrib(M,"id",""),i.fire("NewBlock",{newBlock:M}),c.add())}}}var a=i.dom,s=i.selection,l=i.settings,c=i.undoManager,u=i.schema,d=u.getNonEmptyElements();i.on("keydown",function(e){13==e.keyCode&&o(e)!==!1&&e.preventDefault()})}}),r(O,[],function(){return function(e){function t(){var t=i.getStart(),s=e.getBody(),l,c,u,d,f,p,m,h=-16777215,g,v,y,b,C;if(C=n.forced_root_block,t&&1===t.nodeType&&C){for(;t&&t!=s;){if(a[t.nodeName])return;t=t.parentNode}if(l=i.getRng(),l.setStart){c=l.startContainer,u=l.startOffset,d=l.endContainer,f=l.endOffset;try{v=e.getDoc().activeElement===s}catch(x){}}else l.item&&(t=l.item(0),l=e.getDoc().body.createTextRange(),l.moveToElementText(t)),v=l.parentElement().ownerDocument===e.getDoc(),y=l.duplicate(),y.collapse(!0),u=-1*y.move("character",h),y.collapsed||(y=l.duplicate(),y.collapse(!1),f=-1*y.move("character",h)-u);for(t=s.firstChild,b=s.nodeName.toLowerCase();t;)if((3===t.nodeType||1==t.nodeType&&!a[t.nodeName])&&o.isValidChild(b,C.toLowerCase())){if(3===t.nodeType&&0===t.nodeValue.length){m=t,t=t.nextSibling,r.remove(m);continue}p||(p=r.create(C,e.settings.forced_root_block_attrs),t.parentNode.insertBefore(p,t),g=!0),m=t,t=t.nextSibling,p.appendChild(m)}else p=null,t=t.nextSibling;if(g&&v){if(l.setStart)l.setStart(c,u),l.setEnd(d,f),i.setRng(l);else try{l=e.getDoc().body.createTextRange(),l.moveToElementText(s),l.collapse(!0),l.moveStart("character",u),f>0&&l.moveEnd("character",f),l.select()}catch(x){}e.nodeChanged()}}}var n=e.settings,r=e.dom,i=e.selection,o=e.schema,a=o.getBlockElements();n.forced_root_block&&e.on("NodeChange",t)}}),r(I,[S,g,p],function(e,n,r){var i=r.each,o=r.extend,a=r.map,s=r.inArray,l=r.explode,c=n.gecko,u=n.ie,d=!0,f=!1;return function(r){function p(e,t,n){var r;return e=e.toLowerCase(),(r=N.exec[e])?(r(e,t,n),d):f}function m(e){var t;return e=e.toLowerCase(),(t=N.state[e])?t(e):-1}function h(e){var t;return e=e.toLowerCase(),(t=N.value[e])?t(e):f}function g(e,t){t=t||"exec",i(e,function(e,n){i(n.toLowerCase().split(","),function(n){N[t][n]=e})})}function v(e,n,i){return n===t&&(n=f),i===t&&(i=null),r.getDoc().execCommand(e,n,i)}function y(e){return S.match(e)}function b(e,n){S.toggle(e,n?{value:n}:t),r.nodeChanged()}function C(e){k=_.getBookmark(e)}function x(){_.moveToBookmark(k)}var w=r.dom,_=r.selection,N={state:{},exec:{},value:{}},E=r.settings,S=r.formatter,k;o(this,{execCommand:p,queryCommandState:m,queryCommandValue:h,addCommands:g}),g({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){r.undoManager.add()},"Cut,Copy,Paste":function(e){var t=r.getDoc(),i;try{v(e)}catch(o){i=d}if(i||!t.queryCommandSupported(e)){var a=r.translate("Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.");n.mac&&(a=a.replace(/Ctrl\+/g,"\u2318+")),r.windowManager.alert(a)}},unlink:function(){if(_.isCollapsed()){var e=_.getNode();return void("A"==e.tagName&&r.dom.remove(e,!0))}S.remove("link")},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(e){var t=e.substring(7);"full"==t&&(t="justify"),i("left,center,right,justify".split(","),function(e){t!=e&&S.remove("align"+e)}),b("align"+t),p("mceRepaint")},"InsertUnorderedList,InsertOrderedList":function(e){var t,n;v(e),t=w.getParent(_.getNode(),"ol,ul"),t&&(n=t.parentNode,/^(H[1-6]|P|ADDRESS|PRE)$/.test(n.nodeName)&&(C(),w.split(n,t),x()))},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){b(e)},"ForeColor,HiliteColor,FontName":function(e,t,n){b(e,n)},FontSize:function(e,t,n){var r,i;n>=1&&7>=n&&(i=l(E.font_size_style_values),r=l(E.font_size_classes),n=r?r[n-1]||n:i[n-1]||n),b(e,n)},RemoveFormat:function(e){S.remove(e)},mceBlockQuote:function(){b("blockquote")},FormatBlock:function(e,t,n){return b(n||"p")},mceCleanup:function(){var e=_.getBookmark();r.setContent(r.getContent({cleanup:d}),{cleanup:d}),_.moveToBookmark(e)},mceRemoveNode:function(e,t,n){var i=n||_.getNode();i!=r.getBody()&&(C(),r.dom.remove(i,d),x())},mceSelectNodeDepth:function(e,t,n){var i=0;w.getParent(_.getNode(),function(e){return 1==e.nodeType&&i++==n?(_.select(e),f):void 0},r.getBody())},mceSelectNode:function(e,t,n){_.select(n)},mceInsertContent:function(t,n,i){function o(e){function t(e){return r[e]&&3==r[e].nodeType}var n,r,i;return n=_.getRng(!0),r=n.startContainer,i=n.startOffset,3==r.nodeType&&(i>0?e=e.replace(/^&nbsp;/," "):t("previousSibling")||(e=e.replace(/^ /,"&nbsp;")),i<r.length?e=e.replace(/&nbsp;(<br>|)$/," "):t("nextSibling")||(e=e.replace(/(&nbsp;| )(<br>|)$/,"&nbsp;"))),e}var a,s,l,c,d,f,p,m,h,g,v;/^ | $/.test(i)&&(i=o(i)),a=r.parser,s=new e({},r.schema),v='<span id="mce_marker" data-mce-type="bookmark">&#xFEFF;&#200B;</span>',f={content:i,format:"html",selection:!0},r.fire("BeforeSetContent",f),i=f.content,-1==i.indexOf("{$caret}")&&(i+="{$caret}"),i=i.replace(/\{\$caret\}/,v),m=_.getRng();var y=m.startContainer||(m.parentElement?m.parentElement():null),b=r.getBody();y===b&&_.isCollapsed()&&w.isBlock(b.firstChild)&&w.isEmpty(b.firstChild)&&(m=w.createRng(),m.setStart(b.firstChild,0),m.setEnd(b.firstChild,0),_.setRng(m)),_.isCollapsed()||r.getDoc().execCommand("Delete",!1,null),l=_.getNode();var C={context:l.nodeName.toLowerCase()};if(d=a.parse(i,C),h=d.lastChild,"mce_marker"==h.attr("id"))for(p=h,h=h.prev;h;h=h.walk(!0))if(3==h.type||!w.isBlock(h.name)){h.parent.insert(p,h,"br"===h.name);break}if(C.invalid){for(_.setContent(v),l=_.getNode(),c=r.getBody(),9==l.nodeType?l=h=c:h=l;h!==c;)l=h,h=h.parentNode;i=l==c?c.innerHTML:w.getOuterHTML(l),i=s.serialize(a.parse(i.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,function(){return s.serialize(d)}))),l==c?w.setHTML(c,i):w.setOuterHTML(l,i)}else i=s.serialize(d),h=l.firstChild,g=l.lastChild,!h||h===g&&"BR"===h.nodeName?w.setHTML(l,i):_.setContent(i);p=w.get("mce_marker"),_.scrollIntoView(p),m=w.createRng(),h=p.previousSibling,h&&3==h.nodeType?(m.setStart(h,h.nodeValue.length),u||(g=p.nextSibling,g&&3==g.nodeType&&(h.appendData(g.data),g.parentNode.removeChild(g)))):(m.setStartBefore(p),m.setEndBefore(p)),w.remove(p),_.setRng(m),r.fire("SetContent",f),r.addVisual()},mceInsertRawHTML:function(e,t,n){_.setContent("tiny_mce_marker"),r.setContent(r.getContent().replace(/tiny_mce_marker/g,function(){return n}))},mceToggleFormat:function(e,t,n){b(n)},mceSetContent:function(e,t,n){r.setContent(n)},"Indent,Outdent":function(e){var t,n,o;t=E.indentation,n=/[a-z%]+$/i.exec(t),t=parseInt(t,10),m("InsertUnorderedList")||m("InsertOrderedList")?v(e):(E.forced_root_block||w.getParent(_.getNode(),w.isBlock)||S.apply("div"),i(_.getSelectedBlocks(),function(i){if("LI"!=i.nodeName){var a=r.getParam("indent_use_margin",!1)?"margin":"padding";a+="rtl"==w.getStyle(i,"direction",!0)?"Right":"Left","outdent"==e?(o=Math.max(0,parseInt(i.style[a]||0,10)-t),w.setStyle(i,a,o?o+n:"")):(o=parseInt(i.style[a]||0,10)+t+n,w.setStyle(i,a,o))}}))},mceRepaint:function(){if(c)try{C(d),_.getSel()&&_.getSel().selectAllChildren(r.getBody()),_.collapse(d),x()}catch(e){}},InsertHorizontalRule:function(){r.execCommand("mceInsertContent",!1,"<hr />")},mceToggleVisualAid:function(){r.hasVisual=!r.hasVisual,r.addVisual()},mceReplaceContent:function(e,t,n){r.execCommand("mceInsertContent",!1,n.replace(/\{\$selection\}/g,_.getContent({format:"text"})))},mceInsertLink:function(e,t,n){var r;"string"==typeof n&&(n={href:n}),r=w.getParent(_.getNode(),"a"),n.href=n.href.replace(" ","%20"),r&&n.href||S.remove("link"),n.href&&S.apply("link",n,r)},selectAll:function(){var e=w.getRoot(),t;_.getRng().setStart?(t=w.createRng(),t.setStart(e,0),t.setEnd(e,e.childNodes.length),_.setRng(t)):(t=_.getRng(),t.item||(t.moveToElementText(e),t.select()))},"delete":function(){v("Delete");var e=r.getBody();w.isEmpty(e)&&(r.setContent(""),e.firstChild&&w.isBlock(e.firstChild)?r.selection.setCursorLocation(e.firstChild,0):r.selection.setCursorLocation(e,0))},mceNewDocument:function(){r.setContent("")}}),g({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(e){var t="align"+e.substring(7),n=_.isCollapsed()?[w.getParent(_.getNode(),w.isBlock)]:_.getSelectedBlocks(),r=a(n,function(e){return!!S.matchNode(e,t)});return-1!==s(r,d)},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){return y(e)},mceBlockQuote:function(){return y("blockquote")},Outdent:function(){var e;if(E.inline_styles){if((e=w.getParent(_.getStart(),w.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return d;if((e=w.getParent(_.getEnd(),w.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return d}return m("InsertUnorderedList")||m("InsertOrderedList")||!E.inline_styles&&!!w.getParent(_.getNode(),"BLOCKQUOTE")},"InsertUnorderedList,InsertOrderedList":function(e){var t=w.getParent(_.getNode(),"ul,ol");return t&&("insertunorderedlist"===e&&"UL"===t.tagName||"insertorderedlist"===e&&"OL"===t.tagName)}},"state"),g({"FontSize,FontName":function(e){var t=0,n;return(n=w.getParent(_.getNode(),"span"))&&(t="fontsize"==e?n.style.fontSize:n.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()),t}},"value"),g({Undo:function(){r.undoManager.undo()},Redo:function(){r.undoManager.redo()}})}}),r(F,[p],function(e){function t(e,i){var o=this,a,s;if(e=r(e),i=o.settings=i||{},/^([\w\-]+):([^\/]{2})/i.test(e)||/^\s*#/.test(e))return void(o.source=e);var l=0===e.indexOf("//");0!==e.indexOf("/")||l||(e=(i.base_uri?i.base_uri.protocol||"http":"http")+"://mce_host"+e),/^[\w\-]*:?\/\//.test(e)||(s=i.base_uri?i.base_uri.path:new t(location.href).directory,e=""===i.base_uri.protocol?"//mce_host"+o.toAbsPath(s,e):(i.base_uri&&i.base_uri.protocol||"http")+"://mce_host"+o.toAbsPath(s,e)),e=e.replace(/@@/g,"(mce_at)"),e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e),n(["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],function(t,n){var r=e[n];
-r&&(r=r.replace(/\(mce_at\)/g,"@@")),o[t]=r}),a=i.base_uri,a&&(o.protocol||(o.protocol=a.protocol),o.userInfo||(o.userInfo=a.userInfo),o.port||"mce_host"!==o.host||(o.port=a.port),o.host&&"mce_host"!==o.host||(o.host=a.host),o.source=""),l&&(o.protocol="")}var n=e.each,r=e.trim;return t.prototype={setPath:function(e){var t=this;e=/^(.*?)\/?(\w+)?$/.exec(e),t.path=e[0],t.directory=e[1],t.file=e[2],t.source="",t.getURI()},toRelative:function(e){var n=this,r;if("./"===e)return e;if(e=new t(e,{base_uri:n}),"mce_host"!=e.host&&n.host!=e.host&&e.host||n.port!=e.port||n.protocol!=e.protocol&&""!==e.protocol)return e.getURI();var i=n.getURI(),o=e.getURI();return i==o||"/"==i.charAt(i.length-1)&&i.substr(0,i.length-1)==o?i:(r=n.toRelPath(n.path,e.path),e.query&&(r+="?"+e.query),e.anchor&&(r+="#"+e.anchor),r)},toAbsolute:function(e,n){return e=new t(e,{base_uri:this}),e.getURI(this.host==e.host&&this.protocol==e.protocol?n:0)},toRelPath:function(e,t){var n,r=0,i="",o,a;if(e=e.substring(0,e.lastIndexOf("/")),e=e.split("/"),n=t.split("/"),e.length>=n.length)for(o=0,a=e.length;a>o;o++)if(o>=n.length||e[o]!=n[o]){r=o+1;break}if(e.length<n.length)for(o=0,a=n.length;a>o;o++)if(o>=e.length||e[o]!=n[o]){r=o+1;break}if(1===r)return t;for(o=0,a=e.length-(r-1);a>o;o++)i+="../";for(o=r-1,a=n.length;a>o;o++)i+=o!=r-1?"/"+n[o]:n[o];return i},toAbsPath:function(e,t){var r,i=0,o=[],a,s;for(a=/\/$/.test(t)?"/":"",e=e.split("/"),t=t.split("/"),n(e,function(e){e&&o.push(e)}),e=o,r=t.length-1,o=[];r>=0;r--)0!==t[r].length&&"."!==t[r]&&(".."!==t[r]?i>0?i--:o.push(t[r]):i++);return r=e.length-i,s=0>=r?o.reverse().join("/"):e.slice(0,r).join("/")+"/"+o.reverse().join("/"),0!==s.indexOf("/")&&(s="/"+s),a&&s.lastIndexOf("/")!==s.length-1&&(s+=a),s},getURI:function(e){var t,n=this;return(!n.source||e)&&(t="",e||(t+=n.protocol?n.protocol+"://":"//",n.userInfo&&(t+=n.userInfo+"@"),n.host&&(t+=n.host),n.port&&(t+=":"+n.port)),n.path&&(t+=n.path),n.query&&(t+="?"+n.query),n.anchor&&(t+="#"+n.anchor),n.source=t),n.source}},t}),r(z,[p],function(e){function t(){}var n=e.each,r=e.extend,i,o;return t.extend=i=function(e){function t(){var e,t,n,r=this;if(!o&&(r.init&&r.init.apply(r,arguments),t=r.Mixins))for(e=t.length;e--;)n=t[e],n.init&&n.init.apply(r,arguments)}function a(){return this}function s(e,t){return function(){var n=this,r=n._super,i;return n._super=c[e],i=t.apply(n,arguments),n._super=r,i}}var l=this,c=l.prototype,u,d,f;o=!0,u=new l,o=!1,e.Mixins&&(n(e.Mixins,function(t){t=t;for(var n in t)"init"!==n&&(e[n]=t[n])}),c.Mixins&&(e.Mixins=c.Mixins.concat(e.Mixins))),e.Methods&&n(e.Methods.split(","),function(t){e[t]=a}),e.Properties&&n(e.Properties.split(","),function(t){var n="_"+t;e[t]=function(e){var t=this,r;return e!==r?(t[n]=e,t):t[n]}}),e.Statics&&n(e.Statics,function(e,n){t[n]=e}),e.Defaults&&c.Defaults&&(e.Defaults=r({},c.Defaults,e.Defaults));for(d in e)f=e[d],u[d]="function"==typeof f&&c[d]?s(d,f):f;return t.prototype=u,t.constructor=t,t.extend=i,t},t}),r(W,[z],function(e){function t(e){for(var t=[],n=e.length,r;n--;)r=e[n],r.__checked||(t.push(r),r.__checked=1);for(n=t.length;n--;)delete t[n].__checked;return t}var n=/^([\w\\*]+)?(?:#([\w\\]+))?(?:\.([\w\\\.]+))?(?:\[\@?([\w\\]+)([\^\$\*!~]?=)([\w\\]+)\])?(?:\:(.+))?/i,r=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,i=/^\s*|\s*$/g,o,a=e.extend({init:function(e){function t(e){return e?(e=e.toLowerCase(),function(t){return"*"===e||t.type===e}):void 0}function o(e){return e?function(t){return t._name===e}:void 0}function a(e){return e?(e=e.split("."),function(t){for(var n=e.length;n--;)if(!t.hasClass(e[n]))return!1;return!0}):void 0}function s(e,t,n){return e?function(r){var i=r[e]?r[e]():"";return t?"="===t?i===n:"*="===t?i.indexOf(n)>=0:"~="===t?(" "+i+" ").indexOf(" "+n+" ")>=0:"!="===t?i!=n:"^="===t?0===i.indexOf(n):"$="===t?i.substr(i.length-n.length)===n:!1:!!n}:void 0}function l(e){var t;return e?(e=/(?:not\((.+)\))|(.+)/i.exec(e),e[1]?(t=u(e[1],[]),function(e){return!d(e,t)}):(e=e[2],function(t,n,r){return"first"===e?0===n:"last"===e?n===r-1:"even"===e?n%2===0:"odd"===e?n%2===1:t[e]?t[e]():!1})):void 0}function c(e,r,c){function u(e){e&&r.push(e)}var d;return d=n.exec(e.replace(i,"")),u(t(d[1])),u(o(d[2])),u(a(d[3])),u(s(d[4],d[5],d[6])),u(l(d[7])),r.psuedo=!!d[7],r.direct=c,r}function u(e,t){var n=[],i,o,a;do if(r.exec(""),o=r.exec(e),o&&(e=o[3],n.push(o[1]),o[2])){i=o[3];break}while(o);for(i&&u(i,t),e=[],a=0;a<n.length;a++)">"!=n[a]&&e.push(c(n[a],[],">"===n[a-1]));return t.push(e),t}var d=this.match;this._selectors=u(e,[])},match:function(e,t){var n,r,i,o,a,s,l,c,u,d,f,p,m;for(t=t||this._selectors,n=0,r=t.length;r>n;n++){for(a=t[n],o=a.length,m=e,p=0,i=o-1;i>=0;i--)for(c=a[i];m;){if(c.psuedo)for(f=m.parent().items(),u=d=f.length;u--&&f[u]!==m;);for(s=0,l=c.length;l>s;s++)if(!c[s](m,u,d)){s=l+1;break}if(s===l){p++;break}if(i===o-1)break;m=m.parent()}if(p===o)return!0}return!1},find:function(e){function n(e,t,i){var o,a,s,l,c,u=t[i];for(o=0,a=e.length;a>o;o++){for(c=e[o],s=0,l=u.length;l>s;s++)if(!u[s](c,o,a)){s=l+1;break}if(s===l)i==t.length-1?r.push(c):c.items&&n(c.items(),t,i+1);else if(u.direct)return;c.items&&n(c.items(),t,i)}}var r=[],i,s,l=this._selectors;if(e.items){for(i=0,s=l.length;s>i;i++)n(e.items(),l[i],0);s>1&&(r=t(r))}return o||(o=a.Collection),new o(r)}});return a}),r(V,[p,W,z],function(e,t,n){var r,i,o=Array.prototype.push,a=Array.prototype.slice;return i={length:0,init:function(e){e&&this.add(e)},add:function(t){var n=this;return e.isArray(t)?o.apply(n,t):t instanceof r?n.add(t.toArray()):o.call(n,t),n},set:function(e){var t=this,n=t.length,r;for(t.length=0,t.add(e),r=t.length;n>r;r++)delete t[r];return t},filter:function(e){var n=this,i,o,a=[],s,l;for("string"==typeof e?(e=new t(e),l=function(t){return e.match(t)}):l=e,i=0,o=n.length;o>i;i++)s=n[i],l(s)&&a.push(s);return new r(a)},slice:function(){return new r(a.apply(this,arguments))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},each:function(t){return e.each(this,t),this},toArray:function(){return e.toArray(this)},indexOf:function(e){for(var t=this,n=t.length;n--&&t[n]!==e;);return n},reverse:function(){return new r(e.toArray(this).reverse())},hasClass:function(e){return this[0]?this[0].hasClass(e):!1},prop:function(e,t){var n=this,r,i;return t!==r?(n.each(function(n){n[e]&&n[e](t)}),n):(i=n[0],i&&i[e]?i[e]():void 0)},exec:function(t){var n=this,r=e.toArray(arguments).slice(1);return n.each(function(e){e[t]&&e[t].apply(e,r)}),n},remove:function(){for(var e=this.length;e--;)this[e].remove();return this}},e.each("fire on off show hide addClass removeClass append prepend before after reflow".split(" "),function(t){i[t]=function(){var n=e.toArray(arguments);return this.each(function(e){t in e&&e[t].apply(e,n)}),this}}),e.each("text name disabled active selected checked visible parent value data".split(" "),function(e){i[e]=function(t){return this.prop(e,t)}}),r=n.extend(i),t.Collection=r,r}),r(U,[p,y],function(e,t){return{id:function(){return t.DOM.uniqueId()},createFragment:function(e){return t.DOM.createFragment(e)},getWindowSize:function(){return t.DOM.getViewPort()},getSize:function(e){var t,n;if(e.getBoundingClientRect){var r=e.getBoundingClientRect();t=Math.max(r.width||r.right-r.left,e.offsetWidth),n=Math.max(r.height||r.bottom-r.bottom,e.offsetHeight)}else t=e.offsetWidth,n=e.offsetHeight;return{width:t,height:n}},getPos:function(e,n){return t.DOM.getPos(e,n)},getViewPort:function(e){return t.DOM.getViewPort(e)},get:function(e){return document.getElementById(e)},addClass:function(e,n){return t.DOM.addClass(e,n)},removeClass:function(e,n){return t.DOM.removeClass(e,n)},hasClass:function(e,n){return t.DOM.hasClass(e,n)},toggleClass:function(e,n,r){return t.DOM.toggleClass(e,n,r)},css:function(e,n,r){return t.DOM.setStyle(e,n,r)},on:function(e,n,r,i){return t.DOM.bind(e,n,r,i)},off:function(e,n,r){return t.DOM.unbind(e,n,r)},fire:function(e,n,r){return t.DOM.fire(e,n,r)},innerHtml:function(e,n){t.DOM.setHTML(e,n)}}}),r(q,[z,p,V,U],function(e,t,n,r){var i=t.makeMap("focusin focusout scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave wheel keydown keypress keyup contextmenu"," "),o={},a="onmousewheel"in document,s=!1,l="mce-",c=e.extend({Statics:{elementIdCache:o,classPrefix:l},isRtl:function(){return c.rtl},classPrefix:l,init:function(e){var n=this,i,o;if(n.settings=e=t.extend({},n.Defaults,e),n._id=e.id||r.id(),n._text=n._name="",n._width=n._height=0,n._aria={role:e.role},i=e.classes)for(i=i.split(" "),i.map={},o=i.length;o--;)i.map[i[o]]=!0;n._classes=i||[],n.visible(!0),t.each("title text width height name classes visible disabled active value".split(" "),function(t){var r=e[t],i;r!==i?n[t](r):n["_"+t]===i&&(n["_"+t]=!1)}),n.on("click",function(){return n.disabled()?!1:void 0}),e.classes&&t.each(e.classes.split(" "),function(e){n.addClass(e)}),n.settings=e,n._borderBox=n.parseBox(e.border),n._paddingBox=n.parseBox(e.padding),n._marginBox=n.parseBox(e.margin),e.hidden&&n.hide()},Properties:"parent,title,text,width,height,disabled,active,name,value",Methods:"renderHtml",getContainerElm:function(){return document.body},getParentCtrl:function(e){for(var t,n=this.getRoot().controlIdLookup;e&&n&&!(t=n[e.id]);)e=e.parentNode;return t},parseBox:function(e){var t,n=10;if(e)return"number"==typeof e?(e=e||0,{top:e,left:e,bottom:e,right:e}):(e=e.split(" "),t=e.length,1===t?e[1]=e[2]=e[3]=e[0]:2===t?(e[2]=e[0],e[3]=e[1]):3===t&&(e[3]=e[1]),{top:parseInt(e[0],n)||0,right:parseInt(e[1],n)||0,bottom:parseInt(e[2],n)||0,left:parseInt(e[3],n)||0})},borderBox:function(){return this._borderBox},paddingBox:function(){return this._paddingBox},marginBox:function(){return this._marginBox},measureBox:function(e,t){function n(t){var n=document.defaultView;return n?(t=t.replace(/[A-Z]/g,function(e){return"-"+e}),n.getComputedStyle(e,null).getPropertyValue(t)):e.currentStyle[t]}function r(e){var t=parseFloat(n(e),10);return isNaN(t)?0:t}return{top:r(t+"TopWidth"),right:r(t+"RightWidth"),bottom:r(t+"BottomWidth"),left:r(t+"LeftWidth")}},initLayoutRect:function(){var e=this,t=e.settings,n,i,o=e.getEl(),a,s,l,c,u,d,f,p;n=e._borderBox=e._borderBox||e.measureBox(o,"border"),e._paddingBox=e._paddingBox||e.measureBox(o,"padding"),e._marginBox=e._marginBox||e.measureBox(o,"margin"),p=r.getSize(o),d=t.minWidth,f=t.minHeight,l=d||p.width,c=f||p.height,a=t.width,s=t.height,u=t.autoResize,u="undefined"!=typeof u?u:!a&&!s,a=a||l,s=s||c;var m=n.left+n.right,h=n.top+n.bottom,g=t.maxWidth||65535,v=t.maxHeight||65535;return e._layoutRect=i={x:t.x||0,y:t.y||0,w:a,h:s,deltaW:m,deltaH:h,contentW:a-m,contentH:s-h,innerW:a-m,innerH:s-h,startMinWidth:d||0,startMinHeight:f||0,minW:Math.min(l,g),minH:Math.min(c,v),maxW:g,maxH:v,autoResize:u,scrollW:0},e._lastLayoutRect={},i},layoutRect:function(e){var t=this,n=t._layoutRect,r,i,o,a,s,l;return n||(n=t.initLayoutRect()),e?(o=n.deltaW,a=n.deltaH,e.x!==s&&(n.x=e.x),e.y!==s&&(n.y=e.y),e.minW!==s&&(n.minW=e.minW),e.minH!==s&&(n.minH=e.minH),i=e.w,i!==s&&(i=i<n.minW?n.minW:i,i=i>n.maxW?n.maxW:i,n.w=i,n.innerW=i-o),i=e.h,i!==s&&(i=i<n.minH?n.minH:i,i=i>n.maxH?n.maxH:i,n.h=i,n.innerH=i-a),i=e.innerW,i!==s&&(i=i<n.minW-o?n.minW-o:i,i=i>n.maxW-o?n.maxW-o:i,n.innerW=i,n.w=i+o),i=e.innerH,i!==s&&(i=i<n.minH-a?n.minH-a:i,i=i>n.maxH-a?n.maxH-a:i,n.innerH=i,n.h=i+a),e.contentW!==s&&(n.contentW=e.contentW),e.contentH!==s&&(n.contentH=e.contentH),r=t._lastLayoutRect,(r.x!==n.x||r.y!==n.y||r.w!==n.w||r.h!==n.h)&&(l=c.repaintControls,l&&l.map&&!l.map[t._id]&&(l.push(t),l.map[t._id]=!0),r.x=n.x,r.y=n.y,r.w=n.w,r.h=n.h),t):n},repaint:function(){var e=this,t,n,r,i,o=0,a=0,s,l;l=document.createRange?function(e){return e}:Math.round,t=e.getEl().style,r=e._layoutRect,s=e._lastRepaintRect||{},i=e._borderBox,o=i.left+i.right,a=i.top+i.bottom,r.x!==s.x&&(t.left=l(r.x)+"px",s.x=r.x),r.y!==s.y&&(t.top=l(r.y)+"px",s.y=r.y),r.w!==s.w&&(t.width=l(r.w-o)+"px",s.w=r.w),r.h!==s.h&&(t.height=l(r.h-a)+"px",s.h=r.h),e._hasBody&&r.innerW!==s.innerW&&(n=e.getEl("body").style,n.width=l(r.innerW)+"px",s.innerW=r.innerW),e._hasBody&&r.innerH!==s.innerH&&(n=n||e.getEl("body").style,n.height=l(r.innerH)+"px",s.innerH=r.innerH),e._lastRepaintRect=s,e.fire("repaint",{},!1)},on:function(e,t){function n(e){var t,n;return function(i){return t||r.parentsAndSelf().each(function(r){var i=r.settings.callbacks;return i&&(t=i[e])?(n=r,!1):void 0}),t.call(n,i)}}var r=this,o,a,s,l;if(t)for("string"==typeof t&&(t=n(t)),s=e.toLowerCase().split(" "),l=s.length;l--;)e=s[l],o=r._bindings,o||(o=r._bindings={}),a=o[e],a||(a=o[e]=[]),a.push(t),i[e]&&(r._nativeEvents||(r._nativeEvents={}),r._nativeEvents[e]=!0,r._rendered&&r.bindPendingEvents());return r},off:function(e,t){var n=this,r,i=n._bindings,o,a,s,l;if(i)if(e)for(s=e.toLowerCase().split(" "),r=s.length;r--;){if(e=s[r],o=i[e],!e){for(a in i)i[a].length=0;return n}if(o)if(t)for(l=o.length;l--;)o[l]===t&&o.splice(l,1);else o.length=0}else n._bindings=[];return n},fire:function(e,t,n){function r(){return!1}function i(){return!0}var o=this,a,s,l,c;if(e=e.toLowerCase(),t=t||{},t.type||(t.type=e),t.control||(t.control=o),t.preventDefault||(t.preventDefault=function(){t.isDefaultPrevented=i},t.stopPropagation=function(){t.isPropagationStopped=i},t.stopImmediatePropagation=function(){t.isImmediatePropagationStopped=i},t.isDefaultPrevented=r,t.isPropagationStopped=r,t.isImmediatePropagationStopped=r),o._bindings&&(l=o._bindings[e]))for(a=0,s=l.length;s>a&&(t.isImmediatePropagationStopped()||l[a].call(o,t)!==!1);a++);if(n!==!1)for(c=o.parent();c&&!t.isPropagationStopped();)c.fire(e,t,!1),c=c.parent();return t},hasEventListeners:function(e){return e in this._bindings},parents:function(e){var t=this,r,i=new n;for(r=t.parent();r;r=r.parent())i.add(r);return e&&(i=i.filter(e)),i},parentsAndSelf:function(e){return new n(this).add(this.parents(e))},next:function(){var e=this.parent().items();return e[e.indexOf(this)+1]},prev:function(){var e=this.parent().items();return e[e.indexOf(this)-1]},findCommonAncestor:function(e,t){for(var n;e;){for(n=t;n&&e!=n;)n=n.parent();if(e==n)break;e=e.parent()}return e},hasClass:function(e,t){var n=this._classes[t||"control"];return e=this.classPrefix+e,n&&!!n.map[e]},addClass:function(e,t){var n=this,r,i;return e=this.classPrefix+e,r=n._classes[t||"control"],r||(r=[],r.map={},n._classes[t||"control"]=r),r.map[e]||(r.map[e]=e,r.push(e),n._rendered&&(i=n.getEl(t),i&&(i.className=r.join(" ")))),n},removeClass:function(e,t){var n=this,r,i,o;if(e=this.classPrefix+e,r=n._classes[t||"control"],r&&r.map[e])for(delete r.map[e],i=r.length;i--;)r[i]===e&&r.splice(i,1);return n._rendered&&(o=n.getEl(t),o&&(o.className=r.join(" "))),n},toggleClass:function(e,t,n){var r=this;return t?r.addClass(e,n):r.removeClass(e,n),r},classes:function(e){var t=this._classes[e||"control"];return t?t.join(" "):""},innerHtml:function(e){return r.innerHtml(this.getEl(),e),this},getEl:function(e,t){var n,i=e?this._id+"-"+e:this._id;return n=o[i]=(t===!0?null:o[i])||r.get(i)},visible:function(e){var t=this,n;return"undefined"!=typeof e?(t._visible!==e&&(t._rendered&&(t.getEl().style.display=e?"":"none"),t._visible=e,n=t.parent(),n&&(n._lastRect=null),t.fire(e?"show":"hide")),t):t._visible},show:function(){return this.visible(!0)},hide:function(){return this.visible(!1)},focus:function(){try{this.getEl().focus()}catch(e){}return this},blur:function(){return this.getEl().blur(),this},aria:function(e,t){var n=this,r=n.getEl(n.ariaTarget);return"undefined"==typeof t?n._aria[e]:(n._aria[e]=t,n._rendered&&r.setAttribute("role"==e?e:"aria-"+e,t),n)},encode:function(e,t){return t!==!1&&(e=this.translate(e)),(e||"").replace(/[&<>"]/g,function(e){return"&#"+e.charCodeAt(0)+";"})},translate:function(e){return c.translate?c.translate(e):e},before:function(e){var t=this,n=t.parent();return n&&n.insert(e,n.items().indexOf(t),!0),t},after:function(e){var t=this,n=t.parent();return n&&n.insert(e,n.items().indexOf(t)),t},remove:function(){var e=this,t=e.getEl(),n=e.parent(),i,a;if(e.items){var s=e.items().toArray();for(a=s.length;a--;)s[a].remove()}n&&n.items&&(i=[],n.items().each(function(t){t!==e&&i.push(t)}),n.items().set(i),n._lastRect=null),e._eventsRoot&&e._eventsRoot==e&&r.off(t);var l=e.getRoot().controlIdLookup;if(l&&delete l[e._id],delete o[e._id],t&&t.parentNode){var c=t.getElementsByTagName("*");for(a=c.length;a--;)delete o[c[a].id];t.parentNode.removeChild(t)}return e._rendered=!1,e},renderBefore:function(e){var t=this;return e.parentNode.insertBefore(r.createFragment(t.renderHtml()),e),t.postRender(),t},renderTo:function(e){var t=this;return e=e||t.getContainerElm(),e.appendChild(r.createFragment(t.renderHtml())),t.postRender(),t},postRender:function(){var e=this,t=e.settings,n,i,o,a,s;for(a in t)0===a.indexOf("on")&&e.on(a.substr(2),t[a]);if(e._eventsRoot){for(o=e.parent();!s&&o;o=o.parent())s=o._eventsRoot;if(s)for(a in s._nativeEvents)e._nativeEvents[a]=!0}e.bindPendingEvents(),t.style&&(n=e.getEl(),n&&(n.setAttribute("style",t.style),n.style.cssText=t.style)),e._visible||r.css(e.getEl(),"display","none"),e.settings.border&&(i=e.borderBox(),r.css(e.getEl(),{"border-top-width":i.top,"border-right-width":i.right,"border-bottom-width":i.bottom,"border-left-width":i.left}));var l=e.getRoot();l.controlIdLookup||(l.controlIdLookup={}),l.controlIdLookup[e._id]=e;for(var c in e._aria)e.aria(c,e._aria[c]);e.fire("postrender",{},!1)},scrollIntoView:function(e){function t(e,t){var n,r,i=e;for(n=r=0;i&&i!=t&&i.nodeType;)n+=i.offsetLeft||0,r+=i.offsetTop||0,i=i.offsetParent;return{x:n,y:r}}var n=this.getEl(),r=n.parentNode,i,o,a,s,l,c,u=t(n,r);return i=u.x,o=u.y,a=n.offsetWidth,s=n.offsetHeight,l=r.clientWidth,c=r.clientHeight,"end"==e?(i-=l-a,o-=c-s):"center"==e&&(i-=l/2-a/2,o-=c/2-s/2),r.scrollLeft=i,r.scrollTop=o,this},bindPendingEvents:function(){function e(e){var t=o.getParentCtrl(e.target);t&&t.fire(e.type,e)}function t(){var e=d._lastHoverCtrl;e&&(e.fire("mouseleave",{target:e.getEl()}),e.parents().each(function(e){e.fire("mouseleave",{target:e.getEl()})}),d._lastHoverCtrl=null)}function n(e){var t=o.getParentCtrl(e.target),n=d._lastHoverCtrl,r=0,i,a,s;if(t!==n){if(d._lastHoverCtrl=t,a=t.parents().toArray().reverse(),a.push(t),n){for(s=n.parents().toArray().reverse(),s.push(n),r=0;r<s.length&&a[r]===s[r];r++);for(i=s.length-1;i>=r;i--)n=s[i],n.fire("mouseleave",{target:n.getEl()})}for(i=r;i<a.length;i++)t=a[i],t.fire("mouseenter",{target:t.getEl()})}}function i(e){e.preventDefault(),"mousewheel"==e.type?(e.deltaY=-1/40*e.wheelDelta,e.wheelDeltaX&&(e.deltaX=-1/40*e.wheelDeltaX)):(e.deltaX=0,e.deltaY=e.detail),e=o.fire("wheel",e)}var o=this,l,c,u,d,f,p;if(o._rendered=!0,f=o._nativeEvents){for(u=o.parents().toArray(),u.unshift(o),l=0,c=u.length;!d&&c>l;l++)d=u[l]._eventsRoot;for(d||(d=u[u.length-1]||o),o._eventsRoot=d,c=l,l=0;c>l;l++)u[l]._eventsRoot=d;var m=d._delegates;m||(m=d._delegates={});for(p in f){if(!f)return!1;"wheel"!==p||s?("mouseenter"===p||"mouseleave"===p?d._hasMouseEnter||(r.on(d.getEl(),"mouseleave",t),r.on(d.getEl(),"mouseover",n),d._hasMouseEnter=1):m[p]||(r.on(d.getEl(),p,e),m[p]=!0),f[p]=!1):a?r.on(o.getEl(),"mousewheel",i):r.on(o.getEl(),"DOMMouseScroll",i)}}},getRoot:function(){for(var e=this,t,n=[];e;){if(e.rootControl){t=e.rootControl;break}n.push(e),t=e,e=e.parent()}t||(t=this);for(var r=n.length;r--;)n[r].rootControl=t;return t},reflow:function(){return this.repaint(),this}});return c}),r($,[],function(){var e={},t;return{add:function(t,n){e[t.toLowerCase()]=n},has:function(t){return!!e[t.toLowerCase()]},create:function(n,r){var i,o,a;if(!t){a=tinymce.ui;for(o in a)e[o.toLowerCase()]=a[o];t=!0}if("string"==typeof n?(r=r||{},r.type=n):(r=n,n=r.type),n=n.toLowerCase(),i=e[n],!i)throw new Error("Could not find control by type: "+n);return i=new i(r),i.type=n,i}}}),r(j,[],function(){return function(e){function t(e){return e=e||b,e&&e.getAttribute("role")}function n(e){for(var n,r=e||b;r=r.parentNode;)if(n=t(r))return n}function r(e){var t=b;return t?t.getAttribute("aria-"+e):void 0}function i(e){var t=e.tagName.toUpperCase();return"INPUT"==t||"TEXTAREA"==t}function o(e){return i(e)&&!e.hidden?!0:/^(button|menuitem|checkbox|tab|menuitemcheckbox|option|gridcell)$/.test(t(e))?!0:!1}function a(e){function t(e){if(1==e.nodeType&&"none"!=e.style.display){o(e)&&n.push(e);for(var r=0;r<e.childNodes.length;r++)t(e.childNodes[r])}}var n=[];return t(e||y.getEl()),n}function s(e){var t,n;e=e||C,n=e.parents().toArray(),n.unshift(e);for(var r=0;r<n.length&&(t=n[r],!t.settings.ariaRoot);r++);return t}function l(e){var t=s(e),n=a(t.getEl());t.settings.ariaRemember&&"lastAriaIndex"in t?c(t.lastAriaIndex,n):c(0,n)}function c(e,t){return 0>e?e=t.length-1:e>=t.length&&(e=0),t[e]&&t[e].focus(),e}function u(e,t){var n=-1,r=s();t=t||a(r.getEl());for(var i=0;i<t.length;i++)t[i]===b&&(n=i);n+=e,r.lastAriaIndex=c(n,t)}function d(){var e=n();"tablist"==e?u(-1,a(b.parentNode)):C.parent().submenu?g():u(-1)}function f(){var e=t(),i=n();"tablist"==i?u(1,a(b.parentNode)):"menuitem"==e&&"menu"==i&&r("haspopup")?v():u(1)}function p(){u(-1)}function m(){var e=t(),i=n();"menuitem"==e&&"menubar"==i?v():"button"==e&&r("haspopup")?v({key:"down"}):u(1)}function h(e){var t=n();if("tablist"==t){var r=a(C.getEl("body"))[0];r&&r.focus()}else u(e.shiftKey?-1:1)}function g(){C.fire("cancel")}function v(e){e=e||{},C.fire("click",{target:b,aria:e})}var y=e.root,b,C;return b=document.activeElement,C=y.getParentCtrl(b),y.on("keydown",function(e){function t(e,t){i(b)||t(e)!==!1&&e.preventDefault()}if(!e.isDefaultPrevented())switch(e.keyCode){case 37:t(e,d);break;case 39:t(e,f);break;case 38:t(e,p);break;case 40:t(e,m);break;case 27:g();break;case 14:case 13:case 32:t(e,v);break;case 9:h(e)!==!1&&e.preventDefault()}}),y.on("focusin",function(e){b=e.target,C=e.control}),{focusFirst:l}}}),r(K,[q,V,W,$,j,p,U],function(e,t,n,r,i,o,a){var s={};return e.extend({layout:"",innerClass:"container-inner",init:function(e){var n=this;n._super(e),e=n.settings,n._fixed=e.fixed,n._items=new t,n.isRtl()&&n.addClass("rtl"),n.addClass("container"),n.addClass("container-body","body"),e.containerCls&&n.addClass(e.containerCls),n._layout=r.create((e.layout||n.layout)+"layout"),n.settings.items&&n.add(n.settings.items),n._hasBody=!0},items:function(){return this._items},find:function(e){return e=s[e]=s[e]||new n(e),e.find(this)},add:function(e){var t=this;return t.items().add(t.create(e)).parent(t),t},focus:function(e){var t=this,n,r,i;return e&&(r=t.keyboardNav||t.parents().eq(-1)[0].keyboardNav)?void r.focusFirst(t):(i=t.find("*"),t.statusbar&&i.add(t.statusbar.items()),i.each(function(e){return e.settings.autofocus?(n=null,!1):void(e.canFocus&&(n=n||e))}),n&&n.focus(),t)},replace:function(e,t){for(var n,r=this.items(),i=r.length;i--;)if(r[i]===e){r[i]=t;break}i>=0&&(n=t.getEl(),n&&n.parentNode.removeChild(n),n=e.getEl(),n&&n.parentNode.removeChild(n)),t.parent(this)},create:function(t){var n=this,i,a=[];return o.isArray(t)||(t=[t]),o.each(t,function(t){t&&(t instanceof e||("string"==typeof t&&(t={type:t}),i=o.extend({},n.settings.defaults,t),t.type=i.type=i.type||t.type||n.settings.defaultType||(i.defaults?i.defaults.type:null),t=r.create(i)),a.push(t))}),a},renderNew:function(){var e=this;return e.items().each(function(t,n){var r,i;t.parent(e),t._rendered||(r=e.getEl("body"),i=a.createFragment(t.renderHtml()),r.hasChildNodes()&&n<=r.childNodes.length-1?r.insertBefore(i,r.childNodes[n]):r.appendChild(i),t.postRender())}),e._layout.applyClasses(e),e._lastRect=null,e},append:function(e){return this.add(e).renderNew()},prepend:function(e){var t=this;return t.items().set(t.create(e).concat(t.items().toArray())),t.renderNew()},insert:function(e,t,n){var r=this,i,o,a;return e=r.create(e),i=r.items(),!n&&t<i.length-1&&(t+=1),t>=0&&t<i.length&&(o=i.slice(0,t).toArray(),a=i.slice(t).toArray(),i.set(o.concat(e,a))),r.renderNew()},fromJSON:function(e){var t=this;for(var n in e)t.find("#"+n).value(e[n]);return t},toJSON:function(){var e=this,t={};return e.find("*").each(function(e){var n=e.name(),r=e.value();n&&"undefined"!=typeof r&&(t[n]=r)}),t},preRender:function(){},renderHtml:function(){var e=this,t=e._layout,n=this.settings.role;return e.preRender(),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes()+'"'+(n?' role="'+this.settings.role+'"':"")+'><div id="'+e._id+'-body" class="'+e.classes("body")+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"},postRender:function(){var e=this,t;return e.items().exec("postRender"),e._super(),e._layout.postRender(e),e._rendered=!0,e.settings.style&&a.css(e.getEl(),e.settings.style),e.settings.border&&(t=e.borderBox(),a.css(e.getEl(),{"border-top-width":t.top,"border-right-width":t.right,"border-bottom-width":t.bottom,"border-left-width":t.left})),e.parent()||(e.keyboardNav=new i({root:e})),e},initLayoutRect:function(){var e=this,t=e._super();return e._layout.recalc(e),t},recalc:function(){var e=this,t=e._layoutRect,n=e._lastRect;return n&&n.w==t.w&&n.h==t.h?void 0:(e._layout.recalc(e),t=e.layoutRect(),e._lastRect={x:t.x,y:t.y,w:t.w,h:t.h},!0)},reflow:function(){var t;if(this.visible()){for(e.repaintControls=[],e.repaintControls.map={},this.recalc(),t=e.repaintControls.length;t--;)e.repaintControls[t].repaint();"flow"!==this.settings.layout&&"stack"!==this.settings.layout&&this.repaint(),e.repaintControls=[]}return this}})}),r(Y,[U],function(e){function t(){var e=document,t,n,r,i,o,a,s,l,c=Math.max;return t=e.documentElement,n=e.body,r=c(t.scrollWidth,n.scrollWidth),i=c(t.clientWidth,n.clientWidth),o=c(t.offsetWidth,n.offsetWidth),a=c(t.scrollHeight,n.scrollHeight),s=c(t.clientHeight,n.clientHeight),l=c(t.offsetHeight,n.offsetHeight),{width:o>r?i:r,height:l>a?s:a}}return function(n,r){function i(){return a.getElementById(r.handle||n)}var o,a=document,s,l,c,u,d,f;r=r||{},l=function(n){var l=t(),p,m;n.preventDefault(),s=n.button,p=i(),d=n.screenX,f=n.screenY,m=window.getComputedStyle?window.getComputedStyle(p,null).getPropertyValue("cursor"):p.runtimeStyle.cursor,o=a.createElement("div"),e.css(o,{position:"absolute",top:0,left:0,width:l.width,height:l.height,zIndex:2147483647,opacity:1e-4,background:"red",cursor:m}),a.body.appendChild(o),e.on(a,"mousemove",u),e.on(a,"mouseup",c),r.start(n)},u=function(e){return e.button!==s?c(e):(e.deltaX=e.screenX-d,e.deltaY=e.screenY-f,e.preventDefault(),void r.drag(e))},c=function(t){e.off(a,"mousemove",u),e.off(a,"mouseup",c),o.parentNode.removeChild(o),r.stop&&r.stop(t)},this.destroy=function(){e.off(i())},e.on(i(),"mousedown",l)}}),r(G,[U,Y],function(e,t){return{init:function(){var e=this;e.on("repaint",e.renderScroll)},renderScroll:function(){function n(){function t(t,a,s,l,c,u){var d,f,p,m,h,g,v,y,b;if(f=i.getEl("scroll"+t)){if(y=a.toLowerCase(),b=s.toLowerCase(),i.getEl("absend")&&e.css(i.getEl("absend"),y,i.layoutRect()[l]-1),!c)return void e.css(f,"display","none");e.css(f,"display","block"),d=i.getEl("body"),p=i.getEl("scroll"+t+"t"),m=d["client"+s]-2*o,m-=n&&r?f["client"+u]:0,h=d["scroll"+s],g=m/h,v={},v[y]=d["offset"+a]+o,v[b]=m,e.css(f,v),v={},v[y]=d["scroll"+a]*g,v[b]=m*g,e.css(p,v)}}var n,r,a;a=i.getEl("body"),n=a.scrollWidth>a.clientWidth,r=a.scrollHeight>a.clientHeight,t("h","Left","Width","contentW",n,"Height"),t("v","Top","Height","contentH",r,"Width")}function r(){function n(n,r,a,s,l){var c,u=i._id+"-scroll"+n,d=i.classPrefix;i.getEl().appendChild(e.createFragment('<div id="'+u+'" class="'+d+"scrollbar "+d+"scrollbar-"+n+'"><div id="'+u+'t" class="'+d+'scrollbar-thumb"></div></div>')),i.draghelper=new t(u+"t",{start:function(){c=i.getEl("body")["scroll"+r],e.addClass(e.get(u),d+"active")},drag:function(e){var t,u,d,f,p=i.layoutRect();u=p.contentW>p.innerW,d=p.contentH>p.innerH,f=i.getEl("body")["client"+a]-2*o,f-=u&&d?i.getEl("scroll"+n)["client"+l]:0,t=f/i.getEl("body")["scroll"+a],i.getEl("body")["scroll"+r]=c+e["delta"+s]/t},stop:function(){e.removeClass(e.get(u),d+"active")}})}i.addClass("scroll"),n("v","Top","Height","Y","Width"),n("h","Left","Width","X","Height")}var i=this,o=2;i.settings.autoScroll&&(i._hasScroll||(i._hasScroll=!0,r(),i.on("wheel",function(e){var t=i.getEl("body");t.scrollLeft+=10*(e.deltaX||0),t.scrollTop+=10*e.deltaY,n()}),e.on(i.getEl("body"),"scroll",n)),n())}}}),r(X,[K,G],function(e,t){return e.extend({Defaults:{layout:"fit",containerCls:"panel"},Mixins:[t],renderHtml:function(){var e=this,t=e._layout,n=e.settings.html;return e.preRender(),t.preRender(e),"undefined"==typeof n?n='<div id="'+e._id+'-body" class="'+e.classes("body")+'">'+t.renderHtml(e)+"</div>":("function"==typeof n&&(n=n.call(e)),e._hasBody=!1),'<div id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1" role="group">'+(e._preBodyHtml||"")+n+"</div>"}})}),r(J,[U],function(e){function t(t,n,r){var i,o,a,s,l,c,u,d,f,p;return f=e.getViewPort(),o=e.getPos(n),a=o.x,s=o.y,t._fixed&&(a-=f.x,s-=f.y),i=t.getEl(),p=e.getSize(i),l=p.width,c=p.height,p=e.getSize(n),u=p.width,d=p.height,r=(r||"").split(""),"b"===r[0]&&(s+=d),"r"===r[1]&&(a+=u),"c"===r[0]&&(s+=Math.round(d/2)),"c"===r[1]&&(a+=Math.round(u/2)),"b"===r[3]&&(s-=c),"r"===r[4]&&(a-=l),"c"===r[3]&&(s-=Math.round(c/2)),"c"===r[4]&&(a-=Math.round(l/2)),{x:a,y:s,w:l,h:c}}return{testMoveRel:function(n,r){for(var i=e.getViewPort(),o=0;o<r.length;o++){var a=t(this,n,r[o]);if(this._fixed){if(a.x>0&&a.x+a.w<i.w&&a.y>0&&a.y+a.h<i.h)return r[o]}else if(a.x>i.x&&a.x+a.w<i.w+i.x&&a.y>i.y&&a.y+a.h<i.h+i.y)return r[o]}return r[0]},moveRel:function(e,n){"string"!=typeof n&&(n=this.testMoveRel(e,n));var r=t(this,e,n);return this.moveTo(r.x,r.y)},moveBy:function(e,t){var n=this,r=n.layoutRect();return n.moveTo(r.x+e,r.y+t),n},moveTo:function(t,n){function r(e,t,n){return 0>e?0:e+n>t?(e=t-n,0>e?0:e):e}var i=this;if(i.settings.constrainToViewport){var o=e.getViewPort(window),a=i.layoutRect();t=r(t,o.w+o.x,a.w),n=r(n,o.h+o.y,a.h)}return i._rendered?i.layoutRect({x:t,y:n}).repaint():(i.settings.x=t,i.settings.y=n),i.fire("move",{x:t,y:n}),i}}}),r(Q,[U],function(e){return{resizeToContent:function(){this._layoutRect.autoResize=!0,this._lastRect=null,this.reflow()},resizeTo:function(t,n){if(1>=t||1>=n){var r=e.getWindowSize();t=1>=t?t*r.w:t,n=1>=n?n*r.h:n}return this._layoutRect.autoResize=!1,this.layoutRect({minW:t,minH:n,w:t,h:n}).reflow()},resizeBy:function(e,t){var n=this,r=n.layoutRect();return n.resizeTo(r.w+e,r.h+t)}}}),r(Z,[X,J,Q,U],function(e,t,n,r){function i(e){var t;for(t=s.length;t--;)s[t]===e&&s.splice(t,1);for(t=l.length;t--;)l[t]===e&&l.splice(t,1)}var o,a,s=[],l=[],c,u=e.extend({Mixins:[t,n],init:function(e){function t(){var e,t=u.zIndex||65535,n;if(l.length)for(e=0;e<l.length;e++)l[e].modal&&(t++,n=l[e]),l[e].getEl().style.zIndex=t,l[e].zIndex=t,t++;var i=document.getElementById(d.classPrefix+"modal-block");n?r.css(i,"z-index",n.zIndex-1):i&&(i.parentNode.removeChild(i),c=!1),u.currentZIndex=t}function n(e,t){for(;e;){if(e==t)return!0;e=e.parent()}}function i(e){function t(t,n){for(var r,i=0;i<s.length;i++)if(s[i]!=e)for(r=s[i].parent();r&&(r=r.parent());)r==e&&s[i].fixed(t).moveBy(0,n).repaint()}var n=r.getViewPort().y;e.settings.autofix&&(e._fixed?e._autoFixY>n&&(e.fixed(!1).layoutRect({y:e._autoFixY}).repaint(),t(!1,e._autoFixY-n)):(e._autoFixY=e.layoutRect().y,e._autoFixY<n&&(e.fixed(!0).layoutRect({y:0}).repaint(),t(!0,n-e._autoFixY))))}var d=this;d._super(e),d._eventsRoot=d,d.addClass("floatpanel"),e.autohide&&(o||(o=function(e){for(var t=s.length;t--;){var r=s[t],i=r.getParentCtrl(e.target);if(r.settings.autohide){if(i&&(n(i,r)||r.parent()===i))continue;e=r.fire("autohide",{target:e.target}),e.isDefaultPrevented()||r.hide()}}},r.on(document,"click",o)),s.push(d)),e.autofix&&(a||(a=function(){var e;for(e=s.length;e--;)i(s[e])},r.on(window,"scroll",a)),d.on("move",function(){i(this)})),d.on("postrender show",function(e){if(e.control==d){var n,i=d.classPrefix;d.modal&&!c&&(n=r.createFragment('<div id="'+i+'modal-block" class="'+i+"reset "+i+'fade"></div>'),n=n.firstChild,d.getContainerElm().appendChild(n),setTimeout(function(){r.addClass(n,i+"in"),r.addClass(d.getEl(),i+"in")
-},0),c=!0),l.push(d),t()}}),d.on("close hide",function(e){if(e.control==d){for(var n=l.length;n--;)l[n]===d&&l.splice(n,1);t()}}),d.on("show",function(){d.parents().each(function(e){return e._fixed?(d.fixed(!0),!1):void 0})}),e.popover&&(d._preBodyHtml='<div class="'+d.classPrefix+'arrow"></div>',d.addClass("popover").addClass("bottom").addClass(d.isRtl()?"end":"start"))},fixed:function(e){var t=this;if(t._fixed!=e){if(t._rendered){var n=r.getViewPort();e?t.layoutRect().y-=n.y:t.layoutRect().y+=n.y}t.toggleClass("fixed",e),t._fixed=e}return t},show:function(){var e=this,t,n=e._super();for(t=s.length;t--&&s[t]!==e;);return-1===t&&s.push(e),n},hide:function(){return i(this),this._super()},hideAll:function(){u.hideAll()},close:function(){var e=this;return e.fire("close"),e.remove()},remove:function(){i(this),this._super()},postRender:function(){var e=this;return e.settings.bodyRole&&this.getEl("body").setAttribute("role",e.settings.bodyRole),e._super()}});return u.hideAll=function(){for(var e=s.length;e--;){var t=s[e];t&&t.settings.autohide&&(t.hide(),s.splice(e,1))}},u}),r(et,[Z,X,U,Y],function(e,t,n,r){var i=e.extend({modal:!0,Defaults:{border:1,layout:"flex",containerCls:"panel",role:"dialog",callbacks:{submit:function(){this.fire("submit",{data:this.toJSON()})},close:function(){this.close()}}},init:function(e){var n=this;n._super(e),n.isRtl()&&n.addClass("rtl"),n.addClass("window"),n._fixed=!0,e.buttons&&(n.statusbar=new t({layout:"flex",border:"1 0 0 0",spacing:3,padding:10,align:"center",pack:n.isRtl()?"start":"end",defaults:{type:"button"},items:e.buttons}),n.statusbar.addClass("foot"),n.statusbar.parent(n)),n.on("click",function(e){-1!=e.target.className.indexOf(n.classPrefix+"close")&&n.close()}),n.on("cancel",function(){n.close()}),n.aria("describedby",n.describedBy||n._id+"-none"),n.aria("label",e.title),n._fullscreen=!1},recalc:function(){var e=this,t=e.statusbar,r,i,o,a;e._fullscreen&&(e.layoutRect(n.getWindowSize()),e.layoutRect().contentH=e.layoutRect().innerH),e._super(),r=e.layoutRect(),e.settings.title&&!e._fullscreen&&(i=r.headerW,i>r.w&&(o=r.x-Math.max(0,i/2),e.layoutRect({w:i,x:o}),a=!0)),t&&(t.layoutRect({w:e.layoutRect().innerW}).recalc(),i=t.layoutRect().minW+r.deltaW,i>r.w&&(o=r.x-Math.max(0,i-r.w),e.layoutRect({w:i,x:o}),a=!0)),a&&e.recalc()},initLayoutRect:function(){var e=this,t=e._super(),r=0,i;if(e.settings.title&&!e._fullscreen){i=e.getEl("head");var o=n.getSize(i);t.headerW=o.width,t.headerH=o.height,r+=t.headerH}e.statusbar&&(r+=e.statusbar.layoutRect().h),t.deltaH+=r,t.minH+=r,t.h+=r;var a=n.getWindowSize();return t.x=Math.max(0,a.w/2-t.w/2),t.y=Math.max(0,a.h/2-t.h/2),t},renderHtml:function(){var e=this,t=e._layout,n=e._id,r=e.classPrefix,i=e.settings,o="",a="",s=i.html;return e.preRender(),t.preRender(e),i.title&&(o='<div id="'+n+'-head" class="'+r+'window-head"><div id="'+n+'-title" class="'+r+'title">'+e.encode(i.title)+'</div><button type="button" class="'+r+'close" aria-hidden="true">\xd7</button><div id="'+n+'-dragh" class="'+r+'dragh"></div></div>'),i.url&&(s='<iframe src="'+i.url+'" tabindex="-1"></iframe>'),"undefined"==typeof s&&(s=t.renderHtml(e)),e.statusbar&&(a=e.statusbar.renderHtml()),'<div id="'+n+'" class="'+e.classes()+'" hidefocus="1"><div class="'+e.classPrefix+'reset" role="application">'+o+'<div id="'+n+'-body" class="'+e.classes("body")+'">'+s+"</div>"+a+"</div></div>"},fullscreen:function(e){var t=this,r=document.documentElement,i,o=t.classPrefix,a;if(e!=t._fullscreen)if(n.on(window,"resize",function(){var e;if(t._fullscreen)if(i)t._timer||(t._timer=setTimeout(function(){var e=n.getWindowSize();t.moveTo(0,0).resizeTo(e.w,e.h),t._timer=0},50));else{e=(new Date).getTime();var r=n.getWindowSize();t.moveTo(0,0).resizeTo(r.w,r.h),(new Date).getTime()-e>50&&(i=!0)}}),a=t.layoutRect(),t._fullscreen=e,e){t._initial={x:a.x,y:a.y,w:a.w,h:a.h},t._borderBox=t.parseBox("0"),t.getEl("head").style.display="none",a.deltaH-=a.headerH+2,n.addClass(r,o+"fullscreen"),n.addClass(document.body,o+"fullscreen"),t.addClass("fullscreen");var s=n.getWindowSize();t.moveTo(0,0).resizeTo(s.w,s.h)}else t._borderBox=t.parseBox(t.settings.border),t.getEl("head").style.display="",a.deltaH+=a.headerH,n.removeClass(r,o+"fullscreen"),n.removeClass(document.body,o+"fullscreen"),t.removeClass("fullscreen"),t.moveTo(t._initial.x,t._initial.y).resizeTo(t._initial.w,t._initial.h);return t.reflow()},postRender:function(){var e=this,t;setTimeout(function(){e.addClass("in")},0),e._super(),e.statusbar&&e.statusbar.postRender(),e.focus(),this.dragHelper=new r(e._id+"-dragh",{start:function(){t={x:e.layoutRect().x,y:e.layoutRect().y}},drag:function(n){e.moveTo(t.x+n.deltaX,t.y+n.deltaY)}}),e.on("submit",function(t){t.isDefaultPrevented()||e.close()})},submit:function(){return this.fire("submit",{data:this.toJSON()})},remove:function(){var e=this,t=e.classPrefix;e.dragHelper.destroy(),e._super(),e.statusbar&&this.statusbar.remove(),e._fullscreen&&(n.removeClass(document.documentElement,t+"fullscreen"),n.removeClass(document.body,t+"fullscreen"))},getContentWindow:function(){var e=this.getEl().getElementsByTagName("iframe")[0];return e?e.contentWindow:null}});return i}),r(tt,[et],function(e){var t=e.extend({init:function(e){e={border:1,padding:20,layout:"flex",pack:"center",align:"center",containerCls:"panel",autoScroll:!0,buttons:{type:"button",text:"Ok",action:"ok"},items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200}},this._super(e)},Statics:{OK:1,OK_CANCEL:2,YES_NO:3,YES_NO_CANCEL:4,msgBox:function(n){var r,i=n.callback||function(){};switch(n.buttons){case t.OK_CANCEL:r=[{type:"button",text:"Ok",subtype:"primary",onClick:function(e){e.control.parents()[1].close(),i(!0)}},{type:"button",text:"Cancel",onClick:function(e){e.control.parents()[1].close(),i(!1)}}];break;case t.YES_NO:r=[{type:"button",text:"Ok",subtype:"primary",onClick:function(e){e.control.parents()[1].close(),i(!0)}}];break;case t.YES_NO_CANCEL:r=[{type:"button",text:"Ok",subtype:"primary",onClick:function(e){e.control.parents()[1].close()}}];break;default:r=[{type:"button",text:"Ok",subtype:"primary",onClick:function(e){e.control.parents()[1].close(),i(!0)}}]}return new e({padding:20,x:n.x,y:n.y,minWidth:300,minHeight:100,layout:"flex",pack:"center",align:"center",buttons:r,title:n.title,role:"alertdialog",items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200,text:n.text},onPostRender:function(){this.aria("describedby",this.items()[0]._id)},onClose:n.onClose,onCancel:function(){i(!1)}}).renderTo(document.body).reflow()},alert:function(e,n){return"string"==typeof e&&(e={text:e}),e.callback=n,t.msgBox(e)},confirm:function(e,n){return"string"==typeof e&&(e={text:e}),e.callback=n,e.buttons=t.OK_CANCEL,t.msgBox(e)}}});return t}),r(nt,[et,tt],function(e,t){return function(n){function r(){return o.length?o[o.length-1]:void 0}var i=this,o=[];i.windows=o,i.open=function(t,r){var i;return n.editorManager.activeEditor=n,t.title=t.title||" ",t.url=t.url||t.file,t.url&&(t.width=parseInt(t.width||320,10),t.height=parseInt(t.height||240,10)),t.body&&(t.items={defaults:t.defaults,type:t.bodyType||"form",items:t.body}),t.url||t.buttons||(t.buttons=[{text:"Ok",subtype:"primary",onclick:function(){i.find("form")[0].submit()}},{text:"Cancel",onclick:function(){i.close()}}]),i=new e(t),o.push(i),i.on("close",function(){for(var e=o.length;e--;)o[e]===i&&o.splice(e,1);n.focus()}),t.data&&i.on("postRender",function(){this.find("*").each(function(e){var n=e.name();n in t.data&&e.value(t.data[n])})}),i.features=t||{},i.params=r||{},n.nodeChanged(),i.renderTo().reflow()},i.alert=function(e,r,i){t.alert(e,function(){r?r.call(i||this):n.focus()})},i.confirm=function(e,n,r){t.confirm(e,function(e){n.call(r||this,e)})},i.close=function(){r()&&r().close()},i.getParams=function(){return r()?r().params:null},i.setParams=function(e){r()&&(r().params=e)},i.getWindows=function(){return o}}}),r(rt,[R,B,x,h,g,p],function(e,t,n,r,i,o){return function(a){function s(e,t){try{a.getDoc().execCommand(e,!1,t)}catch(n){}}function l(){var e=a.getDoc().documentMode;return e?e:6}function c(e){return e.isDefaultPrevented()}function u(){function t(e){var t=new i(function(){});o.each(a.getBody().getElementsByTagName("*"),function(e){"SPAN"==e.tagName&&e.setAttribute("mce-data-marked",1),!e.hasAttribute("data-mce-style")&&e.hasAttribute("style")&&a.dom.setAttrib(e,"style",e.getAttribute("style"))}),t.observe(a.getDoc(),{childList:!0,attributes:!0,subtree:!0,attributeFilter:["style"]}),a.getDoc().execCommand(e?"ForwardDelete":"Delete",!1,null);var n=a.selection.getRng(),r=n.startContainer.parentNode;o.each(t.takeRecords(),function(e){if("style"==e.attributeName){var t=e.target.getAttribute("data-mce-style");t?e.target.setAttribute("style",t):e.target.removeAttribute("style")}o.each(e.addedNodes,function(e){if("SPAN"==e.nodeName&&!e.getAttribute("mce-data-marked")){var t,i;e==r&&(t=n.startOffset,i=e.firstChild),U.remove(e,!0),i&&(n.setStart(i,t),n.setEnd(i,t),a.selection.setRng(n))}})}),t.disconnect(),o.each(a.dom.select("span[mce-data-marked]"),function(e){e.removeAttribute("mce-data-marked")})}var n=a.getDoc(),r="data:text/mce-internal,",i=window.MutationObserver,s;i||(s=!0,i=function(){function e(e){var t=e.relatedNode||e.target;n.push({target:t,addedNodes:[t]})}function t(e){var t=e.relatedNode||e.target;n.push({target:t,attributeName:e.attrName})}var n=[],r;this.observe=function(n){r=n,r.addEventListener("DOMSubtreeModified",e,!1),r.addEventListener("DOMNodeInsertedIntoDocument",e,!1),r.addEventListener("DOMNodeInserted",e,!1),r.addEventListener("DOMAttrModified",t,!1)},this.disconnect=function(){r.removeEventListener("DOMNodeInserted",e),r.removeEventListener("DOMAttrModified",t),r.removeEventListener("DOMSubtreeModified",e,!1)},this.takeRecords=function(){return n}}),a.on("keydown",function(n){var r=n.keyCode==V,i=e.metaKeyPressed(n);if(!c(n)&&(r||n.keyCode==W)){var o=a.selection.getRng(),s=o.startContainer,l=o.startOffset;if(!i&&o.collapsed&&3==s.nodeType&&(r?l<s.data.length:l>0))return;n.preventDefault(),i&&a.selection.getSel().modify("extend",r?"forward":"backward","word"),t(r)}}),a.on("keypress",function(n){c(n)||q.isCollapsed()||!n.charCode||e.metaKeyPressed(n)||(n.preventDefault(),t(!0),a.selection.setContent(String.fromCharCode(n.charCode)))}),a.addCommand("Delete",function(){t()}),a.addCommand("ForwardDelete",function(){t(!0)}),s||(a.on("dragstart",function(e){e.dataTransfer.setData("URL","data:text/mce-internal,"+escape(a.selection.getContent()))}),a.on("drop",function(e){if(!c(e)){var i=e.dataTransfer.getData("URL");if(!i||-1==i.indexOf(r)||!n.caretRangeFromPoint)return;i=unescape(i.substr(r.length)),n.caretRangeFromPoint&&(e.preventDefault(),t(),a.selection.setRng(n.caretRangeFromPoint(e.x,e.y)),a.insertContent(i))}}),a.on("cut",function(e){!c(e)&&e.clipboardData&&(e.preventDefault(),e.clipboardData.clearData(),e.clipboardData.setData("text/html",a.selection.getContent()),e.clipboardData.setData("text/plain",a.selection.getContent({format:"text"})),t(!0))}))}function d(){function e(e){var t=U.create("body"),n=e.cloneContents();return t.appendChild(n),q.serializer.serialize(t,{format:"html"})}function n(n){if(!n.setStart){if(n.item)return!1;var r=n.duplicate();return r.moveToElementText(a.getBody()),t.compareRanges(n,r)}var i=e(n),o=U.createRng();o.selectNode(a.getBody());var s=e(o);return i===s}a.on("keydown",function(e){var t=e.keyCode,r,i;if(!c(e)&&(t==V||t==W)){if(r=a.selection.isCollapsed(),i=a.getBody(),r&&!U.isEmpty(i))return;if(!r&&!n(a.selection.getRng()))return;e.preventDefault(),a.setContent(""),i.firstChild&&U.isBlock(i.firstChild)?a.selection.setCursorLocation(i.firstChild,0):a.selection.setCursorLocation(i,0),a.nodeChanged()}})}function f(){a.on("keydown",function(t){!c(t)&&65==t.keyCode&&e.metaKeyPressed(t)&&(t.preventDefault(),a.execCommand("SelectAll"))})}function p(){a.settings.content_editable||(U.bind(a.getDoc(),"focusin",function(){q.setRng(q.getRng())}),U.bind(a.getDoc(),"mousedown",function(e){e.target==a.getDoc().documentElement&&(a.getBody().focus(),q.setRng(q.getRng()))}))}function m(){a.on("keydown",function(e){if(!c(e)&&e.keyCode===W&&q.isCollapsed()&&0===q.getRng(!0).startOffset){var t=q.getNode(),n=t.previousSibling;if("HR"==t.nodeName)return U.remove(t),void e.preventDefault();n&&n.nodeName&&"hr"===n.nodeName.toLowerCase()&&(U.remove(n),e.preventDefault())}})}function h(){window.Range.prototype.getClientRects||a.on("mousedown",function(e){if(!c(e)&&"HTML"===e.target.nodeName){var t=a.getBody();t.blur(),setTimeout(function(){t.focus()},0)}})}function g(){a.on("click",function(e){e=e.target,/^(IMG|HR)$/.test(e.nodeName)&&q.getSel().setBaseAndExtent(e,0,e,1),"A"==e.nodeName&&U.hasClass(e,"mce-item-anchor")&&q.select(e),a.nodeChanged()})}function v(){function e(){var e=U.getAttribs(q.getStart().cloneNode(!1));return function(){var t=q.getStart();t!==a.getBody()&&(U.setAttrib(t,"style",null),z(e,function(e){t.setAttributeNode(e.cloneNode(!0))}))}}function t(){return!q.isCollapsed()&&U.getParent(q.getStart(),U.isBlock)!=U.getParent(q.getEnd(),U.isBlock)}a.on("keypress",function(n){var r;return c(n)||8!=n.keyCode&&46!=n.keyCode||!t()?void 0:(r=e(),a.getDoc().execCommand("delete",!1,null),r(),n.preventDefault(),!1)}),U.bind(a.getDoc(),"cut",function(n){var r;!c(n)&&t()&&(r=e(),setTimeout(function(){r()},0))})}function y(){var e,n;a.on("selectionchange",function(){n&&(clearTimeout(n),n=0),n=window.setTimeout(function(){if(!a.removed){var n=q.getRng();e&&t.compareRanges(n,e)||(a.nodeChanged(),e=n)}},50)})}function b(){document.body.setAttribute("role","application")}function C(){a.on("keydown",function(e){if(!c(e)&&e.keyCode===W&&q.isCollapsed()&&0===q.getRng(!0).startOffset){var t=q.getNode().previousSibling;if(t&&t.nodeName&&"table"===t.nodeName.toLowerCase())return e.preventDefault(),!1}})}function x(){l()>7||(s("RespectVisibilityInDesign",!0),a.contentStyles.push(".mceHideBrInPre pre br {display: none}"),U.addClass(a.getBody(),"mceHideBrInPre"),j.addNodeFilter("pre",function(e){for(var t=e.length,r,i,o,a;t--;)for(r=e[t].getAll("br"),i=r.length;i--;)o=r[i],a=o.prev,a&&3===a.type&&"\n"!=a.value.charAt(a.value-1)?a.value+="\n":o.parent.insert(new n("#text",3),o,!0).value="\n"}),K.addNodeFilter("pre",function(e){for(var t=e.length,n,r,i,o;t--;)for(n=e[t].getAll("br"),r=n.length;r--;)i=n[r],o=i.prev,o&&3==o.type&&(o.value=o.value.replace(/\r?\n$/,""))}))}function w(){U.bind(a.getBody(),"mouseup",function(){var e,t=q.getNode();"IMG"==t.nodeName&&((e=U.getStyle(t,"width"))&&(U.setAttrib(t,"width",e.replace(/[^0-9%]+/g,"")),U.setStyle(t,"width","")),(e=U.getStyle(t,"height"))&&(U.setAttrib(t,"height",e.replace(/[^0-9%]+/g,"")),U.setStyle(t,"height","")))})}function _(){a.on("keydown",function(t){var n,r,i,o,s;if(!c(t)&&t.keyCode==e.BACKSPACE&&(n=q.getRng(),r=n.startContainer,i=n.startOffset,o=U.getRoot(),s=r,n.collapsed&&0===i)){for(;s&&s.parentNode&&s.parentNode.firstChild==s&&s.parentNode!=o;)s=s.parentNode;"BLOCKQUOTE"===s.tagName&&(a.formatter.toggle("blockquote",null,s),n=U.createRng(),n.setStart(r,0),n.setEnd(r,0),q.setRng(n))}})}function N(){function e(){a._refreshContentEditable(),s("StyleWithCSS",!1),s("enableInlineTableEditing",!1),$.object_resizing||s("enableObjectResizing",!1)}$.readonly||a.on("BeforeExecCommand MouseDown",e)}function E(){function e(){z(U.select("a"),function(e){var t=e.parentNode,n=U.getRoot();if(t.lastChild===e){for(;t&&!U.isBlock(t);){if(t.parentNode.lastChild!==t||t===n)return;t=t.parentNode}U.add(t,"br",{"data-mce-bogus":1})}})}a.on("SetContent ExecCommand",function(t){("setcontent"==t.type||"mceInsertLink"===t.command)&&e()})}function S(){$.forced_root_block&&a.on("init",function(){s("DefaultParagraphSeparator",$.forced_root_block)})}function k(){a.on("Undo Redo SetContent",function(e){e.initial||a.execCommand("mceRepaint")})}function T(){a.on("keydown",function(e){var t;c(e)||e.keyCode!=W||(t=a.getDoc().selection.createRange(),t&&t.item&&(e.preventDefault(),a.undoManager.beforeChange(),U.remove(t.item(0)),a.undoManager.add()))})}function R(){var e;l()>=10&&(e="",z("p div h1 h2 h3 h4 h5 h6".split(" "),function(t,n){e+=(n>0?",":"")+t+":empty"}),a.contentStyles.push(e+"{padding-right: 1px !important}"))}function A(){l()<9&&(j.addNodeFilter("noscript",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.firstChild,r&&n.attr("data-mce-innertext",r.value)}),K.addNodeFilter("noscript",function(e){for(var t=e.length,i,o,a;t--;)i=e[t],o=e[t].firstChild,o?o.value=r.decode(o.value):(a=i.attributes.map["data-mce-innertext"],a&&(i.attr("data-mce-innertext",null),o=new n("#text",3),o.value=a,o.raw=!0,i.append(o)))}))}function B(){function e(e,t){var n=i.createTextRange();try{n.moveToPoint(e,t)}catch(r){n=null}return n}function t(t){var r;t.button?(r=e(t.x,t.y),r&&(r.compareEndPoints("StartToStart",a)>0?r.setEndPoint("StartToStart",a):r.setEndPoint("EndToEnd",a),r.select())):n()}function n(){var e=r.selection.createRange();a&&!e.item&&0===e.compareEndPoints("StartToEnd",e)&&a.select(),U.unbind(r,"mouseup",n),U.unbind(r,"mousemove",t),a=o=0}var r=U.doc,i=r.body,o,a,s;r.documentElement.unselectable=!0,U.bind(r,"mousedown contextmenu",function(i){if("HTML"===i.target.nodeName){if(o&&n(),s=r.documentElement,s.scrollHeight>s.clientHeight)return;o=1,a=e(i.x,i.y),a&&(U.bind(r,"mouseup",n),U.bind(r,"mousemove",t),U.getRoot().focus(),a.select())}})}function L(){a.on("keyup focusin mouseup",function(t){65==t.keyCode&&e.metaKeyPressed(t)||q.normalize()},!0)}function D(){a.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}")}function M(){a.inline||a.on("keydown",function(){document.activeElement==document.body&&a.getWin().focus()})}function H(){a.inline||(a.contentStyles.push("body {min-height: 150px}"),a.on("click",function(e){"HTML"==e.target.nodeName&&(a.getBody().focus(),a.selection.normalize(),a.nodeChanged())}))}function P(){i.mac&&a.on("keydown",function(t){!e.metaKeyPressed(t)||37!=t.keyCode&&39!=t.keyCode||(t.preventDefault(),a.selection.getSel().modify("move",37==t.keyCode?"backward":"forward","word"))})}function O(){s("AutoUrlDetect",!1)}function I(){a.inline||a.on("focus blur",function(){var e=a.dom.create("br");a.getBody().appendChild(e),e.parentNode.removeChild(e)},!0)}function F(){a.on("click",function(e){var t=e.target;do if("A"===t.tagName)return void e.preventDefault();while(t=t.parentNode)}),a.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}")}var z=o.each,W=e.BACKSPACE,V=e.DELETE,U=a.dom,q=a.selection,$=a.settings,j=a.parser,K=a.serializer,Y=i.gecko,G=i.ie,X=i.webkit;C(),_(),d(),L(),X&&(u(),p(),g(),S(),i.iOS?(y(),M(),H(),F()):f()),G&&i.ie<11&&(m(),b(),x(),w(),T(),R(),A(),B()),i.ie>=11&&(H(),I()),i.ie&&(f(),O()),Y&&(m(),h(),v(),N(),E(),k(),D(),P())}}),r(it,[p],function(e){function t(){return!1}function n(){return!0}var r="__bindings",i=e.makeMap("focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave keydown keypress keyup contextmenu dragstart dragend dragover draggesture dragdrop drop drag"," ");return{fire:function(e,i,o){var a=this,s,l,c,u,d;if(e=e.toLowerCase(),i=i||{},i.type=e,!a.removed||"remove"===e){if(i.target||(i.target=a),i.preventDefault||(i.preventDefault=function(){i.isDefaultPrevented=n},i.stopPropagation=function(){i.isPropagationStopped=n},i.stopImmediatePropagation=function(){i.isImmediatePropagationStopped=n},i.isDefaultPrevented=t,i.isPropagationStopped=t,i.isImmediatePropagationStopped=t),a[r]&&(s=a[r][e]))for(l=0,c=s.length;c>l&&(s[l]=u=s[l],!i.isImmediatePropagationStopped());l++)if(u.call(a,i)===!1)return i.preventDefault(),i;if(o!==!1&&a.parent)for(d=a.parent();d&&!i.isPropagationStopped();)d.fire(e,i,!1),d=d.parent();return i}},on:function(e,t,n){var o=this,a,s,l,c;if(t===!1&&(t=function(){return!1}),t)for(l=e.toLowerCase().split(" "),c=l.length;c--;)e=l[c],a=o[r],a||(a=o[r]={}),s=a[e],s||(s=a[e]=[],o.bindNative&&i[e]&&o.bindNative(e)),n?s.unshift(t):s.push(t);return o},off:function(e,t){var n=this,o,a=n[r],s,l,c,u;if(a)if(e)for(c=e.toLowerCase().split(" "),o=c.length;o--;){if(e=c[o],s=a[e],!e){for(l in a)a[e].length=0;return n}if(s){if(t)for(u=s.length;u--;)s[u]===t&&s.splice(u,1);else s.length=0;!s.length&&n.unbindNative&&i[e]&&(n.unbindNative(e),delete a[e])}}else{if(n.unbindNative)for(e in a)n.unbindNative(e);n[r]=[]}return n},hasEventListeners:function(e){var t=this[r];return e=e.toLowerCase(),!(!t||!t[e]||0===t[e].length)}}}),r(ot,[p,g],function(e,t){var n=e.each,r=e.explode,i={f9:120,f10:121,f11:122};return function(o){var a=this,s={};o.on("keyup keypress keydown",function(e){(e.altKey||e.ctrlKey||e.metaKey)&&n(s,function(n){var r=t.mac?e.metaKey:e.ctrlKey;if(n.ctrl==r&&n.alt==e.altKey&&n.shift==e.shiftKey)return e.keyCode==n.keyCode||e.charCode&&e.charCode==n.charCode?(e.preventDefault(),"keydown"==e.type&&n.func.call(n.scope),!0):void 0})}),a.add=function(t,a,l,c){var u;return u=l,"string"==typeof l?l=function(){o.execCommand(u,!1,null)}:e.isArray(u)&&(l=function(){o.execCommand(u[0],u[1],u[2])}),n(r(t.toLowerCase()),function(e){var t={func:l,scope:c||o,desc:o.translate(a),alt:!1,ctrl:!1,shift:!1};n(r(e,"+"),function(e){switch(e){case"alt":case"ctrl":case"shift":t[e]=!0;break;default:t.charCode=e.charCodeAt(0),t.keyCode=i[e]||e.toUpperCase().charCodeAt(0)}}),s[(t.ctrl?"ctrl":"")+","+(t.alt?"alt":"")+","+(t.shift?"shift":"")+","+t.keyCode]=t}),!0}}}),r(at,[y,C,x,k,S,L,M,H,P,O,I,F,b,l,nt,w,N,rt,g,p,it,ot],function(e,n,r,i,o,a,s,l,c,u,d,f,p,m,h,g,v,y,b,C,x,w){function _(e,t){return"selectionchange"==t?e.getDoc():!e.inline&&/^mouse|click|contextmenu|drop/.test(t)?e.getDoc():e.getBody()}function N(e,t,r){var i=this,o,a;o=i.documentBaseUrl=r.documentBaseURL,a=r.baseURI,i.settings=t=T({id:e,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:o,add_form_submit_trigger:!0,submit_patch:!0,add_unload_trigger:!0,convert_urls:!0,relative_urls:!0,remove_script_host:!0,object_resizing:!0,doctype:"<!DOCTYPE html>",visual:!0,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",font_size_legacy_values:"xx-small,small,medium,large,x-large,xx-large,300%",forced_root_block:"p",hidden_input:!0,padd_empty_editor:!0,render_ui:!0,indentation:"30px",inline_styles:!0,convert_fonts_to_spans:!0,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",validate:!0,entity_encoding:"named",url_converter:i.convertURL,url_converter_scope:i,ie7_compat:!0},t),n.language=t.language||"en",n.languageLoad=t.language_load,n.baseURL=r.baseURL,i.id=t.id=e,i.isNotDirty=!0,i.plugins={},i.documentBaseURI=new f(t.document_base_url||o,{base_uri:a}),i.baseURI=a,i.contentCSS=[],i.contentStyles=[],i.shortcuts=new w(i),i.execCommands={},i.queryStateCommands={},i.queryValueCommands={},i.loadedCSS={},i.suffix=r.suffix,i.editorManager=r,i.inline=t.inline,r.fire("SetupEditor",i),i.execCallback("setup",i)}var E=e.DOM,S=n.ThemeManager,k=n.PluginManager,T=C.extend,R=C.each,A=C.explode,B=C.inArray,L=C.trim,D=C.resolve,M=m.Event,H=b.gecko,P=b.ie;return N.prototype={render:function(){function e(){E.unbind(window,"ready",e),n.render()}function t(){var e=p.ScriptLoader;if(r.language&&"en"!=r.language&&!r.language_url&&(r.language_url=n.editorManager.baseURL+"/langs/"+r.language+".js"),r.language_url&&e.add(r.language_url),r.theme&&"function"!=typeof r.theme&&"-"!=r.theme.charAt(0)&&!S.urls[r.theme]){var t=r.theme_url;t=t?n.documentBaseURI.toAbsolute(t):"themes/"+r.theme+"/theme"+o+".js",S.load(r.theme,t)}C.isArray(r.plugins)&&(r.plugins=r.plugins.join(" ")),R(r.external_plugins,function(e,t){k.load(t,e),r.plugins+=" "+t}),R(r.plugins.split(/[ ,]/),function(e){if(e=L(e),e&&!k.urls[e])if("-"==e.charAt(0)){e=e.substr(1,e.length);var t=k.dependencies(e);R(t,function(e){var t={prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"};e=k.createUrl(t,e),k.load(e.resource,e)})}else k.load(e,{prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"})}),e.loadQueue(function(){n.removed||n.init()})}var n=this,r=n.settings,i=n.id,o=n.suffix;if(!M.domLoaded)return void E.bind(window,"ready",e);if(n.getElement()&&b.contentEditable){r.inline?n.inline=!0:(n.orgVisibility=n.getElement().style.visibility,n.getElement().style.visibility="hidden");var a=n.getElement().form||E.getParent(i,"form");a&&(n.formElement=a,r.hidden_input&&!/TEXTAREA|INPUT/i.test(n.getElement().nodeName)&&(E.insertAfter(E.create("input",{type:"hidden",name:i}),i),n.hasHiddenInput=!0),n.formEventDelegate=function(e){n.fire(e.type,e)},E.bind(a,"submit reset",n.formEventDelegate),n.on("reset",function(){n.setContent(n.startContent,{format:"raw"})}),!r.submit_patch||a.submit.nodeType||a.submit.length||a._mceOldSubmit||(a._mceOldSubmit=a.submit,a.submit=function(){return n.editorManager.triggerSave(),n.isNotDirty=!0,a._mceOldSubmit(a)})),n.windowManager=new h(n),"xml"==r.encoding&&n.on("GetContent",function(e){e.save&&(e.content=E.encode(e.content))}),r.add_form_submit_trigger&&n.on("submit",function(){n.initialized&&n.save()}),r.add_unload_trigger&&(n._beforeUnload=function(){!n.initialized||n.destroyed||n.isHidden()||n.save({format:"raw",no_events:!0,set_dirty:!1})},n.editorManager.on("BeforeUnload",n._beforeUnload)),t()}},init:function(){function e(n){var r=k.get(n),i,o;i=k.urls[n]||t.documentBaseUrl.replace(/\/$/,""),n=L(n),r&&-1===B(h,n)&&(R(k.dependencies(n),function(t){e(t)}),o=new r(t,i),t.plugins[n]=o,o.init&&(o.init(t,i),h.push(n)))}var t=this,n=t.settings,r=t.getElement(),i,o,a,s,l,c,u,d,f,p,m,h=[];if(t.rtl=this.editorManager.i18n.rtl,t.editorManager.add(t),n.aria_label=n.aria_label||E.getAttrib(r,"aria-label",t.getLang("aria.rich_text_area")),n.theme&&("function"!=typeof n.theme?(n.theme=n.theme.replace(/-/,""),c=S.get(n.theme),t.theme=new c(t,S.urls[n.theme]),t.theme.init&&t.theme.init(t,S.urls[n.theme]||t.documentBaseUrl.replace(/\/$/,""))):t.theme=n.theme),R(n.plugins.replace(/\-/g,"").split(/[ ,]/),e),n.render_ui&&t.theme&&(t.orgDisplay=r.style.display,"function"!=typeof n.theme?(i=n.width||r.style.width||r.offsetWidth,o=n.height||r.style.height||r.offsetHeight,a=n.min_height||100,p=/^[0-9\.]+(|px)$/i,p.test(""+i)&&(i=Math.max(parseInt(i,10),100)),p.test(""+o)&&(o=Math.max(parseInt(o,10),a)),l=t.theme.renderUI({targetNode:r,width:i,height:o,deltaWidth:n.delta_width,deltaHeight:n.delta_height}),n.content_editable||(E.setStyles(l.sizeContainer||l.editorContainer,{wi2dth:i,h2eight:o}),o=(l.iframeHeight||o)+("number"==typeof o?l.deltaHeight||0:""),a>o&&(o=a))):(l=n.theme(t,r),l.editorContainer.nodeType&&(l.editorContainer=l.editorContainer.id=l.editorContainer.id||t.id+"_parent"),l.iframeContainer.nodeType&&(l.iframeContainer=l.iframeContainer.id=l.iframeContainer.id||t.id+"_iframecontainer"),o=l.iframeHeight||r.offsetHeight),t.editorContainer=l.editorContainer),n.content_css&&R(A(n.content_css),function(e){t.contentCSS.push(t.documentBaseURI.toAbsolute(e))}),n.content_style&&t.contentStyles.push(n.content_style),n.content_editable)return r=s=l=null,t.initContentBody();for(t.iframeHTML=n.doctype+"<html><head>",n.document_base_url!=t.documentBaseUrl&&(t.iframeHTML+='<base href="'+t.documentBaseURI.getURI()+'" />'),!b.caretAfter&&n.ie7_compat&&(t.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" />'),t.iframeHTML+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />',m=0;m<t.contentCSS.length;m++){var g=t.contentCSS[m];t.iframeHTML+='<link type="text/css" rel="stylesheet" href="'+g+'" />',t.loadedCSS[g]=!0}d=n.body_id||"tinymce",-1!=d.indexOf("=")&&(d=t.getParam("body_id","","hash"),d=d[t.id]||d),f=n.body_class||"",-1!=f.indexOf("=")&&(f=t.getParam("body_class","","hash"),f=f[t.id]||""),t.iframeHTML+='</head><body id="'+d+'" class="mce-content-body '+f+'" onload="window.parent.tinymce.get(\''+t.id+"').fire('load');\"><br></body></html>";var v='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinymce.get("'+t.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody(true);})()';if(document.domain!=location.hostname&&(u=v),s=E.add(l.iframeContainer,"iframe",{id:t.id+"_ifr",src:u||'javascript:""',frameBorder:"0",allowTransparency:"true",title:t.editorManager.translate("Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"),style:{width:"100%",height:o,display:"block"}}),P)try{t.getDoc()}catch(y){s.src=u=v}t.contentAreaContainer=l.iframeContainer,l.editorContainer&&(E.get(l.editorContainer).style.display=t.orgDisplay),E.get(t.id).style.display="none",E.setAttrib(t.id,"aria-hidden",!0),u||t.initContentBody(),r=s=l=null},initContentBody:function(t){var n=this,o=n.settings,f=E.get(n.id),p=n.getDoc(),m,h;o.inline||(n.getElement().style.visibility=n.orgVisibility),t||o.content_editable||(p.open(),p.write(n.iframeHTML),p.close()),o.content_editable&&(n.on("remove",function(){var e=this.getBody();E.removeClass(e,"mce-content-body"),E.removeClass(e,"mce-edit-focus"),E.setAttrib(e,"contentEditable",null)}),E.addClass(f,"mce-content-body"),n.contentDocument=p=o.content_document||document,n.contentWindow=o.content_window||window,n.bodyElement=f,o.content_document=o.content_window=null,o.root_name=f.nodeName.toLowerCase()),m=n.getBody(),m.disabled=!0,o.readonly||(n.inline&&"static"==E.getStyle(m,"position",!0)&&(m.style.position="relative"),m.contentEditable=n.getParam("content_editable_state",!0)),m.disabled=!1,n.schema=new g(o),n.dom=new e(p,{keep_values:!0,url_converter:n.convertURL,url_converter_scope:n,hex_colors:o.force_hex_style_colors,class_filter:o.class_filter,update_styles:!0,root_element:o.content_editable?n.id:null,collect:o.content_editable,schema:n.schema,onSetAttrib:function(e){n.fire("SetAttrib",e)}}),n.parser=new v(o,n.schema),n.parser.addAttributeFilter("src,href,style,tabindex",function(e,t){for(var r=e.length,i,o=n.dom,a,s;r--;)i=e[r],a=i.attr(t),s="data-mce-"+t,i.attributes.map[s]||("style"===t?i.attr(s,o.serializeStyle(o.parseStyle(a),i.name)):"tabindex"===t?(i.attr(s,a),i.attr(t,null)):i.attr(s,n.convertURL(a,t,i.name)))}),n.parser.addNodeFilter("script",function(e){for(var t=e.length,n;t--;)n=e[t],n.attr("type","mce-"+(n.attr("type")||"text/javascript"))}),n.parser.addNodeFilter("#cdata",function(e){for(var t=e.length,n;t--;)n=e[t],n.type=8,n.name="#comment",n.value="[CDATA["+n.value+"]]"}),n.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(e){for(var t=e.length,i,o=n.schema.getNonEmptyElements();t--;)i=e[t],i.isEmpty(o)&&(i.empty().append(new r("br",1)).shortEnded=!0)}),n.serializer=new i(o,n),n.selection=new a(n.dom,n.getWin(),n.serializer,n),n.formatter=new s(n),n.undoManager=new l(n),n.forceBlocks=new u(n),n.enterKey=new c(n),n.editorCommands=new d(n),n.fire("PreInit"),o.browser_spellcheck||o.gecko_spellcheck||(p.body.spellcheck=!1,E.setAttrib(m,"spellcheck","false")),n.fire("PostRender"),n.quirks=y(n),o.directionality&&(m.dir=o.directionality),o.nowrap&&(m.style.whiteSpace="nowrap"),o.protect&&n.on("BeforeSetContent",function(e){R(o.protect,function(t){e.content=e.content.replace(t,function(e){return"<!--mce:protected "+escape(e)+"-->"})})}),n.on("SetContent",function(){n.addVisual(n.getBody())}),o.padd_empty_editor&&n.on("PostProcess",function(e){e.content=e.content.replace(/^(<p[^>]*>(&nbsp;|&#160;|\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")}),n.load({initial:!0,format:"html"}),n.startContent=n.getContent({format:"raw"}),n.initialized=!0,R(n._pendingNativeEvents,function(e){n.dom.bind(_(n,e),e,function(e){n.fire(e.type,e)})}),n.fire("init"),n.focus(!0),n.nodeChanged({initial:!0}),n.execCallback("init_instance_callback",n),n.contentStyles.length>0&&(h="",R(n.contentStyles,function(e){h+=e+"\r\n"
-}),n.dom.addStyle(h)),R(n.contentCSS,function(e){n.loadedCSS[e]||(n.dom.loadCSS(e),n.loadedCSS[e]=!0)}),o.auto_focus&&setTimeout(function(){var e=n.editorManager.get(o.auto_focus);e.selection.select(e.getBody(),1),e.selection.collapse(1),e.getBody().focus(),e.getWin().focus()},100),f=p=m=null},focus:function(e){var t,n=this,r=n.selection,i=n.settings.content_editable,o,a,s=n.getDoc(),l;if(!e){if(o=r.getRng(),o.item&&(a=o.item(0)),n._refreshContentEditable(),i||(b.opera||n.getBody().focus(),n.getWin().focus()),H||i){if(l=n.getBody(),l.setActive)try{l.setActive()}catch(c){l.focus()}else l.focus();i&&r.normalize()}a&&a.ownerDocument==s&&(o=s.body.createControlRange(),o.addElement(a),o.select())}n.editorManager.activeEditor!=n&&((t=n.editorManager.activeEditor)&&t.fire("deactivate",{relatedTarget:n}),n.fire("activate",{relatedTarget:t})),n.editorManager.activeEditor=n},execCallback:function(e){var t=this,n=t.settings[e],r;if(n)return t.callbackLookup&&(r=t.callbackLookup[e])&&(n=r.func,r=r.scope),"string"==typeof n&&(r=n.replace(/\.\w+$/,""),r=r?D(r):0,n=D(n),t.callbackLookup=t.callbackLookup||{},t.callbackLookup[e]={func:n,scope:r}),n.apply(r||t,Array.prototype.slice.call(arguments,1))},translate:function(e){var t=this.settings.language||"en",n=this.editorManager.i18n;return e?n.data[t+"."+e]||e.replace(/\{\#([^\}]+)\}/g,function(e,r){return n.data[t+"."+r]||"{#"+r+"}"}):""},getLang:function(e,n){return this.editorManager.i18n.data[(this.settings.language||"en")+"."+e]||(n!==t?n:"{#"+e+"}")},getParam:function(e,t,n){var r=e in this.settings?this.settings[e]:t,i;return"hash"===n?(i={},"string"==typeof r?R(r.split(r.indexOf("=")>0?/[;,](?![^=;,]*(?:[;,]|$))/:","),function(e){e=e.split("="),i[L(e[0])]=L(e.length>1?e[1]:e)}):i=r,i):r},nodeChanged:function(){var e=this,t=e.selection,n,r,i;!e.initialized||e.settings.disable_nodechange||e.settings.readonly||(i=e.getBody(),n=t.getStart()||i,n=P&&n.ownerDocument!=e.getDoc()?e.getBody():n,"IMG"==n.nodeName&&t.isCollapsed()&&(n=n.parentNode),r=[],e.dom.getParent(n,function(e){return e===i?!0:void r.push(e)}),e.fire("NodeChange",{element:n,parents:r}))},addButton:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),t.text||t.icon||(t.icon=e),n.buttons=n.buttons||{},t.tooltip=t.tooltip||t.title,n.buttons[e]=t},addMenuItem:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),n.menuItems=n.menuItems||{},n.menuItems[e]=t},addCommand:function(e,t,n){this.execCommands[e]={func:t,scope:n||this}},addQueryStateHandler:function(e,t,n){this.queryStateCommands[e]={func:t,scope:n||this}},addQueryValueHandler:function(e,t,n){this.queryValueCommands[e]={func:t,scope:n||this}},addShortcut:function(e,t,n,r){this.shortcuts.add(e,t,n,r)},execCommand:function(e,t,n,r){var i=this,o=0,a;return/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test(e)||r&&r.skip_focus||i.focus(),r=T({},r),r=i.fire("BeforeExecCommand",{command:e,ui:t,value:n}),r.isDefaultPrevented()?!1:(a=i.execCommands[e])&&a.func.call(a.scope,t,n)!==!0?(i.fire("ExecCommand",{command:e,ui:t,value:n}),!0):(R(i.plugins,function(r){return r.execCommand&&r.execCommand(e,t,n)?(i.fire("ExecCommand",{command:e,ui:t,value:n}),o=!0,!1):void 0}),o?o:i.theme&&i.theme.execCommand&&i.theme.execCommand(e,t,n)?(i.fire("ExecCommand",{command:e,ui:t,value:n}),!0):i.editorCommands.execCommand(e,t,n)?(i.fire("ExecCommand",{command:e,ui:t,value:n}),!0):(i.getDoc().execCommand(e,t,n),void i.fire("ExecCommand",{command:e,ui:t,value:n})))},queryCommandState:function(e){var t=this,n,r;if(!t._isHidden()){if((n=t.queryStateCommands[e])&&(r=n.func.call(n.scope),r!==!0))return r;if(r=t.editorCommands.queryCommandState(e),-1!==r)return r;try{return t.getDoc().queryCommandState(e)}catch(i){}}},queryCommandValue:function(e){var n=this,r,i;if(!n._isHidden()){if((r=n.queryValueCommands[e])&&(i=r.func.call(r.scope),i!==!0))return i;if(i=n.editorCommands.queryCommandValue(e),i!==t)return i;try{return n.getDoc().queryCommandValue(e)}catch(o){}}},show:function(){var e=this;E.show(e.getContainer()),E.hide(e.id),e.load(),e.fire("show")},hide:function(){var e=this,t=e.getDoc();P&&t&&!e.inline&&t.execCommand("SelectAll"),e.save(),E.hide(e.getContainer()),E.setStyle(e.id,"display",e.orgDisplay),e.fire("hide")},isHidden:function(){return!E.isHidden(this.id)},setProgressState:function(e,t){this.fire("ProgressState",{state:e,time:t})},load:function(e){var n=this,r=n.getElement(),i;return r?(e=e||{},e.load=!0,i=n.setContent(r.value!==t?r.value:r.innerHTML,e),e.element=r,e.no_events||n.fire("LoadContent",e),e.element=r=null,i):void 0},save:function(e){var t=this,n=t.getElement(),r,i;if(n&&t.initialized)return e=e||{},e.save=!0,e.element=n,r=e.content=t.getContent(e),e.no_events||t.fire("SaveContent",e),r=e.content,/TEXTAREA|INPUT/i.test(n.nodeName)?n.value=r:(t.inline||(n.innerHTML=r),(i=E.getParent(t.id,"form"))&&R(i.elements,function(e){return e.name==t.id?(e.value=r,!1):void 0})),e.element=n=null,e.set_dirty!==!1&&(t.isNotDirty=!0),r},setContent:function(e,t){var n=this,r=n.getBody(),i;return t=t||{},t.format=t.format||"html",t.set=!0,t.content=e,t.no_events||n.fire("BeforeSetContent",t),e=t.content,0===e.length||/^\s+$/.test(e)?(i=n.settings.forced_root_block,i&&n.schema.isValidChild(r.nodeName.toLowerCase(),i.toLowerCase())?(e=P&&11>P?"":'<br data-mce-bogus="1">',e=n.dom.createHTML(i,n.settings.forced_root_block_attrs,e)):P||(e='<br data-mce-bogus="1">'),r.innerHTML=e,n.fire("SetContent",t)):("raw"!==t.format&&(e=new o({},n.schema).serialize(n.parser.parse(e,{isRootContent:!0}))),t.content=L(e),n.dom.setHTML(r,t.content),t.no_events||n.fire("SetContent",t)),t.content},getContent:function(e){var t=this,n,r=t.getBody();return e=e||{},e.format=e.format||"html",e.get=!0,e.getInner=!0,e.no_events||t.fire("BeforeGetContent",e),n="raw"==e.format?r.innerHTML:"text"==e.format?r.innerText||r.textContent:t.serializer.serialize(r,e),e.content="text"!=e.format?L(n):n,e.no_events||t.fire("GetContent",e),e.content},insertContent:function(e){this.execCommand("mceInsertContent",!1,e)},isDirty:function(){return!this.isNotDirty},getContainer:function(){var e=this;return e.container||(e.container=E.get(e.editorContainer||e.id+"_parent")),e.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return E.get(this.settings.content_element||this.id)},getWin:function(){var e=this,t;return e.contentWindow||(t=E.get(e.id+"_ifr"),t&&(e.contentWindow=t.contentWindow)),e.contentWindow},getDoc:function(){var e=this,t;return e.contentDocument||(t=e.getWin(),t&&(e.contentDocument=t.document)),e.contentDocument},getBody:function(){return this.bodyElement||this.getDoc().body},convertURL:function(e,t,n){var r=this,i=r.settings;return i.urlconverter_callback?r.execCallback("urlconverter_callback",e,n,!0,t):!i.convert_urls||n&&"LINK"==n.nodeName||0===e.indexOf("file:")||0===e.length?e:i.relative_urls?r.documentBaseURI.toRelative(e):e=r.documentBaseURI.toAbsolute(e,i.remove_script_host)},addVisual:function(e){var n=this,r=n.settings,i=n.dom,o;e=e||n.getBody(),n.hasVisual===t&&(n.hasVisual=r.visual),R(i.select("table,a",e),function(e){var t;switch(e.nodeName){case"TABLE":return o=r.visual_table_class||"mce-item-table",t=i.getAttrib(e,"border"),void(t&&"0"!=t||(n.hasVisual?i.addClass(e,o):i.removeClass(e,o)));case"A":return void(i.getAttrib(e,"href",!1)||(t=i.getAttrib(e,"name")||e.id,o=r.visual_anchor_class||"mce-item-anchor",t&&(n.hasVisual?i.addClass(e,o):i.removeClass(e,o))))}}),n.fire("VisualAid",{element:e,hasVisual:n.hasVisual})},remove:function(){var e=this;if(!e.removed){e.removed=1,e.save(),e.hasHiddenInput&&E.remove(e.getElement().nextSibling),e.inline||(P&&10>P&&e.getDoc().execCommand("SelectAll",!1,null),E.setStyle(e.id,"display",e.orgDisplay),e.getBody().onload=null,M.unbind(e.getWin()),M.unbind(e.getDoc()));var t=e.getContainer();M.unbind(e.getBody()),M.unbind(t),e.fire("remove"),e.editorManager.remove(e),E.remove(t),e.destroy()}},bindNative:function(e){var t=this;t.settings.readonly||(t.initialized?t.dom.bind(_(t,e),e,function(n){t.fire(e,n)}):t._pendingNativeEvents?t._pendingNativeEvents.push(e):t._pendingNativeEvents=[e])},unbindNative:function(e){var t=this;t.initialized&&t.dom.unbind(e)},destroy:function(e){var t=this,n;if(!t.destroyed){if(!e&&!t.removed)return void t.remove();e&&H&&(M.unbind(t.getDoc()),M.unbind(t.getWin()),M.unbind(t.getBody())),e||(t.editorManager.off("beforeunload",t._beforeUnload),t.theme&&t.theme.destroy&&t.theme.destroy(),t.selection.destroy(),t.dom.destroy()),n=t.formElement,n&&(n._mceOldSubmit&&(n.submit=n._mceOldSubmit,n._mceOldSubmit=null),E.unbind(n,"submit reset",t.formEventDelegate)),t.contentAreaContainer=t.formElement=t.container=t.editorContainer=null,t.settings.content_element=t.bodyElement=t.contentDocument=t.contentWindow=null,t.selection&&(t.selection=t.selection.win=t.selection.dom=t.selection.dom.doc=null),t.destroyed=1}},_refreshContentEditable:function(){var e=this,t,n;e._isHidden()&&(t=e.getBody(),n=t.parentNode,n.removeChild(t),n.appendChild(t),t.focus())},_isHidden:function(){var e;return H?(e=this.selection.getSel(),!e||!e.rangeCount||0===e.rangeCount):0}},T(N.prototype,x),N}),r(st,[],function(){var e={};return{rtl:!1,add:function(t,n){for(var r in n)e[r]=n[r];this.rtl=this.rtl||"rtl"===e._dir},translate:function(t){if("undefined"==typeof t)return t;if("string"!=typeof t&&t.raw)return t.raw;if(t.push){var n=t.slice(1);t=(e[t[0]]||t[0]).replace(/\{([^\}]+)\}/g,function(e,t){return n[t]})}return e[t]||t},data:e}}),r(lt,[y,g],function(e,t){function n(e){function a(){try{return document.activeElement}catch(e){return document.body}}function s(e){return e&&e.startContainer?{startContainer:e.startContainer,startOffset:e.startOffset,endContainer:e.endContainer,endOffset:e.endOffset}:e}function l(e,t){var n;return t.startContainer?(n=e.getDoc().createRange(),n.setStart(t.startContainer,t.startOffset),n.setEnd(t.endContainer,t.endOffset)):n=t,n}function c(e){return!!o.getParent(e,n.isEditorUIElement)}function u(e,t){for(var n=t.getBody();e;){if(e==n)return!0;e=e.parentNode}}function d(n){var d=n.editor;d.on("init",function(){(d.inline||t.ie)&&(d.on("nodechange keyup",function(){var e=document.activeElement;e&&e.id==d.id+"_ifr"&&(e=d.getBody()),u(e,d)&&(d.lastRng=d.selection.getRng())}),t.webkit&&!r&&(r=function(){var t=e.activeEditor;if(t&&t.selection){var n=t.selection.getRng();n&&!n.collapsed&&(d.lastRng=n)}},o.bind(document,"selectionchange",r)))}),d.on("setcontent",function(){d.lastRng=null}),d.on("mousedown",function(){d.selection.lastFocusBookmark=null}),d.on("focusin",function(){var t=e.focusedEditor;d.selection.lastFocusBookmark&&(d.selection.setRng(l(d,d.selection.lastFocusBookmark)),d.selection.lastFocusBookmark=null),t!=d&&(t&&t.fire("blur",{focusedEditor:d}),e.activeEditor=d,e.focusedEditor=d,d.fire("focus",{blurredEditor:t}),d.focus(!0)),d.lastRng=null}),d.on("focusout",function(){window.setTimeout(function(){var t=e.focusedEditor;c(a())||t!=d||(d.fire("blur",{focusedEditor:null}),e.focusedEditor=null,d.selection&&(d.selection.lastFocusBookmark=null))},0)}),i||(i=function(t){var n=e.activeEditor;n&&t.target.ownerDocument==document&&(n.selection&&(n.selection.lastFocusBookmark=s(n.lastRng)),c(t.target)||e.focusedEditor!=n||(n.fire("blur",{focusedEditor:null}),e.focusedEditor=null))},o.bind(document,"focusin",i))}function f(t){e.focusedEditor==t.editor&&(e.focusedEditor=null),e.activeEditor||(o.unbind(document,"selectionchange",r),o.unbind(document,"focusin",i),r=i=null)}e.on("AddEditor",d),e.on("RemoveEditor",f)}var r,i,o=e.DOM;return n.isEditorUIElement=function(e){return-1!==e.className.toString().indexOf("mce-")},n}),r(ct,[at,y,F,g,p,it,st,lt],function(e,t,n,r,i,o,a,s){var l=t.DOM,c=i.explode,u=i.each,d=i.extend,f=0,p,m={majorVersion:"4",minorVersion:"0.21.1",releaseDate:"2014-04-09",editors:[],i18n:a,activeEditor:null,setup:function(){var e=this,t,r,i="",o;if(r=document.location.href.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(r)||(r+="/"),o=window.tinymce||window.tinyMCEPreInit)t=o.base||o.baseURL,i=o.suffix;else for(var a=document.getElementsByTagName("script"),l=0;l<a.length;l++){var c=a[l].src;if(/tinymce(\.full|\.jquery|)(\.min|\.dev|)\.js/.test(c)){-1!=c.indexOf(".min")&&(i=".min"),t=c.substring(0,c.lastIndexOf("/"));break}}e.baseURL=new n(r).toAbsolute(t),e.documentBaseURL=r,e.baseURI=new n(e.baseURL),e.suffix=i,e.focusManager=new s(e)},init:function(t){function n(e){var t=e.id;return t||(t=e.name,t=t&&!l.get(t)?e.name:l.uniqueId(),e.setAttribute("id",t)),t}function r(t,n){if(!s.get(t)){var r=new e(t,n,s);p.push(r),r.render()}}function i(e,t,n){var r=e[t];if(r)return r.apply(n||this,Array.prototype.slice.call(arguments,2))}function o(e,t){return t.constructor===RegExp?t.test(e.className):l.hasClass(e,t)}function a(){var h,g;if(l.unbind(window,"ready",a),i(t,"onpageload"),t.types)return void u(t.types,function(e){u(l.select(e.selector),function(i){r(n(i),d({},t,e))})});if(t.selector)return void u(l.select(t.selector),function(e){r(n(e),t)});switch(t.mode){case"exact":h=t.elements||"",h.length>0&&u(c(h),function(n){l.get(n)?(m=new e(n,t,s),p.push(m),m.render()):u(document.forms,function(e){u(e.elements,function(e){e.name===n&&(n="mce_editor_"+f++,l.setAttrib(e,"id",n),r(n,t))})})});break;case"textareas":case"specific_textareas":u(l.select("textarea"),function(e){t.editor_deselector&&o(e,t.editor_deselector)||(!t.editor_selector||o(e,t.editor_selector))&&r(n(e),t)})}t.oninit&&(h=g=0,u(p,function(e){g++,e.initialized?h++:e.on("init",function(){h++,h==g&&i(t,"oninit")}),h==g&&i(t,"oninit")}))}var s=this,p=[],m;s.settings=t,l.bind(window,"ready",a)},get:function(e){return arguments.length?e in this.editors?this.editors[e]:null:this.editors},add:function(e){var t=this,n=t.editors;return n[e.id]=e,n.push(e),t.activeEditor=e,t.fire("AddEditor",{editor:e}),p||(p=function(){t.fire("BeforeUnload")},l.bind(window,"beforeunload",p)),e},createEditor:function(t,n){return this.add(new e(t,n,this))},remove:function(e){var t=this,n,r=t.editors,i,o;{if(e){if("string"==typeof e)return e=e.selector||e,void u(l.select(e),function(e){t.remove(r[e.id])});if(i=e,!r[i.id])return null;for(delete r[i.id],n=0;n<r.length;n++)if(r[n]==i){r.splice(n,1),o=!0;break}return t.activeEditor==i&&(t.activeEditor=r[0]),o&&t.fire("RemoveEditor",{editor:i}),r.length||l.unbind(window,"beforeunload",p),i.remove(),i}for(n=r.length-1;n>=0;n--)t.remove(r[n])}},execCommand:function(t,n,r){var i=this,o=i.get(r);switch(t){case"mceAddEditor":return i.get(r)||new e(r,i.settings,i).render(),!0;case"mceRemoveEditor":return o&&o.remove(),!0;case"mceToggleEditor":return o?(o.isHidden()?o.show():o.hide(),!0):(i.execCommand("mceAddEditor",0,r),!0)}return i.activeEditor?i.activeEditor.execCommand(t,n,r):!1},triggerSave:function(){u(this.editors,function(e){e.save()})},addI18n:function(e,t){a.add(e,t)},translate:function(e){return a.translate(e)}};return d(m,o),m.setup(),window.tinymce=window.tinyMCE=m,m}),r(ut,[ct,p],function(e,t){var n=t.each,r=t.explode;e.on("AddEditor",function(e){var t=e.editor;t.on("preInit",function(){function e(e,t){n(t,function(t,n){t&&s.setStyle(e,n,t)}),s.rename(e,"span")}function i(e){s=t.dom,l.convert_fonts_to_spans&&n(s.select("font,u,strike",e.node),function(e){o[e.nodeName.toLowerCase()](s,e)})}var o,a,s,l=t.settings;l.inline_styles&&(a=r(l.font_size_legacy_values),o={font:function(t,n){e(n,{backgroundColor:n.style.backgroundColor,color:n.color,fontFamily:n.face,fontSize:a[parseInt(n.size,10)-1]})},u:function(t,n){e(n,{textDecoration:"underline"})},strike:function(t,n){e(n,{textDecoration:"line-through"})}},t.on("PreProcess SetContent",i))})})}),r(dt,[],function(){return{send:function(e){function t(){!e.async||4==n.readyState||r++>1e4?(e.success&&1e4>r&&200==n.status?e.success.call(e.success_scope,""+n.responseText,n,e):e.error&&e.error.call(e.error_scope,r>1e4?"TIMED_OUT":"GENERAL",n,e),n=null):setTimeout(t,10)}var n,r=0;if(e.scope=e.scope||this,e.success_scope=e.success_scope||e.scope,e.error_scope=e.error_scope||e.scope,e.async=e.async===!1?!1:!0,e.data=e.data||"",n=new XMLHttpRequest){if(n.overrideMimeType&&n.overrideMimeType(e.content_type),n.open(e.type||(e.data?"POST":"GET"),e.url,e.async),e.content_type&&n.setRequestHeader("Content-Type",e.content_type),n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.send(e.data),!e.async)return t();setTimeout(t,10)}}}}),r(ft,[],function(){function e(t,n){var r,i,o,a;if(n=n||'"',null===t)return"null";if(o=typeof t,"string"==o)return i="\bb	t\nn\ff\rr\"\"''\\\\",n+t.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(e,t){return'"'===n&&"'"===e?e:(r=i.indexOf(t),r+1?"\\"+i.charAt(r+1):(e=t.charCodeAt().toString(16),"\\u"+"0000".substring(e.length)+e))})+n;if("object"==o){if(t.hasOwnProperty&&"[object Array]"===Object.prototype.toString.call(t)){for(r=0,i="[";r<t.length;r++)i+=(r>0?",":"")+e(t[r],n);return i+"]"}i="{";for(a in t)t.hasOwnProperty(a)&&(i+="function"!=typeof t[a]?(i.length>1?","+n:n)+a+n+":"+e(t[a],n):"");return i+"}"}return""+t}return{serialize:e,parse:function(e){try{return window[String.fromCharCode(101)+"val"]("("+e+")")}catch(t){}}}}),r(pt,[ft,dt,p],function(e,t,n){function r(e){this.settings=i({},e),this.count=0}var i=n.extend;return r.sendRPC=function(e){return(new r).send(e)},r.prototype={send:function(n){var r=n.error,o=n.success;n=i(this.settings,n),n.success=function(t,i){t=e.parse(t),"undefined"==typeof t&&(t={error:"JSON Parse error."}),t.error?r.call(n.error_scope||n.scope,t.error,i):o.call(n.success_scope||n.scope,t.result)},n.error=function(e,t){r&&r.call(n.error_scope||n.scope,e,t)},n.data=e.serialize({id:n.id||"c"+this.count++,method:n.method,params:n.params}),n.content_type="application/json",t.send(n)}},r}),r(mt,[y],function(e){return{callbacks:{},count:0,send:function(n){var r=this,i=e.DOM,o=n.count!==t?n.count:r.count,a="tinymce_jsonp_"+o;r.callbacks[o]=function(e){i.remove(a),delete r.callbacks[o],n.callback(e)},i.add(i.doc.body,"script",{id:a,src:n.url,type:"text/javascript"}),r.count++}}}),r(ht,[],function(){function e(){s=[];for(var e in a)s.push(e);i.length=s.length}function n(){function n(e){var n,r;return r=e!==t?u+e:i.indexOf(",",u),-1===r||r>i.length?null:(n=i.substring(u,r),u=r+1,n)}var r,i,s,u=0;if(a={},c){o.load(l),i=o.getAttribute(l)||"";do{var d=n();if(null===d)break;if(r=n(parseInt(d,32)||0),null!==r){if(d=n(),null===d)break;s=n(parseInt(d,32)||0),r&&(a[r]=s)}}while(null!==r);e()}}function r(){var t,n="";if(c){for(var r in a)t=a[r],n+=(n?",":"")+r.length.toString(32)+","+r+","+t.length.toString(32)+","+t;o.setAttribute(l,n);try{o.save(l)}catch(i){}e()}}var i,o,a,s,l,c;try{if(window.localStorage)return localStorage}catch(u){}return l="tinymce",o=document.documentElement,c=!!o.addBehavior,c&&o.addBehavior("#default#userData"),i={key:function(e){return s[e]},getItem:function(e){return e in a?a[e]:null},setItem:function(e,t){a[e]=""+t,r()},removeItem:function(e){delete a[e],r()},clear:function(){a={},r()}},n(),i}),r(gt,[y,l,b,C,p,g],function(e,t,n,r,i,o){var a=window.tinymce;return a.DOM=e.DOM,a.ScriptLoader=n.ScriptLoader,a.PluginManager=r.PluginManager,a.ThemeManager=r.ThemeManager,a.dom=a.dom||{},a.dom.Event=t.Event,i.each(i,function(e,t){a[t]=e}),i.each("isOpera isWebKit isIE isGecko isMac".split(" "),function(e){a[e]=o[e.substr(2).toLowerCase()]}),{}}),r(vt,[z,p],function(e,t){return e.extend({Defaults:{firstControlClass:"first",lastControlClass:"last"},init:function(e){this.settings=t.extend({},this.Defaults,e)},preRender:function(e){e.addClass(this.settings.containerClass,"body")},applyClasses:function(e){var t=this,n=t.settings,r,i,o;r=e.items().filter(":visible"),i=n.firstControlClass,o=n.lastControlClass,r.each(function(e){e.removeClass(i).removeClass(o),n.controlClass&&e.addClass(n.controlClass)}),r.eq(0).addClass(i),r.eq(-1).addClass(o)},renderHtml:function(e){var t=this,n=t.settings,r,i="";return r=e.items(),r.eq(0).addClass(n.firstControlClass),r.eq(-1).addClass(n.lastControlClass),r.each(function(e){n.controlClass&&e.addClass(n.controlClass),i+=e.renderHtml()}),i},recalc:function(){},postRender:function(){}})}),r(yt,[vt],function(e){return e.extend({Defaults:{containerClass:"abs-layout",controlClass:"abs-layout-item"},recalc:function(e){e.items().filter(":visible").each(function(e){var t=e.settings;e.layoutRect({x:t.x,y:t.y,w:t.w,h:t.h}),e.recalc&&e.recalc()})},renderHtml:function(e){return'<div id="'+e._id+'-absend" class="'+e.classPrefix+'abs-end"></div>'+this._super(e)}})}),r(bt,[q,J],function(e,t){return e.extend({Mixins:[t],Defaults:{classes:"widget tooltip tooltip-n"},text:function(e){var t=this;return"undefined"!=typeof e?(t._value=e,t._rendered&&(t.getEl().lastChild.innerHTML=t.encode(e)),t):t._value},renderHtml:function(){var e=this,t=e.classPrefix;return'<div id="'+e._id+'" class="'+e.classes()+'" role="presentation"><div class="'+t+'tooltip-arrow"></div><div class="'+t+'tooltip-inner">'+e.encode(e._text)+"</div></div>"},repaint:function(){var e=this,t,n;t=e.getEl().style,n=e._layoutRect,t.left=n.x+"px",t.top=n.y+"px",t.zIndex=131070}})}),r(Ct,[q,bt],function(e,t){var n,r=e.extend({init:function(e){var t=this;t._super(e),e=t.settings,t.canFocus=!0,e.tooltip&&r.tooltips!==!1&&(t.on("mouseenter",function(n){var r=t.tooltip().moveTo(-65535);if(n.control==t){var i=r.text(e.tooltip).show().testMoveRel(t.getEl(),["bc-tc","bc-tl","bc-tr"]);r.toggleClass("tooltip-n","bc-tc"==i),r.toggleClass("tooltip-nw","bc-tl"==i),r.toggleClass("tooltip-ne","bc-tr"==i),r.moveRel(t.getEl(),i)}else r.hide()}),t.on("mouseleave mousedown click",function(){t.tooltip().hide()})),t.aria("label",e.ariaLabel||e.tooltip)},tooltip:function(){return n||(n=new t({type:"tooltip"}),n.renderTo()),n},active:function(e){var t=this,n;return e!==n&&(t.aria("pressed",e),t.toggleClass("active",e)),t._super(e)},disabled:function(e){var t=this,n;return e!==n&&(t.aria("disabled",e),t.toggleClass("disabled",e)),t._super(e)},postRender:function(){var e=this,t=e.settings;e._rendered=!0,e._super(),e.parent()||!t.width&&!t.height||(e.initLayoutRect(),e.repaint()),t.autofocus&&e.focus()},remove:function(){this._super(),n&&(n.remove(),n=null)}});return r}),r(xt,[Ct],function(e){return e.extend({Defaults:{classes:"widget btn",role:"button"},init:function(e){var t=this,n;t.on("click mousedown",function(e){e.preventDefault()}),t._super(e),n=e.size,e.subtype&&t.addClass(e.subtype),n&&t.addClass("btn-"+n)},icon:function(e){var t=this,n=t.classPrefix;if("undefined"==typeof e)return t.settings.icon;if(t.settings.icon=e,e=e?n+"ico "+n+"i-"+t.settings.icon:"",t._rendered){var r=t.getEl().firstChild,i=r.getElementsByTagName("i")[0];e?(i&&i==r.firstChild||(i=document.createElement("i"),r.insertBefore(i,r.firstChild)),i.className=e):i&&r.removeChild(i),t.text(t._text)}return t},repaint:function(){var e=this.getEl().firstChild.style;e.width=e.height="100%",this._super()},text:function(e){var t=this;if(t._rendered){var n=t.getEl().lastChild.lastChild;n&&(n.data=t.translate(e))}return t._super(e)},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.settings.icon,i;return i=e.settings.image,i?(r="none","string"!=typeof i&&(i=window.getSelection?i[0]:i[1]),i=" style=\"background-image: url('"+i+"')\""):i="",r=e.settings.icon?n+"ico "+n+"i-"+r:"",'<div id="'+t+'" class="'+e.classes()+'" tabindex="-1" aria-labelledby="'+t+'"><button role="presentation" type="button" tabindex="-1">'+(r?'<i class="'+r+'"'+i+"></i>":"")+(e._text?(r?"\xa0":"")+e.encode(e._text):"")+"</button></div>"}})}),r(wt,[K],function(e){return e.extend({Defaults:{defaultType:"button",role:"group"},renderHtml:function(){var e=this,t=e._layout;return e.addClass("btn-group"),e.preRender(),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes()+'"><div id="'+e._id+'-body">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"}})}),r(_t,[Ct],function(e){return e.extend({Defaults:{classes:"checkbox",role:"checkbox",checked:!1},init:function(e){var t=this;t._super(e),t.on("click mousedown",function(e){e.preventDefault()}),t.on("click",function(e){e.preventDefault(),t.disabled()||t.checked(!t.checked())}),t.checked(t.settings.checked)},checked:function(e){var t=this;return"undefined"!=typeof e?(e?t.addClass("checked"):t.removeClass("checked"),t._checked=e,t.aria("checked",e),t):t._checked},value:function(e){return this.checked(e)},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix;return'<div id="'+t+'" class="'+e.classes()+'" unselectable="on" aria-labelledby="'+t+'-al" tabindex="-1"><i class="'+n+"ico "+n+'i-checkbox"></i><span id="'+t+'-al" class="'+n+'label">'+e.encode(e._text)+"</span></div>"}})}),r(Nt,[xt,Z],function(e,t){return e.extend({showPanel:function(){var e=this,n=e.settings;if(e.active(!0),e.panel)e.panel.show();else{var r=n.panel;r.type&&(r={layout:"grid",items:r}),r.role=r.role||"dialog",r.popover=!0,r.autohide=!0,r.ariaRoot=!0,e.panel=new t(r).on("hide",function(){e.active(!1)}).on("cancel",function(t){t.stopPropagation(),e.focus(),e.hidePanel()}).parent(e).renderTo(e.getContainerElm()),e.panel.fire("show"),e.panel.reflow()}e.panel.moveRel(e.getEl(),n.popoverAlign||(e.isRtl()?["bc-tr","bc-tc"]:["bc-tl","bc-tc"]))},hidePanel:function(){var e=this;e.panel&&e.panel.hide()},postRender:function(){var e=this;return e.aria("haspopup",!0),e.on("click",function(t){t.control===e&&(e.panel&&e.panel.visible()?e.hidePanel():(e.showPanel(),e.panel.focus(!!t.aria)))}),e._super()}})}),r(Et,[Nt,y],function(e,t){var n=t.DOM;return e.extend({init:function(e){this._super(e),this.addClass("colorbutton")},color:function(e){return e?(this._color=e,this.getEl("preview").style.backgroundColor=e,this):this._color},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.settings.icon?n+"ico "+n+"i-"+e.settings.icon:"",i=e.settings.image?" style=\"background-image: url('"+e.settings.image+"')\"":"";return'<div id="'+t+'" class="'+e.classes()+'" role="button" tabindex="-1" aria-haspopup="true"><button role="presentation" hidefocus="1" type="button" tabindex="-1">'+(r?'<i class="'+r+'"'+i+"></i>":"")+'<span id="'+t+'-preview" class="'+n+'preview"></span>'+(e._text?(r?" ":"")+e._text:"")+'</button><button type="button" class="'+n+'open" hidefocus="1" tabindex="-1"> <i class="'+n+'caret"></i></button></div>'},postRender:function(){var e=this,t=e.settings.onclick;return e.on("click",function(r){r.aria&&"down"==r.aria.key||r.control!=e||n.getParent(r.target,"."+e.classPrefix+"open")||(r.stopImmediatePropagation(),t.call(e,r))}),delete e.settings.onclick,e._super()}})}),r(St,[Ct,$,U],function(e,t,n){return e.extend({init:function(e){var t=this;t._super(e),t.addClass("combobox"),t.subinput=!0,t.ariaTarget="inp",e=t.settings,e.menu=e.menu||e.values,e.menu&&(e.icon="caret"),t.on("click",function(n){for(var r=n.target,i=t.getEl();r&&r!=i;)r.id&&-1!=r.id.indexOf("-open")&&(t.fire("action"),e.menu&&(t.showMenu(),n.aria&&t.menu.items()[0].focus())),r=r.parentNode}),t.on("keydown",function(e){"INPUT"==e.target.nodeName&&13==e.keyCode&&t.parents().reverse().each(function(n){return e.preventDefault(),t.fire("change"),n.hasEventListeners("submit")&&n.toJSON?(n.fire("submit",{data:n.toJSON()}),!1):void 0})}),e.placeholder&&(t.addClass("placeholder"),t.on("focusin",function(){t._hasOnChange||(n.on(t.getEl("inp"),"change",function(){t.fire("change")}),t._hasOnChange=!0),t.hasClass("placeholder")&&(t.getEl("inp").value="",t.removeClass("placeholder"))}),t.on("focusout",function(){0===t.value().length&&(t.getEl("inp").value=e.placeholder,t.addClass("placeholder"))}))},showMenu:function(){var e=this,n=e.settings,r;e.menu||(r=n.menu||[],r.length?r={type:"menu",items:r}:r.type=r.type||"menu",e.menu=t.create(r).parent(e).renderTo(e.getContainerElm()),e.fire("createmenu"),e.menu.reflow(),e.menu.on("cancel",function(t){t.control===e.menu&&e.focus()}),e.menu.on("show hide",function(t){t.control.items().each(function(t){t.active(t.value()==e.value())})}).fire("show"),e.menu.on("select",function(t){e.value(t.control.value())}),e.on("focusin",function(t){"INPUT"==t.target.tagName.toUpperCase()&&e.menu.hide()}),e.aria("expanded",!0)),e.menu.show(),e.menu.layoutRect({w:e.layoutRect().w}),e.menu.moveRel(e.getEl(),e.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])},value:function(e){var t=this;return"undefined"!=typeof e?(t._value=e,t.removeClass("placeholder"),t._rendered&&(t.getEl("inp").value=e),t):t._rendered?(e=t.getEl("inp").value,e!=t.settings.placeholder?e:""):t._value},disabled:function(e){var t=this;return t._rendered&&"undefined"!=typeof e&&(t.getEl("inp").disabled=e),t._super(e)},focus:function(){this.getEl("inp").focus()},repaint:function(){var e=this,t=e.getEl(),r=e.getEl("open"),i=e.layoutRect(),o,a;o=r?i.w-n.getSize(r).width-10:i.w-10;var s=document;return s.all&&(!s.documentMode||s.documentMode<=8)&&(a=e.layoutRect().h-2+"px"),n.css(t.firstChild,{width:o,lineHeight:a}),e._super(),e},postRender:function(){var e=this;return n.on(this.getEl("inp"),"change",function(){e.fire("change")}),e._super()},remove:function(){n.off(this.getEl("inp")),this._super()},renderHtml:function(){var e=this,t=e._id,n=e.settings,r=e.classPrefix,i=n.value||n.placeholder||"",o,a,s="",l="";return"spellcheck"in n&&(l+=' spellcheck="'+n.spellcheck+'"'),n.maxLength&&(l+=' maxlength="'+n.maxLength+'"'),n.size&&(l+=' size="'+n.size+'"'),n.subtype&&(l+=' type="'+n.subtype+'"'),e.disabled()&&(l+=' disabled="disabled"'),o=n.icon,o&&"caret"!=o&&(o=r+"ico "+r+"i-"+n.icon),a=e._text,(o||a)&&(s='<div id="'+t+'-open" class="'+r+"btn "+r+'open" tabIndex="-1" role="button"><button id="'+t+'-action" type="button" hidefocus="1" tabindex="-1">'+("caret"!=o?'<i class="'+o+'"></i>':'<i class="'+r+'caret"></i>')+(a?(o?" ":"")+a:"")+"</button></div>",e.addClass("has-open")),'<div id="'+t+'" class="'+e.classes()+'"><input id="'+t+'-inp" class="'+r+"textbox "+r+'placeholder" value="'+i+'" hidefocus="1"'+l+" />"+s+"</div>"}})}),r(kt,[Ct],function(e){return e.extend({init:function(e){var t=this;e.delimiter||(e.delimiter="\xbb"),t._super(e),t.addClass("path"),t.canFocus=!0,t.on("click",function(e){var n,r=e.target;(n=r.getAttribute("data-index"))&&t.fire("select",{value:t.data()[n],index:n})})},focus:function(){var e=this;return e.getEl().firstChild.focus(),e},data:function(e){var t=this;return"undefined"!=typeof e?(t._data=e,t.update(),t):t._data},update:function(){this.innerHtml(this._getPathHtml())},postRender:function(){var e=this;e._super(),e.data(e.settings.data)},renderHtml:function(){var e=this;return'<div id="'+e._id+'" class="'+e.classes()+'">'+e._getPathHtml()+"</div>"},_getPathHtml:function(){var e=this,t=e._data||[],n,r,i="",o=e.classPrefix;for(n=0,r=t.length;r>n;n++)i+=(n>0?'<div class="'+o+'divider" aria-hidden="true"> '+e.settings.delimiter+" </div>":"")+'<div role="button" class="'+o+"path-item"+(n==r-1?" "+o+"last":"")+'" data-index="'+n+'" tabindex="-1" id="'+e._id+"-"+n+'" aria-level="'+n+'">'+t[n].name+"</div>";return i||(i='<div class="'+o+'path-item">\xa0</div>'),i}})}),r(Tt,[kt,ct],function(e,t){return e.extend({postRender:function(){function e(e){if(1===e.nodeType){if("BR"==e.nodeName||e.getAttribute("data-mce-bogus"))return!0;if("bookmark"===e.getAttribute("data-mce-type"))return!0}return!1}var n=this,r=t.activeEditor;return n.on("select",function(t){var n=[],i,o=r.getBody();for(r.focus(),i=r.selection.getStart();i&&i!=o;)e(i)||n.push(i),i=i.parentNode;r.selection.select(n[n.length-1-t.index]),r.nodeChanged()}),r.on("nodeChange",function(t){for(var i=[],o=t.parents,a=o.length;a--;)if(1==o[a].nodeType&&!e(o[a])){var s=r.fire("ResolveName",{name:o[a].nodeName.toLowerCase(),target:o[a]});i.push({name:s.name})}n.data(i)}),n._super()}})}),r(Rt,[K],function(e){return e.extend({Defaults:{layout:"flex",align:"center",defaults:{flex:1}},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.addClass("formitem"),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1">'+(e.settings.title?'<div id="'+e._id+'-title" class="'+n+'title">'+e.settings.title+"</div>":"")+'<div id="'+e._id+'-body" class="'+e.classes("body")+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"
-}})}),r(At,[K,Rt],function(e,t){return e.extend({Defaults:{containerCls:"form",layout:"flex",direction:"column",align:"stretch",flex:1,padding:20,labelGap:30,spacing:10,callbacks:{submit:function(){this.submit()}}},preRender:function(){var e=this,n=e.items();n.each(function(n){var r,i=n.settings.label;i&&(r=new t({layout:"flex",autoResize:"overflow",defaults:{flex:1},items:[{type:"label",id:n._id+"-l",text:i,flex:0,forId:n._id,disabled:n.disabled()}]}),r.type="formitem",n.aria("labelledby",n._id+"-l"),"undefined"==typeof n.settings.flex&&(n.settings.flex=1),e.replace(n,r),r.add(n))})},recalcLabels:function(){var e=this,t=0,n=[],r,i;if(e.settings.labelGapCalc!==!1)for(e.items().filter("formitem").each(function(e){var r=e.items()[0],i=r.getEl().clientWidth;t=i>t?i:t,n.push(r)}),i=e.settings.labelGap||0,r=n.length;r--;)n[r].settings.minWidth=t+i},visible:function(e){var t=this._super(e);return e===!0&&this._rendered&&this.recalcLabels(),t},submit:function(){return this.fire("submit",{data:this.toJSON()})},postRender:function(){var e=this;e._super(),e.recalcLabels(),e.fromJSON(e.settings.data)}})}),r(Bt,[At],function(e){return e.extend({Defaults:{containerCls:"fieldset",layout:"flex",direction:"column",align:"stretch",flex:1,padding:"25 15 5 15",labelGap:30,spacing:10,border:1},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.preRender(),t.preRender(e),'<fieldset id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1">'+(e.settings.title?'<legend id="'+e._id+'-title" class="'+n+'fieldset-title">'+e.settings.title+"</legend>":"")+'<div id="'+e._id+'-body" class="'+e.classes("body")+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></fieldset>"}})}),r(Lt,[St],function(e){return e.extend({init:function(e){var t=this,n=tinymce.activeEditor,r;e.spellcheck=!1,r=n.settings.file_browser_callback,r&&(e.icon="browse",e.onaction=function(){r(t.getEl("inp").id,t.getEl("inp").value,e.filetype,window)}),t._super(e)}})}),r(Dt,[yt],function(e){return e.extend({recalc:function(e){var t=e.layoutRect(),n=e.paddingBox();e.items().filter(":visible").each(function(e){e.layoutRect({x:n.left,y:n.top,w:t.innerW-n.right-n.left,h:t.innerH-n.top-n.bottom}),e.recalc&&e.recalc()})}})}),r(Mt,[yt],function(e){return e.extend({recalc:function(e){var t,n,r,i,o,a,s,l,c,u,d,f,p,m,h,g,v=[],y,b,C,x,w,_,N,E,S,k,T,R,A,B,L,D,M,H,P,O,I,F,z=Math.max,W=Math.min;for(r=e.items().filter(":visible"),i=e.layoutRect(),o=e._paddingBox,a=e.settings,f=e.isRtl()?a.direction||"row-reversed":a.direction,s=a.align,l=e.isRtl()?a.pack||"end":a.pack,c=a.spacing||0,("row-reversed"==f||"column-reverse"==f)&&(r=r.set(r.toArray().reverse()),f=f.split("-")[0]),"column"==f?(S="y",N="h",E="minH",k="maxH",R="innerH",T="top",A="deltaH",B="contentH",P="left",M="w",L="x",D="innerW",H="minW",O="right",I="deltaW",F="contentW"):(S="x",N="w",E="minW",k="maxW",R="innerW",T="left",A="deltaW",B="contentW",P="top",M="h",L="y",D="innerH",H="minH",O="bottom",I="deltaH",F="contentH"),d=i[R]-o[T]-o[T],_=u=0,t=0,n=r.length;n>t;t++)p=r[t],m=p.layoutRect(),h=p.settings,g=h.flex,d-=n-1>t?c:0,g>0&&(u+=g,m[k]&&v.push(p),m.flex=g),d-=m[E],y=o[P]+m[H]+o[O],y>_&&(_=y);if(x={},x[E]=0>d?i[E]-d+i[A]:i[R]-d+i[A],x[H]=_+i[I],x[B]=i[R]-d,x[F]=_,x.minW=W(x.minW,i.maxW),x.minH=W(x.minH,i.maxH),x.minW=z(x.minW,i.startMinWidth),x.minH=z(x.minH,i.startMinHeight),!i.autoResize||x.minW==i.minW&&x.minH==i.minH){for(C=d/u,t=0,n=v.length;n>t;t++)p=v[t],m=p.layoutRect(),b=m[k],y=m[E]+m.flex*C,y>b?(d-=m[k]-m[E],u-=m.flex,m.flex=0,m.maxFlexSize=b):m.maxFlexSize=0;for(C=d/u,w=o[T],x={},0===u&&("end"==l?w=d+o[T]:"center"==l?(w=Math.round(i[R]/2-(i[R]-d)/2)+o[T],0>w&&(w=o[T])):"justify"==l&&(w=o[T],c=Math.floor(d/(r.length-1)))),x[L]=o[P],t=0,n=r.length;n>t;t++)p=r[t],m=p.layoutRect(),y=m.maxFlexSize||m[E],"center"===s?x[L]=Math.round(i[D]/2-m[M]/2):"stretch"===s?(x[M]=z(m[H]||0,i[D]-o[P]-o[O]),x[L]=o[P]):"end"===s&&(x[L]=i[D]-m[M]-o.top),m.flex>0&&(y+=m.flex*C),x[N]=y,x[S]=w,p.layoutRect(x),p.recalc&&p.recalc(),w+=y+c}else if(x.w=x.minW,x.h=x.minH,e.layoutRect(x),this.recalc(e),null===e._lastRect){var V=e.parent();V&&(V._lastRect=null,V.recalc())}}})}),r(Ht,[vt],function(e){return e.extend({Defaults:{containerClass:"flow-layout",controlClass:"flow-layout-item",endClass:"break"},recalc:function(e){e.items().filter(":visible").each(function(e){e.recalc&&e.recalc()})}})}),r(Pt,[q,Ct,Z,p,ct,g],function(e,t,n,r,i,o){function a(e){function t(t,n){return function(){var r=this;e.on("nodeChange",function(i){var o=e.formatter,a=null;s(i.parents,function(e){return s(t,function(t){return n?o.matchNode(e,n,{value:t.value})&&(a=t.value):o.matchNode(e,t.value)&&(a=t.value),a?!1:void 0}),a?!1:void 0}),r.value(a)})}}function r(e){e=e.split(";");for(var t=e.length;t--;)e[t]=e[t].split("=");return e}function i(){function t(e){var n=[];if(e)return s(e,function(e){var o={text:e.title,icon:e.icon};if(e.items)o.menu=t(e.items);else{var a=e.format||"custom"+r++;e.format||(e.name=a,i.push(e)),o.format=a}n.push(o)}),n}function n(){var n;return n=t(e.settings.style_formats_merge?e.settings.style_formats?o.concat(e.settings.style_formats):o:e.settings.style_formats||o)}var r=0,i=[],o=[{title:"Headings",items:[{title:"Heading 1",format:"h1"},{title:"Heading 2",format:"h2"},{title:"Heading 3",format:"h3"},{title:"Heading 4",format:"h4"},{title:"Heading 5",format:"h5"},{title:"Heading 6",format:"h6"}]},{title:"Inline",items:[{title:"Bold",icon:"bold",format:"bold"},{title:"Italic",icon:"italic",format:"italic"},{title:"Underline",icon:"underline",format:"underline"},{title:"Strikethrough",icon:"strikethrough",format:"strikethrough"},{title:"Superscript",icon:"superscript",format:"superscript"},{title:"Subscript",icon:"subscript",format:"subscript"},{title:"Code",icon:"code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"},{title:"Div",format:"div"},{title:"Pre",format:"pre"}]},{title:"Alignment",items:[{title:"Left",icon:"alignleft",format:"alignleft"},{title:"Center",icon:"aligncenter",format:"aligncenter"},{title:"Right",icon:"alignright",format:"alignright"},{title:"Justify",icon:"alignjustify",format:"alignjustify"}]}];return e.on("init",function(){s(i,function(t){e.formatter.register(t.name,t)})}),{type:"menu",items:n(),onPostRender:function(t){e.fire("renderFormatsMenu",{control:t.control})},itemDefaults:{preview:!0,textStyle:function(){return this.settings.format?e.formatter.getCssText(this.settings.format):void 0},onPostRender:function(){var t=this,n=this.settings.format;n&&t.parent().on("show",function(){t.disabled(!e.formatter.canApply(n)),t.active(e.formatter.match(n))})},onclick:function(){this.settings.format&&d(this.settings.format)}}}}function o(){return e.undoManager?e.undoManager.hasUndo():!1}function a(){return e.undoManager?e.undoManager.hasRedo():!1}function l(){var t=this;t.disabled(!o()),e.on("Undo Redo AddUndo TypingUndo",function(){t.disabled(!o())})}function c(){var t=this;t.disabled(!a()),e.on("Undo Redo AddUndo TypingUndo",function(){t.disabled(!a())})}function u(){var t=this;e.on("VisualAid",function(e){t.active(e.hasVisual)}),t.active(e.hasVisual)}function d(t){t.control&&(t=t.control.value()),t&&e.execCommand("mceToggleFormat",!1,t)}var f;f=i(),s({bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript"},function(t,n){e.addButton(n,{tooltip:t,onPostRender:function(){var t=this;e.formatter?e.formatter.formatChanged(n,function(e){t.active(e)}):e.on("init",function(){e.formatter.formatChanged(n,function(e){t.active(e)})})},onclick:function(){d(n)}})}),s({outdent:["Decrease indent","Outdent"],indent:["Increase indent","Indent"],cut:["Cut","Cut"],copy:["Copy","Copy"],paste:["Paste","Paste"],help:["Help","mceHelp"],selectall:["Select all","SelectAll"],hr:["Insert horizontal rule","InsertHorizontalRule"],removeformat:["Clear formatting","RemoveFormat"],visualaid:["Visual aids","mceToggleVisualAid"],newdocument:["New document","mceNewDocument"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1]})}),s({blockquote:["Blockquote","mceBlockQuote"],numlist:["Numbered list","InsertOrderedList"],bullist:["Bullet list","InsertUnorderedList"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],alignleft:["Align left","JustifyLeft"],aligncenter:["Align center","JustifyCenter"],alignright:["Align right","JustifyRight"],alignjustify:["Justify","JustifyFull"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1],onPostRender:function(){var t=this;e.formatter?e.formatter.formatChanged(n,function(e){t.active(e)}):e.on("init",function(){e.formatter.formatChanged(n,function(e){t.active(e)})})}})}),e.addButton("undo",{tooltip:"Undo",onPostRender:l,cmd:"undo"}),e.addButton("redo",{tooltip:"Redo",onPostRender:c,cmd:"redo"}),e.addMenuItem("newdocument",{text:"New document",shortcut:"Ctrl+N",icon:"newdocument",cmd:"mceNewDocument"}),e.addMenuItem("undo",{text:"Undo",icon:"undo",shortcut:"Ctrl+Z",onPostRender:l,cmd:"undo"}),e.addMenuItem("redo",{text:"Redo",icon:"redo",shortcut:"Ctrl+Y",onPostRender:c,cmd:"redo"}),e.addMenuItem("visualaid",{text:"Visual aids",selectable:!0,onPostRender:u,cmd:"mceToggleVisualAid"}),s({cut:["Cut","Cut","Ctrl+X"],copy:["Copy","Copy","Ctrl+C"],paste:["Paste","Paste","Ctrl+V"],selectall:["Select all","SelectAll","Ctrl+A"],bold:["Bold","Bold","Ctrl+B"],italic:["Italic","Italic","Ctrl+I"],underline:["Underline","Underline"],strikethrough:["Strikethrough","Strikethrough"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],removeformat:["Clear formatting","RemoveFormat"]},function(t,n){e.addMenuItem(n,{text:t[0],icon:n,shortcut:t[2],cmd:t[1]})}),e.on("mousedown",function(){n.hideAll()}),e.addButton("styleselect",{type:"menubutton",text:"Formats",menu:f}),e.addButton("formatselect",function(){var n=[],i=r(e.settings.block_formats||"Paragraph=p;Address=address;Pre=pre;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6");return s(i,function(t){n.push({text:t[0],value:t[1],textStyle:function(){return e.formatter.getCssText(t[1])}})}),{type:"listbox",text:i[0][0],values:n,fixedWidth:!0,onselect:d,onPostRender:t(n)}}),e.addButton("fontselect",function(){var n="Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",i=[],o=r(e.settings.font_formats||n);return s(o,function(e){i.push({text:{raw:e[0]},value:e[1],textStyle:-1==e[1].indexOf("dings")?"font-family:"+e[1]:""})}),{type:"listbox",text:"Font Family",tooltip:"Font Family",values:i,fixedWidth:!0,onPostRender:t(i,"fontname"),onselect:function(t){t.control.settings.value&&e.execCommand("FontName",!1,t.control.settings.value)}}}),e.addButton("fontsizeselect",function(){var n=[],r="8pt 10pt 12pt 14pt 18pt 24pt 36pt",i=e.settings.fontsize_formats||r;return s(i.split(" "),function(e){n.push({text:e,value:e})}),{type:"listbox",text:"Font Sizes",tooltip:"Font Sizes",values:n,fixedWidth:!0,onPostRender:t(n,"fontsize"),onclick:function(t){t.control.settings.value&&e.execCommand("FontSize",!1,t.control.settings.value)}}}),e.addMenuItem("formats",{text:"Formats",menu:f})}var s=r.each;i.on("AddEditor",function(t){t.editor.rtl&&(e.rtl=!0),a(t.editor)}),e.translate=function(e){return i.translate(e)},t.tooltips=!o.iOS}),r(Ot,[yt],function(e){return e.extend({recalc:function(e){var t=e.settings,n,r,i,o,a,s,l,c,u,d,f,p,m,h,g,v,y,b,C,x,w,_,N=[],E=[],S,k,T,R;for(t=e.settings,i=e.items().filter(":visible"),o=e.layoutRect(),r=t.columns||Math.ceil(Math.sqrt(i.length)),n=Math.ceil(i.length/r),y=t.spacingH||t.spacing||0,b=t.spacingV||t.spacing||0,C=t.alignH||t.align,x=t.alignV||t.align,g=e._paddingBox,C&&"string"==typeof C&&(C=[C]),x&&"string"==typeof x&&(x=[x]),d=0;r>d;d++)N.push(0);for(f=0;n>f;f++)E.push(0);for(f=0;n>f;f++)for(d=0;r>d&&(u=i[f*r+d],u);d++)c=u.layoutRect(),S=c.minW,k=c.minH,N[d]=S>N[d]?S:N[d],E[f]=k>E[f]?k:E[f];for(T=o.innerW-g.left-g.right,w=0,d=0;r>d;d++)w+=N[d]+(d>0?y:0),T-=(d>0?y:0)+N[d];for(R=o.innerH-g.top-g.bottom,_=0,f=0;n>f;f++)_+=E[f]+(f>0?b:0),R-=(f>0?b:0)+E[f];if(w+=g.left+g.right,_+=g.top+g.bottom,l={},l.minW=w+(o.w-o.innerW),l.minH=_+(o.h-o.innerH),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH,l.minW=Math.min(l.minW,o.maxW),l.minH=Math.min(l.minH,o.maxH),l.minW=Math.max(l.minW,o.startMinWidth),l.minH=Math.max(l.minH,o.startMinHeight),!o.autoResize||l.minW==o.minW&&l.minH==o.minH){o.autoResize&&(l=e.layoutRect(l),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH);var A;A="start"==t.packV?0:R>0?Math.floor(R/n):0;var B=0,L=t.flexWidths;if(L)for(d=0;d<L.length;d++)B+=L[d];else B=r;var D=T/B;for(d=0;r>d;d++)N[d]+=L?L[d]*D:D;for(m=g.top,f=0;n>f;f++){for(p=g.left,s=E[f]+A,d=0;r>d&&(u=i[f*r+d],u);d++)h=u.settings,c=u.layoutRect(),a=Math.max(N[d],c.startMinWidth),c.x=p,c.y=m,v=h.alignH||(C?C[d]||C[0]:null),"center"==v?c.x=p+a/2-c.w/2:"right"==v?c.x=p+a-c.w:"stretch"==v&&(c.w=a),v=h.alignV||(x?x[d]||x[0]:null),"center"==v?c.y=m+s/2-c.h/2:"bottom"==v?c.y=m+s-c.h:"stretch"==v&&(c.h=s),u.layoutRect(c),p+=a+y,u.recalc&&u.recalc();m+=s+b}}else if(l.w=l.minW,l.h=l.minH,e.layoutRect(l),this.recalc(e),null===e._lastRect){var M=e.parent();M&&(M._lastRect=null,M.recalc())}}})}),r(It,[Ct],function(e){return e.extend({renderHtml:function(){var e=this;return e.addClass("iframe"),e.canFocus=!1,'<iframe id="'+e._id+'" class="'+e.classes()+'" tabindex="-1" src="'+(e.settings.url||"javascript:''")+'" frameborder="0"></iframe>'},src:function(e){this.getEl().src=e},html:function(e,t){var n=this,r=this.getEl().contentWindow.document.body;return r?(r.innerHTML=e,t&&t()):setTimeout(function(){n.html(e)},0),this}})}),r(Ft,[Ct,U],function(e,t){return e.extend({init:function(e){var t=this;t._super(e),t.addClass("widget"),t.addClass("label"),t.canFocus=!1,e.multiline&&t.addClass("autoscroll"),e.strong&&t.addClass("strong")},initLayoutRect:function(){var e=this,n=e._super();if(e.settings.multiline){var r=t.getSize(e.getEl());r.width>n.maxW&&(n.minW=n.maxW,e.addClass("multiline")),e.getEl().style.width=n.minW+"px",n.startMinH=n.h=n.minH=Math.min(n.maxH,t.getSize(e.getEl()).height)}return n},repaint:function(){var e=this;return e.settings.multiline||(e.getEl().style.lineHeight=e.layoutRect().h+"px"),e._super()},text:function(e){var t=this;return t._rendered&&e&&this.innerHtml(t.encode(e)),t._super(e)},renderHtml:function(){var e=this,t=e.settings.forId;return'<label id="'+e._id+'" class="'+e.classes()+'"'+(t?' for="'+t+'"':"")+">"+e.encode(e._text)+"</label>"}})}),r(zt,[K],function(e){return e.extend({Defaults:{role:"toolbar",layout:"flow"},init:function(e){var t=this;t._super(e),t.addClass("toolbar")},postRender:function(){var e=this;return e.items().addClass("toolbar-item"),e._super()}})}),r(Wt,[zt],function(e){return e.extend({Defaults:{role:"menubar",containerCls:"menubar",ariaRoot:!0,defaults:{type:"menubutton"}}})}),r(Vt,[xt,$,Wt],function(e,t,n){function r(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1}var i=e.extend({init:function(e){var t=this;t._renderOpen=!0,t._super(e),t.addClass("menubtn"),e.fixedWidth&&t.addClass("fixed-width"),t.aria("haspopup",!0),t.hasPopup=!0},showMenu:function(){var e=this,n=e.settings,r;return e.menu&&e.menu.visible()?e.hideMenu():(e.menu||(r=n.menu||[],r.length?r={type:"menu",items:r}:r.type=r.type||"menu",e.menu=t.create(r).parent(e).renderTo(),e.fire("createmenu"),e.menu.reflow(),e.menu.on("cancel",function(t){t.control.parent()===e.menu&&(t.stopPropagation(),e.focus(),e.hideMenu())}),e.menu.on("select",function(){e.focus()}),e.menu.on("show hide",function(t){t.control==e.menu&&e.activeMenu("show"==t.type),e.aria("expanded","show"==t.type)}).fire("show")),e.menu.show(),e.menu.layoutRect({w:e.layoutRect().w}),void e.menu.moveRel(e.getEl(),e.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"]))},hideMenu:function(){var e=this;e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide())},activeMenu:function(e){this.toggleClass("active",e)},renderHtml:function(){var e=this,t=e._id,r=e.classPrefix,i=e.settings.icon?r+"ico "+r+"i-"+e.settings.icon:"";return e.aria("role",e.parent()instanceof n?"menuitem":"button"),'<div id="'+t+'" class="'+e.classes()+'" tabindex="-1" aria-labelledby="'+t+'"><button id="'+t+'-open" role="presentation" type="button" tabindex="-1">'+(i?'<i class="'+i+'"></i>':"")+"<span>"+(e._text?(i?"\xa0":"")+e.encode(e._text):"")+'</span> <i class="'+r+'caret"></i></button></div>'},postRender:function(){var e=this;return e.on("click",function(t){t.control===e&&r(t.target,e.getEl())&&(e.showMenu(),t.aria&&e.menu.items()[0].focus())}),e.on("mouseenter",function(t){var n=t.control,r=e.parent(),o;n&&r&&n instanceof i&&n.parent()==r&&(r.items().filter("MenuButton").each(function(e){e.hideMenu&&e!=n&&(e.menu&&e.menu.visible()&&(o=!0),e.hideMenu())}),o&&(n.focus(),n.showMenu()))}),e._super()},text:function(e){var t=this,n,r;if(t._rendered)for(r=t.getEl("open").getElementsByTagName("span"),n=0;n<r.length;n++)r[n].innerHTML=(t.settings.icon&&e?"\xa0":"")+t.encode(e);return this._super(e)},remove:function(){this._super(),this.menu&&this.menu.remove()}});return i}),r(Ut,[Vt],function(e){return e.extend({init:function(e){var t=this,n,r,i,o,a;if(t._values=n=e.values,n){for(r=0;r<n.length;r++)if(i=n[r].selected||e.value===n[r].value){o=o||n[r].text,t._value=n[r].value;break}!i&&n.length>0&&(o=n[0].text,t._value=n[0].value),e.menu=n}e.text=e.text||o||n[0].text,t._super(e),t.addClass("listbox"),t.on("select",function(n){var r=n.control;a&&(n.lastControl=a),e.multiple?r.active(!r.active()):t.value(n.control.settings.value),a=r})},value:function(e){function t(e,n){e.items().each(function(e){r=e.value()===n,r&&(i=i||e.text()),e.active(r),e.menu&&t(e.menu,n)})}var n=this,r,i,o,a;if("undefined"!=typeof e){if(n.menu)t(n.menu,e);else for(o=n.settings.menu,a=0;a<o.length;a++)r=o[a].value==e,r&&(i=i||o[a].text),o[a].active=r;n.text(i||this.settings.text)}return n._super(e)}})}),r(qt,[Ct,$,g],function(e,t,n){return e.extend({Defaults:{border:0,role:"menuitem"},init:function(e){var t=this;t.hasPopup=!0,t._super(e),e=t.settings,t.addClass("menu-item"),e.menu&&t.addClass("menu-item-expand"),e.preview&&t.addClass("menu-item-preview"),("-"===t._text||"|"===t._text)&&(t.addClass("menu-item-sep"),t.aria("role","separator"),t._text="-"),e.selectable&&(t.aria("role","menuitemcheckbox"),t.addClass("menu-item-checkbox"),e.icon="selected"),e.preview||e.selectable||t.addClass("menu-item-normal"),t.on("mousedown",function(e){e.preventDefault()}),e.menu&&!e.ariaHideMenu&&t.aria("haspopup",!0)},hasMenus:function(){return!!this.settings.menu},showMenu:function(){var e=this,n=e.settings,r,i=e.parent();if(i.items().each(function(t){t!==e&&t.hideMenu()}),n.menu){r=e.menu,r?r.show():(r=n.menu,r.length?r={type:"menu",items:r}:r.type=r.type||"menu",i.settings.itemDefaults&&(r.itemDefaults=i.settings.itemDefaults),r=e.menu=t.create(r).parent(e).renderTo(),r.reflow(),r.fire("show"),r.on("cancel",function(t){t.stopPropagation(),e.focus(),r.hide()}),r.on("hide",function(t){t.control===r&&e.removeClass("selected")}),r.submenu=!0),r._parentMenu=i,r.addClass("menu-sub");var o=r.testMoveRel(e.getEl(),e.isRtl()?["tl-tr","bl-br","tr-tl","br-bl"]:["tr-tl","br-bl","tl-tr","bl-br"]);r.moveRel(e.getEl(),o),r.rel=o,o="menu-sub-"+o,r.removeClass(r._lastRel),r.addClass(o),r._lastRel=o,e.addClass("selected"),e.aria("expanded",!0)}},hideMenu:function(){var e=this;return e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide(),e.aria("expanded",!1)),e},renderHtml:function(){var e=this,t=e._id,r=e.settings,i=e.classPrefix,o=e.encode(e._text),a=e.settings.icon,s="",l=r.shortcut;return a&&e.parent().addClass("menu-has-icons"),r.image&&(a="none",s=" style=\"background-image: url('"+r.image+"')\""),l&&n.mac&&(l=l.replace(/ctrl\+alt\+/i,"&#x2325;&#x2318;"),l=l.replace(/ctrl\+/i,"&#x2318;"),l=l.replace(/alt\+/i,"&#x2325;"),l=l.replace(/shift\+/i,"&#x21E7;")),a=i+"ico "+i+"i-"+(e.settings.icon||"none"),'<div id="'+t+'" class="'+e.classes()+'" tabindex="-1">'+("-"!==o?'<i class="'+a+'"'+s+"></i>\xa0":"")+("-"!==o?'<span id="'+t+'-text" class="'+i+'text">'+o+"</span>":"")+(l?'<div id="'+t+'-shortcut" class="'+i+'menu-shortcut">'+l+"</div>":"")+(r.menu?'<div class="'+i+'caret"></div>':"")+"</div>"},postRender:function(){var e=this,t=e.settings,n=t.textStyle;if("function"==typeof n&&(n=n.call(this)),n){var r=e.getEl("text");r&&r.setAttribute("style",n)}return e.on("mouseenter click",function(n){n.control===e&&(t.menu||"click"!==n.type?(e.showMenu(),n.aria&&e.menu.focus(!0)):(e.fire("select"),e.parent().hideAll()))}),e._super(),e},active:function(e){return"undefined"!=typeof e&&this.aria("checked",e),this._super(e)},remove:function(){this._super(),this.menu&&this.menu.remove()}})}),r($t,[Z,qt,p],function(e,t,n){var r=e.extend({Defaults:{defaultType:"menuitem",border:1,layout:"stack",role:"application",bodyRole:"menu",ariaRoot:!0},init:function(e){var t=this;if(e.autohide=!0,e.constrainToViewport=!0,e.itemDefaults)for(var r=e.items,i=r.length;i--;)r[i]=n.extend({},e.itemDefaults,r[i]);t._super(e),t.addClass("menu")},repaint:function(){return this.toggleClass("menu-align",!0),this._super(),this.getEl().style.height="",this.getEl("body").style.height="",this},cancel:function(){var e=this;e.hideAll(),e.fire("select")},hideAll:function(){var e=this;return this.find("menuitem").exec("hideMenu"),e._super()},preRender:function(){var e=this;return e.items().each(function(t){var n=t.settings;return n.icon||n.selectable?(e._hasIcons=!0,!1):void 0}),e._super()}});return r}),r(jt,[_t],function(e){return e.extend({Defaults:{classes:"radio",role:"radio"}})}),r(Kt,[Ct,Y],function(e,t){return e.extend({renderHtml:function(){var e=this,t=e.classPrefix;return e.addClass("resizehandle"),"both"==e.settings.direction&&e.addClass("resizehandle-both"),e.canFocus=!1,'<div id="'+e._id+'" class="'+e.classes()+'"><i class="'+t+"ico "+t+'i-resize"></i></div>'},postRender:function(){var e=this;e._super(),e.resizeDragHelper=new t(this._id,{start:function(){e.fire("ResizeStart")},drag:function(t){"both"!=e.settings.direction&&(t.deltaX=0),e.fire("Resize",t)},stop:function(){e.fire("ResizeEnd")}})},remove:function(){return this.resizeDragHelper&&this.resizeDragHelper.destroy(),this._super()}})}),r(Yt,[Ct],function(e){return e.extend({renderHtml:function(){var e=this;return e.addClass("spacer"),e.canFocus=!1,'<div id="'+e._id+'" class="'+e.classes()+'"></div>'}})}),r(Gt,[Vt,U],function(e,t){return e.extend({Defaults:{classes:"widget btn splitbtn",role:"button"},repaint:function(){var e=this,n=e.getEl(),r=e.layoutRect(),i,o;return e._super(),i=n.firstChild,o=n.lastChild,t.css(i,{width:r.w-t.getSize(o).width,height:r.h-2}),t.css(o,{height:r.h-2}),e},activeMenu:function(e){var n=this;t.toggleClass(n.getEl().lastChild,n.classPrefix+"active",e)},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.settings.icon?n+"ico "+n+"i-"+e.settings.icon:"";return'<div id="'+t+'" class="'+e.classes()+'" role="button" tabindex="-1"><button type="button" hidefocus="1" tabindex="-1">'+(r?'<i class="'+r+'"></i>':"")+(e._text?(r?" ":"")+e._text:"")+'</button><button type="button" class="'+n+'open" hidefocus="1" tabindex="-1">'+(e._menuBtnText?(r?"\xa0":"")+e._menuBtnText:"")+' <i class="'+n+'caret"></i></button></div>'},postRender:function(){var e=this,t=e.settings.onclick;return e.on("click",function(e){var n=e.target;if(e.control==this)for(;n;){if(e.aria&&"down"!=e.aria.key||"BUTTON"==n.nodeName&&-1==n.className.indexOf("open"))return e.stopImmediatePropagation(),void t.call(this,e);n=n.parentNode}}),delete e.settings.onclick,e._super()}})}),r(Xt,[Ht],function(e){return e.extend({Defaults:{containerClass:"stack-layout",controlClass:"stack-layout-item",endClass:"break"}})}),r(Jt,[X,U],function(e,t){return e.extend({lastIdx:0,Defaults:{layout:"absolute",defaults:{type:"panel"}},activateTab:function(e){var n;this.activeTabId&&(n=this.getEl(this.activeTabId),t.removeClass(n,this.classPrefix+"active"),n.setAttribute("aria-selected","false")),this.activeTabId="t"+e,n=this.getEl("t"+e),n.setAttribute("aria-selected","true"),t.addClass(n,this.classPrefix+"active"),e!=this.lastIdx&&(this.items()[this.lastIdx].hide(),this.lastIdx=e),this.items()[e].show().fire("showtab"),this.reflow()},renderHtml:function(){var e=this,t=e._layout,n="",r=e.classPrefix;return e.preRender(),t.preRender(e),e.items().each(function(t,i){var o=e._id+"-t"+i;t.aria("role","tabpanel"),t.aria("labelledby",o),n+='<div id="'+o+'" class="'+r+'tab" unselectable="on" role="tab" aria-controls="'+t._id+'" aria-selected="false" tabIndex="-1">'+e.encode(t.settings.title)+"</div>"}),'<div id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1"><div id="'+e._id+'-head" class="'+r+'tabs" role="tablist">'+n+'</div><div id="'+e._id+'-body" class="'+e.classes("body")+'">'+t.renderHtml(e)+"</div></div>"},postRender:function(){var e=this;e._super(),e.settings.activeTab=e.settings.activeTab||0,e.activateTab(e.settings.activeTab),this.on("click",function(t){var n=t.target.parentNode;if(t.target.parentNode.id==e._id+"-head")for(var r=n.childNodes.length;r--;)n.childNodes[r]==t.target&&e.activateTab(r)})},initLayoutRect:function(){var e=this,n,r,i;r=t.getSize(e.getEl("head")).width,r=0>r?0:r,i=0,e.items().each(function(t,n){r=Math.max(r,t.layoutRect().minW),i=Math.max(i,t.layoutRect().minH),e.settings.activeTab!=n&&t.hide()}),e.items().each(function(e){e.settings.x=0,e.settings.y=0,e.settings.w=r,e.settings.h=i,e.layoutRect({x:0,y:0,w:r,h:i})});var o=t.getSize(e.getEl("head")).height;return e.settings.minWidth=r,e.settings.minHeight=i+o,n=e._super(),n.deltaH+=o,n.innerH=n.h-n.deltaH,n}})}),r(Qt,[Ct,U],function(e,t){return e.extend({init:function(e){var t=this;t._super(e),t._value=e.value||"",t.addClass("textbox"),e.multiline?t.addClass("multiline"):t.on("keydown",function(e){13==e.keyCode&&t.parents().reverse().each(function(t){return e.preventDefault(),t.hasEventListeners("submit")&&t.toJSON?(t.fire("submit",{data:t.toJSON()}),!1):void 0})})},disabled:function(e){var t=this;return t._rendered&&"undefined"!=typeof e&&(t.getEl().disabled=e),t._super(e)},value:function(e){var t=this;return"undefined"!=typeof e?(t._value=e,t._rendered&&(t.getEl().value=e),t):t._rendered?t.getEl().value:t._value},repaint:function(){var e=this,t,n,r,i=0,o=0,a;t=e.getEl().style,n=e._layoutRect,a=e._lastRepaintRect||{};var s=document;return!e.settings.multiline&&s.all&&(!s.documentMode||s.documentMode<=8)&&(t.lineHeight=n.h-o+"px"),r=e._borderBox,i=r.left+r.right+8,o=r.top+r.bottom+(e.settings.multiline?8:0),n.x!==a.x&&(t.left=n.x+"px",a.x=n.x),n.y!==a.y&&(t.top=n.y+"px",a.y=n.y),n.w!==a.w&&(t.width=n.w-i+"px",a.w=n.w),n.h!==a.h&&(t.height=n.h-o+"px",a.h=n.h),e._lastRepaintRect=a,e.fire("repaint",{},!1),e},renderHtml:function(){var e=this,t=e._id,n=e.settings,r=e.encode(e._value,!1),i="";return"spellcheck"in n&&(i+=' spellcheck="'+n.spellcheck+'"'),n.maxLength&&(i+=' maxlength="'+n.maxLength+'"'),n.size&&(i+=' size="'+n.size+'"'),n.subtype&&(i+=' type="'+n.subtype+'"'),e.disabled()&&(i+=' disabled="disabled"'),n.multiline?'<textarea id="'+t+'" class="'+e.classes()+'" '+(n.rows?' rows="'+n.rows+'"':"")+' hidefocus="1"'+i+">"+r+"</textarea>":'<input id="'+t+'" class="'+e.classes()+'" value="'+r+'" hidefocus="1"'+i+" />"},postRender:function(){var e=this;return t.on(e.getEl(),"change",function(t){e.fire("change",t)}),e._super()},remove:function(){t.off(this.getEl()),this._super()}})}),r(Zt,[U,q],function(e,t){return function(n,r){var i=this,o,a=t.classPrefix;i.show=function(t){return i.hide(),o=!0,window.setTimeout(function(){o&&n.appendChild(e.createFragment('<div class="'+a+"throbber"+(r?" "+a+"throbber-inline":"")+'"></div>'))},t||0),i},i.hide=function(){var e=n.lastChild;return e&&-1!=e.className.indexOf("throbber")&&e.parentNode.removeChild(e),o=!1,i}}}),a([l,c,u,d,f,p,m,h,g,v,y,b,C,x,w,_,N,E,S,k,T,R,A,B,L,D,M,H,P,O,I,F,z,W,V,U,q,$,j,K,Y,G,X,J,Q,Z,et,tt,nt,rt,it,ot,at,st,lt,ct,ut,dt,ft,pt,mt,ht,gt,vt,yt,bt,Ct,xt,wt,_t,Nt,Et,St,kt,Tt,Rt,At,Bt,Lt,Dt,Mt,Ht,Pt,Ot,It,Ft,zt,Wt,Vt,Ut,qt,$t,jt,Kt,Yt,Gt,Xt,Jt,Qt,Zt])}(this);
\ No newline at end of file
+// 4.1.4 (2014-08-22)
+!function(e,t){"use strict";function n(e,t){for(var n,r=[],i=0;i<e.length;++i){if(n=s[e[i]]||o(e[i]),!n)throw"module definition dependecy not found: "+e[i];r.push(n)}t.apply(null,r)}function r(e,r,i){if("string"!=typeof e)throw"invalid module definition, module id must be defined and be a string";if(r===t)throw"invalid module definition, dependencies must be specified";if(i===t)throw"invalid module definition, definition function must be specified";n(r,function(){s[e]=i.apply(null,arguments)})}function i(e){return!!s[e]}function o(t){for(var n=e,r=t.split(/[.\/]/),i=0;i<r.length;++i){if(!n[r[i]])return;n=n[r[i]]}return n}function a(n){for(var r=0;r<n.length;r++){for(var i=e,o=n[r],a=o.split(/[.\/]/),l=0;l<a.length-1;++l)i[a[l]]===t&&(i[a[l]]={}),i=i[a[l]];i[a[a.length-1]]=s[o]}}var s={},l="tinymce/dom/EventUtils",c="tinymce/dom/Sizzle",u="tinymce/util/Tools",d="tinymce/Env",f="tinymce/dom/DomQuery",p="tinymce/html/Styles",h="tinymce/dom/TreeWalker",m="tinymce/dom/Range",g="tinymce/html/Entities",v="tinymce/dom/StyleSheetLoader",y="tinymce/dom/DOMUtils",b="tinymce/dom/ScriptLoader",C="tinymce/AddOnManager",x="tinymce/dom/RangeUtils",w="tinymce/NodeChange",_="tinymce/html/Node",E="tinymce/html/Schema",N="tinymce/html/SaxParser",k="tinymce/html/DomParser",S="tinymce/html/Writer",T="tinymce/html/Serializer",R="tinymce/dom/Serializer",A="tinymce/dom/TridentSelection",B="tinymce/util/VK",D="tinymce/dom/ControlSelection",L="tinymce/dom/BookmarkManager",H="tinymce/dom/Selection",M="tinymce/dom/ElementUtils",P="tinymce/fmt/Preview",O="tinymce/Formatter",I="tinymce/UndoManager",F="tinymce/EnterKey",z="tinymce/ForceBlocks",W="tinymce/EditorCommands",V="tinymce/util/URI",U="tinymce/util/Class",$="tinymce/util/EventDispatcher",q="tinymce/ui/Selector",j="tinymce/ui/Collection",Y="tinymce/ui/DomUtils",K="tinymce/ui/Control",G="tinymce/ui/Factory",X="tinymce/ui/KeyboardNavigation",J="tinymce/ui/Container",Q="tinymce/ui/DragHelper",Z="tinymce/ui/Scrollable",et="tinymce/ui/Panel",tt="tinymce/ui/Movable",nt="tinymce/ui/Resizable",rt="tinymce/ui/FloatPanel",it="tinymce/ui/Window",ot="tinymce/ui/MessageBox",at="tinymce/WindowManager",st="tinymce/util/Quirks",lt="tinymce/util/Observable",ct="tinymce/EditorObservable",ut="tinymce/Shortcuts",dt="tinymce/Editor",ft="tinymce/util/I18n",pt="tinymce/FocusManager",ht="tinymce/EditorManager",mt="tinymce/LegacyInput",gt="tinymce/util/XHR",vt="tinymce/util/JSON",yt="tinymce/util/JSONRequest",bt="tinymce/util/JSONP",Ct="tinymce/util/LocalStorage",xt="tinymce/Compat",wt="tinymce/ui/Layout",_t="tinymce/ui/AbsoluteLayout",Et="tinymce/ui/Tooltip",Nt="tinymce/ui/Widget",kt="tinymce/ui/Button",St="tinymce/ui/ButtonGroup",Tt="tinymce/ui/Checkbox",Rt="tinymce/ui/ComboBox",At="tinymce/ui/ColorBox",Bt="tinymce/ui/PanelButton",Dt="tinymce/ui/ColorButton",Lt="tinymce/util/Color",Ht="tinymce/ui/ColorPicker",Mt="tinymce/ui/Path",Pt="tinymce/ui/ElementPath",Ot="tinymce/ui/FormItem",It="tinymce/ui/Form",Ft="tinymce/ui/FieldSet",zt="tinymce/ui/FilePicker",Wt="tinymce/ui/FitLayout",Vt="tinymce/ui/FlexLayout",Ut="tinymce/ui/FlowLayout",$t="tinymce/ui/FormatControls",qt="tinymce/ui/GridLayout",jt="tinymce/ui/Iframe",Yt="tinymce/ui/Label",Kt="tinymce/ui/Toolbar",Gt="tinymce/ui/MenuBar",Xt="tinymce/ui/MenuButton",Jt="tinymce/ui/ListBox",Qt="tinymce/ui/MenuItem",Zt="tinymce/ui/Menu",en="tinymce/ui/Radio",tn="tinymce/ui/ResizeHandle",nn="tinymce/ui/Spacer",rn="tinymce/ui/SplitButton",on="tinymce/ui/StackLayout",an="tinymce/ui/TabPanel",sn="tinymce/ui/TextBox",ln="tinymce/ui/Throbber";r(l,[],function(){function e(e,t,n,r){e.addEventListener?e.addEventListener(t,n,r||!1):e.attachEvent&&e.attachEvent("on"+t,n)}function t(e,t,n,r){e.removeEventListener?e.removeEventListener(t,n,r||!1):e.detachEvent&&e.detachEvent("on"+t,n)}function n(e,t){function n(){return!1}function r(){return!0}var i,o=t||{},l;for(i in e)s[i]||(o[i]=e[i]);if(o.target||(o.target=o.srcElement||document),e&&a.test(e.type)&&e.pageX===l&&e.clientX!==l){var c=o.target.ownerDocument||document,u=c.documentElement,d=c.body;o.pageX=e.clientX+(u&&u.scrollLeft||d&&d.scrollLeft||0)-(u&&u.clientLeft||d&&d.clientLeft||0),o.pageY=e.clientY+(u&&u.scrollTop||d&&d.scrollTop||0)-(u&&u.clientTop||d&&d.clientTop||0)}return o.preventDefault=function(){o.isDefaultPrevented=r,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},o.stopPropagation=function(){o.isPropagationStopped=r,e&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)},o.stopImmediatePropagation=function(){o.isImmediatePropagationStopped=r,o.stopPropagation()},o.isDefaultPrevented||(o.isDefaultPrevented=n,o.isPropagationStopped=n,o.isImmediatePropagationStopped=n),o}function r(n,r,i){function o(){i.domLoaded||(i.domLoaded=!0,r(c))}function a(){("complete"===l.readyState||"interactive"===l.readyState&&l.body)&&(t(l,"readystatechange",a),o())}function s(){try{l.documentElement.doScroll("left")}catch(e){return void setTimeout(s,0)}o()}var l=n.document,c={type:"ready"};return i.domLoaded?void r(c):(l.addEventListener?"complete"===l.readyState?o():e(n,"DOMContentLoaded",o):(e(l,"readystatechange",a),l.documentElement.doScroll&&n.self===n.top&&s()),void e(n,"load",o))}function i(){function i(e,t){var n,r,i,o,a=s[t];if(n=a&&a[e.type])for(r=0,i=n.length;i>r;r++)if(o=n[r],o&&o.func.call(o.scope,e)===!1&&e.preventDefault(),e.isImmediatePropagationStopped())return}var a=this,s={},l,c,u,d,f;c=o+(+new Date).toString(32),d="onmouseenter"in document.documentElement,u="onfocusin"in document.documentElement,f={mouseenter:"mouseover",mouseleave:"mouseout"},l=1,a.domLoaded=!1,a.events=s,a.bind=function(t,o,p,h){function m(e){i(n(e||_.event),g)}var g,v,y,b,C,x,w,_=window;if(t&&3!==t.nodeType&&8!==t.nodeType){for(t[c]?g=t[c]:(g=l++,t[c]=g,s[g]={}),h=h||t,o=o.split(" "),y=o.length;y--;)b=o[y],x=m,C=w=!1,"DOMContentLoaded"===b&&(b="ready"),a.domLoaded&&"ready"===b&&"complete"==t.readyState?p.call(h,n({type:b})):(d||(C=f[b],C&&(x=function(e){var t,r;if(t=e.currentTarget,r=e.relatedTarget,r&&t.contains)r=t.contains(r);else for(;r&&r!==t;)r=r.parentNode;r||(e=n(e||_.event),e.type="mouseout"===e.type?"mouseleave":"mouseenter",e.target=t,i(e,g))})),u||"focusin"!==b&&"focusout"!==b||(w=!0,C="focusin"===b?"focus":"blur",x=function(e){e=n(e||_.event),e.type="focus"===e.type?"focusin":"focusout",i(e,g)}),v=s[g][b],v?"ready"===b&&a.domLoaded?p({type:b}):v.push({func:p,scope:h}):(s[g][b]=v=[{func:p,scope:h}],v.fakeName=C,v.capture=w,v.nativeHandler=x,"ready"===b?r(t,x,a):e(t,C||b,x,w)));return t=v=0,p}},a.unbind=function(e,n,r){var i,o,l,u,d,f;if(!e||3===e.nodeType||8===e.nodeType)return a;if(i=e[c]){if(f=s[i],n){for(n=n.split(" "),l=n.length;l--;)if(d=n[l],o=f[d]){if(r)for(u=o.length;u--;)if(o[u].func===r){var p=o.nativeHandler,h=o.fakeName,m=o.capture;o=o.slice(0,u).concat(o.slice(u+1)),o.nativeHandler=p,o.fakeName=h,o.capture=m,f[d]=o}r&&0!==o.length||(delete f[d],t(e,o.fakeName||d,o.nativeHandler,o.capture))}}else{for(d in f)o=f[d],t(e,o.fakeName||d,o.nativeHandler,o.capture);f={}}for(d in f)return a;delete s[i];try{delete e[c]}catch(g){e[c]=null}}return a},a.fire=function(e,t,r){var o;if(!e||3===e.nodeType||8===e.nodeType)return a;r=n(null,r),r.type=t,r.target=e;do o=e[c],o&&i(r,o),e=e.parentNode||e.ownerDocument||e.defaultView||e.parentWindow;while(e&&!r.isPropagationStopped());return a},a.clean=function(e){var t,n,r=a.unbind;if(!e||3===e.nodeType||8===e.nodeType)return a;if(e[c]&&r(e),e.getElementsByTagName||(e=e.document),e&&e.getElementsByTagName)for(r(e),n=e.getElementsByTagName("*"),t=n.length;t--;)e=n[t],e[c]&&r(e);return a},a.destroy=function(){s={}},a.cancel=function(e){return e&&(e.preventDefault(),e.stopImmediatePropagation()),!1}}var o="mce-data-",a=/^(?:mouse|contextmenu)|click/,s={keyLocation:1,layerX:1,layerY:1,returnValue:1};return i.Event=new i,i.Event.bind(window,"ready",function(){}),i}),r(c,[],function(){function e(e,t,n,r){var i,o,a,s,l,c,d,p,h,m;if((t?t.ownerDocument||t:z)!==D&&B(t),t=t||D,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(H&&!r){if(i=vt.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&I(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return Z.apply(n,t.getElementsByTagName(e)),n;if((a=i[3])&&x.getElementsByClassName)return Z.apply(n,t.getElementsByClassName(a)),n}if(x.qsa&&(!M||!M.test(e))){if(p=d=F,h=t,m=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){for(c=N(e),(d=t.getAttribute("id"))?p=d.replace(bt,"\\$&"):t.setAttribute("id",p),p="[id='"+p+"'] ",l=c.length;l--;)c[l]=p+f(c[l]);h=yt.test(e)&&u(t.parentNode)||t,m=c.join(",")}if(m)try{return Z.apply(n,h.querySelectorAll(m)),n}catch(g){}finally{d||t.removeAttribute("id")}}}return S(e.replace(st,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>w.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[F]=!0,e}function i(e){var t=D.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=e.length;r--;)w.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||K)-(~e.sourceIndex||K);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function u(e){return e&&typeof e.getElementsByTagName!==Y&&e}function d(){}function f(e){for(var t=0,n=e.length,r="";n>t;t++)r+=e[t].value;return r}function p(e,t,n){var r=t.dir,i=n&&"parentNode"===r,o=V++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,a){var s,l,c=[W,o];if(a){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,a))return!0}else for(;t=t[r];)if(1===t.nodeType||i){if(l=t[F]||(t[F]={}),(s=l[r])&&s[0]===W&&s[1]===o)return c[2]=s[2];if(l[r]=c,c[2]=e(t,n,a))return!0}}}function h(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function m(t,n,r){for(var i=0,o=n.length;o>i;i++)e(t,n[i],r);return r}function g(e,t,n,r,i){for(var o,a=[],s=0,l=e.length,c=null!=t;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),c&&t.push(s));return a}function v(e,t,n,i,o,a){return i&&!i[F]&&(i=v(i)),o&&!o[F]&&(o=v(o,a)),r(function(r,a,s,l){var c,u,d,f=[],p=[],h=a.length,v=r||m(t||"*",s.nodeType?[s]:s,[]),y=!e||!r&&t?v:g(v,f,e,s,l),b=n?o||(r?e:h||i)?[]:a:y;if(n&&n(y,b,s,l),i)for(c=g(b,p),i(c,[],s,l),u=c.length;u--;)(d=c[u])&&(b[p[u]]=!(y[p[u]]=d));if(r){if(o||e){if(o){for(c=[],u=b.length;u--;)(d=b[u])&&c.push(y[u]=d);o(null,b=[],c,l)}for(u=b.length;u--;)(d=b[u])&&(c=o?tt.call(r,d):f[u])>-1&&(r[c]=!(a[c]=d))}}else b=g(b===a?b.splice(h,b.length):b),o?o(null,a,b,l):Z.apply(a,b)})}function y(e){for(var t,n,r,i=e.length,o=w.relative[e[0].type],a=o||w.relative[" "],s=o?1:0,l=p(function(e){return e===t},a,!0),c=p(function(e){return tt.call(t,e)>-1},a,!0),u=[function(e,n,r){return!o&&(r||n!==T)||((t=n).nodeType?l(e,n,r):c(e,n,r))}];i>s;s++)if(n=w.relative[e[s].type])u=[p(h(u),n)];else{if(n=w.filter[e[s].type].apply(null,e[s].matches),n[F]){for(r=++s;i>r&&!w.relative[e[r].type];r++);return v(s>1&&h(u),s>1&&f(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(st,"$1"),n,r>s&&y(e.slice(s,r)),i>r&&y(e=e.slice(r)),i>r&&f(e))}u.push(n)}return h(u)}function b(t,n){var i=n.length>0,o=t.length>0,a=function(r,a,s,l,c){var u,d,f,p=0,h="0",m=r&&[],v=[],y=T,b=r||o&&w.find.TAG("*",c),C=W+=null==y?1:Math.random()||.1,x=b.length;for(c&&(T=a!==D&&a);h!==x&&null!=(u=b[h]);h++){if(o&&u){for(d=0;f=t[d++];)if(f(u,a,s)){l.push(u);break}c&&(W=C)}i&&((u=!f&&u)&&p--,r&&m.push(u))}if(p+=h,i&&h!==p){for(d=0;f=n[d++];)f(m,v,a,s);if(r){if(p>0)for(;h--;)m[h]||v[h]||(v[h]=J.call(l));v=g(v)}Z.apply(l,v),c&&!r&&v.length>0&&p+n.length>1&&e.uniqueSort(l)}return c&&(W=C,T=y),m};return i?r(a):a}var C,x,w,_,E,N,k,S,T,R,A,B,D,L,H,M,P,O,I,F="sizzle"+-new Date,z=window.document,W=0,V=0,U=n(),$=n(),q=n(),j=function(e,t){return e===t&&(A=!0),0},Y=typeof t,K=1<<31,G={}.hasOwnProperty,X=[],J=X.pop,Q=X.push,Z=X.push,et=X.slice,tt=X.indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1},nt="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",rt="[\\x20\\t\\r\\n\\f]",it="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ot="\\["+rt+"*("+it+")(?:"+rt+"*([*^$|!~]?=)"+rt+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+it+"))|)"+rt+"*\\]",at=":("+it+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ot+")*)|.*)\\)|)",st=new RegExp("^"+rt+"+|((?:^|[^\\\\])(?:\\\\.)*)"+rt+"+$","g"),lt=new RegExp("^"+rt+"*,"+rt+"*"),ct=new RegExp("^"+rt+"*([>+~]|"+rt+")"+rt+"*"),ut=new RegExp("="+rt+"*([^\\]'\"]*?)"+rt+"*\\]","g"),dt=new RegExp(at),ft=new RegExp("^"+it+"$"),pt={ID:new RegExp("^#("+it+")"),CLASS:new RegExp("^\\.("+it+")"),TAG:new RegExp("^("+it+"|[*])"),ATTR:new RegExp("^"+ot),PSEUDO:new RegExp("^"+at),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+rt+"*(even|odd|(([+-]|)(\\d*)n|)"+rt+"*(?:([+-]|)"+rt+"*(\\d+)|))"+rt+"*\\)|)","i"),bool:new RegExp("^(?:"+nt+")$","i"),needsContext:new RegExp("^"+rt+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+rt+"*((?:-\\d)?\\d*)"+rt+"*\\)|)(?=[^-]|$)","i")},ht=/^(?:input|select|textarea|button)$/i,mt=/^h\d$/i,gt=/^[^{]+\{\s*\[native \w/,vt=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,yt=/[+~]/,bt=/'|\\/g,Ct=new RegExp("\\\\([\\da-f]{1,6}"+rt+"?|("+rt+")|.)","ig"),xt=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)};try{Z.apply(X=et.call(z.childNodes),z.childNodes),X[z.childNodes.length].nodeType}catch(wt){Z={apply:X.length?function(e,t){Q.apply(e,et.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}x=e.support={},E=e.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},B=e.setDocument=function(e){var t,n=e?e.ownerDocument||e:z,r=n.defaultView;return n!==D&&9===n.nodeType&&n.documentElement?(D=n,L=n.documentElement,H=!E(n),r&&r!==r.top&&(r.addEventListener?r.addEventListener("unload",function(){B()},!1):r.attachEvent&&r.attachEvent("onunload",function(){B()})),x.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),x.getElementsByTagName=i(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),x.getElementsByClassName=gt.test(n.getElementsByClassName),x.getById=i(function(e){return L.appendChild(e).id=F,!n.getElementsByName||!n.getElementsByName(F).length}),x.getById?(w.find.ID=function(e,t){if(typeof t.getElementById!==Y&&H){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},w.filter.ID=function(e){var t=e.replace(Ct,xt);return function(e){return e.getAttribute("id")===t}}):(delete w.find.ID,w.filter.ID=function(e){var t=e.replace(Ct,xt);return function(e){var n=typeof e.getAttributeNode!==Y&&e.getAttributeNode("id");return n&&n.value===t}}),w.find.TAG=x.getElementsByTagName?function(e,t){return typeof t.getElementsByTagName!==Y?t.getElementsByTagName(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},w.find.CLASS=x.getElementsByClassName&&function(e,t){return H?t.getElementsByClassName(e):void 0},P=[],M=[],(x.qsa=gt.test(n.querySelectorAll))&&(i(function(e){e.innerHTML="<select msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&M.push("[*^$]="+rt+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||M.push("\\["+rt+"*(?:value|"+nt+")"),e.querySelectorAll(":checked").length||M.push(":checked")}),i(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&M.push("name"+rt+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||M.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),M.push(",.*:")})),(x.matchesSelector=gt.test(O=L.matches||L.webkitMatchesSelector||L.mozMatchesSelector||L.oMatchesSelector||L.msMatchesSelector))&&i(function(e){x.disconnectedMatch=O.call(e,"div"),O.call(e,"[s!='']:x"),P.push("!=",at)}),M=M.length&&new RegExp(M.join("|")),P=P.length&&new RegExp(P.join("|")),t=gt.test(L.compareDocumentPosition),I=t||gt.test(L.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return A=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r?r:(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&r||!x.sortDetached&&t.compareDocumentPosition(e)===r?e===n||e.ownerDocument===z&&I(z,e)?-1:t===n||t.ownerDocument===z&&I(z,t)?1:R?tt.call(R,e)-tt.call(R,t):0:4&r?-1:1)}:function(e,t){if(e===t)return A=!0,0;var r,i=0,o=e.parentNode,s=t.parentNode,l=[e],c=[t];if(!o||!s)return e===n?-1:t===n?1:o?-1:s?1:R?tt.call(R,e)-tt.call(R,t):0;if(o===s)return a(e,t);for(r=e;r=r.parentNode;)l.unshift(r);for(r=t;r=r.parentNode;)c.unshift(r);for(;l[i]===c[i];)i++;return i?a(l[i],c[i]):l[i]===z?-1:c[i]===z?1:0},n):D},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==D&&B(t),n=n.replace(ut,"='$1']"),!(!x.matchesSelector||!H||P&&P.test(n)||M&&M.test(n)))try{var r=O.call(t,n);if(r||x.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(i){}return e(n,D,null,[t]).length>0},e.contains=function(e,t){return(e.ownerDocument||e)!==D&&B(e),I(e,t)},e.attr=function(e,n){(e.ownerDocument||e)!==D&&B(e);var r=w.attrHandle[n.toLowerCase()],i=r&&G.call(w.attrHandle,n.toLowerCase())?r(e,n,!H):t;return i!==t?i:x.attributes||!H?e.getAttribute(n):(i=e.getAttributeNode(n))&&i.specified?i.value:null},e.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},e.uniqueSort=function(e){var t,n=[],r=0,i=0;if(A=!x.detectDuplicates,R=!x.sortStable&&e.slice(0),e.sort(j),A){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return R=null,e},_=e.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=_(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=_(t);return n},w=e.selectors={cacheLength:50,createPseudo:r,match:pt,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Ct,xt),e[3]=(e[3]||e[4]||e[5]||"").replace(Ct,xt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pt.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&dt.test(n)&&(t=N(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Ct,xt).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+rt+")"+e+"("+rt+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==Y&&e.getAttribute("class")||"")})},ATTR:function(t,n,r){return function(i){var o=e.attr(i,t);return null==o?"!="===n:n?(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o+" ").indexOf(r)>-1:"|="===n?o===r||o.slice(0,r.length+1)===r+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,f,p,h,m=o!==a?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!l&&!s;if(g){if(o){for(;m;){for(d=t;d=d[m];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;h=m="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?g.firstChild:g.lastChild],a&&y){for(u=g[F]||(g[F]={}),c=u[e]||[],p=c[0]===W&&c[1],f=c[0]===W&&c[2],d=p&&g.childNodes[p];d=++p&&d&&d[m]||(f=p=0)||h.pop();)if(1===d.nodeType&&++f&&d===t){u[e]=[W,p,f];break}}else if(y&&(c=(t[F]||(t[F]={}))[e])&&c[0]===W)f=c[1];else for(;(d=++p&&d&&d[m]||(f=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++f||(y&&((d[F]||(d[F]={}))[e]=[W,f]),d!==t)););return f-=i,f===r||f%r===0&&f/r>=0}}},PSEUDO:function(t,n){var i,o=w.pseudos[t]||w.setFilters[t.toLowerCase()]||e.error("unsupported pseudo: "+t);return o[F]?o(n):o.length>1?(i=[t,t,"",n],w.setFilters.hasOwnProperty(t.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=tt.call(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=k(e.replace(st,"$1"));return i[F]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),!n.pop()}}),has:r(function(t){return function(n){return e(t,n).length>0}}),contains:r(function(e){return e=e.replace(Ct,xt),function(t){return(t.textContent||t.innerText||_(t)).indexOf(e)>-1}}),lang:r(function(t){return ft.test(t||"")||e.error("unsupported lang: "+t),t=t.replace(Ct,xt).toLowerCase(),function(e){var n;do if(n=H?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return n=n.toLowerCase(),n===t||0===n.indexOf(t+"-");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=window.location&&window.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===L},focus:function(e){return e===D.activeElement&&(!D.hasFocus||D.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!w.pseudos.empty(e)},header:function(e){return mt.test(e.nodeName)},input:function(e){return ht.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[0>n?n+t:n]}),even:c(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var r=0>n?n+t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=0>n?n+t:n;++r<t;)e.push(r);return e})}},w.pseudos.nth=w.pseudos.eq;for(C in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})w.pseudos[C]=s(C);for(C in{submit:!0,reset:!0})w.pseudos[C]=l(C);return d.prototype=w.filters=w.pseudos,w.setFilters=new d,N=e.tokenize=function(t,n){var r,i,o,a,s,l,c,u=$[t+" "];if(u)return n?0:u.slice(0);for(s=t,l=[],c=w.preFilter;s;){(!r||(i=lt.exec(s)))&&(i&&(s=s.slice(i[0].length)||s),l.push(o=[])),r=!1,(i=ct.exec(s))&&(r=i.shift(),o.push({value:r,type:i[0].replace(st," ")}),s=s.slice(r.length));for(a in w.filter)!(i=pt[a].exec(s))||c[a]&&!(i=c[a](i))||(r=i.shift(),o.push({value:r,type:a,matches:i}),s=s.slice(r.length));if(!r)break}return n?s.length:s?e.error(t):$(t,l).slice(0)},k=e.compile=function(e,t){var n,r=[],i=[],o=q[e+" "];if(!o){for(t||(t=N(e)),n=t.length;n--;)o=y(t[n]),o[F]?r.push(o):i.push(o);o=q(e,b(i,r)),o.selector=e}return o},S=e.select=function(e,t,n,r){var i,o,a,s,l,c="function"==typeof e&&e,d=!r&&N(e=c.selector||e);if(n=n||[],1===d.length){if(o=d[0]=d[0].slice(0),o.length>2&&"ID"===(a=o[0]).type&&x.getById&&9===t.nodeType&&H&&w.relative[o[1].type]){if(t=(w.find.ID(a.matches[0].replace(Ct,xt),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=pt.needsContext.test(e)?0:o.length;i--&&(a=o[i],!w.relative[s=a.type]);)if((l=w.find[s])&&(r=l(a.matches[0].replace(Ct,xt),yt.test(o[0].type)&&u(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&f(o),!e)return Z.apply(n,r),n;break}}return(c||k(e,d))(r,t,!H,n,yt.test(e)&&u(t.parentNode)||t),n},x.sortStable=F.split("").sort(j).join("")===F,x.detectDuplicates=!!A,B(),x.sortDetached=i(function(e){return 1&e.compareDocumentPosition(D.createElement("div"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){return n?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),x.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(nt,function(e,t,n){var r;return n?void 0:e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),e}),r(u,[],function(){function e(e){return null===e||e===t?"":(""+e).replace(m,"")}function n(e,n){return n?"array"==n&&g(e)?!0:typeof e==n:e!==t}function r(e){var t=e,n,r;if(!g(e))for(t=[],n=0,r=e.length;r>n;n++)t[n]=e[n];return t}function i(e,t,n){var r;for(e=e||[],t=t||",","string"==typeof e&&(e=e.split(t)),n=n||{},r=e.length;r--;)n[e[r]]={};return n}function o(e,n,r){var i,o;if(!e)return 0;if(r=r||e,e.length!==t){for(i=0,o=e.length;o>i;i++)if(n.call(r,e[i],i,e)===!1)return 0}else for(i in e)if(e.hasOwnProperty(i)&&n.call(r,e[i],i,e)===!1)return 0;return 1}function a(e,t){var n=[];return o(e,function(e){n.push(t(e))}),n}function s(e,t){var n=[];return o(e,function(e){(!t||t(e))&&n.push(e)}),n}function l(e,t,n){var r=this,i,o,a,s,l,c=0;if(e=/^((static) )?([\w.]+)(:([\w.]+))?/.exec(e),a=e[3].match(/(^|\.)(\w+)$/i)[2],o=r.createNS(e[3].replace(/\.\w+$/,""),n),!o[a]){if("static"==e[2])return o[a]=t,void(this.onCreate&&this.onCreate(e[2],e[3],o[a]));t[a]||(t[a]=function(){},c=1),o[a]=t[a],r.extend(o[a].prototype,t),e[5]&&(i=r.resolve(e[5]).prototype,s=e[5].match(/\.(\w+)$/i)[1],l=o[a],o[a]=c?function(){return i[s].apply(this,arguments)}:function(){return this.parent=i[s],l.apply(this,arguments)},o[a].prototype[a]=o[a],r.each(i,function(e,t){o[a].prototype[t]=i[t]}),r.each(t,function(e,t){i[t]?o[a].prototype[t]=function(){return this.parent=i[t],e.apply(this,arguments)}:t!=a&&(o[a].prototype[t]=e)})),r.each(t["static"],function(e,t){o[a][t]=e})}}function c(e,t){var n,r;if(e)for(n=0,r=e.length;r>n;n++)if(e[n]===t)return n;return-1}function u(e,n){var r,i,o,a=arguments,s;for(r=1,i=a.length;i>r;r++){n=a[r];for(o in n)n.hasOwnProperty(o)&&(s=n[o],s!==t&&(e[o]=s))}return e}function d(e,t,n,r){r=r||this,e&&(n&&(e=e[n]),o(e,function(e,i){return t.call(r,e,i,n)===!1?!1:void d(e,t,n,r)}))}function f(e,t){var n,r;for(t=t||window,e=e.split("."),n=0;n<e.length;n++)r=e[n],t[r]||(t[r]={}),t=t[r];return t}function p(e,t){var n,r;for(t=t||window,e=e.split("."),n=0,r=e.length;r>n&&(t=t[e[n]],t);n++);return t}function h(t,r){return!t||n(t,"array")?t:a(t.split(r||","),e)}var m=/^\s*|\s*$/g,g=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};return{trim:e,isArray:g,is:n,toArray:r,makeMap:i,each:o,map:a,grep:s,inArray:c,extend:u,create:l,walk:d,createNS:f,resolve:p,explode:h}}),r(d,[],function(){var e=navigator,t=e.userAgent,n,r,i,o,a,s,l;n=window.opera&&window.opera.buildNumber,r=/WebKit/.test(t),i=!r&&!n&&/MSIE/gi.test(t)&&/Explorer/gi.test(e.appName),i=i&&/MSIE (\w+)\./.exec(t)[1],o=-1==t.indexOf("Trident/")||-1==t.indexOf("rv:")&&-1==e.appName.indexOf("Netscape")?!1:11,i=i||o,a=!r&&!o&&/Gecko/.test(t),s=-1!=t.indexOf("Mac"),l=/(iPad|iPhone)/.test(t);var c=!l||t.match(/AppleWebKit\/(\d*)/)[1]>=534;return{opera:n,webkit:r,ie:i,gecko:a,mac:s,iOS:l,contentEditable:c,transparentSrc:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",caretAfter:8!=i,range:window.getSelection&&"Range"in window,documentMode:i?document.documentMode||7:10}}),r(f,[l,c,u,d],function(e,n,r,i){function o(e){return"undefined"!=typeof e}function a(e){return"string"==typeof e}function s(e,t){var n,r,i;for(t=t||x,i=t.createElement("div"),n=t.createDocumentFragment(),i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return n}function l(e,t,n,r){var i;if(a(t))t=s(t,g(e[0]));else if(t.length&&!t.nodeType){if(t=d.makeArray(t),r)for(i=t.length-1;i>=0;i--)l(e,t[i],n,r);else for(i=0;i<t.length;i++)l(e,t[i],n,r);return e}if(t.nodeType)for(i=e.length;i--;)n.call(e[i],t);return e}function c(e,t){return e&&t&&-1!==(" "+e.className+" ").indexOf(" "+t+" ")}function u(e,t,n){var r,i;return t=d(t)[0],e.each(function(){var e=this;n&&r==e.parentNode?i.appendChild(e):(r=e.parentNode,i=t.cloneNode(!1),e.parentNode.insertBefore(i,e),i.appendChild(e))}),e}function d(e,t){return new d.fn.init(e,t)}function f(e,t){var n;if(t.indexOf)return t.indexOf(e);for(n=t.length;n--;)if(t[n]===e)return n;return-1}function p(e){return null===e||e===k?"":(""+e).replace(L,"")}function h(e,t){var n,r,i,o,a;if(e)if(n=e.length,n===o){for(r in e)if(e.hasOwnProperty(r)&&(a=e[r],t.call(a,r,a)===!1))break}else for(i=0;n>i&&(a=e[i],t.call(a,i,a)!==!1);i++);return e}function m(e,t){var n=[];return h(e,function(e,r){t(r,e)&&n.push(r)}),n}function g(e){return e?9==e.nodeType?e:e.ownerDocument:x}function v(e,n,r){var i=[],o=e[n];for("string"!=typeof r&&r instanceof d&&(r=r[0]);o&&9!==o.nodeType;){if(r!==t){if(o===r)break;if("string"==typeof r&&d(o).is(r))break}1===o.nodeType&&i.push(o),o=o[n]}return i}function y(e,n,r,i){var o=[];for(i instanceof d&&(i=i[0]);e;e=e[n])if(!r||e.nodeType===r){if(i!==t){if(e===i)break;if("string"==typeof i&&d(e).is(i))break}o.push(e)}return o}function b(e,t,n){for(e=e[t];e;e=e[t])if(e.nodeType==n)return e;return null}function C(e,t,n){h(n,function(n,r){e[n]=e[n]||{},e[n][t]=r})}var x=document,w=Array.prototype.push,_=Array.prototype.slice,E=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,N=e.Event,k,S=r.makeMap("fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom"," "),T=r.makeMap("checked compact declare defer disabled ismap multiple nohref noshade nowrap readonly selected"," "),R={"for":"htmlFor","class":"className",readonly:"readOnly"},A={"float":"cssFloat"},B={},D={},L=/^\s*|\s*$/g;return d.fn=d.prototype={constructor:d,selector:"",context:null,length:0,init:function(e,t){var n=this,r,i;if(!e)return n;if(e.nodeType)return n.context=n[0]=e,n.length=1,n;if(t&&t.nodeType)n.context=t;else{if(t)return d(e).attr(t);n.context=t=document}if(a(e)){if(n.selector=e,r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:E.exec(e),!r)return d(t).find(e);if(r[1])for(i=s(e,g(t)).firstChild;i;)w.call(n,i),i=i.nextSibling;else{if(i=g(t).getElementById(r[2]),!i)return n;if(i.id!==r[2])return n.find(e);n.length=1,n[0]=i}}else this.add(e,!1);return n},toArray:function(){return r.toArray(this)},add:function(e,t){var n=this,r,i;if(a(e))return n.add(d(e));if(e.nodeType)return n.add([e]);if(t!==!1)for(r=d.unique(n.toArray().concat(d.makeArray(e))),n.length=r.length,i=0;i<r.length;i++)n[i]=r[i];else w.apply(n,d.makeArray(e));
+return n},attr:function(e,t){var n=this,r;if("object"==typeof e)h(e,function(e,t){n.attr(e,t)});else{if(!o(t)){if(n[0]&&1===n[0].nodeType){if(r=B[e],r&&r.get)return r.get(n[0],e);if(T[e])return n.prop(e)?e:k;t=n[0].getAttribute(e,2),null===t&&(t=k)}return t}this.each(function(){var n;if(1===this.nodeType){if(n=B[e],n&&n.set)return void n.set(this,t);null===t?this.removeAttribute(e,2):this.setAttribute(e,t,2)}})}return n},removeAttr:function(e){return this.attr(e,null)},prop:function(e,t){var n=this;if(e=R[e]||e,"object"==typeof e)h(e,function(e,t){n.prop(e,t)});else{if(!o(t))return n[0]&&n[0].nodeType&&e in n[0]?n[0][e]:t;this.each(function(){1==this.nodeType&&(this[e]=t)})}return n},css:function(e,t){function n(e){return e.replace(/-(\D)/g,function(e,t){return t.toUpperCase()})}function r(e){return e.replace(/[A-Z]/g,function(e){return"-"+e})}var i=this,a,s;if("object"==typeof e)h(e,function(e,t){i.css(e,t)});else if(o(t))e=n(e),"number"!=typeof t||S[e]||(t+="px"),i.each(function(){var n=this.style;if(s=D[e],s&&s.set)return void s.set(this,t);try{this.style[A[e]||e]=t}catch(i){}(null===t||""===t)&&(n.removeProperty?n.removeProperty(r(e)):n.removeAttribute(e))});else{if(a=i[0],s=D[e],s&&s.get)return s.get(a);if(a.ownerDocument.defaultView)try{return a.ownerDocument.defaultView.getComputedStyle(a,null).getPropertyValue(r(e))}catch(l){return k}else if(a.currentStyle)return a.currentStyle[n(e)]}return i},remove:function(){for(var e=this,t,n=this.length;n--;)t=e[n],N.clean(t),t.parentNode&&t.parentNode.removeChild(t);return this},empty:function(){for(var e=this,t,n=this.length;n--;)for(t=e[n];t.firstChild;)t.removeChild(t.firstChild);return this},html:function(e){var t=this,n;if(o(e)){n=t.length;try{for(;n--;)t[n].innerHTML=e}catch(r){d(t[n]).empty().append(e)}return t}return t[0]?t[0].innerHTML:""},text:function(e){var t=this,n;if(o(e)){for(n=t.length;n--;)"innerText"in t[n]?t[n].innerText=e:t[0].textContent=e;return t}return t[0]?t[0].innerText||t[0].textContent:""},append:function(){return l(this,arguments,function(e){1===this.nodeType&&this.appendChild(e)})},prepend:function(){return l(this,arguments,function(e){1===this.nodeType&&this.insertBefore(e,this.firstChild)},!0)},before:function(){var e=this;return e[0]&&e[0].parentNode?l(e,arguments,function(e){this.parentNode.insertBefore(e,this)}):e},after:function(){var e=this;return e[0]&&e[0].parentNode?l(e,arguments,function(e){this.parentNode.insertBefore(e,this.nextSibling)},!0):e},appendTo:function(e){return d(e).append(this),this},prependTo:function(e){return d(e).prepend(this),this},replaceWith:function(e){return this.before(e).remove()},wrap:function(e){return u(this,e)},wrapAll:function(e){return u(this,e,!0)},wrapInner:function(e){return this.each(function(){d(this).contents().wrapAll(e)}),this},unwrap:function(){return this.parent().each(function(){d(this).replaceWith(this.childNodes)})},clone:function(){var e=[];return this.each(function(){e.push(this.cloneNode(!0))}),d(e)},addClass:function(e){return this.toggleClass(e,!0)},removeClass:function(e){return this.toggleClass(e,!1)},toggleClass:function(e,t){var n=this;return"string"!=typeof e?n:(-1!==e.indexOf(" ")?h(e.split(" "),function(){n.toggleClass(this,t)}):n.each(function(n,r){var i,o;o=c(r,e),o!==t&&(i=r.className,o?r.className=p((" "+i+" ").replace(" "+e+" "," ")):r.className+=i?" "+e:e)}),n)},hasClass:function(e){return c(this[0],e)},each:function(e){return h(this,e)},on:function(e,t){return this.each(function(){N.bind(this,e,t)})},off:function(e,t){return this.each(function(){N.unbind(this,e,t)})},trigger:function(e){return this.each(function(){"object"==typeof e?N.fire(this,e.type,e):N.fire(this,e)})},show:function(){return this.css("display","")},hide:function(){return this.css("display","none")},slice:function(){return new d(_.apply(this,arguments))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},find:function(e){var t,n,r=[];for(t=0,n=this.length;n>t;t++)d.find(e,this[t],r);return d(r)},filter:function(e){return d("function"==typeof e?m(this.toArray(),function(t,n){return e(n,t)}):d.filter(e,this.toArray()))},closest:function(e){var t=[];return e instanceof d&&(e=e[0]),this.each(function(n,r){for(;r;){if("string"==typeof e&&d(r).is(e)){t.push(r);break}if(r==e){t.push(r);break}r=r.parentNode}}),d(t)},offset:function(e){var t,n,r,i=0,o=0,a;return e?this.css(e):(t=this[0],t&&(n=t.ownerDocument,r=n.documentElement,t.getBoundingClientRect&&(a=t.getBoundingClientRect(),i=a.left+(r.scrollLeft||n.body.scrollLeft)-r.clientLeft,o=a.top+(r.scrollTop||n.body.scrollTop)-r.clientTop)),{left:i,top:o})},push:w,sort:[].sort,splice:[].splice},r.extend(d,{extend:r.extend,makeArray:r.toArray,inArray:f,isArray:r.isArray,each:h,trim:p,grep:m,find:n,expr:n.selectors,unique:n.uniqueSort,text:n.getText,contains:n.contains,filter:function(e,t,n){var r=t.length;for(n&&(e=":not("+e+")");r--;)1!=t[r].nodeType&&t.splice(r,1);return t=1===t.length?d.find.matchesSelector(t[0],e)?[t[0]]:[]:d.find.matches(e,t)}}),h({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return v(e,"parentNode")},next:function(e){return b(e,"nextSibling",1)},prev:function(e){return b(e,"previousSibling",1)},children:function(e){return y(e.firstChild,"nextSibling",1)},contents:function(e){return r.toArray(("iframe"===e.nodeName?e.contentDocument||e.contentWindow.document:e).childNodes)}},function(e,t){d.fn[e]=function(n){var r=this,i=[];return r.each(function(){var e=t.call(i,this,n,i);e&&(d.isArray(e)?i.push.apply(i,e):i.push(e))}),this.length>1&&(i=d.unique(i),0===e.indexOf("parents")&&(i=i.reverse())),i=d(i),n?i.filter(n):i}}),h({parentsUntil:function(e,t){return v(e,"parentNode",t)},nextUntil:function(e,t){return y(e,"nextSibling",1,t).slice(1)},prevUntil:function(e,t){return y(e,"previousSibling",1,t).slice(1)}},function(e,t){d.fn[e]=function(n,r){var i=this,o=[];return i.each(function(){var e=t.call(o,this,n,o);e&&(d.isArray(e)?o.push.apply(o,e):o.push(e))}),this.length>1&&(o=d.unique(o),(0===e.indexOf("parents")||"prevUntil"===e)&&(o=o.reverse())),o=d(o),r?o.filter(r):o}}),d.fn.is=function(e){return!!e&&this.filter(e).length>0},d.fn.init.prototype=d.fn,d.overrideDefaults=function(e){function t(r,i){return n=n||e(),0===arguments.length&&(r=n.element),i||(i=n.context),new t.fn.init(r,i)}var n;return d.extend(t,this),t},i.ie&&i.ie<8&&(C(B,"get",{maxlength:function(e){var t=e.maxLength;return 2147483647===t?k:t},size:function(e){var t=e.size;return 20===t?k:t},"class":function(e){return e.className},style:function(e){var t=e.style.cssText;return 0===t.length?k:t}}),C(B,"set",{"class":function(e,t){e.className=t},style:function(e,t){e.style.cssText=t}})),i.ie&&i.ie<9&&(A["float"]="styleFloat",C(D,"set",{opacity:function(e,t){var n=e.style;null===t||""===t?n.removeAttribute("filter"):(n.zoom=1,n.filter="alpha(opacity="+100*t+")")}})),d.attrHooks=B,d.cssHooks=D,d}),r(p,[],function(){return function(e,t){function n(e,t,n,r){function i(e){return e=parseInt(e,10).toString(16),e.length>1?e:"0"+e}return"#"+i(t)+i(n)+i(r)}var r=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,i=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,o=/\s*([^:]+):\s*([^;]+);?/g,a=/\s+$/,s,l,c={},u,d,f,p="\ufeff";for(e=e||{},t&&(d=t.getValidStyles(),f=t.getInvalidStyles()),u=("\\\" \\' \\; \\: ; : "+p).split(" "),l=0;l<u.length;l++)c[u[l]]=p+l,c[p+l]=u[l];return{toHex:function(e){return e.replace(r,n)},parse:function(t){function s(e,t,n){var r,i,o,a;if(r=m[e+"-top"+t],r&&(i=m[e+"-right"+t],i&&(o=m[e+"-bottom"+t],o&&(a=m[e+"-left"+t])))){var s=[r,i,o,a];for(l=s.length-1;l--&&s[l]===s[l+1];);l>-1&&n||(m[e+t]=-1==l?s[0]:s.join(" "),delete m[e+"-top"+t],delete m[e+"-right"+t],delete m[e+"-bottom"+t],delete m[e+"-left"+t])}}function u(e){var t=m[e],n;if(t){for(t=t.split(" "),n=t.length;n--;)if(t[n]!==t[0])return!1;return m[e]=t[0],!0}}function d(e,t,n,r){u(t)&&u(n)&&u(r)&&(m[e]=m[t]+" "+m[n]+" "+m[r],delete m[t],delete m[n],delete m[r])}function f(e){return b=!0,c[e]}function p(e,t){return b&&(e=e.replace(/\uFEFF[0-9]/g,function(e){return c[e]})),t||(e=e.replace(/\\([\'\";:])/g,"$1")),e}function h(t,n,r,i,o,a){if(o=o||a)return o=p(o),"'"+o.replace(/\'/g,"\\'")+"'";if(n=p(n||r||i),!e.allow_script_urls){var s=n.replace(/[\s\r\n]+/,"");if(/(java|vb)script:/i.test(s))return"";if(!e.allow_svg_data_urls&&/^data:image\/svg/i.test(s))return""}return C&&(n=C.call(x,n,"style")),"url('"+n.replace(/\'/g,"\\'")+"')"}var m={},g,v,y,b,C=e.url_converter,x=e.url_converter_scope||this;if(t){for(t=t.replace(/[\u0000-\u001F]/g,""),t=t.replace(/\\[\"\';:\uFEFF]/g,f).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(e){return e.replace(/[;:]/g,f)});g=o.exec(t);){if(v=g[1].replace(a,"").toLowerCase(),y=g[2].replace(a,""),y=y.replace(/\\[0-9a-f]+/g,function(e){return String.fromCharCode(parseInt(e.substr(1),16))}),v&&y.length>0){if(!e.allow_script_urls&&("behavior"==v||/expression\s*\(|\/\*|\*\//.test(y)))continue;"font-weight"===v&&"700"===y?y="bold":("color"===v||"background-color"===v)&&(y=y.toLowerCase()),y=y.replace(r,n),y=y.replace(i,h),m[v]=b?p(y,!0):y}o.lastIndex=g.index+g[0].length}s("border","",!0),s("border","-width"),s("border","-color"),s("border","-style"),s("padding",""),s("margin",""),d("border","border-width","border-style","border-color"),"medium none"===m.border&&delete m.border,"none"===m["border-image"]&&delete m["border-image"]}return m},serialize:function(e,t){function n(t){var n,r,o,a;if(n=d[t])for(r=0,o=n.length;o>r;r++)t=n[r],a=e[t],a!==s&&a.length>0&&(i+=(i.length>0?" ":"")+t+": "+a+";")}function r(e,t){var n;return n=f["*"],n&&n[e]?!1:(n=f[t],n&&n[e]?!1:!0)}var i="",o,a;if(t&&d)n("*"),n(t);else for(o in e)a=e[o],a!==s&&a.length>0&&(!f||r(o,t))&&(i+=(i.length>0?" ":"")+o+": "+a+";");return i}}}}),r(h,[],function(){return function(e,t){function n(e,n,r,i){var o,a;if(e){if(!i&&e[n])return e[n];if(e!=t){if(o=e[r])return o;for(a=e.parentNode;a&&a!=t;a=a.parentNode)if(o=a[r])return o}}}var r=e;this.current=function(){return r},this.next=function(e){return r=n(r,"firstChild","nextSibling",e)},this.prev=function(e){return r=n(r,"lastChild","previousSibling",e)}}}),r(m,[u],function(e){function t(n){function r(){return M.createDocumentFragment()}function i(e,t){_(F,e,t)}function o(e,t){_(z,e,t)}function a(e){i(e.parentNode,j(e))}function s(e){i(e.parentNode,j(e)+1)}function l(e){o(e.parentNode,j(e))}function c(e){o(e.parentNode,j(e)+1)}function u(e){e?(H[U]=H[V],H[$]=H[W]):(H[V]=H[U],H[W]=H[$]),H.collapsed=F}function d(e){a(e),c(e)}function f(e){i(e,0),o(e,1===e.nodeType?e.childNodes.length:e.nodeValue.length)}function p(e,t){var n=H[V],r=H[W],i=H[U],o=H[$],a=t.startContainer,s=t.startOffset,l=t.endContainer,c=t.endOffset;return 0===e?w(n,r,a,s):1===e?w(i,o,a,s):2===e?w(i,o,l,c):3===e?w(n,r,l,c):void 0}function h(){E(I)}function m(){return E(P)}function g(){return E(O)}function v(e){var t=this[V],r=this[W],i,o;3!==t.nodeType&&4!==t.nodeType||!t.nodeValue?(t.childNodes.length>0&&(o=t.childNodes[r]),o?t.insertBefore(e,o):3==t.nodeType?n.insertAfter(e,t):t.appendChild(e)):r?r>=t.nodeValue.length?n.insertAfter(e,t):(i=t.splitText(r),t.parentNode.insertBefore(e,i)):t.parentNode.insertBefore(e,t)}function y(e){var t=H.extractContents();H.insertNode(e),e.appendChild(t),H.selectNode(e)}function b(){return q(new t(n),{startContainer:H[V],startOffset:H[W],endContainer:H[U],endOffset:H[$],collapsed:H.collapsed,commonAncestorContainer:H.commonAncestorContainer})}function C(e,t){var n;if(3==e.nodeType)return e;if(0>t)return e;for(n=e.firstChild;n&&t>0;)--t,n=n.nextSibling;return n?n:e}function x(){return H[V]==H[U]&&H[W]==H[$]}function w(e,t,r,i){var o,a,s,l,c,u;if(e==r)return t==i?0:i>t?-1:1;for(o=r;o&&o.parentNode!=e;)o=o.parentNode;if(o){for(a=0,s=e.firstChild;s!=o&&t>a;)a++,s=s.nextSibling;return a>=t?-1:1}for(o=e;o&&o.parentNode!=r;)o=o.parentNode;if(o){for(a=0,s=r.firstChild;s!=o&&i>a;)a++,s=s.nextSibling;return i>a?-1:1}for(l=n.findCommonAncestor(e,r),c=e;c&&c.parentNode!=l;)c=c.parentNode;for(c||(c=l),u=r;u&&u.parentNode!=l;)u=u.parentNode;if(u||(u=l),c==u)return 0;for(s=l.firstChild;s;){if(s==c)return-1;if(s==u)return 1;s=s.nextSibling}}function _(e,t,r){var i,o;for(e?(H[V]=t,H[W]=r):(H[U]=t,H[$]=r),i=H[U];i.parentNode;)i=i.parentNode;for(o=H[V];o.parentNode;)o=o.parentNode;o==i?w(H[V],H[W],H[U],H[$])>0&&H.collapse(e):H.collapse(e),H.collapsed=x(),H.commonAncestorContainer=n.findCommonAncestor(H[V],H[U])}function E(e){var t,n=0,r=0,i,o,a,s,l,c;if(H[V]==H[U])return N(e);for(t=H[U],i=t.parentNode;i;t=i,i=i.parentNode){if(i==H[V])return k(t,e);++n}for(t=H[V],i=t.parentNode;i;t=i,i=i.parentNode){if(i==H[U])return S(t,e);++r}for(o=r-n,a=H[V];o>0;)a=a.parentNode,o--;for(s=H[U];0>o;)s=s.parentNode,o++;for(l=a.parentNode,c=s.parentNode;l!=c;l=l.parentNode,c=c.parentNode)a=l,s=c;return T(a,s,e)}function N(e){var t,n,i,o,a,s,l,c,u;if(e!=I&&(t=r()),H[W]==H[$])return t;if(3==H[V].nodeType){if(n=H[V].nodeValue,i=n.substring(H[W],H[$]),e!=O&&(o=H[V],c=H[W],u=H[$]-H[W],0===c&&u>=o.nodeValue.length-1?o.parentNode.removeChild(o):o.deleteData(c,u),H.collapse(F)),e==I)return;return i.length>0&&t.appendChild(M.createTextNode(i)),t}for(o=C(H[V],H[W]),a=H[$]-H[W];o&&a>0;)s=o.nextSibling,l=D(o,e),t&&t.appendChild(l),--a,o=s;return e!=O&&H.collapse(F),t}function k(e,t){var n,i,o,a,s,l;if(t!=I&&(n=r()),i=R(e,t),n&&n.appendChild(i),o=j(e),a=o-H[W],0>=a)return t!=O&&(H.setEndBefore(e),H.collapse(z)),n;for(i=e.previousSibling;a>0;)s=i.previousSibling,l=D(i,t),n&&n.insertBefore(l,n.firstChild),--a,i=s;return t!=O&&(H.setEndBefore(e),H.collapse(z)),n}function S(e,t){var n,i,o,a,s,l;for(t!=I&&(n=r()),o=A(e,t),n&&n.appendChild(o),i=j(e),++i,a=H[$]-i,o=e.nextSibling;o&&a>0;)s=o.nextSibling,l=D(o,t),n&&n.appendChild(l),--a,o=s;return t!=O&&(H.setStartAfter(e),H.collapse(F)),n}function T(e,t,n){var i,o,a,s,l,c,u;for(n!=I&&(o=r()),i=A(e,n),o&&o.appendChild(i),a=j(e),s=j(t),++a,l=s-a,c=e.nextSibling;l>0;)u=c.nextSibling,i=D(c,n),o&&o.appendChild(i),c=u,--l;return i=R(t,n),o&&o.appendChild(i),n!=O&&(H.setStartAfter(e),H.collapse(F)),o}function R(e,t){var n=C(H[U],H[$]-1),r,i,o,a,s,l=n!=H[U];if(n==e)return B(n,l,z,t);for(r=n.parentNode,i=B(r,z,z,t);r;){for(;n;)o=n.previousSibling,a=B(n,l,z,t),t!=I&&i.insertBefore(a,i.firstChild),l=F,n=o;if(r==e)return i;n=r.previousSibling,r=r.parentNode,s=B(r,z,z,t),t!=I&&s.appendChild(i),i=s}}function A(e,t){var n=C(H[V],H[W]),r=n!=H[V],i,o,a,s,l;if(n==e)return B(n,r,F,t);for(i=n.parentNode,o=B(i,z,F,t);i;){for(;n;)a=n.nextSibling,s=B(n,r,F,t),t!=I&&o.appendChild(s),r=F,n=a;if(i==e)return o;n=i.nextSibling,i=i.parentNode,l=B(i,z,F,t),t!=I&&l.appendChild(o),o=l}}function B(e,t,r,i){var o,a,s,l,c;if(t)return D(e,i);if(3==e.nodeType){if(o=e.nodeValue,r?(l=H[W],a=o.substring(l),s=o.substring(0,l)):(l=H[$],a=o.substring(0,l),s=o.substring(l)),i!=O&&(e.nodeValue=s),i==I)return;return c=n.clone(e,z),c.nodeValue=a,c}if(i!=I)return n.clone(e,z)}function D(e,t){return t!=I?t==O?n.clone(e,F):e:void e.parentNode.removeChild(e)}function L(){return n.create("body",null,g()).outerText}var H=this,M=n.doc,P=0,O=1,I=2,F=!0,z=!1,W="startOffset",V="startContainer",U="endContainer",$="endOffset",q=e.extend,j=n.nodeIndex;return q(H,{startContainer:M,startOffset:0,endContainer:M,endOffset:0,collapsed:F,commonAncestorContainer:M,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:i,setEnd:o,setStartBefore:a,setStartAfter:s,setEndBefore:l,setEndAfter:c,collapse:u,selectNode:d,selectNodeContents:f,compareBoundaryPoints:p,deleteContents:h,extractContents:m,cloneContents:g,insertNode:v,surroundContents:y,cloneRange:b,toStringIE:L}),H}return t.prototype.toString=function(){return this.toStringIE()},t}),r(g,[u],function(e){function t(e){var t;return t=document.createElement("div"),t.innerHTML=e,t.textContent||t.innerText||e}function n(e,t){var n,r,i,a={};if(e){for(e=e.split(","),t=t||10,n=0;n<e.length;n+=2)r=String.fromCharCode(parseInt(e[n],t)),o[r]||(i="&"+e[n+1]+";",a[r]=i,a[i]=r);return a}}var r=e.makeMap,i,o,a,s=/[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,c=/[<>&\"\']/g,u=/&(#x|#)?([\w]+);/g,d={128:"\u20ac",130:"\u201a",131:"\u0192",132:"\u201e",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02c6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017d",145:"\u2018",146:"\u2019",147:"\u201c",148:"\u201d",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02dc",153:"\u2122",154:"\u0161",155:"\u203a",156:"\u0153",158:"\u017e",159:"\u0178"};o={'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;","&":"&amp;","`":"&#96;"},a={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":'"',"&apos;":"'"},i=n("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32);var f={encodeRaw:function(e,t){return e.replace(t?s:l,function(e){return o[e]||e})},encodeAllRaw:function(e){return(""+e).replace(c,function(e){return o[e]||e})},encodeNumeric:function(e,t){return e.replace(t?s:l,function(e){return e.length>1?"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";":o[e]||"&#"+e.charCodeAt(0)+";"})},encodeNamed:function(e,t,n){return n=n||i,e.replace(t?s:l,function(e){return o[e]||n[e]||e})},getEncodeFunc:function(e,t){function a(e,n){return e.replace(n?s:l,function(e){return o[e]||t[e]||"&#"+e.charCodeAt(0)+";"||e})}function c(e,n){return f.encodeNamed(e,n,t)}return t=n(t)||i,e=r(e.replace(/\+/g,",")),e.named&&e.numeric?a:e.named?t?c:f.encodeNamed:e.numeric?f.encodeNumeric:f.encodeRaw},decode:function(e){return e.replace(u,function(e,n,r){return n?(r=parseInt(r,2===n.length?16:10),r>65535?(r-=65536,String.fromCharCode(55296+(r>>10),56320+(1023&r))):d[r]||String.fromCharCode(r)):a[e]||i[e]||t(e)})}};return f}),r(v,[],function(){return function(e,t){function n(t){e.getElementsByTagName("head")[0].appendChild(t)}function r(t,r,s){function l(){for(var e=v.passed,t=e.length;t--;)e[t]();v.status=2,v.passed=[],v.failed=[]}function c(){for(var e=v.failed,t=e.length;t--;)e[t]();v.status=3,v.passed=[],v.failed=[]}function u(){var e=navigator.userAgent.match(/WebKit\/(\d*)/);return!!(e&&e[1]<536)}function d(e,t){e()||((new Date).getTime()-g<a?window.setTimeout(t,0):c())}function f(){d(function(){for(var t=e.styleSheets,n,r=t.length,i;r--;)if(n=t[r],i=n.ownerNode?n.ownerNode:n.owningElement,i&&i.id===h.id)return l(),!0},f)}function p(){d(function(){try{var e=m.sheet.cssRules;return l(),!!e}catch(t){}},p)}var h,m,g,v;if(o[t]?v=o[t]:(v={passed:[],failed:[]},o[t]=v),r&&v.passed.push(r),s&&v.failed.push(s),1!=v.status){if(2==v.status)return void l();if(3==v.status)return void c();if(v.status=1,h=e.createElement("link"),h.rel="stylesheet",h.type="text/css",h.id="u"+i++,h.async=!1,h.defer=!1,g=(new Date).getTime(),"onload"in h&&!u())h.onload=f,h.onerror=c;else{if(navigator.userAgent.indexOf("Firefox")>0)return m=e.createElement("style"),m.textContent='@import "'+t+'"',p(),void n(m);f()}n(h),h.href=t}}var i=0,o={},a;t=t||{},a=t.maxLoadTime||5e3,this.load=r}}),r(y,[c,f,p,l,h,m,g,d,u,v],function(e,n,r,i,o,a,s,l,c,u){function d(e,t){var n={},r=t.keep_values,i;return i={set:function(n,r,i){t.url_converter&&(r=t.url_converter.call(t.url_converter_scope||e,r,i,n[0])),n.attr("data-mce-"+i,r).attr(i,r)},get:function(e,t){return e.attr("data-mce-"+t)||e.attr(t)}},n={style:{set:function(e,t){return null!==t&&"object"==typeof t?void e.css(t):(r&&e.attr("data-mce-style",t),void e.attr("style",t))},get:function(t){var n=t.attr("data-mce-style")||t.attr("style");return n=e.serializeStyle(e.parseStyle(n),t[0].nodeName)}}},r&&(n.href=n.src=i),n}function f(e,t){var o=this,a;o.doc=e,o.win=window,o.files={},o.counter=0,o.stdMode=!v||e.documentMode>=8,o.boxModel=!v||"CSS1Compat"==e.compatMode||o.stdMode,o.styleSheetLoader=new u(e),o.boundEvents=[],o.settings=t=t||{},o.schema=t.schema,o.styles=new r({url_converter:t.url_converter,url_converter_scope:t.url_converter_scope},t.schema),o.fixDoc(e),o.events=t.ownEvents?new i(t.proxy):i.Event,o.attrHooks=d(o,t),a=t.schema?t.schema.getBlockElements():{},o.$=n.overrideDefaults(function(){return{context:e,element:o.getRoot()}}),o.isBlock=function(e){if(!e)return!1;var t=e.nodeType;return t?!(1!==t||!a[e.nodeName]):!!a[e]}}var p=c.each,h=c.is,m=c.grep,g=c.trim,v=l.ie,y=/^([a-z0-9],?)+$/i,b=/^[ \t\r\n]*$/;return f.prototype={$$:function(e){return"string"==typeof e&&(e=this.get(e)),this.$(e)},root:null,fixDoc:function(e){var t=this.settings,n;if(v&&t.schema){"abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video".replace(/\w+/g,function(t){e.createElement(t)});for(n in t.schema.getCustomElements())e.createElement(n)}},clone:function(e,t){var n=this,r,i;return!v||1!==e.nodeType||t?e.cloneNode(t):(i=n.doc,t?r.firstChild:(r=i.createElement(e.nodeName),p(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),r))},getRoot:function(){var e=this;return e.settings.root_element||e.doc.body},getViewPort:function(e){var t,n;return e=e?e:this.win,t=e.document,n=this.boxModel?t.documentElement:t.body,{x:e.pageXOffset||n.scrollLeft,y:e.pageYOffset||n.scrollTop,w:e.innerWidth||n.clientWidth,h:e.innerHeight||n.clientHeight}},getRect:function(e){var t=this,n,r;return e=t.get(e),n=t.getPos(e),r=t.getSize(e),{x:n.x,y:n.y,w:r.w,h:r.h}},getSize:function(e){var t=this,n,r;return e=t.get(e),n=t.getStyle(e,"width"),r=t.getStyle(e,"height"),-1===n.indexOf("px")&&(n=0),-1===r.indexOf("px")&&(r=0),{w:parseInt(n,10)||e.offsetWidth||e.clientWidth,h:parseInt(r,10)||e.offsetHeight||e.clientHeight}},getParent:function(e,t,n){return this.getParents(e,t,n,!1)},getParents:function(e,n,r,i){var o=this,a,s=[];for(e=o.get(e),i=i===t,r=r||("BODY"!=o.getRoot().nodeName?o.getRoot().parentNode:null),h(n,"string")&&(a=n,n="*"===n?function(e){return 1==e.nodeType}:function(e){return o.is(e,a)});e&&e!=r&&e.nodeType&&9!==e.nodeType;){if(!n||n(e)){if(!i)return e;s.push(e)}e=e.parentNode}return i?s:null},get:function(e){var t;return e&&this.doc&&"string"==typeof e&&(t=e,e=this.doc.getElementById(e),e&&e.id!==t)?this.doc.getElementsByName(t)[1]:e},getNext:function(e,t){return this._findSib(e,t,"nextSibling")},getPrev:function(e,t){return this._findSib(e,t,"previousSibling")},select:function(t,n){var r=this;return e(t,r.get(n)||r.settings.root_element||r.doc,[])},is:function(n,r){var i;if(n.length===t){if("*"===r)return 1==n.nodeType;if(y.test(r)){for(r=r.toLowerCase().split(/,/),n=n.nodeName.toLowerCase(),i=r.length-1;i>=0;i--)if(r[i]==n)return!0;return!1}}if(n.nodeType&&1!=n.nodeType)return!1;var o=n.nodeType?[n]:n;return e(r,o[0].ownerDocument||o[0],null,o).length>0},add:function(e,t,n,r,i){var o=this;return this.run(e,function(e){var a;return a=h(t,"string")?o.doc.createElement(t):t,o.setAttribs(a,n),r&&(r.nodeType?a.appendChild(r):o.setHTML(a,r)),i?a:e.appendChild(a)})},create:function(e,t,n){return this.add(this.doc.createElement(e),e,t,n,1)},createHTML:function(e,t,n){var r="",i;r+="<"+e;for(i in t)t.hasOwnProperty(i)&&null!==t[i]&&"undefined"!=typeof t[i]&&(r+=" "+i+'="'+this.encode(t[i])+'"');return"undefined"!=typeof n?r+">"+n+"</"+e+">":r+" />"},createFragment:function(e){var t,n,r=this.doc,i;for(i=r.createElement("div"),t=r.createDocumentFragment(),e&&(i.innerHTML=e);n=i.firstChild;)t.appendChild(n);return t},remove:function(e,t){return e=this.$$(e),t?e.each(function(){for(var e;e=this.firstChild;)3==e.nodeType&&0===e.data.length?this.removeChild(e):this.parentNode.insertBefore(e,this)}).remove():e.remove(),e.length>1?e.toArray():e[0]},setStyle:function(e,t,n){e=this.$$(e).css(t,n),this.settings.update_styles&&e.attr("data-mce-style",null)},getStyle:function(e,n,r){return e=this.$$(e),r?e.css(n):(n=n.replace(/-(\D)/g,function(e,t){return t.toUpperCase()}),"float"==n&&(n=v?"styleFloat":"cssFloat"),e[0]&&e[0].style?e[0].style[n]:t)},setStyles:function(e,t){this.$$(e).css(t)},removeAllAttribs:function(e){return this.run(e,function(e){var t,n=e.attributes;for(t=n.length-1;t>=0;t--)e.removeAttributeNode(n.item(t))})},setAttrib:function(e,t,n){var r=this,i,o,a=r.settings;""===n&&(n=null),e=r.$$(e),i=e.attr(t),e.length&&(o=r.attrHooks[t],o&&o.set?o.set(e,n,t):e.attr(t,n),i!=n&&a.onSetAttrib&&a.onSetAttrib({attrElm:e,attrName:t,attrValue:n}))},setAttribs:function(e,t){var n=this;n.$$(e).each(function(e,r){p(t,function(e,t){n.setAttrib(r,t,e)})})},getAttrib:function(e,t,n){var r=this,i,o;return e=r.$$(e),e.length&&(i=r.attrHooks[t],o=i&&i.get?i.get(e,t):e.attr(t)),"undefined"==typeof o&&(o=n||""),o},getPos:function(e,t){var r=this,i=0,o=0,a,s=r.doc,l=s.body,c;if(e=r.get(e),t=t||l,e){if(t===l&&e.getBoundingClientRect&&"static"===n(l).css("position"))return c=e.getBoundingClientRect(),t=r.boxModel?s.documentElement:l,i=c.left+(s.documentElement.scrollLeft||l.scrollLeft)-t.clientLeft,o=c.top+(s.documentElement.scrollTop||l.scrollTop)-t.clientTop,{x:i,y:o};for(a=e;a&&a!=t&&a.nodeType;)i+=a.offsetLeft||0,o+=a.offsetTop||0,a=a.offsetParent;for(a=e.parentNode;a&&a!=t&&a.nodeType;)i-=a.scrollLeft||0,o-=a.scrollTop||0,a=a.parentNode}return{x:i,y:o}},parseStyle:function(e){return this.styles.parse(e)},serializeStyle:function(e,t){return this.styles.serialize(e,t)},addStyle:function(e){var t=this,n=t.doc,r,i;if(t!==f.DOM&&n===document){var o=f.DOM.addedStyles;if(o=o||[],o[e])return;o[e]=!0,f.DOM.addedStyles=o}i=n.getElementById("mceDefaultStyles"),i||(i=n.createElement("style"),i.id="mceDefaultStyles",i.type="text/css",r=n.getElementsByTagName("head")[0],r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i)),i.styleSheet?i.styleSheet.cssText+=e:i.appendChild(n.createTextNode(e))},loadCSS:function(e){var t=this,n=t.doc,r;return t!==f.DOM&&n===document?void f.DOM.loadCSS(e):(e||(e=""),r=n.getElementsByTagName("head")[0],void p(e.split(","),function(e){var i;t.files[e]||(t.files[e]=!0,i=t.create("link",{rel:"stylesheet",href:e}),v&&n.documentMode&&n.recalc&&(i.onload=function(){n.recalc&&n.recalc(),i.onload=null}),r.appendChild(i))}))},addClass:function(e,t){this.$$(e).addClass(t)},removeClass:function(e,t){this.toggleClass(e,t,!1)},hasClass:function(e,t){return this.$$(e).hasClass(t)},toggleClass:function(e,t,r){this.$$(e).toggleClass(t,r).each(function(){""===this.className&&n(this).attr("class",null)})},show:function(e){this.$$(e).show()},hide:function(e){this.$$(e).hide()},isHidden:function(e){return"none"==this.$$(e).css("display")},uniqueId:function(e){return(e?e:"mce_")+this.counter++},setHTML:function(e,t){e=this.$$(e),v?e.each(function(e,r){if(r.canHaveHTML!==!1){for(;r.firstChild;)r.removeChild(r.firstChild);try{r.innerHTML="<br>"+t,r.removeChild(r.firstChild)}catch(i){n("<div>").html("<br>"+t).contents().slice(1).appendTo(r)}return t}}):e.html(t)},getOuterHTML:function(e){return e=this.get(e),1==e.nodeType?e.outerHTML:n("<div>").append(n(e).clone()).html()},setOuterHTML:function(e,t){var r=this;r.$$(e).each(function(){try{this.outerHTML=t}catch(e){r.remove(n(this).html(t),!0)}})},decode:s.decode,encode:s.encodeAllRaw,insertAfter:function(e,t){return t=this.get(t),this.run(e,function(e){var n,r;return n=t.parentNode,r=t.nextSibling,r?n.insertBefore(e,r):n.appendChild(e),e})},replace:function(e,t,n){var r=this;return r.run(t,function(t){return h(t,"array")&&(e=e.cloneNode(!0)),n&&p(m(t.childNodes),function(t){e.appendChild(t)}),t.parentNode.replaceChild(e,t)})},rename:function(e,t){var n=this,r;return e.nodeName!=t.toUpperCase()&&(r=n.create(t),p(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),n.replace(r,e,1)),r||e},findCommonAncestor:function(e,t){for(var n=e,r;n;){for(r=t;r&&n!=r;)r=r.parentNode;if(n==r)break;n=n.parentNode}return!n&&e.ownerDocument?e.ownerDocument.documentElement:n},toHex:function(e){return this.styles.toHex(c.trim(e))},run:function(e,t,n){var r=this,i;return"string"==typeof e&&(e=r.get(e)),e?(n=n||this,e.nodeType||!e.length&&0!==e.length?t.call(n,e):(i=[],p(e,function(e,o){e&&("string"==typeof e&&(e=r.get(e)),i.push(t.call(n,e,o)))}),i)):!1},getAttribs:function(e){var t;if(e=this.get(e),!e)return[];if(v){if(t=[],"OBJECT"==e.nodeName)return e.attributes;"OPTION"===e.nodeName&&this.getAttrib(e,"selected")&&t.push({specified:1,nodeName:"selected"});var n=/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi;return e.cloneNode(!1).outerHTML.replace(n,"").replace(/[\w:\-]+/gi,function(e){t.push({specified:1,nodeName:e})}),t}return e.attributes},isEmpty:function(e,t){var n=this,r,i,a,s,l,c=0;if(e=e.firstChild){s=new o(e,e.parentNode),t=t||n.schema?n.schema.getNonEmptyElements():null;do{if(a=e.nodeType,1===a){if(e.getAttribute("data-mce-bogus"))continue;if(l=e.nodeName.toLowerCase(),t&&t[l]){if("br"===l){c++;continue}return!1}for(i=n.getAttribs(e),r=i.length;r--;)if(l=i[r].nodeName,"name"===l||"data-mce-bookmark"===l)return!1}if(8==a)return!1;if(3===a&&!b.test(e.nodeValue))return!1}while(e=s.next())}return 1>=c},createRng:function(){var e=this.doc;return e.createRange?e.createRange():new a(this)},nodeIndex:function(e,t){var n=0,r,i;if(e)for(r=e.nodeType,e=e.previousSibling;e;e=e.previousSibling)i=e.nodeType,(!t||3!=i||i!=r&&e.nodeValue.length)&&(n++,r=i);return n},split:function(e,t,n){function r(e){function t(e){var t=e.previousSibling&&"SPAN"==e.previousSibling.nodeName,n=e.nextSibling&&"SPAN"==e.nextSibling.nodeName;return t&&n}var n,o=e.childNodes,a=e.nodeType;if(1!=a||"bookmark"!=e.getAttribute("data-mce-type")){for(n=o.length-1;n>=0;n--)r(o[n]);if(9!=a){if(3==a&&e.nodeValue.length>0){var s=g(e.nodeValue).length;if(!i.isBlock(e.parentNode)||s>0||0===s&&t(e))return}else if(1==a&&(o=e.childNodes,1==o.length&&o[0]&&1==o[0].nodeType&&"bookmark"==o[0].getAttribute("data-mce-type")&&e.parentNode.insertBefore(o[0],e),o.length||/^(br|hr|input|img)$/i.test(e.nodeName)))return;
+i.remove(e)}return e}}var i=this,o=i.createRng(),a,s,l;return e&&t?(o.setStart(e.parentNode,i.nodeIndex(e)),o.setEnd(t.parentNode,i.nodeIndex(t)),a=o.extractContents(),o=i.createRng(),o.setStart(t.parentNode,i.nodeIndex(t)+1),o.setEnd(e.parentNode,i.nodeIndex(e)+1),s=o.extractContents(),l=e.parentNode,l.insertBefore(r(a),e),n?l.replaceChild(n,t):l.insertBefore(t,e),l.insertBefore(r(s),e),i.remove(e),n||t):void 0},bind:function(e,t,n,r){var i=this;if(c.isArray(e)){for(var o=e.length;o--;)e[o]=i.bind(e[o],t,n,r);return e}return!i.settings.collect||e!==i.doc&&e!==i.win||i.boundEvents.push([e,t,n,r]),i.events.bind(e,t,n,r||i)},unbind:function(e,t,n){var r=this,i;if(c.isArray(e)){for(i=e.length;i--;)e[i]=r.unbind(e[i],t,n);return e}if(r.boundEvents&&(e===r.doc||e===r.win))for(i=r.boundEvents.length;i--;){var o=r.boundEvents[i];e!=o[0]||t&&t!=o[1]||n&&n!=o[2]||this.events.unbind(o[0],o[1],o[2])}return this.events.unbind(e,t,n)},fire:function(e,t,n){return this.events.fire(e,t,n)},getContentEditable:function(e){var t;return e&&1==e.nodeType?(t=e.getAttribute("data-mce-contenteditable"),t&&"inherit"!==t?t:"inherit"!==e.contentEditable?e.contentEditable:null):null},getContentEditableParent:function(e){for(var t=this.getRoot(),n=null;e&&e!==t&&(n=this.getContentEditable(e),null===n);e=e.parentNode);return n},destroy:function(){var t=this;if(t.boundEvents){for(var n=t.boundEvents.length;n--;){var r=t.boundEvents[n];this.events.unbind(r[0],r[1],r[2])}t.boundEvents=null}e.setDocument&&e.setDocument(),t.win=t.doc=t.root=t.events=t.frag=null},isChildOf:function(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1},dumpRng:function(e){return"startContainer: "+e.startContainer.nodeName+", startOffset: "+e.startOffset+", endContainer: "+e.endContainer.nodeName+", endOffset: "+e.endOffset},_findSib:function(e,t,n){var r=this,i=t;if(e)for("string"==typeof i&&(i=function(e){return r.is(e,t)}),e=e[n];e;e=e[n])if(i(e))return e;return null}},f.DOM=new f(document),f}),r(b,[y,u],function(e,t){function n(){function e(e,t){function n(){o.remove(s),a&&(a.onreadystatechange=a.onload=a=null),t()}function i(){"undefined"!=typeof console&&console.log&&console.log("Failed to load: "+e)}var o=r,a,s;s=o.uniqueId(),a=document.createElement("script"),a.id=s,a.type="text/javascript",a.src=e,"onreadystatechange"in a?a.onreadystatechange=function(){/loaded|complete/.test(a.readyState)&&n()}:a.onload=n,a.onerror=i,(document.getElementsByTagName("head")[0]||document.body).appendChild(a)}var t=0,n=1,a=2,s={},l=[],c={},u=[],d=0,f;this.isDone=function(e){return s[e]==a},this.markDone=function(e){s[e]=a},this.add=this.load=function(e,n,r){var i=s[e];i==f&&(l.push(e),s[e]=t),n&&(c[e]||(c[e]=[]),c[e].push({func:n,scope:r||this}))},this.loadQueue=function(e,t){this.loadScripts(l,e,t)},this.loadScripts=function(t,r,l){function p(e){i(c[e],function(e){e.func.call(e.scope)}),c[e]=f}var h;u.push({func:r,scope:l||this}),(h=function(){var r=o(t);t.length=0,i(r,function(t){return s[t]==a?void p(t):void(s[t]!=n&&(s[t]=n,d++,e(t,function(){s[t]=a,d--,p(t),h()})))}),d||(i(u,function(e){e.func.call(e.scope)}),u.length=0)})()}}var r=e.DOM,i=t.each,o=t.grep;return n.ScriptLoader=new n,n}),r(C,[b,u],function(e,n){function r(){var e=this;e.items=[],e.urls={},e.lookup={}}var i=n.each;return r.prototype={get:function(e){return this.lookup[e]?this.lookup[e].instance:t},dependencies:function(e){var t;return this.lookup[e]&&(t=this.lookup[e].dependencies),t||[]},requireLangPack:function(t,n){var i=r.language;if(i&&r.languageLoad!==!1){if(n)if(n=","+n+",",-1!=n.indexOf(","+i.substr(0,2)+","))i=i.substr(0,2);else if(-1==n.indexOf(","+i+","))return;e.ScriptLoader.add(this.urls[t]+"/langs/"+i+".js")}},add:function(e,t,n){return this.items.push(t),this.lookup[e]={instance:t,dependencies:n},t},createUrl:function(e,t){return"object"==typeof t?t:{prefix:e.prefix,resource:t,suffix:e.suffix}},addComponents:function(t,n){var r=this.urls[t];i(n,function(t){e.ScriptLoader.add(r+"/"+t)})},load:function(n,o,a,s){function l(){var r=c.dependencies(n);i(r,function(e){var n=c.createUrl(o,e);c.load(n.resource,n,t,t)}),a&&a.call(s?s:e)}var c=this,u=o;c.urls[n]||("object"==typeof o&&(u=o.prefix+o.resource+o.suffix),0!==u.indexOf("/")&&-1==u.indexOf("://")&&(u=r.baseURL+"/"+u),c.urls[n]=u.substring(0,u.lastIndexOf("/")),c.lookup[n]?l():e.ScriptLoader.add(u,l,s))}},r.PluginManager=new r,r.ThemeManager=new r,r}),r(x,[u,h],function(e,t){function n(e,t){var n=e.childNodes;return t--,t>n.length-1?t=n.length-1:0>t&&(t=0),n[t]||e}function r(e){this.walk=function(t,r){function o(e){var t;return t=e[0],3===t.nodeType&&t===c&&u>=t.nodeValue.length&&e.splice(0,1),t=e[e.length-1],0===f&&e.length>0&&t===d&&3===t.nodeType&&e.splice(e.length-1,1),e}function a(e,t,n){for(var r=[];e&&e!=n;e=e[t])r.push(e);return r}function s(e,t){do{if(e.parentNode==t)return e;e=e.parentNode}while(e)}function l(e,t,n){var i=n?"nextSibling":"previousSibling";for(g=e,v=g.parentNode;g&&g!=t;g=v)v=g.parentNode,y=a(g==e?g:g[i],i),y.length&&(n||y.reverse(),r(o(y)))}var c=t.startContainer,u=t.startOffset,d=t.endContainer,f=t.endOffset,p,h,m,g,v,y,b;if(b=e.select("td.mce-item-selected,th.mce-item-selected"),b.length>0)return void i(b,function(e){r([e])});if(1==c.nodeType&&c.hasChildNodes()&&(c=c.childNodes[u]),1==d.nodeType&&d.hasChildNodes()&&(d=n(d,f)),c==d)return r(o([c]));for(p=e.findCommonAncestor(c,d),g=c;g;g=g.parentNode){if(g===d)return l(c,p,!0);if(g===p)break}for(g=d;g;g=g.parentNode){if(g===c)return l(d,p);if(g===p)break}h=s(c,p)||c,m=s(d,p)||d,l(c,h,!0),y=a(h==c?h:h.nextSibling,"nextSibling",m==d?m.nextSibling:m),y.length&&r(o(y)),l(d,m)},this.split=function(e){function t(e,t){return e.splitText(t)}var n=e.startContainer,r=e.startOffset,i=e.endContainer,o=e.endOffset;return n==i&&3==n.nodeType?r>0&&r<n.nodeValue.length&&(i=t(n,r),n=i.previousSibling,o>r?(o-=r,n=i=t(i,o).previousSibling,o=i.nodeValue.length,r=0):o=0):(3==n.nodeType&&r>0&&r<n.nodeValue.length&&(n=t(n,r),r=0),3==i.nodeType&&o>0&&o<i.nodeValue.length&&(i=t(i,o).previousSibling,o=i.nodeValue.length)),{startContainer:n,startOffset:r,endContainer:i,endOffset:o}},this.normalize=function(n){function r(r){function a(n,r){for(var i=new t(n,e.getParent(n.parentNode,e.isBlock)||f);n=i[r?"prev":"next"]();)if("BR"===n.nodeName)return!0}function s(e,t){return e.previousSibling&&e.previousSibling.nodeName==t}function l(n,r){var a,s,l;if(r=r||c,l=e.getParent(r.parentNode,e.isBlock)||f,n&&"BR"==r.nodeName&&g&&e.isEmpty(l))return c=r.parentNode,u=e.nodeIndex(r),void(i=!0);for(a=new t(r,l);p=a[n?"prev":"next"]();){if("false"===e.getContentEditableParent(p))return;if(3===p.nodeType&&p.nodeValue.length>0)return c=p,u=n?p.nodeValue.length:0,void(i=!0);if(e.isBlock(p)||h[p.nodeName.toLowerCase()])return;s=p}o&&s&&(c=s,i=!0,u=0)}var c,u,d,f=e.getRoot(),p,h,m,g;if(c=n[(r?"start":"end")+"Container"],u=n[(r?"start":"end")+"Offset"],g=1==c.nodeType&&u===c.childNodes.length,h=e.schema.getNonEmptyElements(),m=r,1==c.nodeType&&u>c.childNodes.length-1&&(m=!1),9===c.nodeType&&(c=e.getRoot(),u=0),c===f){if(m&&(p=c.childNodes[u>0?u-1:0],p&&(h[p.nodeName]||"TABLE"==p.nodeName)))return;if(c.hasChildNodes()&&(u=Math.min(!m&&u>0?u-1:u,c.childNodes.length-1),c=c.childNodes[u],u=0,c.hasChildNodes()&&!/TABLE/.test(c.nodeName))){p=c,d=new t(c,f);do{if(3===p.nodeType&&p.nodeValue.length>0){u=m?0:p.nodeValue.length,c=p,i=!0;break}if(h[p.nodeName.toLowerCase()]){u=e.nodeIndex(p),c=p.parentNode,"IMG"!=p.nodeName||m||u++,i=!0;break}}while(p=m?d.next():d.prev())}}o&&(3===c.nodeType&&0===u&&l(!0),1===c.nodeType&&(p=c.childNodes[u],p||(p=c.childNodes[u-1]),!p||"BR"!==p.nodeName||s(p,"A")||a(p)||a(p,!0)||l(!0,p))),m&&!o&&3===c.nodeType&&u===c.nodeValue.length&&l(!1),i&&n["set"+(r?"Start":"End")](c,u)}var i,o;return o=n.collapsed,r(!0),o||r(),i&&o&&n.collapse(!0),i}}var i=e.each;return r.compareRanges=function(e,t){if(e&&t){if(!e.item&&!e.duplicate)return e.startContainer==t.startContainer&&e.startOffset==t.startOffset;if(e.item&&t.item&&e.item(0)===t.item(0))return!0;if(e.isEqual&&t.isEqual&&t.isEqual(e))return!0}return!1},r}),r(w,[x],function(e){return function(t){function n(e){var n,r;if(r=t.$(e).parentsUntil(t.getBody()).add(e),r.length===i.length){for(n=r.length;n>=0&&r[n]===i[n];n--);if(-1===n)return i=r,!0}return i=r,!1}var r,i=[];"onselectionchange"in t.getDoc()||t.on("NodeChange Click MouseUp KeyUp Focus",function(n){var i,o;i=t.selection.getRng(),o={startContainer:i.startContainer,startOffset:i.startOffset,endContainer:i.endContainer,endOffset:i.endOffset},"nodechange"!=n.type&&e.compareRanges(o,r)||t.fire("SelectionChange"),r=o}),t.on("contextmenu",function(){t.fire("SelectionChange")}),t.on("SelectionChange",function(){var e=t.selection.getStart(!0);t.selection.isCollapsed()||n(e)||!t.dom.isChildOf(e,t.getBody())||t.nodeChanged({selectionChange:!0})}),t.on("MouseUp",function(e){e.isDefaultPrevented()||setTimeout(function(){t.nodeChanged()},0)}),this.nodeChanged=function(e){var n=t.selection,r,i,o;t.initialized&&n&&!t.settings.disable_nodechange&&!t.settings.readonly&&(o=t.getBody(),r=n.getStart()||o,r=r.ownerDocument!=t.getDoc()?t.getBody():r,"IMG"==r.nodeName&&n.isCollapsed()&&(r=r.parentNode),i=[],t.dom.getParent(r,function(e){return e===o?!0:void i.push(e)}),e=e||{},e.element=r,e.parents=i,t.fire("NodeChange",e))}}}),r(_,[],function(){function e(e,t,n){var r,i,o=n?"lastChild":"firstChild",a=n?"prev":"next";if(e[o])return e[o];if(e!==t){if(r=e[a])return r;for(i=e.parent;i&&i!==t;i=i.parent)if(r=i[a])return r}}function t(e,t){this.name=e,this.type=t,1===t&&(this.attributes=[],this.attributes.map={})}var n=/^[ \t\r\n]*$/,r={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};return t.prototype={replace:function(e){var t=this;return e.parent&&e.remove(),t.insert(e,t),t.remove(),t},attr:function(e,t){var n=this,r,i,o;if("string"!=typeof e){for(i in e)n.attr(i,e[i]);return n}if(r=n.attributes){if(t!==o){if(null===t){if(e in r.map)for(delete r.map[e],i=r.length;i--;)if(r[i].name===e)return r=r.splice(i,1),n;return n}if(e in r.map){for(i=r.length;i--;)if(r[i].name===e){r[i].value=t;break}}else r.push({name:e,value:t});return r.map[e]=t,n}return r.map[e]}},clone:function(){var e=this,n=new t(e.name,e.type),r,i,o,a,s;if(o=e.attributes){for(s=[],s.map={},r=0,i=o.length;i>r;r++)a=o[r],"id"!==a.name&&(s[s.length]={name:a.name,value:a.value},s.map[a.name]=a.value);n.attributes=s}return n.value=e.value,n.shortEnded=e.shortEnded,n},wrap:function(e){var t=this;return t.parent.insert(e,t),e.append(t),t},unwrap:function(){var e=this,t,n;for(t=e.firstChild;t;)n=t.next,e.insert(t,e,!0),t=n;e.remove()},remove:function(){var e=this,t=e.parent,n=e.next,r=e.prev;return t&&(t.firstChild===e?(t.firstChild=n,n&&(n.prev=null)):r.next=n,t.lastChild===e?(t.lastChild=r,r&&(r.next=null)):n.prev=r,e.parent=e.next=e.prev=null),e},append:function(e){var t=this,n;return e.parent&&e.remove(),n=t.lastChild,n?(n.next=e,e.prev=n,t.lastChild=e):t.lastChild=t.firstChild=e,e.parent=t,e},insert:function(e,t,n){var r;return e.parent&&e.remove(),r=t.parent||this,n?(t===r.firstChild?r.firstChild=e:t.prev.next=e,e.prev=t.prev,e.next=t,t.prev=e):(t===r.lastChild?r.lastChild=e:t.next.prev=e,e.next=t.next,e.prev=t,t.next=e),e.parent=r,e},getAll:function(t){var n=this,r,i=[];for(r=n.firstChild;r;r=e(r,n))r.name===t&&i.push(r);return i},empty:function(){var t=this,n,r,i;if(t.firstChild){for(n=[],i=t.firstChild;i;i=e(i,t))n.push(i);for(r=n.length;r--;)i=n[r],i.parent=i.firstChild=i.lastChild=i.next=i.prev=null}return t.firstChild=t.lastChild=null,t},isEmpty:function(t){var r=this,i=r.firstChild,o,a;if(i)do{if(1===i.type){if(i.attributes.map["data-mce-bogus"])continue;if(t[i.name])return!1;for(o=i.attributes.length;o--;)if(a=i.attributes[o].name,"name"===a||0===a.indexOf("data-mce-bookmark"))return!1}if(8===i.type)return!1;if(3===i.type&&!n.test(i.value))return!1}while(i=e(i,r));return!0},walk:function(t){return e(this,null,t)}},t.create=function(e,n){var i,o;if(i=new t(e,r[e]||1),n)for(o in n)i.attr(o,n[o]);return i},t}),r(E,[u],function(e){function t(e,t){return e?e.split(t||" "):[]}function n(e){function n(e,n,r){function i(e,t){var n={},r,i;for(r=0,i=e.length;i>r;r++)n[e[r]]=t||{};return n}var s,c,u,d=arguments;for(r=r||[],n=n||"","string"==typeof r&&(r=t(r)),c=3;c<d.length;c++)"string"==typeof d[c]&&(d[c]=t(d[c])),r.push.apply(r,d[c]);for(e=t(e),s=e.length;s--;)u=[].concat(l,t(n)),a[e[s]]={attributes:i(u),attributesOrder:u,children:i(r,o)}}function r(e,n){var r,i,o,s;for(e=t(e),r=e.length,n=t(n);r--;)for(i=a[e[r]],o=0,s=n.length;s>o;o++)i.attributes[n[o]]={},i.attributesOrder.push(n[o])}var a={},l,c,u,d,f,p;return i[e]?i[e]:(l=t("id accesskey class dir lang style tabindex title"),c=t("address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul"),u=t("a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd label map noscript object q s samp script select small span strong sub sup textarea u var #text #comment"),"html4"!=e&&(l.push.apply(l,t("contenteditable contextmenu draggable dropzone hidden spellcheck translate")),c.push.apply(c,t("article aside details dialog figure header footer hgroup section nav")),u.push.apply(u,t("audio canvas command datalist mark meter output progress time wbr video ruby bdi keygen"))),"html5-strict"!=e&&(l.push("xml:lang"),p=t("acronym applet basefont big font strike tt"),u.push.apply(u,p),s(p,function(e){n(e,"",u)}),f=t("center dir isindex noframes"),c.push.apply(c,f),d=[].concat(c,u),s(f,function(e){n(e,"",d)})),d=d||[].concat(c,u),n("html","manifest","head body"),n("head","","base command link meta noscript script style title"),n("title hr noscript br"),n("base","href target"),n("link","href rel media hreflang type sizes hreflang"),n("meta","name http-equiv content charset"),n("style","media type scoped"),n("script","src async defer type charset"),n("body","onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload",d),n("address dt dd div caption","",d),n("h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn","",u),n("blockquote","cite",d),n("ol","reversed start type","li"),n("ul","","li"),n("li","value",d),n("dl","","dt dd"),n("a","href target rel media hreflang type",u),n("q","cite",u),n("ins del","cite datetime",d),n("img","src alt usemap ismap width height"),n("iframe","src name width height",d),n("embed","src type width height"),n("object","data type typemustmatch name usemap form width height",d,"param"),n("param","name value"),n("map","name",d,"area"),n("area","alt coords shape href target rel media hreflang type"),n("table","border","caption colgroup thead tfoot tbody tr"+("html4"==e?" col":"")),n("colgroup","span","col"),n("col","span"),n("tbody thead tfoot","","tr"),n("tr","","td th"),n("td","colspan rowspan headers",d),n("th","colspan rowspan headers scope abbr",d),n("form","accept-charset action autocomplete enctype method name novalidate target",d),n("fieldset","disabled form name",d,"legend"),n("label","form for",u),n("input","accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate formtarget height list max maxlength min multiple name pattern readonly required size src step type value width"),n("button","disabled form formaction formenctype formmethod formnovalidate formtarget name type value","html4"==e?d:u),n("select","disabled form multiple name required size","option optgroup"),n("optgroup","disabled label","option"),n("option","disabled label selected value"),n("textarea","cols dirname disabled form maxlength name readonly required rows wrap"),n("menu","type label",d,"li"),n("noscript","",d),"html4"!=e&&(n("wbr"),n("ruby","",u,"rt rp"),n("figcaption","",d),n("mark rt rp summary bdi","",u),n("canvas","width height",d),n("video","src crossorigin poster preload autoplay mediagroup loop muted controls width height buffered",d,"track source"),n("audio","src crossorigin preload autoplay mediagroup loop muted controls buffered volume",d,"track source"),n("source","src type media"),n("track","kind src srclang label default"),n("datalist","",u,"option"),n("article section nav aside header footer","",d),n("hgroup","","h1 h2 h3 h4 h5 h6"),n("figure","",d,"figcaption"),n("time","datetime",u),n("dialog","open",d),n("command","type label icon disabled checked radiogroup command"),n("output","for form name",u),n("progress","value max",u),n("meter","value min max low high optimum",u),n("details","open",d,"summary"),n("keygen","autofocus challenge disabled form keytype name")),"html5-strict"!=e&&(r("script","language xml:space"),r("style","xml:space"),r("object","declare classid code codebase codetype archive standby align border hspace vspace"),r("embed","align name hspace vspace"),r("param","valuetype type"),r("a","charset name rev shape coords"),r("br","clear"),r("applet","codebase archive code object alt name width height align hspace vspace"),r("img","name longdesc align border hspace vspace"),r("iframe","longdesc frameborder marginwidth marginheight scrolling align"),r("font basefont","size color face"),r("input","usemap align"),r("select","onchange"),r("textarea"),r("h1 h2 h3 h4 h5 h6 div p legend caption","align"),r("ul","type compact"),r("li","type"),r("ol dl menu dir","compact"),r("pre","width xml:space"),r("hr","align noshade size width"),r("isindex","prompt"),r("table","summary width frame rules cellspacing cellpadding align bgcolor"),r("col","width align char charoff valign"),r("colgroup","width align char charoff valign"),r("thead","align char charoff valign"),r("tr","align char charoff valign bgcolor"),r("th","axis align char charoff valign nowrap bgcolor width height"),r("form","accept"),r("td","abbr axis scope align char charoff valign nowrap bgcolor width height"),r("tfoot","align char charoff valign"),r("tbody","align char charoff valign"),r("area","nohref"),r("body","background bgcolor text link vlink alink")),"html4"!=e&&(r("input button select textarea","autofocus"),r("input textarea","placeholder"),r("a","download"),r("link script img","crossorigin"),r("iframe","sandbox seamless allowfullscreen")),s(t("a form meter progress dfn"),function(e){a[e]&&delete a[e].children[e]}),delete a.caption.children.table,i[e]=a,a)}function r(e,t){var n;return e&&(n={},"string"==typeof e&&(e={"*":e}),s(e,function(e,r){n[r]="map"==t?a(e,/[, ]/):c(e,/[, ]/)})),n}var i={},o={},a=e.makeMap,s=e.each,l=e.extend,c=e.explode,u=e.inArray;return function(e){function o(t,n,r){var o=e[t];return o?o=a(o,/[, ]/,a(o.toUpperCase(),/[, ]/)):(o=i[t],o||(o=a(n," ",a(n.toUpperCase()," ")),o=l(o,r),i[t]=o)),o}function d(e){return new RegExp("^"+e.replace(/([?+*])/g,".$1")+"$")}function f(e){var n,r,i,o,s,l,c,f,p,h,m,g,v,b,x,w,_,E,N,k=/^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)\])?$/,S=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,T=/[*?+]/;if(e)for(e=t(e,","),y["@"]&&(w=y["@"].attributes,_=y["@"].attributesOrder),n=0,r=e.length;r>n;n++)if(s=k.exec(e[n])){if(b=s[1],p=s[2],x=s[3],f=s[5],g={},v=[],l={attributes:g,attributesOrder:v},"#"===b&&(l.paddEmpty=!0),"-"===b&&(l.removeEmpty=!0),"!"===s[4]&&(l.removeEmptyAttrs=!0),w){for(E in w)g[E]=w[E];v.push.apply(v,_)}if(f)for(f=t(f,"|"),i=0,o=f.length;o>i;i++)if(s=S.exec(f[i])){if(c={},m=s[1],h=s[2].replace(/::/g,":"),b=s[3],N=s[4],"!"===m&&(l.attributesRequired=l.attributesRequired||[],l.attributesRequired.push(h),c.required=!0),"-"===m){delete g[h],v.splice(u(v,h),1);continue}b&&("="===b&&(l.attributesDefault=l.attributesDefault||[],l.attributesDefault.push({name:h,value:N}),c.defaultValue=N),":"===b&&(l.attributesForced=l.attributesForced||[],l.attributesForced.push({name:h,value:N}),c.forcedValue=N),"<"===b&&(c.validValues=a(N,"?"))),T.test(h)?(l.attributePatterns=l.attributePatterns||[],c.pattern=d(h),l.attributePatterns.push(c)):(g[h]||v.push(h),g[h]=c)}w||"@"!=p||(w=g,_=v),x&&(l.outputName=p,y[x]=l),T.test(p)?(l.pattern=d(p),C.push(l)):y[p]=l}}function p(e){y={},C=[],f(e),s(_,function(e,t){b[t]=e.children})}function h(e){var n=/^(~)?(.+)$/;e&&(i.text_block_elements=i.block_elements=null,s(t(e,","),function(e){var t=n.exec(e),r="~"===t[1],i=r?"span":"div",o=t[2];if(b[o]=b[i],L[o]=i,r||(R[o.toUpperCase()]={},R[o]={}),!y[o]){var a=y[i];a=l({},a),delete a.removeEmptyAttrs,delete a.removeEmpty,y[o]=a}s(b,function(e,t){e[i]&&(b[t]=e=l({},b[t]),e[o]=e[i])})}))}function m(e){var n=/^([+\-]?)(\w+)\[([^\]]+)\]$/;e&&s(t(e,","),function(e){var r=n.exec(e),i,o;r&&(o=r[1],i=o?b[r[2]]:b[r[2]]={"#comment":{}},i=b[r[2]],s(t(r[3],"|"),function(e){"-"===o?(b[r[2]]=i=l({},b[r[2]]),delete i[e]):i[e]={}}))})}function g(e){var t=y[e],n;if(t)return t;for(n=C.length;n--;)if(t=C[n],t.pattern.test(e))return t}var v=this,y={},b={},C=[],x,w,_,E,N,k,S,T,R,A,B,D,L={},H={};e=e||{},_=n(e.schema),e.verify_html===!1&&(e.valid_elements="*[*]"),x=r(e.valid_styles),w=r(e.invalid_styles,"map"),T=r(e.valid_classes,"map"),E=o("whitespace_elements","pre script noscript style textarea video audio iframe object"),N=o("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr"),k=o("short_ended_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr track"),S=o("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls"),A=o("non_empty_elements","td th iframe video audio object script",k),B=o("text_block_elements","h1 h2 h3 h4 h5 h6 p div address pre form blockquote center dir fieldset header footer article section hgroup aside nav figure"),R=o("block_elements","hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup",B),D=o("text_inline_elements","span strong b em i font strike u var cite dfn code mark q sup sub samp"),s((e.special||"script noscript style textarea").split(" "),function(e){H[e]=new RegExp("</"+e+"[^>]*>","gi")}),e.valid_elements?p(e.valid_elements):(s(_,function(e,t){y[t]={attributes:e.attributes,attributesOrder:e.attributesOrder},b[t]=e.children}),"html5"!=e.schema&&s(t("strong/b em/i"),function(e){e=t(e,"/"),y[e[1]].outputName=e[0]}),y.img.attributesDefault=[{name:"alt",value:""}],s(t("ol ul sub sup blockquote span font a table tbody tr strong em b i"),function(e){y[e]&&(y[e].removeEmpty=!0)}),s(t("p h1 h2 h3 h4 h5 h6 th td pre div address caption"),function(e){y[e].paddEmpty=!0}),s(t("span"),function(e){y[e].removeEmptyAttrs=!0})),h(e.custom_elements),m(e.valid_children),f(e.extended_valid_elements),m("+ol[ul|ol],+ul[ul|ol]"),e.invalid_elements&&s(c(e.invalid_elements),function(e){y[e]&&delete y[e]}),g("span")||f("span[!data-mce-type|*]"),v.children=b,v.getValidStyles=function(){return x},v.getInvalidStyles=function(){return w},v.getValidClasses=function(){return T},v.getBoolAttrs=function(){return S},v.getBlockElements=function(){return R},v.getTextBlockElements=function(){return B},v.getTextInlineElements=function(){return D},v.getShortEndedElements=function(){return k},v.getSelfClosingElements=function(){return N},v.getNonEmptyElements=function(){return A},v.getWhiteSpaceElements=function(){return E},v.getSpecialElements=function(){return H},v.isValidChild=function(e,t){var n=b[e];return!(!n||!n[t])},v.isValid=function(e,t){var n,r,i=g(e);if(i){if(!t)return!0;if(i.attributes[t])return!0;if(n=i.attributePatterns)for(r=n.length;r--;)if(n[r].pattern.test(e))return!0}return!1},v.getElementRule=g,v.getCustomElements=function(){return L},v.addValidElements=f,v.setValidElements=p,v.addCustomElements=h,v.addValidChildren=m,v.elements=y}}),r(N,[E,g,u],function(e,t,n){function r(e,t,n){var r=1,i,o,a,s;for(s=e.getShortEndedElements(),a=/<([!?\/])?([A-Za-z0-9\-_\:\.]+)((?:\s+[^"\'>]+(?:(?:"[^"]*")|(?:\'[^\']*\')|[^>]*))*|\/|\s+)>/g,a.lastIndex=i=n;o=a.exec(t);){if(i=a.lastIndex,"/"===o[1])r--;else if(!o[1]){if(o[2]in s)continue;r++}if(0===r)break}return i}function i(i,a){function s(){}var l=this;i=i||{},l.schema=a=a||new e,i.fix_self_closing!==!1&&(i.fix_self_closing=!0),o("comment cdata text start end pi doctype".split(" "),function(e){e&&(l[e]=i[e]||s)}),l.parse=function(e){function o(e){var t,n;for(t=p.length;t--&&p[t].name!==e;);if(t>=0){for(n=p.length-1;n>=t;n--)e=p[n],e.valid&&l.end(e.name);p.length=t}}function s(e,t,n,r,o){var a,s,l=/[\s\u0000-\u001F]+/g;if(t=t.toLowerCase(),n=t in x?t:z(n||r||o||""),_&&!y&&0!==t.indexOf("data-")){if(a=T[t],!a&&R){for(s=R.length;s--&&(a=R[s],!a.pattern.test(t)););-1===s&&(a=null)}if(!a)return;if(a.validValues&&!(n in a.validValues))return}if(V[t]&&!i.allow_script_urls){var c=n.replace(l,"");try{c=decodeURIComponent(c)}catch(u){c=unescape(c)}if(U.test(c))return;if(!i.allow_html_data_urls&&$.test(c)&&!/^data:image\//i.test(c))return}h.map[t]=n,h.push({name:t,value:n})}var l=this,c,u=0,d,f,p=[],h,m,g,v,y,b,C,x,w,_,E,N,k,S,T,R,A,B,D,L,H,M,P,O,I,F=0,z=t.decode,W,V=n.makeMap("src,href,data,background,formaction,poster"),U=/((java|vb)script|mhtml):/i,$=/^data:/i;for(M=new RegExp("<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([^>]+)>)|(?:([A-Za-z0-9\\-_\\:\\.]+)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))","g"),P=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g,C=a.getShortEndedElements(),H=i.self_closing_elements||a.getSelfClosingElements(),x=a.getBoolAttrs(),_=i.validate,b=i.remove_internals,W=i.fix_self_closing,O=a.getSpecialElements();c=M.exec(e);){if(u<c.index&&l.text(z(e.substr(u,c.index-u))),d=c[6])d=d.toLowerCase(),":"===d.charAt(0)&&(d=d.substr(1)),o(d);else if(d=c[7]){if(d=d.toLowerCase(),":"===d.charAt(0)&&(d=d.substr(1)),w=d in C,W&&H[d]&&p.length>0&&p[p.length-1].name===d&&o(d),!_||(E=a.getElementRule(d))){if(N=!0,_&&(T=E.attributes,R=E.attributePatterns),(S=c[8])?(y=-1!==S.indexOf("data-mce-type"),y&&b&&(N=!1),h=[],h.map={},S.replace(P,s)):(h=[],h.map={}),_&&!y){if(A=E.attributesRequired,B=E.attributesDefault,D=E.attributesForced,L=E.removeEmptyAttrs,L&&!h.length&&(N=!1),D)for(m=D.length;m--;)k=D[m],v=k.name,I=k.value,"{$uid}"===I&&(I="mce_"+F++),h.map[v]=I,h.push({name:v,value:I});if(B)for(m=B.length;m--;)k=B[m],v=k.name,v in h.map||(I=k.value,"{$uid}"===I&&(I="mce_"+F++),h.map[v]=I,h.push({name:v,value:I}));if(A){for(m=A.length;m--&&!(A[m]in h.map););-1===m&&(N=!1)}if(k=h.map["data-mce-bogus"]){if("all"===k){u=r(a,e,M.lastIndex),M.lastIndex=u;continue}N=!1}}N&&l.start(d,h,w)}else N=!1;if(f=O[d]){f.lastIndex=u=c.index+c[0].length,(c=f.exec(e))?(N&&(g=e.substr(u,c.index-u)),u=c.index+c[0].length):(g=e.substr(u),u=e.length),N&&(g.length>0&&l.text(g,!0),l.end(d)),M.lastIndex=u;continue}w||(S&&S.indexOf("/")==S.length-1?N&&l.end(d):p.push({name:d,valid:N}))}else(d=c[1])?(">"===d.charAt(0)&&(d=" "+d),i.allow_conditional_comments||"[if"!==d.substr(0,3)||(d=" "+d),l.comment(d)):(d=c[2])?l.cdata(d):(d=c[3])?l.doctype(d):(d=c[4])&&l.pi(d,c[5]);u=c.index+c[0].length}for(u<e.length&&l.text(z(e.substr(u))),m=p.length-1;m>=0;m--)d=p[m],d.valid&&l.end(d.name)}}var o=n.each;return i.findEndTag=r,i}),r(k,[_,E,N,u],function(e,t,n,r){var i=r.makeMap,o=r.each,a=r.explode,s=r.extend;return function(r,l){function c(t){var n,r,o,a,s,c,d,f,p,h,m,g,v,y;for(m=i("tr,td,th,tbody,thead,tfoot,table"),h=l.getNonEmptyElements(),g=l.getTextBlockElements(),n=0;n<t.length;n++)if(r=t[n],r.parent&&!r.fixed)if(g[r.name]&&"li"==r.parent.name){for(v=r.next;v&&g[v.name];)v.name="li",v.fixed=!0,r.parent.insert(v,r.parent),v=v.next;r.unwrap(r)}else{for(a=[r],o=r.parent;o&&!l.isValidChild(o.name,r.name)&&!m[o.name];o=o.parent)a.push(o);if(o&&a.length>1){for(a.reverse(),s=c=u.filterNode(a[0].clone()),p=0;p<a.length-1;p++){for(l.isValidChild(c.name,a[p].name)?(d=u.filterNode(a[p].clone()),c.append(d)):d=c,f=a[p].firstChild;f&&f!=a[p+1];)y=f.next,d.append(f),f=y;c=d}s.isEmpty(h)?o.insert(r,a[0],!0):(o.insert(s,a[0],!0),o.insert(r,s)),o=a[0],(o.isEmpty(h)||o.firstChild===o.lastChild&&"br"===o.firstChild.name)&&o.empty().remove()}else if(r.parent){if("li"===r.name){if(v=r.prev,v&&("ul"===v.name||"ul"===v.name)){v.append(r);continue}if(v=r.next,v&&("ul"===v.name||"ul"===v.name)){v.insert(r,v.firstChild,!0);continue}r.wrap(u.filterNode(new e("ul",1)));continue}l.isValidChild(r.parent.name,"div")&&l.isValidChild("div",r.name)?r.wrap(u.filterNode(new e("div",1))):"style"===r.name||"script"===r.name?r.empty().remove():r.unwrap()}}}var u=this,d={},f=[],p={},h={};r=r||{},r.validate="validate"in r?r.validate:!0,r.root_name=r.root_name||"body",u.schema=l=l||new t,u.filterNode=function(e){var t,n,r;n in d&&(r=p[n],r?r.push(e):p[n]=[e]),t=f.length;for(;t--;)n=f[t].name,n in e.attributes.map&&(r=h[n],r?r.push(e):h[n]=[e]);return e},u.addNodeFilter=function(e,t){o(a(e),function(e){var n=d[e];n||(d[e]=n=[]),n.push(t)})},u.addAttributeFilter=function(e,t){o(a(e),function(e){var n;for(n=0;n<f.length;n++)if(f[n].name===e)return void f[n].callbacks.push(t);f.push({name:e,callbacks:[t]})})},u.parse=function(t,o){function a(){function e(e){e&&(t=e.firstChild,t&&3==t.type&&(t.value=t.value.replace(R,"")),t=e.lastChild,t&&3==t.type&&(t.value=t.value.replace(D,"")))}var t=y.firstChild,n,i;if(l.isValidChild(y.name,I.toLowerCase())){for(;t;)n=t.next,3==t.type||1==t.type&&"p"!==t.name&&!T[t.name]&&!t.attr("data-mce-type")?i?i.append(t):(i=u(I,1),i.attr(r.forced_root_block_attrs),y.insert(i,t),i.append(t)):(e(i),i=null),t=n;e(i)}}function u(t,n){var r=new e(t,n),i;return t in d&&(i=p[t],i?i.push(r):p[t]=[r]),r}function m(e){var t,n,r;for(t=e.prev;t&&3===t.type;)n=t.value.replace(D,""),n.length>0?(t.value=n,t=t.prev):(r=t.prev,t.remove(),t=r)}function g(e){var t,n={};for(t in e)"li"!==t&&"p"!=t&&(n[t]=e[t]);return n}var v,y,b,C,x,w,_,E,N,k,S,T,R,A=[],B,D,L,H,M,P,O,I;if(o=o||{},p={},h={},T=s(i("script,style,head,html,body,title,meta,param"),l.getBlockElements()),O=l.getNonEmptyElements(),P=l.children,S=r.validate,I="forced_root_block"in o?o.forced_root_block:r.forced_root_block,M=l.getWhiteSpaceElements(),R=/^[ \t\r\n]+/,D=/[ \t\r\n]+$/,L=/[ \t\r\n]+/g,H=/^[ \t\r\n]+$/,v=new n({validate:S,allow_script_urls:r.allow_script_urls,allow_conditional_comments:r.allow_conditional_comments,self_closing_elements:g(l.getSelfClosingElements()),cdata:function(e){b.append(u("#cdata",4)).value=e},text:function(e,t){var n;B||(e=e.replace(L," "),b.lastChild&&T[b.lastChild.name]&&(e=e.replace(R,""))),0!==e.length&&(n=u("#text",3),n.raw=!!t,b.append(n).value=e)},comment:function(e){b.append(u("#comment",8)).value=e},pi:function(e,t){b.append(u(e,7)).value=t,m(b)},doctype:function(e){var t;t=b.append(u("#doctype",10)),t.value=e,m(b)},start:function(e,t,n){var r,i,o,a,s;if(o=S?l.getElementRule(e):{}){for(r=u(o.outputName||e,1),r.attributes=t,r.shortEnded=n,b.append(r),s=P[b.name],s&&P[r.name]&&!s[r.name]&&A.push(r),i=f.length;i--;)a=f[i].name,a in t.map&&(N=h[a],N?N.push(r):h[a]=[r]);T[e]&&m(r),n||(b=r),!B&&M[e]&&(B=!0)}},end:function(t){var n,r,i,o,a;if(r=S?l.getElementRule(t):{}){if(T[t]&&!B){if(n=b.firstChild,n&&3===n.type)if(i=n.value.replace(R,""),i.length>0)n.value=i,n=n.next;else for(o=n.next,n.remove(),n=o;n&&3===n.type;)i=n.value,o=n.next,(0===i.length||H.test(i))&&(n.remove(),n=o),n=o;if(n=b.lastChild,n&&3===n.type)if(i=n.value.replace(D,""),i.length>0)n.value=i,n=n.prev;else for(o=n.prev,n.remove(),n=o;n&&3===n.type;)i=n.value,o=n.prev,(0===i.length||H.test(i))&&(n.remove(),n=o),n=o}if(B&&M[t]&&(B=!1),(r.removeEmpty||r.paddEmpty)&&b.isEmpty(O))if(r.paddEmpty)b.empty().append(new e("#text","3")).value="\xa0";else if(!b.attributes.map.name&&!b.attributes.map.id)return a=b.parent,b.unwrap(),void(b=a);b=b.parent}}},l),y=b=new e(o.context||r.root_name,11),v.parse(t),S&&A.length&&(o.context?o.invalid=!0:c(A)),I&&("body"==y.name||o.isRootContent)&&a(),!o.invalid){for(k in p){for(N=d[k],C=p[k],_=C.length;_--;)C[_].parent||C.splice(_,1);for(x=0,w=N.length;w>x;x++)N[x](C,k,o)}for(x=0,w=f.length;w>x;x++)if(N=f[x],N.name in h){for(C=h[N.name],_=C.length;_--;)C[_].parent||C.splice(_,1);
+for(_=0,E=N.callbacks.length;E>_;_++)N.callbacks[_](C,N.name,o)}}return y},r.remove_trailing_brs&&u.addNodeFilter("br",function(t){var n,r=t.length,i,o=s({},l.getBlockElements()),a=l.getNonEmptyElements(),c,u,d,f,p,h;for(o.body=1,n=0;r>n;n++)if(i=t[n],c=i.parent,o[i.parent.name]&&i===c.lastChild){for(d=i.prev;d;){if(f=d.name,"span"!==f||"bookmark"!==d.attr("data-mce-type")){if("br"!==f)break;if("br"===f){i=null;break}}d=d.prev}i&&(i.remove(),c.isEmpty(a)&&(p=l.getElementRule(c.name),p&&(p.removeEmpty?c.remove():p.paddEmpty&&(c.empty().append(new e("#text",3)).value="\xa0"))))}else{for(u=i;c&&c.firstChild===u&&c.lastChild===u&&(u=c,!o[c.name]);)c=c.parent;u===c&&(h=new e("#text",3),h.value="\xa0",i.replace(h))}}),r.allow_html_in_named_anchor||u.addAttributeFilter("id,name",function(e){for(var t=e.length,n,r,i,o;t--;)if(o=e[t],"a"===o.name&&o.firstChild&&!o.attr("href")){i=o.parent,n=o.lastChild;do r=n.prev,i.insert(n,o),n=r;while(n)}}),r.validate&&l.getValidClasses()&&u.addAttributeFilter("class",function(e){for(var t=e.length,n,r,i,o,a,s=l.getValidClasses(),c,u;t--;){for(n=e[t],r=n.attr("class").split(" "),a="",i=0;i<r.length;i++)o=r[i],u=!1,c=s["*"],c&&c[o]&&(u=!0),c=s[n.name],u||!c||c[o]||(u=!0),u&&(a&&(a+=" "),a+=o);a.length||(a=null),n.attr("class",a)}})}}),r(S,[g,u],function(e,t){var n=t.makeMap;return function(t){var r=[],i,o,a,s,l;return t=t||{},i=t.indent,o=n(t.indent_before||""),a=n(t.indent_after||""),s=e.getEncodeFunc(t.entity_encoding||"raw",t.entities),l="html"==t.element_format,{start:function(e,t,n){var c,u,d,f;if(i&&o[e]&&r.length>0&&(f=r[r.length-1],f.length>0&&"\n"!==f&&r.push("\n")),r.push("<",e),t)for(c=0,u=t.length;u>c;c++)d=t[c],r.push(" ",d.name,'="',s(d.value,!0),'"');r[r.length]=!n||l?">":" />",n&&i&&a[e]&&r.length>0&&(f=r[r.length-1],f.length>0&&"\n"!==f&&r.push("\n"))},end:function(e){var t;r.push("</",e,">"),i&&a[e]&&r.length>0&&(t=r[r.length-1],t.length>0&&"\n"!==t&&r.push("\n"))},text:function(e,t){e.length>0&&(r[r.length]=t?e:s(e))},cdata:function(e){r.push("<![CDATA[",e,"]]>")},comment:function(e){r.push("<!--",e,"-->")},pi:function(e,t){t?r.push("<?",e," ",t,"?>"):r.push("<?",e,"?>"),i&&r.push("\n")},doctype:function(e){r.push("<!DOCTYPE",e,">",i?"\n":"")},reset:function(){r.length=0},getContent:function(){return r.join("").replace(/\n$/,"")}}}}),r(T,[S,E],function(e,t){return function(n,r){var i=this,o=new e(n);n=n||{},n.validate="validate"in n?n.validate:!0,i.schema=r=r||new t,i.writer=o,i.serialize=function(e){function t(e){var n=i[e.type],s,l,c,u,d,f,p,h,m;if(n)n(e);else{if(s=e.name,l=e.shortEnded,c=e.attributes,a&&c&&c.length>1){for(f=[],f.map={},m=r.getElementRule(e.name),p=0,h=m.attributesOrder.length;h>p;p++)u=m.attributesOrder[p],u in c.map&&(d=c.map[u],f.map[u]=d,f.push({name:u,value:d}));for(p=0,h=c.length;h>p;p++)u=c[p].name,u in f.map||(d=c.map[u],f.map[u]=d,f.push({name:u,value:d}));c=f}if(o.start(e.name,c,l),!l){if(e=e.firstChild)do t(e);while(e=e.next);o.end(s)}}}var i,a;return a=n.validate,i={3:function(e){o.text(e.value,e.raw)},8:function(e){o.comment(e.value)},7:function(e){o.pi(e.name,e.value)},10:function(e){o.doctype(e.value)},4:function(e){o.cdata(e.value)},11:function(e){if(e=e.firstChild)do t(e);while(e=e.next)}},o.reset(),1!=e.type||n.inner?i[11](e):t(e),o.getContent()}}}),r(R,[y,k,g,T,_,E,d,u],function(e,t,n,r,i,o,a,s){var l=s.each,c=s.trim,u=e.DOM;return function(e,i){var s,d,f;return i&&(s=i.dom,d=i.schema),s=s||u,d=d||new o(e),e.entity_encoding=e.entity_encoding||"named",e.remove_trailing_brs="remove_trailing_brs"in e?e.remove_trailing_brs:!0,f=new t(e,d),f.addAttributeFilter("data-mce-tabindex",function(e,t){for(var n=e.length,r;n--;)r=e[n],r.attr("tabindex",r.attributes.map["data-mce-tabindex"]),r.attr(t,null)}),f.addAttributeFilter("src,href,style",function(t,n){for(var r=t.length,i,o,a="data-mce-"+n,l=e.url_converter,c=e.url_converter_scope,u;r--;)i=t[r],o=i.attributes.map[a],o!==u?(i.attr(n,o.length>0?o:null),i.attr(a,null)):(o=i.attributes.map[n],"style"===n?o=s.serializeStyle(s.parseStyle(o),i.name):l&&(o=l.call(c,o,n,i.name)),i.attr(n,o.length>0?o:null))}),f.addAttributeFilter("class",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.attr("class"),r&&(r=n.attr("class").replace(/(?:^|\s)mce-item-\w+(?!\S)/g,""),n.attr("class",r.length>0?r:null))}),f.addAttributeFilter("data-mce-type",function(e,t,n){for(var r=e.length,i;r--;)i=e[r],"bookmark"!==i.attributes.map["data-mce-type"]||n.cleanup||i.remove()}),f.addNodeFilter("noscript",function(e){for(var t=e.length,r;t--;)r=e[t].firstChild,r&&(r.value=n.decode(r.value))}),f.addNodeFilter("script,style",function(e,t){function n(e){return e.replace(/(<!--\[CDATA\[|\]\]-->)/g,"\n").replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*((<!--)?(\s*\/\/)?\s*<!\[CDATA\[|(<!--\s*)?\/\*\s*<!\[CDATA\[\s*\*\/|(\/\/)?\s*<!--|\/\*\s*<!--\s*\*\/)\s*[\r\n]*/gi,"").replace(/\s*(\/\*\s*\]\]>\s*\*\/(-->)?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g,"")}for(var r=e.length,i,o,a;r--;)i=e[r],o=i.firstChild?i.firstChild.value:"","script"===t?(a=i.attr("type"),a&&i.attr("type","mce-no/type"==a?null:a.replace(/^mce\-/,"")),o.length>0&&(i.firstChild.value="// <![CDATA[\n"+n(o)+"\n// ]]>")):o.length>0&&(i.firstChild.value="<!--\n"+n(o)+"\n-->")}),f.addNodeFilter("#comment",function(e){for(var t=e.length,n;t--;)n=e[t],0===n.value.indexOf("[CDATA[")?(n.name="#cdata",n.type=4,n.value=n.value.replace(/^\[CDATA\[|\]\]$/g,"")):0===n.value.indexOf("mce:protected ")&&(n.name="#text",n.type=3,n.raw=!0,n.value=unescape(n.value).substr(14))}),f.addNodeFilter("xml:namespace,input",function(e,t){for(var n=e.length,r;n--;)r=e[n],7===r.type?r.remove():1===r.type&&("input"!==t||"type"in r.attributes.map||r.attr("type","text"))}),e.fix_list_elements&&f.addNodeFilter("ul,ol",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.parent,("ul"===r.name||"ol"===r.name)&&n.prev&&"li"===n.prev.name&&n.prev.append(n)}),f.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style,data-mce-selected,data-mce-expando,data-mce-type,data-mce-resize",function(e,t){for(var n=e.length;n--;)e[n].attr(t,null)}),{schema:d,addNodeFilter:f.addNodeFilter,addAttributeFilter:f.addAttributeFilter,serialize:function(t,n){var i=this,o,u,p,h,m;return a.ie&&s.select("script,style,select,map").length>0?(m=t.innerHTML,t=t.cloneNode(!1),s.setHTML(t,m)):t=t.cloneNode(!0),o=t.ownerDocument.implementation,o.createHTMLDocument&&(u=o.createHTMLDocument(""),l("BODY"==t.nodeName?t.childNodes:[t],function(e){u.body.appendChild(u.importNode(e,!0))}),t="BODY"!=t.nodeName?u.body.firstChild:u.body,p=s.doc,s.doc=u),n=n||{},n.format=n.format||"html",n.selection&&(n.forced_root_block=""),n.no_events||(n.node=t,i.onPreProcess(n)),h=new r(e,d),n.content=h.serialize(f.parse(c(n.getInner?t.innerHTML:s.getOuterHTML(t)),n)),n.cleanup||(n.content=n.content.replace(/\uFEFF/g,"")),n.no_events||i.onPostProcess(n),p&&(s.doc=p),n.node=null,n.content},addRules:function(e){d.addValidElements(e)},setRules:function(e){d.setValidElements(e)},onPreProcess:function(e){i&&i.fire("PreProcess",e)},onPostProcess:function(e){i&&i.fire("PostProcess",e)}}}}),r(A,[],function(){function e(e){function t(t,n){var r,i=0,o,a,s,l,c,u,d=-1,f;if(r=t.duplicate(),r.collapse(n),f=r.parentElement(),f.ownerDocument===e.dom.doc){for(;"false"===f.contentEditable;)f=f.parentNode;if(!f.hasChildNodes())return{node:f,inside:1};for(s=f.children,o=s.length-1;o>=i;)if(u=Math.floor((i+o)/2),l=s[u],r.moveToElementText(l),d=r.compareEndPoints(n?"StartToStart":"EndToEnd",t),d>0)o=u-1;else{if(!(0>d))return{node:l};i=u+1}if(0>d)for(l?r.collapse(!1):(r.moveToElementText(f),r.collapse(!0),l=f,a=!0),c=0;0!==r.compareEndPoints(n?"StartToStart":"StartToEnd",t)&&0!==r.move("character",1)&&f==r.parentElement();)c++;else for(r.collapse(!0),c=0;0!==r.compareEndPoints(n?"StartToStart":"StartToEnd",t)&&0!==r.move("character",-1)&&f==r.parentElement();)c++;return{node:l,position:d,offset:c,inside:a}}}function n(){function n(e){var n=t(o,e),r,i,s=0,l,c,u;if(r=n.node,i=n.offset,n.inside&&!r.hasChildNodes())return void a[e?"setStart":"setEnd"](r,0);if(i===c)return void a[e?"setStartBefore":"setEndAfter"](r);if(n.position<0){if(l=n.inside?r.firstChild:r.nextSibling,!l)return void a[e?"setStartAfter":"setEndAfter"](r);if(!i)return void(3==l.nodeType?a[e?"setStart":"setEnd"](l,0):a[e?"setStartBefore":"setEndBefore"](l));for(;l;){if(3==l.nodeType&&(u=l.nodeValue,s+=u.length,s>=i)){r=l,s-=i,s=u.length-s;break}l=l.nextSibling}}else{if(l=r.previousSibling,!l)return a[e?"setStartBefore":"setEndBefore"](r);if(!i)return void(3==r.nodeType?a[e?"setStart":"setEnd"](l,r.nodeValue.length):a[e?"setStartAfter":"setEndAfter"](l));for(;l;){if(3==l.nodeType&&(s+=l.nodeValue.length,s>=i)){r=l,s-=i;break}l=l.previousSibling}}a[e?"setStart":"setEnd"](r,s)}var o=e.getRng(),a=i.createRng(),s,l,c,u,d;if(s=o.item?o.item(0):o.parentElement(),s.ownerDocument!=i.doc)return a;if(l=e.isCollapsed(),o.item)return a.setStart(s.parentNode,i.nodeIndex(s)),a.setEnd(a.startContainer,a.startOffset+1),a;try{n(!0),l||n()}catch(f){if(-2147024809!=f.number)throw f;d=r.getBookmark(2),c=o.duplicate(),c.collapse(!0),s=c.parentElement(),l||(c=o.duplicate(),c.collapse(!1),u=c.parentElement(),u.innerHTML=u.innerHTML),s.innerHTML=s.innerHTML,r.moveToBookmark(d),o=e.getRng(),n(!0),l||n()}return a}var r=this,i=e.dom,o=!1;this.getBookmark=function(n){function r(e){var t,n,r,o,a=[];for(t=e.parentNode,n=i.getRoot().parentNode;t!=n&&9!==t.nodeType;){for(r=t.children,o=r.length;o--;)if(e===r[o]){a.push(o);break}e=t,t=t.parentNode}return a}function o(e){var n;return n=t(a,e),n?{position:n.position,offset:n.offset,indexes:r(n.node),inside:n.inside}:void 0}var a=e.getRng(),s={};return 2===n&&(a.item?s.start={ctrl:!0,indexes:r(a.item(0))}:(s.start=o(!0),e.isCollapsed()||(s.end=o()))),s},this.moveToBookmark=function(e){function t(e){var t,n,r,o;for(t=i.getRoot(),n=e.length-1;n>=0;n--)o=t.children,r=e[n],r<=o.length-1&&(t=o[r]);return t}function n(n){var i=e[n?"start":"end"],a,s,l,c;i&&(a=i.position>0,s=o.createTextRange(),s.moveToElementText(t(i.indexes)),c=i.offset,c!==l?(s.collapse(i.inside||a),s.moveStart("character",a?-c:c)):s.collapse(n),r.setEndPoint(n?"StartToStart":"EndToStart",s),n&&r.collapse(!0))}var r,o=i.doc.body;e.start&&(e.start.ctrl?(r=o.createControlRange(),r.addElement(t(e.start.indexes)),r.select()):(r=o.createTextRange(),n(!0),n(),r.select()))},this.addRange=function(t){function n(e){var t,n,a,d,h;a=i.create("a"),t=e?s:c,n=e?l:u,d=r.duplicate(),(t==f||t==f.documentElement)&&(t=p,n=0),3==t.nodeType?(t.parentNode.insertBefore(a,t),d.moveToElementText(a),d.moveStart("character",n),i.remove(a),r.setEndPoint(e?"StartToStart":"EndToEnd",d)):(h=t.childNodes,h.length?(n>=h.length?i.insertAfter(a,h[h.length-1]):t.insertBefore(a,h[n]),d.moveToElementText(a)):t.canHaveHTML&&(t.innerHTML="<span>&#xFEFF;</span>",a=t.firstChild,d.moveToElementText(a),d.collapse(o)),r.setEndPoint(e?"StartToStart":"EndToEnd",d),i.remove(a))}var r,a,s,l,c,u,d,f=e.dom.doc,p=f.body,h,m;if(s=t.startContainer,l=t.startOffset,c=t.endContainer,u=t.endOffset,r=p.createTextRange(),s==c&&1==s.nodeType){if(l==u&&!s.hasChildNodes()){if(s.canHaveHTML)return d=s.previousSibling,d&&!d.hasChildNodes()&&i.isBlock(d)?d.innerHTML="&#xFEFF;":d=null,s.innerHTML="<span>&#xFEFF;</span><span>&#xFEFF;</span>",r.moveToElementText(s.lastChild),r.select(),i.doc.selection.clear(),s.innerHTML="",void(d&&(d.innerHTML=""));l=i.nodeIndex(s),s=s.parentNode}if(l==u-1)try{if(m=s.childNodes[l],a=p.createControlRange(),a.addElement(m),a.select(),h=e.getRng(),h.item&&m===h.item(0))return}catch(g){}}n(!0),n(),r.select()},this.getRangeAt=n}return e}),r(B,[d],function(e){return{BACKSPACE:8,DELETE:46,DOWN:40,ENTER:13,LEFT:37,RIGHT:39,SPACEBAR:32,TAB:9,UP:38,modifierPressed:function(e){return e.shiftKey||e.ctrlKey||e.altKey},metaKeyPressed:function(t){return e.mac?t.metaKey:t.ctrlKey&&!t.altKey}}}),r(D,[B,u,d],function(e,t,n){return function(r,i){function o(e){var t=i.settings.object_resizing;return t===!1||n.iOS?!1:("string"!=typeof t&&(t="table,img,div"),"false"===e.getAttribute("data-mce-resize")?!1:i.dom.is(e,t))}function a(t){var n,r,o,a,s;n=t.screenX-T,r=t.screenY-R,P=n*k[2]+D,O=r*k[3]+L,P=5>P?5:P,O=5>O?5:O,o="IMG"==w.nodeName&&i.settings.resize_img_proportional!==!1?!e.modifierPressed(t):e.modifierPressed(t)||"IMG"==w.nodeName&&k[2]*k[3]!==0,o&&(W(n)>W(r)?(O=V(P*H),P=V(O/H)):(P=V(O/H),O=V(P*H))),C.setStyles(_,{width:P,height:O}),a=k.startPos.x+n,s=k.startPos.y+r,a=a>0?a:0,s=s>0?s:0,C.setStyles(E,{left:a,top:s,display:"block"}),E.innerHTML=P+" &times; "+O,k[2]<0&&_.clientWidth<=P&&C.setStyle(_,"left",A+(D-P)),k[3]<0&&_.clientHeight<=O&&C.setStyle(_,"top",B+(L-O)),n=U.scrollWidth-$,r=U.scrollHeight-q,n+r!==0&&C.setStyles(E,{left:a-n,top:s-r}),M||(i.fire("ObjectResizeStart",{target:w,width:D,height:L}),M=!0)}function s(){function e(e,t){t&&(w.style[e]||!i.schema.isValid(w.nodeName.toLowerCase(),e)?C.setStyle(w,e,t):C.setAttrib(w,e,t))}M=!1,e("width",P),e("height",O),C.unbind(I,"mousemove",a),C.unbind(I,"mouseup",s),F!=I&&(C.unbind(F,"mousemove",a),C.unbind(F,"mouseup",s)),C.remove(_),C.remove(E),z&&"TABLE"!=w.nodeName||l(w),i.fire("ObjectResized",{target:w,width:P,height:O}),C.setAttrib(w,"style",C.getAttrib(w,"style")),i.nodeChanged()}function l(e,t,r){var l,u,d,f,p;g(),l=C.getPos(e,U),A=l.x,B=l.y,p=e.getBoundingClientRect(),u=p.width||p.right-p.left,d=p.height||p.bottom-p.top,w!=e&&(m(),w=e,P=O=0),f=i.fire("ObjectSelected",{target:e}),o(e)&&!f.isDefaultPrevented()?x(N,function(e,i){function o(t){T=t.screenX,R=t.screenY,D=w.clientWidth,L=w.clientHeight,H=L/D,k=e,e.startPos={x:u*e[0]+A,y:d*e[1]+B},$=U.scrollWidth,q=U.scrollHeight,_=w.cloneNode(!0),C.addClass(_,"mce-clonedresizable"),C.setAttrib(_,"data-mce-bogus","all"),_.contentEditable=!1,_.unSelectabe=!0,C.setStyles(_,{left:A,top:B,margin:0}),_.removeAttribute("data-mce-selected"),U.appendChild(_),C.bind(I,"mousemove",a),C.bind(I,"mouseup",s),F!=I&&(C.bind(F,"mousemove",a),C.bind(F,"mouseup",s)),E=C.add(U,"div",{"class":"mce-resize-helper","data-mce-bogus":"all"},D+" &times; "+L)}var l,c;return t?void(i==t&&o(r)):(l=C.get("mceResizeHandle"+i),l?C.show(l):(c=U,l=C.add(c,"div",{id:"mceResizeHandle"+i,"data-mce-bogus":"all","class":"mce-resizehandle",unselectable:!0,style:"cursor:"+i+"-resize; margin:0; padding:0"}),n.ie&&(l.contentEditable=!1)),e.elm||(C.bind(l,"mousedown",function(e){e.stopImmediatePropagation(),e.preventDefault(),o(e)}),e.elm=l),void C.setStyles(l,{left:u*e[0]+A-l.offsetWidth/2,top:d*e[1]+B-l.offsetHeight/2}))}):c(),w.setAttribute("data-mce-selected","1")}function c(){var e,t;g(),w&&w.removeAttribute("data-mce-selected");for(e in N)t=C.get("mceResizeHandle"+e),t&&(C.unbind(t),C.remove(t))}function u(e){function t(e,t){if(e)do if(e===t)return!0;while(e=e.parentNode)}var n,i;if(!M)return x(C.select("img[data-mce-selected],hr[data-mce-selected]"),function(e){e.removeAttribute("data-mce-selected")}),i="mousedown"==e.type?e.target:r.getNode(),i=C.$(i).closest(z?"table":"table,img,hr")[0],t(i,U)&&(v(),n=r.getStart(!0),t(n,i)&&t(r.getEnd(!0),i)&&(!z||i!=n&&"IMG"!==n.nodeName))?void l(i):void c()}function d(e,t,n){e&&e.attachEvent&&e.attachEvent("on"+t,n)}function f(e,t,n){e&&e.detachEvent&&e.detachEvent("on"+t,n)}function p(e){var t=e.srcElement,n,r,o,a,s,c,u;n=t.getBoundingClientRect(),c=S.clientX-n.left,u=S.clientY-n.top;for(r in N)if(o=N[r],a=t.offsetWidth*o[0],s=t.offsetHeight*o[1],W(a-c)<8&&W(s-u)<8){k=o;break}M=!0,i.fire("ObjectResizeStart",{target:w,width:w.clientWidth,height:w.clientHeight}),i.getDoc().selection.empty(),l(t,r,S)}function h(e){var t=e.srcElement;if(t!=w){if(i.fire("ObjectSelected",{target:t}),m(),0===t.id.indexOf("mceResizeHandle"))return void(e.returnValue=!1);("IMG"==t.nodeName||"TABLE"==t.nodeName)&&(c(),w=t,d(t,"resizestart",p))}}function m(){f(w,"resizestart",p)}function g(){for(var e in N){var t=N[e];t.elm&&(C.unbind(t.elm),delete t.elm)}}function v(){try{i.getDoc().execCommand("enableObjectResizing",!1,!1)}catch(e){}}function y(e){var t;if(z){t=I.body.createControlRange();try{return t.addElement(e),t.select(),!0}catch(n){}}}function b(){w=_=null,z&&(m(),f(U,"controlselect",h))}var C=i.dom,x=t.each,w,_,E,N,k,S,T,R,A,B,D,L,H,M,P,O,I=i.getDoc(),F=document,z=n.ie&&n.ie<11,W=Math.abs,V=Math.round,U=i.getBody(),$,q;N={n:[.5,0,0,-1],e:[1,.5,1,0],s:[.5,1,0,1],w:[0,.5,-1,0],nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]};var j=".mce-content-body";return i.contentStyles.push(j+" div.mce-resizehandle {position: absolute;border: 1px solid black;background: #FFF;width: 5px;height: 5px;z-index: 10000}"+j+" .mce-resizehandle:hover {background: #000}"+j+" img[data-mce-selected], hr[data-mce-selected] {outline: 1px solid black;resize: none}"+j+" .mce-clonedresizable {position: absolute;"+(n.gecko?"":"outline: 1px dashed black;")+"opacity: .5;filter: alpha(opacity=50);z-index: 10000}"+j+" .mce-resize-helper {background: #555;background: rgba(0,0,0,0.75);border-radius: 3px;border: 1px;color: white;display: none;font-family: sans-serif;font-size: 12px;white-space: nowrap;line-height: 14px;margin: 5px 10px;padding: 5px;position: absolute;z-index: 10001}"),i.on("init",function(){z?(i.on("ObjectResized",function(e){"TABLE"!=e.target.nodeName&&(c(),y(e.target))}),d(U,"controlselect",h),i.on("mousedown",function(e){S=e})):(v(),n.ie>=11&&(i.on("mouseup",function(e){var t=e.target.nodeName;!M&&/^(TABLE|IMG|HR)$/.test(t)&&(i.selection.select(e.target,"TABLE"==t),i.nodeChanged())}),i.dom.bind(U,"mscontrolselect",function(e){/^(TABLE|IMG|HR)$/.test(e.target.nodeName)&&(e.preventDefault(),"IMG"==e.target.tagName&&window.setTimeout(function(){i.selection.select(e.target)},0))}))),i.on("nodechange ResizeEditor",u),i.on("keydown keyup",function(e){w&&"TABLE"==w.nodeName&&u(e)}),i.on("hide",c)}),i.on("remove",g),{isResizable:o,showResizeRect:l,hideResizeRect:c,updateResizeRect:u,controlSelect:y,destroy:b}}}),r(L,[d,u],function(e,t){function n(n){var r=n.dom;this.getBookmark=function(e,i){function o(e,n){var i=0;return t.each(r.select(e),function(e,t){e==n&&(i=t)}),i}function a(e){function t(t){var n,r,i,o=t?"start":"end";n=e[o+"Container"],r=e[o+"Offset"],1==n.nodeType&&"TR"==n.nodeName&&(i=n.childNodes,n=i[Math.min(t?r:r-1,i.length-1)],n&&(r=t?0:n.childNodes.length,e["set"+(t?"Start":"End")](n,r)))}return t(!0),t(),e}function s(){function e(e,t){var n=e[t?"startContainer":"endContainer"],a=e[t?"startOffset":"endOffset"],s=[],l,c,u=0;if(3==n.nodeType){if(i)for(l=n.previousSibling;l&&3==l.nodeType;l=l.previousSibling)a+=l.nodeValue.length;s.push(a)}else c=n.childNodes,a>=c.length&&c.length&&(u=1,a=Math.max(0,c.length-1)),s.push(r.nodeIndex(c[a],i)+u);for(;n&&n!=o;n=n.parentNode)s.push(r.nodeIndex(n,i));return s}var t=n.getRng(!0),o=r.getRoot(),a={};return a.start=e(t,!0),n.isCollapsed()||(a.end=e(t)),a}var l,c,u,d,f,p,h="&#xFEFF;",m;if(2==e)return p=n.getNode(),f=p?p.nodeName:null,"IMG"==f?{name:f,index:o(f,p)}:n.tridentSel?n.tridentSel.getBookmark(e):s();if(e)return{rng:n.getRng()};if(l=n.getRng(),u=r.uniqueId(),d=n.isCollapsed(),m="overflow:hidden;line-height:0px",l.duplicate||l.item){if(l.item)return p=l.item(0),f=p.nodeName,{name:f,index:o(f,p)};c=l.duplicate();try{l.collapse(),l.pasteHTML('<span data-mce-type="bookmark" id="'+u+'_start" style="'+m+'">'+h+"</span>"),d||(c.collapse(!1),l.moveToElementText(c.parentElement()),0===l.compareEndPoints("StartToEnd",c)&&c.move("character",-1),c.pasteHTML('<span data-mce-type="bookmark" id="'+u+'_end" style="'+m+'">'+h+"</span>"))}catch(g){return null}}else{if(p=n.getNode(),f=p.nodeName,"IMG"==f)return{name:f,index:o(f,p)};c=a(l.cloneRange()),d||(c.collapse(!1),c.insertNode(r.create("span",{"data-mce-type":"bookmark",id:u+"_end",style:m},h))),l=a(l),l.collapse(!0),l.insertNode(r.create("span",{"data-mce-type":"bookmark",id:u+"_start",style:m},h))}return n.moveToBookmark({id:u,keep:1}),{id:u}},this.moveToBookmark=function(i){function o(e){var t=i[e?"start":"end"],n,r,o,a;if(t){for(o=t[0],r=c,n=t.length-1;n>=1;n--){if(a=r.childNodes,t[n]>a.length-1)return;r=a[t[n]]}3===r.nodeType&&(o=Math.min(t[0],r.nodeValue.length)),1===r.nodeType&&(o=Math.min(t[0],r.childNodes.length)),e?l.setStart(r,o):l.setEnd(r,o)}return!0}function a(n){var o=r.get(i.id+"_"+n),a,s,l,c,h=i.keep;if(o&&(a=o.parentNode,"start"==n?(h?(a=o.firstChild,s=1):s=r.nodeIndex(o),u=d=a,f=p=s):(h?(a=o.firstChild,s=1):s=r.nodeIndex(o),d=a,p=s),!h)){for(c=o.previousSibling,l=o.nextSibling,t.each(t.grep(o.childNodes),function(e){3==e.nodeType&&(e.nodeValue=e.nodeValue.replace(/\uFEFF/g,""))});o=r.get(i.id+"_"+n);)r.remove(o,1);c&&l&&c.nodeType==l.nodeType&&3==c.nodeType&&!e.opera&&(s=c.nodeValue.length,c.appendData(l.nodeValue),r.remove(l),"start"==n?(u=d=c,f=p=s):(d=c,p=s))}}function s(t){return!r.isBlock(t)||t.innerHTML||e.ie||(t.innerHTML='<br data-mce-bogus="1" />'),t}var l,c,u,d,f,p;if(i)if(i.start){if(l=r.createRng(),c=r.getRoot(),n.tridentSel)return n.tridentSel.moveToBookmark(i);o(!0)&&o()&&n.setRng(l)}else i.id?(a("start"),a("end"),u&&(l=r.createRng(),l.setStart(s(u),f),l.setEnd(s(d),p),n.setRng(l))):i.name?n.select(r.select(i.name)[i.index]):i.rng&&n.setRng(i.rng)}}return n.isBookmarkNode=function(e){return e&&"SPAN"===e.tagName&&"bookmark"===e.getAttribute("data-mce-type")},n}),r(H,[h,A,D,x,L,d,u],function(e,n,r,i,o,a,s){function l(e,t,i,a){var s=this;s.dom=e,s.win=t,s.serializer=i,s.editor=a,s.bookmarkManager=new o(s),s.controlSelection=new r(s,a),s.win.getSelection||(s.tridentSel=new n(s))}var c=s.each,u=s.trim,d=a.ie;return l.prototype={setCursorLocation:function(e,t){var n=this,r=n.dom.createRng();e?(r.setStart(e,t),r.setEnd(e,t),n.setRng(r),n.collapse(!1)):(n._moveEndPoint(r,n.editor.getBody(),!0),n.setRng(r))},getContent:function(e){var n=this,r=n.getRng(),i=n.dom.create("body"),o=n.getSel(),a,s,l;return e=e||{},a=s="",e.get=!0,e.format=e.format||"html",e.selection=!0,n.editor.fire("BeforeGetContent",e),"text"==e.format?n.isCollapsed()?"":r.text||(o.toString?o.toString():""):(r.cloneContents?(l=r.cloneContents(),l&&i.appendChild(l)):r.item!==t||r.htmlText!==t?(i.innerHTML="<br>"+(r.item?r.item(0).outerHTML:r.htmlText),i.removeChild(i.firstChild)):i.innerHTML=r.toString(),/^\s/.test(i.innerHTML)&&(a=" "),/\s+$/.test(i.innerHTML)&&(s=" "),e.getInner=!0,e.content=n.isCollapsed()?"":a+n.serializer.serialize(i,e)+s,n.editor.fire("GetContent",e),e.content)},setContent:function(e,t){var n=this,r=n.getRng(),i,o=n.win.document,a,s;if(t=t||{format:"html"},t.set=!0,t.selection=!0,e=t.content=e,t.no_events||n.editor.fire("BeforeSetContent",t),e=t.content,r.insertNode){e+='<span id="__caret">_</span>',r.startContainer==o&&r.endContainer==o?o.body.innerHTML=e:(r.deleteContents(),0===o.body.childNodes.length?o.body.innerHTML=e:r.createContextualFragment?r.insertNode(r.createContextualFragment(e)):(a=o.createDocumentFragment(),s=o.createElement("div"),a.appendChild(s),s.outerHTML=e,r.insertNode(a))),i=n.dom.get("__caret"),r=o.createRange(),r.setStartBefore(i),r.setEndBefore(i),n.setRng(r),n.dom.remove("__caret");try{n.setRng(r)}catch(l){}}else r.item&&(o.execCommand("Delete",!1,null),r=n.getRng()),/^\s+/.test(e)?(r.pasteHTML('<span id="__mce_tmp">_</span>'+e),n.dom.remove("__mce_tmp")):r.pasteHTML(e);t.no_events||n.editor.fire("SetContent",t)},getStart:function(e){var t=this,n=t.getRng(),r,i,o,a;if(n.duplicate||n.item){if(n.item)return n.item(0);for(o=n.duplicate(),o.collapse(1),r=o.parentElement(),r.ownerDocument!==t.dom.doc&&(r=t.dom.getRoot()),i=a=n.parentElement();a=a.parentNode;)if(a==r){r=i;break}return r}return r=n.startContainer,1==r.nodeType&&r.hasChildNodes()&&(e&&n.collapsed||(r=r.childNodes[Math.min(r.childNodes.length-1,n.startOffset)])),r&&3==r.nodeType?r.parentNode:r},getEnd:function(e){var t=this,n=t.getRng(),r,i;return n.duplicate||n.item?n.item?n.item(0):(n=n.duplicate(),n.collapse(0),r=n.parentElement(),r.ownerDocument!==t.dom.doc&&(r=t.dom.getRoot()),r&&"BODY"==r.nodeName?r.lastChild||r:r):(r=n.endContainer,i=n.endOffset,1==r.nodeType&&r.hasChildNodes()&&(e&&n.collapsed||(r=r.childNodes[i>0?i-1:i])),r&&3==r.nodeType?r.parentNode:r)},getBookmark:function(e,t){return this.bookmarkManager.getBookmark(e,t)},moveToBookmark:function(e){return this.bookmarkManager.moveToBookmark(e)},select:function(e,t){var n=this,r=n.dom,i=r.createRng(),o;if(n.lastFocusBookmark=null,e){if(!t&&n.controlSelection.controlSelect(e))return;o=r.nodeIndex(e),i.setStart(e.parentNode,o),i.setEnd(e.parentNode,o+1),t&&(n._moveEndPoint(i,e,!0),n._moveEndPoint(i,e)),n.setRng(i)}return e},isCollapsed:function(){var e=this,t=e.getRng(),n=e.getSel();return!t||t.item?!1:t.compareEndPoints?0===t.compareEndPoints("StartToEnd",t):!n||t.collapsed},collapse:function(e){var t=this,n=t.getRng(),r;n.item&&(r=n.item(0),n=t.win.document.body.createTextRange(),n.moveToElementText(r)),n.collapse(!!e),t.setRng(n)},getSel:function(){var e=this.win;return e.getSelection?e.getSelection():e.document.selection},getRng:function(e){function t(e,t,n){try{return t.compareBoundaryPoints(e,n)}catch(r){return-1}}var n=this,r,i,o,a=n.win.document,s;if(!e&&n.lastFocusBookmark){var l=n.lastFocusBookmark;return l.startContainer?(i=a.createRange(),i.setStart(l.startContainer,l.startOffset),i.setEnd(l.endContainer,l.endOffset)):i=l,i}if(e&&n.tridentSel)return n.tridentSel.getRangeAt(0);try{(r=n.getSel())&&(i=r.rangeCount>0?r.getRangeAt(0):r.createRange?r.createRange():a.createRange())}catch(c){}if(d&&i&&i.setStart&&a.selection){try{s=a.selection.createRange()}catch(c){}s&&s.item&&(o=s.item(0),i=a.createRange(),i.setStartBefore(o),i.setEndAfter(o))}return i||(i=a.createRange?a.createRange():a.body.createTextRange()),i.setStart&&9===i.startContainer.nodeType&&i.collapsed&&(o=n.dom.getRoot(),i.setStart(o,0),i.setEnd(o,0)),n.selectedRange&&n.explicitRange&&(0===t(i.START_TO_START,i,n.selectedRange)&&0===t(i.END_TO_END,i,n.selectedRange)?i=n.explicitRange:(n.selectedRange=null,n.explicitRange=null)),i},setRng:function(e,t){var n=this,r;if(e.select)try{e.select()}catch(i){}else if(n.tridentSel){if(e.cloneRange)try{return void n.tridentSel.addRange(e)}catch(i){}}else if(r=n.getSel()){n.explicitRange=e;try{r.removeAllRanges(),r.addRange(e)}catch(i){}t===!1&&r.extend&&(r.collapse(e.endContainer,e.endOffset),r.extend(e.startContainer,e.startOffset)),n.selectedRange=r.rangeCount>0?r.getRangeAt(0):null}},setNode:function(e){var t=this;return t.setContent(t.dom.getOuterHTML(e)),e},getNode:function(){function e(e,t){for(var n=e;e&&3===e.nodeType&&0===e.length;)e=t?e.nextSibling:e.previousSibling;return e||n}var t=this,n=t.getRng(),r,i=n.startContainer,o=n.endContainer,a=n.startOffset,s=n.endOffset,l=t.dom.getRoot();return n?n.setStart?(r=n.commonAncestorContainer,!n.collapsed&&(i==o&&2>s-a&&i.hasChildNodes()&&(r=i.childNodes[a]),3===i.nodeType&&3===o.nodeType&&(i=i.length===a?e(i.nextSibling,!0):i.parentNode,o=0===s?e(o.previousSibling,!1):o.parentNode,i&&i===o))?i:r&&3==r.nodeType?r.parentNode:r):(r=n.item?n.item(0):n.parentElement(),r.ownerDocument!==t.win.document&&(r=l),r):l},getSelectedBlocks:function(t,n){var r=this,i=r.dom,o,a,s=[];if(a=i.getRoot(),t=i.getParent(t||r.getStart(),i.isBlock),n=i.getParent(n||r.getEnd(),i.isBlock),t&&t!=a&&s.push(t),t&&n&&t!=n){o=t;for(var l=new e(t,a);(o=l.next())&&o!=n;)i.isBlock(o)&&s.push(o)}return n&&t!=n&&n!=a&&s.push(n),s},isForward:function(){var e=this.dom,t=this.getSel(),n,r;return t&&t.anchorNode&&t.focusNode?(n=e.createRng(),n.setStart(t.anchorNode,t.anchorOffset),n.collapse(!0),r=e.createRng(),r.setStart(t.focusNode,t.focusOffset),r.collapse(!0),n.compareBoundaryPoints(n.START_TO_START,r)<=0):!0},normalize:function(){var e=this,t=e.getRng();return!d&&new i(e.dom).normalize(t)&&e.setRng(t,e.isForward()),t},selectorChanged:function(e,t){var n=this,r;return n.selectorChangedData||(n.selectorChangedData={},r={},n.editor.on("NodeChange",function(e){var t=e.element,i=n.dom,o=i.getParents(t,null,i.getRoot()),a={};c(n.selectorChangedData,function(e,t){c(o,function(n){return i.is(n,t)?(r[t]||(c(e,function(e){e(!0,{node:n,selector:t,parents:o})}),r[t]=e),a[t]=e,!1):void 0})}),c(r,function(e,n){a[n]||(delete r[n],c(e,function(e){e(!1,{node:t,selector:n,parents:o})}))})})),n.selectorChangedData[e]||(n.selectorChangedData[e]=[]),n.selectorChangedData[e].push(t),n},getScrollContainer:function(){for(var e,t=this.dom.getRoot();t&&"BODY"!=t.nodeName;){if(t.scrollHeight>t.clientHeight){e=t;break}t=t.parentNode}return e},scrollIntoView:function(e){function t(e){for(var t=0,n=0,r=e;r&&r.nodeType;)t+=r.offsetLeft||0,n+=r.offsetTop||0,r=r.offsetParent;return{x:t,y:n}}var n,r,i=this,o=i.dom,a=o.getRoot(),s,l;if("BODY"!=a.nodeName){var c=i.getScrollContainer();if(c)return n=t(e).y-t(c).y,l=c.clientHeight,s=c.scrollTop,void((s>n||n+25>s+l)&&(c.scrollTop=s>n?n:n-l+25))}r=o.getViewPort(i.editor.getWin()),n=o.getPos(e).y,s=r.y,l=r.h,(n<r.y||n+25>s+l)&&i.editor.getWin().scrollTo(0,s>n?n:n-l+25)},placeCaretAt:function(e,t){var n=this.editor.getDoc(),r,i;if(n.caretPositionFromPoint)i=n.caretPositionFromPoint(e,t),r=n.createRange(),r.setStart(i.offsetNode,i.offset),r.collapse(!0);else if(n.caretRangeFromPoint)r=n.caretRangeFromPoint(e,t);else if(n.body.createTextRange){r=n.body.createTextRange();try{r.moveToPoint(e,t),r.collapse(!0)}catch(o){r.collapse(t<n.body.clientHeight)}}this.setRng(r)},_moveEndPoint:function(t,n,r){var i=n,o=new e(n,i),s=this.dom.schema.getNonEmptyElements();do{if(3==n.nodeType&&0!==u(n.nodeValue).length)return void(r?t.setStart(n,0):t.setEnd(n,n.nodeValue.length));if(s[n.nodeName]&&!/^(TD|TH)$/.test(n.nodeName))return void(r?t.setStartBefore(n):"BR"==n.nodeName?t.setEndBefore(n):t.setEndAfter(n));if(a.ie&&a.ie<11&&this.dom.isBlock(n)&&this.dom.isEmpty(n))return void(r?t.setStart(n,0):t.setEnd(n,0))}while(n=r?o.next():o.prev());"BODY"==i.nodeName&&(r?t.setStart(i,0):t.setEnd(i,i.childNodes.length))},destroy:function(){this.win=null,this.controlSelection.destroy()}},l}),r(M,[L,u],function(e,t){function n(t){this.compare=function(n,i){function o(e){var n={};return r(t.getAttribs(e),function(r){var i=r.nodeName.toLowerCase();0!==i.indexOf("_")&&"style"!==i&&"data-mce-style"!==i&&(n[i]=t.getAttrib(e,i))}),n}function a(e,t){var n,r;for(r in e)if(e.hasOwnProperty(r)){if(n=t[r],"undefined"==typeof n)return!1;if(e[r]!=n)return!1;delete t[r]}for(r in t)if(t.hasOwnProperty(r))return!1;return!0}return n.nodeName!=i.nodeName?!1:a(o(n),o(i))&&a(t.parseStyle(t.getAttrib(n,"style")),t.parseStyle(t.getAttrib(i,"style")))?!e.isBookmarkNode(n)&&!e.isBookmarkNode(i):!1}}var r=t.each;return n}),r(P,[u],function(e){function t(e,t){function r(e){return e.replace(/%(\w+)/g,"")}var i,o,a=e.dom,s="",l,c;if(c=e.settings.preview_styles,c===!1)return"";if(c||(c="font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow"),"string"==typeof t){if(t=e.formatter.get(t),!t)return;t=t[0]}return i=t.block||t.inline||"span",o=a.create(i),n(t.styles,function(e,t){e=r(e),e&&a.setStyle(o,t,e)}),n(t.attributes,function(e,t){e=r(e),e&&a.setAttrib(o,t,e)}),n(t.classes,function(e){e=r(e),a.hasClass(o,e)||a.addClass(o,e)}),e.fire("PreviewFormats"),a.setStyles(o,{position:"absolute",left:-65535}),e.getBody().appendChild(o),l=a.getStyle(e.getBody(),"fontSize",!0),l=/px$/.test(l)?parseInt(l,10):0,n(c.split(" "),function(t){var n=a.getStyle(o,t,!0);if(!("background-color"==t&&/transparent|rgba\s*\([^)]+,\s*0\)/.test(n)&&(n=a.getStyle(e.getBody(),t,!0),"#ffffff"==a.toHex(n).toLowerCase())||"color"==t&&"#000000"==a.toHex(n).toLowerCase())){if("font-size"==t&&/em|%$/.test(n)){if(0===l)return;n=parseFloat(n,10)/(/%$/.test(n)?100:1),n=n*l+"px"}"border"==t&&n&&(s+="padding:0 2px;"),s+=t+":"+n+";"}}),e.fire("AfterPreviewFormats"),a.remove(o),s}var n=e.each;return{getCssText:t}}),r(O,[h,x,L,M,u,P],function(e,t,n,r,i,o){return function(a){function s(e){return e.nodeType&&(e=e.nodeName),!!a.schema.getTextBlockElements()[e.toLowerCase()]}function l(e,t){return V.getParents(e,t,V.getRoot())}function c(e){return 1===e.nodeType&&"_mce_caret"===e.id}function u(){p({valigntop:[{selector:"td,th",styles:{verticalAlign:"top"}}],valignmiddle:[{selector:"td,th",styles:{verticalAlign:"middle"}}],valignbottom:[{selector:"td,th",styles:{verticalAlign:"bottom"}}],alignleft:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"left"},defaultBlock:"div"},{selector:"img,table",collapsed:!1,styles:{"float":"left"}}],aligncenter:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"center"},defaultBlock:"div"},{selector:"img",collapsed:!1,styles:{display:"block",marginLeft:"auto",marginRight:"auto"}},{selector:"table",collapsed:!1,styles:{marginLeft:"auto",marginRight:"auto"}}],alignright:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"right"},defaultBlock:"div"},{selector:"img,table",collapsed:!1,styles:{"float":"right"}}],alignjustify:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"justify"},defaultBlock:"div"}],bold:[{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}},{inline:"b",remove:"all"}],italic:[{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}},{inline:"i",remove:"all"}],underline:[{inline:"span",styles:{textDecoration:"underline"},exact:!0},{inline:"u",remove:"all"}],strikethrough:[{inline:"span",styles:{textDecoration:"line-through"},exact:!0},{inline:"strike",remove:"all"}],forecolor:{inline:"span",styles:{color:"%value"},links:!0,remove_similar:!0},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},links:!0,remove_similar:!0},fontname:{inline:"span",styles:{fontFamily:"%value"}},fontsize:{inline:"span",styles:{fontSize:"%value"}},fontsize_class:{inline:"span",attributes:{"class":"%value"}},blockquote:{block:"blockquote",wrapper:1,remove:"all"},subscript:{inline:"sub"},superscript:{inline:"sup"},code:{inline:"code"},link:{inline:"a",selector:"a",remove:"all",split:!0,deep:!0,onmatch:function(){return!0
+},onformat:function(e,t,n){ot(n,function(t,n){V.setAttrib(e,n,t)})}},removeformat:[{selector:"b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q",remove:"all",split:!0,expand:!1,block_expand:!0,deep:!0},{selector:"span",attributes:["style","class"],remove:"empty",split:!0,expand:!1,deep:!0},{selector:"*",attributes:["style","class"],split:!1,expand:!1,deep:!0}]}),ot("p h1 h2 h3 h4 h5 h6 div address pre div dt dd samp".split(/\s/),function(e){p(e,{block:e,remove:"all"})}),p(a.settings.formats)}function d(){a.addShortcut("ctrl+b","bold_desc","Bold"),a.addShortcut("ctrl+i","italic_desc","Italic"),a.addShortcut("ctrl+u","underline_desc","Underline");for(var e=1;6>=e;e++)a.addShortcut("ctrl+"+e,"",["FormatBlock",!1,"h"+e]);a.addShortcut("ctrl+7","",["FormatBlock",!1,"p"]),a.addShortcut("ctrl+8","",["FormatBlock",!1,"div"]),a.addShortcut("ctrl+9","",["FormatBlock",!1,"address"])}function f(e){return e?W[e]:W}function p(e,t){e&&("string"!=typeof e?ot(e,function(e,t){p(t,e)}):(t=t.length?t:[t],ot(t,function(e){e.deep===et&&(e.deep=!e.selector),e.split===et&&(e.split=!e.selector||e.inline),e.remove===et&&e.selector&&!e.inline&&(e.remove="none"),e.selector&&e.inline&&(e.mixed=!0,e.block_expand=!0),"string"==typeof e.classes&&(e.classes=e.classes.split(/\s+/))}),W[e]=t))}function h(e){var t;return a.dom.getParent(e,function(e){return t=a.dom.getStyle(e,"text-decoration"),t&&"none"!==t}),t}function m(e){var t;1===e.nodeType&&e.parentNode&&1===e.parentNode.nodeType&&(t=h(e.parentNode),a.dom.getStyle(e,"color")&&t?a.dom.setStyle(e,"text-decoration",t):a.dom.getStyle(e,"textdecoration")===t&&a.dom.setStyle(e,"text-decoration",null))}function g(t,n,r){function i(e,t){if(t=t||d,e){if(t.onformat&&t.onformat(e,t,n,r),ot(t.styles,function(t,r){V.setStyle(e,r,R(t,n))}),t.styles){var i=V.getAttrib(e,"style");i&&e.setAttribute("data-mce-style",i)}ot(t.attributes,function(t,r){V.setAttrib(e,r,R(t,n))}),ot(t.classes,function(t){t=R(t,n),V.hasClass(e,t)||V.addClass(e,t)})}}function o(){function t(t,n){var i=new e(n);for(r=i.current();r;r=i.prev())if(r.childNodes.length>1||r==t||"BR"==r.tagName)return r}var n=a.selection.getRng(),i=n.startContainer,o=n.endContainer;if(i!=o&&0===n.endOffset){var s=t(i,o),l=3==s.nodeType?s.length:s.childNodes.length;n.setEnd(s,l)}return n}function l(e,r,o){var a=[],l,f,p=!0;l=d.inline||d.block,f=V.create(l),i(f),$.walk(e,function(e){function r(e){var m,g,y,C,x;return x=p,m=e.nodeName.toLowerCase(),g=e.parentNode.nodeName.toLowerCase(),1===e.nodeType&&tt(e)&&(x=p,p="true"===tt(e),C=!0),k(m,"br")?(h=0,void(d.block&&V.remove(e))):d.wrapper&&b(e,t,n)?void(h=0):p&&!C&&d.block&&!d.wrapper&&s(m)&&q(g,l)?(e=V.rename(e,l),i(e),a.push(e),void(h=0)):d.selector&&(ot(u,function(t){"collapsed"in t&&t.collapsed!==v||V.is(e,t.selector)&&!c(e)&&(i(e,t),y=!0)}),!d.inline||y)?void(h=0):void(!p||C||!q(l,m)||!q(g,l)||!o&&3===e.nodeType&&1===e.nodeValue.length&&65279===e.nodeValue.charCodeAt(0)||c(e)||d.inline&&j(e)?(h=0,ot(at(e.childNodes),r),C&&(p=x),h=0):(h||(h=V.clone(f,J),e.parentNode.insertBefore(h,e),a.push(h)),h.appendChild(e)))}var h;ot(e,r)}),d.links===!0&&ot(a,function(e){function t(e){"A"===e.nodeName&&i(e,d),ot(at(e.childNodes),t)}t(e)}),ot(a,function(e){function r(e){var t=0;return ot(e.childNodes,function(e){A(e)||it(e)||t++}),t}function o(e){var t,n;return ot(e.childNodes,function(e){return 1!=e.nodeType||it(e)||c(e)?void 0:(t=e,J)}),t&&!it(t)&&N(t,d)&&(n=V.clone(t,J),i(n),V.replace(n,e,Q),V.remove(t,1)),n||e}var s;if(s=r(e),(a.length>1||!j(e))&&0===s)return void V.remove(e,1);if(d.inline||d.wrapper){if(d.exact||1!==s||(e=o(e)),ot(u,function(t){ot(V.select(t.inline,e),function(e){it(e)||H(t,n,e,t.exact?e:null)})}),b(e.parentNode,t,n))return V.remove(e,1),e=0,Q;d.merge_with_parents&&V.getParent(e.parentNode,function(r){return b(r,t,n)?(V.remove(e,1),e=0,Q):void 0}),e&&d.merge_siblings!==!1&&(e=O(P(e),e),e=O(e,P(e,Q)))}})}var u=f(t),d=u[0],p,h,v=!r&&U.isCollapsed();if(d)if(r)r.nodeType?(h=V.createRng(),h.setStartBefore(r),h.setEndAfter(r),l(D(h,u),null,!0)):l(r,null,!0);else if(v&&d.inline&&!V.select("td.mce-item-selected,th.mce-item-selected").length)F("apply",t,n);else{var y=a.selection.getNode();Y||!u[0].defaultBlock||V.getParent(y,V.isBlock)||g(u[0].defaultBlock),a.selection.setRng(o()),p=U.getBookmark(),l(D(U.getRng(Q),u),p),d.styles&&(d.styles.color||d.styles.textDecoration)&&(st(y,m,"childNodes"),m(y)),U.moveToBookmark(p),z(U.getRng(Q)),a.nodeChanged()}}function v(e,t,n,r){function i(e){var n,r,o,a,s;if(1===e.nodeType&&tt(e)&&(a=y,y="true"===tt(e),s=!0),n=at(e.childNodes),y&&!s)for(r=0,o=p.length;o>r&&!H(p[r],t,e,e);r++);if(m.deep&&n.length){for(r=0,o=n.length;o>r;r++)i(n[r]);s&&(y=a)}}function o(n){var i;return ot(l(n.parentNode).reverse(),function(n){var o;i||"_start"==n.id||"_end"==n.id||(o=b(n,e,t,r),o&&o.split!==!1&&(i=n))}),i}function s(e,n,r,i){var o,a,s,l,c,u;if(e){for(u=e.parentNode,o=n.parentNode;o&&o!=u;o=o.parentNode){for(a=V.clone(o,J),c=0;c<p.length;c++)if(H(p[c],t,a,a)){a=0;break}a&&(s&&a.appendChild(s),l||(l=a),s=a)}!i||m.mixed&&j(e)||(n=V.split(e,n)),s&&(r.parentNode.insertBefore(s,r),l.appendChild(r))}return n}function c(e){return s(o(e),e,e,!0)}function u(e){var t=V.get(e?"_start":"_end"),n=t[e?"firstChild":"lastChild"];return it(n)&&(n=n[e?"firstChild":"lastChild"]),V.remove(t,!0),n}function d(e){var t,n,r=e.commonAncestorContainer;e=D(e,p,Q),m.split&&(t=I(e,Q),n=I(e),t!=n?(/^(TR|TH|TD)$/.test(t.nodeName)&&t.firstChild&&(t="TR"==t.nodeName?t.firstChild.firstChild||t:t.firstChild||t),r&&/^T(HEAD|BODY|FOOT|R)$/.test(r.nodeName)&&/^(TH|TD)$/.test(n.nodeName)&&n.firstChild&&(n=n.firstChild||n),t=B(t,"span",{id:"_start","data-mce-type":"bookmark"}),n=B(n,"span",{id:"_end","data-mce-type":"bookmark"}),c(t),c(n),t=u(Q),n=u()):t=n=c(t),e.startContainer=t.parentNode,e.startOffset=K(t),e.endContainer=n.parentNode,e.endOffset=K(n)+1),$.walk(e,function(e){ot(e,function(e){i(e),1===e.nodeType&&"underline"===a.dom.getStyle(e,"text-decoration")&&e.parentNode&&"underline"===h(e.parentNode)&&H({deep:!1,exact:!0,inline:"span",styles:{textDecoration:"underline"}},null,e)})})}var p=f(e),m=p[0],g,v,y=!0;return n?void(n.nodeType?(v=V.createRng(),v.setStartBefore(n),v.setEndAfter(n),d(v)):d(n)):void(U.isCollapsed()&&m.inline&&!V.select("td.mce-item-selected,th.mce-item-selected").length?F("remove",e,t,r):(g=U.getBookmark(),d(U.getRng(Q)),U.moveToBookmark(g),m.inline&&C(e,t,U.getStart())&&z(U.getRng(!0)),a.nodeChanged()))}function y(e,t,n){var r=f(e);!C(e,t,n)||"toggle"in r[0]&&!r[0].toggle?g(e,t,n):v(e,t,n)}function b(e,t,n,r){function i(e,t,i){var o,a,s=t[i],l;if(t.onmatch)return t.onmatch(e,t,i);if(s)if(s.length===et){for(o in s)if(s.hasOwnProperty(o)){if(a="attributes"===i?V.getAttrib(e,o):S(e,o),r&&!a&&!t.exact)return;if((!r||t.exact)&&!k(a,T(R(s[o],n),o)))return}}else for(l=0;l<s.length;l++)if("attributes"===i?V.getAttrib(e,s[l]):S(e,s[l]))return t;return t}var o=f(t),a,s,l;if(o&&e)for(s=0;s<o.length;s++)if(a=o[s],N(e,a)&&i(e,a,"attributes")&&i(e,a,"styles")){if(l=a.classes)for(s=0;s<l.length;s++)if(!V.hasClass(e,l[s]))return;return a}}function C(e,t,n){function r(n){var r=V.getRoot();return n===r?!1:(n=V.getParent(n,function(n){return n.parentNode===r||!!b(n,e,t,!0)}),b(n,e,t))}var i;return n?r(n):(n=U.getNode(),r(n)?Q:(i=U.getStart(),i!=n&&r(i)?Q:J))}function x(e,t){var n,r=[],i={};return n=U.getStart(),V.getParent(n,function(n){var o,a;for(o=0;o<e.length;o++)a=e[o],!i[a]&&b(n,a,t)&&(i[a]=!0,r.push(a))},V.getRoot()),r}function w(e){var t=f(e),n,r,i,o,a;if(t)for(n=U.getStart(),r=l(n),o=t.length-1;o>=0;o--){if(a=t[o].selector,!a||t[o].defaultBlock)return Q;for(i=r.length-1;i>=0;i--)if(V.is(r[i],a))return Q}return J}function _(e,t,n){var r;return Z||(Z={},r={},a.on("NodeChange",function(e){var t=l(e.element),n={};t=i.grep(t,function(e){return 1==e.nodeType&&!e.getAttribute("data-mce-bogus")}),ot(Z,function(e,i){ot(t,function(o){return b(o,i,{},e.similar)?(r[i]||(ot(e,function(e){e(!0,{node:o,format:i,parents:t})}),r[i]=e),n[i]=e,!1):void 0})}),ot(r,function(i,o){n[o]||(delete r[o],ot(i,function(n){n(!1,{node:e.element,format:o,parents:t})}))})})),ot(e.split(","),function(e){Z[e]||(Z[e]=[],Z[e].similar=n),Z[e].push(t)}),this}function E(e){return o.getCssText(a,e)}function N(e,t){return k(e,t.inline)?Q:k(e,t.block)?Q:t.selector?1==e.nodeType&&V.is(e,t.selector):void 0}function k(e,t){return e=e||"",t=t||"",e=""+(e.nodeName||e),t=""+(t.nodeName||t),e.toLowerCase()==t.toLowerCase()}function S(e,t){return T(V.getStyle(e,t),t)}function T(e,t){return("color"==t||"backgroundColor"==t)&&(e=V.toHex(e)),"fontWeight"==t&&700==e&&(e="bold"),"fontFamily"==t&&(e=e.replace(/[\'\"]/g,"").replace(/,\s+/g,",")),""+e}function R(e,t){return"string"!=typeof e?e=e(t):t&&(e=e.replace(/%(\w+)/g,function(e,n){return t[n]||e})),e}function A(e){return e&&3===e.nodeType&&/^([\t \r\n]+|)$/.test(e.nodeValue)}function B(e,t,n){var r=V.create(t,n);return e.parentNode.insertBefore(r,e),r.appendChild(e),r}function D(t,n,r){function i(e){function t(e){return"BR"==e.nodeName&&e.getAttribute("data-mce-bogus")&&!e.nextSibling}var r,i,o,a,s;if(r=i=e?g:y,a=e?"previousSibling":"nextSibling",s=V.getRoot(),3==r.nodeType&&!A(r)&&(e?v>0:b<r.nodeValue.length))return r;for(;;){if(!n[0].block_expand&&j(i))return i;for(o=i[a];o;o=o[a])if(!it(o)&&!A(o)&&!t(o))return i;if(i.parentNode==s){r=i;break}i=i.parentNode}return r}function o(e,t){for(t===et&&(t=3===e.nodeType?e.length:e.childNodes.length);e&&e.hasChildNodes();)e=e.childNodes[t],e&&(t=3===e.nodeType?e.length:e.childNodes.length);return{node:e,offset:t}}function c(e){for(var t=e;t;){if(1===t.nodeType&&tt(t))return"false"===tt(t)?t:e;t=t.parentNode}return e}function u(t,n,i){function o(e,t){var n,o,a=e.nodeValue;return"undefined"==typeof t&&(t=i?a.length:0),i?(n=a.lastIndexOf(" ",t),o=a.lastIndexOf("\xa0",t),n=n>o?n:o,-1===n||r||n++):(n=a.indexOf(" ",t),o=a.indexOf("\xa0",t),n=-1!==n&&(-1===o||o>n)?n:o),n}var s,l,c,u;if(3===t.nodeType){if(c=o(t,n),-1!==c)return{container:t,offset:c};u=t}for(s=new e(t,V.getParent(t,j)||a.getBody());l=s[i?"prev":"next"]();)if(3===l.nodeType){if(u=l,c=o(l),-1!==c)return{container:l,offset:c}}else if(j(l))break;return u?(n=i?0:u.length,{container:u,offset:n}):void 0}function d(e,r){var i,o,a,s;for(3==e.nodeType&&0===e.nodeValue.length&&e[r]&&(e=e[r]),i=l(e),o=0;o<i.length;o++)for(a=0;a<n.length;a++)if(s=n[a],!("collapsed"in s&&s.collapsed!==t.collapsed)&&V.is(i[o],s.selector))return i[o];return e}function f(e,t){var r,i=V.getRoot();if(n[0].wrapper||(r=V.getParent(e,n[0].block,i)),r||(r=V.getParent(3==e.nodeType?e.parentNode:e,function(e){return e!=i&&s(e)})),r&&n[0].wrapper&&(r=l(r,"ul,ol").reverse()[0]||r),!r)for(r=e;r[t]&&!j(r[t])&&(r=r[t],!k(r,"br")););return r||e}var p,h,m,g=t.startContainer,v=t.startOffset,y=t.endContainer,b=t.endOffset;if(1==g.nodeType&&g.hasChildNodes()&&(p=g.childNodes.length-1,g=g.childNodes[v>p?p:v],3==g.nodeType&&(v=0)),1==y.nodeType&&y.hasChildNodes()&&(p=y.childNodes.length-1,y=y.childNodes[b>p?p:b-1],3==y.nodeType&&(b=y.nodeValue.length)),g=c(g),y=c(y),(it(g.parentNode)||it(g))&&(g=it(g)?g:g.parentNode,g=g.nextSibling||g,3==g.nodeType&&(v=0)),(it(y.parentNode)||it(y))&&(y=it(y)?y:y.parentNode,y=y.previousSibling||y,3==y.nodeType&&(b=y.length)),n[0].inline&&(t.collapsed&&(m=u(g,v,!0),m&&(g=m.container,v=m.offset),m=u(y,b),m&&(y=m.container,b=m.offset)),h=o(y,b),h.node)){for(;h.node&&0===h.offset&&h.node.previousSibling;)h=o(h.node.previousSibling);h.node&&h.offset>0&&3===h.node.nodeType&&" "===h.node.nodeValue.charAt(h.offset-1)&&h.offset>1&&(y=h.node,y.splitText(h.offset-1))}return(n[0].inline||n[0].block_expand)&&(n[0].inline&&3==g.nodeType&&0!==v||(g=i(!0)),n[0].inline&&3==y.nodeType&&b!==y.nodeValue.length||(y=i())),n[0].selector&&n[0].expand!==J&&!n[0].inline&&(g=d(g,"previousSibling"),y=d(y,"nextSibling")),(n[0].block||n[0].selector)&&(g=f(g,"previousSibling"),y=f(y,"nextSibling"),n[0].block&&(j(g)||(g=i(!0)),j(y)||(y=i()))),1==g.nodeType&&(v=K(g),g=g.parentNode),1==y.nodeType&&(b=K(y)+1,y=y.parentNode),{startContainer:g,startOffset:v,endContainer:y,endOffset:b}}function L(e,t){return t.links&&"A"==e.tagName}function H(e,t,n,r){var i,o,a;if(!N(n,e)&&!L(n,e))return J;if("all"!=e.remove)for(ot(e.styles,function(i,o){i=T(R(i,t),o),"number"==typeof o&&(o=i,r=0),(e.remove_similar||!r||k(S(r,o),i))&&V.setStyle(n,o,""),a=1}),a&&""===V.getAttrib(n,"style")&&(n.removeAttribute("style"),n.removeAttribute("data-mce-style")),ot(e.attributes,function(e,i){var o;if(e=R(e,t),"number"==typeof i&&(i=e,r=0),!r||k(V.getAttrib(r,i),e)){if("class"==i&&(e=V.getAttrib(n,i),e&&(o="",ot(e.split(/\s+/),function(e){/mce\w+/.test(e)&&(o+=(o?" ":"")+e)}),o)))return void V.setAttrib(n,i,o);"class"==i&&n.removeAttribute("className"),X.test(i)&&n.removeAttribute("data-mce-"+i),n.removeAttribute(i)}}),ot(e.classes,function(e){e=R(e,t),(!r||V.hasClass(r,e))&&V.removeClass(n,e)}),o=V.getAttribs(n),i=0;i<o.length;i++)if(0!==o[i].nodeName.indexOf("_"))return J;return"none"!=e.remove?(M(n,e),Q):void 0}function M(e,t){function n(e,t,n){return e=P(e,t,n),!e||"BR"==e.nodeName||j(e)}var r=e.parentNode,i;t.block&&(Y?r==V.getRoot()&&(t.list_block&&k(e,t.list_block)||ot(at(e.childNodes),function(e){q(Y,e.nodeName.toLowerCase())?i?i.appendChild(e):(i=B(e,Y),V.setAttribs(i,a.settings.forced_root_block_attrs)):i=0})):j(e)&&!j(r)&&(n(e,J)||n(e.firstChild,Q,1)||e.insertBefore(V.create("br"),e.firstChild),n(e,Q)||n(e.lastChild,J,1)||e.appendChild(V.create("br")))),t.selector&&t.inline&&!k(t.inline,e)||V.remove(e,1)}function P(e,t,n){if(e)for(t=t?"nextSibling":"previousSibling",e=n?e:e[t];e;e=e[t])if(1==e.nodeType||!A(e))return e}function O(e,t){function n(e,t){for(i=e;i;i=i[t]){if(3==i.nodeType&&0!==i.nodeValue.length)return e;if(1==i.nodeType&&!it(i))return i}return e}var i,o,a=new r(V);if(e&&t&&(e=n(e,"previousSibling"),t=n(t,"nextSibling"),a.compare(e,t))){for(i=e.nextSibling;i&&i!=t;)o=i,i=i.nextSibling,e.appendChild(o);return V.remove(t),ot(at(t.childNodes),function(t){e.appendChild(t)}),e}return t}function I(t,n){var r,i,o;return r=t[n?"startContainer":"endContainer"],i=t[n?"startOffset":"endOffset"],1==r.nodeType&&(o=r.childNodes.length-1,!n&&i&&i--,r=r.childNodes[i>o?o:i]),3===r.nodeType&&n&&i>=r.nodeValue.length&&(r=new e(r,a.getBody()).next()||r),3!==r.nodeType||n||0!==i||(r=new e(r,a.getBody()).prev()||r),r}function F(t,n,r,i){function o(e){var t=V.create("span",{id:y,"data-mce-bogus":!0,style:C?"color:red":""});return e&&t.appendChild(a.getDoc().createTextNode(G)),t}function l(e,t){for(;e;){if(3===e.nodeType&&e.nodeValue!==G||e.childNodes.length>1)return!1;t&&1===e.nodeType&&t.push(e),e=e.firstChild}return!0}function c(e){for(;e;){if(e.id===y)return e;e=e.parentNode}}function u(t){var n;if(t)for(n=new e(t,t),t=n.current();t;t=n.next())if(3===t.nodeType)return t}function d(e,t){var n,r;if(e)r=U.getRng(!0),l(e)?(t!==!1&&(r.setStartBefore(e),r.setEndBefore(e)),V.remove(e)):(n=u(e),n.nodeValue.charAt(0)===G&&(n.deleteData(0,1),r.startContainer==n&&r.startOffset--,r.endContainer==n&&r.endOffset--),V.remove(e,1)),U.setRng(r);else if(e=c(U.getStart()),!e)for(;e=V.get(y);)d(e,!1)}function p(){var e,t,i,a,s,l,d;e=U.getRng(!0),a=e.startOffset,l=e.startContainer,d=l.nodeValue,t=c(U.getStart()),t&&(i=u(t)),d&&a>0&&a<d.length&&/\w/.test(d.charAt(a))&&/\w/.test(d.charAt(a-1))?(s=U.getBookmark(),e.collapse(!0),e=D(e,f(n)),e=$.split(e),g(n,r,e),U.moveToBookmark(s)):(t&&i.nodeValue===G?g(n,r,t):(t=o(!0),i=t.firstChild,e.insertNode(t),a=1,g(n,r,t)),U.setCursorLocation(i,a))}function h(){var e=U.getRng(!0),t,a,l,c,u,d,p=[],h,m;for(t=e.startContainer,a=e.startOffset,u=t,3==t.nodeType&&(a!=t.nodeValue.length&&(c=!0),u=u.parentNode);u;){if(b(u,n,r,i)){d=u;break}u.nextSibling&&(c=!0),p.push(u),u=u.parentNode}if(d)if(c)l=U.getBookmark(),e.collapse(!0),e=D(e,f(n),!0),e=$.split(e),v(n,r,e),U.moveToBookmark(l);else{for(m=o(),u=m,h=p.length-1;h>=0;h--)u.appendChild(V.clone(p[h],!1)),u=u.firstChild;u.appendChild(V.doc.createTextNode(G)),u=u.firstChild;var g=V.getParent(d,s);g&&V.isEmpty(g)?d.parentNode.replaceChild(m,d):V.insertAfter(m,d),U.setCursorLocation(u,1),V.isEmpty(d)&&V.remove(d)}}function m(){var e;e=c(U.getStart()),e&&!V.isEmpty(e)&&st(e,function(e){1!=e.nodeType||e.id===y||V.isEmpty(e)||V.setAttrib(e,"data-mce-bogus",null)},"childNodes")}var y="_mce_caret",C=a.settings.caret_debug;a._hasCaretEvents||(rt=function(){var e=[],t;if(l(c(U.getStart()),e))for(t=e.length;t--;)V.setAttrib(e[t],"data-mce-bogus","1")},nt=function(e){var t=e.keyCode;d(),(8==t||37==t||39==t)&&d(c(U.getStart())),m()},a.on("SetContent",function(e){e.selection&&m()}),a._hasCaretEvents=!0),"apply"==t?p():h()}function z(t){var n=t.startContainer,r=t.startOffset,i,o,a,s,l;if(3==n.nodeType&&r>=n.nodeValue.length&&(r=K(n),n=n.parentNode,i=!0),1==n.nodeType)for(s=n.childNodes,n=s[Math.min(r,s.length-1)],o=new e(n,V.getParent(n,V.isBlock)),(r>s.length-1||i)&&o.next(),a=o.current();a;a=o.next())if(3==a.nodeType&&!A(a))return l=V.create("a",{"data-mce-bogus":"all"},G),a.parentNode.insertBefore(l,a),t.setStart(a,0),U.setRng(t),void V.remove(l)}var W={},V=a.dom,U=a.selection,$=new t(V),q=a.schema.isValidChild,j=V.isBlock,Y=a.settings.forced_root_block,K=V.nodeIndex,G="\ufeff",X=/^(src|href|style)$/,J=!1,Q=!0,Z,et,tt=V.getContentEditable,nt,rt,it=n.isBookmarkNode,ot=i.each,at=i.grep,st=i.walk,lt=i.extend;lt(this,{get:f,register:p,apply:g,remove:v,toggle:y,match:C,matchAll:x,matchNode:b,canApply:w,formatChanged:_,getCssText:E}),u(),d(),a.on("BeforeGetContent",function(e){rt&&"raw"!=e.format&&rt()}),a.on("mouseup keydown",function(e){nt&&nt(e)})}}),r(I,[d,u,N],function(e,t,n){var r=t.trim,i;return i=new RegExp(["<span[^>]+data-mce-bogus[^>]+>[\u200b\ufeff]+<\\/span>",'\\s?data-mce-selected="[^"]+"'].join("|"),"gi"),function(t){function o(){var e=t.getContent({format:"raw",no_events:1}),o=/<(\w+) [^>]*data-mce-bogus="all"[^>]*>/g,a,s,l,c,u,d=t.schema;for(e=e.replace(i,""),u=d.getShortEndedElements();c=o.exec(e);)s=o.lastIndex,l=c[0].length,a=u[c[1]]?s:n.findEndTag(d,e,s),e=e.substring(0,s-l)+e.substring(a),o.lastIndex=s-l;return r(e)}function a(e){s.typing=!1,s.add({},e)}var s=this,l=0,c=[],u,d,f=0;return t.on("init",function(){s.add()}),t.on("BeforeExecCommand",function(e){var t=e.command;"Undo"!=t&&"Redo"!=t&&"mceRepaint"!=t&&s.beforeChange()}),t.on("ExecCommand",function(e){var t=e.command;"Undo"!=t&&"Redo"!=t&&"mceRepaint"!=t&&a(e)}),t.on("ObjectResizeStart",function(){s.beforeChange()}),t.on("SaveContent ObjectResized blur",a),t.on("DragEnd",a),t.on("KeyUp",function(n){var r=n.keyCode;(r>=33&&36>=r||r>=37&&40>=r||45==r||13==r||n.ctrlKey)&&(a(),t.nodeChanged()),(46==r||8==r||e.mac&&(91==r||93==r))&&t.nodeChanged(),d&&s.typing&&(t.isDirty()||(t.isNotDirty=!c[0]||o()==c[0].content,t.isNotDirty||t.fire("change",{level:c[0],lastLevel:null})),t.fire("TypingUndo"),d=!1,t.nodeChanged())}),t.on("KeyDown",function(e){var t=e.keyCode;return t>=33&&36>=t||t>=37&&40>=t||45==t?void(s.typing&&a(e)):void((16>t||t>20)&&224!=t&&91!=t&&!s.typing&&(s.beforeChange(),s.typing=!0,s.add({},e),d=!0))}),t.on("MouseDown",function(e){s.typing&&a(e)}),t.addShortcut("ctrl+z","","Undo"),t.addShortcut("ctrl+y,ctrl+shift+z","","Redo"),t.on("AddUndo Undo Redo ClearUndos",function(e){e.isDefaultPrevented()||t.nodeChanged()}),s={data:c,typing:!1,beforeChange:function(){f||(u=t.selection.getBookmark(2,!0))},add:function(e,n){var r,i=t.settings,a;if(e=e||{},e.content=o(),f||t.removed)return null;if(a=c[l],t.fire("BeforeAddUndo",{level:e,lastLevel:a,originalEvent:n}).isDefaultPrevented())return null;if(a&&a.content==e.content)return null;if(c[l]&&(c[l].beforeBookmark=u),i.custom_undo_redo_levels&&c.length>i.custom_undo_redo_levels){for(r=0;r<c.length-1;r++)c[r]=c[r+1];c.length--,l=c.length}e.bookmark=t.selection.getBookmark(2,!0),l<c.length-1&&(c.length=l+1),c.push(e),l=c.length-1;var s={level:e,lastLevel:a,originalEvent:n};return t.fire("AddUndo",s),l>0&&(t.isNotDirty=!1,t.fire("change",s)),e},undo:function(){var e;return s.typing&&(s.add(),s.typing=!1),l>0&&(e=c[--l],0===l&&(t.isNotDirty=!0),t.setContent(e.content,{format:"raw"}),t.selection.moveToBookmark(e.beforeBookmark),t.fire("undo",{level:e})),e},redo:function(){var e;return l<c.length-1&&(e=c[++l],t.setContent(e.content,{format:"raw"}),t.selection.moveToBookmark(e.bookmark),t.fire("redo",{level:e})),e},clear:function(){c=[],l=0,s.typing=!1,t.fire("ClearUndos")},hasUndo:function(){return l>0||s.typing&&c[0]&&o()!=c[0].content},hasRedo:function(){return l<c.length-1&&!this.typing},transact:function(e){s.beforeChange();try{f++,e()}finally{f--}s.add()}}}}),r(F,[h,x,d],function(e,t,n){var r=n.ie&&n.ie<11;return function(i){function o(o){function f(e){return e&&a.isBlock(e)&&!/^(TD|TH|CAPTION|FORM)$/.test(e.nodeName)&&!/^(fixed|absolute)/i.test(e.style.position)&&"true"!==a.getContentEditable(e)}function p(e){var t;a.isBlock(e)&&(t=s.getRng(),e.appendChild(a.create("span",null,"\xa0")),s.select(e),e.lastChild.outerHTML="",s.setRng(t))}function h(e){var t=e,n=[],r;if(t){for(;t=t.firstChild;){if(a.isBlock(t))return;1!=t.nodeType||d[t.nodeName.toLowerCase()]||n.push(t)}for(r=n.length;r--;)t=n[r],!t.hasChildNodes()||t.firstChild==t.lastChild&&""===t.firstChild.nodeValue?a.remove(t):"A"==t.nodeName&&" "===(t.innerText||t.textContent)&&a.remove(t)}}function m(t){function r(e){for(;e;){if(1==e.nodeType||3==e.nodeType&&e.data&&/[\r\n\s]/.test(e.data))return e;e=e.nextSibling}}var i,o,l,c=t,u;if(t){if(n.ie&&n.ie<9&&A&&A.firstChild&&A.firstChild==A.lastChild&&"BR"==A.firstChild.tagName&&a.remove(A.firstChild),/^(LI|DT|DD)$/.test(t.nodeName)){var f=r(t.firstChild);f&&/^(UL|OL|DL)$/.test(f.nodeName)&&t.insertBefore(a.doc.createTextNode("\xa0"),t.firstChild)}if(l=a.createRng(),n.ie||t.normalize(),t.hasChildNodes()){for(i=new e(t,t);o=i.current();){if(3==o.nodeType){l.setStart(o,0),l.setEnd(o,0);break}if(d[o.nodeName.toLowerCase()]){l.setStartBefore(o),l.setEndBefore(o);break}c=o,o=i.next()}o||(l.setStart(c,0),l.setEnd(c,0))}else"BR"==t.nodeName?t.nextSibling&&a.isBlock(t.nextSibling)?((!B||9>B)&&(u=a.create("br"),t.parentNode.insertBefore(u,t)),l.setStartBefore(t),l.setEndBefore(t)):(l.setStartAfter(t),l.setEndAfter(t)):(l.setStart(t,0),l.setEnd(t,0));s.setRng(l),a.remove(u),s.scrollIntoView(t)}}function g(e){var t=l.forced_root_block;t&&t.toLowerCase()===e.tagName.toLowerCase()&&a.setAttribs(e,l.forced_root_block_attrs)}function v(e){var t=T,n,i,o,s=u.getTextInlineElements();if(e||"TABLE"==P?(n=a.create(e||I),g(n)):n=A.cloneNode(!1),o=n,l.keep_styles!==!1)do if(s[t.nodeName]){if("_mce_caret"==t.id)continue;i=t.cloneNode(!1),a.setAttrib(i,"id",""),n.hasChildNodes()?(i.appendChild(n.firstChild),n.appendChild(i)):(o=i,n.appendChild(i))}while(t=t.parentNode);return r||(o.innerHTML='<br data-mce-bogus="1">'),n}function y(t){var n,r,i;if(3==T.nodeType&&(t?R>0:R<T.nodeValue.length))return!1;if(T.parentNode==A&&F&&!t)return!0;if(t&&1==T.nodeType&&T==A.firstChild)return!0;if("TABLE"===T.nodeName||T.previousSibling&&"TABLE"==T.previousSibling.nodeName)return F&&!t||!F&&t;for(n=new e(T,A),3==T.nodeType&&(t&&0===R?n.prev():t||R!=T.nodeValue.length||n.next());r=n.current();){if(1===r.nodeType){if(!r.getAttribute("data-mce-bogus")&&(i=r.nodeName.toLowerCase(),d[i]&&"br"!==i))return!1}else if(3===r.nodeType&&!/^[ \t\r\n]*$/.test(r.nodeValue))return!1;t?n.prev():n.next()}return!0}function b(e,t){var n,r,o,s,l,c,d=I||"P";if(r=a.getParent(e,a.isBlock),c=i.getBody().nodeName.toLowerCase(),!r||!f(r)){if(r=r||S,!r.hasChildNodes())return n=a.create(d),g(n),r.appendChild(n),N.setStart(n,0),N.setEnd(n,0),n;for(s=e;s.parentNode!=r;)s=s.parentNode;for(;s&&!a.isBlock(s);)o=s,s=s.previousSibling;if(o&&u.isValidChild(c,d.toLowerCase())){for(n=a.create(d),g(n),o.parentNode.insertBefore(n,o),s=o;s&&!a.isBlock(s);)l=s.nextSibling,n.appendChild(s),s=l;N.setStart(e,t),N.setEnd(e,t)}}return e}function C(){function e(e){for(var t=M[e?"firstChild":"lastChild"];t&&1!=t.nodeType;)t=t[e?"nextSibling":"previousSibling"];return t===A}function t(){var e=M.parentNode;return/^(LI|DT|DD)$/.test(e.nodeName)?e:M}var n=M.parentNode.nodeName;/^(OL|UL|LI)$/.test(n)&&(I="LI"),L=I?v(I):a.create("BR"),e(!0)&&e()?"LI"==n?a.insertAfter(L,t()):a.replace(L,M):e(!0)?"LI"==n?(a.insertAfter(L,t()),L.appendChild(a.doc.createTextNode(" ")),L.appendChild(M)):M.parentNode.insertBefore(L,M):e()?(a.insertAfter(L,t()),p(L)):(M=t(),k=N.cloneRange(),k.setStartAfter(A),k.setEndAfter(M),H=k.extractContents(),"LI"==I&&"LI"==H.firstChild.nodeName?(L=H.firstChild,a.insertAfter(H,M)):(a.insertAfter(H,M),a.insertAfter(L,M))),a.remove(A),m(L),c.add()}function x(){i.execCommand("InsertLineBreak",!1,o)}function w(e){do 3===e.nodeType&&(e.nodeValue=e.nodeValue.replace(/^[\r\n]+/,"")),e=e.firstChild;while(e)}function _(e){var t=a.getRoot(),n,r;for(n=e;n!==t&&"false"!==a.getContentEditable(n);)"true"===a.getContentEditable(n)&&(r=n),n=n.parentNode;return n!==t?r:t}function E(e){var t;r||(e.normalize(),t=e.lastChild,(!t||/^(left|right)$/gi.test(a.getStyle(t,"float",!0)))&&a.add(e,"br"))}var N,k,S,T,R,A,B,D,L,H,M,P,O,I,F;if(N=s.getRng(!0),!o.isDefaultPrevented()){if(!N.collapsed)return void i.execCommand("Delete");if(new t(a).normalize(N),T=N.startContainer,R=N.startOffset,I=(l.force_p_newlines?"p":"")||l.forced_root_block,I=I?I.toUpperCase():"",B=a.doc.documentMode,D=o.shiftKey,1==T.nodeType&&T.hasChildNodes()&&(F=R>T.childNodes.length-1,T=T.childNodes[Math.min(R,T.childNodes.length-1)]||T,R=F&&3==T.nodeType?T.nodeValue.length:0),S=_(T)){if(c.beforeChange(),!a.isBlock(S)&&S!=a.getRoot())return void((!I||D)&&x());if((I&&!D||!I&&D)&&(T=b(T,R)),A=a.getParent(T,a.isBlock),M=A?a.getParent(A.parentNode,a.isBlock):null,P=A?A.nodeName.toUpperCase():"",O=M?M.nodeName.toUpperCase():"","LI"!=O||o.ctrlKey||(A=M,P=O),/^(LI|DT|DD)$/.test(P)){if(!I&&D)return void x();if(a.isEmpty(A))return void C()}if("PRE"==P&&l.br_in_pre!==!1){if(!D)return void x()}else if(!I&&!D&&"LI"!=P||I&&D)return void x();I&&A===i.getBody()||(I=I||"P",y()?(L=/^(H[1-6]|PRE|FIGURE)$/.test(P)&&"HGROUP"!=O?v(I):v(),l.end_container_on_empty_block&&f(M)&&a.isEmpty(A)?L=a.split(M,A):a.insertAfter(L,A),m(L)):y(!0)?(L=A.parentNode.insertBefore(v(),A),p(L),m(A)):(k=N.cloneRange(),k.setEndAfter(A),H=k.extractContents(),w(H),L=H.firstChild,a.insertAfter(H,A),h(L),E(A),m(L)),a.setAttrib(L,"id",""),i.fire("NewBlock",{newBlock:L}),c.add())}}}var a=i.dom,s=i.selection,l=i.settings,c=i.undoManager,u=i.schema,d=u.getNonEmptyElements();i.on("keydown",function(e){13==e.keyCode&&o(e)!==!1&&e.preventDefault()})}}),r(z,[],function(){return function(e){function t(){var t=i.getStart(),s=e.getBody(),l,c,u,d,f,p,h,m=-16777215,g,v,y,b,C;if(C=n.forced_root_block,t&&1===t.nodeType&&C){for(;t&&t!=s;){if(a[t.nodeName])return;t=t.parentNode}if(l=i.getRng(),l.setStart){c=l.startContainer,u=l.startOffset,d=l.endContainer,f=l.endOffset;try{v=e.getDoc().activeElement===s}catch(x){}}else l.item&&(t=l.item(0),l=e.getDoc().body.createTextRange(),l.moveToElementText(t)),v=l.parentElement().ownerDocument===e.getDoc(),y=l.duplicate(),y.collapse(!0),u=-1*y.move("character",m),y.collapsed||(y=l.duplicate(),y.collapse(!1),f=-1*y.move("character",m)-u);for(t=s.firstChild,b=s.nodeName.toLowerCase();t;)if((3===t.nodeType||1==t.nodeType&&!a[t.nodeName])&&o.isValidChild(b,C.toLowerCase())){if(3===t.nodeType&&0===t.nodeValue.length){h=t,t=t.nextSibling,r.remove(h);continue}p||(p=r.create(C,e.settings.forced_root_block_attrs),t.parentNode.insertBefore(p,t),g=!0),h=t,t=t.nextSibling,p.appendChild(h)}else p=null,t=t.nextSibling;if(g&&v){if(l.setStart)l.setStart(c,u),l.setEnd(d,f),i.setRng(l);else try{l=e.getDoc().body.createTextRange(),l.moveToElementText(s),l.collapse(!0),l.moveStart("character",u),f>0&&l.moveEnd("character",f),l.select()}catch(x){}e.nodeChanged()}}}var n=e.settings,r=e.dom,i=e.selection,o=e.schema,a=o.getBlockElements();n.forced_root_block&&e.on("NodeChange",t)}}),r(W,[T,d,u,M,x,h],function(e,n,r,i,o,a){var s=r.each,l=r.extend,c=r.map,u=r.inArray,d=r.explode,f=n.gecko,p=n.ie,h=n.ie&&n.ie<11,m=!0,g=!1;return function(r){function v(e,t,n){var r;return e=e.toLowerCase(),(r=T.exec[e])?(r(e,t,n),m):g}function y(e){var t;return e=e.toLowerCase(),(t=T.state[e])?t(e):-1}function b(e){var t;return e=e.toLowerCase(),(t=T.value[e])?t(e):g}function C(e,t){t=t||"exec",s(e,function(e,n){s(n.toLowerCase().split(","),function(n){T[t][n]=e})})}function x(e,n,i){return n===t&&(n=g),i===t&&(i=null),r.getDoc().execCommand(e,n,i)}function w(e){return A.match(e)}function _(e,n){A.toggle(e,n?{value:n}:t),r.nodeChanged()}function E(e){B=S.getBookmark(e)}function N(){S.moveToBookmark(B)}var k=r.dom,S=r.selection,T={state:{},exec:{},value:{}},R=r.settings,A=r.formatter,B;l(this,{execCommand:v,queryCommandState:y,queryCommandValue:b,addCommands:C}),C({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){r.undoManager.add()},"Cut,Copy,Paste":function(e){var t=r.getDoc(),i;try{x(e)}catch(o){i=m}if(i||!t.queryCommandSupported(e)){var a=r.translate("Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.");n.mac&&(a=a.replace(/Ctrl\+/g,"\u2318+")),r.windowManager.alert(a)}},unlink:function(){if(S.isCollapsed()){var e=S.getNode();return void("A"==e.tagName&&r.dom.remove(e,!0))}A.remove("link")},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(e){var t=e.substring(7);"full"==t&&(t="justify"),s("left,center,right,justify".split(","),function(e){t!=e&&A.remove("align"+e)}),_("align"+t),v("mceRepaint")},"InsertUnorderedList,InsertOrderedList":function(e){var t,n;x(e),t=k.getParent(S.getNode(),"ol,ul"),t&&(n=t.parentNode,/^(H[1-6]|P|ADDRESS|PRE)$/.test(n.nodeName)&&(E(),k.split(n,t),N()))},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){_(e)},"ForeColor,HiliteColor,FontName":function(e,t,n){_(e,n)},FontSize:function(e,t,n){var r,i;n>=1&&7>=n&&(i=d(R.font_size_style_values),r=d(R.font_size_classes),n=r?r[n-1]||n:i[n-1]||n),_(e,n)},RemoveFormat:function(e){A.remove(e)},mceBlockQuote:function(){_("blockquote")},FormatBlock:function(e,t,n){return _(n||"p")},mceCleanup:function(){var e=S.getBookmark();r.setContent(r.getContent({cleanup:m}),{cleanup:m}),S.moveToBookmark(e)},mceRemoveNode:function(e,t,n){var i=n||S.getNode();i!=r.getBody()&&(E(),r.dom.remove(i,m),N())},mceSelectNodeDepth:function(e,t,n){var i=0;k.getParent(S.getNode(),function(e){return 1==e.nodeType&&i++==n?(S.select(e),g):void 0},r.getBody())},mceSelectNode:function(e,t,n){S.select(n)},mceInsertContent:function(t,n,o){function a(e){function t(e){return r[e]&&3==r[e].nodeType}var n,r,i;return n=S.getRng(!0),r=n.startContainer,i=n.startOffset,3==r.nodeType&&(i>0?e=e.replace(/^&nbsp;/," "):t("previousSibling")||(e=e.replace(/^ /,"&nbsp;")),i<r.length?e=e.replace(/&nbsp;(<br>|)$/," "):t("nextSibling")||(e=e.replace(/(&nbsp;| )(<br>|)$/,"&nbsp;"))),e}function l(e){if(w)for(b=e.firstChild;b;b=b.walk(!0))_[b.name]&&b.attr("data-mce-new","true")}function c(){if(w){var e=r.getBody(),t=new i(k);s(k.select("*[data-mce-new]"),function(n){n.removeAttribute("data-mce-new");for(var r=n.parentNode;r&&r!=e;r=r.parentNode)t.compare(r,n)&&k.remove(n,!0)})}}var u,d,f,h,m,g,v,y,b,C,x,w,_=r.schema.getTextInlineElements();"string"!=typeof o&&(w=o.merge,o=o.content),/^ | $/.test(o)&&(o=a(o)),u=r.parser,d=new e({},r.schema),x='<span id="mce_marker" data-mce-type="bookmark">&#xFEFF;&#x200B;</span>',g={content:o,format:"html",selection:!0},r.fire("BeforeSetContent",g),o=g.content,-1==o.indexOf("{$caret}")&&(o+="{$caret}"),o=o.replace(/\{\$caret\}/,x),y=S.getRng();var E=y.startContainer||(y.parentElement?y.parentElement():null),N=r.getBody();E===N&&S.isCollapsed()&&k.isBlock(N.firstChild)&&k.isEmpty(N.firstChild)&&(y=k.createRng(),y.setStart(N.firstChild,0),y.setEnd(N.firstChild,0),S.setRng(y)),S.isCollapsed()||r.getDoc().execCommand("Delete",!1,null),f=S.getNode();var T={context:f.nodeName.toLowerCase()};if(m=u.parse(o,T),l(m),b=m.lastChild,"mce_marker"==b.attr("id"))for(v=b,b=b.prev;b;b=b.walk(!0))if(3==b.type||!k.isBlock(b.name)){r.schema.isValidChild(b.parent.name,"span")&&b.parent.insert(v,b,"br"===b.name);
+break}if(T.invalid){for(S.setContent(x),f=S.getNode(),h=r.getBody(),9==f.nodeType?f=b=h:b=f;b!==h;)f=b,b=b.parentNode;o=f==h?h.innerHTML:k.getOuterHTML(f),o=d.serialize(u.parse(o.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,function(){return d.serialize(m)}))),f==h?k.setHTML(h,o):k.setOuterHTML(f,o)}else o=d.serialize(m),b=f.firstChild,C=f.lastChild,!b||b===C&&"BR"===b.nodeName?k.setHTML(f,o):S.setContent(o);c(),v=k.get("mce_marker"),S.scrollIntoView(v),y=k.createRng(),b=v.previousSibling,b&&3==b.nodeType?(y.setStart(b,b.nodeValue.length),p||(C=v.nextSibling,C&&3==C.nodeType&&(b.appendData(C.data),C.parentNode.removeChild(C)))):(y.setStartBefore(v),y.setEndBefore(v)),k.remove(v),S.setRng(y),r.fire("SetContent",g),r.addVisual()},mceInsertRawHTML:function(e,t,n){S.setContent("tiny_mce_marker"),r.setContent(r.getContent().replace(/tiny_mce_marker/g,function(){return n}))},mceToggleFormat:function(e,t,n){_(n)},mceSetContent:function(e,t,n){r.setContent(n)},"Indent,Outdent":function(e){var t,n,i;t=R.indentation,n=/[a-z%]+$/i.exec(t),t=parseInt(t,10),y("InsertUnorderedList")||y("InsertOrderedList")?x(e):(R.forced_root_block||k.getParent(S.getNode(),k.isBlock)||A.apply("div"),s(S.getSelectedBlocks(),function(o){if("LI"!=o.nodeName){var a=r.getParam("indent_use_margin",!1)?"margin":"padding";a+="rtl"==k.getStyle(o,"direction",!0)?"Right":"Left","outdent"==e?(i=Math.max(0,parseInt(o.style[a]||0,10)-t),k.setStyle(o,a,i?i+n:"")):(i=parseInt(o.style[a]||0,10)+t+n,k.setStyle(o,a,i))}}))},mceRepaint:function(){if(f)try{E(m),S.getSel()&&S.getSel().selectAllChildren(r.getBody()),S.collapse(m),N()}catch(e){}},InsertHorizontalRule:function(){r.execCommand("mceInsertContent",!1,"<hr />")},mceToggleVisualAid:function(){r.hasVisual=!r.hasVisual,r.addVisual()},mceReplaceContent:function(e,t,n){r.execCommand("mceInsertContent",!1,n.replace(/\{\$selection\}/g,S.getContent({format:"text"})))},mceInsertLink:function(e,t,n){var r;"string"==typeof n&&(n={href:n}),r=k.getParent(S.getNode(),"a"),n.href=n.href.replace(" ","%20"),r&&n.href||A.remove("link"),n.href&&A.apply("link",n,r)},selectAll:function(){var e=k.getRoot(),t;S.getRng().setStart?(t=k.createRng(),t.setStart(e,0),t.setEnd(e,e.childNodes.length),S.setRng(t)):(t=S.getRng(),t.item||(t.moveToElementText(e),t.select()))},"delete":function(){x("Delete");var e=r.getBody();k.isEmpty(e)&&(r.setContent(""),e.firstChild&&k.isBlock(e.firstChild)?r.selection.setCursorLocation(e.firstChild,0):r.selection.setCursorLocation(e,0))},mceNewDocument:function(){r.setContent("")},InsertLineBreak:function(e,t,n){function i(){for(var e=new a(p,v),t,n=r.schema.getNonEmptyElements();t=e.next();)if(n[t.nodeName.toLowerCase()]||t.length>0)return!0}var s=n,l,c,u,d=S.getRng(!0);new o(k).normalize(d);var f=d.startOffset,p=d.startContainer;if(1==p.nodeType&&p.hasChildNodes()){var g=f>p.childNodes.length-1;p=p.childNodes[Math.min(f,p.childNodes.length-1)]||p,f=g&&3==p.nodeType?p.nodeValue.length:0}var v=k.getParent(p,k.isBlock),y=v?v.nodeName.toUpperCase():"",b=v?k.getParent(v.parentNode,k.isBlock):null,C=b?b.nodeName.toUpperCase():"",x=s&&s.ctrlKey;"LI"!=C||x||(v=b,y=C),p&&3==p.nodeType&&f>=p.nodeValue.length&&(h||i()||(l=k.create("br"),d.insertNode(l),d.setStartAfter(l),d.setEndAfter(l),c=!0)),l=k.create("br"),d.insertNode(l);var w=k.doc.documentMode;return h&&"PRE"==y&&(!w||8>w)&&l.parentNode.insertBefore(k.doc.createTextNode("\r"),l),u=k.create("span",{},"&nbsp;"),l.parentNode.insertBefore(u,l),S.scrollIntoView(u),k.remove(u),c?(d.setStartBefore(l),d.setEndBefore(l)):(d.setStartAfter(l),d.setEndAfter(l)),S.setRng(d),r.undoManager.add(),m}}),C({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(e){var t="align"+e.substring(7),n=S.isCollapsed()?[k.getParent(S.getNode(),k.isBlock)]:S.getSelectedBlocks(),r=c(n,function(e){return!!A.matchNode(e,t)});return-1!==u(r,m)},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){return w(e)},mceBlockQuote:function(){return w("blockquote")},Outdent:function(){var e;if(R.inline_styles){if((e=k.getParent(S.getStart(),k.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return m;if((e=k.getParent(S.getEnd(),k.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return m}return y("InsertUnorderedList")||y("InsertOrderedList")||!R.inline_styles&&!!k.getParent(S.getNode(),"BLOCKQUOTE")},"InsertUnorderedList,InsertOrderedList":function(e){var t=k.getParent(S.getNode(),"ul,ol");return t&&("insertunorderedlist"===e&&"UL"===t.tagName||"insertorderedlist"===e&&"OL"===t.tagName)}},"state"),C({"FontSize,FontName":function(e){var t=0,n;return(n=k.getParent(S.getNode(),"span"))&&(t="fontsize"==e?n.style.fontSize:n.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()),t}},"value"),C({Undo:function(){r.undoManager.undo()},Redo:function(){r.undoManager.redo()}})}}),r(V,[u],function(e){function t(e,o){var a=this,s,l;if(e=r(e),o=a.settings=o||{},s=o.base_uri,/^([\w\-]+):([^\/]{2})/i.test(e)||/^\s*#/.test(e))return void(a.source=e);var c=0===e.indexOf("//");0!==e.indexOf("/")||c||(e=(s?s.protocol||"http":"http")+"://mce_host"+e),/^[\w\-]*:?\/\//.test(e)||(l=o.base_uri?o.base_uri.path:new t(location.href).directory,""===o.base_uri.protocol?e="//mce_host"+a.toAbsPath(l,e):(e=/([^#?]*)([#?]?.*)/.exec(e),e=(s&&s.protocol||"http")+"://mce_host"+a.toAbsPath(l,e[1])+e[2])),e=e.replace(/@@/g,"(mce_at)"),e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e),n(i,function(t,n){var r=e[n];r&&(r=r.replace(/\(mce_at\)/g,"@@")),a[t]=r}),s&&(a.protocol||(a.protocol=s.protocol),a.userInfo||(a.userInfo=s.userInfo),a.port||"mce_host"!==a.host||(a.port=s.port),a.host&&"mce_host"!==a.host||(a.host=s.host),a.source=""),c&&(a.protocol="")}var n=e.each,r=e.trim,i="source protocol authority userInfo user password host port relative path directory file query anchor".split(" "),o={ftp:21,http:80,https:443,mailto:25};return t.prototype={setPath:function(e){var t=this;e=/^(.*?)\/?(\w+)?$/.exec(e),t.path=e[0],t.directory=e[1],t.file=e[2],t.source="",t.getURI()},toRelative:function(e){var n=this,r;if("./"===e)return e;if(e=new t(e,{base_uri:n}),"mce_host"!=e.host&&n.host!=e.host&&e.host||n.port!=e.port||n.protocol!=e.protocol&&""!==e.protocol)return e.getURI();var i=n.getURI(),o=e.getURI();return i==o||"/"==i.charAt(i.length-1)&&i.substr(0,i.length-1)==o?i:(r=n.toRelPath(n.path,e.path),e.query&&(r+="?"+e.query),e.anchor&&(r+="#"+e.anchor),r)},toAbsolute:function(e,n){return e=new t(e,{base_uri:this}),e.getURI(n&&this.isSameOrigin(e))},isSameOrigin:function(e){if(this.host==e.host&&this.protocol==e.protocol){if(this.port==e.port)return!0;var t=o[this.protocol];if(t&&(this.port||t)==(e.port||t))return!0}return!1},toRelPath:function(e,t){var n,r=0,i="",o,a;if(e=e.substring(0,e.lastIndexOf("/")),e=e.split("/"),n=t.split("/"),e.length>=n.length)for(o=0,a=e.length;a>o;o++)if(o>=n.length||e[o]!=n[o]){r=o+1;break}if(e.length<n.length)for(o=0,a=n.length;a>o;o++)if(o>=e.length||e[o]!=n[o]){r=o+1;break}if(1===r)return t;for(o=0,a=e.length-(r-1);a>o;o++)i+="../";for(o=r-1,a=n.length;a>o;o++)i+=o!=r-1?"/"+n[o]:n[o];return i},toAbsPath:function(e,t){var r,i=0,o=[],a,s;for(a=/\/$/.test(t)?"/":"",e=e.split("/"),t=t.split("/"),n(e,function(e){e&&o.push(e)}),e=o,r=t.length-1,o=[];r>=0;r--)0!==t[r].length&&"."!==t[r]&&(".."!==t[r]?i>0?i--:o.push(t[r]):i++);return r=e.length-i,s=0>=r?o.reverse().join("/"):e.slice(0,r).join("/")+"/"+o.reverse().join("/"),0!==s.indexOf("/")&&(s="/"+s),a&&s.lastIndexOf("/")!==s.length-1&&(s+=a),s},getURI:function(e){var t,n=this;return(!n.source||e)&&(t="",e||(t+=n.protocol?n.protocol+"://":"//",n.userInfo&&(t+=n.userInfo+"@"),n.host&&(t+=n.host),n.port&&(t+=":"+n.port)),n.path&&(t+=n.path),n.query&&(t+="?"+n.query),n.anchor&&(t+="#"+n.anchor),n.source=t),n.source}},t}),r(U,[u],function(e){function t(){}var n=e.each,r=e.extend,i,o;return t.extend=i=function(e){function t(){var e,t,n,r=this;if(!o&&(r.init&&r.init.apply(r,arguments),t=r.Mixins))for(e=t.length;e--;)n=t[e],n.init&&n.init.apply(r,arguments)}function a(){return this}function s(e,t){return function(){var n=this,r=n._super,i;return n._super=c[e],i=t.apply(n,arguments),n._super=r,i}}var l=this,c=l.prototype,u,d,f;o=!0,u=new l,o=!1,e.Mixins&&(n(e.Mixins,function(t){t=t;for(var n in t)"init"!==n&&(e[n]=t[n])}),c.Mixins&&(e.Mixins=c.Mixins.concat(e.Mixins))),e.Methods&&n(e.Methods.split(","),function(t){e[t]=a}),e.Properties&&n(e.Properties.split(","),function(t){var n="_"+t;e[t]=function(e){var t=this,r;return e!==r?(t[n]=e,t):t[n]}}),e.Statics&&n(e.Statics,function(e,n){t[n]=e}),e.Defaults&&c.Defaults&&(e.Defaults=r({},c.Defaults,e.Defaults));for(d in e)f=e[d],u[d]="function"==typeof f&&c[d]?s(d,f):f;return t.prototype=u,t.constructor=t,t.extend=i,t},t}),r($,[u],function(e){function t(e){function t(){return!1}function n(){return!0}function r(r,i){var a,s,l,d;if(r=r.toLowerCase(),i=i||{},i.type=r,i.target||(i.target=c),i.preventDefault||(i.preventDefault=function(){i.isDefaultPrevented=n},i.stopPropagation=function(){i.isPropagationStopped=n},i.stopImmediatePropagation=function(){i.isImmediatePropagationStopped=n},i.isDefaultPrevented=t,i.isPropagationStopped=t,i.isImmediatePropagationStopped=t),e.beforeFire&&e.beforeFire(i),a=u[r])for(s=0,l=a.length;l>s;s++){if(a[s]=d=a[s],d.once&&o(r,d),i.isImmediatePropagationStopped())return i.stopPropagation(),i;if(d.call(c,i)===!1)return i.preventDefault(),i}return i}function i(e,n,r){var i,o,a;if(n===!1&&(n=t),n)for(o=e.toLowerCase().split(" "),a=o.length;a--;)e=o[a],i=u[e],i||(i=u[e]=[],d(e,!0)),r?i.unshift(n):i.push(n);return l}function o(e,t){var n,r,i,o,a;if(e)for(o=e.toLowerCase().split(" "),n=o.length;n--;){if(e=o[n],r=u[e],!e){for(i in u)d(i,!1),delete u[i];return l}if(r){if(t)for(a=r.length;a--;)r[a]===t&&(r=r.slice(0,a).concat(r.slice(a+1)),u[e]=r);else r.length=0;r.length||(d(e,!1),delete u[e])}}else{for(e in u)d(e,!1);u={}}return l}function a(e,t,n){return t.once=!0,i(e,t,n)}function s(e){return e=e.toLowerCase(),!(!u[e]||0===u[e].length)}var l=this,c,u={},d;e=e||{},c=e.scope||l,d=e.toggleEvent||t,l.fire=r,l.on=i,l.off=o,l.once=a,l.has=s}var n=e.makeMap("focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave wheel keydown keypress keyup input contextmenu dragstart dragend dragover draggesture dragdrop drop drag submit compositionstart compositionend compositionupdate touchstart touchend"," ");return t.isNative=function(e){return!!n[e.toLowerCase()]},t}),r(q,[U],function(e){function t(e){for(var t=[],n=e.length,r;n--;)r=e[n],r.__checked||(t.push(r),r.__checked=1);for(n=t.length;n--;)delete t[n].__checked;return t}var n=/^([\w\\*]+)?(?:#([\w\\]+))?(?:\.([\w\\\.]+))?(?:\[\@?([\w\\]+)([\^\$\*!~]?=)([\w\\]+)\])?(?:\:(.+))?/i,r=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,i=/^\s*|\s*$/g,o,a=e.extend({init:function(e){function t(e){return e?(e=e.toLowerCase(),function(t){return"*"===e||t.type===e}):void 0}function o(e){return e?function(t){return t._name===e}:void 0}function a(e){return e?(e=e.split("."),function(t){for(var n=e.length;n--;)if(!t.hasClass(e[n]))return!1;return!0}):void 0}function s(e,t,n){return e?function(r){var i=r[e]?r[e]():"";return t?"="===t?i===n:"*="===t?i.indexOf(n)>=0:"~="===t?(" "+i+" ").indexOf(" "+n+" ")>=0:"!="===t?i!=n:"^="===t?0===i.indexOf(n):"$="===t?i.substr(i.length-n.length)===n:!1:!!n}:void 0}function l(e){var t;return e?(e=/(?:not\((.+)\))|(.+)/i.exec(e),e[1]?(t=u(e[1],[]),function(e){return!d(e,t)}):(e=e[2],function(t,n,r){return"first"===e?0===n:"last"===e?n===r-1:"even"===e?n%2===0:"odd"===e?n%2===1:t[e]?t[e]():!1})):void 0}function c(e,r,c){function u(e){e&&r.push(e)}var d;return d=n.exec(e.replace(i,"")),u(t(d[1])),u(o(d[2])),u(a(d[3])),u(s(d[4],d[5],d[6])),u(l(d[7])),r.psuedo=!!d[7],r.direct=c,r}function u(e,t){var n=[],i,o,a;do if(r.exec(""),o=r.exec(e),o&&(e=o[3],n.push(o[1]),o[2])){i=o[3];break}while(o);for(i&&u(i,t),e=[],a=0;a<n.length;a++)">"!=n[a]&&e.push(c(n[a],[],">"===n[a-1]));return t.push(e),t}var d=this.match;this._selectors=u(e,[])},match:function(e,t){var n,r,i,o,a,s,l,c,u,d,f,p,h;for(t=t||this._selectors,n=0,r=t.length;r>n;n++){for(a=t[n],o=a.length,h=e,p=0,i=o-1;i>=0;i--)for(c=a[i];h;){if(c.psuedo)for(f=h.parent().items(),u=d=f.length;u--&&f[u]!==h;);for(s=0,l=c.length;l>s;s++)if(!c[s](h,u,d)){s=l+1;break}if(s===l){p++;break}if(i===o-1)break;h=h.parent()}if(p===o)return!0}return!1},find:function(e){function n(e,t,i){var o,a,s,l,c,u=t[i];for(o=0,a=e.length;a>o;o++){for(c=e[o],s=0,l=u.length;l>s;s++)if(!u[s](c,o,a)){s=l+1;break}if(s===l)i==t.length-1?r.push(c):c.items&&n(c.items(),t,i+1);else if(u.direct)return;c.items&&n(c.items(),t,i)}}var r=[],i,s,l=this._selectors;if(e.items){for(i=0,s=l.length;s>i;i++)n(e.items(),l[i],0);s>1&&(r=t(r))}return o||(o=a.Collection),new o(r)}});return a}),r(j,[u,q,U],function(e,t,n){var r,i,o=Array.prototype.push,a=Array.prototype.slice;return i={length:0,init:function(e){e&&this.add(e)},add:function(t){var n=this;return e.isArray(t)?o.apply(n,t):t instanceof r?n.add(t.toArray()):o.call(n,t),n},set:function(e){var t=this,n=t.length,r;for(t.length=0,t.add(e),r=t.length;n>r;r++)delete t[r];return t},filter:function(e){var n=this,i,o,a=[],s,l;for("string"==typeof e?(e=new t(e),l=function(t){return e.match(t)}):l=e,i=0,o=n.length;o>i;i++)s=n[i],l(s)&&a.push(s);return new r(a)},slice:function(){return new r(a.apply(this,arguments))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},each:function(t){return e.each(this,t),this},toArray:function(){return e.toArray(this)},indexOf:function(e){for(var t=this,n=t.length;n--&&t[n]!==e;);return n},reverse:function(){return new r(e.toArray(this).reverse())},hasClass:function(e){return this[0]?this[0].hasClass(e):!1},prop:function(e,t){var n=this,r,i;return t!==r?(n.each(function(n){n[e]&&n[e](t)}),n):(i=n[0],i&&i[e]?i[e]():void 0)},exec:function(t){var n=this,r=e.toArray(arguments).slice(1);return n.each(function(e){e[t]&&e[t].apply(e,r)}),n},remove:function(){for(var e=this.length;e--;)this[e].remove();return this}},e.each("fire on off show hide addClass removeClass append prepend before after reflow".split(" "),function(t){i[t]=function(){var n=e.toArray(arguments);return this.each(function(e){t in e&&e[t].apply(e,n)}),this}}),e.each("text name disabled active selected checked visible parent value data".split(" "),function(e){i[e]=function(t){return this.prop(e,t)}}),r=n.extend(i),t.Collection=r,r}),r(Y,[u,y],function(e,t){var n=0;return{id:function(){return"mceu_"+n++},createFragment:function(e){return t.DOM.createFragment(e)},getWindowSize:function(){return t.DOM.getViewPort()},getSize:function(e){var t,n;if(e.getBoundingClientRect){var r=e.getBoundingClientRect();t=Math.max(r.width||r.right-r.left,e.offsetWidth),n=Math.max(r.height||r.bottom-r.bottom,e.offsetHeight)}else t=e.offsetWidth,n=e.offsetHeight;return{width:t,height:n}},getPos:function(e,n){return t.DOM.getPos(e,n)},getViewPort:function(e){return t.DOM.getViewPort(e)},get:function(e){return document.getElementById(e)},addClass:function(e,n){return t.DOM.addClass(e,n)},removeClass:function(e,n){return t.DOM.removeClass(e,n)},hasClass:function(e,n){return t.DOM.hasClass(e,n)},toggleClass:function(e,n,r){return t.DOM.toggleClass(e,n,r)},css:function(e,n,r){return t.DOM.setStyle(e,n,r)},on:function(e,n,r,i){return t.DOM.bind(e,n,r,i)},off:function(e,n,r){return t.DOM.unbind(e,n,r)},fire:function(e,n,r){return t.DOM.fire(e,n,r)},innerHtml:function(e,n){t.DOM.setHTML(e,n)}}}),r(K,[U,u,$,j,Y],function(e,t,n,r,i){function o(e){return e._eventDispatcher||(e._eventDispatcher=new n({scope:e,toggleEvent:function(t,r){r&&n.isNative(t)&&(e._nativeEvents||(e._nativeEvents={}),e._nativeEvents[t]=!0,e._rendered&&e.bindPendingEvents())}})),e._eventDispatcher}var a="onmousewheel"in document,s=!1,l="mce-",c=e.extend({Statics:{classPrefix:l},isRtl:function(){return c.rtl},classPrefix:l,init:function(e){var n=this,r,o;if(n.settings=e=t.extend({},n.Defaults,e),n._id=e.id||i.id(),n._text=n._name="",n._width=n._height=0,n._aria={role:e.role},this._elmCache={},r=e.classes)for(r=r.split(" "),r.map={},o=r.length;o--;)r.map[r[o]]=!0;n._classes=r||[],n.visible(!0),t.each("title text width height name classes visible disabled active value".split(" "),function(t){var r=e[t],i;r!==i?n[t](r):n["_"+t]===i&&(n["_"+t]=!1)}),n.on("click",function(){return n.disabled()?!1:void 0}),e.classes&&t.each(e.classes.split(" "),function(e){n.addClass(e)}),n.settings=e,n._borderBox=n.parseBox(e.border),n._paddingBox=n.parseBox(e.padding),n._marginBox=n.parseBox(e.margin),e.hidden&&n.hide()},Properties:"parent,title,text,width,height,disabled,active,name,value",Methods:"renderHtml",getContainerElm:function(){return document.body},getParentCtrl:function(e){for(var t,n=this.getRoot().controlIdLookup;e&&n&&!(t=n[e.id]);)e=e.parentNode;return t},parseBox:function(e){var t,n=10;if(e)return"number"==typeof e?(e=e||0,{top:e,left:e,bottom:e,right:e}):(e=e.split(" "),t=e.length,1===t?e[1]=e[2]=e[3]=e[0]:2===t?(e[2]=e[0],e[3]=e[1]):3===t&&(e[3]=e[1]),{top:parseInt(e[0],n)||0,right:parseInt(e[1],n)||0,bottom:parseInt(e[2],n)||0,left:parseInt(e[3],n)||0})},borderBox:function(){return this._borderBox},paddingBox:function(){return this._paddingBox},marginBox:function(){return this._marginBox},measureBox:function(e,t){function n(t){var n=document.defaultView;return n?(t=t.replace(/[A-Z]/g,function(e){return"-"+e}),n.getComputedStyle(e,null).getPropertyValue(t)):e.currentStyle[t]}function r(e){var t=parseFloat(n(e),10);return isNaN(t)?0:t}return{top:r(t+"TopWidth"),right:r(t+"RightWidth"),bottom:r(t+"BottomWidth"),left:r(t+"LeftWidth")}},initLayoutRect:function(){var e=this,t=e.settings,n,r,o=e.getEl(),a,s,l,c,u,d,f,p;n=e._borderBox=e._borderBox||e.measureBox(o,"border"),e._paddingBox=e._paddingBox||e.measureBox(o,"padding"),e._marginBox=e._marginBox||e.measureBox(o,"margin"),p=i.getSize(o),d=t.minWidth,f=t.minHeight,l=d||p.width,c=f||p.height,a=t.width,s=t.height,u=t.autoResize,u="undefined"!=typeof u?u:!a&&!s,a=a||l,s=s||c;var h=n.left+n.right,m=n.top+n.bottom,g=t.maxWidth||65535,v=t.maxHeight||65535;return e._layoutRect=r={x:t.x||0,y:t.y||0,w:a,h:s,deltaW:h,deltaH:m,contentW:a-h,contentH:s-m,innerW:a-h,innerH:s-m,startMinWidth:d||0,startMinHeight:f||0,minW:Math.min(l,g),minH:Math.min(c,v),maxW:g,maxH:v,autoResize:u,scrollW:0},e._lastLayoutRect={},r},layoutRect:function(e){var t=this,n=t._layoutRect,r,i,o,a,s,l;return n||(n=t.initLayoutRect()),e?(o=n.deltaW,a=n.deltaH,e.x!==s&&(n.x=e.x),e.y!==s&&(n.y=e.y),e.minW!==s&&(n.minW=e.minW),e.minH!==s&&(n.minH=e.minH),i=e.w,i!==s&&(i=i<n.minW?n.minW:i,i=i>n.maxW?n.maxW:i,n.w=i,n.innerW=i-o),i=e.h,i!==s&&(i=i<n.minH?n.minH:i,i=i>n.maxH?n.maxH:i,n.h=i,n.innerH=i-a),i=e.innerW,i!==s&&(i=i<n.minW-o?n.minW-o:i,i=i>n.maxW-o?n.maxW-o:i,n.innerW=i,n.w=i+o),i=e.innerH,i!==s&&(i=i<n.minH-a?n.minH-a:i,i=i>n.maxH-a?n.maxH-a:i,n.innerH=i,n.h=i+a),e.contentW!==s&&(n.contentW=e.contentW),e.contentH!==s&&(n.contentH=e.contentH),r=t._lastLayoutRect,(r.x!==n.x||r.y!==n.y||r.w!==n.w||r.h!==n.h)&&(l=c.repaintControls,l&&l.map&&!l.map[t._id]&&(l.push(t),l.map[t._id]=!0),r.x=n.x,r.y=n.y,r.w=n.w,r.h=n.h),t):n},repaint:function(){var e=this,t,n,r,i,o=0,a=0,s,l;l=document.createRange?function(e){return e}:Math.round,t=e.getEl().style,r=e._layoutRect,s=e._lastRepaintRect||{},i=e._borderBox,o=i.left+i.right,a=i.top+i.bottom,r.x!==s.x&&(t.left=l(r.x)+"px",s.x=r.x),r.y!==s.y&&(t.top=l(r.y)+"px",s.y=r.y),r.w!==s.w&&(t.width=l(r.w-o)+"px",s.w=r.w),r.h!==s.h&&(t.height=l(r.h-a)+"px",s.h=r.h),e._hasBody&&r.innerW!==s.innerW&&(n=e.getEl("body").style,n.width=l(r.innerW)+"px",s.innerW=r.innerW),e._hasBody&&r.innerH!==s.innerH&&(n=n||e.getEl("body").style,n.height=l(r.innerH)+"px",s.innerH=r.innerH),e._lastRepaintRect=s,e.fire("repaint",{},!1)},on:function(e,t){function n(e){var t,n;return"string"!=typeof e?e:function(i){return t||r.parentsAndSelf().each(function(r){var i=r.settings.callbacks;return i&&(t=i[e])?(n=r,!1):void 0}),t.call(n,i)}}var r=this;return o(r).on(e,n(t)),r},off:function(e,t){return o(this).off(e,t),this},fire:function(e,t,n){var r=this;if(t=t||{},t.control||(t.control=r),t=o(r).fire(e,t),n!==!1&&r.parent)for(var i=r.parent();i&&!t.isPropagationStopped();)i.fire(e,t,!1),i=i.parent();return t},hasEventListeners:function(e){return o(this).has(e)},parents:function(e){var t=this,n,i=new r;for(n=t.parent();n;n=n.parent())i.add(n);return e&&(i=i.filter(e)),i},parentsAndSelf:function(e){return new r(this).add(this.parents(e))},next:function(){var e=this.parent().items();return e[e.indexOf(this)+1]},prev:function(){var e=this.parent().items();return e[e.indexOf(this)-1]},findCommonAncestor:function(e,t){for(var n;e;){for(n=t;n&&e!=n;)n=n.parent();if(e==n)break;e=e.parent()}return e},hasClass:function(e,t){var n=this._classes[t||"control"];return e=this.classPrefix+e,n&&!!n.map[e]},addClass:function(e,t){var n=this,r,i;return e=this.classPrefix+e,r=n._classes[t||"control"],r||(r=[],r.map={},n._classes[t||"control"]=r),r.map[e]||(r.map[e]=e,r.push(e),n._rendered&&(i=n.getEl(t),i&&(i.className=r.join(" ")))),n},removeClass:function(e,t){var n=this,r,i,o;if(e=this.classPrefix+e,r=n._classes[t||"control"],r&&r.map[e])for(delete r.map[e],i=r.length;i--;)r[i]===e&&r.splice(i,1);return n._rendered&&(o=n.getEl(t),o&&(o.className=r.join(" "))),n},toggleClass:function(e,t,n){var r=this;return t?r.addClass(e,n):r.removeClass(e,n),r},classes:function(e){var t=this._classes[e||"control"];return t?t.join(" "):""},innerHtml:function(e){return i.innerHtml(this.getEl(),e),this},getEl:function(e){var t=e?this._id+"-"+e:this._id;return this._elmCache[t]||(this._elmCache[t]=i.get(t)),this._elmCache[t]},visible:function(e){var t=this,n;return"undefined"!=typeof e?(t._visible!==e&&(t._rendered&&(t.getEl().style.display=e?"":"none"),t._visible=e,n=t.parent(),n&&(n._lastRect=null),t.fire(e?"show":"hide")),t):t._visible},show:function(){return this.visible(!0)},hide:function(){return this.visible(!1)},focus:function(){try{this.getEl().focus()}catch(e){}return this},blur:function(){return this.getEl().blur(),this},aria:function(e,t){var n=this,r=n.getEl(n.ariaTarget);return"undefined"==typeof t?n._aria[e]:(n._aria[e]=t,n._rendered&&r.setAttribute("role"==e?e:"aria-"+e,t),n)},encode:function(e,t){return t!==!1&&(e=this.translate(e)),(e||"").replace(/[&<>"]/g,function(e){return"&#"+e.charCodeAt(0)+";"})},translate:function(e){return c.translate?c.translate(e):e},before:function(e){var t=this,n=t.parent();return n&&n.insert(e,n.items().indexOf(t),!0),t},after:function(e){var t=this,n=t.parent();return n&&n.insert(e,n.items().indexOf(t)),t},remove:function(){var e=this,t=e.getEl(),n=e.parent(),r,o;if(e.items){var a=e.items().toArray();for(o=a.length;o--;)a[o].remove()}n&&n.items&&(r=[],n.items().each(function(t){t!==e&&r.push(t)}),n.items().set(r),n._lastRect=null),e._eventsRoot&&e._eventsRoot==e&&i.off(t);var s=e.getRoot().controlIdLookup;return s&&delete s[e._id],t&&t.parentNode&&t.parentNode.removeChild(t),e._rendered=!1,e},renderBefore:function(e){var t=this;return e.parentNode.insertBefore(i.createFragment(t.renderHtml()),e),t.postRender(),t},renderTo:function(e){var t=this;return e=e||t.getContainerElm(),e.appendChild(i.createFragment(t.renderHtml())),t.postRender(),t},postRender:function(){var e=this,t=e.settings,n,r,o,a,s;for(a in t)0===a.indexOf("on")&&e.on(a.substr(2),t[a]);if(e._eventsRoot){for(o=e.parent();!s&&o;o=o.parent())s=o._eventsRoot;if(s)for(a in s._nativeEvents)e._nativeEvents[a]=!0}e.bindPendingEvents(),t.style&&(n=e.getEl(),n&&(n.setAttribute("style",t.style),n.style.cssText=t.style)),e._visible||i.css(e.getEl(),"display","none"),e.settings.border&&(r=e.borderBox(),i.css(e.getEl(),{"border-top-width":r.top,"border-right-width":r.right,"border-bottom-width":r.bottom,"border-left-width":r.left}));var l=e.getRoot();l.controlIdLookup||(l.controlIdLookup={}),l.controlIdLookup[e._id]=e;for(var c in e._aria)e.aria(c,e._aria[c]);e.fire("postrender",{},!1)},scrollIntoView:function(e){function t(e,t){var n,r,i=e;for(n=r=0;i&&i!=t&&i.nodeType;)n+=i.offsetLeft||0,r+=i.offsetTop||0,i=i.offsetParent;return{x:n,y:r}}var n=this.getEl(),r=n.parentNode,i,o,a,s,l,c,u=t(n,r);return i=u.x,o=u.y,a=n.offsetWidth,s=n.offsetHeight,l=r.clientWidth,c=r.clientHeight,"end"==e?(i-=l-a,o-=c-s):"center"==e&&(i-=l/2-a/2,o-=c/2-s/2),r.scrollLeft=i,r.scrollTop=o,this},bindPendingEvents:function(){function e(e){var t=o.getParentCtrl(e.target);t&&t.fire(e.type,e)}function t(){var e=d._lastHoverCtrl;e&&(e.fire("mouseleave",{target:e.getEl()}),e.parents().each(function(e){e.fire("mouseleave",{target:e.getEl()})}),d._lastHoverCtrl=null)}function n(e){var t=o.getParentCtrl(e.target),n=d._lastHoverCtrl,r=0,i,a,s;if(t!==n){if(d._lastHoverCtrl=t,a=t.parents().toArray().reverse(),a.push(t),n){for(s=n.parents().toArray().reverse(),s.push(n),r=0;r<s.length&&a[r]===s[r];r++);for(i=s.length-1;i>=r;i--)n=s[i],n.fire("mouseleave",{target:n.getEl()})}for(i=r;i<a.length;i++)t=a[i],t.fire("mouseenter",{target:t.getEl()})}}function r(e){e.preventDefault(),"mousewheel"==e.type?(e.deltaY=-1/40*e.wheelDelta,e.wheelDeltaX&&(e.deltaX=-1/40*e.wheelDeltaX)):(e.deltaX=0,e.deltaY=e.detail),e=o.fire("wheel",e)}var o=this,l,c,u,d,f,p;if(o._rendered=!0,f=o._nativeEvents){for(u=o.parents().toArray(),u.unshift(o),l=0,c=u.length;!d&&c>l;l++)d=u[l]._eventsRoot;for(d||(d=u[u.length-1]||o),o._eventsRoot=d,c=l,l=0;c>l;l++)u[l]._eventsRoot=d;var h=d._delegates;h||(h=d._delegates={});for(p in f){if(!f)return!1;"wheel"!==p||s?("mouseenter"===p||"mouseleave"===p?d._hasMouseEnter||(i.on(d.getEl(),"mouseleave",t),i.on(d.getEl(),"mouseover",n),d._hasMouseEnter=1):h[p]||(i.on(d.getEl(),p,e),h[p]=!0),f[p]=!1):a?i.on(o.getEl(),"mousewheel",r):i.on(o.getEl(),"DOMMouseScroll",r)}}},getRoot:function(){for(var e=this,t,n=[];e;){if(e.rootControl){t=e.rootControl;break}n.push(e),t=e,e=e.parent()}t||(t=this);for(var r=n.length;r--;)n[r].rootControl=t;return t},reflow:function(){return this.repaint(),this}});return c}),r(G,[],function(){var e={},t;return{add:function(t,n){e[t.toLowerCase()]=n},has:function(t){return!!e[t.toLowerCase()]},create:function(n,r){var i,o,a;if(!t){a=tinymce.ui;for(o in a)e[o.toLowerCase()]=a[o];t=!0}if("string"==typeof n?(r=r||{},r.type=n):(r=n,n=r.type),n=n.toLowerCase(),i=e[n],!i)throw new Error("Could not find control by type: "+n);return i=new i(r),i.type=n,i}}}),r(X,[],function(){return function(e){function t(e){return e=e||b,e&&e.getAttribute("role")}function n(e){for(var n,r=e||b;r=r.parentNode;)if(n=t(r))return n}function r(e){var t=b;return t?t.getAttribute("aria-"+e):void 0}function i(e){var t=e.tagName.toUpperCase();return"INPUT"==t||"TEXTAREA"==t}function o(e){return i(e)&&!e.hidden?!0:/^(button|menuitem|checkbox|tab|menuitemcheckbox|option|gridcell)$/.test(t(e))?!0:!1}function a(e){function t(e){if(1==e.nodeType&&"none"!=e.style.display){o(e)&&n.push(e);for(var r=0;r<e.childNodes.length;r++)t(e.childNodes[r])}}var n=[];return t(e||y.getEl()),n}function s(e){var t,n;e=e||C,n=e.parents().toArray(),n.unshift(e);for(var r=0;r<n.length&&(t=n[r],!t.settings.ariaRoot);r++);return t}function l(e){var t=s(e),n=a(t.getEl());t.settings.ariaRemember&&"lastAriaIndex"in t?c(t.lastAriaIndex,n):c(0,n)}function c(e,t){return 0>e?e=t.length-1:e>=t.length&&(e=0),t[e]&&t[e].focus(),e}function u(e,t){var n=-1,r=s();t=t||a(r.getEl());for(var i=0;i<t.length;i++)t[i]===b&&(n=i);n+=e,r.lastAriaIndex=c(n,t)}function d(){var e=n();"tablist"==e?u(-1,a(b.parentNode)):C.parent().submenu?g():u(-1)}function f(){var e=t(),i=n();"tablist"==i?u(1,a(b.parentNode)):"menuitem"==e&&"menu"==i&&r("haspopup")?v():u(1)}function p(){u(-1)}function h(){var e=t(),i=n();"menuitem"==e&&"menubar"==i?v():"button"==e&&r("haspopup")?v({key:"down"}):u(1)}function m(e){var t=n();if("tablist"==t){var r=a(C.getEl("body"))[0];r&&r.focus()}else u(e.shiftKey?-1:1)}function g(){C.fire("cancel")}function v(e){e=e||{},C.fire("click",{target:b,aria:e})}var y=e.root,b,C;try{b=document.activeElement}catch(x){b=document.body}return C=y.getParentCtrl(b),y.on("keydown",function(e){function t(e,t){i(b)||t(e)!==!1&&e.preventDefault()}if(!e.isDefaultPrevented())switch(e.keyCode){case 37:t(e,d);break;case 39:t(e,f);break;case 38:t(e,p);break;case 40:t(e,h);break;case 27:g();break;case 14:case 13:case 32:t(e,v);break;case 9:m(e)!==!1&&e.preventDefault()}}),y.on("focusin",function(e){b=e.target,C=e.control}),{focusFirst:l}}}),r(J,[K,j,q,G,X,u,Y],function(e,t,n,r,i,o,a){var s={};return e.extend({layout:"",innerClass:"container-inner",init:function(e){var n=this;n._super(e),e=n.settings,n._fixed=e.fixed,n._items=new t,n.isRtl()&&n.addClass("rtl"),n.addClass("container"),n.addClass("container-body","body"),e.containerCls&&n.addClass(e.containerCls),n._layout=r.create((e.layout||n.layout)+"layout"),n.settings.items&&n.add(n.settings.items),n._hasBody=!0},items:function(){return this._items},find:function(e){return e=s[e]=s[e]||new n(e),e.find(this)},add:function(e){var t=this;return t.items().add(t.create(e)).parent(t),t},focus:function(e){var t=this,n,r,i;return e&&(r=t.keyboardNav||t.parents().eq(-1)[0].keyboardNav)?void r.focusFirst(t):(i=t.find("*"),t.statusbar&&i.add(t.statusbar.items()),i.each(function(e){return e.settings.autofocus?(n=null,!1):void(e.canFocus&&(n=n||e))}),n&&n.focus(),t)},replace:function(e,t){for(var n,r=this.items(),i=r.length;i--;)if(r[i]===e){r[i]=t;break}i>=0&&(n=t.getEl(),n&&n.parentNode.removeChild(n),n=e.getEl(),n&&n.parentNode.removeChild(n)),t.parent(this)},create:function(t){var n=this,i,a=[];return o.isArray(t)||(t=[t]),o.each(t,function(t){t&&(t instanceof e||("string"==typeof t&&(t={type:t}),i=o.extend({},n.settings.defaults,t),t.type=i.type=i.type||t.type||n.settings.defaultType||(i.defaults?i.defaults.type:null),t=r.create(i)),a.push(t))}),a},renderNew:function(){var e=this;return e.items().each(function(t,n){var r,i;t.parent(e),t._rendered||(r=e.getEl("body"),i=a.createFragment(t.renderHtml()),r.hasChildNodes()&&n<=r.childNodes.length-1?r.insertBefore(i,r.childNodes[n]):r.appendChild(i),t.postRender())}),e._layout.applyClasses(e),e._lastRect=null,e},append:function(e){return this.add(e).renderNew()},prepend:function(e){var t=this;return t.items().set(t.create(e).concat(t.items().toArray())),t.renderNew()},insert:function(e,t,n){var r=this,i,o,a;return e=r.create(e),i=r.items(),!n&&t<i.length-1&&(t+=1),t>=0&&t<i.length&&(o=i.slice(0,t).toArray(),a=i.slice(t).toArray(),i.set(o.concat(e,a))),r.renderNew()},fromJSON:function(e){var t=this;for(var n in e)t.find("#"+n).value(e[n]);return t},toJSON:function(){var e=this,t={};return e.find("*").each(function(e){var n=e.name(),r=e.value();n&&"undefined"!=typeof r&&(t[n]=r)}),t},preRender:function(){},renderHtml:function(){var e=this,t=e._layout,n=this.settings.role;return e.preRender(),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes()+'"'+(n?' role="'+this.settings.role+'"':"")+'><div id="'+e._id+'-body" class="'+e.classes("body")+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"},postRender:function(){var e=this,t;return e.items().exec("postRender"),e._super(),e._layout.postRender(e),e._rendered=!0,e.settings.style&&a.css(e.getEl(),e.settings.style),e.settings.border&&(t=e.borderBox(),a.css(e.getEl(),{"border-top-width":t.top,"border-right-width":t.right,"border-bottom-width":t.bottom,"border-left-width":t.left})),e.parent()||(e.keyboardNav=new i({root:e})),e},initLayoutRect:function(){var e=this,t=e._super();return e._layout.recalc(e),t},recalc:function(){var e=this,t=e._layoutRect,n=e._lastRect;return n&&n.w==t.w&&n.h==t.h?void 0:(e._layout.recalc(e),t=e.layoutRect(),e._lastRect={x:t.x,y:t.y,w:t.w,h:t.h},!0)},reflow:function(){var t;if(this.visible()){for(e.repaintControls=[],e.repaintControls.map={},this.recalc(),t=e.repaintControls.length;t--;)e.repaintControls[t].repaint();
+"flow"!==this.settings.layout&&"stack"!==this.settings.layout&&this.repaint(),e.repaintControls=[]}return this}})}),r(Q,[Y],function(e){function t(){var e=document,t,n,r,i,o,a,s,l,c=Math.max;return t=e.documentElement,n=e.body,r=c(t.scrollWidth,n.scrollWidth),i=c(t.clientWidth,n.clientWidth),o=c(t.offsetWidth,n.offsetWidth),a=c(t.scrollHeight,n.scrollHeight),s=c(t.clientHeight,n.clientHeight),l=c(t.offsetHeight,n.offsetHeight),{width:o>r?i:r,height:l>a?s:a}}return function(n,r){function i(){return a.getElementById(r.handle||n)}var o,a=document,s,l,c,u,d,f;r=r||{},l=function(n){var l=t(),p,h;n.preventDefault(),s=n.button,p=i(),d=n.screenX,f=n.screenY,h=window.getComputedStyle?window.getComputedStyle(p,null).getPropertyValue("cursor"):p.runtimeStyle.cursor,o=a.createElement("div"),e.css(o,{position:"absolute",top:0,left:0,width:l.width,height:l.height,zIndex:2147483647,opacity:1e-4,cursor:h}),a.body.appendChild(o),e.on(a,"mousemove",u),e.on(a,"mouseup",c),r.start(n)},u=function(e){return e.button!==s?c(e):(e.deltaX=e.screenX-d,e.deltaY=e.screenY-f,e.preventDefault(),void r.drag(e))},c=function(t){e.off(a,"mousemove",u),e.off(a,"mouseup",c),o.parentNode.removeChild(o),r.stop&&r.stop(t)},this.destroy=function(){e.off(i())},e.on(i(),"mousedown",l)}}),r(Z,[Y,Q],function(e,t){return{init:function(){var e=this;e.on("repaint",e.renderScroll)},renderScroll:function(){function n(){function t(t,a,s,l,c,u){var d,f,p,h,m,g,v,y,b;if(f=i.getEl("scroll"+t)){if(y=a.toLowerCase(),b=s.toLowerCase(),i.getEl("absend")&&e.css(i.getEl("absend"),y,i.layoutRect()[l]-1),!c)return void e.css(f,"display","none");e.css(f,"display","block"),d=i.getEl("body"),p=i.getEl("scroll"+t+"t"),h=d["client"+s]-2*o,h-=n&&r?f["client"+u]:0,m=d["scroll"+s],g=h/m,v={},v[y]=d["offset"+a]+o,v[b]=h,e.css(f,v),v={},v[y]=d["scroll"+a]*g,v[b]=h*g,e.css(p,v)}}var n,r,a;a=i.getEl("body"),n=a.scrollWidth>a.clientWidth,r=a.scrollHeight>a.clientHeight,t("h","Left","Width","contentW",n,"Height"),t("v","Top","Height","contentH",r,"Width")}function r(){function n(n,r,a,s,l){var c,u=i._id+"-scroll"+n,d=i.classPrefix;i.getEl().appendChild(e.createFragment('<div id="'+u+'" class="'+d+"scrollbar "+d+"scrollbar-"+n+'"><div id="'+u+'t" class="'+d+'scrollbar-thumb"></div></div>')),i.draghelper=new t(u+"t",{start:function(){c=i.getEl("body")["scroll"+r],e.addClass(e.get(u),d+"active")},drag:function(e){var t,u,d,f,p=i.layoutRect();u=p.contentW>p.innerW,d=p.contentH>p.innerH,f=i.getEl("body")["client"+a]-2*o,f-=u&&d?i.getEl("scroll"+n)["client"+l]:0,t=f/i.getEl("body")["scroll"+a],i.getEl("body")["scroll"+r]=c+e["delta"+s]/t},stop:function(){e.removeClass(e.get(u),d+"active")}})}i.addClass("scroll"),n("v","Top","Height","Y","Width"),n("h","Left","Width","X","Height")}var i=this,o=2;i.settings.autoScroll&&(i._hasScroll||(i._hasScroll=!0,r(),i.on("wheel",function(e){var t=i.getEl("body");t.scrollLeft+=10*(e.deltaX||0),t.scrollTop+=10*e.deltaY,n()}),e.on(i.getEl("body"),"scroll",n)),n())}}}),r(et,[J,Z],function(e,t){return e.extend({Defaults:{layout:"fit",containerCls:"panel"},Mixins:[t],renderHtml:function(){var e=this,t=e._layout,n=e.settings.html;return e.preRender(),t.preRender(e),"undefined"==typeof n?n='<div id="'+e._id+'-body" class="'+e.classes("body")+'">'+t.renderHtml(e)+"</div>":("function"==typeof n&&(n=n.call(e)),e._hasBody=!1),'<div id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1" role="group">'+(e._preBodyHtml||"")+n+"</div>"}})}),r(tt,[Y],function(e){function t(t,n,r){var i,o,a,s,l,c,u,d,f,p;return f=e.getViewPort(),o=e.getPos(n),a=o.x,s=o.y,t._fixed&&(a-=f.x,s-=f.y),i=t.getEl(),p=e.getSize(i),l=p.width,c=p.height,p=e.getSize(n),u=p.width,d=p.height,r=(r||"").split(""),"b"===r[0]&&(s+=d),"r"===r[1]&&(a+=u),"c"===r[0]&&(s+=Math.round(d/2)),"c"===r[1]&&(a+=Math.round(u/2)),"b"===r[3]&&(s-=c),"r"===r[4]&&(a-=l),"c"===r[3]&&(s-=Math.round(c/2)),"c"===r[4]&&(a-=Math.round(l/2)),{x:a,y:s,w:l,h:c}}return{testMoveRel:function(n,r){for(var i=e.getViewPort(),o=0;o<r.length;o++){var a=t(this,n,r[o]);if(this._fixed){if(a.x>0&&a.x+a.w<i.w&&a.y>0&&a.y+a.h<i.h)return r[o]}else if(a.x>i.x&&a.x+a.w<i.w+i.x&&a.y>i.y&&a.y+a.h<i.h+i.y)return r[o]}return r[0]},moveRel:function(e,n){"string"!=typeof n&&(n=this.testMoveRel(e,n));var r=t(this,e,n);return this.moveTo(r.x,r.y)},moveBy:function(e,t){var n=this,r=n.layoutRect();return n.moveTo(r.x+e,r.y+t),n},moveTo:function(t,n){function r(e,t,n){return 0>e?0:e+n>t?(e=t-n,0>e?0:e):e}var i=this;if(i.settings.constrainToViewport){var o=e.getViewPort(window),a=i.layoutRect();t=r(t,o.w+o.x,a.w),n=r(n,o.h+o.y,a.h)}return i._rendered?i.layoutRect({x:t,y:n}).repaint():(i.settings.x=t,i.settings.y=n),i.fire("move",{x:t,y:n}),i}}}),r(nt,[Y],function(e){return{resizeToContent:function(){this._layoutRect.autoResize=!0,this._lastRect=null,this.reflow()},resizeTo:function(t,n){if(1>=t||1>=n){var r=e.getWindowSize();t=1>=t?t*r.w:t,n=1>=n?n*r.h:n}return this._layoutRect.autoResize=!1,this.layoutRect({minW:t,minH:n,w:t,h:n}).reflow()},resizeBy:function(e,t){var n=this,r=n.layoutRect();return n.resizeTo(r.w+e,r.h+t)}}}),r(rt,[et,tt,nt,Y],function(e,t,n,r){function i(){function e(e,t){for(;e;){if(e==t)return!0;e=e.parent()}}c||(c=function(t){if(2!=t.button)for(var n=f.length;n--;){var r=f[n],i=r.getParentCtrl(t.target);if(r.settings.autohide){if(i&&(e(i,r)||r.parent()===i))continue;t=r.fire("autohide",{target:t.target}),t.isDefaultPrevented()||r.hide()}}},r.on(document,"click",c))}function o(){u||(u=function(){var e;for(e=f.length;e--;)s(f[e])},r.on(window,"scroll",u))}function a(){if(!d){var e=document.documentElement,t=e.clientWidth,n=e.clientHeight;d=function(){document.all&&t==e.clientWidth&&n==e.clientHeight||(t=e.clientWidth,n=e.clientHeight,m.hideAll())},r.on(window,"resize",d)}}function s(e){function t(t,n){for(var r,i=0;i<f.length;i++)if(f[i]!=e)for(r=f[i].parent();r&&(r=r.parent());)r==e&&f[i].fixed(t).moveBy(0,n).repaint()}var n=r.getViewPort().y;e.settings.autofix&&(e._fixed?e._autoFixY>n&&(e.fixed(!1).layoutRect({y:e._autoFixY}).repaint(),t(!1,e._autoFixY-n)):(e._autoFixY=e.layoutRect().y,e._autoFixY<n&&(e.fixed(!0).layoutRect({y:0}).repaint(),t(!0,n-e._autoFixY))))}function l(e){var t;for(t=f.length;t--;)f[t]===e&&f.splice(t,1);for(t=p.length;t--;)p[t]===e&&p.splice(t,1)}var c,u,d,f=[],p=[],h,m=e.extend({Mixins:[t,n],init:function(e){function t(){var e,t=m.zIndex||65535,i;if(p.length)for(e=0;e<p.length;e++)p[e].modal&&(t++,i=p[e]),p[e].getEl().style.zIndex=t,p[e].zIndex=t,t++;var o=document.getElementById(n.classPrefix+"modal-block");i?r.css(o,"z-index",i.zIndex-1):o&&(o.parentNode.removeChild(o),h=!1),m.currentZIndex=t}var n=this;n._super(e),n._eventsRoot=n,n.addClass("floatpanel"),e.autohide&&(i(),a(),f.push(n)),e.autofix&&(o(),n.on("move",function(){s(this)})),n.on("postrender show",function(e){if(e.control==n){var i,o=n.classPrefix;n.modal&&!h&&(i=r.createFragment('<div id="'+o+'modal-block" class="'+o+"reset "+o+'fade"></div>'),i=i.firstChild,n.getContainerElm().appendChild(i),setTimeout(function(){r.addClass(i,o+"in"),r.addClass(n.getEl(),o+"in")},0),h=!0),p.push(n),t()}}),n.on("close hide",function(e){if(e.control==n){for(var r=p.length;r--;)p[r]===n&&p.splice(r,1);t()}}),n.on("show",function(){n.parents().each(function(e){return e._fixed?(n.fixed(!0),!1):void 0})}),e.popover&&(n._preBodyHtml='<div class="'+n.classPrefix+'arrow"></div>',n.addClass("popover").addClass("bottom").addClass(n.isRtl()?"end":"start"))},fixed:function(e){var t=this;if(t._fixed!=e){if(t._rendered){var n=r.getViewPort();e?t.layoutRect().y-=n.y:t.layoutRect().y+=n.y}t.toggleClass("fixed",e),t._fixed=e}return t},show:function(){var e=this,t,n=e._super();for(t=f.length;t--&&f[t]!==e;);return-1===t&&f.push(e),n},hide:function(){return l(this),this._super()},hideAll:function(){m.hideAll()},close:function(){var e=this;return e.fire("close"),e.remove()},remove:function(){l(this),this._super()},postRender:function(){var e=this;return e.settings.bodyRole&&this.getEl("body").setAttribute("role",e.settings.bodyRole),e._super()}});return m.hideAll=function(){for(var e=f.length;e--;){var t=f[e];t&&t.settings.autohide&&(t.hide(),f.splice(e,1))}},m}),r(it,[rt,et,Y,Q],function(e,t,n,r){var i=e.extend({modal:!0,Defaults:{border:1,layout:"flex",containerCls:"panel",role:"dialog",callbacks:{submit:function(){this.fire("submit",{data:this.toJSON()})},close:function(){this.close()}}},init:function(e){var n=this;n._super(e),n.isRtl()&&n.addClass("rtl"),n.addClass("window"),n._fixed=!0,e.buttons&&(n.statusbar=new t({layout:"flex",border:"1 0 0 0",spacing:3,padding:10,align:"center",pack:n.isRtl()?"start":"end",defaults:{type:"button"},items:e.buttons}),n.statusbar.addClass("foot"),n.statusbar.parent(n)),n.on("click",function(e){-1!=e.target.className.indexOf(n.classPrefix+"close")&&n.close()}),n.on("cancel",function(){n.close()}),n.aria("describedby",n.describedBy||n._id+"-none"),n.aria("label",e.title),n._fullscreen=!1},recalc:function(){var e=this,t=e.statusbar,r,i,o,a;e._fullscreen&&(e.layoutRect(n.getWindowSize()),e.layoutRect().contentH=e.layoutRect().innerH),e._super(),r=e.layoutRect(),e.settings.title&&!e._fullscreen&&(i=r.headerW,i>r.w&&(o=r.x-Math.max(0,i/2),e.layoutRect({w:i,x:o}),a=!0)),t&&(t.layoutRect({w:e.layoutRect().innerW}).recalc(),i=t.layoutRect().minW+r.deltaW,i>r.w&&(o=r.x-Math.max(0,i-r.w),e.layoutRect({w:i,x:o}),a=!0)),a&&e.recalc()},initLayoutRect:function(){var e=this,t=e._super(),r=0,i;if(e.settings.title&&!e._fullscreen){i=e.getEl("head");var o=n.getSize(i);t.headerW=o.width,t.headerH=o.height,r+=t.headerH}e.statusbar&&(r+=e.statusbar.layoutRect().h),t.deltaH+=r,t.minH+=r,t.h+=r;var a=n.getWindowSize();return t.x=Math.max(0,a.w/2-t.w/2),t.y=Math.max(0,a.h/2-t.h/2),t},renderHtml:function(){var e=this,t=e._layout,n=e._id,r=e.classPrefix,i=e.settings,o="",a="",s=i.html;return e.preRender(),t.preRender(e),i.title&&(o='<div id="'+n+'-head" class="'+r+'window-head"><div id="'+n+'-title" class="'+r+'title">'+e.encode(i.title)+'</div><button type="button" class="'+r+'close" aria-hidden="true">\xd7</button><div id="'+n+'-dragh" class="'+r+'dragh"></div></div>'),i.url&&(s='<iframe src="'+i.url+'" tabindex="-1"></iframe>'),"undefined"==typeof s&&(s=t.renderHtml(e)),e.statusbar&&(a=e.statusbar.renderHtml()),'<div id="'+n+'" class="'+e.classes()+'" hidefocus="1"><div class="'+e.classPrefix+'reset" role="application">'+o+'<div id="'+n+'-body" class="'+e.classes("body")+'">'+s+"</div>"+a+"</div></div>"},fullscreen:function(e){var t=this,r=document.documentElement,i,o=t.classPrefix,a;if(e!=t._fullscreen)if(n.on(window,"resize",function(){var e;if(t._fullscreen)if(i)t._timer||(t._timer=setTimeout(function(){var e=n.getWindowSize();t.moveTo(0,0).resizeTo(e.w,e.h),t._timer=0},50));else{e=(new Date).getTime();var r=n.getWindowSize();t.moveTo(0,0).resizeTo(r.w,r.h),(new Date).getTime()-e>50&&(i=!0)}}),a=t.layoutRect(),t._fullscreen=e,e){t._initial={x:a.x,y:a.y,w:a.w,h:a.h},t._borderBox=t.parseBox("0"),t.getEl("head").style.display="none",a.deltaH-=a.headerH+2,n.addClass(r,o+"fullscreen"),n.addClass(document.body,o+"fullscreen"),t.addClass("fullscreen");var s=n.getWindowSize();t.moveTo(0,0).resizeTo(s.w,s.h)}else t._borderBox=t.parseBox(t.settings.border),t.getEl("head").style.display="",a.deltaH+=a.headerH,n.removeClass(r,o+"fullscreen"),n.removeClass(document.body,o+"fullscreen"),t.removeClass("fullscreen"),t.moveTo(t._initial.x,t._initial.y).resizeTo(t._initial.w,t._initial.h);return t.reflow()},postRender:function(){var e=this,t;setTimeout(function(){e.addClass("in")},0),e._super(),e.statusbar&&e.statusbar.postRender(),e.focus(),this.dragHelper=new r(e._id+"-dragh",{start:function(){t={x:e.layoutRect().x,y:e.layoutRect().y}},drag:function(n){e.moveTo(t.x+n.deltaX,t.y+n.deltaY)}}),e.on("submit",function(t){t.isDefaultPrevented()||e.close()})},submit:function(){return this.fire("submit",{data:this.toJSON()})},remove:function(){var e=this,t=e.classPrefix;e.dragHelper.destroy(),e._super(),e.statusbar&&this.statusbar.remove(),e._fullscreen&&(n.removeClass(document.documentElement,t+"fullscreen"),n.removeClass(document.body,t+"fullscreen"))},getContentWindow:function(){var e=this.getEl().getElementsByTagName("iframe")[0];return e?e.contentWindow:null}});return i}),r(ot,[it],function(e){var t=e.extend({init:function(e){e={border:1,padding:20,layout:"flex",pack:"center",align:"center",containerCls:"panel",autoScroll:!0,buttons:{type:"button",text:"Ok",action:"ok"},items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200}},this._super(e)},Statics:{OK:1,OK_CANCEL:2,YES_NO:3,YES_NO_CANCEL:4,msgBox:function(n){function r(e,t,n){return{type:"button",text:e,subtype:n?"primary":"",onClick:function(e){e.control.parents()[1].close(),o(t)}}}var i,o=n.callback||function(){};switch(n.buttons){case t.OK_CANCEL:i=[r("Ok",!0,!0),r("Cancel",!1)];break;case t.YES_NO:case t.YES_NO_CANCEL:i=[r("Yes",1,!0),r("No",0)],n.buttons==t.YES_NO_CANCEL&&i.push(r("Cancel",-1));break;default:i=[r("Ok",!0,!0)]}return new e({padding:20,x:n.x,y:n.y,minWidth:300,minHeight:100,layout:"flex",pack:"center",align:"center",buttons:i,title:n.title,role:"alertdialog",items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200,text:n.text},onPostRender:function(){this.aria("describedby",this.items()[0]._id)},onClose:n.onClose,onCancel:function(){o(!1)}}).renderTo(document.body).reflow()},alert:function(e,n){return"string"==typeof e&&(e={text:e}),e.callback=n,t.msgBox(e)},confirm:function(e,n){return"string"==typeof e&&(e={text:e}),e.callback=n,e.buttons=t.OK_CANCEL,t.msgBox(e)}}});return t}),r(at,[it,ot],function(e,t){return function(n){function r(){return o.length?o[o.length-1]:void 0}var i=this,o=[];i.windows=o,n.on("remove",function(){for(var e=o.length;e--;)o[e].close()}),i.open=function(t,r){var i;return n.editorManager.setActive(n),t.title=t.title||" ",t.url=t.url||t.file,t.url&&(t.width=parseInt(t.width||320,10),t.height=parseInt(t.height||240,10)),t.body&&(t.items={defaults:t.defaults,type:t.bodyType||"form",items:t.body}),t.url||t.buttons||(t.buttons=[{text:"Ok",subtype:"primary",onclick:function(){i.find("form")[0].submit()}},{text:"Cancel",onclick:function(){i.close()}}]),i=new e(t),o.push(i),i.on("close",function(){for(var e=o.length;e--;)o[e]===i&&o.splice(e,1);n.focus()}),t.data&&i.on("postRender",function(){this.find("*").each(function(e){var n=e.name();n in t.data&&e.value(t.data[n])})}),i.features=t||{},i.params=r||{},n.nodeChanged(),i.renderTo().reflow()},i.alert=function(e,r,i){t.alert(e,function(){r?r.call(i||this):n.focus()})},i.confirm=function(e,n,r){t.confirm(e,function(e){n.call(r||this,e)})},i.close=function(){r()&&r().close()},i.getParams=function(){return r()?r().params:null},i.setParams=function(e){r()&&(r().params=e)},i.getWindows=function(){return o}}}),r(st,[B,x,_,g,d,u],function(e,t,n,r,i,o){return function(a){function s(e,t){try{a.getDoc().execCommand(e,!1,t)}catch(n){}}function l(){var e=a.getDoc().documentMode;return e?e:6}function c(e){return e.isDefaultPrevented()}function u(){function t(e){var t=new i(function(){});o.each(a.getBody().getElementsByTagName("*"),function(e){"SPAN"==e.tagName&&e.setAttribute("mce-data-marked",1),!e.hasAttribute("data-mce-style")&&e.hasAttribute("style")&&a.dom.setAttrib(e,"style",a.dom.getAttrib(e,"style"))}),t.observe(a.getDoc(),{childList:!0,attributes:!0,subtree:!0,attributeFilter:["style"]}),a.getDoc().execCommand(e?"ForwardDelete":"Delete",!1,null);var n=a.selection.getRng(),r=n.startContainer.parentNode;o.each(t.takeRecords(),function(e){if(q.isChildOf(e.target,a.getBody())){if("style"==e.attributeName){var t=e.target.getAttribute("data-mce-style");t?e.target.setAttribute("style",t):e.target.removeAttribute("style")}o.each(e.addedNodes,function(e){if("SPAN"==e.nodeName&&!e.getAttribute("mce-data-marked")){var t,i;e==r&&(t=n.startOffset,i=e.firstChild),q.remove(e,!0),i&&(n.setStart(i,t),n.setEnd(i,t),a.selection.setRng(n))}})}}),t.disconnect(),o.each(a.dom.select("span[mce-data-marked]"),function(e){e.removeAttribute("mce-data-marked")})}var n=a.getDoc(),r="data:text/mce-internal,",i=window.MutationObserver,s,l;i||(s=!0,i=function(){function e(e){var t=e.relatedNode||e.target;n.push({target:t,addedNodes:[t]})}function t(e){var t=e.relatedNode||e.target;n.push({target:t,attributeName:e.attrName})}var n=[],r;this.observe=function(n){r=n,r.addEventListener("DOMSubtreeModified",e,!1),r.addEventListener("DOMNodeInsertedIntoDocument",e,!1),r.addEventListener("DOMNodeInserted",e,!1),r.addEventListener("DOMAttrModified",t,!1)},this.disconnect=function(){r.removeEventListener("DOMSubtreeModified",e,!1),r.removeEventListener("DOMNodeInsertedIntoDocument",e,!1),r.removeEventListener("DOMNodeInserted",e,!1),r.removeEventListener("DOMAttrModified",t,!1)},this.takeRecords=function(){return n}}),a.on("keydown",function(n){var r=n.keyCode==$,i=e.metaKeyPressed(n);if(!c(n)&&(r||n.keyCode==U)){var o=a.selection.getRng(),s=o.startContainer,l=o.startOffset;if(!i&&o.collapsed&&3==s.nodeType&&(r?l<s.data.length:l>0))return;n.preventDefault(),i&&a.selection.getSel().modify("extend",r?"forward":"backward","word"),t(r)}}),a.on("keypress",function(n){c(n)||j.isCollapsed()||!n.charCode||e.metaKeyPressed(n)||(n.preventDefault(),t(!0),a.selection.setContent(String.fromCharCode(n.charCode)))}),a.addCommand("Delete",function(){t()}),a.addCommand("ForwardDelete",function(){t(!0)}),s||(a.on("dragstart",function(e){var t;a.selection.isCollapsed()&&"IMG"==e.target.tagName&&j.select(e.target),l=j.getRng(),t=a.selection.getContent(),t.length>0&&e.dataTransfer.setData("URL","data:text/mce-internal,"+escape(t))}),a.on("drop",function(e){if(!c(e)){var i=e.dataTransfer.getData("URL");if(!i||-1==i.indexOf(r)||!n.caretRangeFromPoint)return;i=unescape(i.substr(r.length)),n.caretRangeFromPoint&&(e.preventDefault(),window.setTimeout(function(){var r=n.caretRangeFromPoint(e.x,e.y);l&&(j.setRng(l),l=null),t(),j.setRng(r),a.insertContent(i)},0))}}),a.on("cut",function(e){!c(e)&&e.clipboardData&&(e.preventDefault(),e.clipboardData.clearData(),e.clipboardData.setData("text/html",a.selection.getContent()),e.clipboardData.setData("text/plain",a.selection.getContent({format:"text"})),t(!0))}))}function d(){function e(e){var t=q.create("body"),n=e.cloneContents();return t.appendChild(n),j.serializer.serialize(t,{format:"html"})}function n(n){if(!n.setStart){if(n.item)return!1;var r=n.duplicate();return r.moveToElementText(a.getBody()),t.compareRanges(n,r)}var i=e(n),o=q.createRng();o.selectNode(a.getBody());var s=e(o);return i===s}a.on("keydown",function(e){var t=e.keyCode,r,i;if(!c(e)&&(t==$||t==U)){if(r=a.selection.isCollapsed(),i=a.getBody(),r&&!q.isEmpty(i))return;if(!r&&!n(a.selection.getRng()))return;e.preventDefault(),a.setContent(""),i.firstChild&&q.isBlock(i.firstChild)?a.selection.setCursorLocation(i.firstChild,0):a.selection.setCursorLocation(i,0),a.nodeChanged()}})}function f(){a.on("keydown",function(t){!c(t)&&65==t.keyCode&&e.metaKeyPressed(t)&&(t.preventDefault(),a.execCommand("SelectAll"))})}function p(){a.settings.content_editable||(q.bind(a.getDoc(),"focusin",function(){j.setRng(j.getRng())}),q.bind(a.getDoc(),"mousedown",function(e){e.target==a.getDoc().documentElement&&(a.getBody().focus(),j.setRng(j.getRng()))}))}function h(){a.on("keydown",function(e){if(!c(e)&&e.keyCode===U){if(!a.getBody().getElementsByTagName("hr").length)return;if(j.isCollapsed()&&0===j.getRng(!0).startOffset){var t=j.getNode(),n=t.previousSibling;if("HR"==t.nodeName)return q.remove(t),void e.preventDefault();n&&n.nodeName&&"hr"===n.nodeName.toLowerCase()&&(q.remove(n),e.preventDefault())}}})}function m(){window.Range.prototype.getClientRects||a.on("mousedown",function(e){if(!c(e)&&"HTML"===e.target.nodeName){var t=a.getBody();t.blur(),setTimeout(function(){t.focus()},0)}})}function g(){a.on("click",function(e){var t=e.target;/^(IMG|HR)$/.test(t.nodeName)&&(e.preventDefault(),j.getSel().setBaseAndExtent(t,0,t,1),a.nodeChanged()),"A"==t.nodeName&&q.hasClass(t,"mce-item-anchor")&&(e.preventDefault(),j.select(t))})}function v(){function e(){var e=q.getAttribs(j.getStart().cloneNode(!1));return function(){var t=j.getStart();t!==a.getBody()&&(q.setAttrib(t,"style",null),V(e,function(e){t.setAttributeNode(e.cloneNode(!0))}))}}function t(){return!j.isCollapsed()&&q.getParent(j.getStart(),q.isBlock)!=q.getParent(j.getEnd(),q.isBlock)}a.on("keypress",function(n){var r;return c(n)||8!=n.keyCode&&46!=n.keyCode||!t()?void 0:(r=e(),a.getDoc().execCommand("delete",!1,null),r(),n.preventDefault(),!1)}),q.bind(a.getDoc(),"cut",function(n){var r;!c(n)&&t()&&(r=e(),setTimeout(function(){r()},0))})}function y(){document.body.setAttribute("role","application")}function b(){a.on("keydown",function(e){if(!c(e)&&e.keyCode===U&&j.isCollapsed()&&0===j.getRng(!0).startOffset){var t=j.getNode().previousSibling;if(t&&t.nodeName&&"table"===t.nodeName.toLowerCase())return e.preventDefault(),!1}})}function C(){l()>7||(s("RespectVisibilityInDesign",!0),a.contentStyles.push(".mceHideBrInPre pre br {display: none}"),q.addClass(a.getBody(),"mceHideBrInPre"),K.addNodeFilter("pre",function(e){for(var t=e.length,r,i,o,a;t--;)for(r=e[t].getAll("br"),i=r.length;i--;)o=r[i],a=o.prev,a&&3===a.type&&"\n"!=a.value.charAt(a.value-1)?a.value+="\n":o.parent.insert(new n("#text",3),o,!0).value="\n"}),G.addNodeFilter("pre",function(e){for(var t=e.length,n,r,i,o;t--;)for(n=e[t].getAll("br"),r=n.length;r--;)i=n[r],o=i.prev,o&&3==o.type&&(o.value=o.value.replace(/\r?\n$/,""))}))}function x(){q.bind(a.getBody(),"mouseup",function(){var e,t=j.getNode();"IMG"==t.nodeName&&((e=q.getStyle(t,"width"))&&(q.setAttrib(t,"width",e.replace(/[^0-9%]+/g,"")),q.setStyle(t,"width","")),(e=q.getStyle(t,"height"))&&(q.setAttrib(t,"height",e.replace(/[^0-9%]+/g,"")),q.setStyle(t,"height","")))})}function w(){a.on("keydown",function(t){var n,r,i,o,s;if(!c(t)&&t.keyCode==e.BACKSPACE&&(n=j.getRng(),r=n.startContainer,i=n.startOffset,o=q.getRoot(),s=r,n.collapsed&&0===i)){for(;s&&s.parentNode&&s.parentNode.firstChild==s&&s.parentNode!=o;)s=s.parentNode;"BLOCKQUOTE"===s.tagName&&(a.formatter.toggle("blockquote",null,s),n=q.createRng(),n.setStart(r,0),n.setEnd(r,0),j.setRng(n))}})}function _(){function e(){a._refreshContentEditable(),s("StyleWithCSS",!1),s("enableInlineTableEditing",!1),Y.object_resizing||s("enableObjectResizing",!1)}Y.readonly||a.on("BeforeExecCommand MouseDown",e)}function E(){function e(){V(q.select("a"),function(e){var t=e.parentNode,n=q.getRoot();if(t.lastChild===e){for(;t&&!q.isBlock(t);){if(t.parentNode.lastChild!==t||t===n)return;t=t.parentNode}q.add(t,"br",{"data-mce-bogus":1})}})}a.on("SetContent ExecCommand",function(t){("setcontent"==t.type||"mceInsertLink"===t.command)&&e()})}function N(){Y.forced_root_block&&a.on("init",function(){s("DefaultParagraphSeparator",Y.forced_root_block)})}function k(){a.on("Undo Redo SetContent",function(e){e.initial||a.execCommand("mceRepaint")})}function S(){a.on("keydown",function(e){var t;c(e)||e.keyCode!=U||(t=a.getDoc().selection.createRange(),t&&t.item&&(e.preventDefault(),a.undoManager.beforeChange(),q.remove(t.item(0)),a.undoManager.add()))})}function T(){var e;l()>=10&&(e="",V("p div h1 h2 h3 h4 h5 h6".split(" "),function(t,n){e+=(n>0?",":"")+t+":empty"}),a.contentStyles.push(e+"{padding-right: 1px !important}"))}function R(){l()<9&&(K.addNodeFilter("noscript",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.firstChild,r&&n.attr("data-mce-innertext",r.value)}),G.addNodeFilter("noscript",function(e){for(var t=e.length,i,o,a;t--;)i=e[t],o=e[t].firstChild,o?o.value=r.decode(o.value):(a=i.attributes.map["data-mce-innertext"],a&&(i.attr("data-mce-innertext",null),o=new n("#text",3),o.value=a,o.raw=!0,i.append(o)))}))}function A(){function e(e,t){var n=i.createTextRange();try{n.moveToPoint(e,t)}catch(r){n=null}return n}function t(t){var r;t.button?(r=e(t.x,t.y),r&&(r.compareEndPoints("StartToStart",a)>0?r.setEndPoint("StartToStart",a):r.setEndPoint("EndToEnd",a),r.select())):n()}function n(){var e=r.selection.createRange();a&&!e.item&&0===e.compareEndPoints("StartToEnd",e)&&a.select(),q.unbind(r,"mouseup",n),q.unbind(r,"mousemove",t),a=o=0}var r=q.doc,i=r.body,o,a,s;r.documentElement.unselectable=!0,q.bind(r,"mousedown contextmenu",function(i){if("HTML"===i.target.nodeName){if(o&&n(),s=r.documentElement,s.scrollHeight>s.clientHeight)return;o=1,a=e(i.x,i.y),a&&(q.bind(r,"mouseup",n),q.bind(r,"mousemove",t),q.getRoot().focus(),a.select())}})}function B(){a.on("keyup focusin mouseup",function(t){65==t.keyCode&&e.metaKeyPressed(t)||j.normalize()},!0)}function D(){a.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}")}function L(){a.inline||a.on("keydown",function(){document.activeElement==document.body&&a.getWin().focus()})}function H(){a.inline||(a.contentStyles.push("body {min-height: 150px}"),a.on("click",function(e){"HTML"==e.target.nodeName&&(a.getBody().focus(),a.selection.normalize(),a.nodeChanged())}))}function M(){i.mac&&a.on("keydown",function(t){!e.metaKeyPressed(t)||37!=t.keyCode&&39!=t.keyCode||(t.preventDefault(),a.selection.getSel().modify("move",37==t.keyCode?"backward":"forward","word"))})}function P(){s("AutoUrlDetect",!1)}function O(){a.inline||a.on("focus blur beforegetcontent",function(){var e=a.dom.create("br");a.getBody().appendChild(e),e.parentNode.removeChild(e)},!0)}function I(){a.on("click",function(e){var t=e.target;do if("A"===t.tagName)return void e.preventDefault();while(t=t.parentNode)}),a.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}")}function F(){a.on("touchstart",function(e){var t,n,r,i;t=e.target,n=(new Date).getTime(),i=e.changedTouches,!i||i.length>1||(r=i[0],a.once("touchend",function(e){var i=e.changedTouches[0],o;(new Date).getTime()-n>500||Math.abs(r.clientX-i.clientX)>5||Math.abs(r.clientY-i.clientY)>5||(o={target:t},V("pageX pageY clientX clientY screenX screenY".split(" "),function(e){o[e]=i[e]}),o=a.fire("click",o),o.isDefaultPrevented()||a.selection.placeCaretAt(i.clientX,i.clientY))}))})}function z(){a.on("init",function(){a.dom.bind(a.getBody(),"submit",function(e){e.preventDefault()})})}function W(){K.addNodeFilter("br",function(e){for(var t=e.length;t--;)"Apple-interchange-newline"==e[t].attr("class")&&e[t].remove()})}var V=o.each,U=e.BACKSPACE,$=e.DELETE,q=a.dom,j=a.selection,Y=a.settings,K=a.parser,G=a.serializer,X=i.gecko,J=i.ie,Q=i.webkit;w(),d(),B(),Q&&(u(),p(),g(),N(),z(),b(),W(),F(),i.iOS?(L(),H(),I()):f()),J&&i.ie<11&&(h(),y(),C(),x(),S(),T(),R(),A()),i.ie>=11&&(H(),O(),b()),i.ie&&(f(),P()),X&&(h(),m(),v(),_(),E(),k(),D(),M(),b())}}),r(lt,[$],function(e){function t(t){return t._eventDispatcher||(t._eventDispatcher=new e({scope:t,toggleEvent:function(n,r){e.isNative(n)&&t.toggleNativeEvent&&t.toggleNativeEvent(n,r)}})),t._eventDispatcher}return{fire:function(e,n,r){var i=this;if(i.removed&&"remove"!==e)return n;if(n=t(i).fire(e,n,r),r!==!1&&i.parent)for(var o=i.parent();o&&!n.isPropagationStopped();)o.fire(e,n,!1),o=o.parent();return n},on:function(e,n,r){return t(this).on(e,n,r)},off:function(e,n){return t(this).off(e,n)},once:function(e,n){return t(this).once(e,n)},hasEventListeners:function(e){return t(this).has(e)}}}),r(ct,[lt,y,u],function(e,t,n){function r(e,t){return"selectionchange"==t?e.getDoc():!e.inline&&/^mouse|click|contextmenu|drop|dragover|dragend/.test(t)?e.getDoc().documentElement:e.settings.event_root?(e.eventRoot||(e.eventRoot=o.select(e.settings.event_root)[0]),e.eventRoot):e.getBody()}function i(e,t){var n=r(e,t),i;if(e.delegates||(e.delegates={}),!e.delegates[t])if(e.settings.event_root){if(a||(a={},e.editorManager.on("removeEditor",function(){var t;if(!e.editorManager.activeEditor&&a){for(t in a)e.dom.unbind(r(e,t));a=null}})),a[t])return;i=function(n){for(var r=n.target,i=e.editorManager.editors,a=i.length;a--;){var s=i[a].getBody();(s===r||o.isChildOf(r,s))&&(i[a].hidden||i[a].fire(t,n))}},a[t]=i,o.bind(n,t,i)}else i=function(n){e.hidden||e.fire(t,n)},o.bind(n,t,i),e.delegates[t]=i}var o=t.DOM,a,s={bindPendingEventDelegates:function(){var e=this;n.each(e._pendingNativeEvents,function(t){i(e,t)})},toggleNativeEvent:function(e,t){var n=this;n.settings.readonly||"focus"!=e&&"blur"!=e&&(t?n.initialized?i(n,e):n._pendingNativeEvents?n._pendingNativeEvents.push(e):n._pendingNativeEvents=[e]:n.initialized&&(n.dom.unbind(r(n,e),e,n.delegates[e]),delete n.delegates[e]))},unbindAllNativeEvents:function(){var e=this,t;if(e.delegates){for(t in e.delegates)e.dom.unbind(r(e,t),t,e.delegates[t]);delete e.delegates}e.inline||(e.getBody().onload=null,e.dom.unbind(e.getWin()),e.dom.unbind(e.getDoc())),e.dom.unbind(e.getBody()),e.dom.unbind(e.getContainer())}};return s=n.extend({},e,s)}),r(ut,[u,d],function(e,t){var n=e.each,r=e.explode,i={f9:120,f10:121,f11:122};return function(o){var a=this,s={};o.on("keyup keypress keydown",function(e){(e.altKey||e.ctrlKey||e.metaKey)&&n(s,function(n){var r=t.mac?e.metaKey:e.ctrlKey;if(n.ctrl==r&&n.alt==e.altKey&&n.shift==e.shiftKey)return e.keyCode==n.keyCode||e.charCode&&e.charCode==n.charCode?(e.preventDefault(),"keydown"==e.type&&n.func.call(n.scope),!0):void 0})}),a.add=function(t,a,l,c){var u;return u=l,"string"==typeof l?l=function(){o.execCommand(u,!1,null)}:e.isArray(u)&&(l=function(){o.execCommand(u[0],u[1],u[2])}),n(r(t.toLowerCase()),function(e){var t={func:l,scope:c||o,desc:o.translate(a),alt:!1,ctrl:!1,shift:!1};n(r(e,"+"),function(e){switch(e){case"alt":case"ctrl":case"shift":t[e]=!0;break;default:/^[0-9]{2,}$/.test(e)?t.keyCode=parseInt(e,10):(t.charCode=e.charCodeAt(0),t.keyCode=i[e]||e.toUpperCase().charCodeAt(0))}}),s[(t.ctrl?"ctrl":"")+","+(t.alt?"alt":"")+","+(t.shift?"shift":"")+","+t.keyCode]=t}),!0}}}),r(dt,[y,f,C,w,_,R,T,H,O,I,F,z,W,V,b,l,at,E,k,st,d,u,ct,ut],function(e,n,r,i,o,a,s,l,c,u,d,f,p,h,m,g,v,y,b,C,x,w,_,E){function N(e,t,i){var o=this,a,s;a=o.documentBaseUrl=i.documentBaseURL,s=i.baseURI,o.settings=t=R({id:e,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:a,add_form_submit_trigger:!0,submit_patch:!0,add_unload_trigger:!0,convert_urls:!0,relative_urls:!0,remove_script_host:!0,object_resizing:!0,doctype:"<!DOCTYPE html>",visual:!0,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",font_size_legacy_values:"xx-small,small,medium,large,x-large,xx-large,300%",forced_root_block:"p",hidden_input:!0,padd_empty_editor:!0,render_ui:!0,indentation:"30px",inline_styles:!0,convert_fonts_to_spans:!0,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",validate:!0,entity_encoding:"named",url_converter:o.convertURL,url_converter_scope:o,ie7_compat:!0},t),r.language=t.language||"en",r.languageLoad=t.language_load,r.baseURL=i.baseURL,o.id=t.id=e,o.isNotDirty=!0,o.plugins={},o.documentBaseURI=new h(t.document_base_url||a,{base_uri:s}),o.baseURI=s,o.contentCSS=[],o.contentStyles=[],o.shortcuts=new E(o),o.execCommands={},o.queryStateCommands={},o.queryValueCommands={},o.loadedCSS={},t.target&&(o.targetElm=t.target),o.suffix=i.suffix,o.editorManager=i,o.inline=t.inline,i.fire("SetupEditor",o),o.execCallback("setup",o),o.$=n.overrideDefaults(function(){return{context:o.inline?o.getBody():o.getDoc(),element:o.getBody()}})}var k=e.DOM,S=r.ThemeManager,T=r.PluginManager,R=w.extend,A=w.each,B=w.explode,D=w.inArray,L=w.trim,H=w.resolve,M=g.Event,P=x.gecko,O=x.ie;return N.prototype={render:function(){function e(){k.unbind(window,"ready",e),n.render()}function t(){var e=m.ScriptLoader;if(r.language&&"en"!=r.language&&!r.language_url&&(r.language_url=n.editorManager.baseURL+"/langs/"+r.language+".js"),r.language_url&&e.add(r.language_url),r.theme&&"function"!=typeof r.theme&&"-"!=r.theme.charAt(0)&&!S.urls[r.theme]){var t=r.theme_url;
+t=t?n.documentBaseURI.toAbsolute(t):"themes/"+r.theme+"/theme"+o+".js",S.load(r.theme,t)}w.isArray(r.plugins)&&(r.plugins=r.plugins.join(" ")),A(r.external_plugins,function(e,t){T.load(t,e),r.plugins+=" "+t}),A(r.plugins.split(/[ ,]/),function(e){if(e=L(e),e&&!T.urls[e])if("-"==e.charAt(0)){e=e.substr(1,e.length);var t=T.dependencies(e);A(t,function(e){var t={prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"};e=T.createUrl(t,e),T.load(e.resource,e)})}else T.load(e,{prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"})}),e.loadQueue(function(){n.removed||n.init()})}var n=this,r=n.settings,i=n.id,o=n.suffix;if(!M.domLoaded)return void k.bind(window,"ready",e);if(n.getElement()&&x.contentEditable){r.inline?n.inline=!0:(n.orgVisibility=n.getElement().style.visibility,n.getElement().style.visibility="hidden");var a=n.getElement().form||k.getParent(i,"form");a&&(n.formElement=a,r.hidden_input&&!/TEXTAREA|INPUT/i.test(n.getElement().nodeName)&&(k.insertAfter(k.create("input",{type:"hidden",name:i}),i),n.hasHiddenInput=!0),n.formEventDelegate=function(e){n.fire(e.type,e)},k.bind(a,"submit reset",n.formEventDelegate),n.on("reset",function(){n.setContent(n.startContent,{format:"raw"})}),!r.submit_patch||a.submit.nodeType||a.submit.length||a._mceOldSubmit||(a._mceOldSubmit=a.submit,a.submit=function(){return n.editorManager.triggerSave(),n.isNotDirty=!0,a._mceOldSubmit(a)})),n.windowManager=new v(n),"xml"==r.encoding&&n.on("GetContent",function(e){e.save&&(e.content=k.encode(e.content))}),r.add_form_submit_trigger&&n.on("submit",function(){n.initialized&&n.save()}),r.add_unload_trigger&&(n._beforeUnload=function(){!n.initialized||n.destroyed||n.isHidden()||n.save({format:"raw",no_events:!0,set_dirty:!1})},n.editorManager.on("BeforeUnload",n._beforeUnload)),t()}},init:function(){function e(n){var r=T.get(n),i,o;i=T.urls[n]||t.documentBaseUrl.replace(/\/$/,""),n=L(n),r&&-1===D(m,n)&&(A(T.dependencies(n),function(t){e(t)}),o=new r(t,i,t.$),t.plugins[n]=o,o.init&&(o.init(t,i),m.push(n)))}var t=this,n=t.settings,r=t.getElement(),i,o,a,s,l,c,u,d,f,p,h,m=[];if(t.rtl=this.editorManager.i18n.rtl,t.editorManager.add(t),n.aria_label=n.aria_label||k.getAttrib(r,"aria-label",t.getLang("aria.rich_text_area")),n.theme&&("function"!=typeof n.theme?(n.theme=n.theme.replace(/-/,""),c=S.get(n.theme),t.theme=new c(t,S.urls[n.theme]),t.theme.init&&t.theme.init(t,S.urls[n.theme]||t.documentBaseUrl.replace(/\/$/,""),t.$)):t.theme=n.theme),A(n.plugins.replace(/\-/g,"").split(/[ ,]/),e),n.render_ui&&t.theme&&(t.orgDisplay=r.style.display,"function"!=typeof n.theme?(i=n.width||r.style.width||r.offsetWidth,o=n.height||r.style.height||r.offsetHeight,a=n.min_height||100,p=/^[0-9\.]+(|px)$/i,p.test(""+i)&&(i=Math.max(parseInt(i,10),100)),p.test(""+o)&&(o=Math.max(parseInt(o,10),a)),l=t.theme.renderUI({targetNode:r,width:i,height:o,deltaWidth:n.delta_width,deltaHeight:n.delta_height}),n.content_editable||(o=(l.iframeHeight||o)+("number"==typeof o?l.deltaHeight||0:""),a>o&&(o=a))):(l=n.theme(t,r),l.editorContainer.nodeType&&(l.editorContainer=l.editorContainer.id=l.editorContainer.id||t.id+"_parent"),l.iframeContainer.nodeType&&(l.iframeContainer=l.iframeContainer.id=l.iframeContainer.id||t.id+"_iframecontainer"),o=l.iframeHeight||r.offsetHeight),t.editorContainer=l.editorContainer),n.content_css&&A(B(n.content_css),function(e){t.contentCSS.push(t.documentBaseURI.toAbsolute(e))}),n.content_style&&t.contentStyles.push(n.content_style),n.content_editable)return r=s=l=null,t.initContentBody();for(t.iframeHTML=n.doctype+"<html><head>",n.document_base_url!=t.documentBaseUrl&&(t.iframeHTML+='<base href="'+t.documentBaseURI.getURI()+'" />'),!x.caretAfter&&n.ie7_compat&&(t.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" />'),t.iframeHTML+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />',h=0;h<t.contentCSS.length;h++){var g=t.contentCSS[h];t.iframeHTML+='<link type="text/css" rel="stylesheet" href="'+g+'" />',t.loadedCSS[g]=!0}d=n.body_id||"tinymce",-1!=d.indexOf("=")&&(d=t.getParam("body_id","","hash"),d=d[t.id]||d),f=n.body_class||"",-1!=f.indexOf("=")&&(f=t.getParam("body_class","","hash"),f=f[t.id]||""),n.content_security_policy&&(t.iframeHTML+='<meta http-equiv="Content-Security-Policy" content="'+n.content_security_policy+'" />'),t.iframeHTML+='</head><body id="'+d+'" class="mce-content-body '+f+'" data-id="'+t.id+'"><br></body></html>';var v='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinymce.get("'+t.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody(true);})()';document.domain!=location.hostname&&(u=v);var y=k.create("iframe",{id:t.id+"_ifr",frameBorder:"0",allowTransparency:"true",title:t.editorManager.translate("Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"),style:{width:"100%",height:o,display:"block"}});if(y.onload=function(){y.onload=null,t.fire("load")},k.setAttrib(y,"src",u||'javascript:""'),t.contentAreaContainer=l.iframeContainer,t.iframeElement=y,s=k.add(l.iframeContainer,y),O)try{t.getDoc()}catch(b){s.src=u=v}l.editorContainer&&(k.get(l.editorContainer).style.display=t.orgDisplay,t.hidden=k.isHidden(l.editorContainer)),t.getElement().style.display="none",k.setAttrib(t.id,"aria-hidden",!0),u||t.initContentBody(),r=s=l=null},initContentBody:function(t){var n=this,r=n.settings,s=n.getElement(),h=n.getDoc(),m,g;r.inline||(n.getElement().style.visibility=n.orgVisibility),t||r.content_editable||(h.open(),h.write(n.iframeHTML),h.close()),r.content_editable&&(n.on("remove",function(){var e=this.getBody();k.removeClass(e,"mce-content-body"),k.removeClass(e,"mce-edit-focus"),k.setAttrib(e,"contentEditable",null)}),k.addClass(s,"mce-content-body"),n.contentDocument=h=r.content_document||document,n.contentWindow=r.content_window||window,n.bodyElement=s,r.content_document=r.content_window=null,r.root_name=s.nodeName.toLowerCase()),m=n.getBody(),m.disabled=!0,r.readonly||(n.inline&&"static"==k.getStyle(m,"position",!0)&&(m.style.position="relative"),m.contentEditable=n.getParam("content_editable_state",!0)),m.disabled=!1,n.schema=new y(r),n.dom=new e(h,{keep_values:!0,url_converter:n.convertURL,url_converter_scope:n,hex_colors:r.force_hex_style_colors,class_filter:r.class_filter,update_styles:!0,root_element:n.inline?n.getBody():null,collect:r.content_editable,schema:n.schema,onSetAttrib:function(e){n.fire("SetAttrib",e)}}),n.parser=new b(r,n.schema),n.parser.addAttributeFilter("src,href,style,tabindex",function(e,t){for(var r=e.length,i,o=n.dom,a,s;r--;)i=e[r],a=i.attr(t),s="data-mce-"+t,i.attributes.map[s]||("style"===t?(a=o.serializeStyle(o.parseStyle(a),i.name),a.length||(a=null),i.attr(s,a),i.attr(t,a)):"tabindex"===t?(i.attr(s,a),i.attr(t,null)):i.attr(s,n.convertURL(a,t,i.name)))}),n.parser.addNodeFilter("script",function(e){for(var t=e.length,n;t--;)n=e[t],n.attr("type","mce-"+(n.attr("type")||"no/type"))}),n.parser.addNodeFilter("#cdata",function(e){for(var t=e.length,n;t--;)n=e[t],n.type=8,n.name="#comment",n.value="[CDATA["+n.value+"]]"}),n.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(e){for(var t=e.length,r,i=n.schema.getNonEmptyElements();t--;)r=e[t],r.isEmpty(i)&&(r.append(new o("br",1)).shortEnded=!0)}),n.serializer=new a(r,n),n.selection=new l(n.dom,n.getWin(),n.serializer,n),n.formatter=new c(n),n.undoManager=new u(n),n.forceBlocks=new f(n),n.enterKey=new d(n),n.editorCommands=new p(n),n._nodeChangeDispatcher=new i(n),n.fire("PreInit"),r.browser_spellcheck||r.gecko_spellcheck||(h.body.spellcheck=!1,k.setAttrib(m,"spellcheck","false")),n.fire("PostRender"),n.quirks=new C(n),r.directionality&&(m.dir=r.directionality),r.nowrap&&(m.style.whiteSpace="nowrap"),r.protect&&n.on("BeforeSetContent",function(e){A(r.protect,function(t){e.content=e.content.replace(t,function(e){return"<!--mce:protected "+escape(e)+"-->"})})}),n.on("SetContent",function(){n.addVisual(n.getBody())}),r.padd_empty_editor&&n.on("PostProcess",function(e){e.content=e.content.replace(/^(<p[^>]*>(&nbsp;|&#160;|\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")}),n.load({initial:!0,format:"html"}),n.startContent=n.getContent({format:"raw"}),n.initialized=!0,n.bindPendingEventDelegates(),n.fire("init"),n.focus(!0),n.nodeChanged({initial:!0}),n.execCallback("init_instance_callback",n),n.contentStyles.length>0&&(g="",A(n.contentStyles,function(e){g+=e+"\r\n"}),n.dom.addStyle(g)),A(n.contentCSS,function(e){n.loadedCSS[e]||(n.dom.loadCSS(e),n.loadedCSS[e]=!0)}),r.auto_focus&&setTimeout(function(){var e;e=r.auto_focus===!0?n:n.editorManager.get(r.auto_focus),e.focus()},100),s=h=m=null},focus:function(e){var t=this,n=t.selection,r=t.settings.content_editable,i,o,a=t.getDoc(),s;if(!e){if(i=n.getRng(),i.item&&(o=i.item(0)),t._refreshContentEditable(),r||(x.opera||t.getBody().focus(),t.getWin().focus()),P||r){if(s=t.getBody(),s.setActive)try{s.setActive()}catch(l){s.focus()}else s.focus();r&&n.normalize()}o&&o.ownerDocument==a&&(i=a.body.createControlRange(),i.addElement(o),i.select())}t.editorManager.setActive(t)},execCallback:function(e){var t=this,n=t.settings[e],r;if(n)return t.callbackLookup&&(r=t.callbackLookup[e])&&(n=r.func,r=r.scope),"string"==typeof n&&(r=n.replace(/\.\w+$/,""),r=r?H(r):0,n=H(n),t.callbackLookup=t.callbackLookup||{},t.callbackLookup[e]={func:n,scope:r}),n.apply(r||t,Array.prototype.slice.call(arguments,1))},translate:function(e){var t=this.settings.language||"en",n=this.editorManager.i18n;return e?n.data[t+"."+e]||e.replace(/\{\#([^\}]+)\}/g,function(e,r){return n.data[t+"."+r]||"{#"+r+"}"}):""},getLang:function(e,n){return this.editorManager.i18n.data[(this.settings.language||"en")+"."+e]||(n!==t?n:"{#"+e+"}")},getParam:function(e,t,n){var r=e in this.settings?this.settings[e]:t,i;return"hash"===n?(i={},"string"==typeof r?A(r.split(r.indexOf("=")>0?/[;,](?![^=;,]*(?:[;,]|$))/:","),function(e){e=e.split("="),i[L(e[0])]=L(e.length>1?e[1]:e)}):i=r,i):r},nodeChanged:function(e){this._nodeChangeDispatcher.nodeChanged(e)},addButton:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),t.text||t.icon||(t.icon=e),n.buttons=n.buttons||{},t.tooltip=t.tooltip||t.title,n.buttons[e]=t},addMenuItem:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),n.menuItems=n.menuItems||{},n.menuItems[e]=t},addCommand:function(e,t,n){this.execCommands[e]={func:t,scope:n||this}},addQueryStateHandler:function(e,t,n){this.queryStateCommands[e]={func:t,scope:n||this}},addQueryValueHandler:function(e,t,n){this.queryValueCommands[e]={func:t,scope:n||this}},addShortcut:function(e,t,n,r){this.shortcuts.add(e,t,n,r)},execCommand:function(e,t,n,r){var i=this,o=0,a;if(/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test(e)||r&&r.skip_focus||i.focus(),r=R({},r),r=i.fire("BeforeExecCommand",{command:e,ui:t,value:n}),r.isDefaultPrevented())return!1;if((a=i.execCommands[e])&&a.func.call(a.scope,t,n)!==!0)return i.fire("ExecCommand",{command:e,ui:t,value:n}),!0;if(A(i.plugins,function(r){return r.execCommand&&r.execCommand(e,t,n)?(i.fire("ExecCommand",{command:e,ui:t,value:n}),o=!0,!1):void 0}),o)return o;if(i.theme&&i.theme.execCommand&&i.theme.execCommand(e,t,n))return i.fire("ExecCommand",{command:e,ui:t,value:n}),!0;if(i.editorCommands.execCommand(e,t,n))return i.fire("ExecCommand",{command:e,ui:t,value:n}),!0;try{o=i.getDoc().execCommand(e,t,n)}catch(s){}return o?(i.fire("ExecCommand",{command:e,ui:t,value:n}),!0):!1},queryCommandState:function(e){var t=this,n,r;if(!t._isHidden()){if((n=t.queryStateCommands[e])&&(r=n.func.call(n.scope),r===!0||r===!1))return r;if(r=t.editorCommands.queryCommandState(e),-1!==r)return r;try{return t.getDoc().queryCommandState(e)}catch(i){}}},queryCommandValue:function(e){var n=this,r,i;if(!n._isHidden()){if((r=n.queryValueCommands[e])&&(i=r.func.call(r.scope),i!==!0))return i;if(i=n.editorCommands.queryCommandValue(e),i!==t)return i;try{return n.getDoc().queryCommandValue(e)}catch(o){}}},show:function(){var e=this;e.hidden&&(e.hidden=!1,e.inline?e.getBody().contentEditable=!0:(k.show(e.getContainer()),k.hide(e.id)),e.load(),e.fire("show"))},hide:function(){var e=this,t=e.getDoc();e.hidden||(O&&t&&!e.inline&&t.execCommand("SelectAll"),e.save(),e.inline?(e.getBody().contentEditable=!1,e==e.editorManager.focusedEditor&&(e.editorManager.focusedEditor=null)):(k.hide(e.getContainer()),k.setStyle(e.id,"display",e.orgDisplay)),e.hidden=!0,e.fire("hide"))},isHidden:function(){return!!this.hidden},setProgressState:function(e,t){this.fire("ProgressState",{state:e,time:t})},load:function(e){var n=this,r=n.getElement(),i;return r?(e=e||{},e.load=!0,i=n.setContent(r.value!==t?r.value:r.innerHTML,e),e.element=r,e.no_events||n.fire("LoadContent",e),e.element=r=null,i):void 0},save:function(e){var t=this,n=t.getElement(),r,i;if(n&&t.initialized)return e=e||{},e.save=!0,e.element=n,r=e.content=t.getContent(e),e.no_events||t.fire("SaveContent",e),r=e.content,/TEXTAREA|INPUT/i.test(n.nodeName)?n.value=r:(t.inline||(n.innerHTML=r),(i=k.getParent(t.id,"form"))&&A(i.elements,function(e){return e.name==t.id?(e.value=r,!1):void 0})),e.element=n=null,e.set_dirty!==!1&&(t.isNotDirty=!0),r},setContent:function(e,t){var n=this,r=n.getBody(),i;return t=t||{},t.format=t.format||"html",t.set=!0,t.content=e,t.no_events||n.fire("BeforeSetContent",t),e=t.content,0===e.length||/^\s+$/.test(e)?(i=n.settings.forced_root_block,i&&n.schema.isValidChild(r.nodeName.toLowerCase(),i.toLowerCase())?(e=O&&11>O?"":'<br data-mce-bogus="1">',e=n.dom.createHTML(i,n.settings.forced_root_block_attrs,e)):O||(e='<br data-mce-bogus="1">'),n.dom.setHTML(r,e),n.fire("SetContent",t)):("raw"!==t.format&&(e=new s({},n.schema).serialize(n.parser.parse(e,{isRootContent:!0}))),t.content=L(e),n.dom.setHTML(r,t.content),t.no_events||n.fire("SetContent",t)),t.content},getContent:function(e){var t=this,n,r=t.getBody();return e=e||{},e.format=e.format||"html",e.get=!0,e.getInner=!0,e.no_events||t.fire("BeforeGetContent",e),n="raw"==e.format?r.innerHTML:"text"==e.format?r.innerText||r.textContent:t.serializer.serialize(r,e),e.content="text"!=e.format?L(n):n,e.no_events||t.fire("GetContent",e),e.content},insertContent:function(e,t){t&&(e=R({content:e},t)),this.execCommand("mceInsertContent",!1,e)},isDirty:function(){return!this.isNotDirty},getContainer:function(){var e=this;return e.container||(e.container=k.get(e.editorContainer||e.id+"_parent")),e.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return this.targetElm||(this.targetElm=k.get(this.id)),this.targetElm},getWin:function(){var e=this,t;return e.contentWindow||(t=e.iframeElement,t&&(e.contentWindow=t.contentWindow)),e.contentWindow},getDoc:function(){var e=this,t;return e.contentDocument||(t=e.getWin(),t&&(e.contentDocument=t.document)),e.contentDocument},getBody:function(){return this.bodyElement||this.getDoc().body},convertURL:function(e,t,n){var r=this,i=r.settings;return i.urlconverter_callback?r.execCallback("urlconverter_callback",e,n,!0,t):!i.convert_urls||n&&"LINK"==n.nodeName||0===e.indexOf("file:")||0===e.length?e:i.relative_urls?r.documentBaseURI.toRelative(e):e=r.documentBaseURI.toAbsolute(e,i.remove_script_host)},addVisual:function(e){var n=this,r=n.settings,i=n.dom,o;e=e||n.getBody(),n.hasVisual===t&&(n.hasVisual=r.visual),A(i.select("table,a",e),function(e){var t;switch(e.nodeName){case"TABLE":return o=r.visual_table_class||"mce-item-table",t=i.getAttrib(e,"border"),void(t&&"0"!=t||!n.hasVisual?i.removeClass(e,o):i.addClass(e,o));case"A":return void(i.getAttrib(e,"href",!1)||(t=i.getAttrib(e,"name")||e.id,o=r.visual_anchor_class||"mce-item-anchor",t&&n.hasVisual?i.addClass(e,o):i.removeClass(e,o)))}}),n.fire("VisualAid",{element:e,hasVisual:n.hasVisual})},remove:function(){var e=this;e.removed||(e.save(),e.removed=1,e.unbindAllNativeEvents(),e.hasHiddenInput&&k.remove(e.getElement().nextSibling),e.inline||(O&&10>O&&e.getDoc().execCommand("SelectAll",!1,null),k.setStyle(e.id,"display",e.orgDisplay),e.getBody().onload=null),e.fire("remove"),e.editorManager.remove(e),k.remove(e.getContainer()),e.destroy())},destroy:function(e){var t=this,n;if(!t.destroyed){if(!e&&!t.removed)return void t.remove();e||(t.editorManager.off("beforeunload",t._beforeUnload),t.theme&&t.theme.destroy&&t.theme.destroy(),t.selection.destroy(),t.dom.destroy()),n=t.formElement,n&&(n._mceOldSubmit&&(n.submit=n._mceOldSubmit,n._mceOldSubmit=null),k.unbind(n,"submit reset",t.formEventDelegate)),t.contentAreaContainer=t.formElement=t.container=t.editorContainer=null,t.bodyElement=t.contentDocument=t.contentWindow=null,t.iframeElement=t.targetElm=null,t.selection&&(t.selection=t.selection.win=t.selection.dom=t.selection.dom.doc=null),t.destroyed=1}},_refreshContentEditable:function(){var e=this,t,n;e._isHidden()&&(t=e.getBody(),n=t.parentNode,n.removeChild(t),n.appendChild(t),t.focus())},_isHidden:function(){var e;return P?(e=this.selection.getSel(),!e||!e.rangeCount||0===e.rangeCount):0}},R(N.prototype,_),N}),r(ft,[],function(){var e={};return{rtl:!1,add:function(t,n){for(var r in n)e[r]=n[r];this.rtl=this.rtl||"rtl"===e._dir},translate:function(t){if("undefined"==typeof t)return t;if("string"!=typeof t&&t.raw)return t.raw;if(t.push){var n=t.slice(1);t=(e[t[0]]||t[0]).replace(/\{([^\}]+)\}/g,function(e,t){return n[t]})}return e[t]||t},data:e}}),r(pt,[y,d],function(e,t){function n(e){function s(){try{return document.activeElement}catch(e){return document.body}}function l(e,t){if(t&&t.startContainer){if(!e.isChildOf(t.startContainer,e.getRoot())||!e.isChildOf(t.endContainer,e.getRoot()))return;return{startContainer:t.startContainer,startOffset:t.startOffset,endContainer:t.endContainer,endOffset:t.endOffset}}return t}function c(e,t){var n;return t.startContainer?(n=e.getDoc().createRange(),n.setStart(t.startContainer,t.startOffset),n.setEnd(t.endContainer,t.endOffset)):n=t,n}function u(e){return!!a.getParent(e,n.isEditorUIElement)}function d(n){var d=n.editor;d.on("init",function(){(d.inline||t.ie)&&("onbeforedeactivate"in document&&t.ie<9?d.dom.bind(d.getBody(),"beforedeactivate",function(e){if(e.target==d.getBody())try{d.lastRng=d.selection.getRng()}catch(t){}}):d.on("nodechange mouseup keyup",function(e){var t=s();"nodechange"==e.type&&e.selectionChange||(t&&t.id==d.id+"_ifr"&&(t=d.getBody()),d.dom.isChildOf(t,d.getBody())&&(d.lastRng=d.selection.getRng()))}),t.webkit&&!r&&(r=function(){var t=e.activeEditor;if(t&&t.selection){var n=t.selection.getRng();n&&!n.collapsed&&(d.lastRng=n)}},a.bind(document,"selectionchange",r)))}),d.on("setcontent",function(){d.lastRng=null}),d.on("mousedown",function(){d.selection.lastFocusBookmark=null}),d.on("focusin",function(){var t=e.focusedEditor;d.selection.lastFocusBookmark&&(d.selection.setRng(c(d,d.selection.lastFocusBookmark)),d.selection.lastFocusBookmark=null),t!=d&&(t&&t.fire("blur",{focusedEditor:d}),e.setActive(d),e.focusedEditor=d,d.fire("focus",{blurredEditor:t}),d.focus(!0)),d.lastRng=null}),d.on("focusout",function(){window.setTimeout(function(){var t=e.focusedEditor;u(s())||t!=d||(d.fire("blur",{focusedEditor:null}),e.focusedEditor=null,d.selection&&(d.selection.lastFocusBookmark=null))},0)}),i||(i=function(t){var n=e.activeEditor;n&&t.target.ownerDocument==document&&(n.selection&&t.target!=n.getBody()&&(n.selection.lastFocusBookmark=l(n.dom,n.lastRng)),t.target==document.body||u(t.target)||e.focusedEditor!=n||(n.fire("blur",{focusedEditor:null}),e.focusedEditor=null))},a.bind(document,"focusin",i)),d.inline&&!o&&(o=function(t){var n=e.activeEditor;if(n.inline&&!n.dom.isChildOf(t.target,n.getBody())){var r=n.selection.getRng();r.collapsed||(n.lastRng=r)}},a.bind(document,"mouseup",o))}function f(t){e.focusedEditor==t.editor&&(e.focusedEditor=null),e.activeEditor||(a.unbind(document,"selectionchange",r),a.unbind(document,"focusin",i),a.unbind(document,"mouseup",o),r=i=o=null)}e.on("AddEditor",d),e.on("RemoveEditor",f)}var r,i,o,a=e.DOM;return n.isEditorUIElement=function(e){return-1!==e.className.toString().indexOf("mce-")},n}),r(ht,[dt,f,y,V,d,u,lt,ft,pt],function(e,t,n,r,i,o,a,s,l){function c(e){var t=v.editors,n;delete t[e.id];for(var r=0;r<t.length;r++)if(t[r]==e){t.splice(r,1),n=!0;break}return v.activeEditor==e&&(v.activeEditor=t[0]),v.focusedEditor==e&&(v.focusedEditor=null),n}function u(e){return e&&!(e.getContainer()||e.getBody()).parentNode&&(c(e),e.unbindAllNativeEvents(),e.destroy(!0),e=null),e}var d=n.DOM,f=o.explode,p=o.each,h=o.extend,m=0,g,v;return v={$:t,majorVersion:"4",minorVersion:"1.4",releaseDate:"2014-08-22",editors:[],i18n:s,activeEditor:null,setup:function(){var e=this,t,n,i="",o,a;if(n=document.location.href,/^[^:]+:\/\/\/?[^\/]+\//.test(n)&&(n=n.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(n)||(n+="/")),o=window.tinymce||window.tinyMCEPreInit)t=o.base||o.baseURL,i=o.suffix;else{for(var s=document.getElementsByTagName("script"),c=0;c<s.length;c++)if(a=s[c].src,/tinymce(\.full|\.jquery|)(\.min|\.dev|)\.js/.test(a)){-1!=a.indexOf(".min")&&(i=".min"),t=a.substring(0,a.lastIndexOf("/"));break}!t&&document.currentScript&&(a=document.currentScript.src,-1!=a.indexOf(".min")&&(i=".min"),t=a.substring(0,a.lastIndexOf("/")))}e.baseURL=new r(n).toAbsolute(t),e.documentBaseURL=n,e.baseURI=new r(e.baseURL),e.suffix=i,e.focusManager=new l(e)},init:function(t){function n(e){var t=e.id;return t||(t=e.name,t=t&&!d.get(t)?e.name:d.uniqueId(),e.setAttribute("id",t)),t}function r(t,n,r){if(!u(s.get(t))){var i=new e(t,n,s);i.targetElm=i.targetElm||r,l.push(i),i.render()}}function i(e){var n=t[e];if(n)return n.apply(s,Array.prototype.slice.call(arguments,2))}function o(e,t){return t.constructor===RegExp?t.test(e.className):d.hasClass(e,t)}function a(){var e,s;if(d.unbind(window,"ready",a),i("onpageload"),t.types)return void p(t.types,function(e){p(d.select(e.selector),function(i){r(n(i),h({},t,e),i)})});if(t.selector)return void p(d.select(t.selector),function(e){r(n(e),t,e)});switch(t.target&&r(n(t.target),t),t.mode){case"exact":e=t.elements||"",e.length>0&&p(f(e),function(e){var n;(n=d.get(e))?r(e,t,n):p(document.forms,function(n){p(n.elements,function(n){n.name===e&&(e="mce_editor_"+m++,d.setAttrib(n,"id",e),r(e,t,n))})})});break;case"textareas":case"specific_textareas":p(d.select("textarea"),function(e){t.editor_deselector&&o(e,t.editor_deselector)||(!t.editor_selector||o(e,t.editor_selector))&&r(n(e),t,e)})}t.oninit&&(e=s=0,p(l,function(t){s++,t.initialized?e++:t.on("init",function(){e++,e==s&&i("oninit")}),e==s&&i("oninit")}))}var s=this,l=[];s.settings=t,d.bind(window,"ready",a)},get:function(e){return arguments.length?e in this.editors?this.editors[e]:null:this.editors},add:function(e){var t=this,n=t.editors;return n[e.id]=e,n.push(e),t.activeEditor=e,t.fire("AddEditor",{editor:e}),g||(g=function(){t.fire("BeforeUnload")},d.bind(window,"beforeunload",g)),e},createEditor:function(t,n){return this.add(new e(t,n,this))},remove:function(e){var t=this,n,r=t.editors,i;{if(e)return"string"==typeof e?(e=e.selector||e,void p(d.select(e),function(e){i=r[e.id],i&&t.remove(i)})):(i=e,r[i.id]?(c(i)&&t.fire("RemoveEditor",{editor:i}),r.length||d.unbind(window,"beforeunload",g),i.remove(),i):null);for(n=r.length-1;n>=0;n--)t.remove(r[n])}},execCommand:function(t,n,r){var i=this,o=i.get(r);switch(t){case"mceAddEditor":return i.get(r)||new e(r,i.settings,i).render(),!0;case"mceRemoveEditor":return o&&o.remove(),!0;case"mceToggleEditor":return o?(o.isHidden()?o.show():o.hide(),!0):(i.execCommand("mceAddEditor",0,r),!0)}return i.activeEditor?i.activeEditor.execCommand(t,n,r):!1},triggerSave:function(){p(this.editors,function(e){e.save()})},addI18n:function(e,t){s.add(e,t)},translate:function(e){return s.translate(e)},setActive:function(e){var t=this.activeEditor;this.activeEditor!=e&&(t&&t.fire("deactivate",{relatedTarget:e}),e.fire("activate",{relatedTarget:t})),this.activeEditor=e}},h(v,a),v.setup(),window.tinymce=window.tinyMCE=v,v}),r(mt,[ht,u],function(e,t){var n=t.each,r=t.explode;e.on("AddEditor",function(e){var t=e.editor;t.on("preInit",function(){function e(e,t){n(t,function(t,n){t&&s.setStyle(e,n,t)}),s.rename(e,"span")}function i(e){s=t.dom,l.convert_fonts_to_spans&&n(s.select("font,u,strike",e.node),function(e){o[e.nodeName.toLowerCase()](s,e)})}var o,a,s,l=t.settings;l.inline_styles&&(a=r(l.font_size_legacy_values),o={font:function(t,n){e(n,{backgroundColor:n.style.backgroundColor,color:n.color,fontFamily:n.face,fontSize:a[parseInt(n.size,10)-1]})},u:function(t,n){e(n,{textDecoration:"underline"})},strike:function(t,n){e(n,{textDecoration:"line-through"})}},t.on("PreProcess SetContent",i))})})}),r(gt,[lt,u],function(e,t){var n={send:function(e){function t(){!e.async||4==r.readyState||i++>1e4?(e.success&&1e4>i&&200==r.status?e.success.call(e.success_scope,""+r.responseText,r,e):e.error&&e.error.call(e.error_scope,i>1e4?"TIMED_OUT":"GENERAL",r,e),r=null):setTimeout(t,10)}var r,i=0;if(e.scope=e.scope||this,e.success_scope=e.success_scope||e.scope,e.error_scope=e.error_scope||e.scope,e.async=e.async===!1?!1:!0,e.data=e.data||"",r=new XMLHttpRequest){if(r.overrideMimeType&&r.overrideMimeType(e.content_type),r.open(e.type||(e.data?"POST":"GET"),e.url,e.async),e.crossDomain&&(r.withCredentials=!0),e.content_type&&r.setRequestHeader("Content-Type",e.content_type),r.setRequestHeader("X-Requested-With","XMLHttpRequest"),r=n.fire("beforeSend",{xhr:r,settings:e}).xhr,r.send(e.data),!e.async)return t();setTimeout(t,10)}}};return t.extend(n,e),n}),r(vt,[],function(){function e(t,n){var r,i,o,a;if(n=n||'"',null===t)return"null";if(o=typeof t,"string"==o)return i="\bb	t\nn\ff\rr\"\"''\\\\",n+t.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(e,t){return'"'===n&&"'"===e?e:(r=i.indexOf(t),r+1?"\\"+i.charAt(r+1):(e=t.charCodeAt().toString(16),"\\u"+"0000".substring(e.length)+e))})+n;if("object"==o){if(t.hasOwnProperty&&"[object Array]"===Object.prototype.toString.call(t)){for(r=0,i="[";r<t.length;r++)i+=(r>0?",":"")+e(t[r],n);return i+"]"}i="{";for(a in t)t.hasOwnProperty(a)&&(i+="function"!=typeof t[a]?(i.length>1?","+n:n)+a+n+":"+e(t[a],n):"");return i+"}"}return""+t}return{serialize:e,parse:function(e){try{return window[String.fromCharCode(101)+"val"]("("+e+")")}catch(t){}}}}),r(yt,[vt,gt,u],function(e,t,n){function r(e){this.settings=i({},e),this.count=0}var i=n.extend;return r.sendRPC=function(e){return(new r).send(e)},r.prototype={send:function(n){var r=n.error,o=n.success;n=i(this.settings,n),n.success=function(t,i){t=e.parse(t),"undefined"==typeof t&&(t={error:"JSON Parse error."}),t.error?r.call(n.error_scope||n.scope,t.error,i):o.call(n.success_scope||n.scope,t.result)},n.error=function(e,t){r&&r.call(n.error_scope||n.scope,e,t)},n.data=e.serialize({id:n.id||"c"+this.count++,method:n.method,params:n.params}),n.content_type="application/json",t.send(n)}},r}),r(bt,[y],function(e){return{callbacks:{},count:0,send:function(n){var r=this,i=e.DOM,o=n.count!==t?n.count:r.count,a="tinymce_jsonp_"+o;r.callbacks[o]=function(e){i.remove(a),delete r.callbacks[o],n.callback(e)},i.add(i.doc.body,"script",{id:a,src:n.url,type:"text/javascript"}),r.count++}}}),r(Ct,[],function(){function e(){s=[];for(var e in a)s.push(e);i.length=s.length}function n(){function n(e){var n,r;return r=e!==t?u+e:i.indexOf(",",u),-1===r||r>i.length?null:(n=i.substring(u,r),u=r+1,n)}var r,i,s,u=0;if(a={},c){o.load(l),i=o.getAttribute(l)||"";do{var d=n();if(null===d)break;if(r=n(parseInt(d,32)||0),null!==r){if(d=n(),null===d)break;s=n(parseInt(d,32)||0),r&&(a[r]=s)}}while(null!==r);e()}}function r(){var t,n="";if(c){for(var r in a)t=a[r],n+=(n?",":"")+r.length.toString(32)+","+r+","+t.length.toString(32)+","+t;o.setAttribute(l,n);try{o.save(l)}catch(i){}e()}}var i,o,a,s,l,c;try{if(window.localStorage)return localStorage}catch(u){}return l="tinymce",o=document.documentElement,c=!!o.addBehavior,c&&o.addBehavior("#default#userData"),i={key:function(e){return s[e]},getItem:function(e){return e in a?a[e]:null},setItem:function(e,t){a[e]=""+t,r()},removeItem:function(e){delete a[e],r()},clear:function(){a={},r()}},n(),i}),r(xt,[y,l,b,C,u,d],function(e,t,n,r,i,o){var a=window.tinymce;return a.DOM=e.DOM,a.ScriptLoader=n.ScriptLoader,a.PluginManager=r.PluginManager,a.ThemeManager=r.ThemeManager,a.dom=a.dom||{},a.dom.Event=t.Event,i.each(i,function(e,t){a[t]=e}),i.each("isOpera isWebKit isIE isGecko isMac".split(" "),function(e){a[e]=o[e.substr(2).toLowerCase()]}),{}}),r(wt,[U,u],function(e,t){return e.extend({Defaults:{firstControlClass:"first",lastControlClass:"last"},init:function(e){this.settings=t.extend({},this.Defaults,e)},preRender:function(e){e.addClass(this.settings.containerClass,"body")},applyClasses:function(e){var t=this,n=t.settings,r,i,o;r=e.items().filter(":visible"),i=n.firstControlClass,o=n.lastControlClass,r.each(function(e){e.removeClass(i).removeClass(o),n.controlClass&&e.addClass(n.controlClass)}),r.eq(0).addClass(i),r.eq(-1).addClass(o)},renderHtml:function(e){var t=this,n=t.settings,r,i="";return r=e.items(),r.eq(0).addClass(n.firstControlClass),r.eq(-1).addClass(n.lastControlClass),r.each(function(e){n.controlClass&&e.addClass(n.controlClass),i+=e.renderHtml()}),i},recalc:function(){},postRender:function(){}})}),r(_t,[wt],function(e){return e.extend({Defaults:{containerClass:"abs-layout",controlClass:"abs-layout-item"},recalc:function(e){e.items().filter(":visible").each(function(e){var t=e.settings;e.layoutRect({x:t.x,y:t.y,w:t.w,h:t.h}),e.recalc&&e.recalc()})},renderHtml:function(e){return'<div id="'+e._id+'-absend" class="'+e.classPrefix+'abs-end"></div>'+this._super(e)}})}),r(Et,[K,tt],function(e,t){return e.extend({Mixins:[t],Defaults:{classes:"widget tooltip tooltip-n"},text:function(e){var t=this;return"undefined"!=typeof e?(t._value=e,t._rendered&&(t.getEl().lastChild.innerHTML=t.encode(e)),t):t._value},renderHtml:function(){var e=this,t=e.classPrefix;return'<div id="'+e._id+'" class="'+e.classes()+'" role="presentation"><div class="'+t+'tooltip-arrow"></div><div class="'+t+'tooltip-inner">'+e.encode(e._text)+"</div></div>"},repaint:function(){var e=this,t,n;t=e.getEl().style,n=e._layoutRect,t.left=n.x+"px",t.top=n.y+"px",t.zIndex=131070}})}),r(Nt,[K,Et],function(e,t){var n,r=e.extend({init:function(e){var t=this;t._super(e),e=t.settings,t.canFocus=!0,e.tooltip&&r.tooltips!==!1&&(t.on("mouseenter",function(n){var r=t.tooltip().moveTo(-65535);if(n.control==t){var i=r.text(e.tooltip).show().testMoveRel(t.getEl(),["bc-tc","bc-tl","bc-tr"]);r.toggleClass("tooltip-n","bc-tc"==i),r.toggleClass("tooltip-nw","bc-tl"==i),r.toggleClass("tooltip-ne","bc-tr"==i),r.moveRel(t.getEl(),i)}else r.hide()}),t.on("mouseleave mousedown click",function(){t.tooltip().hide()})),t.aria("label",e.ariaLabel||e.tooltip)},tooltip:function(){return n||(n=new t({type:"tooltip"}),n.renderTo()),n},active:function(e){var t=this,n;return e!==n&&(t.aria("pressed",e),t.toggleClass("active",e)),t._super(e)},disabled:function(e){var t=this,n;return e!==n&&(t.aria("disabled",e),t.toggleClass("disabled",e)),t._super(e)},postRender:function(){var e=this,t=e.settings;e._rendered=!0,e._super(),e.parent()||!t.width&&!t.height||(e.initLayoutRect(),e.repaint()),t.autofocus&&e.focus()},remove:function(){this._super(),n&&(n.remove(),n=null)}});return r}),r(kt,[Nt],function(e){return e.extend({Defaults:{classes:"widget btn",role:"button"},init:function(e){var t=this,n;t.on("click mousedown",function(e){e.preventDefault()}),t._super(e),n=e.size,e.subtype&&t.addClass(e.subtype),n&&t.addClass("btn-"+n)},icon:function(e){var t=this,n=t.classPrefix;if("undefined"==typeof e)return t.settings.icon;if(t.settings.icon=e,e=e?n+"ico "+n+"i-"+t.settings.icon:"",t._rendered){var r=t.getEl().firstChild,i=r.getElementsByTagName("i")[0];e?(i&&i==r.firstChild||(i=document.createElement("i"),r.insertBefore(i,r.firstChild)),i.className=e):i&&r.removeChild(i),t.text(t._text)}return t},repaint:function(){var e=this.getEl().firstChild.style;e.width=e.height="100%",this._super()},text:function(e){var t=this;
+if(t._rendered){var n=t.getEl().lastChild.lastChild;n&&(n.data=t.translate(e))}return t._super(e)},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.settings.icon,i;return i=e.settings.image,i?(r="none","string"!=typeof i&&(i=window.getSelection?i[0]:i[1]),i=" style=\"background-image: url('"+i+"')\""):i="",r=e.settings.icon?n+"ico "+n+"i-"+r:"",'<div id="'+t+'" class="'+e.classes()+'" tabindex="-1" aria-labelledby="'+t+'"><button role="presentation" type="button" tabindex="-1">'+(r?'<i class="'+r+'"'+i+"></i>":"")+(e._text?(r?"\xa0":"")+e.encode(e._text):"")+"</button></div>"}})}),r(St,[J],function(e){return e.extend({Defaults:{defaultType:"button",role:"group"},renderHtml:function(){var e=this,t=e._layout;return e.addClass("btn-group"),e.preRender(),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes()+'"><div id="'+e._id+'-body">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"}})}),r(Tt,[Nt],function(e){return e.extend({Defaults:{classes:"checkbox",role:"checkbox",checked:!1},init:function(e){var t=this;t._super(e),t.on("click mousedown",function(e){e.preventDefault()}),t.on("click",function(e){e.preventDefault(),t.disabled()||t.checked(!t.checked())}),t.checked(t.settings.checked)},checked:function(e){var t=this;return"undefined"!=typeof e?(e?t.addClass("checked"):t.removeClass("checked"),t._checked=e,t.aria("checked",e),t):t._checked},value:function(e){return this.checked(e)},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix;return'<div id="'+t+'" class="'+e.classes()+'" unselectable="on" aria-labelledby="'+t+'-al" tabindex="-1"><i class="'+n+"ico "+n+'i-checkbox"></i><span id="'+t+'-al" class="'+n+'label">'+e.encode(e._text)+"</span></div>"}})}),r(Rt,[Nt,G,Y],function(e,t,n){return e.extend({init:function(e){var t=this;t._super(e),t.addClass("combobox"),t.subinput=!0,t.ariaTarget="inp",e=t.settings,e.menu=e.menu||e.values,e.menu&&(e.icon="caret"),t.on("click",function(n){for(var r=n.target,i=t.getEl();r&&r!=i;)r.id&&-1!=r.id.indexOf("-open")&&(t.fire("action"),e.menu&&(t.showMenu(),n.aria&&t.menu.items()[0].focus())),r=r.parentNode}),t.on("keydown",function(e){"INPUT"==e.target.nodeName&&13==e.keyCode&&t.parents().reverse().each(function(n){return e.preventDefault(),t.fire("change"),n.hasEventListeners("submit")&&n.toJSON?(n.fire("submit",{data:n.toJSON()}),!1):void 0})}),e.placeholder&&(t.addClass("placeholder"),t.on("focusin",function(){t._hasOnChange||(n.on(t.getEl("inp"),"change",function(){t.fire("change")}),t._hasOnChange=!0),t.hasClass("placeholder")&&(t.getEl("inp").value="",t.removeClass("placeholder"))}),t.on("focusout",function(){0===t.value().length&&(t.getEl("inp").value=e.placeholder,t.addClass("placeholder"))}))},showMenu:function(){var e=this,n=e.settings,r;e.menu||(r=n.menu||[],r.length?r={type:"menu",items:r}:r.type=r.type||"menu",e.menu=t.create(r).parent(e).renderTo(e.getContainerElm()),e.fire("createmenu"),e.menu.reflow(),e.menu.on("cancel",function(t){t.control===e.menu&&e.focus()}),e.menu.on("show hide",function(t){t.control.items().each(function(t){t.active(t.value()==e.value())})}).fire("show"),e.menu.on("select",function(t){e.value(t.control.value())}),e.on("focusin",function(t){"INPUT"==t.target.tagName.toUpperCase()&&e.menu.hide()}),e.aria("expanded",!0)),e.menu.show(),e.menu.layoutRect({w:e.layoutRect().w}),e.menu.moveRel(e.getEl(),e.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])},value:function(e){var t=this;return"undefined"!=typeof e?(t._value=e,t.removeClass("placeholder"),t._rendered&&(t.getEl("inp").value=e),t):t._rendered?(e=t.getEl("inp").value,e!=t.settings.placeholder?e:""):t._value},disabled:function(e){var t=this;return t._rendered&&"undefined"!=typeof e&&(t.getEl("inp").disabled=e),t._super(e)},focus:function(){this.getEl("inp").focus()},repaint:function(){var e=this,t=e.getEl(),r=e.getEl("open"),i=e.layoutRect(),o,a;o=r?i.w-n.getSize(r).width-10:i.w-10;var s=document;return s.all&&(!s.documentMode||s.documentMode<=8)&&(a=e.layoutRect().h-2+"px"),n.css(t.firstChild,{width:o,lineHeight:a}),e._super(),e},postRender:function(){var e=this;return n.on(this.getEl("inp"),"change",function(){e.fire("change")}),e._super()},remove:function(){n.off(this.getEl("inp")),this._super()},renderHtml:function(){var e=this,t=e._id,n=e.settings,r=e.classPrefix,i=n.value||n.placeholder||"",o,a,s="",l="";return"spellcheck"in n&&(l+=' spellcheck="'+n.spellcheck+'"'),n.maxLength&&(l+=' maxlength="'+n.maxLength+'"'),n.size&&(l+=' size="'+n.size+'"'),n.subtype&&(l+=' type="'+n.subtype+'"'),e.disabled()&&(l+=' disabled="disabled"'),o=n.icon,o&&"caret"!=o&&(o=r+"ico "+r+"i-"+n.icon),a=e._text,(o||a)&&(s='<div id="'+t+'-open" class="'+r+"btn "+r+'open" tabIndex="-1" role="button"><button id="'+t+'-action" type="button" hidefocus="1" tabindex="-1">'+("caret"!=o?'<i class="'+o+'"></i>':'<i class="'+r+'caret"></i>')+(a?(o?" ":"")+a:"")+"</button></div>",e.addClass("has-open")),'<div id="'+t+'" class="'+e.classes()+'"><input id="'+t+'-inp" class="'+r+"textbox "+r+'placeholder" value="'+i+'" hidefocus="1"'+l+" />"+s+"</div>"}})}),r(At,[Rt],function(e){return e.extend({init:function(e){var t=this;e.spellcheck=!1,e.onaction&&(e.icon="none"),t._super(e),t.addClass("colorbox"),t.on("change keyup postrender",function(){t.repaintColor(t.value())})},repaintColor:function(e){var t=this.getEl().getElementsByTagName("i")[0];if(t)try{t.style.background=e}catch(n){}},value:function(e){var t=this;return"undefined"!=typeof e&&t._rendered&&t.repaintColor(e),t._super(e)}})}),r(Bt,[kt,rt],function(e,t){return e.extend({showPanel:function(){var e=this,n=e.settings;if(e.active(!0),e.panel)e.panel.show();else{var r=n.panel;r.type&&(r={layout:"grid",items:r}),r.role=r.role||"dialog",r.popover=!0,r.autohide=!0,r.ariaRoot=!0,e.panel=new t(r).on("hide",function(){e.active(!1)}).on("cancel",function(t){t.stopPropagation(),e.focus(),e.hidePanel()}).parent(e).renderTo(e.getContainerElm()),e.panel.fire("show"),e.panel.reflow()}e.panel.moveRel(e.getEl(),n.popoverAlign||(e.isRtl()?["bc-tr","bc-tc"]:["bc-tl","bc-tc"]))},hidePanel:function(){var e=this;e.panel&&e.panel.hide()},postRender:function(){var e=this;return e.aria("haspopup",!0),e.on("click",function(t){t.control===e&&(e.panel&&e.panel.visible()?e.hidePanel():(e.showPanel(),e.panel.focus(!!t.aria)))}),e._super()},remove:function(){return this.panel&&(this.panel.remove(),this.panel=null),this._super()}})}),r(Dt,[Bt,y],function(e,t){var n=t.DOM;return e.extend({init:function(e){this._super(e),this.addClass("colorbutton")},color:function(e){return e?(this._color=e,this.getEl("preview").style.backgroundColor=e,this):this._color},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.settings.icon?n+"ico "+n+"i-"+e.settings.icon:"",i=e.settings.image?" style=\"background-image: url('"+e.settings.image+"')\"":"";return'<div id="'+t+'" class="'+e.classes()+'" role="button" tabindex="-1" aria-haspopup="true"><button role="presentation" hidefocus="1" type="button" tabindex="-1">'+(r?'<i class="'+r+'"'+i+"></i>":"")+'<span id="'+t+'-preview" class="'+n+'preview"></span>'+(e._text?(r?" ":"")+e._text:"")+'</button><button type="button" class="'+n+'open" hidefocus="1" tabindex="-1"> <i class="'+n+'caret"></i></button></div>'},postRender:function(){var e=this,t=e.settings.onclick;return e.on("click",function(r){r.aria&&"down"==r.aria.key||r.control!=e||n.getParent(r.target,"."+e.classPrefix+"open")||(r.stopImmediatePropagation(),t.call(e,r))}),delete e.settings.onclick,e._super()}})}),r(Lt,[],function(){function e(e){function i(e,i,o){var a,s,l,c,u,d;return a=0,s=0,l=0,e/=255,i/=255,o/=255,u=t(e,t(i,o)),d=n(e,n(i,o)),u==d?(l=u,{h:0,s:0,v:100*l}):(c=e==u?i-o:o==u?e-i:o-e,a=e==u?3:o==u?1:5,a=60*(a-c/(d-u)),s=(d-u)/d,l=d,{h:r(a),s:r(100*s),v:r(100*l)})}function o(e,i,o){var a,s,l,c;if(e=(parseInt(e,10)||0)%360,i=parseInt(i,10)/100,o=parseInt(o,10)/100,i=n(0,t(i,1)),o=n(0,t(o,1)),0===i)return void(d=f=p=r(255*o));switch(a=e/60,s=o*i,l=s*(1-Math.abs(a%2-1)),c=o-s,Math.floor(a)){case 0:d=s,f=l,p=0;break;case 1:d=l,f=s,p=0;break;case 2:d=0,f=s,p=l;break;case 3:d=0,f=l,p=s;break;case 4:d=l,f=0,p=s;break;case 5:d=s,f=0,p=l;break;default:d=f=p=0}d=r(255*(d+c)),f=r(255*(f+c)),p=r(255*(p+c))}function a(){function e(e){return e=parseInt(e,10).toString(16),e.length>1?e:"0"+e}return"#"+e(d)+e(f)+e(p)}function s(){return{r:d,g:f,b:p}}function l(){return i(d,f,p)}function c(e){var t;return"object"==typeof e?"r"in e?(d=e.r,f=e.g,p=e.b):"v"in e&&o(e.h,e.s,e.v):(t=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)[^\)]*\)/gi.exec(e))?(d=parseInt(t[1],10),f=parseInt(t[2],10),p=parseInt(t[3],10)):(t=/#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(e))?(d=parseInt(t[1],16),f=parseInt(t[2],16),p=parseInt(t[3],16)):(t=/#([0-F])([0-F])([0-F])/gi.exec(e))&&(d=parseInt(t[1]+t[1],16),f=parseInt(t[2]+t[2],16),p=parseInt(t[3]+t[3],16)),d=0>d?0:d>255?255:d,f=0>f?0:f>255?255:f,p=0>p?0:p>255?255:p,u}var u=this,d=0,f=0,p=0;e&&c(e),u.toRgb=s,u.toHsv=l,u.toHex=a,u.parse=c}var t=Math.min,n=Math.max,r=Math.round;return e}),r(Ht,[Nt,Q,Y,Lt],function(e,t,n,r){return e.extend({Defaults:{classes:"widget colorpicker"},init:function(e){this._super(e)},postRender:function(){function e(e,t){var r=n.getPos(e),i,o;return i=t.pageX-r.x,o=t.pageY-r.y,i=Math.max(0,Math.min(i/e.clientWidth,1)),o=Math.max(0,Math.min(o/e.clientHeight,1)),{x:i,y:o}}function i(e,t){var i=(360-e.h)/360;n.css(d,{top:100*i+"%"}),t||n.css(p,{left:e.s+"%",top:100-e.v+"%"}),f.style.background=new r({s:100,v:100,h:e.h}).toHex(),s.color().parse({s:e.s,v:e.v,h:e.h})}function o(t){var n;n=e(f,t),c.s=100*n.x,c.v=100*(1-n.y),i(c),s.fire("change")}function a(t){var n;n=e(u,t),c=l.toHsv(),c.h=360*(1-n.y),i(c,!0),s.fire("change")}var s=this,l=s.color(),c,u,d,f,p;u=s.getEl("h"),d=s.getEl("hp"),f=s.getEl("sv"),p=s.getEl("svp"),s._repaint=function(){c=l.toHsv(),i(c)},s._super(),s._svdraghelper=new t(s._id+"-sv",{start:o,drag:o}),s._hdraghelper=new t(s._id+"-h",{start:a,drag:a}),s._repaint()},rgb:function(){return this.color().toRgb()},value:function(e){var t=this;return arguments.length?(t.color().parse(e),void(t._rendered&&t._repaint())):t.color().toHex()},color:function(){return this._color||(this._color=new r),this._color},renderHtml:function(){function e(){var e,t,n="",i,a;for(i="filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=",a=o.split(","),e=0,t=a.length-1;t>e;e++)n+='<div class="'+r+'colorpicker-h-chunk" style="height:'+100/t+"%;"+i+a[e]+",endColorstr="+a[e+1]+");-ms-"+i+a[e]+",endColorstr="+a[e+1]+')"></div>';return n}var t=this,n=t._id,r=t.classPrefix,i,o="#ff0000,#ff0080,#ff00ff,#8000ff,#0000ff,#0080ff,#00ffff,#00ff80,#00ff00,#80ff00,#ffff00,#ff8000,#ff0000",a="background: -ms-linear-gradient(top,"+o+");background: linear-gradient(to bottom,"+o+");";return i='<div id="'+n+'-h" class="'+r+'colorpicker-h" style="'+a+'">'+e()+'<div id="'+n+'-hp" class="'+r+'colorpicker-h-marker"></div></div>','<div id="'+n+'" class="'+t.classes()+'"><div id="'+n+'-sv" class="'+r+'colorpicker-sv"><div class="'+r+'colorpicker-overlay1"><div class="'+r+'colorpicker-overlay2"><div id="'+n+'-svp" class="'+r+'colorpicker-selector1"><div class="'+r+'colorpicker-selector2"></div></div></div></div></div>'+i+"</div>"}})}),r(Mt,[Nt],function(e){return e.extend({init:function(e){var t=this;e.delimiter||(e.delimiter="\xbb"),t._super(e),t.addClass("path"),t.canFocus=!0,t.on("click",function(e){var n,r=e.target;(n=r.getAttribute("data-index"))&&t.fire("select",{value:t.data()[n],index:n})})},focus:function(){var e=this;return e.getEl().firstChild.focus(),e},data:function(e){var t=this;return"undefined"!=typeof e?(t._data=e,t.update(),t):t._data},update:function(){this.innerHtml(this._getPathHtml())},postRender:function(){var e=this;e._super(),e.data(e.settings.data)},renderHtml:function(){var e=this;return'<div id="'+e._id+'" class="'+e.classes()+'">'+e._getPathHtml()+"</div>"},_getPathHtml:function(){var e=this,t=e._data||[],n,r,i="",o=e.classPrefix;for(n=0,r=t.length;r>n;n++)i+=(n>0?'<div class="'+o+'divider" aria-hidden="true"> '+e.settings.delimiter+" </div>":"")+'<div role="button" class="'+o+"path-item"+(n==r-1?" "+o+"last":"")+'" data-index="'+n+'" tabindex="-1" id="'+e._id+"-"+n+'" aria-level="'+n+'">'+t[n].name+"</div>";return i||(i='<div class="'+o+'path-item">\xa0</div>'),i}})}),r(Pt,[Mt,ht],function(e,t){return e.extend({postRender:function(){function e(e){if(1===e.nodeType){if("BR"==e.nodeName||e.getAttribute("data-mce-bogus"))return!0;if("bookmark"===e.getAttribute("data-mce-type"))return!0}return!1}var n=this,r=t.activeEditor;return n.on("select",function(e){r.focus(),r.selection.select(this.data()[e.index].element),r.nodeChanged()}),r.on("nodeChange",function(t){for(var i=[],o=t.parents,a=o.length;a--;)if(1==o[a].nodeType&&!e(o[a])){var s=r.fire("ResolveName",{name:o[a].nodeName.toLowerCase(),target:o[a]});if(s.isDefaultPrevented()||i.push({name:s.name,element:o[a]}),s.isPropagationStopped())break}n.data(i)}),n._super()}})}),r(Ot,[J],function(e){return e.extend({Defaults:{layout:"flex",align:"center",defaults:{flex:1}},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.addClass("formitem"),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1">'+(e.settings.title?'<div id="'+e._id+'-title" class="'+n+'title">'+e.settings.title+"</div>":"")+'<div id="'+e._id+'-body" class="'+e.classes("body")+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"}})}),r(It,[J,Ot,u],function(e,t,n){return e.extend({Defaults:{containerCls:"form",layout:"flex",direction:"column",align:"stretch",flex:1,padding:20,labelGap:30,spacing:10,callbacks:{submit:function(){this.submit()}}},preRender:function(){var e=this,r=e.items();e.settings.formItemDefaults||(e.settings.formItemDefaults={layout:"flex",autoResize:"overflow",defaults:{flex:1}}),r.each(function(r){var i,o=r.settings.label;o&&(i=new t(n.extend({items:{type:"label",id:r._id+"-l",text:o,flex:0,forId:r._id,disabled:r.disabled()}},e.settings.formItemDefaults)),i.type="formitem",r.aria("labelledby",r._id+"-l"),"undefined"==typeof r.settings.flex&&(r.settings.flex=1),e.replace(r,i),i.add(r))})},recalcLabels:function(){var e=this,t=0,n=[],r,i,o;if(e.settings.labelGapCalc!==!1)for(o="children"==e.settings.labelGapCalc?e.find("formitem"):e.items(),o.filter("formitem").each(function(e){var r=e.items()[0],i=r.getEl().clientWidth;t=i>t?i:t,n.push(r)}),i=e.settings.labelGap||0,r=n.length;r--;)n[r].settings.minWidth=t+i},visible:function(e){var t=this._super(e);return e===!0&&this._rendered&&this.recalcLabels(),t},submit:function(){return this.fire("submit",{data:this.toJSON()})},postRender:function(){var e=this;e._super(),e.recalcLabels(),e.fromJSON(e.settings.data)}})}),r(Ft,[It],function(e){return e.extend({Defaults:{containerCls:"fieldset",layout:"flex",direction:"column",align:"stretch",flex:1,padding:"25 15 5 15",labelGap:30,spacing:10,border:1},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.preRender(),t.preRender(e),'<fieldset id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1">'+(e.settings.title?'<legend id="'+e._id+'-title" class="'+n+'fieldset-title">'+e.settings.title+"</legend>":"")+'<div id="'+e._id+'-body" class="'+e.classes("body")+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></fieldset>"}})}),r(zt,[Rt,u],function(e,t){return e.extend({init:function(e){var n=this,r=tinymce.activeEditor,i=r.settings,o,a,s;e.spellcheck=!1,s=i.file_picker_types||i.file_browser_callback_types,s&&(s=t.makeMap(s,/[, ]/)),(!s||s[e.filetype])&&(a=i.file_picker_callback,!a||s&&!s[e.filetype]?(a=i.file_browser_callback,!a||s&&!s[e.filetype]||(o=function(){a(n.getEl("inp").id,n.value(),e.filetype,window)})):o=function(){var i=n.fire("beforecall").meta;i=t.extend({filetype:e.filetype},i),a.call(r,function(e,t){n.value(e).fire("change",{meta:t})},n.value(),i)}),o&&(e.icon="browse",e.onaction=o),n._super(e)}})}),r(Wt,[_t],function(e){return e.extend({recalc:function(e){var t=e.layoutRect(),n=e.paddingBox();e.items().filter(":visible").each(function(e){e.layoutRect({x:n.left,y:n.top,w:t.innerW-n.right-n.left,h:t.innerH-n.top-n.bottom}),e.recalc&&e.recalc()})}})}),r(Vt,[_t],function(e){return e.extend({recalc:function(e){var t,n,r,i,o,a,s,l,c,u,d,f,p,h,m,g,v=[],y,b,C,x,w,_,E,N,k,S,T,R,A,B,D,L,H,M,P,O,I,F,z=Math.max,W=Math.min;for(r=e.items().filter(":visible"),i=e.layoutRect(),o=e._paddingBox,a=e.settings,f=e.isRtl()?a.direction||"row-reversed":a.direction,s=a.align,l=e.isRtl()?a.pack||"end":a.pack,c=a.spacing||0,("row-reversed"==f||"column-reverse"==f)&&(r=r.set(r.toArray().reverse()),f=f.split("-")[0]),"column"==f?(k="y",E="h",N="minH",S="maxH",R="innerH",T="top",A="deltaH",B="contentH",P="left",H="w",D="x",L="innerW",M="minW",O="right",I="deltaW",F="contentW"):(k="x",E="w",N="minW",S="maxW",R="innerW",T="left",A="deltaW",B="contentW",P="top",H="h",D="y",L="innerH",M="minH",O="bottom",I="deltaH",F="contentH"),d=i[R]-o[T]-o[T],_=u=0,t=0,n=r.length;n>t;t++)p=r[t],h=p.layoutRect(),m=p.settings,g=m.flex,d-=n-1>t?c:0,g>0&&(u+=g,h[S]&&v.push(p),h.flex=g),d-=h[N],y=o[P]+h[M]+o[O],y>_&&(_=y);if(x={},x[N]=0>d?i[N]-d+i[A]:i[R]-d+i[A],x[M]=_+i[I],x[B]=i[R]-d,x[F]=_,x.minW=W(x.minW,i.maxW),x.minH=W(x.minH,i.maxH),x.minW=z(x.minW,i.startMinWidth),x.minH=z(x.minH,i.startMinHeight),!i.autoResize||x.minW==i.minW&&x.minH==i.minH){for(C=d/u,t=0,n=v.length;n>t;t++)p=v[t],h=p.layoutRect(),b=h[S],y=h[N]+h.flex*C,y>b?(d-=h[S]-h[N],u-=h.flex,h.flex=0,h.maxFlexSize=b):h.maxFlexSize=0;for(C=d/u,w=o[T],x={},0===u&&("end"==l?w=d+o[T]:"center"==l?(w=Math.round(i[R]/2-(i[R]-d)/2)+o[T],0>w&&(w=o[T])):"justify"==l&&(w=o[T],c=Math.floor(d/(r.length-1)))),x[D]=o[P],t=0,n=r.length;n>t;t++)p=r[t],h=p.layoutRect(),y=h.maxFlexSize||h[N],"center"===s?x[D]=Math.round(i[L]/2-h[H]/2):"stretch"===s?(x[H]=z(h[M]||0,i[L]-o[P]-o[O]),x[D]=o[P]):"end"===s&&(x[D]=i[L]-h[H]-o.top),h.flex>0&&(y+=h.flex*C),x[E]=y,x[k]=w,p.layoutRect(x),p.recalc&&p.recalc(),w+=y+c}else if(x.w=x.minW,x.h=x.minH,e.layoutRect(x),this.recalc(e),null===e._lastRect){var V=e.parent();V&&(V._lastRect=null,V.recalc())}}})}),r(Ut,[wt],function(e){return e.extend({Defaults:{containerClass:"flow-layout",controlClass:"flow-layout-item",endClass:"break"},recalc:function(e){e.items().filter(":visible").each(function(e){e.recalc&&e.recalc()})}})}),r($t,[K,Nt,rt,u,ht,d],function(e,t,n,r,i,o){function a(e){function t(t,n){return function(){var r=this;e.on("nodeChange",function(i){var o=e.formatter,a=null;s(i.parents,function(e){return s(t,function(t){return n?o.matchNode(e,n,{value:t.value})&&(a=t.value):o.matchNode(e,t.value)&&(a=t.value),a?!1:void 0}),a?!1:void 0}),r.value(a)})}}function r(e){e=e.replace(/;$/,"").split(";");for(var t=e.length;t--;)e[t]=e[t].split("=");return e}function i(){function t(e){var n=[];if(e)return s(e,function(e){var o={text:e.title,icon:e.icon};if(e.items)o.menu=t(e.items);else{var a=e.format||"custom"+r++;e.format||(e.name=a,i.push(e)),o.format=a,o.cmd=e.cmd}n.push(o)}),n}function n(){var n;return n=t(e.settings.style_formats_merge?e.settings.style_formats?o.concat(e.settings.style_formats):o:e.settings.style_formats||o)}var r=0,i=[],o=[{title:"Headings",items:[{title:"Heading 1",format:"h1"},{title:"Heading 2",format:"h2"},{title:"Heading 3",format:"h3"},{title:"Heading 4",format:"h4"},{title:"Heading 5",format:"h5"},{title:"Heading 6",format:"h6"}]},{title:"Inline",items:[{title:"Bold",icon:"bold",format:"bold"},{title:"Italic",icon:"italic",format:"italic"},{title:"Underline",icon:"underline",format:"underline"},{title:"Strikethrough",icon:"strikethrough",format:"strikethrough"},{title:"Superscript",icon:"superscript",format:"superscript"},{title:"Subscript",icon:"subscript",format:"subscript"},{title:"Code",icon:"code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"},{title:"Div",format:"div"},{title:"Pre",format:"pre"}]},{title:"Alignment",items:[{title:"Left",icon:"alignleft",format:"alignleft"},{title:"Center",icon:"aligncenter",format:"aligncenter"},{title:"Right",icon:"alignright",format:"alignright"},{title:"Justify",icon:"alignjustify",format:"alignjustify"}]}];return e.on("init",function(){s(i,function(t){e.formatter.register(t.name,t)})}),{type:"menu",items:n(),onPostRender:function(t){e.fire("renderFormatsMenu",{control:t.control})},itemDefaults:{preview:!0,textStyle:function(){return this.settings.format?e.formatter.getCssText(this.settings.format):void 0},onPostRender:function(){var t=this;t.parent().on("show",function(){var n,r;n=t.settings.format,n&&(t.disabled(!e.formatter.canApply(n)),t.active(e.formatter.match(n))),r=t.settings.cmd,r&&t.active(e.queryCommandState(r))})},onclick:function(){this.settings.format&&l(this.settings.format),this.settings.cmd&&e.execCommand(this.settings.cmd)}}}}function o(t){return function(){function n(){return e.undoManager?e.undoManager[t]():!1}var r=this;t="redo"==t?"hasRedo":"hasUndo",r.disabled(!n()),e.on("Undo Redo AddUndo TypingUndo ClearUndos",function(){r.disabled(!n())})}}function a(){var t=this;e.on("VisualAid",function(e){t.active(e.hasVisual)}),t.active(e.hasVisual)}function l(t){t.control&&(t=t.control.value()),t&&e.execCommand("mceToggleFormat",!1,t)}var c;c=i(),s({bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript"},function(t,n){e.addButton(n,{tooltip:t,onPostRender:function(){var t=this;e.formatter?e.formatter.formatChanged(n,function(e){t.active(e)}):e.on("init",function(){e.formatter.formatChanged(n,function(e){t.active(e)})})},onclick:function(){l(n)}})}),s({outdent:["Decrease indent","Outdent"],indent:["Increase indent","Indent"],cut:["Cut","Cut"],copy:["Copy","Copy"],paste:["Paste","Paste"],help:["Help","mceHelp"],selectall:["Select all","SelectAll"],removeformat:["Clear formatting","RemoveFormat"],visualaid:["Visual aids","mceToggleVisualAid"],newdocument:["New document","mceNewDocument"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1]})}),s({blockquote:["Blockquote","mceBlockQuote"],numlist:["Numbered list","InsertOrderedList"],bullist:["Bullet list","InsertUnorderedList"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],alignleft:["Align left","JustifyLeft"],aligncenter:["Align center","JustifyCenter"],alignright:["Align right","JustifyRight"],alignjustify:["Justify","JustifyFull"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1],onPostRender:function(){var t=this;e.formatter?e.formatter.formatChanged(n,function(e){t.active(e)}):e.on("init",function(){e.formatter.formatChanged(n,function(e){t.active(e)})})}})}),e.addButton("undo",{tooltip:"Undo",onPostRender:o("undo"),cmd:"undo"}),e.addButton("redo",{tooltip:"Redo",onPostRender:o("redo"),cmd:"redo"}),e.addMenuItem("newdocument",{text:"New document",shortcut:"Ctrl+N",icon:"newdocument",cmd:"mceNewDocument"}),e.addMenuItem("undo",{text:"Undo",icon:"undo",shortcut:"Ctrl+Z",onPostRender:o("undo"),cmd:"undo"}),e.addMenuItem("redo",{text:"Redo",icon:"redo",shortcut:"Ctrl+Y",onPostRender:o("redo"),cmd:"redo"}),e.addMenuItem("visualaid",{text:"Visual aids",selectable:!0,onPostRender:a,cmd:"mceToggleVisualAid"}),s({cut:["Cut","Cut","Ctrl+X"],copy:["Copy","Copy","Ctrl+C"],paste:["Paste","Paste","Ctrl+V"],selectall:["Select all","SelectAll","Ctrl+A"],bold:["Bold","Bold","Ctrl+B"],italic:["Italic","Italic","Ctrl+I"],underline:["Underline","Underline"],strikethrough:["Strikethrough","Strikethrough"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],removeformat:["Clear formatting","RemoveFormat"]},function(t,n){e.addMenuItem(n,{text:t[0],icon:n,shortcut:t[2],cmd:t[1]})}),e.on("mousedown",function(){n.hideAll()}),e.addButton("styleselect",{type:"menubutton",text:"Formats",menu:c}),e.addButton("formatselect",function(){var n=[],i=r(e.settings.block_formats||"Paragraph=p;Address=address;Pre=pre;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6");return s(i,function(t){n.push({text:t[0],value:t[1],textStyle:function(){return e.formatter.getCssText(t[1])}})}),{type:"listbox",text:i[0][0],values:n,fixedWidth:!0,onselect:l,onPostRender:t(n)}}),e.addButton("fontselect",function(){var n="Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",i=[],o=r(e.settings.font_formats||n);return s(o,function(e){i.push({text:{raw:e[0]},value:e[1],textStyle:-1==e[1].indexOf("dings")?"font-family:"+e[1]:""})}),{type:"listbox",text:"Font Family",tooltip:"Font Family",values:i,fixedWidth:!0,onPostRender:t(i,"fontname"),onselect:function(t){t.control.settings.value&&e.execCommand("FontName",!1,t.control.settings.value)}}}),e.addButton("fontsizeselect",function(){var n=[],r="8pt 10pt 12pt 14pt 18pt 24pt 36pt",i=e.settings.fontsize_formats||r;return s(i.split(" "),function(e){var t=e,r=e,i=e.split("=");i.length>1&&(t=i[0],r=i[1]),n.push({text:t,value:r})}),{type:"listbox",text:"Font Sizes",tooltip:"Font Sizes",values:n,fixedWidth:!0,onPostRender:t(n,"fontsize"),onclick:function(t){t.control.settings.value&&e.execCommand("FontSize",!1,t.control.settings.value)}}}),e.addMenuItem("formats",{text:"Formats",menu:c})}var s=r.each;i.on("AddEditor",function(t){t.editor.rtl&&(e.rtl=!0),a(t.editor)}),e.translate=function(e){return i.translate(e)},t.tooltips=!o.iOS}),r(qt,[_t],function(e){return e.extend({recalc:function(e){var t=e.settings,n,r,i,o,a,s,l,c,u,d,f,p,h,m,g,v,y,b,C,x,w,_,E=[],N=[],k,S,T,R,A,B;t=e.settings,i=e.items().filter(":visible"),o=e.layoutRect(),r=t.columns||Math.ceil(Math.sqrt(i.length)),n=Math.ceil(i.length/r),y=t.spacingH||t.spacing||0,b=t.spacingV||t.spacing||0,C=t.alignH||t.align,x=t.alignV||t.align,g=e._paddingBox,A="reverseRows"in t?t.reverseRows:e.isRtl(),C&&"string"==typeof C&&(C=[C]),x&&"string"==typeof x&&(x=[x]);for(d=0;r>d;d++)E.push(0);for(f=0;n>f;f++)N.push(0);for(f=0;n>f;f++)for(d=0;r>d&&(u=i[f*r+d],u);d++)c=u.layoutRect(),k=c.minW,S=c.minH,E[d]=k>E[d]?k:E[d],N[f]=S>N[f]?S:N[f];for(T=o.innerW-g.left-g.right,w=0,d=0;r>d;d++)w+=E[d]+(d>0?y:0),T-=(d>0?y:0)+E[d];for(R=o.innerH-g.top-g.bottom,_=0,f=0;n>f;f++)_+=N[f]+(f>0?b:0),R-=(f>0?b:0)+N[f];if(w+=g.left+g.right,_+=g.top+g.bottom,l={},l.minW=w+(o.w-o.innerW),l.minH=_+(o.h-o.innerH),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH,l.minW=Math.min(l.minW,o.maxW),l.minH=Math.min(l.minH,o.maxH),l.minW=Math.max(l.minW,o.startMinWidth),l.minH=Math.max(l.minH,o.startMinHeight),!o.autoResize||l.minW==o.minW&&l.minH==o.minH){o.autoResize&&(l=e.layoutRect(l),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH);var D;D="start"==t.packV?0:R>0?Math.floor(R/n):0;var L=0,H=t.flexWidths;if(H)for(d=0;d<H.length;d++)L+=H[d];else L=r;var M=T/L;for(d=0;r>d;d++)E[d]+=H?H[d]*M:M;for(h=g.top,f=0;n>f;f++){for(p=g.left,s=N[f]+D,d=0;r>d&&(B=A?f*r+r-1-d:f*r+d,u=i[B],u);d++)m=u.settings,c=u.layoutRect(),a=Math.max(E[d],c.startMinWidth),c.x=p,c.y=h,v=m.alignH||(C?C[d]||C[0]:null),"center"==v?c.x=p+a/2-c.w/2:"right"==v?c.x=p+a-c.w:"stretch"==v&&(c.w=a),v=m.alignV||(x?x[d]||x[0]:null),"center"==v?c.y=h+s/2-c.h/2:"bottom"==v?c.y=h+s-c.h:"stretch"==v&&(c.h=s),u.layoutRect(c),p+=a+y,u.recalc&&u.recalc();h+=s+b}}else if(l.w=l.minW,l.h=l.minH,e.layoutRect(l),this.recalc(e),null===e._lastRect){var P=e.parent();P&&(P._lastRect=null,P.recalc())}}})}),r(jt,[Nt],function(e){return e.extend({renderHtml:function(){var e=this;return e.addClass("iframe"),e.canFocus=!1,'<iframe id="'+e._id+'" class="'+e.classes()+'" tabindex="-1" src="'+(e.settings.url||"javascript:''")+'" frameborder="0"></iframe>'},src:function(e){this.getEl().src=e},html:function(e,t){var n=this,r=this.getEl().contentWindow.document.body;return r?(r.innerHTML=e,t&&t()):setTimeout(function(){n.html(e)},0),this}})}),r(Yt,[Nt,Y],function(e,t){return e.extend({init:function(e){var t=this;t._super(e),t.addClass("widget"),t.addClass("label"),t.canFocus=!1,e.multiline&&t.addClass("autoscroll"),e.strong&&t.addClass("strong")},initLayoutRect:function(){var e=this,n=e._super();if(e.settings.multiline){var r=t.getSize(e.getEl());r.width>n.maxW&&(n.minW=n.maxW,e.addClass("multiline")),e.getEl().style.width=n.minW+"px",n.startMinH=n.h=n.minH=Math.min(n.maxH,t.getSize(e.getEl()).height)}return n},repaint:function(){var e=this;return e.settings.multiline||(e.getEl().style.lineHeight=e.layoutRect().h+"px"),e._super()},text:function(e){var t=this;return t._rendered&&e&&this.innerHtml(t.encode(e)),t._super(e)},renderHtml:function(){var e=this,t=e.settings.forId;return'<label id="'+e._id+'" class="'+e.classes()+'"'+(t?' for="'+t+'"':"")+">"+e.encode(e._text)+"</label>"}})}),r(Kt,[J],function(e){return e.extend({Defaults:{role:"toolbar",layout:"flow"},init:function(e){var t=this;t._super(e),t.addClass("toolbar")},postRender:function(){var e=this;return e.items().addClass("toolbar-item"),e._super()}})}),r(Gt,[Kt],function(e){return e.extend({Defaults:{role:"menubar",containerCls:"menubar",ariaRoot:!0,defaults:{type:"menubutton"}}})}),r(Xt,[kt,G,Gt],function(e,t,n){function r(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1}var i=e.extend({init:function(e){var t=this;t._renderOpen=!0,t._super(e),t.addClass("menubtn"),e.fixedWidth&&t.addClass("fixed-width"),t.aria("haspopup",!0),t.hasPopup=!0},showMenu:function(){var e=this,n=e.settings,r;return e.menu&&e.menu.visible()?e.hideMenu():(e.menu||(r=n.menu||[],r.length?r={type:"menu",items:r}:r.type=r.type||"menu",e.menu=t.create(r).parent(e).renderTo(),e.fire("createmenu"),e.menu.reflow(),e.menu.on("cancel",function(t){t.control.parent()===e.menu&&(t.stopPropagation(),e.focus(),e.hideMenu())}),e.menu.on("select",function(){e.focus()}),e.menu.on("show hide",function(t){t.control==e.menu&&e.activeMenu("show"==t.type),e.aria("expanded","show"==t.type)}).fire("show")),e.menu.show(),e.menu.layoutRect({w:e.layoutRect().w}),void e.menu.moveRel(e.getEl(),e.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"]))},hideMenu:function(){var e=this;e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide())},activeMenu:function(e){this.toggleClass("active",e)},renderHtml:function(){var e=this,t=e._id,r=e.classPrefix,i=e.settings.icon?r+"ico "+r+"i-"+e.settings.icon:"";return e.aria("role",e.parent()instanceof n?"menuitem":"button"),'<div id="'+t+'" class="'+e.classes()+'" tabindex="-1" aria-labelledby="'+t+'"><button id="'+t+'-open" role="presentation" type="button" tabindex="-1">'+(i?'<i class="'+i+'"></i>':"")+"<span>"+(e._text?(i?"\xa0":"")+e.encode(e._text):"")+'</span> <i class="'+r+'caret"></i></button></div>'},postRender:function(){var e=this;return e.on("click",function(t){t.control===e&&r(t.target,e.getEl())&&(e.showMenu(),t.aria&&e.menu.items()[0].focus())}),e.on("mouseenter",function(t){var n=t.control,r=e.parent(),o;n&&r&&n instanceof i&&n.parent()==r&&(r.items().filter("MenuButton").each(function(e){e.hideMenu&&e!=n&&(e.menu&&e.menu.visible()&&(o=!0),e.hideMenu())}),o&&(n.focus(),n.showMenu()))}),e._super()},text:function(e){var t=this,n,r;if(t._rendered)for(r=t.getEl("open").getElementsByTagName("span"),n=0;n<r.length;n++)r[n].innerHTML=(t.settings.icon&&e?"\xa0":"")+t.encode(e);return this._super(e)},remove:function(){this._super(),this.menu&&this.menu.remove()}});return i}),r(Jt,[Xt],function(e){return e.extend({init:function(e){function t(r){for(var a=0;a<r.length;a++){if(i=r[a].selected||e.value===r[a].value){o=o||r[a].text,n._value=r[a].value;break}r[a].menu&&t(r[a].menu)}}var n=this,r,i,o,a;n._values=r=e.values,r&&("undefined"!=typeof e.value&&t(r),!i&&r.length>0&&(o=r[0].text,n._value=r[0].value),e.menu=r),e.text=e.text||o||r[0].text,n._super(e),n.addClass("listbox"),n.on("select",function(t){var r=t.control;
+a&&(t.lastControl=a),e.multiple?r.active(!r.active()):n.value(t.control.settings.value),a=r})},value:function(e){function t(e,n){e.items().each(function(e){i=e.value()===n,i&&(o=o||e.text()),e.active(i),e.menu&&t(e.menu,n)})}function n(t){for(var r=0;r<t.length;r++)i=t[r].value==e,i&&(o=o||t[r].text),t[r].active=i,t[r].menu&&n(t[r].menu)}var r=this,i,o,a;return"undefined"!=typeof e&&(r.menu?t(r.menu,e):(a=r.settings.menu,n(a)),r.text(o||this.settings.text)),r._super(e)}})}),r(Qt,[Nt,G,d],function(e,t,n){return e.extend({Defaults:{border:0,role:"menuitem"},init:function(e){var t=this;t.hasPopup=!0,t._super(e),e=t.settings,t.addClass("menu-item"),e.menu&&t.addClass("menu-item-expand"),e.preview&&t.addClass("menu-item-preview"),("-"===t._text||"|"===t._text)&&(t.addClass("menu-item-sep"),t.aria("role","separator"),t._text="-"),e.selectable&&(t.aria("role","menuitemcheckbox"),t.addClass("menu-item-checkbox"),e.icon="selected"),e.preview||e.selectable||t.addClass("menu-item-normal"),t.on("mousedown",function(e){e.preventDefault()}),e.menu&&!e.ariaHideMenu&&t.aria("haspopup",!0)},hasMenus:function(){return!!this.settings.menu},showMenu:function(){var e=this,n=e.settings,r,i=e.parent();if(i.items().each(function(t){t!==e&&t.hideMenu()}),n.menu){r=e.menu,r?r.show():(r=n.menu,r.length?r={type:"menu",items:r}:r.type=r.type||"menu",i.settings.itemDefaults&&(r.itemDefaults=i.settings.itemDefaults),r=e.menu=t.create(r).parent(e).renderTo(),r.reflow(),r.on("cancel",function(t){t.stopPropagation(),e.focus(),r.hide()}),r.on("show hide",function(e){e.control.items().each(function(e){e.active(e.settings.selected)})}).fire("show"),r.on("hide",function(t){t.control===r&&e.removeClass("selected")}),r.submenu=!0),r._parentMenu=i,r.addClass("menu-sub");var o=r.testMoveRel(e.getEl(),e.isRtl()?["tl-tr","bl-br","tr-tl","br-bl"]:["tr-tl","br-bl","tl-tr","bl-br"]);r.moveRel(e.getEl(),o),r.rel=o,o="menu-sub-"+o,r.removeClass(r._lastRel),r.addClass(o),r._lastRel=o,e.addClass("selected"),e.aria("expanded",!0)}},hideMenu:function(){var e=this;return e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide(),e.aria("expanded",!1)),e},renderHtml:function(){var e=this,t=e._id,r=e.settings,i=e.classPrefix,o=e.encode(e._text),a=e.settings.icon,s="",l=r.shortcut;return a&&e.parent().addClass("menu-has-icons"),r.image&&(a="none",s=" style=\"background-image: url('"+r.image+"')\""),l&&n.mac&&(l=l.replace(/ctrl\+alt\+/i,"&#x2325;&#x2318;"),l=l.replace(/ctrl\+/i,"&#x2318;"),l=l.replace(/alt\+/i,"&#x2325;"),l=l.replace(/shift\+/i,"&#x21E7;")),a=i+"ico "+i+"i-"+(e.settings.icon||"none"),'<div id="'+t+'" class="'+e.classes()+'" tabindex="-1">'+("-"!==o?'<i class="'+a+'"'+s+"></i>\xa0":"")+("-"!==o?'<span id="'+t+'-text" class="'+i+'text">'+o+"</span>":"")+(l?'<div id="'+t+'-shortcut" class="'+i+'menu-shortcut">'+l+"</div>":"")+(r.menu?'<div class="'+i+'caret"></div>':"")+"</div>"},postRender:function(){var e=this,t=e.settings,n=t.textStyle;if("function"==typeof n&&(n=n.call(this)),n){var r=e.getEl("text");r&&r.setAttribute("style",n)}return e.on("mouseenter click",function(n){n.control===e&&(t.menu||"click"!==n.type?(e.showMenu(),n.aria&&e.menu.focus(!0)):(e.fire("select"),e.parent().hideAll()))}),e._super(),e},active:function(e){return"undefined"!=typeof e&&this.aria("checked",e),this._super(e)},remove:function(){this._super(),this.menu&&this.menu.remove()}})}),r(Zt,[rt,Qt,u],function(e,t,n){var r=e.extend({Defaults:{defaultType:"menuitem",border:1,layout:"stack",role:"application",bodyRole:"menu",ariaRoot:!0},init:function(e){var t=this;if(e.autohide=!0,e.constrainToViewport=!0,e.itemDefaults)for(var r=e.items,i=r.length;i--;)r[i]=n.extend({},e.itemDefaults,r[i]);t._super(e),t.addClass("menu")},repaint:function(){return this.toggleClass("menu-align",!0),this._super(),this.getEl().style.height="",this.getEl("body").style.height="",this},cancel:function(){var e=this;e.hideAll(),e.fire("select")},hideAll:function(){var e=this;return this.find("menuitem").exec("hideMenu"),e._super()},preRender:function(){var e=this;return e.items().each(function(t){var n=t.settings;return n.icon||n.selectable?(e._hasIcons=!0,!1):void 0}),e._super()}});return r}),r(en,[Tt],function(e){return e.extend({Defaults:{classes:"radio",role:"radio"}})}),r(tn,[Nt,Q],function(e,t){return e.extend({renderHtml:function(){var e=this,t=e.classPrefix;return e.addClass("resizehandle"),"both"==e.settings.direction&&e.addClass("resizehandle-both"),e.canFocus=!1,'<div id="'+e._id+'" class="'+e.classes()+'"><i class="'+t+"ico "+t+'i-resize"></i></div>'},postRender:function(){var e=this;e._super(),e.resizeDragHelper=new t(this._id,{start:function(){e.fire("ResizeStart")},drag:function(t){"both"!=e.settings.direction&&(t.deltaX=0),e.fire("Resize",t)},stop:function(){e.fire("ResizeEnd")}})},remove:function(){return this.resizeDragHelper&&this.resizeDragHelper.destroy(),this._super()}})}),r(nn,[Nt],function(e){return e.extend({renderHtml:function(){var e=this;return e.addClass("spacer"),e.canFocus=!1,'<div id="'+e._id+'" class="'+e.classes()+'"></div>'}})}),r(rn,[Xt,Y],function(e,t){return e.extend({Defaults:{classes:"widget btn splitbtn",role:"button"},repaint:function(){var e=this,n=e.getEl(),r=e.layoutRect(),i,o;return e._super(),i=n.firstChild,o=n.lastChild,t.css(i,{width:r.w-t.getSize(o).width,height:r.h-2}),t.css(o,{height:r.h-2}),e},activeMenu:function(e){var n=this;t.toggleClass(n.getEl().lastChild,n.classPrefix+"active",e)},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.settings.icon?n+"ico "+n+"i-"+e.settings.icon:"";return'<div id="'+t+'" class="'+e.classes()+'" role="button" tabindex="-1"><button type="button" hidefocus="1" tabindex="-1">'+(r?'<i class="'+r+'"></i>':"")+(e._text?(r?" ":"")+e._text:"")+'</button><button type="button" class="'+n+'open" hidefocus="1" tabindex="-1">'+(e._menuBtnText?(r?"\xa0":"")+e._menuBtnText:"")+' <i class="'+n+'caret"></i></button></div>'},postRender:function(){var e=this,t=e.settings.onclick;return e.on("click",function(e){var n=e.target;if(e.control==this)for(;n;){if(e.aria&&"down"!=e.aria.key||"BUTTON"==n.nodeName&&-1==n.className.indexOf("open"))return e.stopImmediatePropagation(),void t.call(this,e);n=n.parentNode}}),delete e.settings.onclick,e._super()}})}),r(on,[Ut],function(e){return e.extend({Defaults:{containerClass:"stack-layout",controlClass:"stack-layout-item",endClass:"break"}})}),r(an,[et,Y],function(e,t){return e.extend({Defaults:{layout:"absolute",defaults:{type:"panel"}},activateTab:function(e){var n;this.activeTabId&&(n=this.getEl(this.activeTabId),t.removeClass(n,this.classPrefix+"active"),n.setAttribute("aria-selected","false")),this.activeTabId="t"+e,n=this.getEl("t"+e),n.setAttribute("aria-selected","true"),t.addClass(n,this.classPrefix+"active"),this.items()[e].show().fire("showtab"),this.reflow(),this.items().each(function(t,n){e!=n&&t.hide()})},renderHtml:function(){var e=this,t=e._layout,n="",r=e.classPrefix;return e.preRender(),t.preRender(e),e.items().each(function(t,i){var o=e._id+"-t"+i;t.aria("role","tabpanel"),t.aria("labelledby",o),n+='<div id="'+o+'" class="'+r+'tab" unselectable="on" role="tab" aria-controls="'+t._id+'" aria-selected="false" tabIndex="-1">'+e.encode(t.settings.title)+"</div>"}),'<div id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1"><div id="'+e._id+'-head" class="'+r+'tabs" role="tablist">'+n+'</div><div id="'+e._id+'-body" class="'+e.classes("body")+'">'+t.renderHtml(e)+"</div></div>"},postRender:function(){var e=this;e._super(),e.settings.activeTab=e.settings.activeTab||0,e.activateTab(e.settings.activeTab),this.on("click",function(t){var n=t.target.parentNode;if(t.target.parentNode.id==e._id+"-head")for(var r=n.childNodes.length;r--;)n.childNodes[r]==t.target&&e.activateTab(r)})},initLayoutRect:function(){var e=this,n,r,i;r=t.getSize(e.getEl("head")).width,r=0>r?0:r,i=0,e.items().each(function(e){r=Math.max(r,e.layoutRect().minW),i=Math.max(i,e.layoutRect().minH)}),e.items().each(function(e){e.settings.x=0,e.settings.y=0,e.settings.w=r,e.settings.h=i,e.layoutRect({x:0,y:0,w:r,h:i})});var o=t.getSize(e.getEl("head")).height;return e.settings.minWidth=r,e.settings.minHeight=i+o,n=e._super(),n.deltaH+=o,n.innerH=n.h-n.deltaH,n}})}),r(sn,[Nt,Y],function(e,t){return e.extend({init:function(e){var t=this;t._super(e),t._value=e.value||"",t.addClass("textbox"),e.multiline?t.addClass("multiline"):t.on("keydown",function(e){13==e.keyCode&&t.parents().reverse().each(function(t){return e.preventDefault(),t.hasEventListeners("submit")&&t.toJSON?(t.fire("submit",{data:t.toJSON()}),!1):void 0})})},disabled:function(e){var t=this;return t._rendered&&"undefined"!=typeof e&&(t.getEl().disabled=e),t._super(e)},value:function(e){var t=this;return"undefined"!=typeof e?(t._value=e,t._rendered&&(t.getEl().value=e),t):t._rendered?t.getEl().value:t._value},repaint:function(){var e=this,t,n,r,i=0,o=0,a;t=e.getEl().style,n=e._layoutRect,a=e._lastRepaintRect||{};var s=document;return!e.settings.multiline&&s.all&&(!s.documentMode||s.documentMode<=8)&&(t.lineHeight=n.h-o+"px"),r=e._borderBox,i=r.left+r.right+8,o=r.top+r.bottom+(e.settings.multiline?8:0),n.x!==a.x&&(t.left=n.x+"px",a.x=n.x),n.y!==a.y&&(t.top=n.y+"px",a.y=n.y),n.w!==a.w&&(t.width=n.w-i+"px",a.w=n.w),n.h!==a.h&&(t.height=n.h-o+"px",a.h=n.h),e._lastRepaintRect=a,e.fire("repaint",{},!1),e},renderHtml:function(){var e=this,t=e._id,n=e.settings,r=e.encode(e._value,!1),i="";return"spellcheck"in n&&(i+=' spellcheck="'+n.spellcheck+'"'),n.maxLength&&(i+=' maxlength="'+n.maxLength+'"'),n.size&&(i+=' size="'+n.size+'"'),n.subtype&&(i+=' type="'+n.subtype+'"'),e.disabled()&&(i+=' disabled="disabled"'),n.multiline?'<textarea id="'+t+'" class="'+e.classes()+'" '+(n.rows?' rows="'+n.rows+'"':"")+' hidefocus="1"'+i+">"+r+"</textarea>":'<input id="'+t+'" class="'+e.classes()+'" value="'+r+'" hidefocus="1"'+i+" />"},postRender:function(){var e=this;return t.on(e.getEl(),"change",function(t){e.fire("change",t)}),e._super()},remove:function(){t.off(this.getEl()),this._super()}})}),r(ln,[Y,K],function(e,t){return function(n,r){var i=this,o,a=t.classPrefix;i.show=function(t){return i.hide(),o=!0,window.setTimeout(function(){o&&n.appendChild(e.createFragment('<div class="'+a+"throbber"+(r?" "+a+"throbber-inline":"")+'"></div>'))},t||0),i},i.hide=function(){var e=n.lastChild;return e&&-1!=e.className.indexOf("throbber")&&e.parentNode.removeChild(e),o=!1,i}}}),a([l,c,u,d,f,p,h,m,g,v,y,b,C,x,w,_,E,N,k,S,T,R,A,B,D,L,H,M,P,O,I,F,z,W,V,U,$,q,j,Y,K,G,X,J,Q,Z,et,tt,nt,rt,it,ot,at,st,lt,ct,ut,dt,ft,pt,ht,mt,gt,vt,yt,bt,Ct,xt,wt,_t,Et,Nt,kt,St,Tt,Rt,At,Bt,Dt,Lt,Ht,Mt,Pt,Ot,It,Ft,zt,Wt,Vt,Ut,$t,qt,jt,Yt,Kt,Gt,Xt,Jt,Qt,Zt,en,tn,nn,rn,on,an,sn,ln])}(this);
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/wp-mce-help.php b/wp-includes/js/tinymce/wp-mce-help.php
index cd5e6be8c..1f4a11f86 100644
--- a/wp-includes/js/tinymce/wp-mce-help.php
+++ b/wp-includes/js/tinymce/wp-mce-help.php
@@ -95,10 +95,8 @@ header('Content-Type: text/html; charset=' . get_bloginfo('charset'));
 </head>
 <body class="windows wp-core-ui">
 <script type="text/javascript">
-var win = window.dialogArguments || opener || parent || top;
-
-if ( win && win.tinymce && win.tinymce.isMac ) {
-	document.body.className = document.body.className.replace(/windows/, 'macos');
+if ( navigator.userAgent.indexOf( 'Mac OS' ) > -1 ) {
+	document.body.className = document.body.className.replace( /windows/, 'macos' );
 }
 </script>
 
diff --git a/wp-includes/js/tinymce/wp-tinymce.js.gz b/wp-includes/js/tinymce/wp-tinymce.js.gz
index 31e96a8a7621cc5b36c731c4df328e1374eec127..8fdf8e4db13a62e101fffe55631409e8ab01ba5b 100644
GIT binary patch
literal 134666
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%0ASbZn#Z)~0(0ezpw
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
z%0A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

literal 122963
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

diff --git a/wp-includes/js/tinymce/wp-tinymce.php b/wp-includes/js/tinymce/wp-tinymce.php
index 03abd2d9d..922df9fc1 100644
--- a/wp-includes/js/tinymce/wp-tinymce.php
+++ b/wp-includes/js/tinymce/wp-tinymce.php
@@ -2,7 +2,7 @@
 /**
  * Disable error reporting
  *
- * Set this to error_reporting( E_ALL ) or error_reporting( E_ALL | E_STRICT ) for debugging
+ * Set this to error_reporting( -1 ) for debugging.
  */
 error_reporting(0);
 
diff --git a/wp-includes/js/utils.js b/wp-includes/js/utils.js
index 4b30bb0ac..d7d8f0187 100644
--- a/wp-includes/js/utils.js
+++ b/wp-includes/js/utils.js
@@ -3,25 +3,27 @@
 // utility functions
 
 var wpCookies = {
-// The following functions are from Cookie.js class in TinyMCE, Moxiecode, used under LGPL.
+// The following functions are from Cookie.js class in TinyMCE 3, Moxiecode, used under LGPL.
 
-	each : function(obj, cb, scope) {
+	each: function( obj, cb, scope ) {
 		var n, l;
 
-		if ( !obj )
+		if ( ! obj ) {
 			return 0;
+		}
 
 		scope = scope || obj;
 
-		if ( typeof(obj.length) != 'undefined' ) {
+		if ( typeof( obj.length ) !== 'undefined' ) {
 			for ( n = 0, l = obj.length; n < l; n++ ) {
-				if ( cb.call(scope, obj[n], n, obj) === false )
+				if ( cb.call( scope, obj[n], n, obj ) === false ) {
 					return 0;
+				}
 			}
 		} else {
 			for ( n in obj ) {
 				if ( obj.hasOwnProperty(n) ) {
-					if ( cb.call(scope, obj[n], n, obj) === false ) {
+					if ( cb.call( scope, obj[n], n, obj ) === false ) {
 						return 0;
 					}
 				}
@@ -34,17 +36,18 @@ var wpCookies = {
 	 * Get a multi-values cookie.
 	 * Returns a JS object with the name: 'value' pairs.
 	 */
-	getHash : function(name) {
-		var all = this.get(name), ret;
+	getHash: function( name ) {
+		var cookie = this.get( name ), values;
 
-		if ( all ) {
-			this.each( all.split('&'), function(pair) {
+		if ( cookie ) {
+			this.each( cookie.split('&'), function( pair ) {
 				pair = pair.split('=');
-				ret = ret || {};
-				ret[pair[0]] = pair[1];
+				values = values || {};
+				values[pair[0]] = pair[1];
 			});
 		}
-		return ret;
+
+		return values;
 	},
 
 	/**
@@ -52,45 +55,47 @@ var wpCookies = {
 	 *
 	 * 'values_obj' is the JS object that is stored. It is encoded as URI in wpCookies.set().
 	 */
-	setHash : function(name, values_obj, expires, path, domain, secure) {
+	setHash: function( name, values_obj, expires, path, domain, secure ) {
 		var str = '';
 
-		this.each(values_obj, function(val, key) {
-			str += (!str ? '' : '&') + key + '=' + val;
+		this.each( values_obj, function( val, key ) {
+			str += ( ! str ? '' : '&' ) + key + '=' + val;
 		});
 
-		this.set(name, str, expires, path, domain, secure);
+		this.set( name, str, expires, path, domain, secure );
 	},
 
 	/**
 	 * Get a cookie.
 	 */
-	get : function(name) {
+	get: function( name ) {
 		var e, b,
 			cookie = document.cookie,
 			p = name + '=';
 
-		if ( !cookie )
+		if ( ! cookie ) {
 			return;
+		}
 
-		b = cookie.indexOf('; ' + p);
+		b = cookie.indexOf( '; ' + p );
 
-		if ( b == -1 ) {
+		if ( b === -1 ) {
 			b = cookie.indexOf(p);
 
-			if ( b !== 0 )
+			if ( b !== 0 ) {
 				return null;
-
+			}
 		} else {
 			b += 2;
 		}
 
 		e = cookie.indexOf( ';', b );
 
-		if ( e == -1 )
+		if ( e === -1 ) {
 			e = cookie.length;
+		}
 
-		return decodeURIComponent( cookie.substring(b + p.length, e) );
+		return decodeURIComponent( cookie.substring( b + p.length, e ) );
 	},
 
 	/**
@@ -99,13 +104,13 @@ var wpCookies = {
 	 * The 'expires' arg can be either a JS Date() object set to the expiration date (back-compat)
 	 * or the number of seconds until expiration
 	 */
-	set : function(name, value, expires, path, domain, secure) {
+	set: function( name, value, expires, path, domain, secure ) {
 		var d = new Date();
 
-		if ( typeof(expires) == 'object' && expires.toGMTString ) {
+		if ( typeof( expires ) === 'object' && expires.toGMTString ) {
 			expires = expires.toGMTString();
-		} else if ( parseInt(expires, 10) ) {
-			d.setTime( d.getTime() + ( parseInt(expires, 10) * 1000 ) ); // time must be in miliseconds
+		} else if ( parseInt( expires, 10 ) ) {
+			d.setTime( d.getTime() + ( parseInt( expires, 10 ) * 1000 ) ); // time must be in miliseconds
 			expires = d.toGMTString();
 		} else {
 			expires = '';
@@ -123,41 +128,57 @@ var wpCookies = {
 	 *
 	 * This is done by setting it to an empty value and setting the expiration time in the past.
 	 */
-	remove : function(name, path) {
-		this.set(name, '', -1000, path);
+	remove: function( name, path, domain, secure ) {
+		this.set( name, '', -1000, path, domain, secure );
 	}
 };
 
 // Returns the value as string. Second arg or empty string is returned when value is not set.
 function getUserSetting( name, def ) {
-	var obj = getAllUserSettings();
+	var settings = getAllUserSettings();
 
-	if ( obj.hasOwnProperty(name) )
-		return obj[name];
+	if ( settings.hasOwnProperty( name ) ) {
+		return settings[name];
+	}
 
-	if ( typeof def != 'undefined' )
+	if ( typeof def !== 'undefined' ) {
 		return def;
+	}
 
 	return '';
 }
 
 // Both name and value must be only ASCII letters, numbers or underscore
 // and the shorter, the better (cookies can store maximum 4KB). Not suitable to store text.
+// The value is converted and stored as string.
 function setUserSetting( name, value, _del ) {
-	if ( 'object' !== typeof userSettings )
+	if ( 'object' !== typeof userSettings ) {
 		return false;
+	}
+
+	var uid = userSettings.uid,
+		settings = wpCookies.getHash( 'wp-settings-' + uid ),
+		path = userSettings.url,
+		secure = !! userSettings.secure;
+
+	name = name.toString().replace( /[^A-Za-z0-9_]/, '' );
 
-	var cookie = 'wp-settings-' + userSettings.uid, all = wpCookies.getHash(cookie) || {}, path = userSettings.url,
-	n = name.toString().replace(/[^A-Za-z0-9_]/, ''), v = value.toString().replace(/[^A-Za-z0-9_]/, '');
+	if ( typeof value === 'number' ) {
+		value = parseInt( value, 10 );
+	} else {
+		value = value.toString().replace( /[^A-Za-z0-9_]/, '' );
+	}
+
+	settings = settings || {};
 
 	if ( _del ) {
-		delete all[n];
+		delete settings[name];
 	} else {
-		all[n] = v;
+		settings[name] = value;
 	}
 
-	wpCookies.setHash(cookie, all, 31536000, path);
-	wpCookies.set('wp-settings-time-'+userSettings.uid, userSettings.time, 31536000, path);
+	wpCookies.setHash( 'wp-settings-' + uid, settings, 31536000, path, '', secure );
+	wpCookies.set( 'wp-settings-time-' + uid, userSettings.time, 31536000, path, '', secure );
 
 	return name;
 }
@@ -168,8 +189,9 @@ function deleteUserSetting( name ) {
 
 // Returns all settings as js object.
 function getAllUserSettings() {
-	if ( 'object' !== typeof userSettings )
+	if ( 'object' !== typeof userSettings ) {
 		return {};
+	}
 
-	return wpCookies.getHash('wp-settings-' + userSettings.uid) || {};
+	return wpCookies.getHash( 'wp-settings-' + userSettings.uid ) || {};
 }
diff --git a/wp-includes/js/utils.min.js b/wp-includes/js/utils.min.js
index cdc637a61..4bb7c9a24 100644
--- a/wp-includes/js/utils.min.js
+++ b/wp-includes/js/utils.min.js
@@ -1 +1 @@
-function getUserSetting(a,b){var c=getAllUserSettings();return c.hasOwnProperty(a)?c[a]:"undefined"!=typeof b?b:""}function setUserSetting(a,b,c){if("object"!=typeof userSettings)return!1;var d="wp-settings-"+userSettings.uid,e=wpCookies.getHash(d)||{},f=userSettings.url,g=a.toString().replace(/[^A-Za-z0-9_]/,""),h=b.toString().replace(/[^A-Za-z0-9_]/,"");return c?delete e[g]:e[g]=h,wpCookies.setHash(d,e,31536e3,f),wpCookies.set("wp-settings-time-"+userSettings.uid,userSettings.time,31536e3,f),a}function deleteUserSetting(a){return setUserSetting(a,"",1)}function getAllUserSettings(){return"object"!=typeof userSettings?{}:wpCookies.getHash("wp-settings-"+userSettings.uid)||{}}var wpCookies={each:function(a,b,c){var d,e;if(!a)return 0;if(c=c||a,"undefined"!=typeof a.length){for(d=0,e=a.length;e>d;d++)if(b.call(c,a[d],d,a)===!1)return 0}else for(d in a)if(a.hasOwnProperty(d)&&b.call(c,a[d],d,a)===!1)return 0;return 1},getHash:function(a){var b,c=this.get(a);return c&&this.each(c.split("&"),function(a){a=a.split("="),b=b||{},b[a[0]]=a[1]}),b},setHash:function(a,b,c,d,e,f){var g="";this.each(b,function(a,b){g+=(g?"&":"")+b+"="+a}),this.set(a,g,c,d,e,f)},get:function(a){var b,c,d=document.cookie,e=a+"=";if(d){if(c=d.indexOf("; "+e),-1==c){if(c=d.indexOf(e),0!==c)return null}else c+=2;return b=d.indexOf(";",c),-1==b&&(b=d.length),decodeURIComponent(d.substring(c+e.length,b))}},set:function(a,b,c,d,e,f){var g=new Date;"object"==typeof c&&c.toGMTString?c=c.toGMTString():parseInt(c,10)?(g.setTime(g.getTime()+1e3*parseInt(c,10)),c=g.toGMTString()):c="",document.cookie=a+"="+encodeURIComponent(b)+(c?"; expires="+c:"")+(d?"; path="+d:"")+(e?"; domain="+e:"")+(f?"; secure":"")},remove:function(a,b){this.set(a,"",-1e3,b)}};
\ No newline at end of file
+function getUserSetting(a,b){var c=getAllUserSettings();return c.hasOwnProperty(a)?c[a]:"undefined"!=typeof b?b:""}function setUserSetting(a,b,c){if("object"!=typeof userSettings)return!1;var d=userSettings.uid,e=wpCookies.getHash("wp-settings-"+d),f=userSettings.url,g=!!userSettings.secure;return a=a.toString().replace(/[^A-Za-z0-9_]/,""),b="number"==typeof b?parseInt(b,10):b.toString().replace(/[^A-Za-z0-9_]/,""),e=e||{},c?delete e[a]:e[a]=b,wpCookies.setHash("wp-settings-"+d,e,31536e3,f,"",g),wpCookies.set("wp-settings-time-"+d,userSettings.time,31536e3,f,"",g),a}function deleteUserSetting(a){return setUserSetting(a,"",1)}function getAllUserSettings(){return"object"!=typeof userSettings?{}:wpCookies.getHash("wp-settings-"+userSettings.uid)||{}}var wpCookies={each:function(a,b,c){var d,e;if(!a)return 0;if(c=c||a,"undefined"!=typeof a.length){for(d=0,e=a.length;e>d;d++)if(b.call(c,a[d],d,a)===!1)return 0}else for(d in a)if(a.hasOwnProperty(d)&&b.call(c,a[d],d,a)===!1)return 0;return 1},getHash:function(a){var b,c=this.get(a);return c&&this.each(c.split("&"),function(a){a=a.split("="),b=b||{},b[a[0]]=a[1]}),b},setHash:function(a,b,c,d,e,f){var g="";this.each(b,function(a,b){g+=(g?"&":"")+b+"="+a}),this.set(a,g,c,d,e,f)},get:function(a){var b,c,d=document.cookie,e=a+"=";if(d){if(c=d.indexOf("; "+e),-1===c){if(c=d.indexOf(e),0!==c)return null}else c+=2;return b=d.indexOf(";",c),-1===b&&(b=d.length),decodeURIComponent(d.substring(c+e.length,b))}},set:function(a,b,c,d,e,f){var g=new Date;"object"==typeof c&&c.toGMTString?c=c.toGMTString():parseInt(c,10)?(g.setTime(g.getTime()+1e3*parseInt(c,10)),c=g.toGMTString()):c="",document.cookie=a+"="+encodeURIComponent(b)+(c?"; expires="+c:"")+(d?"; path="+d:"")+(e?"; domain="+e:"")+(f?"; secure":"")},remove:function(a,b,c,d){this.set(a,"",-1e3,b,c,d)}};
\ No newline at end of file
diff --git a/wp-includes/js/wplink.js b/wp-includes/js/wplink.js
index 7d1c6774e..04012176e 100644
--- a/wp-includes/js/wplink.js
+++ b/wp-includes/js/wplink.js
@@ -2,7 +2,10 @@
 var wpLink;
 
 ( function( $ ) {
-	var inputs = {}, rivers = {}, editor, searchTimer, River, Query;
+	var editor, searchTimer, River, Query,
+		inputs = {},
+		rivers = {},
+		isTouch = ( 'ontouchend' in document );
 
 	wpLink = {
 		timeToTriggerRiver: 150,
@@ -31,6 +34,11 @@ var wpLink;
 			rivers.recent = new River( $( '#most-recent-results' ) );
 			rivers.elements = inputs.dialog.find( '.query-results' );
 
+			// Get search notice text
+			inputs.queryNotice = $( '#query-notice-message' );
+			inputs.queryNoticeTextDefault = inputs.queryNotice.find( '.query-notice-default' );
+			inputs.queryNoticeTextHint = inputs.queryNotice.find( '.query-notice-hint' );
+
 			// Bind event handlers
 			inputs.dialog.keydown( wpLink.keydown );
 			inputs.dialog.keyup( wpLink.keyup );
@@ -43,10 +51,19 @@ var wpLink;
 				wpLink.close();
 			});
 
-			$( '#wp-link-search-toggle' ).click( wpLink.toggleInternalLinking );
+			$( '#wp-link-search-toggle' ).on( 'click', wpLink.toggleInternalLinking );
 
 			rivers.elements.on( 'river-select', wpLink.updateFields );
 
+			// Display 'hint' message when search field or 'query-results' box are focused
+			inputs.search.on( 'focus.wplink', function() {
+				inputs.queryNoticeTextDefault.hide();
+				inputs.queryNoticeTextHint.removeClass( 'screen-reader-text' ).show();
+			} ).on( 'blur.wplink', function() {
+				inputs.queryNoticeTextDefault.show();
+				inputs.queryNoticeTextHint.addClass( 'screen-reader-text' ).hide();
+			} );
+
 			inputs.search.keyup( function() {
 				var self = this;
 
@@ -59,7 +76,7 @@ var wpLink;
 
 		open: function( editorId ) {
 			var ed;
-			
+
 			wpLink.range = null;
 
 			if ( editorId ) {
@@ -95,6 +112,7 @@ var wpLink;
 			inputs.backdrop.show();
 
 			wpLink.refresh();
+			$( document ).trigger( 'wplink-open', inputs.wrap );
 		},
 
 		isMCE: function() {
@@ -106,18 +124,26 @@ var wpLink;
 			rivers.search.refresh();
 			rivers.recent.refresh();
 
-			if ( wpLink.isMCE() )
+			if ( wpLink.isMCE() ) {
 				wpLink.mceRefresh();
-			else
+			} else {
 				wpLink.setDefaultValues();
+			}
+
+			if ( isTouch ) {
+				// Close the onscreen keyboard
+				inputs.url.focus().blur();
+			} else {
+				// Focus the URL field and highlight its contents.
+				// If this is moved above the selection changes,
+				// IE will show a flashing cursor over the dialog.
+				inputs.url.focus()[0].select();
+			}
 
-			// Focus the URL field and highlight its contents.
-			//     If this is moved above the selection changes,
-			//     IE will show a flashing cursor over the dialog.
-			inputs.url.focus()[0].select();
 			// Load the most recent results if this is the first time opening the panel.
-			if ( ! rivers.recent.ul.children().length )
+			if ( ! rivers.recent.ul.children().length ) {
 				rivers.recent.ajax();
+			}
 		},
 
 		mceRefresh: function() {
@@ -153,6 +179,7 @@ var wpLink;
 
 			inputs.backdrop.hide();
 			inputs.wrap.hide();
+			$( document ).trigger( 'wplink-close', inputs.wrap );
 		},
 
 		getAttrs: function() {
@@ -260,17 +287,28 @@ var wpLink;
 			editor.selection.collapse();
 		},
 
-		updateFields: function( e, li, originalEvent ) {
+		updateFields: function( e, li ) {
 			inputs.url.val( li.children( '.item-permalink' ).val() );
 			inputs.title.val( li.hasClass( 'no-title' ) ? '' : li.children( '.item-title' ).text() );
-			if ( originalEvent && originalEvent.type == 'click' )
-				inputs.url.focus();
 		},
 
 		setDefaultValues: function() {
-			// Set URL and description to defaults.
-			// Leave the new tab setting as-is.
-			inputs.url.val( 'http://' );
+			var selection = editor && editor.selection.getContent(),
+				emailRegexp = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i,
+				urlRegexp = /^(https?|ftp):\/\/[A-Z0-9.-]+\.[A-Z]{2,4}[^ "]*$/i;
+
+			if ( selection && emailRegexp.test( selection ) ) {
+				// Selection is email address
+				inputs.url.val( 'mailto:' + selection );
+			} else if ( selection && urlRegexp.test( selection ) ) {
+				// Selection is URL
+				inputs.url.val( selection.replace( /&amp;|&#0?38;/gi, '&' ) );
+			} else {
+				// Set URL to default.
+				inputs.url.val( 'http://' );
+			}
+
+			// Set description to default.
 			inputs.title.val( '' );
 
 			// Update save prompt.
@@ -322,6 +360,8 @@ var wpLink;
 			} else if ( key.TAB === event.keyCode ) {
 				id = event.target.id;
 
+				// wp-link-submit must always be the last focusable element in the dialog.
+				// following focusable elements will be skipped on keyboard navigation.
 				if ( id === 'wp-link-submit' && ! event.shiftKey ) {
 					inputs.close.focus();
 					event.preventDefault();
@@ -335,6 +375,11 @@ var wpLink;
 				return;
 			}
 
+			if ( document.activeElement &&
+				( document.activeElement.id === 'link-title-field' || document.activeElement.id === 'url-field' ) ) {
+				return;
+			}
+
 			fn = event.keyCode === key.UP ? 'prev' : 'next';
 			clearInterval( wpLink.keyInterval );
 			wpLink[ fn ]();
@@ -374,12 +419,13 @@ var wpLink;
 			};
 		},
 
-		toggleInternalLinking: function() {
+		toggleInternalLinking: function( event ) {
 			var visible = inputs.wrap.hasClass( 'search-panel-visible' );
 
 			inputs.wrap.toggleClass( 'search-panel-visible', ! visible );
 			setUserSetting( 'wplink', visible ? '0' : '1' );
 			inputs[ ! visible ? 'search' : 'url' ].focus();
+			event.preventDefault();
 		}
 	};
 
@@ -489,7 +535,7 @@ var wpLink;
 
 			if ( ! results ) {
 				if ( firstPage ) {
-					list += '<li class="unselectable"><span class="item-title"><em>' +
+					list += '<li class="unselectable no-matches-found"><span class="item-title"><em>' +
 						wpLinkL10n.noMatchesFound + '</em></span></li>';
 				}
 			} else {
diff --git a/wp-includes/js/wplink.min.js b/wp-includes/js/wplink.min.js
index 5aaeeef19..cbdcd13d9 100644
--- a/wp-includes/js/wplink.min.js
+++ b/wp-includes/js/wplink.min.js
@@ -1 +1 @@
-var wpLink;!function(a){var b,c,d,e,f={},g={};wpLink={timeToTriggerRiver:150,minRiverAJAXDuration:200,riverBottomThreshold:5,keySensitivity:100,lastSearch:"",textarea:"",init:function(){f.wrap=a("#wp-link-wrap"),f.dialog=a("#wp-link"),f.backdrop=a("#wp-link-backdrop"),f.submit=a("#wp-link-submit"),f.close=a("#wp-link-close"),f.url=a("#url-field"),f.nonce=a("#_ajax_linking_nonce"),f.title=a("#link-title-field"),f.openInNewTab=a("#link-target-checkbox"),f.search=a("#search-field"),g.search=new d(a("#search-results")),g.recent=new d(a("#most-recent-results")),g.elements=f.dialog.find(".query-results"),f.dialog.keydown(wpLink.keydown),f.dialog.keyup(wpLink.keyup),f.submit.click(function(a){a.preventDefault(),wpLink.update()}),f.close.add(f.backdrop).add("#wp-link-cancel a").click(function(a){a.preventDefault(),wpLink.close()}),a("#wp-link-search-toggle").click(wpLink.toggleInternalLinking),g.elements.on("river-select",wpLink.updateFields),f.search.keyup(function(){var a=this;window.clearTimeout(c),c=window.setTimeout(function(){wpLink.searchInternalLinks.call(a)},500)})},open:function(c){var d;wpLink.range=null,c&&(window.wpActiveEditor=c),window.wpActiveEditor&&(this.textarea=a("#"+window.wpActiveEditor).get(0),"undefined"!=typeof tinymce&&(d=tinymce.get(wpActiveEditor),b=d&&!d.isHidden()?d:null,b&&tinymce.isIE&&(b.windowManager.bookmark=b.selection.getBookmark())),!wpLink.isMCE()&&document.selection&&(this.textarea.focus(),this.range=document.selection.createRange()),f.wrap.show(),f.backdrop.show(),wpLink.refresh())},isMCE:function(){return b&&!b.isHidden()},refresh:function(){g.search.refresh(),g.recent.refresh(),wpLink.isMCE()?wpLink.mceRefresh():wpLink.setDefaultValues(),f.url.focus()[0].select(),g.recent.ul.children().length||g.recent.ajax()},mceRefresh:function(){var a;(a=b.dom.getParent(b.selection.getNode(),"A"))?(f.url.val(b.dom.getAttrib(a,"href")),f.title.val(b.dom.getAttrib(a,"title")),f.openInNewTab.prop("checked","_blank"===b.dom.getAttrib(a,"target")),f.submit.val(wpLinkL10n.update)):wpLink.setDefaultValues()},close:function(){wpLink.isMCE()?b.focus():(wpLink.textarea.focus(),wpLink.range&&(wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select())),f.backdrop.hide(),f.wrap.hide()},getAttrs:function(){return{href:f.url.val(),title:f.title.val(),target:f.openInNewTab.prop("checked")?"_blank":""}},update:function(){wpLink.isMCE()?wpLink.mceUpdate():wpLink.htmlUpdate()},htmlUpdate:function(){var a,b,c,d,e,f,g,h=wpLink.textarea;h&&(a=wpLink.getAttrs(),a.href&&"http://"!=a.href&&(b='<a href="'+a.href+'"',a.title&&(f=a.title.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),b+=' title="'+f+'"'),a.target&&(b+=' target="'+a.target+'"'),b+=">",document.selection&&wpLink.range?(h.focus(),wpLink.range.text=b+wpLink.range.text+"</a>",wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select(),wpLink.range=null):"undefined"!=typeof h.selectionStart&&(c=h.selectionStart,d=h.selectionEnd,g=h.value.substring(c,d),b=b+g+"</a>",e=c+b.length,c==d&&(e-="</a>".length),h.value=h.value.substring(0,c)+b+h.value.substring(d,h.value.length),h.selectionStart=h.selectionEnd=e),wpLink.close(),h.focus()))},mceUpdate:function(){var a,c=wpLink.getAttrs();return wpLink.close(),b.focus(),tinymce.isIE&&b.selection.moveToBookmark(b.windowManager.bookmark),a=b.dom.getParent(b.selection.getNode(),"a[href]"),c.href&&"http://"!=c.href?(a?b.dom.setAttribs(a,c):b.execCommand("mceInsertLink",!1,c),void b.selection.collapse()):void b.execCommand("unlink")},updateFields:function(a,b,c){f.url.val(b.children(".item-permalink").val()),f.title.val(b.hasClass("no-title")?"":b.children(".item-title").text()),c&&"click"==c.type&&f.url.focus()},setDefaultValues:function(){f.url.val("http://"),f.title.val(""),f.submit.val(wpLinkL10n.save)},searchInternalLinks:function(){var b,c=a(this),d=c.val();if(d.length>2){if(g.recent.hide(),g.search.show(),wpLink.lastSearch==d)return;wpLink.lastSearch=d,b=c.parent().find(".spinner").show(),g.search.change(d),g.search.ajax(function(){b.hide()})}else g.search.hide(),g.recent.show()},next:function(){g.search.next(),g.recent.next()},prev:function(){g.search.prev(),g.recent.prev()},keydown:function(b){var c,d,e=a.ui.keyCode;e.ESCAPE===b.keyCode?(wpLink.close(),b.stopImmediatePropagation()):e.TAB===b.keyCode&&(d=b.target.id,"wp-link-submit"!==d||b.shiftKey?"wp-link-close"===d&&b.shiftKey&&(f.submit.focus(),b.preventDefault()):(f.close.focus(),b.preventDefault())),(b.keyCode===e.UP||b.keyCode===e.DOWN)&&(c=b.keyCode===e.UP?"prev":"next",clearInterval(wpLink.keyInterval),wpLink[c](),wpLink.keyInterval=setInterval(wpLink[c],wpLink.keySensitivity),b.preventDefault())},keyup:function(b){var c=a.ui.keyCode;(b.which===c.UP||b.which===c.DOWN)&&(clearInterval(wpLink.keyInterval),b.preventDefault())},delayedCallback:function(a,b){var c,d,e,f;return b?(setTimeout(function(){return d?a.apply(f,e):void(c=!0)},b),function(){return c?a.apply(this,arguments):(e=arguments,f=this,void(d=!0))}):a},toggleInternalLinking:function(){var a=f.wrap.hasClass("search-panel-visible");f.wrap.toggleClass("search-panel-visible",!a),setUserSetting("wplink",a?"0":"1"),f[a?"url":"search"].focus()}},d=function(b,c){var d=this;this.element=b,this.ul=b.children("ul"),this.contentHeight=b.children("#link-selector-height"),this.waiting=b.find(".river-waiting"),this.change(c),this.refresh(),a("#wp-link .query-results, #wp-link #link-selector").scroll(function(){d.maybeLoad()}),b.on("click","li",function(b){d.select(a(this),b)})},a.extend(d.prototype,{refresh:function(){this.deselect(),this.visible=this.element.is(":visible")},show:function(){this.visible||(this.deselect(),this.element.show(),this.visible=!0)},hide:function(){this.element.hide(),this.visible=!1},select:function(a,b){var c,d,e,f;a.hasClass("unselectable")||a==this.selected||(this.deselect(),this.selected=a.addClass("selected"),c=a.outerHeight(),d=this.element.height(),e=a.position().top,f=this.element.scrollTop(),0>e?this.element.scrollTop(f+e):e+c>d&&this.element.scrollTop(f+e-d+c),this.element.trigger("river-select",[a,b,this]))},deselect:function(){this.selected&&this.selected.removeClass("selected"),this.selected=!1},prev:function(){if(this.visible){var a;this.selected&&(a=this.selected.prev("li"),a.length&&this.select(a))}},next:function(){if(this.visible){var b=this.selected?this.selected.next("li"):a("li:not(.unselectable):first",this.element);b.length&&this.select(b)}},ajax:function(a){var b=this,c=1==this.query.page?0:wpLink.minRiverAJAXDuration,d=wpLink.delayedCallback(function(c,d){b.process(c,d),a&&a(c,d)},c);this.query.ajax(d)},change:function(a){this.query&&this._search==a||(this._search=a,this.query=new e(a),this.element.scrollTop(0))},process:function(b,c){var d="",e=!0,f="",g=1==c.page;b?a.each(b,function(){f=e?"alternate":"",f+=this.title?"":" no-title",d+=f?'<li class="'+f+'">':"<li>",d+='<input type="hidden" class="item-permalink" value="'+this.permalink+'" />',d+='<span class="item-title">',d+=this.title?this.title:wpLinkL10n.noTitle,d+='</span><span class="item-info">'+this.info+"</span></li>",e=!e}):g&&(d+='<li class="unselectable"><span class="item-title"><em>'+wpLinkL10n.noMatchesFound+"</em></span></li>"),this.ul[g?"html":"append"](d)},maybeLoad:function(){var a=this,b=this.element,c=b.scrollTop()+b.height();!this.query.ready()||c<this.contentHeight.height()-wpLink.riverBottomThreshold||setTimeout(function(){var c=b.scrollTop(),d=c+b.height();!a.query.ready()||d<a.contentHeight.height()-wpLink.riverBottomThreshold||(a.waiting.show(),b.scrollTop(c+a.waiting.outerHeight()),a.ajax(function(){a.waiting.hide()}))},wpLink.timeToTriggerRiver)}}),e=function(a){this.page=1,this.allLoaded=!1,this.querying=!1,this.search=a},a.extend(e.prototype,{ready:function(){return!(this.querying||this.allLoaded)},ajax:function(b){var c=this,d={action:"wp-link-ajax",page:this.page,_ajax_linking_nonce:f.nonce.val()};this.search&&(d.search=this.search),this.querying=!0,a.post(ajaxurl,d,function(a){c.page++,c.querying=!1,c.allLoaded=!a,b(a,d)},"json")}}),a(document).ready(wpLink.init)}(jQuery);
\ No newline at end of file
+var wpLink;!function(a){var b,c,d,e,f={},g={},h="ontouchend"in document;wpLink={timeToTriggerRiver:150,minRiverAJAXDuration:200,riverBottomThreshold:5,keySensitivity:100,lastSearch:"",textarea:"",init:function(){f.wrap=a("#wp-link-wrap"),f.dialog=a("#wp-link"),f.backdrop=a("#wp-link-backdrop"),f.submit=a("#wp-link-submit"),f.close=a("#wp-link-close"),f.url=a("#url-field"),f.nonce=a("#_ajax_linking_nonce"),f.title=a("#link-title-field"),f.openInNewTab=a("#link-target-checkbox"),f.search=a("#search-field"),g.search=new d(a("#search-results")),g.recent=new d(a("#most-recent-results")),g.elements=f.dialog.find(".query-results"),f.queryNotice=a("#query-notice-message"),f.queryNoticeTextDefault=f.queryNotice.find(".query-notice-default"),f.queryNoticeTextHint=f.queryNotice.find(".query-notice-hint"),f.dialog.keydown(wpLink.keydown),f.dialog.keyup(wpLink.keyup),f.submit.click(function(a){a.preventDefault(),wpLink.update()}),f.close.add(f.backdrop).add("#wp-link-cancel a").click(function(a){a.preventDefault(),wpLink.close()}),a("#wp-link-search-toggle").on("click",wpLink.toggleInternalLinking),g.elements.on("river-select",wpLink.updateFields),f.search.on("focus.wplink",function(){f.queryNoticeTextDefault.hide(),f.queryNoticeTextHint.removeClass("screen-reader-text").show()}).on("blur.wplink",function(){f.queryNoticeTextDefault.show(),f.queryNoticeTextHint.addClass("screen-reader-text").hide()}),f.search.keyup(function(){var a=this;window.clearTimeout(c),c=window.setTimeout(function(){wpLink.searchInternalLinks.call(a)},500)})},open:function(c){var d;wpLink.range=null,c&&(window.wpActiveEditor=c),window.wpActiveEditor&&(this.textarea=a("#"+window.wpActiveEditor).get(0),"undefined"!=typeof tinymce&&(d=tinymce.get(wpActiveEditor),b=d&&!d.isHidden()?d:null,b&&tinymce.isIE&&(b.windowManager.bookmark=b.selection.getBookmark())),!wpLink.isMCE()&&document.selection&&(this.textarea.focus(),this.range=document.selection.createRange()),f.wrap.show(),f.backdrop.show(),wpLink.refresh(),a(document).trigger("wplink-open",f.wrap))},isMCE:function(){return b&&!b.isHidden()},refresh:function(){g.search.refresh(),g.recent.refresh(),wpLink.isMCE()?wpLink.mceRefresh():wpLink.setDefaultValues(),h?f.url.focus().blur():f.url.focus()[0].select(),g.recent.ul.children().length||g.recent.ajax()},mceRefresh:function(){var a;(a=b.dom.getParent(b.selection.getNode(),"A"))?(f.url.val(b.dom.getAttrib(a,"href")),f.title.val(b.dom.getAttrib(a,"title")),f.openInNewTab.prop("checked","_blank"===b.dom.getAttrib(a,"target")),f.submit.val(wpLinkL10n.update)):wpLink.setDefaultValues()},close:function(){wpLink.isMCE()?b.focus():(wpLink.textarea.focus(),wpLink.range&&(wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select())),f.backdrop.hide(),f.wrap.hide(),a(document).trigger("wplink-close",f.wrap)},getAttrs:function(){return{href:f.url.val(),title:f.title.val(),target:f.openInNewTab.prop("checked")?"_blank":""}},update:function(){wpLink.isMCE()?wpLink.mceUpdate():wpLink.htmlUpdate()},htmlUpdate:function(){var a,b,c,d,e,f,g,h=wpLink.textarea;h&&(a=wpLink.getAttrs(),a.href&&"http://"!=a.href&&(b='<a href="'+a.href+'"',a.title&&(f=a.title.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),b+=' title="'+f+'"'),a.target&&(b+=' target="'+a.target+'"'),b+=">",document.selection&&wpLink.range?(h.focus(),wpLink.range.text=b+wpLink.range.text+"</a>",wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select(),wpLink.range=null):"undefined"!=typeof h.selectionStart&&(c=h.selectionStart,d=h.selectionEnd,g=h.value.substring(c,d),b=b+g+"</a>",e=c+b.length,c==d&&(e-="</a>".length),h.value=h.value.substring(0,c)+b+h.value.substring(d,h.value.length),h.selectionStart=h.selectionEnd=e),wpLink.close(),h.focus()))},mceUpdate:function(){var a,c=wpLink.getAttrs();return wpLink.close(),b.focus(),tinymce.isIE&&b.selection.moveToBookmark(b.windowManager.bookmark),a=b.dom.getParent(b.selection.getNode(),"a[href]"),c.href&&"http://"!=c.href?(a?b.dom.setAttribs(a,c):b.execCommand("mceInsertLink",!1,c),void b.selection.collapse()):void b.execCommand("unlink")},updateFields:function(a,b){f.url.val(b.children(".item-permalink").val()),f.title.val(b.hasClass("no-title")?"":b.children(".item-title").text())},setDefaultValues:function(){var a=b&&b.selection.getContent(),c=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i,d=/^(https?|ftp):\/\/[A-Z0-9.-]+\.[A-Z]{2,4}[^ "]*$/i;f.url.val(a&&c.test(a)?"mailto:"+a:a&&d.test(a)?a.replace(/&amp;|&#0?38;/gi,"&"):"http://"),f.title.val(""),f.submit.val(wpLinkL10n.save)},searchInternalLinks:function(){var b,c=a(this),d=c.val();if(d.length>2){if(g.recent.hide(),g.search.show(),wpLink.lastSearch==d)return;wpLink.lastSearch=d,b=c.parent().find(".spinner").show(),g.search.change(d),g.search.ajax(function(){b.hide()})}else g.search.hide(),g.recent.show()},next:function(){g.search.next(),g.recent.next()},prev:function(){g.search.prev(),g.recent.prev()},keydown:function(b){var c,d,e=a.ui.keyCode;e.ESCAPE===b.keyCode?(wpLink.close(),b.stopImmediatePropagation()):e.TAB===b.keyCode&&(d=b.target.id,"wp-link-submit"!==d||b.shiftKey?"wp-link-close"===d&&b.shiftKey&&(f.submit.focus(),b.preventDefault()):(f.close.focus(),b.preventDefault())),(b.keyCode===e.UP||b.keyCode===e.DOWN)&&(!document.activeElement||"link-title-field"!==document.activeElement.id&&"url-field"!==document.activeElement.id)&&(c=b.keyCode===e.UP?"prev":"next",clearInterval(wpLink.keyInterval),wpLink[c](),wpLink.keyInterval=setInterval(wpLink[c],wpLink.keySensitivity),b.preventDefault())},keyup:function(b){var c=a.ui.keyCode;(b.which===c.UP||b.which===c.DOWN)&&(clearInterval(wpLink.keyInterval),b.preventDefault())},delayedCallback:function(a,b){var c,d,e,f;return b?(setTimeout(function(){return d?a.apply(f,e):void(c=!0)},b),function(){return c?a.apply(this,arguments):(e=arguments,f=this,void(d=!0))}):a},toggleInternalLinking:function(a){var b=f.wrap.hasClass("search-panel-visible");f.wrap.toggleClass("search-panel-visible",!b),setUserSetting("wplink",b?"0":"1"),f[b?"url":"search"].focus(),a.preventDefault()}},d=function(b,c){var d=this;this.element=b,this.ul=b.children("ul"),this.contentHeight=b.children("#link-selector-height"),this.waiting=b.find(".river-waiting"),this.change(c),this.refresh(),a("#wp-link .query-results, #wp-link #link-selector").scroll(function(){d.maybeLoad()}),b.on("click","li",function(b){d.select(a(this),b)})},a.extend(d.prototype,{refresh:function(){this.deselect(),this.visible=this.element.is(":visible")},show:function(){this.visible||(this.deselect(),this.element.show(),this.visible=!0)},hide:function(){this.element.hide(),this.visible=!1},select:function(a,b){var c,d,e,f;a.hasClass("unselectable")||a==this.selected||(this.deselect(),this.selected=a.addClass("selected"),c=a.outerHeight(),d=this.element.height(),e=a.position().top,f=this.element.scrollTop(),0>e?this.element.scrollTop(f+e):e+c>d&&this.element.scrollTop(f+e-d+c),this.element.trigger("river-select",[a,b,this]))},deselect:function(){this.selected&&this.selected.removeClass("selected"),this.selected=!1},prev:function(){if(this.visible){var a;this.selected&&(a=this.selected.prev("li"),a.length&&this.select(a))}},next:function(){if(this.visible){var b=this.selected?this.selected.next("li"):a("li:not(.unselectable):first",this.element);b.length&&this.select(b)}},ajax:function(a){var b=this,c=1==this.query.page?0:wpLink.minRiverAJAXDuration,d=wpLink.delayedCallback(function(c,d){b.process(c,d),a&&a(c,d)},c);this.query.ajax(d)},change:function(a){this.query&&this._search==a||(this._search=a,this.query=new e(a),this.element.scrollTop(0))},process:function(b,c){var d="",e=!0,f="",g=1==c.page;b?a.each(b,function(){f=e?"alternate":"",f+=this.title?"":" no-title",d+=f?'<li class="'+f+'">':"<li>",d+='<input type="hidden" class="item-permalink" value="'+this.permalink+'" />',d+='<span class="item-title">',d+=this.title?this.title:wpLinkL10n.noTitle,d+='</span><span class="item-info">'+this.info+"</span></li>",e=!e}):g&&(d+='<li class="unselectable no-matches-found"><span class="item-title"><em>'+wpLinkL10n.noMatchesFound+"</em></span></li>"),this.ul[g?"html":"append"](d)},maybeLoad:function(){var a=this,b=this.element,c=b.scrollTop()+b.height();!this.query.ready()||c<this.contentHeight.height()-wpLink.riverBottomThreshold||setTimeout(function(){var c=b.scrollTop(),d=c+b.height();!a.query.ready()||d<a.contentHeight.height()-wpLink.riverBottomThreshold||(a.waiting.show(),b.scrollTop(c+a.waiting.outerHeight()),a.ajax(function(){a.waiting.hide()}))},wpLink.timeToTriggerRiver)}}),e=function(a){this.page=1,this.allLoaded=!1,this.querying=!1,this.search=a},a.extend(e.prototype,{ready:function(){return!(this.querying||this.allLoaded)},ajax:function(b){var c=this,d={action:"wp-link-ajax",page:this.page,_ajax_linking_nonce:f.nonce.val()};this.search&&(d.search=this.search),this.querying=!0,a.post(ajaxurl,d,function(a){c.page++,c.querying=!1,c.allLoaded=!a,b(a,d)},"json")}}),a(document).ready(wpLink.init)}(jQuery);
\ No newline at end of file
diff --git a/wp-includes/kses.php b/wp-includes/kses.php
index 9d8d6fed1..0b552955e 100644
--- a/wp-includes/kses.php
+++ b/wp-includes/kses.php
@@ -44,6 +44,10 @@
 if ( ! defined( 'CUSTOM_TAGS' ) )
 	define( 'CUSTOM_TAGS', false );
 
+// Ensure that these variables are added to the global namespace
+// (e.g. if using namespaces / autoload in the current PHP environment).
+global $allowedposttags, $allowedtags, $allowedentitynames;
+
 if ( ! CUSTOM_TAGS ) {
 	/**
 	 * Kses global for default allowable HTML tags.
@@ -987,7 +991,9 @@ function wp_kses_bad_protocol($string, $allowed_protocols) {
 }
 
 /**
- * Removes any null characters in $string.
+ * Removes any invalid control characters in $string.
+ *
+ * Also removes any instance of the '\0' string.
  *
  * @since 1.0.0
  *
@@ -995,7 +1001,7 @@ function wp_kses_bad_protocol($string, $allowed_protocols) {
  * @return string
  */
 function wp_kses_no_null($string) {
-	$string = preg_replace('/\0+/', '', $string);
+	$string = preg_replace('/[\x00-\x08\x0B\x0C\x0E-\x1F]/', '', $string);
 	$string = preg_replace('/(\\\\0)+/', '', $string);
 
 	return $string;
diff --git a/wp-includes/l10n.php b/wp-includes/l10n.php
index 541cb15f9..231745524 100644
--- a/wp-includes/l10n.php
+++ b/wp-includes/l10n.php
@@ -24,9 +24,9 @@
  * @return string The locale of the blog or from the 'locale' hook.
  */
 function get_locale() {
-	global $locale;
+	global $locale, $wp_local_package;
 
-	if ( isset( $locale ) )
+	if ( isset( $locale ) ) {
 		/**
 		 * Filter WordPress install's locale ID.
 		 *
@@ -35,23 +35,37 @@ function get_locale() {
 		 * @param string $locale The locale ID.
 		 */
 		return apply_filters( 'locale', $locale );
+	}
+
+	if ( isset( $wp_local_package ) ) {
+		$locale = $wp_local_package;
+	}
 
-	// WPLANG is defined in wp-config.
-	if ( defined( 'WPLANG' ) )
+	// WPLANG was defined in wp-config.
+	if ( defined( 'WPLANG' ) ) {
 		$locale = WPLANG;
+	}
 
 	// If multisite, check options.
 	if ( is_multisite() ) {
 		// Don't check blog option when installing.
-		if ( defined( 'WP_INSTALLING' ) || ( false === $ms_locale = get_option( 'WPLANG' ) ) )
-			$ms_locale = get_site_option('WPLANG');
+		if ( defined( 'WP_INSTALLING' ) || ( false === $ms_locale = get_option( 'WPLANG' ) ) ) {
+			$ms_locale = get_site_option( 'WPLANG' );
+		}
 
-		if ( $ms_locale !== false )
+		if ( $ms_locale !== false ) {
 			$locale = $ms_locale;
+		}
+	} else {
+		$db_locale = get_option( 'WPLANG' );
+		if ( $db_locale !== false ) {
+			$locale = $db_locale;
+		}
 	}
 
-	if ( empty( $locale ) )
+	if ( empty( $locale ) ) {
 		$locale = 'en_US';
+	}
 
 	/** This filter is documented in wp-includes/l10n.php */
 	return apply_filters( 'locale', $locale );
@@ -517,23 +531,32 @@ function unload_textdomain( $domain ) {
  * @see load_textdomain()
  *
  * @since 1.5.0
+ *
+ * @param string $locale Optional. Locale to load. Defaults to get_locale().
  */
-function load_default_textdomain() {
-	$locale = get_locale();
+function load_default_textdomain( $locale = null ) {
+	if ( null === $locale ) {
+		$locale = get_locale();
+	}
 
-	load_textdomain( 'default', WP_LANG_DIR . "/$locale.mo" );
+	// Unload previously loaded strings so we can switch translations.
+	unload_textdomain( 'default' );
+
+	$return = load_textdomain( 'default', WP_LANG_DIR . "/$locale.mo" );
 
 	if ( ( is_multisite() || ( defined( 'WP_INSTALLING_NETWORK' ) && WP_INSTALLING_NETWORK ) ) && ! file_exists(  WP_LANG_DIR . "/admin-$locale.mo" ) ) {
 		load_textdomain( 'default', WP_LANG_DIR . "/ms-$locale.mo" );
-		return;
+		return $return;
 	}
 
-	if ( is_admin() || ( defined( 'WP_REPAIRING' ) && WP_REPAIRING ) )
+	if ( is_admin() || defined( 'WP_INSTALLING' ) || ( defined( 'WP_REPAIRING' ) && WP_REPAIRING ) ) {
 		load_textdomain( 'default', WP_LANG_DIR . "/admin-$locale.mo" );
+	}
 
 	if ( is_network_admin() || ( defined( 'WP_INSTALLING_NETWORK' ) && WP_INSTALLING_NETWORK ) )
 		load_textdomain( 'default', WP_LANG_DIR . "/admin-network-$locale.mo" );
 
+	return $return;
 }
 
 /**
@@ -548,6 +571,8 @@ function load_default_textdomain() {
  * @param string $domain          Unique identifier for retrieving translated strings
  * @param string $deprecated      Use the $plugin_rel_path parameter instead.
  * @param string $plugin_rel_path Optional. Relative path to WP_PLUGIN_DIR where the .mo file resides.
+ *                                Default false.
+ * @return bool True when textdomain is successfully loaded, false otherwise.
  */
 function load_plugin_textdomain( $domain, $deprecated = false, $plugin_rel_path = false ) {
 	$locale = get_locale();
@@ -656,6 +681,8 @@ function load_theme_textdomain( $domain, $path = false ) {
  * @since 2.9.0
  *
  * @param string $domain Text domain. Unique identifier for retrieving translated strings.
+ * @param string $path   Optional. Path to the directory containing the .mo file.
+ *                       Default false.
  * @return bool True when the theme textdomain is successfully loaded, false otherwise.
  */
 function load_child_theme_textdomain( $domain, $path = false ) {
@@ -669,6 +696,8 @@ function load_child_theme_textdomain( $domain, $path = false ) {
  *
  * If there isn't one, returns empty Translations instance.
  *
+ * @since 2.8.0
+ *
  * @param string $domain Text domain. Unique identifier for retrieving translated strings.
  * @return Translations A Translations instance.
  */
@@ -684,6 +713,7 @@ function get_translations_for_domain( $domain ) {
  * Whether there are translations for the text domain.
  *
  * @since 3.0.0
+ *
  * @param string $domain Text domain. Unique identifier for retrieving translated strings.
  * @return bool Whether there are translations.
  */
@@ -803,3 +833,69 @@ function wp_get_pomo_file_data( $po_file ) {
 	}
 	return $headers;
 }
+
+/**
+ * Language selector.
+ *
+ * @since 4.0.0
+ *
+ * @see get_available_languages()
+ * @see wp_get_available_translations()
+ *
+ * @param array $args Optional arguments. Default empty array.
+ */
+function wp_dropdown_languages( $args = array() ) {
+	require_once( ABSPATH . 'wp-admin/includes/translation-install.php' );
+
+	$args = wp_parse_args( $args, array(
+		'id'        => '',
+		'name'      => '',
+		'languages' => array(),
+		'selected'  => ''
+	) );
+
+	if ( empty( $args['languages'] ) ) {
+		return false;
+	}
+
+	$translations = wp_get_available_translations();
+
+	/*
+	 * $args['languages'] should only contain the locales. Find the locale in
+	 * $translations to get the native name. Fall back to locale.
+	 */
+	$languages = array();
+	foreach ( $args['languages'] as $locale ) {
+		if ( isset( $translations[ $locale ] ) ) {
+			$translation = $translations[ $locale ];
+			$languages[] = array(
+				'language'    => $translation['language'],
+				'native_name' => $translation['native_name'],
+				'lang'        => $translation['iso'][1],
+			);
+		} else {
+			$languages[] = array(
+				'language'    => $locale,
+				'native_name' => $locale,
+				'lang'        => '',
+			);
+		}
+	}
+
+	printf( '<select name="%s" id="%s">', esc_attr( $args['name'] ), esc_attr( $args['id'] ) );
+
+	// List installed languages.
+	echo '<option value="" lang="en">English (United States)</option>';
+	foreach ( $languages as $language ) {
+		$selected = selected( $language['language'], $args['selected'], false );
+		printf(
+			'<option value="%s" lang="%s"%s>%s</option>',
+			esc_attr( $language['language'] ),
+			esc_attr( $language['lang'] ),
+			$selected,
+			esc_html( $language['native_name'] )
+		);
+	}
+
+	echo '</select>';
+}
diff --git a/wp-includes/link-template.php b/wp-includes/link-template.php
index 07f260d49..7a7b7874e 100644
--- a/wp-includes/link-template.php
+++ b/wp-includes/link-template.php
@@ -136,11 +136,11 @@ function get_permalink( $id = 0, $leavename = false ) {
 		return false;
 
 	if ( $post->post_type == 'page' )
-		return get_page_link($post->ID, $leavename, $sample);
+		return get_page_link($post, $leavename, $sample);
 	elseif ( $post->post_type == 'attachment' )
-		return get_attachment_link( $post->ID, $leavename );
+		return get_attachment_link( $post, $leavename );
 	elseif ( in_array($post->post_type, get_post_types( array('_builtin' => false) ) ) )
-		return get_post_permalink($post->ID, $leavename, $sample);
+		return get_post_permalink($post, $leavename, $sample);
 
 	$permalink = get_option('permalink_structure');
 
@@ -290,7 +290,7 @@ function get_post_permalink( $id = 0, $leavename = false, $sample = false ) {
  *
  * @since 1.0.0
  *
- * @param int $post_id Optional. Post ID.
+ * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is global $post.
  * @param mixed $deprecated Not used.
  * @return string
  */
@@ -1196,23 +1196,25 @@ function get_edit_post_link( $id = 0, $context = 'display' ) {
  *
  * @since 1.0.0
  *
- * @param string $link Optional. Anchor text.
+ * @param string $text Optional. Anchor text.
  * @param string $before Optional. Display before edit link.
  * @param string $after Optional. Display after edit link.
  * @param int $id Optional. Post ID.
  */
-function edit_post_link( $link = null, $before = '', $after = '', $id = 0 ) {
-	if ( !$post = get_post( $id ) )
+function edit_post_link( $text = null, $before = '', $after = '', $id = 0 ) {
+	if ( ! $post = get_post( $id ) ) {
 		return;
+	}
 
-	if ( !$url = get_edit_post_link( $post->ID ) )
+	if ( ! $url = get_edit_post_link( $post->ID ) ) {
 		return;
+	}
 
-	if ( null === $link )
-		$link = __('Edit This');
+	if ( null === $text ) {
+		$text = __( 'Edit This' );
+	}
 
-	$post_type_obj = get_post_type_object( $post->post_type );
-	$link = '<a class="post-edit-link" href="' . $url . '">' . $link . '</a>';
+	$link = '<a class="post-edit-link" href="' . $url . '">' . $text . '</a>';
 
 	/**
 	 * Filter the post edit link anchor tag.
@@ -1221,8 +1223,9 @@ function edit_post_link( $link = null, $before = '', $after = '', $id = 0 ) {
 	 *
 	 * @param string $link    Anchor tag for the edit link.
 	 * @param int    $post_id Post ID.
+	 * @param string $text    Anchor text.
 	 */
-	echo $before . apply_filters( 'edit_post_link', $link, $post->ID ) . $after;
+	echo $before . apply_filters( 'edit_post_link', $link, $post->ID, $text ) . $after;
 }
 
 /**
@@ -1298,20 +1301,22 @@ function get_edit_comment_link( $comment_id = 0 ) {
  *
  * @since 1.0.0
  *
- * @param string $link Optional. Anchor text.
+ * @param string $text Optional. Anchor text.
  * @param string $before Optional. Display before edit link.
  * @param string $after Optional. Display after edit link.
  */
-function edit_comment_link( $link = null, $before = '', $after = '' ) {
+function edit_comment_link( $text = null, $before = '', $after = '' ) {
 	global $comment;
 
-	if ( !current_user_can( 'edit_comment', $comment->comment_ID ) )
+	if ( ! current_user_can( 'edit_comment', $comment->comment_ID ) ) {
 		return;
+	}
 
-	if ( null === $link )
-		$link = __('Edit This');
+	if ( null === $text ) {
+		$text = __( 'Edit This' );
+	}
 
-	$link = '<a class="comment-edit-link" href="' . get_edit_comment_link( $comment->comment_ID ) . '">' . $link . '</a>';
+	$link = '<a class="comment-edit-link" href="' . get_edit_comment_link( $comment->comment_ID ) . '">' . $text . '</a>';
 
 	/**
 	 * Filter the comment edit link anchor tag.
@@ -1320,8 +1325,9 @@ function edit_comment_link( $link = null, $before = '', $after = '' ) {
 	 *
 	 * @param string $link       Anchor tag for the edit link.
 	 * @param int    $comment_id Comment ID.
+	 * @param string $text       Anchor text.
 	 */
-	echo $before . apply_filters( 'edit_comment_link', $link, $comment->comment_ID ) . $after;
+	echo $before . apply_filters( 'edit_comment_link', $link, $comment->comment_ID, $text ) . $after;
 }
 
 /**
@@ -1471,41 +1477,41 @@ function get_adjacent_post( $in_same_term = false, $excluded_terms = '', $previo
 	$current_post_date = $post->post_date;
 
 	$join = '';
-	$posts_in_ex_terms_sql = '';
+	$where = '';
+
 	if ( $in_same_term || ! empty( $excluded_terms ) ) {
 		$join = " INNER JOIN $wpdb->term_relationships AS tr ON p.ID = tr.object_id INNER JOIN $wpdb->term_taxonomy tt ON tr.term_taxonomy_id = tt.term_taxonomy_id";
+		$where = $wpdb->prepare( "AND tt.taxonomy = %s", $taxonomy );
+
+		if ( ! empty( $excluded_terms ) && ! is_array( $excluded_terms ) ) {
+			// back-compat, $excluded_terms used to be $excluded_terms with IDs separated by " and "
+			if ( false !== strpos( $excluded_terms, ' and ' ) ) {
+				_deprecated_argument( __FUNCTION__, '3.3', sprintf( __( 'Use commas instead of %s to separate excluded terms.' ), "'and'" ) );
+				$excluded_terms = explode( ' and ', $excluded_terms );
+			} else {
+				$excluded_terms = explode( ',', $excluded_terms );
+			}
+
+			$excluded_terms = array_map( 'intval', $excluded_terms );
+		}
 
 		if ( $in_same_term ) {
 			if ( ! is_object_in_taxonomy( $post->post_type, $taxonomy ) )
 				return '';
 			$term_array = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) );
+
+			// Remove any exclusions from the term array to include.
+			$term_array = array_diff( $term_array, (array) $excluded_terms );
+			$term_array = array_map( 'intval', $term_array );
+
 			if ( ! $term_array || is_wp_error( $term_array ) )
 				return '';
-			$join .= $wpdb->prepare( " AND tt.taxonomy = %s AND tt.term_id IN (" . implode( ',', array_map( 'intval', $term_array ) ) . ")", $taxonomy );
+
+			$where .= " AND tt.term_id IN (" . implode( ',', $term_array ) . ")";
 		}
 
-		$posts_in_ex_terms_sql = $wpdb->prepare( "AND tt.taxonomy = %s", $taxonomy );
 		if ( ! empty( $excluded_terms ) ) {
-			if ( ! is_array( $excluded_terms ) ) {
-				// back-compat, $excluded_terms used to be $excluded_terms with IDs separated by " and "
-				if ( false !== strpos( $excluded_terms, ' and ' ) ) {
-					_deprecated_argument( __FUNCTION__, '3.3', sprintf( __( 'Use commas instead of %s to separate excluded terms.' ), "'and'" ) );
-					$excluded_terms = explode( ' and ', $excluded_terms );
-				} else {
-					$excluded_terms = explode( ',', $excluded_terms );
-				}
-			}
-
-			$excluded_terms = array_map( 'intval', $excluded_terms );
-
-			if ( ! empty( $term_array ) ) {
-				$excluded_terms = array_diff( $excluded_terms, $term_array );
-				$posts_in_ex_terms_sql = '';
-			}
-
-			if ( ! empty( $excluded_terms ) ) {
-				$posts_in_ex_terms_sql = $wpdb->prepare( " AND tt.taxonomy = %s AND tt.term_id NOT IN (" . implode( $excluded_terms, ',' ) . ')', $taxonomy );
-			}
+			$where .= " AND p.ID NOT IN ( SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id IN (" . implode( $excluded_terms, ',' ) . ') )';
 		}
 	}
 
@@ -1539,7 +1545,7 @@ function get_adjacent_post( $in_same_term = false, $excluded_terms = '', $previo
 	 * @param bool   $in_same_term   Whether post should be in a same taxonomy term.
 	 * @param array  $excluded_terms Array of excluded term IDs.
 	 */
-	$where = apply_filters( "get_{$adjacent}_post_where", $wpdb->prepare( "WHERE p.post_date $op %s AND p.post_type = %s AND p.post_status = 'publish' $posts_in_ex_terms_sql", $current_post_date, $post->post_type), $in_same_term, $excluded_terms );
+	$where = apply_filters( "get_{$adjacent}_post_where", $wpdb->prepare( "WHERE p.post_date $op %s AND p.post_type = %s AND p.post_status = 'publish' $where", $current_post_date, $post->post_type ), $in_same_term, $excluded_terms );
 
 	/**
 	 * Filter the ORDER BY clause in the SQL for an adjacent post query.
@@ -1649,8 +1655,9 @@ function adjacent_posts_rel_link( $title = '%title', $in_same_term = false, $exc
  *
  */
 function adjacent_posts_rel_link_wp_head() {
-	if ( !is_singular() || is_attachment() )
+	if ( ! is_single() || is_attachment() ) {
 		return;
+	}
 	adjacent_posts_rel_link();
 }
 
@@ -1752,8 +1759,8 @@ function get_boundary_post( $in_same_term = false, $excluded_terms = '', $start
  * @param string       $taxonomy       Optional. Taxonomy, if $in_same_term is true. Default 'category'.
  * @return string
  */
-function get_previous_post_link( $format = '&laquo; %link', $link = '%title', $in_same_cat = false, $excluded_terms = '', $taxonomy = 'category' ) {
-	return get_adjacent_post_link( $format, $link, $in_same_cat, $excluded_terms, true, $taxonomy );
+function get_previous_post_link( $format = '&laquo; %link', $link = '%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) {
+	return get_adjacent_post_link( $format, $link, $in_same_term, $excluded_terms, true, $taxonomy );
 }
 
 /**
@@ -1768,8 +1775,8 @@ function get_previous_post_link( $format = '&laquo; %link', $link = '%title', $i
  * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs.
  * @param string       $taxonomy       Optional. Taxonomy, if $in_same_term is true. Default 'category'.
  */
-function previous_post_link( $format = '&laquo; %link', $link = '%title', $in_same_cat = false, $excluded_terms = '', $taxonomy = 'category' ) {
-	echo get_previous_post_link( $format, $link, $in_same_cat, $excluded_terms, $taxonomy );
+function previous_post_link( $format = '&laquo; %link', $link = '%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) {
+	echo get_previous_post_link( $format, $link, $in_same_term, $excluded_terms, $taxonomy );
 }
 
 /**
@@ -1784,8 +1791,8 @@ function previous_post_link( $format = '&laquo; %link', $link = '%title', $in_sa
  * @param string       $taxonomy       Optional. Taxonomy, if $in_same_term is true. Default 'category'.
  * @return string
  */
-function get_next_post_link( $format = '%link &raquo;', $link = '%title', $in_same_cat = false, $excluded_terms = '', $taxonomy = 'category' ) {
-	return get_adjacent_post_link( $format, $link, $in_same_cat, $excluded_terms, false, $taxonomy );
+function get_next_post_link( $format = '%link &raquo;', $link = '%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) {
+	return get_adjacent_post_link( $format, $link, $in_same_term, $excluded_terms, false, $taxonomy );
 }
 
 /**
@@ -1800,8 +1807,8 @@ function get_next_post_link( $format = '%link &raquo;', $link = '%title', $in_sa
  * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded term IDs.
  * @param string       $taxonomy       Optional. Taxonomy, if $in_same_term is true. Default 'category'.
  */
-function next_post_link( $format = '%link &raquo;', $link = '%title', $in_same_cat = false, $excluded_terms = '', $taxonomy = 'category' ) {
-	 echo get_next_post_link( $format, $link, $in_same_cat, $excluded_terms, $taxonomy );
+function next_post_link( $format = '%link &raquo;', $link = '%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) {
+	 echo get_next_post_link( $format, $link, $in_same_term, $excluded_terms, $taxonomy );
 }
 
 /**
@@ -1819,11 +1826,11 @@ function next_post_link( $format = '%link &raquo;', $link = '%title', $in_same_c
  * @param string       $taxonomy       Optional. Taxonomy, if $in_same_term is true. Default 'category'.
  * @return string
  */
-function get_adjacent_post_link( $format, $link, $in_same_cat = false, $excluded_terms = '', $previous = true, $taxonomy = 'category' ) {
+function get_adjacent_post_link( $format, $link, $in_same_term = false, $excluded_terms = '', $previous = true, $taxonomy = 'category' ) {
 	if ( $previous && is_attachment() )
 		$post = get_post( get_post()->post_parent );
 	else
-		$post = get_adjacent_post( $in_same_cat, $excluded_terms, $previous, $taxonomy );
+		$post = get_adjacent_post( $in_same_term, $excluded_terms, $previous, $taxonomy );
 
 	if ( ! $post ) {
 		$output = '';
@@ -1875,14 +1882,14 @@ function get_adjacent_post_link( $format, $link, $in_same_cat = false, $excluded
  *
  * @param string       $format         Link anchor format.
  * @param string       $link           Link permalink format.
- * @param bool         $in_same_cat    Optional. Whether link should be in a same category.
+ * @param bool         $in_same_term   Optional. Whether link should be in a same taxonomy term.
  * @param array|string $excluded_terms Optional. Array or comma-separated list of excluded category IDs.
  * @param bool         $previous       Optional. Whether to display link to previous or next post. Default true.
  * @param string       $taxonomy       Optional. Taxonomy, if $in_same_term is true. Default 'category'.
  * @return string
  */
-function adjacent_post_link( $format, $link, $in_same_cat = false, $excluded_terms = '', $previous = true, $taxonomy = 'category' ) {
-	echo get_adjacent_post_link( $format, $link, $in_same_cat, $excluded_terms, $previous, $taxonomy );
+function adjacent_post_link( $format, $link, $in_same_term = false, $excluded_terms = '', $previous = true, $taxonomy = 'category' ) {
+	echo get_adjacent_post_link( $format, $link, $in_same_term, $excluded_terms, $previous, $taxonomy );
 }
 
 /**
@@ -2619,22 +2626,24 @@ function content_url($path = '') {
 }
 
 /**
- * Retrieve the url to the plugins directory or to a specific file within that directory.
- * You can hardcode the plugin slug in $path or pass __FILE__ as a second argument to get the correct folder name.
+ * Retrieve a URL within the plugins or mu-plugins directory.
+ *
+ * Defaults to the plugins directory URL if no arguments are supplied.
  *
  * @since 2.6.0
  *
- * @param string $path Optional. Path relative to the plugins url.
- * @param string $plugin Optional. The plugin file that you want to be relative to - i.e. pass in __FILE__
- * @return string Plugins url link with optional path appended.
+ * @param  string $path   Optional. Extra path appended to the end of the URL, including
+ *                        the relative directory if $plugin is supplied. Default empty.
+ * @param  string $plugin Optional. A full path to a file inside a plugin or mu-plugin.
+ *                        The URL will be relative to its directory. Default empty.
+ *                        Typically this is done by passing `__FILE__` as the argument.
+ * @return string Plugins URL link with optional paths appended.
 */
-function plugins_url($path = '', $plugin = '') {
+function plugins_url( $path = '', $plugin = '' ) {
 
-	$mu_plugin_dir = WPMU_PLUGIN_DIR;
-	foreach ( array('path', 'plugin', 'mu_plugin_dir') as $var ) {
-		$$var = str_replace('\\' ,'/', $$var); // sanitize for Win32 installs
-		$$var = preg_replace('|/+|', '/', $$var);
-	}
+	$path = wp_normalize_path( $path );
+	$plugin = wp_normalize_path( $plugin );
+	$mu_plugin_dir = wp_normalize_path( WPMU_PLUGIN_DIR );
 
 	if ( !empty($plugin) && 0 === strpos($plugin, $mu_plugin_dir) )
 		$url = WPMU_PLUGIN_URL;
@@ -2839,15 +2848,13 @@ function self_admin_url($path = '', $scheme = 'admin') {
  */
 function set_url_scheme( $url, $scheme = null ) {
 	$orig_scheme = $scheme;
-	if ( ! in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) {
-		if ( ( 'login_post' == $scheme || 'rpc' == $scheme ) && ( force_ssl_login() || force_ssl_admin() ) )
-			$scheme = 'https';
-		elseif ( ( 'login' == $scheme ) && force_ssl_admin() )
-			$scheme = 'https';
-		elseif ( ( 'admin' == $scheme ) && force_ssl_admin() )
-			$scheme = 'https';
-		else
-			$scheme = ( is_ssl() ? 'https' : 'http' );
+
+	if ( ! $scheme ) {
+		$scheme = is_ssl() ? 'https' : 'http';
+	} elseif ( $scheme === 'admin' || $scheme === 'login' || $scheme === 'login_post' || $scheme === 'rpc' ) {
+		$scheme = is_ssl() || force_ssl_admin() ? 'https' : 'http';
+	} elseif ( $scheme !== 'http' && $scheme !== 'https' && $scheme !== 'relative' ) {
+		$scheme = is_ssl() ? 'https' : 'http';
 	}
 
 	$url = trim( $url );
diff --git a/wp-includes/load.php b/wp-includes/load.php
index f46572e3c..07f2283ab 100644
--- a/wp-includes/load.php
+++ b/wp-includes/load.php
@@ -10,9 +10,10 @@
 /**
  * Turn register globals off.
  *
- * @access private
  * @since 2.1.0
- * @return null Will return null if register_globals PHP directive was disabled
+ * @access private
+ *
+ * @return null Will return null if register_globals PHP directive was disabled.
  */
 function wp_unregister_GLOBALS() {
 	if ( !ini_get( 'register_globals' ) )
@@ -32,10 +33,13 @@ function wp_unregister_GLOBALS() {
 }
 
 /**
- * Fix $_SERVER variables for various setups.
+ * Fix `$_SERVER` variables for various setups.
  *
- * @access private
  * @since 3.0.0
+ * @access private
+ *
+ * @global string $PHP_SELF The filename of the currently executing script,
+ *                          relative to the document root.
  */
 function wp_fix_server_vars() {
 	global $PHP_SELF;
@@ -92,16 +96,21 @@ function wp_fix_server_vars() {
 }
 
 /**
- * Check for the required PHP version, and the MySQL extension or a database drop-in.
+ * Check for the required PHP version, and the MySQL extension or
+ * a database drop-in.
  *
  * Dies if requirements are not met.
  *
- * @access private
  * @since 3.0.0
+ * @access private
+ *
+ * @global string $required_php_version The required PHP version string.
+ * @global string $wp_version           The WordPress version string.
  */
 function wp_check_php_mysql_versions() {
 	global $required_php_version, $wp_version;
 	$php_version = phpversion();
+
 	if ( version_compare( $required_php_version, $php_version, '>' ) ) {
 		wp_load_translations_early();
 		header( 'Content-Type: text/html; charset=utf-8' );
@@ -117,6 +126,7 @@ function wp_check_php_mysql_versions() {
 
 /**
  * Don't load all of WordPress when handling a favicon.ico request.
+ *
  * Instead, send the headers for a zero-length favicon and bail.
  *
  * @since 3.0.0
@@ -130,7 +140,7 @@ function wp_favicon_request() {
 }
 
 /**
- * Dies with a maintenance message when conditions are met.
+ * Die with a maintenance message when conditions are met.
  *
  * Checks for a file in the WordPress root directory named ".maintenance".
  * This file will contain the variable $upgrading, set to the time the file
@@ -140,8 +150,10 @@ function wp_favicon_request() {
  * The default message can be replaced by using a drop-in (maintenance.php in
  * the wp-content directory).
  *
- * @access private
  * @since 3.0.0
+ * @access private
+ *
+ * @global int $upgrading the unix timestamp marking when upgrading WordPress began.
  */
 function wp_maintenance() {
 	if ( !file_exists( ABSPATH . '.maintenance' ) || defined( 'WP_INSTALLING' ) )
@@ -184,11 +196,14 @@ function wp_maintenance() {
 }
 
 /**
- * PHP 5 standard microtime start capture.
+ * Start the WordPress micro-timer.
  *
- * @access private
  * @since 0.71
- * @global float $timestart Seconds from when function is called.
+ * @access private
+ *
+ * @global float $timestart Unix timestamp set at the beginning of the page load.
+ * @see timer_stop()
+ *
  * @return bool Always returns true.
  */
 function timer_start() {
@@ -223,33 +238,34 @@ function timer_stop( $display = 0, $precision = 3 ) {
 }
 
 /**
- * Sets PHP error handling and handles WordPress debug mode.
+ * Set PHP error reporting based on WordPress debug settings.
  *
- * Uses three constants: WP_DEBUG, WP_DEBUG_DISPLAY, and WP_DEBUG_LOG. All three can be
- * defined in wp-config.php. Example: <code> define( 'WP_DEBUG', true ); </code>
+ * Uses three constants: `WP_DEBUG`, `WP_DEBUG_DISPLAY`, and `WP_DEBUG_LOG`.
+ * All three can be defined in wp-config.php, and by default are set to false.
  *
- * WP_DEBUG_DISPLAY and WP_DEBUG_LOG perform no function unless WP_DEBUG is true.
- * WP_DEBUG defaults to false.
+ * When `WP_DEBUG` is true, all PHP notices are reported. WordPress will also
+ * display internal notices: when a deprecated WordPress function, function
+ * argument, or file is used. Deprecated code may be removed from a later
+ * version.
  *
- * When WP_DEBUG is true, all PHP notices are reported. WordPress will also display
- * notices, including one when a deprecated WordPress function, function argument,
- * or file is used. Deprecated code may be removed from a later version.
+ * It is strongly recommended that plugin and theme developers use `WP_DEBUG`
+ * in their development environments.
  *
- * It is strongly recommended that plugin and theme developers use WP_DEBUG in their
- * development environments.
+ * `WP_DEBUG_DISPLAY` and `WP_DEBUG_LOG` perform no function unless `WP_DEBUG`
+ * is true.
  *
- * When WP_DEBUG_DISPLAY is true, WordPress will force errors to be displayed.
- * WP_DEBUG_DISPLAY defaults to true. Defining it as null prevents WordPress from
- * changing the global configuration setting. Defining WP_DEBUG_DISPLAY as false
- * will force errors to be hidden.
+ * When `WP_DEBUG_DISPLAY` is true, WordPress will force errors to be displayed.
+ * `WP_DEBUG_DISPLAY` defaults to true. Defining it as null prevents WordPress
+ * from changing the global configuration setting. Defining `WP_DEBUG_DISPLAY`
+ * as false will force errors to be hidden.
  *
- * When WP_DEBUG_LOG is true, errors will be logged to wp-content/debug.log.
- * WP_DEBUG_LOG defaults to false.
+ * When `WP_DEBUG_LOG` is true, errors will be logged to debug.log in the content
+ * directory.
  *
  * Errors are never displayed for XML-RPC requests.
  *
- * @access private
  * @since 3.0.0
+ * @access private
  */
 function wp_debug_mode() {
 	if ( WP_DEBUG ) {
@@ -272,30 +288,42 @@ function wp_debug_mode() {
 }
 
 /**
- * Sets the location of the language directory.
- *
- * To set directory manually, define <code>WP_LANG_DIR</code> in wp-config.php.
+ * Set the location of the language directory.
  *
- * If the language directory exists within WP_CONTENT_DIR, that is used.
- * Otherwise if the language directory exists within WPINC, that's used.
- * Finally, if neither of the preceding directories are found,
- * WP_CONTENT_DIR/languages is used.
+ * To set directory manually, define the `WP_LANG_DIR` constant
+ * in wp-config.php.
  *
- * The WP_LANG_DIR constant was introduced in 2.1.0.
+ * If the language directory exists within `WP_CONTENT_DIR`, it
+ * is used. Otherwise the language directory is assumed to live
+ * in `WPINC`.
  *
- * @access private
  * @since 3.0.0
+ * @access private
  */
 function wp_set_lang_dir() {
 	if ( !defined( 'WP_LANG_DIR' ) ) {
 		if ( file_exists( WP_CONTENT_DIR . '/languages' ) && @is_dir( WP_CONTENT_DIR . '/languages' ) || !@is_dir(ABSPATH . WPINC . '/languages') ) {
-			define( 'WP_LANG_DIR', WP_CONTENT_DIR . '/languages' ); // no leading slash, no trailing slash, full path, not relative to ABSPATH
+			/**
+			 * Server path of the language directory.
+			 *
+			 * No leading slash, no trailing slash, full path, not relative to ABSPATH
+			 *
+			 * @since 2.1.0
+			 */
+			define( 'WP_LANG_DIR', WP_CONTENT_DIR . '/languages' );
 			if ( !defined( 'LANGDIR' ) ) {
 				// Old static relative path maintained for limited backwards compatibility - won't work in some cases
 				define( 'LANGDIR', 'wp-content/languages' );
 			}
 		} else {
-			define( 'WP_LANG_DIR', ABSPATH . WPINC . '/languages' ); // no leading slash, no trailing slash, full path, not relative to ABSPATH
+			/**
+			 * Server path of the language directory.
+			 *
+			 * No leading slash, no trailing slash, full path, not relative to `ABSPATH`.
+			 *
+			 * @since 2.1.0
+			 */
+			define( 'WP_LANG_DIR', ABSPATH . WPINC . '/languages' );
 			if ( !defined( 'LANGDIR' ) ) {
 				// Old relative path maintained for backwards compatibility
 				define( 'LANGDIR', WPINC . '/languages' );
@@ -305,14 +333,11 @@ function wp_set_lang_dir() {
 }
 
 /**
- * Load the correct database class file.
- *
- * This function is used to load the database class file either at runtime or by
- * wp-admin/setup-config.php. We must globalize $wpdb to ensure that it is
- * defined globally by the inline code in wp-db.php.
+ * Load the database class file and instantiate the `$wpdb` global.
  *
  * @since 2.5.0
- * @global $wpdb WordPress Database Object
+ *
+ * @global wpdb $wpdb The WordPress database class.
  */
 function require_wp_db() {
 	global $wpdb;
@@ -328,18 +353,16 @@ function require_wp_db() {
 }
 
 /**
- * Sets the database table prefix and the format specifiers for database table columns.
- *
- * Columns not listed here default to %s.
+ * Set the database table prefix and the format specifiers for database
+ * table columns.
  *
- * @see wpdb::$field_types Since 2.8.0
- * @see wpdb::prepare()
- * @see wpdb::insert()
- * @see wpdb::update()
- * @see wpdb::set_prefix()
+ * Columns not listed here default to `%s`.
  *
- * @access private
  * @since 3.0.0
+ * @access private
+ *
+ * @global wpdb   $wpdb         The WordPress database class.
+ * @global string $table_prefix The database table prefix.
  */
 function wp_set_wpdb_vars() {
 	global $wpdb, $table_prefix;
@@ -363,14 +386,15 @@ function wp_set_wpdb_vars() {
 }
 
 /**
- * Access/Modify private global variable $_wp_using_ext_object_cache
+ * Access/Modify private global variable `$_wp_using_ext_object_cache`.
  *
- * Toggle $_wp_using_ext_object_cache on and off without directly touching global
+ * Toggle `$_wp_using_ext_object_cache` on and off without directly
+ * touching global.
  *
  * @since 3.7.0
  *
- * @param bool $using Whether external object cache is being used
- * @return bool The current 'using' setting
+ * @param bool $using Whether external object cache is being used.
+ * @return bool The current 'using' setting.
  */
 function wp_using_ext_object_cache( $using = null ) {
 	global $_wp_using_ext_object_cache;
@@ -381,13 +405,15 @@ function wp_using_ext_object_cache( $using = null ) {
 }
 
 /**
- * Starts the WordPress object cache.
+ * Start the WordPress object cache.
  *
  * If an object-cache.php file exists in the wp-content directory,
  * it uses that drop-in as an external object cache.
  *
- * @access private
  * @since 3.0.0
+ * @access private
+ *
+ * @global int $blog_id Blog ID.
  */
 function wp_start_object_cache() {
 	global $blog_id;
@@ -402,18 +428,23 @@ function wp_start_object_cache() {
 
 		$first_init = true;
 	} else if ( ! wp_using_ext_object_cache() && file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
-		// Sometimes advanced-cache.php can load object-cache.php before it is loaded here.
-		// This breaks the function_exists check above and can result in $_wp_using_ext_object_cache
-		// being set incorrectly. Double check if an external cache exists.
+		/*
+		 * Sometimes advanced-cache.php can load object-cache.php before
+		 * it is loaded here. This breaks the function_exists check above
+		 * and can result in `$_wp_using_ext_object_cache` being set
+		 * incorrectly. Double check if an external cache exists.
+		 */
 		wp_using_ext_object_cache( true );
 	}
 
 	if ( ! wp_using_ext_object_cache() )
 		require_once ( ABSPATH . WPINC . '/cache.php' );
 
-	// If cache supports reset, reset instead of init if already initialized.
-	// Reset signals to the cache that global IDs have changed and it may need to update keys
-	// and cleanup caches.
+	/*
+	 * If cache supports reset, reset instead of init if already
+	 * initialized. Reset signals to the cache that global IDs
+	 * have changed and it may need to update keys and cleanup caches.
+	 */
 	if ( ! $first_init && function_exists( 'wp_cache_switch_to_blog' ) )
 		wp_cache_switch_to_blog( $blog_id );
 	elseif ( function_exists( 'wp_cache_init' ) )
@@ -426,18 +457,23 @@ function wp_start_object_cache() {
 }
 
 /**
- * Redirects to the installer if WordPress is not installed.
+ * Redirect to the installer if WordPress is not installed.
  *
- * Dies with an error message when multisite is enabled.
+ * Dies with an error message when Multisite is enabled.
  *
- * @access private
  * @since 3.0.0
+ * @access private
  */
 function wp_not_installed() {
 	if ( is_multisite() ) {
-		if ( ! is_blog_installed() && ! defined( 'WP_INSTALLING' ) )
+		if ( ! is_blog_installed() && ! defined( 'WP_INSTALLING' ) ) {
+			nocache_headers();
+
 			wp_die( __( 'The site you have requested is not installed properly. Please contact the system administrator.' ) );
+		}
 	} elseif ( ! is_blog_installed() && false === strpos( $_SERVER['PHP_SELF'], 'install.php' ) && !defined( 'WP_INSTALLING' ) ) {
+		nocache_headers();
+
 		require( ABSPATH . WPINC . '/kses.php' );
 		require( ABSPATH . WPINC . '/pluggable.php' );
 		require( ABSPATH . WPINC . '/formatting.php' );
@@ -450,15 +486,16 @@ function wp_not_installed() {
 }
 
 /**
- * Returns array of must-use plugin files to be included in global scope.
+ * Retrieve an array of must-use plugin files.
  *
- * The default directory is wp-content/mu-plugins. To change the default directory
- * manually, define <code>WPMU_PLUGIN_DIR</code> and <code>WPMU_PLUGIN_URL</code>
+ * The default directory is wp-content/mu-plugins. To change the default
+ * directory manually, define `WPMU_PLUGIN_DIR` and `WPMU_PLUGIN_URL`
  * in wp-config.php.
  *
- * @access private
  * @since 3.0.0
- * @return array Files to include
+ * @access private
+ *
+ * @return array Files to include.
  */
 function wp_get_mu_plugins() {
 	$mu_plugins = array();
@@ -477,15 +514,18 @@ function wp_get_mu_plugins() {
 }
 
 /**
- * Returns array of plugin files to be included in global scope.
+ * Retrieve an array of active and valid plugin files.
  *
- * The default directory is wp-content/plugins. To change the default directory
- * manually, define <code>WP_PLUGIN_DIR</code> and <code>WP_PLUGIN_URL</code>
+ * While upgrading or installing WordPress, no plugins are returned.
+ *
+ * The default directory is wp-content/plugins. To change the default
+ * directory manually, define `WP_PLUGIN_DIR` and `WP_PLUGIN_URL`
  * in wp-config.php.
  *
- * @access private
  * @since 3.0.0
- * @return array Files to include
+ * @access private
+ *
+ * @return array Files.
  */
 function wp_get_active_and_valid_plugins() {
 	$plugins = array();
@@ -515,13 +555,13 @@ function wp_get_active_and_valid_plugins() {
 }
 
 /**
- * Sets internal encoding using mb_internal_encoding().
+ * Set internal encoding.
  *
- * In most cases the default internal encoding is latin1, which is of no use,
- * since we want to use the mb_ functions for utf-8 strings.
+ * In most cases the default internal encoding is latin1, which is
+ * of no use, since we want to use the `mb_` functions for `utf-8` strings.
  *
- * @access private
  * @since 3.0.0
+ * @access private
  */
 function wp_set_internal_encoding() {
 	if ( function_exists( 'mb_internal_encoding' ) ) {
@@ -532,13 +572,13 @@ function wp_set_internal_encoding() {
 }
 
 /**
- * Add magic quotes to $_GET, $_POST, $_COOKIE, and $_SERVER.
+ * Add magic quotes to `$_GET`, `$_POST`, `$_COOKIE`, and `$_SERVER`.
  *
- * Also forces $_REQUEST to be $_GET + $_POST. If $_SERVER, $_COOKIE,
- * or $_ENV are needed, use those superglobals directly.
+ * Also forces `$_REQUEST` to be `$_GET + $_POST`. If `$_SERVER`,
+ * `$_COOKIE`, or `$_ENV` are needed, use those superglobals directly.
  *
- * @access private
  * @since 3.0.0
+ * @access private
  */
 function wp_magic_quotes() {
 	// If already slashed, strip.
@@ -561,8 +601,8 @@ function wp_magic_quotes() {
 /**
  * Runs just before PHP shuts down execution.
  *
- * @access private
  * @since 1.2.0
+ * @access private
  */
 function shutdown_action_hook() {
 	/**
@@ -571,6 +611,7 @@ function shutdown_action_hook() {
 	 * @since 1.2.0
 	 */
 	do_action( 'shutdown' );
+
 	wp_cache_close();
 }
 
@@ -578,26 +619,25 @@ function shutdown_action_hook() {
  * Copy an object.
  *
  * @since 2.7.0
- * @deprecated 3.2
+ * @deprecated 3.2.0
  *
- * @param object $object The object to clone
- * @return object The cloned object
+ * @param object $object The object to clone.
+ * @return object The cloned object.
  */
-
 function wp_clone( $object ) {
 	// Use parens for clone to accommodate PHP 4. See #17880
 	return clone( $object );
 }
 
 /**
- * Whether the current request is for a network or blog admin page
+ * Whether the current request is for an administrative interface page.
  *
- * Does not inform on whether the user is an admin! Use capability checks to
- * tell if the user should be accessing a section or not.
+ * Does not check if the user is an administrator; {@see current_user_can()}
+ * for checking roles and capabilities.
  *
  * @since 1.5.1
  *
- * @return bool True if inside WordPress administration pages.
+ * @return bool True if inside WordPress administration interface, false otherwise.
  */
 function is_admin() {
 	if ( isset( $GLOBALS['current_screen'] ) )
@@ -609,14 +649,16 @@ function is_admin() {
 }
 
 /**
- * Whether the current request is for a blog admin screen /wp-admin/
+ * Whether the current request is for a site's admininstrative interface.
  *
- * Does not inform on whether the user is a blog admin! Use capability checks to
- * tell if the user should be accessing a section or not.
+ * e.g. `/wp-admin/`
+ *
+ * Does not check if the user is an administrator; {@see current_user_can()}
+ * for checking roles and capabilities.
  *
  * @since 3.1.0
  *
- * @return bool True if inside WordPress network administration pages.
+ * @return bool True if inside WordPress blog administration pages.
  */
 function is_blog_admin() {
 	if ( isset( $GLOBALS['current_screen'] ) )
@@ -628,10 +670,12 @@ function is_blog_admin() {
 }
 
 /**
- * Whether the current request is for a network admin screen /wp-admin/network/
+ * Whether the current request is for the network administrative interface.
  *
- * Does not inform on whether the user is a network admin! Use capability checks to
- * tell if the user should be accessing a section or not.
+ * e.g. `/wp-admin/network/`
+ *
+ * Does not check if the user is an administrator; {@see current_user_can()}
+ * for checking roles and capabilities.
  *
  * @since 3.1.0
  *
@@ -647,10 +691,13 @@ function is_network_admin() {
 }
 
 /**
- * Whether the current request is for a user admin screen /wp-admin/user/
+ * Whether the current request is for a user admin screen.
+ *
+ * e.g. `/wp-admin/user/`
  *
- * Does not inform on whether the user is an admin! Use capability checks to
- * tell if the user should be accessing a section or not.
+ * Does not inform on whether the user is an admin! Use capability
+ * checks to tell if the user should be accessing a section or not
+ * {@see current_user_can()}.
  *
  * @since 3.1.0
  *
@@ -666,11 +713,11 @@ function is_user_admin() {
 }
 
 /**
- * Whether Multisite support is enabled
+ * If Multisite is enabled.
  *
  * @since 3.0.0
  *
- * @return bool True if multisite is enabled, false otherwise.
+ * @return bool True if Multisite is enabled, false otherwise.
  */
 function is_multisite() {
 	if ( defined( 'MULTISITE' ) )
@@ -683,7 +730,7 @@ function is_multisite() {
 }
 
 /**
- * Retrieve the current blog id
+ * Retrieve the current blog ID.
  *
  * @since 3.1.0
  *
@@ -695,16 +742,19 @@ function get_current_blog_id() {
 }
 
 /**
- * Attempts an early load of translations.
+ * Attempt an early load of translations.
  *
- * Used for errors encountered during the initial loading process, before the locale has been
- * properly detected and loaded.
+ * Used for errors encountered during the initial loading process, before
+ * the locale has been properly detected and loaded.
  *
- * Designed for unusual load sequences (like setup-config.php) or for when the script will then
- * terminate with an error, otherwise there is a risk that a file can be double-included.
+ * Designed for unusual load sequences (like setup-config.php) or for when
+ * the script will then terminate with an error, otherwise there is a risk
+ * that a file can be double-included.
  *
  * @since 3.4.0
  * @access private
+ *
+ * @global $wp_locale The WordPress date and time locale object.
  */
 function wp_load_translations_early() {
 	global $text_direction, $wp_locale;
diff --git a/wp-includes/media-template.php b/wp-includes/media-template.php
index 25354618d..afb690e89 100644
--- a/wp-includes/media-template.php
+++ b/wp-includes/media-template.php
@@ -50,7 +50,8 @@ function wp_underscore_audio_template() {
 function wp_underscore_video_template() {
 	$video_types = wp_get_video_extensions();
 ?>
-<#  var w, h, settings = wp.media.view.settings,
+<#  var w_rule = h_rule = '',
+		w, h, settings = wp.media.view.settings,
 		isYouTube = ! _.isEmpty( data.model.src ) && data.model.src.match(/youtube|youtu\.be/);
 
 	if ( settings.contentWidth && data.model.width >= settings.contentWidth ) {
@@ -60,16 +61,23 @@ function wp_underscore_video_template() {
 	}
 
 	if ( w !== data.model.width ) {
-		h = Math.ceil( ( h * w ) / data.model.width );
+		h = Math.ceil( ( data.model.height * w ) / data.model.width );
 	} else {
 		h = data.model.height;
 	}
+
+	if ( w ) {
+		w_rule = 'width: ' + w + 'px; ';
+	}
+	if ( h ) {
+		h_rule = 'height: ' + h + 'px;';
+	}
 #>
-<div style="max-width: 100%; width: {{ w }}px">
+<div style="{{ w_rule }}{{ h_rule }}" class="wp-video">
 <video controls
 	class="wp-video-shortcode{{ isYouTube ? ' youtube-video' : '' }}"
-	width="{{ w }}"
-	height="{{ h }}"
+	<# if ( w ) { #>width="{{ w }}"<# } #>
+	<# if ( h ) { #>height="{{ h }}"<# } #>
 	<?php
 	$props = array( 'poster' => '', 'preload' => 'metadata' );
 	foreach ( $props as $key => $value ):
@@ -119,6 +127,16 @@ function wp_print_media_templates() {
 	if ( $is_IE && strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 7') !== false )
 		$class .= ' ie7';
 	?>
+	<!--[if lte IE 8]>
+	<style>
+		.attachment:focus {
+			outline: #1e8cbe solid;
+		}
+		.selected.attachment {
+			outline: #1e8cbe solid;
+		}
+	</style>
+	<![endif]-->
 	<script type="text/html" id="tmpl-media-frame">
 		<div class="media-frame-menu"></div>
 		<div class="media-frame-title"></div>
@@ -130,7 +148,7 @@ function wp_print_media_templates() {
 
 	<script type="text/html" id="tmpl-media-modal">
 		<div class="<?php echo $class; ?>">
-			<a class="media-modal-close" href="#" title="<?php esc_attr_e('Close'); ?>"><span class="media-modal-icon"></span></a>
+			<a class="media-modal-close" href="#"><span class="media-modal-icon"><span class="screen-reader-text"><?php _e( 'Close media panel' ); ?></span></span></a>
 			<div class="media-modal-content"></div>
 		</div>
 		<div class="media-modal-backdrop"></div>
@@ -150,12 +168,15 @@ function wp_print_media_templates() {
 
 	<script type="text/html" id="tmpl-uploader-inline">
 		<# var messageClass = data.message ? 'has-upload-message' : 'no-upload-message'; #>
+		<# if ( data.canClose ) { #>
+		<button class="close dashicons dashicons-no"><span class="screen-reader-text"><?php _e( 'Close uploader' ); ?></span></button>
+		<# } #>
 		<div class="uploader-inline-content {{ messageClass }}">
 		<# if ( data.message ) { #>
 			<h3 class="upload-message">{{ data.message }}</h3>
 		<# } #>
 		<?php if ( ! _device_can_upload() ) : ?>
-			<h3 class="upload-instructions"><?php printf( __('The web browser on your device cannot be used to upload files. You may be able to use the <a href="%s">native app for your device</a> instead.'), 'https://wordpress.org/mobile/' ); ?></h3>
+			<h3 class="upload-instructions"><?php printf( __('The web browser on your device cannot be used to upload files. You may be able to use the <a href="%s">native app for your device</a> instead.'), 'http://apps.wordpress.org/' ); ?></h3>
 		<?php elseif ( is_multisite() && ! is_upload_space_available() ) : ?>
 			<h3 class="upload-instructions"><?php _e( 'Upload Limit Exceeded' ); ?></h3>
 			<?php
@@ -165,6 +186,7 @@ function wp_print_media_templates() {
 		<?php else : ?>
 			<div class="upload-ui">
 				<h3 class="upload-instructions drop-instructions"><?php _e( 'Drop files anywhere to upload' ); ?></h3>
+				<p class="upload-instructions drop-instructions"><?php _ex( 'or', 'Uploader: Drop files here - or - Select Files' ); ?></p>
 				<a href="#" class="browser button button-hero"><?php _e( 'Select Files' ); ?></a>
 			</div>
 
@@ -186,24 +208,14 @@ function wp_print_media_templates() {
 					do_action( 'post-plupload-upload-ui' );
 				}
 
-				$upload_size_unit = $max_upload_size = wp_max_upload_size();
-				$byte_sizes = array( 'KB', 'MB', 'GB' );
-
-				for ( $u = -1; $upload_size_unit > 1024 && $u < count( $byte_sizes ) - 1; $u++ ) {
-					$upload_size_unit /= 1024;
-				}
-
-				if ( $u < 0 ) {
-					$upload_size_unit = 0;
-					$u = 0;
-				} else {
-					$upload_size_unit = (int) $upload_size_unit;
+				$max_upload_size = wp_max_upload_size();
+				if ( ! $max_upload_size ) {
+					$max_upload_size = 0;
 				}
-
 				?>
 
 				<p class="max-upload-size"><?php
-					printf( __( 'Maximum upload file size: %d%s.' ), esc_html($upload_size_unit), esc_html($byte_sizes[$u]) );
+					printf( __( 'Maximum upload file size: %s.' ), esc_html( size_format( $max_upload_size ) ) );
 				?></p>
 
 				<# if ( data.suggestedWidth && data.suggestedHeight ) { #>
@@ -220,6 +232,15 @@ function wp_print_media_templates() {
 		</div>
 	</script>
 
+	<script type="text/html" id="tmpl-media-library-view-switcher">
+		<a href="<?php echo esc_url( add_query_arg( 'mode', 'list', $_SERVER['REQUEST_URI'] ) ) ?>" class="view-list">
+			<span class="screen-reader-text"><?php _e( 'List View' ); ?></span>
+		</a>
+		<a href="<?php echo esc_url( add_query_arg( 'mode', 'grid', $_SERVER['REQUEST_URI'] ) ) ?>" class="view-grid current">
+			<span class="screen-reader-text"><?php _e( 'Grid View' ); ?></span>
+		</a>
+	</script>
+
 	<script type="text/html" id="tmpl-uploader-status">
 		<h3><?php _e( 'Uploading' ); ?></h3>
 		<a class="upload-dismiss-errors" href="#"><?php _e('Dismiss Errors'); ?></a>
@@ -241,35 +262,203 @@ function wp_print_media_templates() {
 		<span class="upload-error-message">{{ data.message }}</span>
 	</script>
 
-	<script type="text/html" id="tmpl-attachment">
-		<div class="attachment-preview type-{{ data.type }} subtype-{{ data.subtype }} {{ data.orientation }}">
-			<# if ( data.uploading ) { #>
-				<div class="media-progress-bar"><div></div></div>
-			<# } else if ( 'image' === data.type ) { #>
-				<div class="thumbnail">
-					<div class="centered">
-						<img src="{{ data.size.url }}" draggable="false" />
-					</div>
+	<script type="text/html" id="tmpl-edit-attachment-frame">
+		<div class="edit-media-header">
+			<button class="left dashicons <# if ( ! data.hasPrevious ) { #> disabled <# } #>"><span class="screen-reader-text"><?php _e( 'Edit previous media item' ); ?></span></button>
+			<button class="right dashicons <# if ( ! data.hasNext ) { #> disabled <# } #>"><span class="screen-reader-text"><?php _e( 'Edit next media item' ); ?></span></button>
+		</div>
+		<div class="media-frame-title"></div>
+		<div class="media-frame-content"></div>
+	</script>
+
+	<script type="text/html" id="tmpl-attachment-details-two-column">
+		<div class="attachment-media-view {{ data.orientation }}">
+			<div class="thumbnail thumbnail-{{ data.type }}">
+				<# if ( data.uploading ) { #>
+					<div class="media-progress-bar"><div></div></div>
+				<# } else if ( 'image' === data.type && data.sizes && data.sizes.large ) { #>
+					<img class="details-image" src="{{ data.sizes.large.url }}" draggable="false" />
+				<# } else if ( 'image' === data.type && data.sizes && data.sizes.full ) { #>
+					<img class="details-image" src="{{ data.sizes.full.url }}" draggable="false" />
+				<# } else if ( -1 === jQuery.inArray( data.type, [ 'audio', 'video' ] ) ) { #>
+					<img class="details-image" src="{{ data.icon }}" class="icon" draggable="false" />
+				<# } #>
+
+				<# if ( 'audio' === data.type ) { #>
+				<div class="wp-media-wrapper">
+					<audio style="visibility: hidden" controls class="wp-audio-shortcode" width="100%" preload="none">
+						<source type="{{ data.mime }}" src="{{ data.url }}"/>
+					</audio>
 				</div>
-			<# } else { #>
-				<img src="{{ data.icon }}" class="icon" draggable="false" />
-				<div class="filename">
-					<div>{{ data.filename }}</div>
+				<# } else if ( 'video' === data.type ) {
+					var w_rule = h_rule = '';
+					if ( data.width ) {
+						w_rule = 'width: ' + data.width + 'px;';
+					} else if ( wp.media.view.settings.contentWidth ) {
+						w_rule = 'width: ' + wp.media.view.settings.contentWidth + 'px;';
+					}
+					if ( data.height ) {
+						h_rule = 'height: ' + data.height + 'px;';
+					}
+				#>
+				<div style="{{ w_rule }}{{ h_rule }}" class="wp-media-wrapper wp-video">
+					<video controls="controls" class="wp-video-shortcode" preload="metadata"
+						<# if ( data.width ) { #>width="{{ data.width }}"<# } #>
+						<# if ( data.height ) { #>height="{{ data.height }}"<# } #>
+						<# if ( data.image && data.image.src !== data.icon ) { #>poster="{{ data.image.src }}"<# } #>>
+						<source type="{{ data.mime }}" src="{{ data.url }}"/>
+					</video>
 				</div>
-			<# } #>
+				<# } #>
+
+				<div class="attachment-actions">
+					<# if ( 'image' === data.type && ! data.uploading && data.sizes ) { #>
+						<a class="button edit-attachment" href="#"><?php _e( 'Edit Image' ); ?></a>
+					<# } #>
+				</div>
+			</div>
+		</div>
+		<div class="attachment-info">
+			<span class="settings-save-status">
+				<span class="spinner"></span>
+				<span class="saved"><?php esc_html_e('Saved.'); ?></span>
+			</span>
+			<div class="details">
+				<div class="filename"><strong><?php _e( 'File name:' ); ?></strong> {{ data.filename }}</div>
+				<div class="filename"><strong><?php _e( 'File type:' ); ?></strong> {{ data.mime }}</div>
+				<div class="uploaded"><strong><?php _e( 'Uploaded on:' ); ?></strong> {{ data.dateFormatted }}</div>
+
+				<div class="file-size"><strong><?php _e( 'File size:' ); ?></strong> {{ data.filesizeHumanReadable }}</div>
+				<# if ( 'image' === data.type && ! data.uploading ) { #>
+					<# if ( data.width && data.height ) { #>
+						<div class="dimensions"><strong><?php _e( 'Dimensions:' ); ?></strong> {{ data.width }} &times; {{ data.height }}</div>
+					<# } #>
+				<# } #>
+
+				<# if ( data.fileLength ) { #>
+					<div class="file-length"><strong><?php _e( 'Length:' ); ?></strong> {{ data.fileLength }}</div>
+				<# } #>
+
+				<# if ( 'audio' === data.type && data.meta.bitrate ) { #>
+					<div class="bitrate">
+						<strong><?php _e( 'Bitrate:' ); ?></strong> {{ Math.round( data.meta.bitrate / 1000 ) }}kb/s
+						<# if ( data.meta.bitrate_mode ) { #>
+						{{ ' ' + data.meta.bitrate_mode.toUpperCase() }}
+						<# } #>
+					</div>
+				<# } #>
+
+				<div class="compat-meta">
+					<# if ( data.compat && data.compat.meta ) { #>
+						{{{ data.compat.meta }}}
+					<# } #>
+				</div>
+			</div>
+
+			<div class="settings">
+				<label class="setting" data-setting="url">
+					<span class="name"><?php _e('URL'); ?></span>
+					<input type="text" value="{{ data.url }}" readonly />
+				</label>
+				<# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; #>
+				<label class="setting" data-setting="title">
+					<span class="name"><?php _e('Title'); ?></span>
+					<input type="text" value="{{ data.title }}" {{ maybeReadOnly }} />
+				</label>
+				<# if ( 'audio' === data.type ) { #>
+				<?php foreach ( array(
+					'artist' => __( 'Artist' ),
+					'album' => __( 'Album' ),
+				) as $key => $label ) : ?>
+				<label class="setting" data-setting="<?php echo esc_attr( $key ) ?>">
+					<span class="name"><?php echo $label ?></span>
+					<input type="text" value="{{ data.<?php echo $key ?> || data.meta.<?php echo $key ?> || '' }}" />
+				</label>
+				<?php endforeach; ?>
+				<# } #>
+				<label class="setting" data-setting="caption">
+					<span class="name"><?php _e( 'Caption' ); ?></span>
+					<textarea {{ maybeReadOnly }}>{{ data.caption }}</textarea>
+				</label>
+				<# if ( 'image' === data.type ) { #>
+					<label class="setting" data-setting="alt">
+						<span class="name"><?php _e( 'Alt Text' ); ?></span>
+						<input type="text" value="{{ data.alt }}" {{ maybeReadOnly }} />
+					</label>
+				<# } #>
+				<label class="setting" data-setting="description">
+					<span class="name"><?php _e('Description'); ?></span>
+					<textarea {{ maybeReadOnly }}>{{ data.description }}</textarea>
+				</label>
+				<label class="setting">
+					<span class="name"><?php _e( 'Uploaded By' ); ?></span>
+					<span class="value">{{ data.authorName }}</span>
+				</label>
+				<# if ( data.uploadedTo ) { #>
+					<label class="setting">
+						<span class="name"><?php _e( 'Uploaded To' ); ?></span>
+						<# if ( data.uploadedToLink ) { #>
+							<span class="value"><a href="{{ data.uploadedToLink }}">{{ data.uploadedToTitle }}</a></span>
+						<# } else { #>
+							<span class="value">{{ data.uploadedToTitle }}</span>
+						<# } #>
+					</label>
+				<# } #>
+				<div class="attachment-compat"></div>
+			</div>
+
+			<div class="actions">
+				<a class="view-attachment" href="{{ data.link }}"><?php _e( 'View attachment page' ); ?></a> |
+				<a href="post.php?post={{ data.id }}&action=edit"><?php _e( 'Edit more details' ); ?></a>
+				<# if ( ! data.uploading && data.can.remove ) { #> |
+						<?php if ( MEDIA_TRASH ): ?>
+						<# if ( 'trash' === data.status ) { #>
+							<a class="untrash-attachment" href="#"><?php _e( 'Untrash' ); ?></a>
+						<# } else { #>
+							<a class="trash-attachment" href="#"><?php _e( 'Trash' ); ?></a>
+						<# } #>
+						<?php else: ?>
+							<a class="delete-attachment" href="#"><?php _e( 'Delete Permanently' ); ?></a>
+						<?php endif; ?>
+					<# } #>
+			</div>
 
+		</div>
+	</script>
+
+	<script type="text/html" id="tmpl-attachment">
+		<div class="attachment-preview js--select-attachment type-{{ data.type }} subtype-{{ data.subtype }} {{ data.orientation }}">
+			<div class="thumbnail">
+				<# if ( data.uploading ) { #>
+					<div class="media-progress-bar"><div style="width: {{ data.percent }}%"></div></div>
+				<# } else if ( 'image' === data.type && data.sizes ) { #>
+					<div class="centered">
+						<img src="{{ data.size.url }}" draggable="false" alt="" />
+					</div>
+				<# } else { #>
+					<div class="centered">
+						<# if ( data.image && data.image.src && data.image.src !== data.icon ) { #>
+							<img src="{{ data.image.src }}" class="thumbnail" draggable="false" />
+						<# } else { #>
+							<img src="{{ data.icon }}" class="icon" draggable="false" />
+						<# } #>
+					</div>
+					<div class="filename">
+						<div>{{ data.filename }}</div>
+					</div>
+				<# } #>
+			</div>
 			<# if ( data.buttons.close ) { #>
 				<a class="close media-modal-icon" href="#" title="<?php esc_attr_e('Remove'); ?>"></a>
 			<# } #>
-
-			<# if ( data.buttons.check ) { #>
-				<a class="check" href="#" title="<?php esc_attr_e('Deselect'); ?>"><div class="media-modal-icon"></div></a>
-			<# } #>
 		</div>
+		<# if ( data.buttons.check ) { #>
+			<a class="check" href="#" title="<?php esc_attr_e('Deselect'); ?>" tabindex="-1"><div class="media-modal-icon"></div></a>
+		<# } #>
 		<#
 		var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly';
-		if ( data.describe ) { #>
-			<# if ( 'image' === data.type ) { #>
+		if ( data.describe ) {
+			if ( 'image' === data.type ) { #>
 				<input type="text" value="{{ data.caption }}" class="describe" data-setting="caption"
 					placeholder="<?php esc_attr_e('Caption this image&hellip;'); ?>" {{ maybeReadOnly }} />
 			<# } else { #>
@@ -281,8 +470,8 @@ function wp_print_media_templates() {
 					<# } else { #>
 						placeholder="<?php esc_attr_e('Describe this media file&hellip;'); ?>"
 					<# } #> {{ maybeReadOnly }} />
-			<# } #>
-		<# } #>
+			<# }
+		} #>
 	</script>
 
 	<script type="text/html" id="tmpl-attachment-details">
@@ -295,10 +484,10 @@ function wp_print_media_templates() {
 			</span>
 		</h3>
 		<div class="attachment-info">
-			<div class="thumbnail">
+			<div class="thumbnail thumbnail-{{ data.type }}">
 				<# if ( data.uploading ) { #>
 					<div class="media-progress-bar"><div></div></div>
-				<# } else if ( 'image' === data.type ) { #>
+				<# } else if ( 'image' === data.type && data.sizes ) { #>
 					<img src="{{ data.size.url }}" draggable="false" />
 				<# } else { #>
 					<img src="{{ data.icon }}" class="icon" draggable="false" />
@@ -308,12 +497,13 @@ function wp_print_media_templates() {
 				<div class="filename">{{ data.filename }}</div>
 				<div class="uploaded">{{ data.dateFormatted }}</div>
 
+				<div class="file-size">{{ data.filesizeHumanReadable }}</div>
 				<# if ( 'image' === data.type && ! data.uploading ) { #>
 					<# if ( data.width && data.height ) { #>
 						<div class="dimensions">{{ data.width }} &times; {{ data.height }}</div>
 					<# } #>
 
-					<# if ( data.can.save ) { #>
+					<# if ( data.can.save && data.sizes ) { #>
 						<a class="edit-attachment" href="{{ data.editLink }}&amp;image-editor" target="_blank"><?php _e( 'Edit Image' ); ?></a>
 						<a class="refresh-attachment" href="#"><?php _e( 'Refresh' ); ?></a>
 					<# } #>
@@ -325,7 +515,11 @@ function wp_print_media_templates() {
 
 				<# if ( ! data.uploading && data.can.remove ) { #>
 					<?php if ( MEDIA_TRASH ): ?>
+					<# if ( 'trash' === data.status ) { #>
+						<a class="untrash-attachment" href="#"><?php _e( 'Untrash' ); ?></a>
+					<# } else { #>
 						<a class="trash-attachment" href="#"><?php _e( 'Trash' ); ?></a>
+					<# } #>
 					<?php else: ?>
 						<a class="delete-attachment" href="#"><?php _e( 'Delete Permanently' ); ?></a>
 					<?php endif; ?>
@@ -339,25 +533,40 @@ function wp_print_media_templates() {
 			</div>
 		</div>
 
+		<label class="setting" data-setting="url">
+			<span class="name"><?php _e('URL'); ?></span>
+			<input type="text" value="{{ data.url }}" readonly />
+		</label>
 		<# var maybeReadOnly = data.can.save || data.allowLocalEdits ? '' : 'readonly'; #>
-			<label class="setting" data-setting="title">
-				<span><?php _e('Title'); ?></span>
-				<input type="text" value="{{ data.title }}" {{ maybeReadOnly }} />
-			</label>
-			<label class="setting" data-setting="caption">
-				<span><?php _e('Caption'); ?></span>
-				<textarea {{ maybeReadOnly }}>{{ data.caption }}</textarea>
-			</label>
+		<label class="setting" data-setting="title">
+			<span class="name"><?php _e('Title'); ?></span>
+			<input type="text" value="{{ data.title }}" {{ maybeReadOnly }} />
+		</label>
+		<# if ( 'audio' === data.type ) { #>
+		<?php foreach ( array(
+			'artist' => __( 'Artist' ),
+			'album' => __( 'Album' ),
+		) as $key => $label ) : ?>
+		<label class="setting" data-setting="<?php echo esc_attr( $key ) ?>">
+			<span class="name"><?php echo $label ?></span>
+			<input type="text" value="{{ data.<?php echo $key ?> || data.meta.<?php echo $key ?> || '' }}" />
+		</label>
+		<?php endforeach; ?>
+		<# } #>
+		<label class="setting" data-setting="caption">
+			<span class="name"><?php _e('Caption'); ?></span>
+			<textarea {{ maybeReadOnly }}>{{ data.caption }}</textarea>
+		</label>
 		<# if ( 'image' === data.type ) { #>
 			<label class="setting" data-setting="alt">
-				<span><?php _e('Alt Text'); ?></span>
+				<span class="name"><?php _e('Alt Text'); ?></span>
 				<input type="text" value="{{ data.alt }}" {{ maybeReadOnly }} />
 			</label>
 		<# } #>
-			<label class="setting" data-setting="description">
-				<span><?php _e('Description'); ?></span>
-				<textarea {{ maybeReadOnly }}>{{ data.description }}</textarea>
-			</label>
+		<label class="setting" data-setting="description">
+			<span class="name"><?php _e('Description'); ?></span>
+			<textarea {{ maybeReadOnly }}>{{ data.description }}</textarea>
+		</label>
 	</script>
 
 	<script type="text/html" id="tmpl-media-selection">
@@ -491,13 +700,15 @@ function wp_print_media_templates() {
 					data-user-setting="urlbutton"
 				<# } #>>
 
-				<option value="post" selected>
+				<option value="post" <# if ( ! wp.media.galleryDefaults.link || 'post' == wp.media.galleryDefaults.link ) {
+					#>selected="selected"<# }
+				#>>
 					<?php esc_attr_e('Attachment Page'); ?>
 				</option>
-				<option value="file">
+				<option value="file" <# if ( 'file' == wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>>
 					<?php esc_attr_e('Media File'); ?>
 				</option>
-				<option value="none">
+				<option value="none" <# if ( 'none' == wp.media.galleryDefaults.link ) { #>selected="selected"<# } #>>
 					<?php esc_attr_e('None'); ?>
 				</option>
 			</select>
@@ -508,7 +719,9 @@ function wp_print_media_templates() {
 			<select class="columns" name="columns"
 				data-setting="columns">
 				<?php for ( $i = 1; $i <= 9; $i++ ) : ?>
-					<option value="<?php echo esc_attr( $i ); ?>" <?php selected( $i, 3 ); ?>>
+					<option value="<?php echo esc_attr( $i ); ?>" <#
+						if ( <?php echo $i ?> == wp.media.galleryDefaults.columns ) { #>selected="selected"<# }
+					#>>
 						<?php echo esc_html( $i ); ?>
 					</option>
 				<?php endfor; ?>
@@ -556,10 +769,13 @@ function wp_print_media_templates() {
 	</script>
 
 	<script type="text/html" id="tmpl-embed-link-settings">
-		<label class="setting">
-			<span><?php _e('Title'); ?></span>
+		<label class="setting title">
+			<span><?php _e( 'Title' ); ?></span>
 			<input type="text" class="alignment" data-setting="title" />
 		</label>
+		<div class="embed-container" style="display: none;">
+			<div class="embed-preview"></div>
+		</div>
 	</script>
 
 	<script type="text/html" id="tmpl-embed-image-settings">
@@ -616,35 +832,6 @@ function wp_print_media_templates() {
 		</div>
 	</script>
 
-	<script type="text/html" id="tmpl-attachments-css">
-		<style type="text/css" id="{{ data.id }}-css">
-			#{{ data.id }} {
-				padding: 0 {{ data.gutter }}px;
-			}
-
-			#{{ data.id }} .attachment {
-				margin: {{ data.gutter }}px;
-				width: {{ data.edge }}px;
-			}
-
-			#{{ data.id }} .attachment-preview,
-			#{{ data.id }} .attachment-preview .thumbnail {
-				width: {{ data.edge }}px;
-				height: {{ data.edge }}px;
-			}
-
-			#{{ data.id }} .portrait .thumbnail img {
-				max-width: {{ data.edge }}px;
-				height: auto;
-			}
-
-			#{{ data.id }} .landscape .thumbnail img {
-				width: auto;
-				max-height: {{ data.edge }}px;
-			}
-		</style>
-	</script>
-
 	<script type="text/html" id="tmpl-image-details">
 		<div class="media-embed">
 			<div class="embed-media-settings">
@@ -976,9 +1163,6 @@ function wp_print_media_templates() {
 	</script>
 
 	<script type="text/html" id="tmpl-editor-gallery">
-		<div class="toolbar">
-			<div class="dashicons dashicons-edit edit"></div><div class="dashicons dashicons-no-alt remove"></div>
-		</div>
 		<# if ( data.attachments ) { #>
 			<div class="gallery gallery-columns-{{ data.columns }}">
 				<# _.each( data.attachments, function( attachment, index ) { #>
@@ -990,9 +1174,11 @@ function wp_print_media_templates() {
 								<img src="{{ attachment.url }}" />
 							<# } #>
 						</dt>
-						<dd class="wp-caption-text gallery-caption">
-							{{ attachment.caption }}
-						</dd>
+						<# if ( attachment.caption ) { #>
+							<dd class="wp-caption-text gallery-caption">
+								{{ attachment.caption }}
+							</dd>
+						<# } #>
 					</dl>
 					<# if ( index % data.columns === data.columns - 1 ) { #>
 						<br style="clear: both;">
@@ -1006,50 +1192,6 @@ function wp_print_media_templates() {
 		<# } #>
 	</script>
 
-	<script type="text/html" id="tmpl-editor-audio">
-		<div class="toolbar">
-			<div class="dashicons dashicons-edit edit"></div>
-			<div class="dashicons dashicons-no-alt remove"></div>
-		</div>
-		<?php wp_underscore_audio_template() ?>
-		<div class="wpview-overlay"></div>
-	</script>
-
-	<script type="text/html" id="tmpl-editor-video">
-		<div class="toolbar">
-			<div class="dashicons dashicons-edit edit"></div>
-			<div class="dashicons dashicons-no-alt remove"></div>
-		</div>
-		<?php wp_underscore_video_template() ?>
-		<div class="wpview-overlay"></div>
-	</script>
-
-	<?php wp_underscore_playlist_templates() ?>
-
-	<script type="text/html" id="tmpl-editor-playlist">
-		<div class="toolbar">
-			<div class="dashicons dashicons-edit edit"></div>
-			<div class="dashicons dashicons-no-alt remove"></div>
-		</div>
-		<# if ( data.tracks ) { #>
-			<div class="wp-playlist wp-{{ data.type }}-playlist wp-playlist-{{ data.style }}">
-				<# if ( 'audio' === data.type ){ #>
-				<div class="wp-playlist-current-item"></div>
-				<# } #>
-				<{{ data.type }} controls="controls" preload="none" <#
-					if ( data.width ) { #> width="{{ data.width }}"<# }
-					#><# if ( data.height ) { #> height="{{ data.height }}"<# } #>></{{ data.type }}>
-				<div class="wp-playlist-next"></div>
-				<div class="wp-playlist-prev"></div>
-			</div>
-			<div class="wpview-overlay"></div>
-		<# } else { #>
-			<div class="wpview-error">
-				<div class="dashicons dashicons-video-alt3"></div><p><?php _e( 'No items found.' ); ?></p>
-			</div>
-		<# } #>
-	</script>
-
 	<script type="text/html" id="tmpl-crop-content">
 		<img class="crop-image" src="{{ data.url }}">
 		<div class="upload-errors"></div>
diff --git a/wp-includes/media.php b/wp-includes/media.php
index 974aa7995..b49e324f6 100644
--- a/wp-includes/media.php
+++ b/wp-includes/media.php
@@ -911,8 +911,9 @@ function gallery_shortcode( $attr ) {
 
 	if ( ! empty( $attr['ids'] ) ) {
 		// 'ids' is explicitly ordered, unless you specify otherwise.
-		if ( empty( $attr['orderby'] ) )
+		if ( empty( $attr['orderby'] ) ) {
 			$attr['orderby'] = 'post__in';
+		}
 		$attr['include'] = $attr['ids'];
 	}
 
@@ -930,18 +931,20 @@ function gallery_shortcode( $attr ) {
 	 * @param array  $attr   Attributes of the gallery shortcode.
 	 */
 	$output = apply_filters( 'post_gallery', '', $attr );
-	if ( $output != '' )
+	if ( $output != '' ) {
 		return $output;
+	}
 
 	// We're trusting author input, so let's at least make sure it looks like a valid orderby statement
 	if ( isset( $attr['orderby'] ) ) {
 		$attr['orderby'] = sanitize_sql_orderby( $attr['orderby'] );
-		if ( !$attr['orderby'] )
+		if ( ! $attr['orderby'] ) {
 			unset( $attr['orderby'] );
+		}
 	}
 
 	$html5 = current_theme_supports( 'html5', 'gallery' );
-	extract(shortcode_atts(array(
+	$atts = shortcode_atts( array(
 		'order'      => 'ASC',
 		'orderby'    => 'menu_order ID',
 		'id'         => $post ? $post->ID : 0,
@@ -953,53 +956,59 @@ function gallery_shortcode( $attr ) {
 		'include'    => '',
 		'exclude'    => '',
 		'link'       => ''
-	), $attr, 'gallery'));
+	), $attr, 'gallery' );
 
-	$id = intval($id);
-	if ( 'RAND' == $order )
-		$orderby = 'none';
+	$id = intval( $atts['id'] );
+	if ( 'RAND' == $atts['order'] ) {
+		$atts['orderby'] = 'none';
+	}
 
-	if ( !empty($include) ) {
-		$_attachments = get_posts( array('include' => $include, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby) );
+	if ( ! empty( $atts['include'] ) ) {
+		$_attachments = get_posts( array( 'include' => $atts['include'], 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $atts['order'], 'orderby' => $atts['orderby'] ) );
 
 		$attachments = array();
 		foreach ( $_attachments as $key => $val ) {
 			$attachments[$val->ID] = $_attachments[$key];
 		}
-	} elseif ( !empty($exclude) ) {
-		$attachments = get_children( array('post_parent' => $id, 'exclude' => $exclude, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby) );
+	} elseif ( ! empty( $atts['exclude'] ) ) {
+		$attachments = get_children( array( 'post_parent' => $id, 'exclude' => $atts['exclude'], 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $atts['order'], 'orderby' => $atts['orderby'] ) );
 	} else {
-		$attachments = get_children( array('post_parent' => $id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby) );
+		$attachments = get_children( array( 'post_parent' => $id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $atts['order'], 'orderby' => $atts['orderby'] ) );
 	}
 
-	if ( empty($attachments) )
+	if ( empty( $attachments ) ) {
 		return '';
+	}
 
 	if ( is_feed() ) {
 		$output = "\n";
-		foreach ( $attachments as $att_id => $attachment )
-			$output .= wp_get_attachment_link($att_id, $size, true) . "\n";
+		foreach ( $attachments as $att_id => $attachment ) {
+			$output .= wp_get_attachment_link( $att_id, $atts['size'], true ) . "\n";
+		}
 		return $output;
 	}
 
-	$itemtag = tag_escape($itemtag);
-	$captiontag = tag_escape($captiontag);
-	$icontag = tag_escape($icontag);
+	$itemtag = tag_escape( $atts['itemtag'] );
+	$captiontag = tag_escape( $atts['captiontag'] );
+	$icontag = tag_escape( $atts['icontag'] );
 	$valid_tags = wp_kses_allowed_html( 'post' );
-	if ( ! isset( $valid_tags[ $itemtag ] ) )
+	if ( ! isset( $valid_tags[ $itemtag ] ) ) {
 		$itemtag = 'dl';
-	if ( ! isset( $valid_tags[ $captiontag ] ) )
+	}
+	if ( ! isset( $valid_tags[ $captiontag ] ) ) {
 		$captiontag = 'dd';
-	if ( ! isset( $valid_tags[ $icontag ] ) )
+	}
+	if ( ! isset( $valid_tags[ $icontag ] ) ) {
 		$icontag = 'dt';
+	}
 
-	$columns = intval($columns);
+	$columns = intval( $atts['columns'] );
 	$itemwidth = $columns > 0 ? floor(100/$columns) : 100;
 	$float = is_rtl() ? 'right' : 'left';
 
 	$selector = "gallery-{$instance}";
 
-	$gallery_style = $gallery_div = '';
+	$gallery_style = '';
 
 	/**
 	 * Filter whether to print default gallery styles.
@@ -1032,7 +1041,7 @@ function gallery_shortcode( $attr ) {
 		</style>\n\t\t";
 	}
 
-	$size_class = sanitize_html_class( $size );
+	$size_class = sanitize_html_class( $atts['size'] );
 	$gallery_div = "<div id='$selector' class='gallery galleryid-{$id} gallery-columns-{$columns} gallery-size-{$size_class}'>";
 
 	/**
@@ -1047,19 +1056,19 @@ function gallery_shortcode( $attr ) {
 
 	$i = 0;
 	foreach ( $attachments as $id => $attachment ) {
-		if ( ! empty( $link ) && 'file' === $link )
-			$image_output = wp_get_attachment_link( $id, $size, false, false );
-		elseif ( ! empty( $link ) && 'none' === $link )
-			$image_output = wp_get_attachment_image( $id, $size, false );
-		else
-			$image_output = wp_get_attachment_link( $id, $size, true, false );
-
+		if ( ! empty( $atts['link'] ) && 'file' === $atts['link'] ) {
+			$image_output = wp_get_attachment_link( $id, $atts['size'], false, false );
+		} elseif ( ! empty( $atts['link'] ) && 'none' === $atts['link'] ) {
+			$image_output = wp_get_attachment_image( $id, $atts['size'], false );
+		} else {
+			$image_output = wp_get_attachment_link( $id, $atts['size'], true, false );
+		}
 		$image_meta  = wp_get_attachment_metadata( $id );
 
 		$orientation = '';
-		if ( isset( $image_meta['height'], $image_meta['width'] ) )
+		if ( isset( $image_meta['height'], $image_meta['width'] ) ) {
 			$orientation = ( $image_meta['height'] > $image_meta['width'] ) ? 'portrait' : 'landscape';
-
+		}
 		$output .= "<{$itemtag} class='gallery-item'>";
 		$output .= "
 			<{$icontag} class='gallery-icon {$orientation}'>
@@ -1152,7 +1161,30 @@ add_action( 'wp_playlist_scripts', 'wp_playlist_scripts' );
  *
  * @since 3.9.0
  *
- * @param array $attr Playlist shortcode attributes.
+ * @param array $attr {
+ *     Array of default playlist attributes.
+ *
+ *     @type string  $type         Type of playlist to display. Accepts 'audio' or 'video'. Default 'audio'.
+ *     @type string  $order        Designates ascending or descending order of items in the playlist.
+ *                                 Accepts 'ASC', 'DESC', or 'RAND'. Default 'ASC'.
+ *     @type string  $orderby      Any column, or columns, to sort the playlist. If $ids are
+ *                                 passed, this defaults to the order of the $ids array ('post__in').
+ *                                 Otherwise default is 'menu_order ID'.
+ *     @type int     $id           If an explicit $ids array is not present, this parameter
+ *                                 will determine which attachments are used for the playlist.
+ *                                 Default is the current post ID.
+ *     @type array   $ids          Create a playlist out of these explicit attachment IDs. If empty,
+ *                                 a playlist will be created from all $type attachments of $id.
+ *                                 Default empty.
+ *     @type array   $exclude      List of specific attachment IDs to exclude from the playlist. Default empty.
+ *     @type string  $style        Playlist style to use. Accepts 'light' or 'dark'. Default 'light'.
+ *     @type bool    $tracklist    Whether to show or hide the playlist. Default true.
+ *     @type bool    $tracknumbers Whether to show or hide the numbers next to entries in the playlist. Default true.
+ *     @type bool    $images       Show or hide the video or audio thumbnail (Featured Image/post
+ *                                 thumbnail). Default true.
+ *     @type bool    $artists      Whether to show or hide artist name in the playlist. Default true.
+ * }
+ *
  * @return string Playlist output. Empty string if the passed type is unsupported.
  */
 function wp_playlist_shortcode( $attr ) {
@@ -1196,7 +1228,7 @@ function wp_playlist_shortcode( $attr ) {
 			unset( $attr['orderby'] );
 	}
 
-	extract( shortcode_atts( array(
+	$atts = shortcode_atts( array(
 		'type'		=> 'audio',
 		'order'		=> 'ASC',
 		'orderby'	=> 'menu_order ID',
@@ -1208,32 +1240,32 @@ function wp_playlist_shortcode( $attr ) {
 		'tracknumbers' => true,
 		'images'	=> true,
 		'artists'	=> true
-	), $attr, 'playlist' ) );
+	), $attr, 'playlist' );
 
-	$id = intval( $id );
-	if ( 'RAND' == $order ) {
-		$orderby = 'none';
+	$id = intval( $atts['id'] );
+	if ( 'RAND' == $atts['order'] ) {
+		$atts['orderby'] = 'none';
 	}
 
 	$args = array(
 		'post_status' => 'inherit',
 		'post_type' => 'attachment',
-		'post_mime_type' => $type,
-		'order' => $order,
-		'orderby' => $orderby
+		'post_mime_type' => $atts['type'],
+		'order' => $atts['order'],
+		'orderby' => $atts['orderby']
 	);
 
-	if ( ! empty( $include ) ) {
-		$args['include'] = $include;
+	if ( ! empty( $atts['include'] ) ) {
+		$args['include'] = $atts['include'];
 		$_attachments = get_posts( $args );
 
 		$attachments = array();
 		foreach ( $_attachments as $key => $val ) {
 			$attachments[$val->ID] = $_attachments[$key];
 		}
-	} elseif ( ! empty( $exclude ) ) {
+	} elseif ( ! empty( $atts['exclude'] ) ) {
 		$args['post_parent'] = $id;
-		$args['exclude'] = $exclude;
+		$args['exclude'] = $atts['exclude'];
 		$attachments = get_children( $args );
 	} else {
 		$args['post_parent'] = $id;
@@ -1260,12 +1292,14 @@ function wp_playlist_shortcode( $attr ) {
 	$theme_width = empty( $content_width ) ? $default_width : ( $content_width - $outer );
 	$theme_height = empty( $content_width ) ? $default_height : round( ( $default_height * $theme_width ) / $default_width );
 
-	$data = compact( 'type' );
-
-	// don't pass strings to JSON, will be truthy in JS
-	foreach ( array( 'tracklist', 'tracknumbers', 'images', 'artists' ) as $key ) {
-		$data[$key] = filter_var( $$key, FILTER_VALIDATE_BOOLEAN );
-	}
+	$data = array(
+		'type' => $atts['type'],
+		// don't pass strings to JSON, will be truthy in JS
+		'tracklist' => wp_validate_boolean( $atts['tracklist'] ),
+		'tracknumbers' => wp_validate_boolean( $atts['tracknumbers'] ),
+		'images' => wp_validate_boolean( $atts['images'] ),
+		'artists' => wp_validate_boolean( $atts['artists'] ),
+	);
 
 	$tracks = array();
 	foreach ( $attachments as $attachment ) {
@@ -1289,7 +1323,7 @@ function wp_playlist_shortcode( $attr ) {
 				}
 			}
 
-			if ( 'video' === $type ) {
+			if ( 'video' === $atts['type'] ) {
 				if ( ! empty( $meta['width'] ) && ! empty( $meta['height'] ) ) {
 					$width = $meta['width'];
 					$height = $meta['height'];
@@ -1309,12 +1343,12 @@ function wp_playlist_shortcode( $attr ) {
 			}
 		}
 
-		if ( $images ) {
-			$id = get_post_thumbnail_id( $attachment->ID );
-			if ( ! empty( $id ) ) {
-				list( $src, $width, $height ) = wp_get_attachment_image_src( $id, 'full' );
+		if ( $atts['images'] ) {
+			$thumb_id = get_post_thumbnail_id( $attachment->ID );
+			if ( ! empty( $thumb_id ) ) {
+				list( $src, $width, $height ) = wp_get_attachment_image_src( $thumb_id, 'full' );
 				$track['image'] = compact( 'src', 'width', 'height' );
-				list( $src, $width, $height ) = wp_get_attachment_image_src( $id, 'thumbnail' );
+				list( $src, $width, $height ) = wp_get_attachment_image_src( $thumb_id, 'thumbnail' );
 				$track['thumb'] = compact( 'src', 'width', 'height' );
 			} else {
 				$src = wp_mime_type_icon( $attachment->ID );
@@ -1329,8 +1363,8 @@ function wp_playlist_shortcode( $attr ) {
 	}
 	$data['tracks'] = $tracks;
 
-	$safe_type = esc_attr( $type );
-	$safe_style = esc_attr( $style );
+	$safe_type = esc_attr( $atts['type'] );
+	$safe_style = esc_attr( $atts['style'] );
 
 	ob_start();
 
@@ -1343,10 +1377,10 @@ function wp_playlist_shortcode( $attr ) {
 		 * @param string $type  Type of playlist. Possible values are 'audio' or 'video'.
 		 * @param string $style The 'theme' for the playlist. Core provides 'light' and 'dark'.
 		 */
-		do_action( 'wp_playlist_scripts', $type, $style );
+		do_action( 'wp_playlist_scripts', $atts['type'], $atts['style'] );
 	} ?>
 <div class="wp-playlist wp-<?php echo $safe_type ?>-playlist wp-playlist-<?php echo $safe_style ?>">
-	<?php if ( 'audio' === $type ): ?>
+	<?php if ( 'audio' === $atts['type'] ): ?>
 	<div class="wp-playlist-current-item"></div>
 	<?php endif ?>
 	<<?php echo $safe_type ?> controls="controls" preload="none" width="<?php
@@ -1365,7 +1399,7 @@ function wp_playlist_shortcode( $attr ) {
 	}
 	?></ol>
 	</noscript>
-	<script type="application/json"><?php echo json_encode( $data ) ?></script>
+	<script type="application/json" class="wp-playlist-script"><?php echo json_encode( $data ) ?></script>
 </div>
 	<?php
 	return ob_get_clean();
@@ -1429,6 +1463,9 @@ function wp_get_attachment_id3_keys( $attachment, $context = 'display' ) {
 		$fields['genre']            = __( 'Genre' );
 		$fields['year']             = __( 'Year' );
 		$fields['length_formatted'] = _x( 'Length', 'video or audio' );
+	} elseif ( 'js' === $context ) {
+		$fields['bitrate']          = __( 'Bitrate' );
+		$fields['bitrate_mode']     = __( 'Bitrate Mode' );
 	}
 
 	/**
@@ -1482,9 +1519,10 @@ function wp_audio_shortcode( $attr, $content = '' ) {
 	 * @param string $content   Shortcode content.
 	 * @param int    $instances Unique numeric ID of this audio shortcode instance.
 	 */
-	$html = apply_filters( 'wp_audio_shortcode_override', '', $attr, $content, $instances );
-	if ( '' !== $html )
-		return $html;
+	$override = apply_filters( 'wp_audio_shortcode_override', '', $attr, $content, $instances );
+	if ( '' !== $override ) {
+		return $override;
+	}
 
 	$audio = null;
 
@@ -1495,38 +1533,42 @@ function wp_audio_shortcode( $attr, $content = '' ) {
 		'autoplay' => '',
 		'preload'  => 'none'
 	);
-	foreach ( $default_types as $type )
+	foreach ( $default_types as $type ) {
 		$defaults_atts[$type] = '';
+	}
 
 	$atts = shortcode_atts( $defaults_atts, $attr, 'audio' );
-	extract( $atts );
 
 	$primary = false;
-	if ( ! empty( $src ) ) {
-		$type = wp_check_filetype( $src, wp_get_mime_types() );
-		if ( ! in_array( strtolower( $type['ext'] ), $default_types ) )
-			return sprintf( '<a class="wp-embedded-audio" href="%s">%s</a>', esc_url( $src ), esc_html( $src ) );
+	if ( ! empty( $atts['src'] ) ) {
+		$type = wp_check_filetype( $atts['src'], wp_get_mime_types() );
+		if ( ! in_array( strtolower( $type['ext'] ), $default_types ) ) {
+			return sprintf( '<a class="wp-embedded-audio" href="%s">%s</a>', esc_url( $atts['src'] ), esc_html( $atts['src'] ) );
+		}
 		$primary = true;
 		array_unshift( $default_types, 'src' );
 	} else {
 		foreach ( $default_types as $ext ) {
-			if ( ! empty( $$ext ) ) {
-				$type = wp_check_filetype( $$ext, wp_get_mime_types() );
-				if ( strtolower( $type['ext'] ) === $ext )
+			if ( ! empty( $atts[ $ext ] ) ) {
+				$type = wp_check_filetype( $atts[ $ext ], wp_get_mime_types() );
+				if ( strtolower( $type['ext'] ) === $ext ) {
 					$primary = true;
+				}
 			}
 		}
 	}
 
 	if ( ! $primary ) {
 		$audios = get_attached_media( 'audio', $post_id );
-		if ( empty( $audios ) )
+		if ( empty( $audios ) ) {
 			return;
+		}
 
 		$audio = reset( $audios );
-		$src = wp_get_attachment_url( $audio->ID );
-		if ( empty( $src ) )
+		$atts['src'] = wp_get_attachment_url( $audio->ID );
+		if ( empty( $atts['src'] ) ) {
 			return;
+		}
 
 		array_unshift( $default_types, 'src' );
 	}
@@ -1551,45 +1593,49 @@ function wp_audio_shortcode( $attr, $content = '' ) {
 	 *
 	 * @param string $class CSS class or list of space-separated classes.
 	 */
-	$atts = array(
+	$html_atts = array(
 		'class'    => apply_filters( 'wp_audio_shortcode_class', 'wp-audio-shortcode' ),
 		'id'       => sprintf( 'audio-%d-%d', $post_id, $instances ),
-		'loop'     => $loop,
-		'autoplay' => $autoplay,
-		'preload'  => $preload,
+		'loop'     => $atts['loop'],
+		'autoplay' => $atts['autoplay'],
+		'preload'  => $atts['preload'],
 		'style'    => 'width: 100%; visibility: hidden;',
 	);
 
 	// These ones should just be omitted altogether if they are blank
 	foreach ( array( 'loop', 'autoplay', 'preload' ) as $a ) {
-		if ( empty( $atts[$a] ) )
-			unset( $atts[$a] );
+		if ( empty( $html_atts[$a] ) ) {
+			unset( $html_atts[$a] );
+		}
 	}
 
 	$attr_strings = array();
-	foreach ( $atts as $k => $v ) {
+	foreach ( $html_atts as $k => $v ) {
 		$attr_strings[] = $k . '="' . esc_attr( $v ) . '"';
 	}
 
 	$html = '';
-	if ( 'mediaelement' === $library && 1 === $instances )
+	if ( 'mediaelement' === $library && 1 === $instances ) {
 		$html .= "<!--[if lt IE 9]><script>document.createElement('audio');</script><![endif]-->\n";
+	}
 	$html .= sprintf( '<audio %s controls="controls">', join( ' ', $attr_strings ) );
 
 	$fileurl = '';
 	$source = '<source type="%s" src="%s" />';
 	foreach ( $default_types as $fallback ) {
-		if ( ! empty( $$fallback ) ) {
-			if ( empty( $fileurl ) )
-				$fileurl = $$fallback;
-			$type = wp_check_filetype( $$fallback, wp_get_mime_types() );
-			$url = add_query_arg( '_', $instances, $$fallback );
+		if ( ! empty( $atts[ $fallback ] ) ) {
+			if ( empty( $fileurl ) ) {
+				$fileurl = $atts[ $fallback ];
+			}
+			$type = wp_check_filetype( $atts[ $fallback ], wp_get_mime_types() );
+			$url = add_query_arg( '_', $instances, $atts[ $fallback ] );
 			$html .= sprintf( $source, $type['type'], esc_url( $url ) );
 		}
 	}
 
-	if ( 'mediaelement' === $library )
+	if ( 'mediaelement' === $library ) {
 		$html .= wp_mediaelement_fallback( $fileurl );
+	}
 	$html .= '</audio>';
 
 	/**
@@ -1674,9 +1720,10 @@ function wp_video_shortcode( $attr, $content = '' ) {
 	 * @param string $content   Video shortcode content.
 	 * @param int    $instances Unique numeric ID of this video shortcode instance.
 	 */
-	$html = apply_filters( 'wp_video_shortcode_override', '', $attr, $content, $instances );
-	if ( '' !== $html )
-		return $html;
+	$override = apply_filters( 'wp_video_shortcode_override', '', $attr, $content, $instances );
+	if ( '' !== $override ) {
+		return $override;
+	}
 
 	$video = null;
 
@@ -1691,57 +1738,60 @@ function wp_video_shortcode( $attr, $content = '' ) {
 		'height'   => 360,
 	);
 
-	foreach ( $default_types as $type )
+	foreach ( $default_types as $type ) {
 		$defaults_atts[$type] = '';
+	}
 
 	$atts = shortcode_atts( $defaults_atts, $attr, 'video' );
-	extract( $atts );
 
 	if ( is_admin() ) {
 		// shrink the video so it isn't huge in the admin
-		if ( $width > $defaults_atts['width'] ) {
-			$height = round( ( $height * $defaults_atts['width'] ) / $width );
-			$width = $defaults_atts['width'];
+		if ( $atts['width'] > $defaults_atts['width'] ) {
+			$atts['height'] = round( ( $atts['height'] * $defaults_atts['width'] ) / $atts['width'] );
+			$atts['width'] = $defaults_atts['width'];
 		}
 	} else {
 		// if the video is bigger than the theme
-		if ( ! empty( $content_width ) && $width > $content_width ) {
-			$height = round( ( $height * $content_width ) / $width );
-			$width = $content_width;
+		if ( ! empty( $content_width ) && $atts['width'] > $content_width ) {
+			$atts['height'] = round( ( $atts['height'] * $content_width ) / $atts['width'] );
+			$atts['width'] = $content_width;
 		}
 	}
 
-	$yt_pattern = '#^https?://(:?www\.)?(:?youtube\.com/watch|youtu\.be/)#';
+	$yt_pattern = '#^https?://(?:www\.)?(?:youtube\.com/watch|youtu\.be/)#';
 
 	$primary = false;
-	if ( ! empty( $src ) ) {
-		if ( ! preg_match( $yt_pattern, $src ) ) {
-			$type = wp_check_filetype( $src, wp_get_mime_types() );
+	if ( ! empty( $atts['src'] ) ) {
+		if ( ! preg_match( $yt_pattern, $atts['src'] ) ) {
+			$type = wp_check_filetype( $atts['src'], wp_get_mime_types() );
 			if ( ! in_array( strtolower( $type['ext'] ), $default_types ) ) {
-				return sprintf( '<a class="wp-embedded-video" href="%s">%s</a>', esc_url( $src ), esc_html( $src ) );
+				return sprintf( '<a class="wp-embedded-video" href="%s">%s</a>', esc_url( $atts['src'] ), esc_html( $atts['src'] ) );
 			}
 		}
 		$primary = true;
 		array_unshift( $default_types, 'src' );
 	} else {
 		foreach ( $default_types as $ext ) {
-			if ( ! empty( $$ext ) ) {
-				$type = wp_check_filetype( $$ext, wp_get_mime_types() );
-				if ( strtolower( $type['ext'] ) === $ext )
+			if ( ! empty( $atts[ $ext ] ) ) {
+				$type = wp_check_filetype( $atts[ $ext ], wp_get_mime_types() );
+				if ( strtolower( $type['ext'] ) === $ext ) {
 					$primary = true;
+				}
 			}
 		}
 	}
 
 	if ( ! $primary ) {
 		$videos = get_attached_media( 'video', $post_id );
-		if ( empty( $videos ) )
+		if ( empty( $videos ) ) {
 			return;
+		}
 
 		$video = reset( $videos );
-		$src = wp_get_attachment_url( $video->ID );
-		if ( empty( $src ) )
+		$atts['src'] = wp_get_attachment_url( $video->ID );
+		if ( empty( $atts['src'] ) ) {
 			return;
+		}
 
 		array_unshift( $default_types, 'src' );
 	}
@@ -1766,75 +1816,85 @@ function wp_video_shortcode( $attr, $content = '' ) {
 	 *
 	 * @param string $class CSS class or list of space-separated classes.
 	 */
-	$atts = array(
+	$html_atts = array(
 		'class'    => apply_filters( 'wp_video_shortcode_class', 'wp-video-shortcode' ),
 		'id'       => sprintf( 'video-%d-%d', $post_id, $instances ),
-		'width'    => absint( $width ),
-		'height'   => absint( $height ),
-		'poster'   => esc_url( $poster ),
-		'loop'     => $loop,
-		'autoplay' => $autoplay,
-		'preload'  => $preload,
+		'width'    => absint( $atts['width'] ),
+		'height'   => absint( $atts['height'] ),
+		'poster'   => esc_url( $atts['poster'] ),
+		'loop'     => $atts['loop'],
+		'autoplay' => $atts['autoplay'],
+		'preload'  => $atts['preload'],
 	);
 
 	// These ones should just be omitted altogether if they are blank
 	foreach ( array( 'poster', 'loop', 'autoplay', 'preload' ) as $a ) {
-		if ( empty( $atts[$a] ) )
-			unset( $atts[$a] );
+		if ( empty( $html_atts[$a] ) ) {
+			unset( $html_atts[$a] );
+		}
 	}
 
 	$attr_strings = array();
-	foreach ( $atts as $k => $v ) {
+	foreach ( $html_atts as $k => $v ) {
 		$attr_strings[] = $k . '="' . esc_attr( $v ) . '"';
 	}
 
 	$html = '';
-	if ( 'mediaelement' === $library && 1 === $instances )
+	if ( 'mediaelement' === $library && 1 === $instances ) {
 		$html .= "<!--[if lt IE 9]><script>document.createElement('video');</script><![endif]-->\n";
+	}
 	$html .= sprintf( '<video %s controls="controls">', join( ' ', $attr_strings ) );
 
 	$fileurl = '';
 	$source = '<source type="%s" src="%s" />';
 	foreach ( $default_types as $fallback ) {
-		if ( ! empty( $$fallback ) ) {
-			if ( empty( $fileurl ) )
-				$fileurl = $$fallback;
-
-			if ( 'src' === $fallback && preg_match( $yt_pattern, $src ) ) {
+		if ( ! empty( $atts[ $fallback ] ) ) {
+			if ( empty( $fileurl ) ) {
+				$fileurl = $atts[ $fallback ];
+			}
+			if ( 'src' === $fallback && preg_match( $yt_pattern, $atts['src'] ) ) {
 				$type = array( 'type' => 'video/youtube' );
 			} else {
-				$type = wp_check_filetype( $$fallback, wp_get_mime_types() );
+				$type = wp_check_filetype( $atts[ $fallback ], wp_get_mime_types() );
 			}
-			$url = add_query_arg( '_', $instances, $$fallback );
+			$url = add_query_arg( '_', $instances, $atts[ $fallback ] );
 			$html .= sprintf( $source, $type['type'], esc_url( $url ) );
 		}
 	}
 
 	if ( ! empty( $content ) ) {
-		if ( false !== strpos( $content, "\n" ) )
+		if ( false !== strpos( $content, "\n" ) ) {
 			$content = str_replace( array( "\r\n", "\n", "\t" ), '', $content );
-
+		}
 		$html .= trim( $content );
 	}
 
-	if ( 'mediaelement' === $library )
+	if ( 'mediaelement' === $library ) {
 		$html .= wp_mediaelement_fallback( $fileurl );
+	}
 	$html .= '</video>';
 
-	$html = sprintf( '<div style="width: %dpx; max-width: 100%%;" class="wp-video">%s</div>', $width, $html );
+	$width_rule = $height_rule = '';
+	if ( ! empty( $atts['width'] ) ) {
+		$width_rule = sprintf( 'width: %dpx; ', $atts['width'] );
+	}
+	if ( ! empty( $atts['height'] ) ) {
+		$height_rule = sprintf( 'height: %dpx; ', $atts['height'] );
+	}
+	$output = sprintf( '<div style="%s%s" class="wp-video">%s</div>', $width_rule, $height_rule, $html );
 
 	/**
 	 * Filter the output of the video shortcode.
 	 *
 	 * @since 3.6.0
 	 *
-	 * @param string $html    Video shortcode HTML output.
+	 * @param string $output  Video shortcode HTML output.
 	 * @param array  $atts    Array of video shortcode attributes.
 	 * @param string $video   Video file.
 	 * @param int    $post_id Post ID.
 	 * @param string $library Media library used for the video shortcode.
 	 */
-	return apply_filters( 'wp_video_shortcode', $html, $atts, $video, $post_id, $library );
+	return apply_filters( 'wp_video_shortcode', $output, $atts, $video, $post_id, $library );
 }
 add_shortcode( 'video', 'wp_video_shortcode' );
 
@@ -1875,16 +1935,22 @@ function adjacent_image_link($prev = true, $size = 'thumbnail', $text = false) {
 	$post = get_post();
 	$attachments = array_values( get_children( array( 'post_parent' => $post->post_parent, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID' ) ) );
 
-	foreach ( $attachments as $k => $attachment )
-		if ( $attachment->ID == $post->ID )
+	foreach ( $attachments as $k => $attachment ) {
+		if ( $attachment->ID == $post->ID ) {
 			break;
+		}
+	}
+
+	$output = '';
+	$attachment_id = 0;
 
-	$k = $prev ? $k - 1 : $k + 1;
+	if ( $attachments ) {
+		$k = $prev ? $k - 1 : $k + 1;
 
-	$output = $attachment_id = null;
-	if ( isset( $attachments[ $k ] ) ) {
-		$attachment_id = $attachments[ $k ]->ID;
-		$output = wp_get_attachment_link( $attachment_id, $size, true, false, $text );
+		if ( isset( $attachments[ $k ] ) ) {
+			$attachment_id = $attachments[ $k ]->ID;
+			$output = wp_get_attachment_link( $attachment_id, $size, true, false, $text );
+		}
 	}
 
 	$adjacent = $prev ? 'previous' : 'next';
@@ -2026,9 +2092,11 @@ function wp_embed_unregister_handler( $id, $priority = 10 ) {
  *
  * @since 2.9.0
  *
+ * @param string $url Optional. The URL that should be embedded. Default empty.
+ *
  * @return array Default embed parameters.
  */
-function wp_embed_defaults() {
+function wp_embed_defaults( $url = '' ) {
 	if ( ! empty( $GLOBALS['content_width'] ) )
 		$width = (int) $GLOBALS['content_width'];
 
@@ -2042,10 +2110,11 @@ function wp_embed_defaults() {
 	 *
 	 * @since 2.9.0
 	 *
-	 * @param int $width  Width of the embed in pixels.
-	 * @param int $height Height of the embed in pixels.
+	 * @param int    $width  Width of the embed in pixels.
+	 * @param int    $height Height of the embed in pixels.
+	 * @param string $url    The URL that should be embedded.
 	 */
-	return apply_filters( 'embed_defaults', compact( 'width', 'height' ) );
+	return apply_filters( 'embed_defaults', compact( 'width', 'height' ), $url );
 }
 
 /**
@@ -2102,8 +2171,13 @@ function wp_oembed_get( $url, $args = '' ) {
  */
 function wp_oembed_add_provider( $format, $provider, $regex = false ) {
 	require_once( ABSPATH . WPINC . '/class-oembed.php' );
-	$oembed = _wp_oembed_get_object();
-	$oembed->providers[$format] = array( $provider, $regex );
+
+	if ( did_action( 'plugins_loaded' ) ) {
+		$oembed = _wp_oembed_get_object();
+		$oembed->providers[$format] = array( $provider, $regex );
+	} else {
+		WP_oEmbed::_add_provider_early( $format, $provider, $regex );
+	}
 }
 
 /**
@@ -2119,11 +2193,15 @@ function wp_oembed_add_provider( $format, $provider, $regex = false ) {
 function wp_oembed_remove_provider( $format ) {
 	require_once( ABSPATH . WPINC . '/class-oembed.php' );
 
-	$oembed = _wp_oembed_get_object();
+	if ( did_action( 'plugins_loaded' ) ) {
+		$oembed = _wp_oembed_get_object();
 
-	if ( isset( $oembed->providers[ $format ] ) ) {
-		unset( $oembed->providers[ $format ] );
-		return true;
+		if ( isset( $oembed->providers[ $format ] ) ) {
+			unset( $oembed->providers[ $format ] );
+			return true;
+		}
+	} else {
+		WP_oEmbed::_remove_provider_early( $format );
 	}
 
 	return false;
@@ -2151,6 +2229,8 @@ function wp_maybe_load_embeds() {
 		return;
 	}
 
+	wp_embed_register_handler( 'youtube_embed_url', '#https?://(www.)?youtube\.com/embed/([^/]+)#i', 'wp_embed_handler_youtube' );
+
 	wp_embed_register_handler( 'googlevideo', '#http://video\.google\.([A-Za-z.]{2,5})/videoplay\?docid=([\d-]+)(.*?)#i', 'wp_embed_handler_googlevideo' );
 
 	/**
@@ -2207,6 +2287,38 @@ function wp_embed_handler_googlevideo( $matches, $attr, $url, $rawattr ) {
 	return apply_filters( 'embed_googlevideo', '<embed type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docid=' . esc_attr($matches[2]) . '&amp;hl=en&amp;fs=true" style="width:' . esc_attr($width) . 'px;height:' . esc_attr($height) . 'px" allowFullScreen="true" allowScriptAccess="always" />', $matches, $attr, $url, $rawattr );
 }
 
+/**
+ * YouTube embed handler callback.
+ *
+ * Catches URLs that can be parsed but aren't supported by oEmbed.
+ *
+ * @since 4.0.0
+ *
+ * @param array  $matches The regex matches from the provided regex when calling
+ *                        {@see wp_embed_register_handler()}.
+ * @param array  $attr    Embed attributes.
+ * @param string $url     The original URL that was matched by the regex.
+ * @param array  $rawattr The original unmodified attributes.
+ * @return string The embed HTML.
+ */
+function wp_embed_handler_youtube( $matches, $attr, $url, $rawattr ) {
+	global $wp_embed;
+	$embed = $wp_embed->autoembed( "https://youtube.com/watch?v={$matches[2]}" );
+	/**
+	 * Filter the YoutTube embed output.
+	 *
+	 * @since 4.0.0
+	 *
+	 * @see wp_embed_handler_youtube()
+	 *
+	 * @param string $embed   YouTube embed output.
+	 * @param array  $attr    An array of embed attributes.
+	 * @param string $url     The original URL that was matched by the regex.
+	 * @param array  $rawattr The original unmodified attributes.
+	 */
+	return apply_filters( 'wp_embed_handler_youtube', $embed, $attr, $url, $rawattr );
+}
+
 /**
  * Audio embed handler callback.
  *
@@ -2430,11 +2542,6 @@ function wp_plupload_default_settings() {
 		),
 	);
 
-	// Multi-file uploading doesn't currently work in iOS Safari,
-	// single-file allows the built-in camera to be used as source for images
-	if ( wp_is_mobile() )
-		$defaults['multi_selection'] = false;
-
 	/**
 	 * Filter the Plupload default settings.
 	 *
@@ -2528,8 +2635,28 @@ function wp_prepare_attachment_for_js( $attachment ) {
 			'edit'   => false
 		),
 		'editLink'   => false,
+		'meta'       => false,
 	);
 
+	$author = new WP_User( $attachment->post_author );
+	$response['authorName'] = $author->display_name;
+
+	if ( $attachment->post_parent ) {
+		$post_parent = get_post( $attachment->post_parent );
+		$parent_type = get_post_type_object( $post_parent->post_type );
+		if ( $parent_type && $parent_type->show_ui && current_user_can( 'edit_post', $attachment->post_parent ) ) {
+			$response['uploadedToLink'] = get_edit_post_link( $attachment->post_parent, 'raw' );
+		}
+		$response['uploadedToTitle'] = $post_parent->post_title ? $post_parent->post_title : __( '(no title)' );
+	}
+
+	$attached_file = get_attached_file( $attachment->ID );
+	if ( file_exists( $attached_file ) ) {
+		$bytes = filesize( $attached_file );
+		$response['filesizeInBytes'] = $bytes;
+		$response['filesizeHumanReadable'] = size_format( $bytes );
+	}
+
 	if ( current_user_can( 'edit_post', $attachment->ID ) ) {
 		$response['nonces']['update'] = wp_create_nonce( 'update-post_' . $attachment->ID );
 		$response['nonces']['edit'] = wp_create_nonce( 'image_editor-' . $attachment->ID );
@@ -2608,7 +2735,9 @@ function wp_prepare_attachment_for_js( $attachment ) {
 			$response['fileLength'] = $meta['length_formatted'];
 
 		$response['meta'] = array();
-		foreach ( wp_get_attachment_id3_keys( $attachment ) as $key => $label ) {
+		foreach ( wp_get_attachment_id3_keys( $attachment, 'js' ) as $key => $label ) {
+			$response['meta'][ $key ] = false;
+
 			if ( ! empty( $meta[ $key ] ) ) {
 				$response['meta'][ $key ] = $meta[ $key ];
 			}
@@ -2656,7 +2785,7 @@ function wp_enqueue_media( $args = array() ) {
 	if ( did_action( 'wp_enqueue_media' ) )
 		return;
 
-	global $content_width, $wpdb;
+	global $content_width, $wpdb, $wp_locale;
 
 	$defaults = array(
 		'post' => null,
@@ -2709,6 +2838,15 @@ function wp_enqueue_media( $args = array() ) {
 		AND post_mime_type LIKE 'video%'
 		LIMIT 1
 	" );
+	$months = $wpdb->get_results( $wpdb->prepare( "
+		SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month
+		FROM $wpdb->posts
+		WHERE post_type = %s
+		ORDER BY post_date DESC
+	", 'attachment' ) );
+	foreach ( $months as $month_year ) {
+		$month_year->text = sprintf( __( '%1$s %2$d' ), $wp_locale->get_month( $month_year->month ), $month_year->year );
+	}
 
 	$settings = array(
 		'tabs'      => $tabs,
@@ -2724,12 +2862,14 @@ function wp_enqueue_media( $args = array() ) {
 		),
 		'defaultProps' => $props,
 		'attachmentCounts' => array(
-			'audio' => (int) $has_audio,
-			'video' => (int) $has_video,
+			'audio' => ( $has_audio ) ? 1 : 0,
+			'video' => ( $has_video ) ? 1 : 0
 		),
 		'embedExts'    => $exts,
 		'embedMimes'   => $ext_mimes,
 		'contentWidth' => $content_width,
+		'months'       => $months,
+		'mediaTrash'   => MEDIA_TRASH ? 1 : 0
 	);
 
 	$post = null;
@@ -2780,17 +2920,36 @@ function wp_enqueue_media( $args = array() ) {
 		'uploadImagesTitle' => __( 'Upload Images' ),
 
 		// Library
-		'mediaLibraryTitle'  => __( 'Media Library' ),
-		'insertMediaTitle'   => __( 'Insert Media' ),
-		'createNewGallery'   => __( 'Create a new gallery' ),
-		'createNewPlaylist'   => __( 'Create a new playlist' ),
-		'createNewVideoPlaylist'   => __( 'Create a new video playlist' ),
-		'returnToLibrary'    => __( '&#8592; Return to library' ),
-		'allMediaItems'      => __( 'All media items' ),
-		'noItemsFound'       => __( 'No items found.' ),
-		'insertIntoPost'     => $hier ? __( 'Insert into page' ) : __( 'Insert into post' ),
-		'uploadedToThisPost' => $hier ? __( 'Uploaded to this page' ) : __( 'Uploaded to this post' ),
-		'warnDelete' =>      __( "You are about to permanently delete this item.\n  'Cancel' to stop, 'OK' to delete." ),
+		'mediaLibraryTitle'      => __( 'Media Library' ),
+		'insertMediaTitle'       => __( 'Insert Media' ),
+		'createNewGallery'       => __( 'Create a new gallery' ),
+		'createNewPlaylist'      => __( 'Create a new playlist' ),
+		'createNewVideoPlaylist' => __( 'Create a new video playlist' ),
+		'returnToLibrary'        => __( '&#8592; Return to library' ),
+		'allMediaItems'          => __( 'All media items' ),
+		'allMediaTypes'          => __( 'All media types' ),
+		'allDates'               => __( 'All dates' ),
+		'noItemsFound'           => __( 'No items found.' ),
+		'insertIntoPost'         => $hier ? __( 'Insert into page' ) : __( 'Insert into post' ),
+		'unattached'             => __( 'Unattached' ),
+		'trash'                  => __( 'Trash' ),
+		'uploadedToThisPost'     => $hier ? __( 'Uploaded to this page' ) : __( 'Uploaded to this post' ),
+		'warnDelete'             => __( "You are about to permanently delete this item.\n  'Cancel' to stop, 'OK' to delete." ),
+		'warnBulkDelete'         => __( "You are about to permanently delete these items.\n  'Cancel' to stop, 'OK' to delete." ),
+		'warnBulkTrash'          => __( "You are about to trash these items.\n  'Cancel' to stop, 'OK' to delete." ),
+		'bulkSelect'             => __( 'Bulk Select' ),
+		'cancelSelection'        => __( 'Cancel Selection' ),
+		'trashSelected'          => __( 'Trash Selected' ),
+		'untrashSelected'        => __( 'Untrash Selected' ),
+		'deleteSelected'         => __( 'Delete Selected' ),
+		'deletePermanently'      => __( 'Delete Permanently' ),
+		'apply'                  => __( 'Apply' ),
+		'filterByDate'           => __( 'Filter by date' ),
+		'filterByType'           => __( 'Filter by type' ),
+		'searchMediaLabel'       => __( 'Search Media' ),
+
+		// Library Details
+		'attachmentDetails'  => __( 'Attachment Details' ),
 
 		// From URL
 		'insertFromUrlTitle' => __( 'Insert from URL' ),
@@ -2858,6 +3017,10 @@ function wp_enqueue_media( $args = array() ) {
  		'updateVideoPlaylist'      => __( 'Update video playlist' ),
  		'addToVideoPlaylist'       => __( 'Add to video playlist' ),
  		'addToVideoPlaylistTitle'  => __( 'Add to Video Playlist' ),
+
+ 		// Media Library
+ 		'editMetadata' => __( 'Edit Metadata' ),
+ 		'noMedia'      => __( 'No media attachments found.' ),
 	);
 
 	/**
@@ -2882,9 +3045,11 @@ function wp_enqueue_media( $args = array() ) {
 
 	$strings['settings'] = $settings;
 
+	// Ensure we enqueue media-editor first, that way media-views is
+	// registered internally before we try to localize it. see #24724.
+	wp_enqueue_script( 'media-editor' );
 	wp_localize_script( 'media-views', '_wpMediaViewsL10n', $strings );
 
-	wp_enqueue_script( 'media-editor' );
 	wp_enqueue_script( 'media-audiovideo' );
 	wp_enqueue_style( 'media-views' );
 	if ( is_admin() ) {
@@ -2912,9 +3077,9 @@ function wp_enqueue_media( $args = array() ) {
  *
  * @since 3.6.0
  *
- * @param string $type (Mime) type of media desired
- * @param mixed $post Post ID or object
- * @return array Found attachments
+ * @param string      $type Mime type.
+ * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post.
+ * @return array Found attachments.
  */
 function get_attached_media( $type, $post = 0 ) {
 	if ( ! $post = get_post( $post ) )
@@ -2943,7 +3108,7 @@ function get_attached_media( $type, $post = 0 ) {
 	$children = get_children( $args );
 
 	/**
-	 * Filter the
+	 * Filter the list of media attached to the given post.
 	 *
 	 * @since 3.6.0
 	 *
@@ -3003,7 +3168,6 @@ function get_post_galleries( $post, $html = true ) {
 		foreach ( $matches as $shortcode ) {
 			if ( 'gallery' === $shortcode[2] ) {
 				$srcs = array();
-				$count = 1;
 
 				$gallery = do_shortcode_tag( $shortcode );
 				if ( $html ) {
@@ -3039,7 +3203,7 @@ function get_post_galleries( $post, $html = true ) {
  *
  * @since 3.6.0
  *
- * @param int|WP_Post $post Optional. Post ID or object.
+ * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post.
  * @param bool        $html Whether to return HTML or data.
  * @return string|array Gallery data and srcs parsed from the expanded shortcode.
  */
@@ -3064,8 +3228,8 @@ function get_post_gallery( $post = 0, $html = true ) {
  *
  * @since 3.6.0
  *
- * @param mixed $post Optional. Post ID or object.
- * @return array A list of lists, each containing image srcs parsed
+ * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post.
+ * @return array A list of lists, each containing image srcs parsed.
  *		from an expanded shortcode
  */
 function get_post_galleries_images( $post = 0 ) {
@@ -3078,8 +3242,8 @@ function get_post_galleries_images( $post = 0 ) {
  *
  * @since 3.6.0
  *
- * @param mixed $post Optional. Post ID or object.
- * @return array A list of a gallery's image srcs in order
+ * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post.
+ * @return array A list of a gallery's image srcs in order.
  */
 function get_post_gallery_images( $post = 0 ) {
 	$gallery = get_post_gallery( $post, false );
@@ -3110,3 +3274,46 @@ function wp_maybe_generate_attachment_metadata( $attachment ) {
 		}
 	}
 }
+
+/**
+ * Try to convert an attachment URL into a post ID.
+ *
+ * @since 4.0.0
+ *
+ * @global wpdb $wpdb WordPress database access abstraction object.
+ *
+ * @param string $url The URL to resolve.
+ * @return int The found post ID.
+ */
+function attachment_url_to_postid( $url ) {
+	global $wpdb;
+
+	$dir = wp_upload_dir();
+	$path = ltrim( $url, $dir['baseurl'] . '/' );
+
+	$sql = $wpdb->prepare(
+		"SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_wp_attached_file' AND meta_value = %s",
+		$path
+	);
+	$post_id = $wpdb->get_var( $sql );
+	if ( ! empty( $post_id ) ) {
+		return (int) $post_id;
+	}
+}
+
+/**
+ * Return the URls for CSS files used in an <iframe>-sandbox'd TinyMCE media view
+ *
+ * @since 4.0.0
+ *
+ * @global $wp_version
+ *
+ * @return array The relevant CSS file URLs.
+ */
+function wpview_media_sandbox_styles() {
+ 	$version = 'ver=' . $GLOBALS['wp_version'];
+ 	$mediaelement = includes_url( "js/mediaelement/mediaelementplayer.min.css?$version" );
+ 	$wpmediaelement = includes_url( "js/mediaelement/wp-mediaelement.css?$version" );
+
+	return array( $mediaelement, $wpmediaelement );
+}
diff --git a/wp-includes/meta.php b/wp-includes/meta.php
index 0f3aaa979..e3c43cffe 100644
--- a/wp-includes/meta.php
+++ b/wp-includes/meta.php
@@ -27,16 +27,21 @@
  * @return int|bool The meta ID on success, false on failure.
  */
 function add_metadata($meta_type, $object_id, $meta_key, $meta_value, $unique = false) {
-	if ( !$meta_type || !$meta_key )
-		return false;
+	global $wpdb;
 
-	if ( !$object_id = absint($object_id) )
+	if ( ! $meta_type || ! $meta_key || ! is_numeric( $object_id ) ) {
 		return false;
+	}
 
-	if ( ! $table = _get_meta_table($meta_type) )
+	$object_id = absint( $object_id );
+	if ( ! $object_id ) {
 		return false;
+	}
 
-	global $wpdb;
+	$table = _get_meta_table( $meta_type );
+	if ( ! $table ) {
+		return false;
+	}
 
 	$column = sanitize_key($meta_type . '_id');
 
@@ -134,16 +139,21 @@ function add_metadata($meta_type, $object_id, $meta_key, $meta_value, $unique =
  * @return int|bool Meta ID if the key didn't exist, true on successful update, false on failure.
  */
 function update_metadata($meta_type, $object_id, $meta_key, $meta_value, $prev_value = '') {
-	if ( !$meta_type || !$meta_key )
-		return false;
+	global $wpdb;
 
-	if ( !$object_id = absint($object_id) )
+	if ( ! $meta_type || ! $meta_key || ! is_numeric( $object_id ) ) {
 		return false;
+	}
 
-	if ( ! $table = _get_meta_table($meta_type) )
+	$object_id = absint( $object_id );
+	if ( ! $object_id ) {
 		return false;
+	}
 
-	global $wpdb;
+	$table = _get_meta_table( $meta_type );
+	if ( ! $table ) {
+		return false;
+	}
 
 	$column = sanitize_key($meta_type . '_id');
 	$id_column = 'user' == $meta_type ? 'umeta_id' : 'meta_id';
@@ -281,16 +291,21 @@ function update_metadata($meta_type, $object_id, $meta_key, $meta_value, $prev_v
  * @return bool True on successful delete, false on failure.
  */
 function delete_metadata($meta_type, $object_id, $meta_key, $meta_value = '', $delete_all = false) {
-	if ( !$meta_type || !$meta_key )
-		return false;
+	global $wpdb;
 
-	if ( (!$object_id = absint($object_id)) && !$delete_all )
+	if ( ! $meta_type || ! $meta_key || ! is_numeric( $object_id ) && ! $delete_all ) {
 		return false;
+	}
 
-	if ( ! $table = _get_meta_table($meta_type) )
+	$object_id = absint( $object_id );
+	if ( ! $object_id && ! $delete_all ) {
 		return false;
+	}
 
-	global $wpdb;
+	$table = _get_meta_table( $meta_type );
+	if ( ! $table ) {
+		return false;
+	}
 
 	$type_column = sanitize_key($meta_type . '_id');
 	$id_column = 'user' == $meta_type ? 'umeta_id' : 'meta_id';
@@ -423,11 +438,14 @@ function delete_metadata($meta_type, $object_id, $meta_key, $meta_value = '', $d
  * @return string|array Single metadata value, or array of values
  */
 function get_metadata($meta_type, $object_id, $meta_key = '', $single = false) {
-	if ( !$meta_type )
+	if ( ! $meta_type || ! is_numeric( $object_id ) ) {
 		return false;
+	}
 
-	if ( !$object_id = absint($object_id) )
+	$object_id = absint( $object_id );
+	if ( ! $object_id ) {
 		return false;
+	}
 
 	/**
 	 * Filter whether to retrieve metadata of a specific type.
@@ -487,11 +505,14 @@ function get_metadata($meta_type, $object_id, $meta_key = '', $single = false) {
  * @return boolean true of the key is set, false if not.
  */
 function metadata_exists( $meta_type, $object_id, $meta_key ) {
-	if ( ! $meta_type )
+	if ( ! $meta_type || ! is_numeric( $object_id ) ) {
 		return false;
+	}
 
-	if ( ! $object_id = absint( $object_id ) )
+	$object_id = absint( $object_id );
+	if ( ! $object_id ) {
 		return false;
+	}
 
 	/** This filter is documented in wp-includes/meta.php */
 	$check = apply_filters( "get_{$meta_type}_metadata", null, $object_id, $meta_key, true );
@@ -523,14 +544,19 @@ function metadata_exists( $meta_type, $object_id, $meta_key ) {
 function get_metadata_by_mid( $meta_type, $meta_id ) {
 	global $wpdb;
 
-	if ( ! $meta_type )
+	if ( ! $meta_type || ! is_numeric( $meta_id ) ) {
 		return false;
+	}
 
-	if ( !$meta_id = absint( $meta_id ) )
+	$meta_id = absint( $meta_id );
+	if ( ! $meta_id ) {
 		return false;
+	}
 
-	if ( ! $table = _get_meta_table($meta_type) )
+	$table = _get_meta_table( $meta_type );
+	if ( ! $table ) {
 		return false;
+	}
 
 	$id_column = ( 'user' == $meta_type ) ? 'umeta_id' : 'meta_id';
 
@@ -563,14 +589,19 @@ function update_metadata_by_mid( $meta_type, $meta_id, $meta_value, $meta_key =
 	global $wpdb;
 
 	// Make sure everything is valid.
-	if ( ! $meta_type )
+	if ( ! $meta_type || ! is_numeric( $meta_id ) ) {
 		return false;
+	}
 
-	if ( ! $meta_id = absint( $meta_id ) )
+	$meta_id = absint( $meta_id );
+	if ( ! $meta_id ) {
 		return false;
+	}
 
-	if ( ! $table = _get_meta_table( $meta_type ) )
+	$table = _get_meta_table( $meta_type );
+	if ( ! $table ) {
 		return false;
+	}
 
 	$column = sanitize_key($meta_type . '_id');
 	$id_column = 'user' == $meta_type ? 'umeta_id' : 'meta_id';
@@ -578,7 +609,6 @@ function update_metadata_by_mid( $meta_type, $meta_id, $meta_value, $meta_key =
 	// Fetch the meta and go on if it's found.
 	if ( $meta = get_metadata_by_mid( $meta_type, $meta_id ) ) {
 		$original_key = $meta->meta_key;
-		$original_value = $meta->meta_value;
 		$object_id = $meta->{$column};
 
 		// If a new meta_key (last parameter) was specified, change the meta key,
@@ -651,14 +681,19 @@ function delete_metadata_by_mid( $meta_type, $meta_id ) {
 	global $wpdb;
 
 	// Make sure everything is valid.
-	if ( ! $meta_type )
+	if ( ! $meta_type || ! is_numeric( $meta_id ) ) {
 		return false;
+	}
 
-	if ( ! $meta_id = absint( $meta_id ) )
+	$meta_id = absint( $meta_id );
+	if ( ! $meta_id ) {
 		return false;
+	}
 
-	if ( ! $table = _get_meta_table( $meta_type ) )
+	$table = _get_meta_table( $meta_type );
+	if ( ! $table ) {
 		return false;
+	}
 
 	// object and id columns
 	$column = sanitize_key($meta_type . '_id');
@@ -729,16 +764,19 @@ function delete_metadata_by_mid( $meta_type, $meta_id ) {
  * @return mixed Metadata cache for the specified objects, or false on failure.
  */
 function update_meta_cache($meta_type, $object_ids) {
-	if ( empty( $meta_type ) || empty( $object_ids ) )
+	global $wpdb;
+
+	if ( ! $meta_type || ! $object_ids ) {
 		return false;
+	}
 
-	if ( ! $table = _get_meta_table($meta_type) )
+	$table = _get_meta_table( $meta_type );
+	if ( ! $table ) {
 		return false;
+	}
 
 	$column = sanitize_key($meta_type . '_id');
 
-	global $wpdb;
-
 	if ( !is_array($object_ids) ) {
 		$object_ids = preg_replace('|[^0-9,]|', '', $object_ids);
 		$object_ids = explode(',', $object_ids);
@@ -848,7 +886,7 @@ class WP_Meta_Query {
 	 *
 	 * @param array $meta_query (optional) A meta query
 	 */
-	function __construct( $meta_query = false ) {
+	public function __construct( $meta_query = false ) {
 		if ( !$meta_query )
 			return;
 
@@ -876,7 +914,7 @@ class WP_Meta_Query {
 	 *
 	 * @param array $qv The query variables
 	 */
-	function parse_query_vars( $qv ) {
+	public function parse_query_vars( $qv ) {
 		$meta_query = array();
 
 		// Simple query needs to be first for orderby=meta_value to work correctly
@@ -904,7 +942,7 @@ class WP_Meta_Query {
 	 * @param string $type MySQL type to cast meta_value
 	 * @return string MySQL type
 	 */
-	function get_cast_for_type( $type = '' ) {
+	public function get_cast_for_type( $type = '' ) {
 		if ( empty( $type ) )
 			return 'CHAR';
 
@@ -931,7 +969,7 @@ class WP_Meta_Query {
 	 * @param object $context (optional) The main query object
 	 * @return array( 'join' => $join_sql, 'where' => $where_sql )
 	 */
-	function get_sql( $type, $primary_table, $primary_id_column, $context = null ) {
+	public function get_sql( $type, $primary_table, $primary_id_column, $context = null ) {
 		global $wpdb;
 
 		if ( ! $meta_table = _get_meta_table( $type ) )
@@ -1041,8 +1079,8 @@ class WP_Meta_Query {
 			} elseif ( 'BETWEEN' == substr( $meta_compare, -7) ) {
 				$meta_value = array_slice( $meta_value, 0, 2 );
 				$meta_compare_string = '%s AND %s';
-			} elseif ( 'LIKE' == substr( $meta_compare, -4 ) ) {
-				$meta_value = '%' . like_escape( $meta_value ) . '%';
+			} elseif ( 'LIKE' == $meta_compare || 'NOT LIKE' == $meta_compare ) {
+				$meta_value = '%' . $wpdb->esc_like( $meta_value ) . '%';
 				$meta_compare_string = '%s';
 			} else {
 				$meta_compare_string = '%s';
diff --git a/wp-includes/ms-blogs.php b/wp-includes/ms-blogs.php
index 16a491818..e70165653 100644
--- a/wp-includes/ms-blogs.php
+++ b/wp-includes/ms-blogs.php
@@ -235,10 +235,14 @@ function get_blog_details( $fields = null, $get_all = true ) {
  *
  * @since MU
  *
- * @param int $blog_id Blog ID
+ * @param int $blog_id Optional. Blog ID. Defaults to current blog.
  */
-function refresh_blog_details( $blog_id ) {
+function refresh_blog_details( $blog_id = 0 ) {
 	$blog_id = (int) $blog_id;
+	if ( ! $blog_id ) {
+		$blog_id = get_current_blog_id();
+	}
+
 	$details = get_blog_details( $blog_id, false );
 	if ( ! $details ) {
 		// Make sure clean_blog_cache() gets the blog ID
@@ -861,11 +865,13 @@ function get_last_updated( $deprecated = '', $start = 0, $quantity = 40 ) {
  */
 function _update_blog_date_on_post_publish( $new_status, $old_status, $post ) {
 	$post_type_obj = get_post_type_object( $post->post_type );
-	if ( ! $post_type_obj->public )
+	if ( ! $post_type_obj || ! $post_type_obj->public ) {
 		return;
+	}
 
-	if ( 'publish' != $new_status && 'publish' != $old_status )
+	if ( 'publish' != $new_status && 'publish' != $old_status ) {
 		return;
+	}
 
 	// Post was freshly published, published post was saved, or published post was unpublished.
 
@@ -883,12 +889,51 @@ function _update_blog_date_on_post_delete( $post_id ) {
 	$post = get_post( $post_id );
 
 	$post_type_obj = get_post_type_object( $post->post_type );
-	if ( ! $post_type_obj->public )
+	if ( ! $post_type_obj || ! $post_type_obj->public ) {
 		return;
+	}
 
-	if ( 'publish' != $post->post_status )
+	if ( 'publish' != $post->post_status ) {
 		return;
+	}
 
 	wpmu_update_blogs_date();
 }
 
+/**
+ * Handler for updating the blog posts count date when a post is deleted.
+ *
+ * @since 4.0.0
+ *
+ * @param int $post_id Post ID.
+ */
+function _update_posts_count_on_delete( $post_id ) {
+	$post = get_post( $post_id );
+
+	if ( ! $post || 'publish' !== $post->post_status ) {
+		return;
+	}
+
+	update_posts_count();
+}
+
+/**
+ * Handler for updating the blog posts count date when a post status changes.
+ *
+ * @since 4.0.0
+ *
+ * @param string $new_status The status the post is changing to.
+ * @param string $old_status The status the post is changing from.
+ */
+function _update_posts_count_on_transition_post_status( $new_status, $old_status ) {
+	if ( $new_status === $old_status ) {
+		return;
+	}
+
+	if ( 'publish' !== $new_status && 'publish' !== $old_status ) {
+		return;
+	}
+
+	update_posts_count();
+}
+
diff --git a/wp-includes/ms-default-constants.php b/wp-includes/ms-default-constants.php
index 8cbd2c35a..0f7d0ff6d 100644
--- a/wp-includes/ms-default-constants.php
+++ b/wp-includes/ms-default-constants.php
@@ -116,15 +116,16 @@ function ms_file_constants() {
  * @since 3.0.0
  */
 function ms_subdomain_constants() {
-	static $error = null;
-	static $error_warn = false;
+	static $subdomain_error = null;
+	static $subdomain_error_warn = null;
 
-	if ( false === $error )
+	if ( false === $subdomain_error ) {
 		return;
+	}
 
-	if ( $error ) {
+	if ( $subdomain_error ) {
 		$vhost_deprecated = __( 'The constant <code>VHOST</code> <strong>is deprecated</strong>. Use the boolean constant <code>SUBDOMAIN_INSTALL</code> in wp-config.php to enable a subdomain configuration. Use is_subdomain_install() to check whether a subdomain configuration is enabled.' );
-		if ( $error_warn ) {
+		if ( $subdomain_error_warn ) {
 			trigger_error( __( '<strong>Conflicting values for the constants VHOST and SUBDOMAIN_INSTALL.</strong> The value of SUBDOMAIN_INSTALL will be assumed to be your subdomain configuration setting.' ) . ' ' . $vhost_deprecated, E_USER_WARNING );
 		} else {
 	 		_deprecated_argument( 'define()', '3.0', $vhost_deprecated );
@@ -133,17 +134,18 @@ function ms_subdomain_constants() {
 	}
 
 	if ( defined( 'SUBDOMAIN_INSTALL' ) && defined( 'VHOST' ) ) {
-		if ( SUBDOMAIN_INSTALL == ( 'yes' == VHOST ) ) {
-			$error = true;
-		} else {
-			$error = $error_warn = true;
+		$subdomain_error = true;
+		if ( SUBDOMAIN_INSTALL !== ( 'yes' == VHOST ) ) {
+			$subdomain_error_warn = true;
 		}
 	} elseif ( defined( 'SUBDOMAIN_INSTALL' ) ) {
+		$subdomain_error = false;
 		define( 'VHOST', SUBDOMAIN_INSTALL ? 'yes' : 'no' );
 	} elseif ( defined( 'VHOST' ) ) {
-		$error = true;
+		$subdomain_error = true;
 		define( 'SUBDOMAIN_INSTALL', 'yes' == VHOST );
 	} else {
+		$subdomain_error = false;
 		define( 'SUBDOMAIN_INSTALL', false );
 		define( 'VHOST', 'no' );
 	}
diff --git a/wp-includes/ms-default-filters.php b/wp-includes/ms-default-filters.php
index 759c81f0e..7481ec9a0 100644
--- a/wp-includes/ms-default-filters.php
+++ b/wp-includes/ms-default-filters.php
@@ -34,9 +34,10 @@ add_filter( 'allowed_redirect_hosts', 'redirect_this_site' );
 
 // Administration
 add_filter( 'term_id_filter', 'global_terms', 10, 2 );
-add_action( 'publish_post', 'update_posts_count' );
+add_action( 'delete_post', '_update_posts_count_on_delete' );
 add_action( 'delete_post', '_update_blog_date_on_post_delete' );
 add_action( 'transition_post_status', '_update_blog_date_on_post_publish', 10, 3 );
+add_action( 'transition_post_status', '_update_posts_count_on_transition_post_status', 10, 2 );
 
 // Counts
 add_action( 'admin_init', 'wp_schedule_update_network_counts');
@@ -69,6 +70,11 @@ add_filter( 'force_filtered_html_on_import', '__return_true' );
 remove_filter( 'option_siteurl', '_config_wp_siteurl' );
 remove_filter( 'option_home',    '_config_wp_home'    );
 
+// Some options changes should trigger blog details refresh.
+add_action( 'update_option_blogname',   'refresh_blog_details', 10, 0 );
+add_action( 'update_option_siteurl',    'refresh_blog_details', 10, 0 );
+add_action( 'update_option_post_count', 'refresh_blog_details', 10, 0 );
+
 // If the network upgrade hasn't run yet, assume ms-files.php rewriting is used.
 add_filter( 'default_site_option_ms_files_rewriting', '__return_true' );
 
diff --git a/wp-includes/ms-functions.php b/wp-includes/ms-functions.php
index 431ba070a..6d7a2fbd5 100644
--- a/wp-includes/ms-functions.php
+++ b/wp-includes/ms-functions.php
@@ -1761,7 +1761,7 @@ function check_upload_mimes( $mimes ) {
  * WordPress MS stores a blog's post count as an option so as
  * to avoid extraneous COUNTs when a blog's details are fetched
  * with get_blog_details(). This function is called when posts
- * are published to make sure the count stays current.
+ * are published or unpublished to make sure the count stays current.
  *
  * @since MU
  */
@@ -2078,11 +2078,9 @@ function is_user_option_local( $key, $user_id = 0, $blog_id = 0 ) {
 	global $wpdb;
 
 	$current_user = wp_get_current_user();
-	if ( $user_id == 0 )
-		$user_id = $current_user->ID;
-	if ( $blog_id == 0 )
+	if ( $blog_id == 0 ) {
 		$blog_id = $wpdb->blogid;
-
+	}
 	$local_key = $wpdb->get_blog_prefix( $blog_id ) . $key;
 
 	if ( isset( $current_user->$local_key ) )
diff --git a/wp-includes/ms-load.php b/wp-includes/ms-load.php
index 66047bcc0..a202034b8 100644
--- a/wp-includes/ms-load.php
+++ b/wp-includes/ms-load.php
@@ -92,7 +92,7 @@ function ms_site_check() {
 		if ( file_exists( WP_CONTENT_DIR . '/blog-deleted.php' ) )
 			return WP_CONTENT_DIR . '/blog-deleted.php';
 		else
-			wp_die( __( 'This user has elected to delete their account and the content is no longer available.' ), '', array( 'response' => 410 ) );
+			wp_die( __( 'This site is no longer available.' ), '', array( 'response' => 410 ) );
 	}
 
 	if ( '2' == $blog->deleted ) {
@@ -125,7 +125,7 @@ function ms_site_check() {
 function get_network_by_path( $domain, $path, $segments = null ) {
 	global $wpdb;
 
-	$domains = $exact_domains = array( $domain );
+	$domains = array( $domain );
 	$pieces = explode( '.', $domain );
 
 	/*
@@ -397,14 +397,17 @@ function ms_not_installed() {
 
 	$title = __( 'Error establishing a database connection' );
 	$msg  = '<h1>' . $title . '</h1>';
-	if ( ! is_admin() )
+	if ( ! is_admin() ) {
 		die( $msg );
+	}
 	$msg .= '<p>' . __( 'If your site does not display, please contact the owner of this network.' ) . '';
 	$msg .= ' ' . __( 'If you are the owner of this network please check that MySQL is running properly and all tables are error free.' ) . '</p>';
-	if ( ! $wpdb->get_var( "SHOW TABLES LIKE '$wpdb->site'" ) )
+	$query = $wpdb->prepare( "SHOW TABLES LIKE %s", $wpdb->esc_like( $wpdb->site ) );
+	if ( ! $wpdb->get_var( $query ) ) {
 		$msg .= '<p>' . sprintf( __( '<strong>Database tables are missing.</strong> This means that MySQL is not running, WordPress was not installed properly, or someone deleted <code>%s</code>. You really should look at your database now.' ), $wpdb->site ) . '</p>';
-	else
+	} else {
 		$msg .= '<p>' . sprintf( __( '<strong>Could not find site <code>%1$s</code>.</strong> Searched for table <code>%2$s</code> in database <code>%3$s</code>. Is that right?' ), rtrim( $domain . $path, '/' ), $wpdb->blogs, DB_NAME ) . '</p>';
+	}
 	$msg .= '<p><strong>' . __( 'What do I do now?' ) . '</strong> ';
 	$msg .= __( 'Read the <a target="_blank" href="http://codex.wordpress.org/Debugging_a_WordPress_Network">bug report</a> page. Some of the guidelines there may help you figure out what went wrong.' );
 	$msg .= ' ' . __( 'If you&#8217;re still stuck with this message, then check that your database contains the following tables:' ) . '</p><ul>';
@@ -426,13 +429,13 @@ function ms_not_installed() {
  *
  * @access private
  * @since 3.0.0
- * @deprecated 3.9.0
+ * @deprecated 3.9.0 Use get_current_site() instead.
  *
  * @param object $current_site
  * @return object
  */
 function get_current_site_name( $current_site ) {
-	_deprecated_function( __FUNCTION__, '3.9' );
+	_deprecated_function( __FUNCTION__, '3.9', 'get_current_site()' );
 	return $current_site;
 }
 
diff --git a/wp-includes/ms-settings.php b/wp-includes/ms-settings.php
index d4383d3b9..7b35e7616 100644
--- a/wp-includes/ms-settings.php
+++ b/wp-includes/ms-settings.php
@@ -11,11 +11,12 @@
  */
 
 /** Include Multisite initialization functions */
-require( ABSPATH . WPINC . '/ms-load.php' );
-require( ABSPATH . WPINC . '/ms-default-constants.php' );
+require_once( ABSPATH . WPINC . '/ms-load.php' );
+require_once( ABSPATH . WPINC . '/ms-default-constants.php' );
 
-if ( defined( 'SUNRISE' ) )
+if ( defined( 'SUNRISE' ) ) {
 	include_once( WP_CONTENT_DIR . '/sunrise.php' );
+}
 
 /** Check for and define SUBDOMAIN_INSTALL and the deprecated VHOST constant. */
 ms_subdomain_constants();
diff --git a/wp-includes/nav-menu-template.php b/wp-includes/nav-menu-template.php
index b1b8db1ed..4d380a25e 100644
--- a/wp-includes/nav-menu-template.php
+++ b/wp-includes/nav-menu-template.php
@@ -21,7 +21,7 @@ class Walker_Nav_Menu extends Walker {
 	 * @since 3.0.0
 	 * @var string
 	 */
-	var $tree_type = array( 'post_type', 'taxonomy', 'custom' );
+	public $tree_type = array( 'post_type', 'taxonomy', 'custom' );
 
 	/**
 	 * Database fields to use.
@@ -31,7 +31,7 @@ class Walker_Nav_Menu extends Walker {
 	 * @todo Decouple this.
 	 * @var array
 	 */
-	var $db_fields = array( 'parent' => 'menu_item_parent', 'id' => 'db_id' );
+	public $db_fields = array( 'parent' => 'menu_item_parent', 'id' => 'db_id' );
 
 	/**
 	 * Starts the list before the elements are added.
@@ -44,7 +44,7 @@ class Walker_Nav_Menu extends Walker {
 	 * @param int    $depth  Depth of menu item. Used for padding.
 	 * @param array  $args   An array of arguments. @see wp_nav_menu()
 	 */
-	function start_lvl( &$output, $depth = 0, $args = array() ) {
+	public function start_lvl( &$output, $depth = 0, $args = array() ) {
 		$indent = str_repeat("\t", $depth);
 		$output .= "\n$indent<ul class=\"sub-menu\">\n";
 	}
@@ -60,7 +60,7 @@ class Walker_Nav_Menu extends Walker {
 	 * @param int    $depth  Depth of menu item. Used for padding.
 	 * @param array  $args   An array of arguments. @see wp_nav_menu()
 	 */
-	function end_lvl( &$output, $depth = 0, $args = array() ) {
+	public function end_lvl( &$output, $depth = 0, $args = array() ) {
 		$indent = str_repeat("\t", $depth);
 		$output .= "$indent</ul>\n";
 	}
@@ -78,11 +78,9 @@ class Walker_Nav_Menu extends Walker {
 	 * @param array  $args   An array of arguments. @see wp_nav_menu()
 	 * @param int    $id     Current item ID.
 	 */
-	function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
+	public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
 		$indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
 
-		$class_names = '';
-
 		$classes = empty( $item->classes ) ? array() : (array) $item->classes;
 		$classes[] = 'menu-item-' . $item->ID;
 
@@ -188,7 +186,7 @@ class Walker_Nav_Menu extends Walker {
 	 * @param int    $depth  Depth of page. Not Used.
 	 * @param array  $args   An array of arguments. @see wp_nav_menu()
 	 */
-	function end_el( &$output, $item, $depth = 0, $args = array() ) {
+	public function end_el( &$output, $item, $depth = 0, $args = array() ) {
 		$output .= "</li>\n";
 	}
 
@@ -217,7 +215,7 @@ class Walker_Nav_Menu extends Walker {
  *     @type string        $link_after      Text after the link. Default empty.
  *     @type bool          $echo            Whether to echo the menu or return it. Default true.
  *     @type int           $depth           How many levels of the hierarchy are to be included. 0 means all. Default 0.
- *     @type string        $walker          Allows a custom walker class to be specified. Default empty.
+ *     @type object        $walker          Instance of a custom walker class. Default empty.
  *     @type string        $theme_location  Theme location to be used. Must be registered with register_nav_menu()
  *                                          in order to be selectable by the user.
  *     @type string        $items_wrap      How the list items should be wrapped. Default is a ul with an id and class.
@@ -279,7 +277,7 @@ function wp_nav_menu( $args = array() ) {
 
 	// get the first menu that has items if we still can't find a menu
 	if ( ! $menu && !$args->theme_location ) {
-		$menus = wp_get_nav_menus();
+		$menus = wp_get_nav_menus( array( 'orderby' => 'name' ) );
 		foreach ( $menus as $menu_maybe ) {
 			if ( $menu_items = wp_get_nav_menu_items( $menu_maybe->term_id, array( 'update_post_term_cache' => false ) ) ) {
 				$menu = $menu_maybe;
@@ -353,7 +351,8 @@ function wp_nav_menu( $args = array() ) {
 	 *
 	 * @since 3.1.0
 	 *
-	 * @param array $sorted_menu_items The menu items, sorted by each menu item's menu order.
+	 * @param array  $sorted_menu_items The menu items, sorted by each menu item's menu order.
+	 * @param object $args              An object containing wp_nav_menu() arguments.
 	 */
 	$sorted_menu_items = apply_filters( 'wp_nav_menu_objects', $sorted_menu_items, $args );
 
@@ -384,7 +383,7 @@ function wp_nav_menu( $args = array() ) {
 	 * @see wp_nav_menu()
 	 *
 	 * @param string $items The HTML list content for the menu items.
-	 * @param array  $args  Array of wp_nav_menu() arguments.
+	 * @param object $args  An object containing wp_nav_menu() arguments.
 	 */
 	$items = apply_filters( 'wp_nav_menu_items', $items, $args );
 	/**
@@ -395,7 +394,7 @@ function wp_nav_menu( $args = array() ) {
 	 * @see wp_nav_menu()
 	 *
 	 * @param string $items The HTML list content for the menu items.
-	 * @param array  $args  Array of wp_nav_menu() arguments.
+	 * @param object $args  An object containing wp_nav_menu() arguments.
 	 */
 	$items = apply_filters( "wp_nav_menu_{$menu->slug}_items", $items, $args );
 
@@ -417,7 +416,7 @@ function wp_nav_menu( $args = array() ) {
 	 * @see wp_nav_menu()
 	 *
 	 * @param string $nav_menu The HTML content for the navigation menu.
-	 * @param array  $args     Array of wp_nav_menu() arguments.
+	 * @param object $args     An object containing wp_nav_menu() arguments.
 	 */
 	$nav_menu = apply_filters( 'wp_nav_menu', $nav_menu, $args );
 
diff --git a/wp-includes/nav-menu.php b/wp-includes/nav-menu.php
index 46a6b2b7f..782ecca89 100644
--- a/wp-includes/nav-menu.php
+++ b/wp-includes/nav-menu.php
@@ -15,7 +15,7 @@
  * @uses get_term
  * @uses get_term_by
  *
- * @param string $menu Menu id, slug or name
+ * @param string $menu Menu ID, slug, or name.
  * @return mixed false if $menu param isn't supplied or term does not exist, menu object if successful.
  */
 function wp_get_nav_menu_object( $menu ) {
@@ -43,7 +43,7 @@ function wp_get_nav_menu_object( $menu ) {
  *
  * @since 3.0.0
  *
- * @param int|string $menu The menu to check (id, slug, or name)
+ * @param int|string $menu The menu to check (ID, slug, or name).
  * @return bool Whether the menu exists.
  */
 function is_nav_menu( $menu ) {
@@ -142,6 +142,12 @@ function get_nav_menu_locations() {
  * @return bool Whether location has a menu.
  */
 function has_nav_menu( $location ) {
+	global $_wp_registered_nav_menus;
+
+	if ( ! isset( $_wp_registered_nav_menus[ $location ] ) ) {
+		return false;
+	}
+
 	$locations = get_nav_menu_locations();
 	return ( ! empty( $locations[ $location ] ) );
 }
@@ -163,8 +169,8 @@ function is_nav_menu_item( $menu_item_id = 0 ) {
  *
  * @since 3.0.0
  *
- * @param string $menu_name Menu Name
- * @return mixed Menu object on success|WP_Error on failure
+ * @param string $menu_name Menu name.
+ * @return int|WP_Error Menu ID on success, WP_Error object on failure.
  */
 function wp_create_nav_menu( $menu_name ) {
 	return wp_update_nav_menu_object( 0, array( 'menu-name' => $menu_name ) );
@@ -175,8 +181,8 @@ function wp_create_nav_menu( $menu_name ) {
  *
  * @since 3.0.0
  *
- * @param string $menu name|id|slug
- * @return mixed Menu object on success|WP_Error on failure
+ * @param string $menu Menu ID, slug, or name.
+ * @return bool|WP_Error True on success, false or WP_Error object on failure.
  */
 function wp_delete_nav_menu( $menu ) {
 	$menu = wp_get_nav_menu_object( $menu );
@@ -221,7 +227,7 @@ function wp_delete_nav_menu( $menu ) {
  *
  * @param int $menu_id The ID of the menu or "0" to create a new menu.
  * @param array $menu_data The array of menu data.
- * @return int|WP_Error object The menu's ID or WP_Error object.
+ * @return int|WP_Error Menu ID on success, WP_Error object on failure.
  */
 function wp_update_nav_menu_object( $menu_id = 0, $menu_data = array() ) {
 	$menu_id = (int) $menu_id;
@@ -547,10 +553,7 @@ function wp_get_nav_menu_items( $menu, $args = array() ) {
 	$defaults = array( 'order' => 'ASC', 'orderby' => 'menu_order', 'post_type' => 'nav_menu_item',
 		'post_status' => 'publish', 'output' => ARRAY_A, 'output_key' => 'menu_order', 'nopaging' => true );
 	$args = wp_parse_args( $args, $defaults );
-	if ( count( $items ) > 1 )
-		$args['include'] = implode( ',', $items );
-	else
-		$args['include'] = $items[0];
+	$args['include'] = $items;
 
 	$items = get_posts( $args );
 
diff --git a/wp-includes/option.php b/wp-includes/option.php
index 4cc8c28fa..c6417dbea 100644
--- a/wp-includes/option.php
+++ b/wp-includes/option.php
@@ -551,13 +551,13 @@ function delete_transient( $transient ) {
 /**
  * Get the value of a transient.
  *
- * If the transient does not exist or does not have a value, then the return value
- * will be false.
+ * If the transient does not exist, does not have a value, or has expired,
+ * then the return value will be false.
  *
  * @since 2.8.0
  *
- * @param string $transient Transient name. Expected to not be SQL-escaped
- * @return mixed Value of transient
+ * @param string $transient Transient name. Expected to not be SQL-escaped.
+ * @return mixed Value of transient.
  */
 function get_transient( $transient ) {
 
@@ -620,9 +620,11 @@ function get_transient( $transient ) {
  *
  * @since 2.8.0
  *
- * @param string $transient Transient name. Expected to not be SQL-escaped.
- * @param mixed $value Transient value. Must be serializable if non-scalar. Expected to not be SQL-escaped.
- * @param int $expiration Time until expiration in seconds, default 0
+ * @param string $transient  Transient name. Expected to not be SQL-escaped. Must be
+ *                           45 characters or fewer in length.
+ * @param mixed  $value      Transient value. Must be serializable if non-scalar.
+ *                           Expected to not be SQL-escaped.
+ * @param int    $expiration Optional. Time until expiration in seconds. Default 0.
  * @return bool False if value was not set and true if value was set.
  */
 function set_transient( $transient, $value, $expiration = 0 ) {
@@ -711,17 +713,17 @@ function set_transient( $transient, $value, $expiration = 0 ) {
  */
 function wp_user_settings() {
 
-	if ( ! is_admin() )
-		return;
-
-	if ( defined('DOING_AJAX') )
+	if ( ! is_admin() || defined( 'DOING_AJAX' ) ) {
 		return;
+	}
 
-	if ( ! $user_id = get_current_user_id() )
+	if ( ! $user_id = get_current_user_id() ) {
 		return;
+	}
 
-	if ( is_super_admin() && ! is_user_member_of_blog() )
+	if ( is_super_admin() && ! is_user_member_of_blog() ) {
 		return;
+	}
 
 	$settings = (string) get_user_option( 'user-settings', $user_id );
 
@@ -744,8 +746,9 @@ function wp_user_settings() {
 	}
 
 	// The cookie is not set in the current browser or the saved value is newer.
-	setcookie( 'wp-settings-' . $user_id, $settings, time() + YEAR_IN_SECONDS, SITECOOKIEPATH );
-	setcookie( 'wp-settings-time-' . $user_id, time(), time() + YEAR_IN_SECONDS, SITECOOKIEPATH );
+	$secure = ( 'https' === parse_url( site_url(), PHP_URL_SCHEME ) );
+	setcookie( 'wp-settings-' . $user_id, $settings, time() + YEAR_IN_SECONDS, SITECOOKIEPATH, null, $secure );
+	setcookie( 'wp-settings-time-' . $user_id, time(), time() + YEAR_IN_SECONDS, SITECOOKIEPATH, null, $secure );
 	$_COOKIE['wp-settings-' . $user_id] = $settings;
 }
 
@@ -778,8 +781,9 @@ function get_user_setting( $name, $default = false ) {
  */
 function set_user_setting( $name, $value ) {
 
-	if ( headers_sent() )
+	if ( headers_sent() ) {
 		return false;
+	}
 
 	$all_user_settings = get_all_user_settings();
 	$all_user_settings[$name] = $value;
@@ -800,8 +804,9 @@ function set_user_setting( $name, $value ) {
  */
 function delete_user_setting( $names ) {
 
-	if ( headers_sent() )
+	if ( headers_sent() ) {
 		return false;
+	}
 
 	$all_user_settings = get_all_user_settings();
 	$names = (array) $names;
@@ -814,8 +819,9 @@ function delete_user_setting( $names ) {
 		}
 	}
 
-	if ( $deleted )
+	if ( $deleted ) {
 		return wp_set_all_user_settings( $all_user_settings );
+	}
 
 	return false;
 }
@@ -830,23 +836,28 @@ function delete_user_setting( $names ) {
 function get_all_user_settings() {
 	global $_updated_user_settings;
 
-	if ( ! $user_id = get_current_user_id() )
+	if ( ! $user_id = get_current_user_id() ) {
 		return array();
+	}
 
-	if ( isset( $_updated_user_settings ) && is_array( $_updated_user_settings ) )
+	if ( isset( $_updated_user_settings ) && is_array( $_updated_user_settings ) ) {
 		return $_updated_user_settings;
+	}
 
 	$user_settings = array();
+
 	if ( isset( $_COOKIE['wp-settings-' . $user_id] ) ) {
 		$cookie = preg_replace( '/[^A-Za-z0-9=&_]/', '', $_COOKIE['wp-settings-' . $user_id] );
 
-		if ( $cookie && strpos( $cookie, '=' ) ) // '=' cannot be 1st char
+		if ( strpos( $cookie, '=' ) ) { // '=' cannot be 1st char
 			parse_str( $cookie, $user_settings );
-
+		}
 	} else {
 		$option = get_user_option( 'user-settings', $user_id );
-		if ( $option && is_string($option) )
+
+		if ( $option && is_string( $option ) ) {
 			parse_str( $option, $user_settings );
+		}
 	}
 
 	$_updated_user_settings = $user_settings;
@@ -864,22 +875,25 @@ function get_all_user_settings() {
 function wp_set_all_user_settings( $user_settings ) {
 	global $_updated_user_settings;
 
-	if ( ! $user_id = get_current_user_id() )
+	if ( ! $user_id = get_current_user_id() ) {
 		return false;
+	}
 
-	if ( is_super_admin() && ! is_user_member_of_blog() )
+	if ( is_super_admin() && ! is_user_member_of_blog() ) {
 		return;
+	}
 
 	$settings = '';
 	foreach ( $user_settings as $name => $value ) {
 		$_name = preg_replace( '/[^A-Za-z0-9_]+/', '', $name );
 		$_value = preg_replace( '/[^A-Za-z0-9_]+/', '', $value );
 
-		if ( ! empty( $_name ) )
+		if ( ! empty( $_name ) ) {
 			$settings .= $_name . '=' . $_value . '&';
+		}
 	}
 
-	$settings = rtrim($settings, '&');
+	$settings = rtrim( $settings, '&' );
 	parse_str( $settings, $_updated_user_settings );
 
 	update_user_option( $user_id, 'user-settings', $settings, false );
@@ -894,11 +908,12 @@ function wp_set_all_user_settings( $user_settings ) {
  * @since 2.7.0
  */
 function delete_all_user_settings() {
-	if ( ! $user_id = get_current_user_id() )
+	if ( ! $user_id = get_current_user_id() ) {
 		return;
+	}
 
 	update_user_option( $user_id, 'user-settings', '', false );
-	setcookie('wp-settings-' . $user_id, ' ', time() - YEAR_IN_SECONDS, SITECOOKIEPATH);
+	setcookie( 'wp-settings-' . $user_id, ' ', time() - YEAR_IN_SECONDS, SITECOOKIEPATH );
 }
 
 /**
@@ -1287,15 +1302,15 @@ function delete_site_transient( $transient ) {
 /**
  * Get the value of a site transient.
  *
- * If the transient does not exist or does not have a value, then the return value
- * will be false.
+ * If the transient does not exist, does not have a value, or has expired,
+ * then the return value will be false.
  *
  * @since 2.9.0
  *
  * @see get_transient()
  *
  * @param string $transient Transient name. Expected to not be SQL-escaped.
- * @return mixed Value of transient
+ * @return mixed Value of transient.
  */
 function get_site_transient( $transient ) {
 
@@ -1360,9 +1375,10 @@ function get_site_transient( $transient ) {
  *
  * @see set_transient()
  *
- * @param string $transient Transient name. Expected to not be SQL-escaped.
- * @param mixed $value Transient value. Expected to not be SQL-escaped.
- * @param int $expiration Time until expiration in seconds, default 0
+ * @param string $transient  Transient name. Expected to not be SQL-escaped. Must be
+ *                           40 characters or fewer in length.
+ * @param mixed  $value      Transient value. Expected to not be SQL-escaped.
+ * @param int    $expiration Optional. Time until expiration in seconds. Default 0.
  * @return bool False if value was not set and true if value was set.
  */
 function set_site_transient( $transient, $value, $expiration = 0 ) {
diff --git a/wp-includes/pluggable.php b/wp-includes/pluggable.php
index dae13a4ae..872da82ad 100644
--- a/wp-includes/pluggable.php
+++ b/wp-includes/pluggable.php
@@ -233,11 +233,31 @@ function wp_mail( $to, $subject, $message, $headers = '', $attachments = array()
 	 * @param array $args A compacted array of wp_mail() arguments, including the "to" email,
 	 *                    subject, message, headers, and attachments values.
 	 */
-	extract( apply_filters( 'wp_mail', compact( 'to', 'subject', 'message', 'headers', 'attachments' ) ) );
+	$atts = apply_filters( 'wp_mail', compact( 'to', 'subject', 'message', 'headers', 'attachments' ) );
 
-	if ( !is_array($attachments) )
-		$attachments = explode( "\n", str_replace( "\r\n", "\n", $attachments ) );
+	if ( isset( $atts['to'] ) ) {
+		$to = $atts['to'];
+	}
+
+	if ( isset( $atts['subject'] ) ) {
+		$subject = $atts['subject'];
+	}
 
+	if ( isset( $atts['message'] ) ) {
+		$message = $atts['message'];
+	}
+
+	if ( isset( $atts['headers'] ) ) {
+		$headers = $atts['headers'];
+	}
+
+	if ( isset( $atts['attachments'] ) ) {
+		$attachments = $atts['attachments'];
+	}
+
+	if ( ! is_array( $attachments ) ) {
+		$attachments = explode( "\n", str_replace( "\r\n", "\n", $attachments ) );
+	}
 	global $phpmailer;
 
 	// (Re)create it, if it's gone missing
@@ -566,6 +586,7 @@ if ( !function_exists('wp_logout') ) :
  * @since 2.5.0
  */
 function wp_logout() {
+	wp_destroy_current_session();
 	wp_clear_auth_cookie();
 
 	/**
@@ -608,13 +629,16 @@ function wp_validate_auth_cookie($cookie = '', $scheme = '') {
 		return false;
 	}
 
-	extract($cookie_elements, EXTR_OVERWRITE);
-
-	$expired = $expiration;
+	$scheme = $cookie_elements['scheme'];
+	$username = $cookie_elements['username'];
+	$hmac = $cookie_elements['hmac'];
+	$token = $cookie_elements['token'];
+	$expired = $expiration = $cookie_elements['expiration'];
 
 	// Allow a grace period for POST and AJAX requests
-	if ( defined('DOING_AJAX') || 'POST' == $_SERVER['REQUEST_METHOD'] )
+	if ( defined('DOING_AJAX') || 'POST' == $_SERVER['REQUEST_METHOD'] ) {
 		$expired += HOUR_IN_SECONDS;
+	}
 
 	// Quick check to see if an honest cookie has expired
 	if ( $expired < time() ) {
@@ -644,8 +668,8 @@ function wp_validate_auth_cookie($cookie = '', $scheme = '') {
 
 	$pass_frag = substr($user->user_pass, 8, 4);
 
-	$key = wp_hash($username . $pass_frag . '|' . $expiration, $scheme);
-	$hash = hash_hmac('md5', $username . '|' . $expiration, $key);
+	$key = wp_hash( $username . '|' . $pass_frag . '|' . $expiration . '|' . $token, $scheme );
+	$hash = hash_hmac( 'sha256', $username . '|' . $expiration . '|' . $token, $key );
 
 	if ( ! hash_equals( $hash, $hmac ) ) {
 		/**
@@ -659,8 +683,16 @@ function wp_validate_auth_cookie($cookie = '', $scheme = '') {
 		return false;
 	}
 
-	if ( $expiration < time() ) // AJAX/POST grace period set above
+	$manager = WP_Session_Tokens::get_instance( $user->ID );
+	if ( ! $manager->verify( $token ) ) {
+		do_action( 'auth_cookie_bad_session_token', $cookie_elements );
+		return false;
+	}
+
+	// AJAX/POST grace period set above
+	if ( $expiration < time() ) {
 		$GLOBALS['login_grace_period'] = 1;
+	}
 
 	/**
 	 * Fires once an authentication cookie has been validated.
@@ -685,17 +717,26 @@ if ( !function_exists('wp_generate_auth_cookie') ) :
  * @param int $user_id User ID
  * @param int $expiration Cookie expiration in seconds
  * @param string $scheme Optional. The cookie scheme to use: auth, secure_auth, or logged_in
- * @return string Authentication cookie contents
+ * @param string $token User's session token to use for this cookie
+ * @return string Authentication cookie contents. Empty string if user does not exist.
  */
-function wp_generate_auth_cookie($user_id, $expiration, $scheme = 'auth') {
+function wp_generate_auth_cookie( $user_id, $expiration, $scheme = 'auth', $token = '' ) {
 	$user = get_userdata($user_id);
+	if ( ! $user ) {
+		return '';
+	}
+
+	if ( ! $token ) {
+		$manager = WP_Session_Tokens::get_instance( $user_id );
+		$token = $manager->create( $expiration );
+	}
 
 	$pass_frag = substr($user->user_pass, 8, 4);
 
-	$key = wp_hash($user->user_login . $pass_frag . '|' . $expiration, $scheme);
-	$hash = hash_hmac('md5', $user->user_login . '|' . $expiration, $key);
+	$key = wp_hash( $user->user_login . '|' . $pass_frag . '|' . $expiration . '|' . $token, $scheme );
+	$hash = hash_hmac( 'sha256', $user->user_login . '|' . $expiration . '|' . $token, $key );
 
-	$cookie = $user->user_login . '|' . $expiration . '|' . $hash;
+	$cookie = $user->user_login . '|' . $expiration . '|' . $token . '|' . $hash;
 
 	/**
 	 * Filter the authentication cookie.
@@ -706,8 +747,9 @@ function wp_generate_auth_cookie($user_id, $expiration, $scheme = 'auth') {
 	 * @param int    $user_id    User ID.
 	 * @param int    $expiration Authentication cookie expiration in seconds.
 	 * @param string $scheme     Cookie scheme used. Accepts 'auth', 'secure_auth', or 'logged_in'.
+	 * @param string $token      User's session token used.
 	 */
-	return apply_filters( 'auth_cookie', $cookie, $user_id, $expiration, $scheme );
+	return apply_filters( 'auth_cookie', $cookie, $user_id, $expiration, $scheme, $token );
 }
 endif;
 
@@ -749,12 +791,13 @@ function wp_parse_auth_cookie($cookie = '', $scheme = '') {
 	}
 
 	$cookie_elements = explode('|', $cookie);
-	if ( count($cookie_elements) != 3 )
+	if ( count( $cookie_elements ) !== 4 ) {
 		return false;
+	}
 
-	list($username, $expiration, $hmac) = $cookie_elements;
+	list( $username, $expiration, $token, $hmac ) = $cookie_elements;
 
-	return compact('username', 'expiration', 'hmac', 'scheme');
+	return compact( 'username', 'expiration', 'token', 'hmac', 'scheme' );
 }
 endif;
 
@@ -770,6 +813,8 @@ if ( !function_exists('wp_set_auth_cookie') ) :
  *
  * @param int $user_id User ID
  * @param bool $remember Whether to remember the user
+ * @param mixed $secure  Whether the admin cookies should only be sent over HTTPS.
+ *                       Default is_ssl().
  */
 function wp_set_auth_cookie($user_id, $remember = false, $secure = '') {
 	if ( $remember ) {
@@ -795,8 +840,12 @@ function wp_set_auth_cookie($user_id, $remember = false, $secure = '') {
 		$expire = 0;
 	}
 
-	if ( '' === $secure )
+	if ( '' === $secure ) {
 		$secure = is_ssl();
+	}
+
+	// Frontend cookie is secure when the auth cookie is secure and the site's home URL is forced HTTPS.
+	$secure_logged_in_cookie = $secure && 'https' === parse_url( get_option( 'home' ), PHP_URL_SCHEME );
 
 	/**
 	 * Filter whether the connection is secure.
@@ -813,11 +862,11 @@ function wp_set_auth_cookie($user_id, $remember = false, $secure = '') {
 	 *
 	 * @since 3.1.0
 	 *
-	 * @param bool $cookie  Whether to use a secure cookie when logged-in.
-	 * @param int  $user_id User ID.
-	 * @param bool $secure  Whether the connection is secure.
+	 * @param bool $secure_logged_in_cookie Whether to use a secure cookie when logged-in.
+	 * @param int  $user_id                 User ID.
+	 * @param bool $secure                  Whether the connection is secure.
 	 */
-	$secure_logged_in_cookie = apply_filters( 'secure_logged_in_cookie', false, $user_id, $secure );
+	$secure_logged_in_cookie = apply_filters( 'secure_logged_in_cookie', $secure_logged_in_cookie, $user_id, $secure );
 
 	if ( $secure ) {
 		$auth_cookie_name = SECURE_AUTH_COOKIE;
@@ -827,8 +876,11 @@ function wp_set_auth_cookie($user_id, $remember = false, $secure = '') {
 		$scheme = 'auth';
 	}
 
-	$auth_cookie = wp_generate_auth_cookie($user_id, $expiration, $scheme);
-	$logged_in_cookie = wp_generate_auth_cookie($user_id, $expiration, 'logged_in');
+	$manager = WP_Session_Tokens::get_instance( $user_id );
+	$token = $manager->create( $expiration );
+
+	$auth_cookie = wp_generate_auth_cookie( $user_id, $expiration, $scheme, $token );
+	$logged_in_cookie = wp_generate_auth_cookie( $user_id, $expiration, 'logged_in', $token );
 
 	/**
 	 * Fires immediately before the authentication cookie is set.
@@ -1133,7 +1185,7 @@ if ( !function_exists('wp_sanitize_redirect') ) :
  * @return string redirect-sanitized URL
  **/
 function wp_sanitize_redirect($location) {
-	$location = preg_replace('|[^a-z0-9-~+_.?#=&;,/:%!]|i', '', $location);
+	$location = preg_replace('|[^a-z0-9-~+_.?#=&;,/:%!*]|i', '', $location);
 	$location = wp_kses_no_null($location);
 
 	// remove %0d and %0a from location
@@ -1655,16 +1707,21 @@ function wp_verify_nonce($nonce, $action = -1) {
 		$uid = apply_filters( 'nonce_user_logged_out', $uid, $action );
 	}
 
+	if ( empty( $nonce ) ) {
+		return false;
+	}
+
+	$token = wp_get_session_token();
 	$i = wp_nonce_tick();
 
 	// Nonce generated 0-12 hours ago
-	$expected = substr( wp_hash( $i . '|' . $action . '|' . $uid, 'nonce'), -12, 10 );
+	$expected = substr( wp_hash( $i . '|' . $action . '|' . $uid . '|' . $token, 'nonce'), -12, 10 );
 	if ( hash_equals( $expected, $nonce ) ) {
 		return 1;
 	}
 
 	// Nonce generated 12-24 hours ago
-	$expected = substr( wp_hash( ( $i - 1 ) . '|' . $action . '|' . $uid, 'nonce' ), -12, 10 );
+	$expected = substr( wp_hash( ( $i - 1 ) . '|' . $action . '|' . $uid . '|' . $token, 'nonce' ), -12, 10 );
 	if ( hash_equals( $expected, $nonce ) ) {
 		return 2;
 	}
@@ -1676,12 +1733,12 @@ endif;
 
 if ( !function_exists('wp_create_nonce') ) :
 /**
- * Creates a random, one time use token.
+ * Creates a cryptographic token tied to a specific action, user, and window of time.
  *
  * @since 2.0.3
  *
- * @param string|int $action Scalar value to add context to the nonce.
- * @return string The one use form token
+ * @param string $action Scalar value to add context to the nonce.
+ * @return string The token.
  */
 function wp_create_nonce($action = -1) {
 	$user = wp_get_current_user();
@@ -1691,9 +1748,10 @@ function wp_create_nonce($action = -1) {
 		$uid = apply_filters( 'nonce_user_logged_out', $uid, $action );
 	}
 
+	$token = wp_get_session_token();
 	$i = wp_nonce_tick();
 
-	return substr(wp_hash($i . '|' . $action . '|' . $uid, 'nonce'), -12, 10);
+	return substr( wp_hash( $i . '|' . $action . '|' . $uid . '|' . $token, 'nonce' ), -12, 10 );
 }
 endif;
 
@@ -1752,45 +1810,51 @@ function wp_salt( $scheme = 'auth' ) {
 		$duplicated_keys = array( 'put your unique phrase here' => true );
 		foreach ( array( 'AUTH', 'SECURE_AUTH', 'LOGGED_IN', 'NONCE', 'SECRET' ) as $first ) {
 			foreach ( array( 'KEY', 'SALT' ) as $second ) {
-				if ( ! defined( "{$first}_{$second}" ) )
+				if ( ! defined( "{$first}_{$second}" ) ) {
 					continue;
+				}
 				$value = constant( "{$first}_{$second}" );
 				$duplicated_keys[ $value ] = isset( $duplicated_keys[ $value ] );
 			}
 		}
 	}
 
-	$key = $salt = '';
-	if ( defined( 'SECRET_KEY' ) && SECRET_KEY && empty( $duplicated_keys[ SECRET_KEY ] ) )
-		$key = SECRET_KEY;
-	if ( 'auth' == $scheme && defined( 'SECRET_SALT' ) && SECRET_SALT && empty( $duplicated_keys[ SECRET_SALT ] ) )
-		$salt = SECRET_SALT;
+	$values = array(
+		'key' => '',
+		'salt' => ''
+	);
+	if ( defined( 'SECRET_KEY' ) && SECRET_KEY && empty( $duplicated_keys[ SECRET_KEY ] ) ) {
+		$values['key'] = SECRET_KEY;
+	}
+	if ( 'auth' == $scheme && defined( 'SECRET_SALT' ) && SECRET_SALT && empty( $duplicated_keys[ SECRET_SALT ] ) ) {
+		$values['salt'] = SECRET_SALT;
+	}
 
 	if ( in_array( $scheme, array( 'auth', 'secure_auth', 'logged_in', 'nonce' ) ) ) {
 		foreach ( array( 'key', 'salt' ) as $type ) {
 			$const = strtoupper( "{$scheme}_{$type}" );
 			if ( defined( $const ) && constant( $const ) && empty( $duplicated_keys[ constant( $const ) ] ) ) {
-				$$type = constant( $const );
-			} elseif ( ! $$type ) {
-				$$type = get_site_option( "{$scheme}_{$type}" );
-				if ( ! $$type ) {
-					$$type = wp_generate_password( 64, true, true );
-					update_site_option( "{$scheme}_{$type}", $$type );
+				$values[ $type ] = constant( $const );
+			} elseif ( ! $values[ $type ] ) {
+				$values[ $type ] = get_site_option( "{$scheme}_{$type}" );
+				if ( ! $values[ $type ] ) {
+					$values[ $type ] = wp_generate_password( 64, true, true );
+					update_site_option( "{$scheme}_{$type}", $values[ $type ] );
 				}
 			}
 		}
 	} else {
-		if ( ! $key ) {
-			$key = get_site_option( 'secret_key' );
-			if ( ! $key ) {
-				$key = wp_generate_password( 64, true, true );
-				update_site_option( 'secret_key', $key );
+		if ( ! $values['key'] ) {
+			$values['key'] = get_site_option( 'secret_key' );
+			if ( ! $values['key'] ) {
+				$values['key'] = wp_generate_password( 64, true, true );
+				update_site_option( 'secret_key', $values['key'] );
 			}
 		}
-		$salt = hash_hmac( 'md5', $scheme, $key );
+		$values['salt'] = hash_hmac( 'md5', $scheme, $values['key'] );
 	}
 
-	$cached_salts[ $scheme ] = $key . $salt;
+	$cached_salts[ $scheme ] = $values['key'] . $values['salt'];
 
 	/** This filter is documented in wp-includes/pluggable.php */
 	return apply_filters( 'salt', $cached_salts[ $scheme ], $scheme );
@@ -1833,7 +1897,7 @@ function wp_hash_password($password) {
 	global $wp_hasher;
 
 	if ( empty($wp_hasher) ) {
-		require_once( ABSPATH . 'wp-includes/class-phpass.php');
+		require_once( ABSPATH . WPINC . '/class-phpass.php');
 		// By default, use the portable hash from phpass
 		$wp_hasher = new PasswordHash(8, true);
 	}
@@ -1891,7 +1955,7 @@ function wp_check_password($password, $hash, $user_id = '') {
 	// If the stored hash is longer than an MD5, presume the
 	// new style phpass portable hash.
 	if ( empty($wp_hasher) ) {
-		require_once( ABSPATH . 'wp-includes/class-phpass.php');
+		require_once( ABSPATH . WPINC . '/class-phpass.php');
 		// By default, use the portable hash from phpass
 		$wp_hasher = new PasswordHash(8, true);
 	}
@@ -1992,6 +2056,10 @@ if ( !function_exists('wp_set_password') ) :
  * For integration with other applications, this function can be overwritten to
  * instead use the other package password checking algorithm.
  *
+ * Please note: This function should be used sparingly and is really only meant for single-time
+ * application. Leveraging this improperly in a plugin or theme could result in an endless loop
+ * of password resets if precautions are not taken to ensure it does not execute on every page load.
+ *
  * @since 2.5.0
  *
  * @uses $wpdb WordPress database object for queries
@@ -2207,35 +2275,3 @@ function wp_text_diff( $left_string, $right_string, $args = null ) {
 }
 endif;
 
-if ( ! function_exists( 'hash_equals' ) ) :
-/**
- * Compare two strings in constant time.
- *
- * This function is NOT pluggable. It is in this file (in addition to
- * compat.php) to prevent errors if, during an update, pluggable.php
- * copies over but compat.php does not.
- *
- * This function was added in PHP 5.6.
- * It can leak the length of a string.
- *
- * @since 3.9.2
- *
- * @param string $a Expected string.
- * @param string $b Actual string.
- * @return bool Whether strings are equal.
- */
-function hash_equals( $a, $b ) {
-	$a_length = strlen( $a );
-	if ( $a_length !== strlen( $b ) ) {
-		return false;
-	}
-	$result = 0;
-
-	// Do not attempt to "optimize" this.
-	for ( $i = 0; $i < $a_length; $i++ ) {
-		$result |= ord( $a[ $i ] ) ^ ord( $b[ $i ] );
-	}
-
-	return $result === 0;
-}
-endif;
diff --git a/wp-includes/plugin.php b/wp-includes/plugin.php
index 7eba1bbdb..d616a2a96 100644
--- a/wp-includes/plugin.php
+++ b/wp-includes/plugin.php
@@ -35,7 +35,7 @@ if ( ! isset( $wp_current_filter ) )
 	$wp_current_filter = array();
 
 /**
- * Hooks a function or method to a specific filter action.
+ * Hook a function or method to a specific filter action.
  *
  * WordPress offers filter hooks to allow plugins to modify
  * various types of internal data at runtime.
@@ -63,17 +63,20 @@ if ( ! isset( $wp_current_filter ) )
  * is valid. It is up to you to take care. This is done for optimization purposes,
  * so everything is as quick as possible.
  *
- * @global array $wp_filter      A multidimensional array of all hooks and the callbacks hooked to them.
- * @global array $merged_filters Tracks the tags that need to be merged for later. If the hook is added, it doesn't need to run through that process.
- *
  * @since 0.71
  *
+ * @global array $wp_filter      A multidimensional array of all hooks and the callbacks hooked to them.
+ * @global array $merged_filters Tracks the tags that need to be merged for later. If the hook is added,
+ *                               it doesn't need to run through that process.
+ *
  * @param string   $tag             The name of the filter to hook the $function_to_add callback to.
  * @param callback $function_to_add The callback to be run when the filter is applied.
- * @param int      $priority        (optional) The order in which the functions associated with a particular action are executed. Lower numbers correspond with earlier execution, and functions with the same priority are executed in the order in which they were added to the action.
- *                                  Default 10.
- * @param int      $accepted_args   (optional) The number of arguments the function accepts.
- *                                  Default 1.
+ * @param int      $priority        Optional. Used to specify the order in which the functions
+ *                                  associated with a particular action are executed. Default 10.
+ *                                  Lower numbers correspond with earlier execution,
+ *                                  and functions with the same priority are executed
+ *                                  in the order in which they were added to the action.
+ * @param int      $accepted_args   Optional. The number of arguments the function accepts. Default 1.
  * @return boolean true
  */
 function add_filter( $tag, $function_to_add, $priority = 10, $accepted_args = 1 ) {
@@ -90,19 +93,38 @@ function add_filter( $tag, $function_to_add, $priority = 10, $accepted_args = 1
  *
  * @since 2.5.0
  *
- * @global array $wp_filter Stores all of the filters
+ * @global array $wp_filter Stores all of the filters.
  *
- * @param string $tag The name of the filter hook.
- * @param callback $function_to_check optional.
- * @return mixed If $function_to_check is omitted, returns boolean for whether the hook has anything registered.
- * 	When checking a specific function, the priority of that hook is returned, or false if the function is not attached.
- * 	When using the $function_to_check argument, this function may return a non-boolean value that evaluates to false
- * 	(e.g.) 0, so use the === operator for testing the return value.
+ * @param string        $tag               The name of the filter hook.
+ * @param callback|bool $function_to_check Optional. The callback to check for. Default false.
+ * @return bool|int If $function_to_check is omitted, returns boolean for whether the hook has
+ *                  anything registered. When checking a specific function, the priority of that
+ *                  hook is returned, or false if the function is not attached. When using the
+ *                  $function_to_check argument, this function may return a non-boolean value
+ *                  that evaluates to false (e.g.) 0, so use the === operator for testing the
+ *                  return value.
  */
 function has_filter($tag, $function_to_check = false) {
-	global $wp_filter;
+	// Don't reset the internal array pointer
+	$wp_filter = $GLOBALS['wp_filter'];
+
+	$has = ! empty( $wp_filter[ $tag ] );
+
+	// Make sure at least one priority has a filter callback
+	if ( $has ) {
+		$exists = false;
+		foreach ( $wp_filter[ $tag ] as $callbacks ) {
+			if ( ! empty( $callbacks ) ) {
+				$exists = true;
+				break;
+			}
+		}
+
+		if ( ! $exists ) {
+			$has = false;
+		}
+	}
 
-	$has = !empty($wp_filter[$tag]);
 	if ( false === $function_to_check || false == $has )
 		return $has;
 
@@ -142,15 +164,15 @@ function has_filter($tag, $function_to_check = false) {
  * $value = apply_filters( 'example_filter', 'filter me', $arg1, $arg2 );
  * </code>
  *
- * @global array $wp_filter         Stores all of the filters
- * @global array $merged_filters    Merges the filter hooks using this function.
- * @global array $wp_current_filter stores the list of current filters with the current one last
- *
  * @since 0.71
  *
- * @param string $tag  The name of the filter hook.
- * @param mixed $value The value on which the filters hooked to <tt>$tag</tt> are applied on.
- * @param mixed $var   Additional variables passed to the functions hooked to <tt>$tag</tt>.
+ * @global array $wp_filter         Stores all of the filters.
+ * @global array $merged_filters    Merges the filter hooks using this function.
+ * @global array $wp_current_filter Stores the list of current filters with the current one last.
+ *
+ * @param string $tag   The name of the filter hook.
+ * @param mixed  $value The value on which the filters hooked to <tt>$tag</tt> are applied on.
+ * @param mixed  $var   Additional variables passed to the functions hooked to <tt>$tag</tt>.
  * @return mixed The filtered value after all hooked functions are applied to it.
  */
 function apply_filters( $tag, $value ) {
@@ -158,7 +180,7 @@ function apply_filters( $tag, $value ) {
 
 	$args = array();
 
-	// Do 'all' actions first
+	// Do 'all' actions first.
 	if ( isset($wp_filter['all']) ) {
 		$wp_current_filter[] = $tag;
 		$args = func_get_args();
@@ -174,7 +196,7 @@ function apply_filters( $tag, $value ) {
 	if ( !isset($wp_filter['all']) )
 		$wp_current_filter[] = $tag;
 
-	// Sort
+	// Sort.
 	if ( !isset( $merged_filters[ $tag ] ) ) {
 		ksort($wp_filter[$tag]);
 		$merged_filters[ $tag ] = true;
@@ -206,12 +228,13 @@ function apply_filters( $tag, $value ) {
  * functions hooked to <tt>$tag</tt> are supplied using an array.
  *
  * @since 3.0.0
- * @global array $wp_filter Stores all of the filters
- * @global array $merged_filters Merges the filter hooks using this function.
- * @global array $wp_current_filter stores the list of current filters with the current one last
  *
- * @param string $tag The name of the filter hook.
- * @param array $args The arguments supplied to the functions hooked to <tt>$tag</tt>
+ * @global array $wp_filter         Stores all of the filters
+ * @global array $merged_filters    Merges the filter hooks using this function.
+ * @global array $wp_current_filter Stores the list of current filters with the current one last
+ *
+ * @param string $tag  The name of the filter hook.
+ * @param array  $args The arguments supplied to the functions hooked to $tag.
  * @return mixed The filtered value after all hooked functions are applied to it.
  */
 function apply_filters_ref_array($tag, $args) {
@@ -266,22 +289,25 @@ function apply_filters_ref_array($tag, $args) {
  *
  * @since 1.2.0
  *
- * @param string $tag The filter hook to which the function to be removed is hooked.
+ * @param string   $tag                The filter hook to which the function to be removed is hooked.
  * @param callback $function_to_remove The name of the function which should be removed.
- * @param int $priority optional. The priority of the function (default: 10).
- * @param int $accepted_args optional. The number of arguments the function accepts (default: 1).
+ * @param int      $priority           Optional. The priority of the function. Default 10.
  * @return boolean Whether the function existed before it was removed.
  */
 function remove_filter( $tag, $function_to_remove, $priority = 10 ) {
-	$function_to_remove = _wp_filter_build_unique_id($tag, $function_to_remove, $priority);
+	$function_to_remove = _wp_filter_build_unique_id( $tag, $function_to_remove, $priority );
 
-	$r = isset($GLOBALS['wp_filter'][$tag][$priority][$function_to_remove]);
+	$r = isset( $GLOBALS['wp_filter'][ $tag ][ $priority ][ $function_to_remove ] );
 
-	if ( true === $r) {
-		unset($GLOBALS['wp_filter'][$tag][$priority][$function_to_remove]);
-		if ( empty($GLOBALS['wp_filter'][$tag][$priority]) )
-			unset($GLOBALS['wp_filter'][$tag][$priority]);
-		unset($GLOBALS['merged_filters'][$tag]);
+	if ( true === $r ) {
+		unset( $GLOBALS['wp_filter'][ $tag ][ $priority ][ $function_to_remove ] );
+		if ( empty( $GLOBALS['wp_filter'][ $tag ][ $priority ] ) ) {
+			unset( $GLOBALS['wp_filter'][ $tag ][ $priority ] );
+		}
+		if ( empty( $GLOBALS['wp_filter'][ $tag ] ) ) {
+			$GLOBALS['wp_filter'][ $tag ] = array();
+		}
+		unset( $GLOBALS['merged_filters'][ $tag ] );
 	}
 
 	return $r;
@@ -292,22 +318,24 @@ function remove_filter( $tag, $function_to_remove, $priority = 10 ) {
  *
  * @since 2.7.0
  *
- * @param string $tag The filter to remove hooks from.
- * @param int $priority The priority number to remove.
+ * @param string   $tag      The filter to remove hooks from.
+ * @param int|bool $priority Optional. The priority number to remove. Default false.
  * @return bool True when finished.
  */
-function remove_all_filters($tag, $priority = false) {
+function remove_all_filters( $tag, $priority = false ) {
 	global $wp_filter, $merged_filters;
 
-	if( isset($wp_filter[$tag]) ) {
-		if( false !== $priority && isset($wp_filter[$tag][$priority]) )
-			unset($wp_filter[$tag][$priority]);
-		else
-			unset($wp_filter[$tag]);
+	if ( isset( $wp_filter[ $tag ]) ) {
+		if ( false !== $priority && isset( $wp_filter[ $tag ][ $priority ] ) ) {
+			$wp_filter[ $tag ][ $priority ] = array();
+		} else {
+			$wp_filter[ $tag ] = array();
+		}
 	}
 
-	if( isset($merged_filters[$tag]) )
-		unset($merged_filters[$tag]);
+	if ( isset( $merged_filters[ $tag ] ) ) {
+		unset( $merged_filters[ $tag ] );
+	}
 
 	return true;
 }
@@ -342,7 +370,9 @@ function current_action() {
  *
  * The function current_filter() only returns the most recent filter or action
  * being executed. did_action() returns true once the action is initially
- * processed. This function allows detection for any filter currently being
+ * processed.
+ *
+ * This function allows detection for any filter currently being
  * executed (despite not being the most recent filter to fire, in the case of
  * hooks called from hook callbacks) to be verified.
  *
@@ -354,7 +384,7 @@ function current_action() {
  *
  * @param null|string $filter Optional. Filter to check. Defaults to null, which
  *                            checks if any filter is currently being run.
- * @return bool Whether the filter is currently in the stack
+ * @return bool Whether the filter is currently in the stack.
  */
 function doing_filter( $filter = null ) {
 	global $wp_current_filter;
@@ -389,14 +419,19 @@ function doing_action( $action = null ) {
  * one or more of its PHP functions are executed at these points, using the
  * Action API.
  *
- * @uses add_filter() Adds an action. Parameter list and functionality are the same.
- *
  * @since 1.2.0
  *
- * @param string $tag The name of the action to which the $function_to_add is hooked.
+ * @uses add_filter() Adds an action. Parameter list and functionality are the same.
+ *
+ * @param string   $tag             The name of the action to which the $function_to_add is hooked.
  * @param callback $function_to_add The name of the function you wish to be called.
- * @param int $priority optional. Used to specify the order in which the functions associated with a particular action are executed (default: 10). Lower numbers correspond with earlier execution, and functions with the same priority are executed in the order in which they were added to the action.
- * @param int $accepted_args optional. The number of arguments the function accept (default 1).
+ * @param int      $priority        Optional. Used to specify the order in which the functions
+ *                                  associated with a particular action are executed. Default 10.
+ *                                  Lower numbers correspond with earlier execution,
+ *                                  and functions with the same priority are executed
+ *                                  in the order in which they were added to the action.
+ * @param int      $accepted_args   Optional. The number of arguments the function accept. Default 1.
+ * @return bool Will always return true.
  */
 function add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1) {
 	return add_filter($tag, $function_to_add, $priority, $accepted_args);
@@ -412,17 +447,17 @@ function add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1)
  * You can pass extra arguments to the hooks, much like you can with
  * apply_filters().
  *
- * @see apply_filters() This function works similar with the exception that
- * nothing is returned and only the functions or methods are called.
- *
  * @since 1.2.0
  *
- * @global array $wp_filter Stores all of the filters
+ * @see apply_filters() This function works similar with the exception that nothing
+ *                      is returned and only the functions or methods are called.
+ * @global array $wp_filter  Stores all of the filters
  * @global array $wp_actions Increments the amount of times action was triggered.
  *
  * @param string $tag The name of the action to be executed.
- * @param mixed $arg,... Optional additional arguments which are passed on to the functions hooked to the action.
- * @return null Will return null if $tag does not exist in $wp_filter array
+ * @param mixed  $arg Optional. Additional arguments which are passed on to the
+ *                    functions hooked to the action. Default empty.
+ * @return null Will return null if $tag does not exist in $wp_filter array.
  */
 function do_action($tag, $arg = '') {
 	global $wp_filter, $wp_actions, $merged_filters, $wp_current_filter;
@@ -482,7 +517,7 @@ function do_action($tag, $arg = '') {
  * @global array $wp_actions Increments the amount of times action was triggered.
  *
  * @param string $tag The name of the action hook.
- * @return int The number of times action hook <tt>$tag</tt> is fired
+ * @return int The number of times action hook $tag is fired.
  */
 function did_action($tag) {
 	global $wp_actions;
@@ -496,16 +531,15 @@ function did_action($tag) {
 /**
  * Execute functions hooked on a specific action hook, specifying arguments in an array.
  *
- * @see do_action() This function is identical, but the arguments passed to the
- * functions hooked to <tt>$tag</tt> are supplied using an array.
- *
  * @since 2.1.0
  *
- * @global array $wp_filter Stores all of the filters
+ * @see do_action() This function is identical, but the arguments passed to the
+ *                  functions hooked to $tag< are supplied using an array.
+ * @global array $wp_filter  Stores all of the filters
  * @global array $wp_actions Increments the amount of times action was triggered.
  *
- * @param string $tag The name of the action to be executed.
- * @param array $args The arguments supplied to the functions hooked to <tt>$tag</tt>
+ * @param string $tag  The name of the action to be executed.
+ * @param array  $args The arguments supplied to the functions hooked to <tt>$tag</tt>
  * @return null Will return null if $tag does not exist in $wp_filter array
  */
 function do_action_ref_array($tag, $args) {
@@ -557,12 +591,14 @@ function do_action_ref_array($tag, $args) {
  *
  * @see has_filter() has_action() is an alias of has_filter().
  *
- * @param string $tag The name of the action hook.
- * @param callback $function_to_check optional.
- * @return mixed If $function_to_check is omitted, returns boolean for whether the hook has anything registered.
- * 	When checking a specific function, the priority of that hook is returned, or false if the function is not attached.
- * 	When using the $function_to_check argument, this function may return a non-boolean value that evaluates to false
- * 	(e.g.) 0, so use the === operator for testing the return value.
+ * @param string        $tag               The name of the action hook.
+ * @param callback|bool $function_to_check Optional. The callback to check for. Default false.
+ * @return bool|int If $function_to_check is omitted, returns boolean for whether the hook has
+ *                  anything registered. When checking a specific function, the priority of that
+ *                  hook is returned, or false if the function is not attached. When using the
+ *                  $function_to_check argument, this function may return a non-boolean value
+ *                  that evaluates to false (e.g.) 0, so use the === operator for testing the
+ *                  return value.
  */
 function has_action($tag, $function_to_check = false) {
 	return has_filter($tag, $function_to_check);
@@ -577,9 +613,9 @@ function has_action($tag, $function_to_check = false) {
  *
  * @since 1.2.0
  *
- * @param string $tag The action hook to which the function to be removed is hooked.
+ * @param string   $tag                The action hook to which the function to be removed is hooked.
  * @param callback $function_to_remove The name of the function which should be removed.
- * @param int $priority optional The priority of the function (default: 10).
+ * @param int      $priority           Optional. The priority of the function. Default 10.
  * @return boolean Whether the function is removed.
  */
 function remove_action( $tag, $function_to_remove, $priority = 10 ) {
@@ -591,8 +627,8 @@ function remove_action( $tag, $function_to_remove, $priority = 10 ) {
  *
  * @since 2.7.0
  *
- * @param string $tag The action to remove hooks from.
- * @param int $priority The priority number to remove them from.
+ * @param string   $tag      The action to remove hooks from.
+ * @param int|bool $priority The priority number to remove them from. Default false.
  * @return bool True when finished.
  */
 function remove_all_actions($tag, $priority = false) {
@@ -610,11 +646,10 @@ function remove_all_actions($tag, $priority = false) {
  *
  * @since 1.5.0
  *
- * @access private
+ * @uses WP_PLUGIN_DIR, WPMU_PLUGIN_DIR
  *
  * @param string $file The filename of plugin.
  * @return string The name of a plugin.
- * @uses WP_PLUGIN_DIR
  */
 function plugin_basename( $file ) {
 	global $wp_plugin_paths;
@@ -671,24 +706,24 @@ function wp_register_plugin_realpath( $file ) {
 }
 
 /**
- * Gets the filesystem directory path (with trailing slash) for the plugin __FILE__ passed in
+ * Get the filesystem directory path (with trailing slash) for the plugin __FILE__ passed in.
  *
  * @since 2.8.0
  *
- * @param string $file The filename of the plugin (__FILE__)
- * @return string the filesystem path of the directory that contains the plugin
+ * @param string $file The filename of the plugin (__FILE__).
+ * @return string the filesystem path of the directory that contains the plugin.
  */
 function plugin_dir_path( $file ) {
 	return trailingslashit( dirname( $file ) );
 }
 
 /**
- * Gets the URL directory path (with trailing slash) for the plugin __FILE__ passed in
+ * Get the URL directory path (with trailing slash) for the plugin __FILE__ passed in.
  *
  * @since 2.8.0
  *
- * @param string $file The filename of the plugin (__FILE__)
- * @return string the URL path of the directory that contains the plugin
+ * @param string $file The filename of the plugin (__FILE__).
+ * @return string the URL path of the directory that contains the plugin.
  */
 function plugin_dir_url( $file ) {
 	return trailingslashit( plugins_url( '', $file ) );
@@ -709,8 +744,8 @@ function plugin_dir_url( $file ) {
  *
  * @since 2.0.0
  *
- * @param string $file The filename of the plugin including the path.
- * @param callback $function the function hooked to the 'activate_PLUGIN' action.
+ * @param string   $file     The filename of the plugin including the path.
+ * @param callback $function The function hooked to the 'activate_PLUGIN' action.
  */
 function register_activation_hook($file, $function) {
 	$file = plugin_basename($file);
@@ -732,8 +767,8 @@ function register_activation_hook($file, $function) {
  *
  * @since 2.0.0
  *
- * @param string $file The filename of the plugin including the path.
- * @param callback $function the function hooked to the 'deactivate_PLUGIN' action.
+ * @param string   $file     The filename of the plugin including the path.
+ * @param callback $function The function hooked to the 'deactivate_PLUGIN' action.
  */
 function register_deactivation_hook($file, $function) {
 	$file = plugin_basename($file);
@@ -762,8 +797,9 @@ function register_deactivation_hook($file, $function) {
  *
  * @since 2.7.0
  *
- * @param string $file
- * @param callback $callback The callback to run when the hook is called. Must be a static method or function.
+ * @param string   $file     Plugin file.
+ * @param callback $callback The callback to run when the hook is called. Must be
+ *                           a static method or function.
  */
 function register_uninstall_hook( $file, $callback ) {
 	if ( is_array( $callback ) && is_object( $callback[0] ) ) {
@@ -771,16 +807,19 @@ function register_uninstall_hook( $file, $callback ) {
 		return;
 	}
 
-	// The option should not be autoloaded, because it is not needed in most
-	// cases. Emphasis should be put on using the 'uninstall.php' way of
-	// uninstalling the plugin.
+	/*
+	 * The option should not be autoloaded, because it is not needed in most
+	 * cases. Emphasis should be put on using the 'uninstall.php' way of
+	 * uninstalling the plugin.
+	 */
 	$uninstallable_plugins = (array) get_option('uninstall_plugins');
 	$uninstallable_plugins[plugin_basename($file)] = $callback;
+
 	update_option('uninstall_plugins', $uninstallable_plugins);
 }
 
 /**
- * Calls the 'all' hook, which will process the functions hooked into it.
+ * Call the 'all' hook, which will process the functions hooked into it.
  *
  * The 'all' hook passes all of the arguments or parameters that were used for
  * the hook, which this function was called for.
@@ -793,7 +832,7 @@ function register_uninstall_hook( $file, $callback ) {
  * @since 2.5.0
  * @access private
  *
- * @uses $wp_filter Used to process all of the functions in the 'all' hook
+ * @uses $wp_filter Used to process all of the functions in the 'all' hook.
  *
  * @param array $args The collected parameters from the hook that was called.
  */
@@ -826,15 +865,21 @@ function _wp_call_all_hook($args) {
  * Functions and static method callbacks are just returned as strings and
  * shouldn't have any speed penalty.
  *
- * @access private
- * @since 2.2.3
  * @link http://trac.wordpress.org/ticket/3875
  *
- * @global array $wp_filter Storage for all of the filters and actions
- * @param string $tag Used in counting how many hooks were applied
+ * @since 2.2.3
+ * @access private
+ *
+ * @global array $wp_filter Storage for all of the filters and actions.
+ *
+ * @param string   $tag      Used in counting how many hooks were applied
  * @param callback $function Used for creating unique id
- * @param int|bool $priority Used in counting how many hooks were applied. If === false and $function is an object reference, we return the unique id only if it already has one, false otherwise.
- * @return string|bool Unique ID for usage as array key or false if $priority === false and $function is an object reference, and it does not already have a unique id.
+ * @param int|bool $priority Used in counting how many hooks were applied. If === false
+ *                           and $function is an object reference, we return the unique
+ *                           id only if it already has one, false otherwise.
+ * @return string|bool Unique ID for usage as array key or false if $priority === false
+ *                     and $function is an object reference, and it does not already have
+ *                     a unique id.
  */
 function _wp_filter_build_unique_id($tag, $function, $priority) {
 	global $wp_filter;
diff --git a/wp-includes/pomo/mo.php b/wp-includes/pomo/mo.php
index 68c0792fd..407c5a83e 100644
--- a/wp-includes/pomo/mo.php
+++ b/wp-includes/pomo/mo.php
@@ -75,21 +75,23 @@ class MO extends Gettext_Translations {
 		$current_addr++;
 		$originals_table = chr(0);
 
+		$reader = new POMO_Reader();
+
 		foreach($entries as $entry) {
 			$originals_table .= $this->export_original($entry) . chr(0);
-			$length = strlen($this->export_original($entry));
+			$length = $reader->strlen($this->export_original($entry));
 			fwrite($fh, pack('VV', $length, $current_addr));
 			$current_addr += $length + 1; // account for the NULL byte after
 		}
 
 		$exported_headers = $this->export_headers();
-		fwrite($fh, pack('VV', strlen($exported_headers), $current_addr));
+		fwrite($fh, pack('VV', $reader->strlen($exported_headers), $current_addr));
 		$current_addr += strlen($exported_headers) + 1;
 		$translations_table = $exported_headers . chr(0);
 
 		foreach($entries as $entry) {
 			$translations_table .= $this->export_translations($entry) . chr(0);
-			$length = strlen($this->export_translations($entry));
+			$length = $reader->strlen($this->export_translations($entry));
 			fwrite($fh, pack('VV', $length, $current_addr));
 			$current_addr += $length + 1;
 		}
@@ -155,46 +157,49 @@ class MO extends Gettext_Translations {
 		if (!is_array($header))
 			return false;
 
-		extract( $header );
-
 		// support revision 0 of MO format specs, only
-		if ($revision != 0)
+		if ( $header['revision'] != 0 ) {
 			return false;
+		}
 
 		// seek to data blocks
-		$reader->seekto($originals_lenghts_addr);
+		$reader->seekto( $header['originals_lenghts_addr'] );
 
 		// read originals' indices
-		$originals_lengths_length = $translations_lenghts_addr - $originals_lenghts_addr;
-		if ( $originals_lengths_length != $total * 8 )
+		$originals_lengths_length = $header['translations_lenghts_addr'] - $header['originals_lenghts_addr'];
+		if ( $originals_lengths_length != $header['total'] * 8 ) {
 			return false;
+		}
 
 		$originals = $reader->read($originals_lengths_length);
-		if ( $reader->strlen( $originals ) != $originals_lengths_length )
+		if ( $reader->strlen( $originals ) != $originals_lengths_length ) {
 			return false;
+		}
 
 		// read translations' indices
-		$translations_lenghts_length = $hash_addr - $translations_lenghts_addr;
-		if ( $translations_lenghts_length != $total * 8 )
+		$translations_lenghts_length = $header['hash_addr'] - $header['translations_lenghts_addr'];
+		if ( $translations_lenghts_length != $header['total'] * 8 ) {
 			return false;
+		}
 
 		$translations = $reader->read($translations_lenghts_length);
-		if ( $reader->strlen( $translations ) != $translations_lenghts_length )
+		if ( $reader->strlen( $translations ) != $translations_lenghts_length ) {
 			return false;
+		}
 
 		// transform raw data into set of indices
 		$originals    = $reader->str_split( $originals, 8 );
 		$translations = $reader->str_split( $translations, 8 );
 
 		// skip hash table
-		$strings_addr = $hash_addr + $hash_length * 4;
+		$strings_addr = $header['hash_addr'] + $header['hash_length'] * 4;
 
 		$reader->seekto($strings_addr);
 
 		$strings = $reader->read_all();
 		$reader->close();
 
-		for ( $i = 0; $i < $total; $i++ ) {
+		for ( $i = 0; $i < $header['total']; $i++ ) {
 			$o = unpack( "{$endian}length/{$endian}pos", $originals[$i] );
 			$t = unpack( "{$endian}length/{$endian}pos", $translations[$i] );
 			if ( !$o || !$t ) return false;
diff --git a/wp-includes/pomo/translations.php b/wp-includes/pomo/translations.php
index 106b6da16..5ad316c08 100644
--- a/wp-includes/pomo/translations.php
+++ b/wp-includes/pomo/translations.php
@@ -172,7 +172,7 @@ class Gettext_Translations extends Translations {
 	}
 
 	/**
-	 * Adds parantheses to the inner parts of ternary operators in
+	 * Adds parentheses to the inner parts of ternary operators in
 	 * plural expressions, because PHP evaluates ternary oerators from left to right
 	 *
 	 * @param string $expression the expression without parentheses
diff --git a/wp-includes/post-template.php b/wp-includes/post-template.php
index be462587a..c736e3167 100644
--- a/wp-includes/post-template.php
+++ b/wp-includes/post-template.php
@@ -23,10 +23,11 @@ function the_ID() {
  * @since 2.1.0
  * @uses $post
  *
- * @return int
+ * @return int|bool The ID of the current item in the WordPress Loop. False if $post is not set.
  */
 function get_the_ID() {
-	return get_post()->ID;
+	$post = get_post();
+	return ! empty( $post ) ? $post->ID : false;
 }
 
 /**
@@ -65,26 +66,34 @@ function the_title($before = '', $after = '', $echo = true) {
  *
  * @since 2.3.0
  *
- * @param string|array $args Optional. Override the defaults.
+ * @param string|array $args {
+ *     Title attribute arguments. Optional.
+ *
+ *     @type string  $before Markup to prepend to the title. Default empty.
+ *     @type string  $after  Markup to append to the title. Default empty.
+ *     @type bool    $echo   Whether to echo or return the title. Default true for echo.
+ *     @type WP_Post $post   Current post object to retrieve the title for.
+ * }
  * @return string|null Null on failure or display. String when echo is false.
  */
 function the_title_attribute( $args = '' ) {
-	$defaults = array('before' => '', 'after' =>  '', 'echo' => true, 'post' => get_post() );
-	$r = wp_parse_args($args, $defaults);
-	extract( $r, EXTR_SKIP );
+	$defaults = array( 'before' => '', 'after' =>  '', 'echo' => true, 'post' => get_post() );
+	$r = wp_parse_args( $args, $defaults );
 
-	$title = get_the_title( $post );
+	$title = get_the_title( $r['post'] );
 
-	if ( strlen($title) == 0 )
+	if ( strlen( $title ) == 0 ) {
 		return;
+	}
 
-	$title = $before . $title . $after;
-	$title = esc_attr(strip_tags($title));
+	$title = $r['before'] . $title . $r['after'];
+	$title = esc_attr( strip_tags( $title ) );
 
-	if ( $echo )
+	if ( $r['echo'] ) {
 		echo $title;
-	else
+	} else {
 		return $title;
+	}
 }
 
 /**
@@ -96,7 +105,7 @@ function the_title_attribute( $args = '' ) {
  *
  * @since 0.71
  *
- * @param int|WP_Post $post Optional. Post ID or post object.
+ * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post.
  * @return string
  */
 function get_the_title( $post = 0 ) {
@@ -115,10 +124,11 @@ function get_the_title( $post = 0 ) {
 			 *
 			 * @since 2.8.0
 			 *
-			 * @param string $prepend Text displayed before the post title.
-			 *                        Default 'Protected: %s'.
+			 * @param string  $prepend Text displayed before the post title.
+			 *                         Default 'Protected: %s'.
+			 * @param WP_Post $post    Current post object.
 			 */
-			$protected_title_format = apply_filters( 'protected_title_format', __( 'Protected: %s' ) );
+			$protected_title_format = apply_filters( 'protected_title_format', __( 'Protected: %s' ), $post );
 			$title = sprintf( $protected_title_format, $title );
 		} else if ( isset( $post->post_status ) && 'private' == $post->post_status ) {
 
@@ -129,10 +139,11 @@ function get_the_title( $post = 0 ) {
 			 *
 			 * @since 2.8.0
 			 *
-			 * @param string $prepend Text displayed before the post title.
-			 *                        Default 'Private: %s'.
+			 * @param string  $prepend Text displayed before the post title.
+			 *                         Default 'Private: %s'.
+			 * @param WP_Post $post    Current post object.
 			 */
-			$private_title_format = apply_filters( 'private_title_format', __( 'Private: %s' ) );
+			$private_title_format = apply_filters( 'private_title_format', __( 'Private: %s' ), $post );
 			$title = sprintf( $private_title_format, $title );
 		}
 	}
@@ -330,6 +341,9 @@ function get_the_excerpt( $deprecated = '' ) {
 		_deprecated_argument( __FUNCTION__, '2.3' );
 
 	$post = get_post();
+	if ( empty( $post ) ) {
+		return '';
+	}
 
 	if ( post_password_required() ) {
 		return __( 'There is no excerpt because this is a protected post.' );
@@ -422,8 +436,13 @@ function get_post_class( $class = '', $post_id = null ) {
 	}
 
 	// sticky for Sticky Posts
-	if ( is_sticky($post->ID) && is_home() && !is_paged() )
-		$classes[] = 'sticky';
+	if ( is_sticky( $post->ID ) ) {
+		if ( is_home() && ! is_paged() ) {
+			$classes[] = 'sticky';
+		} elseif ( is_admin() ) {
+			$classes[] = 'status-sticky';
+		}
+	}
 
 	// hentry for hAtom compliance
 	$classes[] = 'hentry';
@@ -463,7 +482,9 @@ function get_post_class( $class = '', $post_id = null ) {
 	 * @param string $class   A comma-separated list of additional classes added to the post.
 	 * @param int    $post_id The post ID.
 	 */
-	return apply_filters( 'post_class', $classes, $class, $post->ID );
+	$classes = apply_filters( 'post_class', $classes, $class, $post->ID );
+
+	return array_unique( $classes );
 }
 
 /**
@@ -584,8 +605,9 @@ function get_body_class( $class = '' ) {
 
 		$classes[] = 'page-id-' . $page_id;
 
-		if ( $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_parent = %d AND post_type = 'page' AND post_status = 'publish' LIMIT 1", $page_id) ) )
+		if ( get_pages( array( 'parent' => $page_id, 'number' => 1 ) ) ) {
 			$classes[] = 'page-parent';
+		}
 
 		if ( $post->post_parent ) {
 			$classes[] = 'page-child';
@@ -612,10 +634,10 @@ function get_body_class( $class = '' ) {
 
 	$page = $wp_query->get( 'page' );
 
-	if ( !$page || $page < 2)
+	if ( ! $page || $page < 2 )
 		$page = $wp_query->get( 'paged' );
 
-	if ( $page && $page > 1 ) {
+	if ( $page && $page > 1 && ! is_404() ) {
 		$classes[] = 'paged-' . $page;
 
 		if ( is_single() )
@@ -655,7 +677,9 @@ function get_body_class( $class = '' ) {
 	 * @param array  $classes An array of body classes.
 	 * @param string $class   A comma-separated list of additional classes added to the body.
 	 */
-	return apply_filters( 'body_class', $classes, $class );
+	$classes = apply_filters( 'body_class', $classes, $class );
+
+	return array_unique( $classes );
 }
 
 /**
@@ -675,7 +699,7 @@ function post_password_required( $post = null ) {
 	if ( ! isset( $_COOKIE['wp-postpass_' . COOKIEHASH] ) )
 		return true;
 
-	require_once ABSPATH . 'wp-includes/class-phpass.php';
+	require_once ABSPATH . WPINC . '/class-phpass.php';
 	$hasher = new PasswordHash( 8, true );
 
 	$hash = wp_unslash( $_COOKIE[ 'wp-postpass_' . COOKIEHASH ] );
@@ -695,33 +719,27 @@ function post_password_required( $post = null ) {
  * Displays page links for paginated posts (i.e. includes the <!--nextpage-->.
  * Quicktag one or more times). This tag must be within The Loop.
  *
- * The defaults for overwriting are:
- * 'before' - Default is '<p> Pages:' (string). The html or text to prepend to
- *      each bookmarks.
- * 'after' - Default is '</p>' (string). The html or text to append to each
- *      bookmarks.
- * 'link_before' - Default is '' (string). The html or text to prepend to each
- *      Pages link inside the <a> tag. Also prepended to the current item, which
- *      is not linked.
- * 'link_after' - Default is '' (string). The html or text to append to each
- *      Pages link inside the <a> tag. Also appended to the current item, which
- *      is not linked.
- * 'next_or_number' - Default is 'number' (string). Indicates whether page
- *      numbers should be used. Valid values are number and next.
- * 'separator' - Default is ' ' (string). Text used between pagination links.
- * 'nextpagelink' - Default is 'Next Page' (string). Text for link to next page.
- *      of the bookmark.
- * 'previouspagelink' - Default is 'Previous Page' (string). Text for link to
- *      previous page, if available.
- * 'pagelink' - Default is '%' (String).Format string for page numbers. The % in
- *      the parameter string will be replaced with the page number, so Page %
- *      generates "Page 1", "Page 2", etc. Defaults to %, just the page number.
- * 'echo' - Default is 1 (integer). When not 0, this triggers the HTML to be
- *      echoed and then returned.
- *
  * @since 1.2.0
  *
- * @param string|array $args Optional. Overwrite the defaults.
+ * @param string|array $args {
+ *     Optional. Array or string of default arguments.
+ *
+ *     @type string       $before           HTML or text to prepend to each link. Default is '<p> Pages:'.
+ *     @type string       $after            HTML or text to append to each link. Default is '</p>'.
+ *     @type string       $link_before      HTML or text to prepend to each link, inside the <a> tag.
+ *                                          Also prepended to the current item, which is not linked. Default empty.
+ *     @type string       $link_after       HTML or text to append to each Pages link inside the <a> tag.
+ *                                          Also appended to the current item, which is not linked. Default empty.
+ *     @type string       $next_or_number   Indicates whether page numbers should be used. Valid values are number
+ *                                          and next. Default is 'number'.
+ *     @type string       $separator        Text between pagination links. Default is ' '.
+ *     @type string       $nextpagelink     Link text for the next page link, if available. Default is 'Next Page'.
+ *     @type string       $previouspagelink Link text for the previous page link, if available. Default is 'Previous Page'.
+ *     @type string       $pagelink         Format string for page numbers. The % in the parameter string will be
+ *                                          replaced with the page number, so 'Page %' generates "Page 1", "Page 2", etc.
+ *                                          Defaults to '%', just the page number.
+ *     @type int|bool     $echo             Whether to echo or not. Accepts 1|true or 0|false. Default 1|true.
+ * }
  * @return string Formatted output in HTML.
  */
 function wp_link_pages( $args = '' ) {
@@ -738,29 +756,28 @@ function wp_link_pages( $args = '' ) {
 		'echo'             => 1
 	);
 
-	$r = wp_parse_args( $args, $defaults );
+	$params = wp_parse_args( $args, $defaults );
 
 	/**
 	 * Filter the arguments used in retrieving page links for paginated posts.
 	 *
 	 * @since 3.0.0
 	 *
-	 * @param array $r An array of arguments for page links for paginated posts.
+	 * @param array $params An array of arguments for page links for paginated posts.
 	 */
-	$r = apply_filters( 'wp_link_pages_args', $r );
-	extract( $r, EXTR_SKIP );
+	$r = apply_filters( 'wp_link_pages_args', $params );
 
 	global $page, $numpages, $multipage, $more;
 
 	$output = '';
 	if ( $multipage ) {
-		if ( 'number' == $next_or_number ) {
-			$output .= $before;
+		if ( 'number' == $r['next_or_number'] ) {
+			$output .= $r['before'];
 			for ( $i = 1; $i <= $numpages; $i++ ) {
-				$link = $link_before . str_replace( '%', $i, $pagelink ) . $link_after;
-				if ( $i != $page || ! $more && 1 == $page )
+				$link = $r['link_before'] . str_replace( '%', $i, $r['pagelink'] ) . $r['link_after'];
+				if ( $i != $page || ! $more && 1 == $page ) {
 					$link = _wp_link_page( $i ) . $link . '</a>';
-
+				}
 				/**
 				 * Filter the HTML output of individual page number links.
 				 *
@@ -770,28 +787,28 @@ function wp_link_pages( $args = '' ) {
 				 * @param int    $i    Page number for paginated posts' page links.
 				 */
 				$link = apply_filters( 'wp_link_pages_link', $link, $i );
-				$output .= $separator . $link;
+				$output .= $r['separator'] . $link;
 			}
-			$output .= $after;
+			$output .= $r['after'];
 		} elseif ( $more ) {
-			$output .= $before;
-			$i = $page - 1;
-			if ( $i ) {
-				$link = _wp_link_page( $i ) . $link_before . $previouspagelink . $link_after . '</a>';
+			$output .= $r['before'];
+			$prev = $page - 1;
+			if ( $prev ) {
+				$link = _wp_link_page( $prev ) . $r['link_before'] . $r['previouspagelink'] . $r['link_after'] . '</a>';
 
 				/** This filter is documented in wp-includes/post-template.php */
-				$link = apply_filters( 'wp_link_pages_link', $link, $i );
-				$output .= $separator . $link;
+				$link = apply_filters( 'wp_link_pages_link', $link, $prev );
+				$output .= $r['separator'] . $link;
 			}
-			$i = $page + 1;
-			if ( $i <= $numpages ) {
-				$link = _wp_link_page( $i ) . $link_before . $nextpagelink . $link_after . '</a>';
+			$next = $page + 1;
+			if ( $next <= $numpages ) {
+				$link = _wp_link_page( $next ) . $r['link_before'] . $r['nextpagelink'] . $r['link_after'] . '</a>';
 
 				/** This filter is documented in wp-includes/post-template.php */
-				$link = apply_filters( 'wp_link_pages_link', $link, $i );
-				$output .= $separator . $link;
+				$link = apply_filters( 'wp_link_pages_link', $link, $next );
+				$output .= $r['separator'] . $link;
 			}
-			$output .= $after;
+			$output .= $r['after'];
 		}
 	}
 
@@ -803,12 +820,12 @@ function wp_link_pages( $args = '' ) {
 	 * @param string $output HTML output of paginated posts' page links.
 	 * @param array  $args   An array of arguments.
 	 */
-	$output = apply_filters( 'wp_link_pages', $output, $args );
+	$html = apply_filters( 'wp_link_pages', $output, $args );
 
-	if ( $echo )
-		echo $output;
-
-	return $output;
+	if ( $r['echo'] ) {
+		echo $html;
+	}
+	return $html;
 }
 
 /**
@@ -918,7 +935,7 @@ function the_meta() {
  * @param array|string $args Optional. Override default arguments.
  * @return string HTML content, if not displaying.
  */
-function wp_dropdown_pages($args = '') {
+function wp_dropdown_pages( $args = '' ) {
 	$defaults = array(
 		'depth' => 0, 'child_of' => 0,
 		'selected' => 0, 'echo' => 1,
@@ -928,21 +945,23 @@ function wp_dropdown_pages($args = '') {
 	);
 
 	$r = wp_parse_args( $args, $defaults );
-	extract( $r, EXTR_SKIP );
 
-	$pages = get_pages($r);
+	$pages = get_pages( $r );
 	$output = '';
 	// Back-compat with old system where both id and name were based on $name argument
-	if ( empty($id) )
-		$id = $name;
-
-	if ( ! empty($pages) ) {
-		$output = "<select name='" . esc_attr( $name ) . "' id='" . esc_attr( $id ) . "'>\n";
-		if ( $show_option_no_change )
-			$output .= "\t<option value=\"-1\">$show_option_no_change</option>";
-		if ( $show_option_none )
-			$output .= "\t<option value=\"" . esc_attr($option_none_value) . "\">$show_option_none</option>\n";
-		$output .= walk_page_dropdown_tree($pages, $depth, $r);
+	if ( empty( $r['id'] ) ) {
+		$r['id'] = $r['name'];
+	}
+
+	if ( ! empty( $pages ) ) {
+		$output = "<select name='" . esc_attr( $r['name'] ) . "' id='" . esc_attr( $r['id'] ) . "'>\n";
+		if ( $r['show_option_no_change'] ) {
+			$output .= "\t<option value=\"-1\">" . $r['show_option_no_change'] . "</option>\n";
+		}
+		if ( $r['show_option_none'] ) {
+			$output .= "\t<option value=\"" . esc_attr( $r['option_none_value'] ) . '">' . $r['show_option_none'] . "</option>\n";
+		}
+		$output .= walk_page_dropdown_tree( $pages, $r['depth'], $r );
 		$output .= "</select>\n";
 	}
 
@@ -953,12 +972,12 @@ function wp_dropdown_pages($args = '') {
 	 *
 	 * @param string $output HTML output for drop down list of pages.
 	 */
-	$output = apply_filters( 'wp_dropdown_pages', $output );
-
-	if ( $echo )
-		echo $output;
+	$html = apply_filters( 'wp_dropdown_pages', $output );
 
-	return $output;
+	if ( $r['echo'] ) {
+		echo $html;
+	}
+	return $html;
 }
 
 /**
@@ -966,30 +985,56 @@ function wp_dropdown_pages($args = '') {
  *
  * @since 1.5.0
  *
- * @param array|string $args Optional. Override default arguments.
- * @return string HTML content, if not displaying.
+ * @see get_pages()
+ *
+ * @param array|string $args {
+ *     Array or string of arguments. Optional.
+ *
+ *     @type int    $child_of     Display only the sub-pages of a single page by ID. Default 0 (all pages).
+ *     @type string $authors      Comma-separated list of author IDs. Default empty (all authors).
+ *     @type string $date_format  PHP date format to use for the listed pages. Relies on the 'show_date' parameter.
+ *                                Default is the value of 'date_format' option.
+ *     @type int    $depth        Number of levels in the hierarchy of pages to include in the generated list.
+ *                                Accepts -1 (any depth), 0 (all pages), 1 (top-level pages only), and n (pages to
+ *                                the given n depth). Default 0.
+ *     @type bool   $echo         Whether or not to echo the list of pages. Default true.
+ *     @type string $exclude      Comma-separated list of page IDs to exclude. Default empty.
+ *     @type array  $include      Comma-separated list of page IDs to include. Default empty.
+ *     @type string $link_after   Text or HTML to follow the page link label. Default null.
+ *     @type string $link_before  Text or HTML to precede the page link label. Default null.
+ *     @type string $post_type    Post type to query for. Default 'page'.
+ *     @type string $post_status  Comma-separated list of post statuses to include. Default 'publish'.
+ *     @type string $show_date	  Whether to display the page publish or modified date for each page. Accepts
+ *                                'modified' or any other value. An empty value hides the date. Default empty.
+ *     @type string $sort_column  Comma-separated list of column names to sort the pages by. Accepts 'post_author',
+ *                                'post_date', 'post_title', 'post_name', 'post_modified', 'post_modified_gmt',
+ *                                'menu_order', 'post_parent', 'ID', 'rand', or 'comment_count'. Default 'post_title'.
+ *     @type string $title_li     List heading. Passing a null or empty value will result in no heading, and the list
+ *                                will not be wrapped with unordered list `<ul>` tags. Default 'Pages'.
+ *     @type Walker $walker       Walker instance to use for listing pages. Default empty (Walker_Page).
+ * }
+ * @return string HTML list of pages.
  */
-function wp_list_pages($args = '') {
+function wp_list_pages( $args = '' ) {
 	$defaults = array(
 		'depth' => 0, 'show_date' => '',
-		'date_format' => get_option('date_format'),
+		'date_format' => get_option( 'date_format' ),
 		'child_of' => 0, 'exclude' => '',
-		'title_li' => __('Pages'), 'echo' => 1,
+		'title_li' => __( 'Pages' ), 'echo' => 1,
 		'authors' => '', 'sort_column' => 'menu_order, post_title',
 		'link_before' => '', 'link_after' => '', 'walker' => '',
 	);
 
 	$r = wp_parse_args( $args, $defaults );
-	extract( $r, EXTR_SKIP );
 
 	$output = '';
 	$current_page = 0;
 
 	// sanitize, mostly to keep spaces out
-	$r['exclude'] = preg_replace('/[^0-9,]/', '', $r['exclude']);
+	$r['exclude'] = preg_replace( '/[^0-9,]/', '', $r['exclude'] );
 
 	// Allow plugins to filter an array of excluded pages (but don't put a nullstring into the array)
-	$exclude_array = ( $r['exclude'] ) ? explode(',', $r['exclude']) : array();
+	$exclude_array = ( $r['exclude'] ) ? explode( ',', $r['exclude'] ) : array();
 
 	/**
 	 * Filter the array of pages to exclude from the pages list.
@@ -1002,12 +1047,12 @@ function wp_list_pages($args = '') {
 
 	// Query pages.
 	$r['hierarchical'] = 0;
-	$pages = get_pages($r);
+	$pages = get_pages( $r );
 
-	if ( !empty($pages) ) {
-		if ( $r['title_li'] )
+	if ( ! empty( $pages ) ) {
+		if ( $r['title_li'] ) {
 			$output .= '<li class="pagenav">' . $r['title_li'] . '<ul>';
-
+		}
 		global $wp_query;
 		if ( is_page() || is_attachment() || $wp_query->is_posts_page ) {
 			$current_page = get_queried_object_id();
@@ -1018,10 +1063,11 @@ function wp_list_pages($args = '') {
 			}
 		}
 
-		$output .= walk_page_tree($pages, $r['depth'], $current_page, $r);
+		$output .= walk_page_tree( $pages, $r['depth'], $current_page, $r );
 
-		if ( $r['title_li'] )
+		if ( $r['title_li'] ) {
 			$output .= '</ul></li>';
+		}
 	}
 
 	/**
@@ -1034,12 +1080,13 @@ function wp_list_pages($args = '') {
 	 * @param string $output HTML output of the pages list.
 	 * @param array  $r      An array of page-listing arguments.
 	 */
-	$output = apply_filters( 'wp_list_pages', $output, $r );
+	$html = apply_filters( 'wp_list_pages', $output, $r );
 
-	if ( $r['echo'] )
-		echo $output;
-	else
-		return $output;
+	if ( $r['echo'] ) {
+		echo $html;
+	} else {
+		return $html;
+	}
 }
 
 /**
@@ -1049,23 +1096,22 @@ function wp_list_pages($args = '') {
  * wp_list_pages()} function. Check that function for more info on those
  * arguments.
  *
- * <ul>
- * <li><strong>sort_column</strong> - How to sort the list of pages. Defaults
- * to 'menu_order, post_title'. Use column for posts table.</li>
- * <li><strong>menu_class</strong> - Class to use for the div ID which contains
- * the page list. Defaults to 'menu'.</li>
- * <li><strong>echo</strong> - Whether to echo list or return it. Defaults to
- * echo.</li>
- * <li><strong>link_before</strong> - Text before show_home argument text.</li>
- * <li><strong>link_after</strong> - Text after show_home argument text.</li>
- * <li><strong>show_home</strong> - If you set this argument, then it will
- * display the link to the home page. The show_home argument really just needs
- * to be set to the value of the text of the link.</li>
- * </ul>
- *
  * @since 2.7.0
  *
- * @param array|string $args
+ * @param array|string $args {
+ *     Optional. Arguments to generate a page menu. {@see wp_list_pages()}
+ *     for additional arguments.
+ *
+ * @type string     $sort_column How to short the list of pages. Accepts post column names.
+ *                               Default 'menu_order, post_title'.
+ * @type string     $menu_class  Class to use for the div ID containing the page list. Default 'menu'.
+ * @type bool       $echo        Whether to echo the list or return it. Accepts true (echo) or false (return).
+ *                               Default true.
+ * @type string     $link_before The HTML or text to prepend to $show_home text. Default empty.
+ * @type string     $link_after  The HTML or text to append to $show_home text. Default empty.
+ * @type int|string $show_home   Whether to display the link to the home page. Can just enter the text
+ *                               you'd like shown for the home link. 1|true defaults to 'Home'.
+ * }
  * @return string html menu
  */
 function wp_page_menu( $args = array() ) {
@@ -1189,7 +1235,7 @@ class Walker_Page extends Walker {
 	 * @since 2.1.0
 	 * @var string
 	 */
-	var $tree_type = 'page';
+	public $tree_type = 'page';
 
 	/**
 	 * @see Walker::$db_fields
@@ -1197,7 +1243,7 @@ class Walker_Page extends Walker {
 	 * @todo Decouple this.
 	 * @var array
 	 */
-	var $db_fields = array ('parent' => 'post_parent', 'id' => 'ID');
+	public $db_fields = array ('parent' => 'post_parent', 'id' => 'ID');
 
 	/**
 	 * @see Walker::start_lvl()
@@ -1207,7 +1253,7 @@ class Walker_Page extends Walker {
 	 * @param int $depth Depth of page. Used for padding.
 	 * @param array $args
 	 */
-	function start_lvl( &$output, $depth = 0, $args = array() ) {
+	public function start_lvl( &$output, $depth = 0, $args = array() ) {
 		$indent = str_repeat("\t", $depth);
 		$output .= "\n$indent<ul class='children'>\n";
 	}
@@ -1220,7 +1266,7 @@ class Walker_Page extends Walker {
 	 * @param int $depth Depth of page. Used for padding.
 	 * @param array $args
 	 */
-	function end_lvl( &$output, $depth = 0, $args = array() ) {
+	public function end_lvl( &$output, $depth = 0, $args = array() ) {
 		$indent = str_repeat("\t", $depth);
 		$output .= "$indent</ul>\n";
 	}
@@ -1235,26 +1281,29 @@ class Walker_Page extends Walker {
 	 * @param int $current_page Page ID.
 	 * @param array $args
 	 */
-	function start_el( &$output, $page, $depth = 0, $args = array(), $current_page = 0 ) {
-		if ( $depth )
-			$indent = str_repeat("\t", $depth);
-		else
+	public function start_el( &$output, $page, $depth = 0, $args = array(), $current_page = 0 ) {
+		if ( $depth ) {
+			$indent = str_repeat( "\t", $depth );
+		} else {
 			$indent = '';
+		}
 
-		extract($args, EXTR_SKIP);
-		$css_class = array('page_item', 'page-item-'.$page->ID);
+		$css_class = array( 'page_item', 'page-item-' . $page->ID );
 
-		if( isset( $args['pages_with_children'][ $page->ID ] ) )
+		if ( isset( $args['pages_with_children'][ $page->ID ] ) ) {
 			$css_class[] = 'page_item_has_children';
+		}
 
-		if ( !empty($current_page) ) {
+		if ( ! empty( $current_page ) ) {
 			$_current_page = get_post( $current_page );
-			if ( in_array( $page->ID, $_current_page->ancestors ) )
+			if ( in_array( $page->ID, $_current_page->ancestors ) ) {
 				$css_class[] = 'current_page_ancestor';
-			if ( $page->ID == $current_page )
+			}
+			if ( $page->ID == $current_page ) {
 				$css_class[] = 'current_page_item';
-			elseif ( $_current_page && $page->ID == $_current_page->post_parent )
+			} elseif ( $_current_page && $page->ID == $_current_page->post_parent ) {
 				$css_class[] = 'current_page_parent';
+			}
 		} elseif ( $page->ID == get_option('page_for_posts') ) {
 			$css_class[] = 'current_page_parent';
 		}
@@ -1273,21 +1322,34 @@ class Walker_Page extends Walker {
 		 * @param array   $args         An array of arguments.
 		 * @param int     $current_page ID of the current page.
 		 */
-		$css_class = implode( ' ', apply_filters( 'page_css_class', $css_class, $page, $depth, $args, $current_page ) );
+		$css_classes = implode( ' ', apply_filters( 'page_css_class', $css_class, $page, $depth, $args, $current_page ) );
 
-		if ( '' === $page->post_title )
+		if ( '' === $page->post_title ) {
 			$page->post_title = sprintf( __( '#%d (no title)' ), $page->ID );
+		}
 
-		/** This filter is documented in wp-includes/post-template.php */
-		$output .= $indent . '<li class="' . $css_class . '"><a href="' . get_permalink($page->ID) . '">' . $link_before . apply_filters( 'the_title', $page->post_title, $page->ID ) . $link_after . '</a>';
+		$args['link_before'] = empty( $args['link_before'] ) ? '' : $args['link_before'];
+		$args['link_after'] = empty( $args['link_after'] ) ? '' : $args['link_after'];
 
-		if ( !empty($show_date) ) {
-			if ( 'modified' == $show_date )
+		/** This filter is documented in wp-includes/post-template.php */
+		$output .= $indent . sprintf(
+			'<li class="%s"><a href="%s">%s%s%s</a>',
+			$css_classes,
+			get_permalink( $page->ID ),
+			$args['link_before'],
+			apply_filters( 'the_title', $page->post_title, $page->ID ),
+			$args['link_after']
+		);
+
+		if ( ! empty( $args['show_date'] ) ) {
+			if ( 'modified' == $args['show_date'] ) {
 				$time = $page->post_modified;
-			else
+			} else {
 				$time = $page->post_date;
+			}
 
-			$output .= " " . mysql2date($date_format, $time);
+			$date_format = empty( $args['date_format'] ) ? '' : $args['date_format'];
+			$output .= " " . mysql2date( $date_format, $time );
 		}
 	}
 
@@ -1300,7 +1362,7 @@ class Walker_Page extends Walker {
 	 * @param int $depth Depth of page. Not Used.
 	 * @param array $args
 	 */
-	function end_el( &$output, $page, $depth = 0, $args = array() ) {
+	public function end_el( &$output, $page, $depth = 0, $args = array() ) {
 		$output .= "</li>\n";
 	}
 
@@ -1318,7 +1380,7 @@ class Walker_PageDropdown extends Walker {
 	 * @since 2.1.0
 	 * @var string
 	 */
-	var $tree_type = 'page';
+	public $tree_type = 'page';
 
 	/**
 	 * @see Walker::$db_fields
@@ -1326,7 +1388,7 @@ class Walker_PageDropdown extends Walker {
 	 * @todo Decouple this
 	 * @var array
 	 */
-	var $db_fields = array ('parent' => 'post_parent', 'id' => 'ID');
+	public $db_fields = array ('parent' => 'post_parent', 'id' => 'ID');
 
 	/**
 	 * @see Walker::start_el()
@@ -1338,7 +1400,7 @@ class Walker_PageDropdown extends Walker {
 	 * @param array $args Uses 'selected' argument for selected page to set selected HTML attribute for option element.
 	 * @param int $id
 	 */
-	function start_el( &$output, $page, $depth = 0, $args = array(), $id = 0 ) {
+	public function start_el( &$output, $page, $depth = 0, $args = array(), $id = 0 ) {
 		$pad = str_repeat('&nbsp;', $depth * 3);
 
 		$output .= "\t<option class=\"level-$depth\" value=\"$page->ID\"";
@@ -1412,8 +1474,6 @@ function wp_get_attachment_link( $id = 0, $size = 'thumbnail', $permalink = fals
 	if ( $permalink )
 		$url = get_attachment_link( $_post->ID );
 
-	$post_title = esc_attr( $_post->post_title );
-
 	if ( $text )
 		$link_text = $text;
 	elseif ( $size && 'none' != $size )
@@ -1460,6 +1520,9 @@ function prepend_attachment($content) {
 			$atts['width'] = (int) $meta['width'];
 			$atts['height'] = (int) $meta['height'];
 		}
+		if ( has_post_thumbnail() ) {
+			$atts['poster'] = wp_get_attachment_url( get_post_thumbnail_id() );
+		}
 		$p = wp_video_shortcode( $atts );
 	} elseif ( 0 === strpos( $post->post_mime_type, 'audio' ) ) {
 		$p = wp_audio_shortcode( array( 'src' => wp_get_attachment_url() ) );
@@ -1492,8 +1555,8 @@ function prepend_attachment($content) {
  * Retrieve protected post password form content.
  *
  * @since 1.0.0
- * @uses apply_filters() Calls 'the_password_form' filter on output.
- * @param int|WP_Post $post Optional. A post ID or post object.
+ *
+ * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post.
  * @return string HTML content for password form for password protected post.
  */
 function get_the_password_form( $post = 0 ) {
@@ -1666,7 +1729,7 @@ function wp_post_revision_title_expanded( $revision, $link = true ) {
  * @uses get_edit_post_link()
  * @uses get_the_author_meta()
  *
- * @param int|WP_Post $post_id Optional. Post ID or post object.
+ * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is global $post.
  * @param string $type 'all' (default), 'revision' or 'autosave'
  * @return null
  */
diff --git a/wp-includes/post.php b/wp-includes/post.php
index d537148d2..d9d48a56f 100644
--- a/wp-includes/post.php
+++ b/wp-includes/post.php
@@ -180,13 +180,13 @@ add_action( 'init', 'create_initial_post_types', 0 ); // highest priority
  *
  * @since 2.0.0
  *
- * @param int $attachment_id Attachment ID.
- * @param bool $unfiltered Whether to apply filters.
+ * @param int  $attachment_id Attachment ID.
+ * @param bool $unfiltered    Optional. Whether to apply filters. Default false.
  * @return string|bool The file path to where the attached file should be, false otherwise.
  */
 function get_attached_file( $attachment_id, $unfiltered = false ) {
 	$file = get_post_meta( $attachment_id, '_wp_attached_file', true );
-	// If the file is relative, prepend upload dir
+	// If the file is relative, prepend upload dir.
 	if ( $file && 0 !== strpos($file, '/') && !preg_match('|^.:\\\|', $file) && ( ($uploads = wp_upload_dir()) && false === $uploads['error'] ) )
 		$file = $uploads['basedir'] . "/$file";
 	if ( $unfiltered )
@@ -211,8 +211,8 @@ function get_attached_file( $attachment_id, $unfiltered = false ) {
  *
  * @since 2.1.0
  *
- * @param int $attachment_id Attachment ID
- * @param string $file File path for the attachment
+ * @param int    $attachment_id Attachment ID.
+ * @param string $file          File path for the attachment.
  * @return bool True on success, false on failure.
  */
 function update_attached_file( $attachment_id, $file ) {
@@ -242,8 +242,8 @@ function update_attached_file( $attachment_id, $file ) {
  *
  * @since 2.9.0
  *
- * @param string $path Full path to the file
- * @return string relative path on success, unchanged path on failure.
+ * @param string $path Full path to the file.
+ * @return string Relative path on success, unchanged path on failure.
  */
 function _wp_relative_upload_path( $path ) {
 	$new_path = $path;
@@ -304,16 +304,18 @@ function _wp_relative_upload_path( $path ) {
  * post types are 'post', 'pages', and 'attachments'. The 'post_status'
  * argument will accept any post status within the write administration panels.
  *
- * @see get_posts() Has additional arguments that can be replaced.
  * @internal Claims made in the long description might be inaccurate.
- *
  * @since 2.0.0
  *
- * @param mixed $args Optional. User defined arguments for replacing the defaults.
- * @param string $output Optional. Constant for return type, either OBJECT (default), ARRAY_A, ARRAY_N.
- * @return array|bool False on failure and the type will be determined by $output parameter.
+ * @see get_posts()
+ *
+ * @param mixed  $args   Optional. User defined arguments for replacing the defaults. Default empty.
+ * @param string $output Optional. Constant for return type. Accepts OBJECT, ARRAY_A, ARRAY_N.
+ *                       Default OBJECt.
+ * @return array Array of children, where the type of each element is determined by $output parameter.
+ *               Empty array on failure.
  */
-function get_children($args = '', $output = OBJECT) {
+function get_children( $args = '', $output = OBJECT ) {
 	$kids = array();
 	if ( empty( $args ) ) {
 		if ( isset( $GLOBALS['post'] ) ) {
@@ -378,8 +380,8 @@ function get_children($args = '', $output = OBJECT) {
  * @param string $post Post content.
  * @return array Post before ('main'), after ('extended'), and custom readmore ('more_text').
  */
-function get_extended($post) {
-	//Match the new style more links
+function get_extended( $post ) {
+	//Match the new style more links.
 	if ( preg_match('/<!--more(.*?)?-->/', $post, $matches) ) {
 		list($main, $extended) = explode($matches[0], $post, 2);
 		$more_text = $matches[1];
@@ -389,7 +391,7 @@ function get_extended($post) {
 		$more_text = '';
 	}
 
-	// ` leading and trailing whitespace
+	//  leading and trailing whitespace.
 	$main = preg_replace('/^[\s]*(.*)[\s]*$/', '\\1', $main);
 	$extended = preg_replace('/^[\s]*(.*)[\s]*$/', '\\1', $extended);
 	$more_text = preg_replace('/^[\s]*(.*)[\s]*$/', '\\1', $more_text);
@@ -404,12 +406,13 @@ function get_extended($post) {
  * $post, must be given as a variable, since it is passed by reference.
  *
  * @since 1.5.1
- * @link http://codex.wordpress.org/Function_Reference/get_post
  *
- * @param int|WP_Post $post Optional. Post ID or post object.
- * @param string $output Optional, default is Object. Either OBJECT, ARRAY_A, or ARRAY_N.
- * @param string $filter Optional, default is raw.
- * @return WP_Post|null WP_Post on success or null on failure
+ * @param int|WP_Post $post   Optional. Post ID or post object. Defaults to global $post.
+ * @param string      $output Optional, default is Object. Accepts OBJECT, ARRAY_A, or ARRAY_N.
+ *                            Default OBJECT.
+ * @param string      $filter Optional. Type of filter to apply. Accepts 'raw', 'edit', 'db',
+ *                            or 'display'. Default 'raw'.
+ * @return WP_Post|null WP_Post on success or null on failure.
  */
 function get_post( $post = null, $output = OBJECT, $filter = 'raw' ) {
 	if ( empty( $post ) && isset( $GLOBALS['post'] ) )
@@ -626,6 +629,15 @@ final class WP_Post {
 	 */
 	public $filter;
 
+	/**
+	 * Retrieve WP_Post instance.
+	 *
+	 * @static
+	 * @access public
+	 *
+	 * @param int $post_id Post ID.
+	 * @return WP_Post|bool Post object, false otherwise.
+	 */
 	public static function get_instance( $post_id ) {
 		global $wpdb;
 
@@ -650,11 +662,22 @@ final class WP_Post {
 		return new WP_Post( $_post );
 	}
 
+	/**
+	 * Constructor.
+	 *
+	 * @param WP_Post $post Post object.
+	 */
 	public function __construct( $post ) {
 		foreach ( get_object_vars( $post ) as $key => $value )
 			$this->$key = $value;
 	}
 
+	/**
+	 * Isset-er.
+	 *
+	 * @param string $key Property to check if set.
+	 * @return bool
+	 */
 	public function __isset( $key ) {
 		if ( 'ancestors' == $key )
 			return true;
@@ -671,6 +694,12 @@ final class WP_Post {
 		return metadata_exists( 'post', $this->ID, $key );
 	}
 
+	/**
+	 * Getter.
+	 *
+	 * @param string $key Key to get.
+	 * @return array|mixed
+	 */
 	public function __get( $key ) {
 		if ( 'page_template' == $key && $this->__isset( $key ) ) {
 			return get_post_meta( $this->ID, '_wp_page_template', true );
@@ -696,8 +725,7 @@ final class WP_Post {
 			return wp_list_pluck( $terms, 'name' );
 		}
 
-		// Rest of the values need filtering
-
+		// Rest of the values need filtering.
 		if ( 'ancestors' == $key )
 			$value = get_post_ancestors( $this );
 		else
@@ -709,6 +737,12 @@ final class WP_Post {
 		return $value;
 	}
 
+	/**
+	 * {@Missing Summary}
+	 *
+	 * @param string $filter Filter.
+	 * @return $this|array|bool|object|WP_Post
+	 */
 	public function filter( $filter ) {
 		if ( $this->filter == $filter )
 			return $this;
@@ -719,6 +753,11 @@ final class WP_Post {
 		return sanitize_post( $this, $filter );
 	}
 
+	/**
+	 * Convert object to array.
+	 *
+	 * @return array Object as array.
+	 */
 	public function to_array() {
 		$post = get_object_vars( $this );
 
@@ -770,11 +809,13 @@ function get_post_ancestors( $post ) {
  * supported values are found within those functions.
  *
  * @since 2.3.0
- * @uses sanitize_post_field() See for possible $context values.
  *
- * @param string $field Post field name.
- * @param int|WP_Post $post Post ID or post object.
- * @param string $context Optional. How to filter the field. Default is 'display'.
+ * @see sanitize_post_field()
+ *
+ * @param string      $field   Post field name.
+ * @param int|WP_Post $post    Post ID or post object.
+ * @param string      $context Optional. How to filter the field. Accepts 'raw', 'edit', 'db',
+ *                             or 'display'. Default 'display'.
  * @return string The value of the post field on success, empty string on failure.
  */
 function get_post_field( $field, $post, $context = 'display' ) {
@@ -797,10 +838,10 @@ function get_post_field( $field, $post, $context = 'display' ) {
  *
  * @since 2.0.0
  *
- * @param int|WP_Post $ID Optional. Post ID or post object.
+ * @param int|WP_Post $ID Optional. Post ID or post object. Default empty.
  * @return string|bool The mime type on success, false on failure.
  */
-function get_post_mime_type($ID = '') {
+function get_post_mime_type( $ID = '' ) {
 	$post = get_post($ID);
 
 	if ( is_object($post) )
@@ -817,10 +858,10 @@ function get_post_mime_type($ID = '') {
  *
  * @since 2.0.0
  *
- * @param int|WP_Post $ID Optional. Post ID or post object.
+ * @param int|WP_Post $ID Optional. Post ID or post object. Default empty.
  * @return string|bool Post status on success, false on failure.
  */
-function get_post_status($ID = '') {
+function get_post_status( $ID = '' ) {
 	$post = get_post($ID);
 
 	if ( !is_object($post) )
@@ -830,13 +871,20 @@ function get_post_status($ID = '') {
 		if ( 'private' == $post->post_status )
 			return 'private';
 
-		// Unattached attachments are assumed to be published
+		// Unattached attachments are assumed to be published.
 		if ( ( 'inherit' == $post->post_status ) && ( 0 == $post->post_parent) )
 			return 'publish';
 
-		// Inherit status from the parent
-		if ( $post->post_parent && ( $post->ID != $post->post_parent ) )
-			return get_post_status($post->post_parent);
+		// Inherit status from the parent.
+		if ( $post->post_parent && ( $post->ID != $post->post_parent ) ) {
+			$parent_post_status = get_post_status( $post->post_parent );
+			if ( 'trash' == $parent_post_status ) {
+				return get_post_meta( $post->post_parent, '_wp_trash_meta_status', true );
+			} else {
+				return $parent_post_status;
+			}
+		}
+
 	}
 
 	return $post->post_status;
@@ -854,10 +902,10 @@ function get_post_status($ID = '') {
  */
 function get_post_statuses() {
 	$status = array(
-		'draft'			=> __('Draft'),
-		'pending'		=> __('Pending Review'),
-		'private'		=> __('Private'),
-		'publish'		=> __('Published')
+		'draft'   => __( 'Draft' ),
+		'pending' => __( 'Pending Review' ),
+		'private' => __( 'Private' ),
+		'publish' => __( 'Published' )
 	);
 
 	return $status;
@@ -875,9 +923,9 @@ function get_post_statuses() {
  */
 function get_page_statuses() {
 	$status = array(
-		'draft'			=> __('Draft'),
-		'private'		=> __('Private'),
-		'publish'		=> __('Published')
+		'draft'   => __( 'Draft' ),
+		'private' => __( 'Private' ),
+		'publish' => __( 'Published' )
 	);
 
 	return $status;
@@ -890,25 +938,42 @@ function get_page_statuses() {
  * parameters given. The function will accept an array (second optional
  * parameter), along with a string for the post status name.
  *
- *
- * Optional $args contents:
- *
- * label - A descriptive name for the post status marked for translation. Defaults to $post_status.
- * public - Whether posts of this status should be shown in the front end of the site. Defaults to true.
- * exclude_from_search - Whether to exclude posts with this post status from search results. Defaults to false.
- * show_in_admin_all_list - Whether to include posts in the edit listing for their post type
- * show_in_admin_status_list - Show in the list of statuses with post counts at the top of the edit
- *                             listings, e.g. All (12) | Published (9) | My Custom Status (2) ...
- *
  * Arguments prefixed with an _underscore shouldn't be used by plugins and themes.
  *
  * @since 3.0.0
  * @uses $wp_post_statuses Inserts new post status object into the list
  *
  * @param string $post_status Name of the post status.
- * @param array|string $args See above description.
+ * @param array|string $args {
+ *     Optional. Array or string of post status arguments.
+ *
+ *     @type bool|string $label                     A descriptive name for the post status marked
+ *                                                  for translation. Defaults to value of $post_status.
+ *     @type bool|array  $label_count               Descriptive text to use for nooped plurals.
+ *                                                  Default array of $label, twice
+ *     @type bool        $exclude_from_search       Whether to exclude posts with this post status
+ *                                                  from search results. Default is value of $internal.
+ *     @type bool        $_builtin                  Whether the status is built-in. Core-use only.
+ *                                                  Default false.
+ *     @type bool        $public                    Whether posts of this status should be shown
+ *                                                  in the front end of the site. Default true.
+ *     @type bool        $internal                  Whether the status is for internal use only.
+ *                                                  Default false.
+ *     @type bool        $protected                 Whether posts with this status should be protected.
+ *                                                  Default false.
+ *     @type bool        $private                   Whether posts with this status should be private.
+ *                                                  Default false.
+ *     @type bool        $publicly_queryable        Whether posts with this status should be publicly-
+ *                                                  queryable. Default is value of $public.
+ *     @type bool        $show_in_admin_all_list    Whether to include posts in the edit listing for
+ *                                                  their post type. Default is value of $internal.
+ *     @type bool        $show_in_admin_status_list Show in the list of statuses with post counts at
+ *                                                  the top of the edit listings,
+ *                                                  e.g. All (12) | Published (9) | My Custom Status (2)
+ *                                                  Default is value of $internal.
+ * }
  */
-function register_post_status($post_status, $args = array()) {
+function register_post_status( $post_status, $args = array() ) {
 	global $wp_post_statuses;
 
 	if (!is_array($wp_post_statuses))
@@ -934,6 +999,7 @@ function register_post_status($post_status, $args = array()) {
 	$post_status = sanitize_key($post_status);
 	$args->name = $post_status;
 
+	// Set various defaults.
 	if ( null === $args->public && null === $args->internal && null === $args->protected && null === $args->private )
 		$args->internal = true;
 
@@ -973,15 +1039,16 @@ function register_post_status($post_status, $args = array()) {
 }
 
 /**
- * Retrieve a post status object by name
+ * Retrieve a post status object by name.
  *
  * @since 3.0.0
- * @uses $wp_post_statuses
- * @see register_post_status
- * @see get_post_statuses
  *
- * @param string $post_status The name of a registered post status
- * @return object A post status object
+ * @global array $wp_post_statuses List of post statuses.
+ *
+ * @see register_post_status()
+ *
+ * @param string $post_status The name of a registered post status.
+ * @return object A post status object.
  */
 function get_post_status_object( $post_status ) {
 	global $wp_post_statuses;
@@ -996,15 +1063,18 @@ function get_post_status_object( $post_status ) {
  * Get a list of all registered post status objects.
  *
  * @since 3.0.0
- * @uses $wp_post_statuses
- * @see register_post_status
- * @see get_post_status_object
- *
- * @param array|string $args An array of key => value arguments to match against the post status objects.
- * @param string $output The type of output to return, either post status 'names' or 'objects'. 'names' is the default.
- * @param string $operator The logical operation to perform. 'or' means only one element
- *  from the array needs to match; 'and' means all elements must match. The default is 'and'.
- * @return array A list of post status names or objects
+ *
+ * @global array $wp_post_statuses List of post statuses.
+ *
+ * @see register_post_status()
+ *
+ * @param array|string $args     Optional. Array or string of post status arguments. Default array.
+ * @param string       $output   Optional. The type of output to return. Accepts post status 'names'
+ *                               or 'objects'. Default 'names'.
+ * @param string       $operator Optional. The logical operation to perform. 'or' means only one element
+ *                               from the array needs to match; 'and' means all elements must match.
+ *                               Default 'and'.
+ * @return array A list of post status names or objects.
  */
 function get_post_stati( $args = array(), $output = 'names', $operator = 'and' ) {
 	global $wp_post_statuses;
@@ -1020,7 +1090,8 @@ function get_post_stati( $args = array(), $output = 'names', $operator = 'and' )
  * A false return value might also mean that the post type does not exist.
  *
  * @since 3.0.0
- * @see get_post_type_object
+ *
+ * @see get_post_type_object()
  *
  * @param string $post_type Post type name
  * @return bool Whether post type is hierarchical.
@@ -1034,12 +1105,13 @@ function is_post_type_hierarchical( $post_type ) {
 }
 
 /**
- * Checks if a post type is registered.
+ * Check if a post type is registered.
  *
  * @since 3.0.0
- * @uses get_post_type_object()
  *
- * @param string $post_type Post type name
+ * @see get_post_type_object()
+ *
+ * @param string $post_type Post type name.
  * @return bool Whether post type is registered.
  */
 function post_type_exists( $post_type ) {
@@ -1051,7 +1123,7 @@ function post_type_exists( $post_type ) {
  *
  * @since 2.1.0
  *
- * @param int|WP_Post $post Optional. Post ID or post object.
+ * @param int|WP_Post $post Optional. Post ID or post object. Default is global $post.
  * @return string|bool Post type on success, false on failure.
  */
 function get_post_type( $post = null ) {
@@ -1062,15 +1134,16 @@ function get_post_type( $post = null ) {
 }
 
 /**
- * Retrieve a post type object by name
+ * Retrieve a post type object by name.
  *
  * @since 3.0.0
- * @uses $wp_post_types
- * @see register_post_type
- * @see get_post_types
  *
- * @param string $post_type The name of a registered post type
- * @return object A post type object
+ * @global array $wp_post_types List of post types.
+ *
+ * @see register_post_type()
+ *
+ * @param string $post_type The name of a registered post type.
+ * @return object A post type object.
  */
 function get_post_type_object( $post_type ) {
 	global $wp_post_types;
@@ -1085,14 +1158,19 @@ function get_post_type_object( $post_type ) {
  * Get a list of all registered post type objects.
  *
  * @since 2.9.0
- * @uses $wp_post_types
- * @see register_post_type
- *
- * @param array|string $args An array of key => value arguments to match against the post type objects.
- * @param string $output The type of output to return, either post type 'names' or 'objects'. 'names' is the default.
- * @param string $operator The logical operation to perform. 'or' means only one element
- *  from the array needs to match; 'and' means all elements must match. The default is 'and'.
- * @return array A list of post type names or objects
+ *
+ * @global array $wp_post_types List of post types.
+ *
+ * @see register_post_type()
+ *
+ * @param array|string $args     Optional. An array of key => value arguments to match against
+ *                               the post type objects. Default empty array.
+ * @param string       $output   Optional. The type of output to return. Accepts post type 'names'
+ *                               or 'objects'. Default 'names'.
+ * @param string       $operator Optaionl. The logical operation to perform. 'or' means only one
+ *                               element from the array needs to match; 'and' means all elements
+ *                               must match. Default 'and'.
+ * @return array A list of post type names or objects.
  */
 function get_post_types( $args = array(), $output = 'names', $operator = 'and' ) {
 	global $wp_post_types;
@@ -1109,91 +1187,111 @@ function get_post_types( $args = array(), $output = 'names', $operator = 'and' )
  * parameters given. The function will accept an array (second optional
  * parameter), along with a string for the post type name.
  *
- * Optional $args contents:
- *
- * - label - Name of the post type shown in the menu. Usually plural. If not set, labels['name'] will be used.
- * - labels - An array of labels for this post type.
- *     * If not set, post labels are inherited for non-hierarchical types and page labels for hierarchical ones.
- *     * You can see accepted values in {@link get_post_type_labels()}.
- * - description - A short descriptive summary of what the post type is. Defaults to blank.
- * - public - Whether a post type is intended for use publicly either via the admin interface or by front-end users.
- *     * Defaults to false.
- *     * While the default settings of exclude_from_search, publicly_queryable, show_ui, and show_in_nav_menus are
- *       inherited from public, each does not rely on this relationship and controls a very specific intention.
- * - hierarchical - Whether the post type is hierarchical (e.g. page). Defaults to false.
- * - exclude_from_search - Whether to exclude posts with this post type from front end search results.
- *     * If not set, the opposite of public's current value is used.
- * - publicly_queryable - Whether queries can be performed on the front end for the post type as part of parse_request().
- *     * ?post_type={post_type_key}
- *     * ?{post_type_key}={single_post_slug}
- *     * ?{post_type_query_var}={single_post_slug}
- *     * If not set, the default is inherited from public.
- * - show_ui - Whether to generate a default UI for managing this post type in the admin.
- *     * If not set, the default is inherited from public.
- * - show_in_menu - Where to show the post type in the admin menu.
- *     * If true, the post type is shown in its own top level menu.
- *     * If false, no menu is shown
- *     * If a string of an existing top level menu (eg. 'tools.php' or 'edit.php?post_type=page'), the post type will
- *       be placed as a sub menu of that.
- *     * show_ui must be true.
- *     * If not set, the default is inherited from show_ui
- * - show_in_nav_menus - Makes this post type available for selection in navigation menus.
- *     * If not set, the default is inherited from public.
- * - show_in_admin_bar - Makes this post type available via the admin bar.
- *     * If not set, the default is inherited from show_in_menu
- * - menu_position - The position in the menu order the post type should appear.
- *     * show_in_menu must be true
- *     * Defaults to null, which places it at the bottom of its area.
- * - menu_icon - The url to the icon to be used for this menu. Defaults to use the posts icon.
- *     * Pass a base64-encoded SVG using a data URI, which will be colored to match the color scheme.
- *      This should begin with 'data:image/svg+xml;base64,'.
- *     * Pass the name of a Dashicons helper class to use a font icon, e.g. 'dashicons-chart-pie'.
- *     * Pass 'none' to leave div.wp-menu-image empty so an icon can be added via CSS.
- * - capability_type - The string to use to build the read, edit, and delete capabilities. Defaults to 'post'.
- *     * May be passed as an array to allow for alternative plurals when using this argument as a base to construct the
- *       capabilities, e.g. array('story', 'stories').
- * - capabilities - Array of capabilities for this post type.
- *     * By default the capability_type is used as a base to construct capabilities.
- *     * You can see accepted values in {@link get_post_type_capabilities()}.
- * - map_meta_cap - Whether to use the internal default meta capability handling. Defaults to false.
- * - supports - An alias for calling add_post_type_support() directly. Defaults to title and editor.
- *     * See {@link add_post_type_support()} for documentation.
- * - register_meta_box_cb - Provide a callback function that sets up the meta boxes
- *     for the edit form. Do remove_meta_box() and add_meta_box() calls in the callback.
- * - taxonomies - An array of taxonomy identifiers that will be registered for the post type.
- *     * Default is no taxonomies.
- *     * Taxonomies can be registered later with register_taxonomy() or register_taxonomy_for_object_type().
- * - has_archive - True to enable post type archives. Default is false.
- *     * Will generate the proper rewrite rules if rewrite is enabled.
- * - rewrite - Triggers the handling of rewrites for this post type. Defaults to true, using $post_type as slug.
- *     * To prevent rewrite, set to false.
- *     * To specify rewrite rules, an array can be passed with any of these keys
- *         * 'slug' => string Customize the permastruct slug. Defaults to $post_type key
- *         * 'with_front' => bool Should the permastruct be prepended with WP_Rewrite::$front. Defaults to true.
- *         * 'feeds' => bool Should a feed permastruct be built for this post type. Inherits default from has_archive.
- *         * 'pages' => bool Should the permastruct provide for pagination. Defaults to true.
- *         * 'ep_mask' => const Assign an endpoint mask.
- *             * If not specified and permalink_epmask is set, inherits from permalink_epmask.
- *             * If not specified and permalink_epmask is not set, defaults to EP_PERMALINK
- * - query_var - Sets the query_var key for this post type. Defaults to $post_type key
- *     * If false, a post type cannot be loaded at ?{query_var}={post_slug}
- *     * If specified as a string, the query ?{query_var_string}={post_slug} will be valid.
- * - can_export - Allows this post type to be exported. Defaults to true.
- * - delete_with_user - Whether to delete posts of this type when deleting a user.
- *     * If true, posts of this type belonging to the user will be moved to trash when then user is deleted.
- *     * If false, posts of this type belonging to the user will *not* be trashed or deleted.
- *     * If not set (the default), posts are trashed if post_type_supports('author'). Otherwise posts are not trashed or deleted.
- * - _builtin - true if this post type is a native or "built-in" post_type. THIS IS FOR INTERNAL USE ONLY!
- * - _edit_link - URL segement to use for edit link of this post type. THIS IS FOR INTERNAL USE ONLY!
- *
  * @since 2.9.0
- * @uses $wp_post_types Inserts new post type object into the list
- * @uses $wp_rewrite Gets default feeds
- * @uses $wp Adds query vars
+ *
+ * @global array      $wp_post_types List of post types.
+ * @global WP_Rewrite $wp_rewrite    Used for default feeds.
+ * @global WP         $wp            Used to add query vars.
  *
  * @param string $post_type Post type key, must not exceed 20 characters.
- * @param array|string $args See optional args description above.
- * @return object|WP_Error the registered post type object, or an error object.
+ * @param array|string $args {
+ *     Array or string of arguments for registering a post type.
+ *
+ *     @type string      $label                Name of the post type shown in the menu. Usually plural.
+ *                                             Default is value of $labels['name'].
+ *     @type array       $labels               An array of labels for this post type. If not set, post
+ *                                             labels are inherited for non-hierarchical types and page
+ *                                             labels for hierarchical ones. {@see get_post_type_labels()}.
+ *     @type string      $description          A short descriptive summary of what the post type is.
+ *                                             Default empty.
+ *     @type bool        $public               Whether a post type is intended for use publicly either via
+ *                                             the admin interface or by front-end users. While the default
+ *                                             settings of $exclude_from_search, $publicly_queryable, $show_ui,
+ *                                             and $show_in_nav_menus are inherited from public, each does not
+ *                                             rely on this relationship and controls a very specific intention.
+ *                                             Default false.
+ *     @type bool        $hierarchical         Whether the post type is hierarchical (e.g. page). Default false.
+ *     @type bool        $exclude_from_search  Whether to exclude posts with this post type from front end search
+ *                                             results. Default is the opposite value of $public.
+ *     @type bool        $publicly_queryable   Whether queries can be performed on the front end for the post type
+ *                                             as part of {@see parse_request()}. Endpoints would include:
+ *                                             * ?post_type={post_type_key}
+ *                                             * ?{post_type_key}={single_post_slug}
+ *                                             * ?{post_type_query_var}={single_post_slug}
+ *                                             If not set, the default is inherited from $public.
+ *     @type bool        $show_ui              Whether to generate a default UI for managing this post type in the
+ *                                             admin. Default is value of $public.
+ *     @type bool        $show_in_menu         Where to show the post type in the admin menu. To work, $show_ui
+ *                                             must be true. If true, the post type is shown in its own top level
+ *                                             menu. If false, no menu is shown. If a string of an existing top
+ *                                             level menu (eg. 'tools.php' or 'edit.php?post_type=page'), the post
+ *                                             type will be placed as a sub-menu of that.
+ *                                             Default is value of $show_ui.
+ *     @type bool        $show_in_nav_menus    Makes this post type available for selection in navigation menus.
+ *                                             Default is value $public.
+ *     @type bool        $show_in_admin_bar    Makes this post type available via the admin bar. Default is value
+ *                                             of $show_in_menu.
+ *     @type int         $menu_position        The position in the menu order the post type should appear. To work,
+ *                                             $show_in_menu must be true. Default null (at the bottom).
+ *     @type string      $menu_icon            The url to the icon to be used for this menu. Pass a base64-encoded
+ *                                             SVG using a data URI, which will be colored to match the color scheme
+ *                                             -- this should begin with 'data:image/svg+xml;base64,'. Pass the name
+ *                                             of a Dashicons helper class to use a font icon, e.g.
+ *                                             'dashicons-chart-pie'. Pass 'none' to leave div.wp-menu-image empty
+ *                                             so an icon can be added via CSS. Defaults to use the posts icon.
+ *     @type string      $capability_type      The string to use to build the read, edit, and delete capabilities.
+ *                                             May be passed as an array to allow for alternative plurals when using
+ *                                             this argument as a base to construct the capabilities, e.g.
+ *                                             array('story', 'stories'). Default 'post'.
+ *     @type array       $capabilities         Array of capabilities for this post type. $capability_type is used
+ *                                             as a base to construct capabilities by default.
+ *                                             {@see get_post_type_capabilities()}.
+ *     @type bool        $map_meta_cap         Whether to use the internal default meta capability handling.
+ *                                             Default false.
+ *     @type array       $supports             An alias for calling {@see add_post_type_support()} directly.
+ *                                             Defaults to array containing 'title' & 'editor'.
+ *     @type callback    $register_meta_box_cb Provide a callback function that sets up the meta boxes for the
+ *                                             edit form. Do remove_meta_box() and add_meta_box() calls in the
+ *                                             callback. Default null.
+ *     @type array       $taxonomies           An array of taxonomy identifiers that will be registered for the
+ *                                             post type. Taxonomies can be registered later with
+ *                                             {@see register_taxonomy()} or {@see register_taxonomy_for_object_type()}.
+ *                                             Default empty array.
+ *     @type bool|string $has_archive          Whether there should be post type archives, or if a string, the
+ *                                             archive slug to use. Will generate the proper rewrite rules if
+ *                                             $rewrite is enabled. Default false.
+ *     @type bool|array  $rewrite              {
+ *         Triggers the handling of rewrites for this post type. To prevent rewrite, set to false.
+ *         Defaults to true, using $post_type as slug. To specify rewrite rules, an array can be
+ *         passed with any of these keys:
+ *
+ *         @type string $slug       Customize the permastruct slug. Defaults to $post_type key.
+ *         @type bool   $with_front Whether the permastruct should be prepended with WP_Rewrite::$front.
+ *                                  Default true.
+ *         @type bool   $feeds      Whether the feed permastruct should be built for this post type.
+ *                                  Default is value of $has_archive.
+ *         @type bool   $pages      Whether the permastruct should provide for pagination. Default true.
+ *         @type const  $ep_mask    Endpoint mask to assign. If not specified and permalink_epmask is set,
+ *                                  inherits from $permalink_epmask. If not specified and permalink_epmask
+ *                                  is not set, defaults to EP_PERMALINK.
+ *     }
+ *     @type string|bool $query_var            Sets the query_var key for this post type. Defaults to $post_type
+ *                                             key. If false, a post type cannot be loaded at
+ *                                             ?{query_var}={post_slug}. If specified as a string, the query
+ *                                             ?{query_var_string}={post_slug} will be valid.
+ *     @type bool        $can_export           Whether to allow this post type to be exported. Default true.
+ *     @type bool        $delete_with_user     Whether to delete posts of this type when deleting a user. If true,
+ *                                             posts of this type belonging to the user will be moved to trash
+ *                                             when then user is deleted. If false, posts of this type belonging
+ *                                             to the user will *not* be trashed or deleted. If not set (the default),
+ *                                             posts are trashed if post_type_supports('author'). Otherwise posts
+ *                                             are not trashed or deleted. Default null.
+ *     @type bool        $_builtin             FOR INTERNAL USE ONLY! True if this post type is a native or
+ *                                             "built-in" post_type. Default false.
+ *     @type string      $_edit_link           FOR INTERNAL USE ONLY! URL segment to use for edit link of
+ *                                             this post type. Default 'post.php?post=%d'.
+ * }
+ * @return object|WP_Error The registered post type object, or an error object.
  */
 function register_post_type( $post_type, $args = array() ) {
 	global $wp_post_types, $wp_rewrite, $wp;
@@ -1235,8 +1333,10 @@ function register_post_type( $post_type, $args = array() ) {
 	$post_type = sanitize_key( $post_type );
 	$args->name = $post_type;
 
-	if ( strlen( $post_type ) > 20 )
+	if ( strlen( $post_type ) > 20 ) {
+		_doing_it_wrong( __FUNCTION__, __( 'Post types cannot exceed 20 characters in length' ), '4.0' );
 		return new WP_Error( 'post_type_too_long', __( 'Post types cannot exceed 20 characters in length' ) );
+	}
 
 	// If not set, default to the setting for public.
 	if ( null === $args->publicly_queryable )
@@ -1262,7 +1362,7 @@ function register_post_type( $post_type, $args = array() ) {
 	if ( null === $args->exclude_from_search )
 		$args->exclude_from_search = !$args->public;
 
-	// Back compat with quirky handling in version 3.0. #14122
+	// Back compat with quirky handling in version 3.0. #14122.
 	if ( empty( $args->capabilities ) && null === $args->map_meta_cap && in_array( $args->capability_type, array( 'post', 'page' ) ) )
 		$args->map_meta_cap = true;
 
@@ -1337,6 +1437,7 @@ function register_post_type( $post_type, $args = array() ) {
 		add_permastruct( $post_type, "{$args->rewrite['slug']}/%$post_type%", $permastruct_args );
 	}
 
+	// Register the post type meta box if a custom callback was specified.
 	if ( $args->register_meta_box_cb )
 		add_action( 'add_meta_boxes_' . $post_type, $args->register_meta_box_cb, 10, 1 );
 
@@ -1357,7 +1458,7 @@ function register_post_type( $post_type, $args = array() ) {
 	 * @since 3.3.0
 	 *
 	 * @param string $post_type Post type.
-	 * @param array  $args      Arguments used to register the post type.
+	 * @param object $args      Arguments used to register the post type.
 	 */
 	do_action( 'registered_post_type', $post_type, $args );
 
@@ -1365,7 +1466,7 @@ function register_post_type( $post_type, $args = array() ) {
 }
 
 /**
- * Builds an object with all post type capabilities out of a post type object
+ * Build an object with all post type capabilities out of a post type object
  *
  * Post type capabilities use the 'capability_type' argument as a base, if the
  * capability is not set in the 'capabilities' argument array or if the
@@ -1411,11 +1512,13 @@ function register_post_type( $post_type, $args = array() ) {
  * only assigned by default if the post type is registered with the 'map_meta_cap'
  * argument set to true (default is false).
  *
- * @see map_meta_cap()
  * @since 3.0.0
  *
- * @param object $args Post type registration arguments
- * @return object object with all the capabilities as member variables
+ * @see register_post_type()
+ * @see map_meta_cap()
+ *
+ * @param object $args Post type registration arguments.
+ * @return object object with all the capabilities as member variables.
  */
 function get_post_type_capabilities( $args ) {
 	if ( ! is_array( $args->capability_type ) )
@@ -1464,10 +1567,12 @@ function get_post_type_capabilities( $args ) {
 }
 
 /**
- * Stores or returns a list of post type meta caps for map_meta_cap().
+ * Store or return a list of post type meta caps for map_meta_cap().
  *
  * @since 3.1.0
  * @access private
+ *
+ * @param null|array $capabilities Post type meta capabilities.
  */
 function _post_type_meta_capabilities( $capabilities = null ) {
 	static $meta_caps = array();
@@ -1480,30 +1585,37 @@ function _post_type_meta_capabilities( $capabilities = null ) {
 }
 
 /**
- * Builds an object with all post type labels out of a post type object
+ * Build an object with all post type labels out of a post type object
  *
  * Accepted keys of the label array in the post type object:
- * - name - general name for the post type, usually plural. The same and overridden by $post_type_object->label. Default is Posts/Pages
+ *
+ * - name - general name for the post type, usually plural. The same and overridden
+ *          by $post_type_object->label. Default is Posts/Pages
  * - singular_name - name for one object of this post type. Default is Post/Page
- * - add_new - Default is Add New for both hierarchical and non-hierarchical types. When internationalizing this string, please use a {@link http://codex.wordpress.org/I18n_for_WordPress_Developers#Disambiguation_by_context gettext context} matching your post type. Example: <code>_x('Add New', 'product');</code>
- * - add_new_item - Default is Add New Post/Add New Page
- * - edit_item - Default is Edit Post/Edit Page
- * - new_item - Default is New Post/New Page
- * - view_item - Default is View Post/View Page
- * - search_items - Default is Search Posts/Search Pages
- * - not_found - Default is No posts found/No pages found
- * - not_found_in_trash - Default is No posts found in Trash/No pages found in Trash
- * - parent_item_colon - This string isn't used on non-hierarchical types. In hierarchical ones the default is Parent Page:
- * - all_items - String for the submenu. Default is All Posts/All Pages
- * - menu_name - Default is the same as <code>name</code>
- *
- * Above, the first default value is for non-hierarchical post types (like posts) and the second one is for hierarchical post types (like pages).
+ * - add_new - Default is Add New for both hierarchical and non-hierarchical types.
+ *             When internationalizing this string, please use a gettext context
+ *             {@see http://codex.wordpress.org/I18n_for_WordPress_Developers#Disambiguation_by_context}
+ *             matching your post type. Example: <code>_x('Add New', 'product');</code>.
+ * - add_new_item - Default is Add New Post/Add New Page.
+ * - edit_item - Default is Edit Post/Edit Page.
+ * - new_item - Default is New Post/New Page.
+ * - view_item - Default is View Post/View Page.
+ * - search_items - Default is Search Posts/Search Pages.
+ * - not_found - Default is No posts found/No pages found.
+ * - not_found_in_trash - Default is No posts found in Trash/No pages found in Trash.
+ * - parent_item_colon - This string isn't used on non-hierarchical types. In hierarchical
+ *                       ones the default is 'Parent Page:'.
+ * - all_items - String for the submenu. Default is All Posts/All Pages.
+ * - menu_name - Default is the same as <code>name</code>.
+ *
+ * Above, the first default value is for non-hierarchical post types (like posts)
+ * and the second one is for hierarchical post types (like pages).
  *
  * @since 3.0.0
  * @access private
  *
- * @param object $post_type_object
- * @return object object with all the labels as member variables
+ * @param object $post_type_object Post type object.
+ * @return object object with all the labels as member variables.
  */
 function get_post_type_labels( $post_type_object ) {
 	$nohier_vs_hier_defaults = array(
@@ -1542,10 +1654,14 @@ function get_post_type_labels( $post_type_object ) {
 }
 
 /**
- * Builds an object with custom-something object (post type, taxonomy) labels out of a custom-something object
+ * Build an object with custom-something object (post type, taxonomy) labels
+ * out of a custom-something object
  *
- * @access private
  * @since 3.0.0
+ * @access private
+ *
+ * @param object $object                  A custom-something object.
+ * @param array  $nohier_vs_hier_defaults Hierarchical vs non-hierarchical default labels.
  */
 function _get_custom_object_labels( $object, $nohier_vs_hier_defaults ) {
 	$object->labels = (array) $object->labels;
@@ -1573,7 +1689,7 @@ function _get_custom_object_labels( $object, $nohier_vs_hier_defaults ) {
 }
 
 /**
- * Adds submenus for post types.
+ * Add submenus for post types.
  *
  * @access private
  * @since 3.1.0
@@ -1581,7 +1697,7 @@ function _get_custom_object_labels( $object, $nohier_vs_hier_defaults ) {
 function _add_post_type_submenus() {
 	foreach ( get_post_types( array( 'show_ui' => true ) ) as $ptype ) {
 		$ptype_obj = get_post_type_object( $ptype );
-		// Submenus only.
+		// Sub-menus only.
 		if ( ! $ptype_obj->show_in_menu || $ptype_obj->show_in_menu === true )
 			continue;
 		add_submenu_page( $ptype_obj->show_in_menu, $ptype_obj->labels->name, $ptype_obj->labels->all_items, $ptype_obj->cap->edit_posts, "edit.php?post_type=$ptype" );
@@ -1604,7 +1720,7 @@ add_action( 'admin_menu', '_add_post_type_submenus' );
  * @since 3.0.0
  *
  * @param string       $post_type The post type for which to add the feature.
- * @param string|array $feature   The feature being added, accpets an array of
+ * @param string|array $feature   The feature being added, accepts an array of
  *                                feature strings or a single string.
  */
 function add_post_type_support( $post_type, $feature ) {
@@ -1623,8 +1739,9 @@ function add_post_type_support( $post_type, $feature ) {
  * Remove support for a feature from a post type.
  *
  * @since 3.0.0
- * @param string $post_type The post type for which to remove the feature
- * @param string $feature The feature being removed
+ *
+ * @param string $post_type The post type for which to remove the feature.
+ * @param string $feature   The feature being removed.
  */
 function remove_post_type_support( $post_type, $feature ) {
 	global $_wp_post_type_features;
@@ -1637,10 +1754,10 @@ function remove_post_type_support( $post_type, $feature ) {
  * Get all the post type features
  *
  * @since 3.4.0
- * @param string $post_type The post type
- * @return array
+ *
+ * @param string $post_type The post type.
+ * @return array Post type supports list.
  */
-
 function get_all_post_type_supports( $post_type ) {
 	global $_wp_post_type_features;
 
@@ -1651,14 +1768,14 @@ function get_all_post_type_supports( $post_type ) {
 }
 
 /**
- * Checks a post type's support for a given feature
+ * Check a post type's support for a given feature.
  *
  * @since 3.0.0
- * @param string $post_type The post type being checked
- * @param string $feature the feature being checked
- * @return boolean
+ *
+ * @param string $post_type The post type being checked.
+ * @param string $feature the feature being checked.
+ * @return bool Whether the post type supports the given feature.
  */
-
 function post_type_supports( $post_type, $feature ) {
 	global $_wp_post_type_features;
 
@@ -1666,17 +1783,17 @@ function post_type_supports( $post_type, $feature ) {
 }
 
 /**
- * Updates the post type for the post ID.
+ * Update the post type for the post ID.
  *
  * The page or post cache will be cleaned for the post ID.
  *
  * @since 2.5.0
  *
- * @uses $wpdb
+ * @global wpdb $wpdb WordPress database access abstraction object.
  *
- * @param int $post_id Post ID to change post type. Not actually optional.
- * @param string $post_type Optional, default is post. Supported values are 'post' or 'page' to
- *  name a few.
+ * @param int    $post_id   Optional. Post ID to change post type. Default 0.
+ * @param string $post_type Optional. Post type. Accepts 'post' or 'page' to
+ *                          name a few. Default 'post'.
  * @return int Amount of rows changed. Should be 1 for success and 0 for failure.
  */
 function set_post_type( $post_id = 0, $post_type = 'post' ) {
@@ -1694,27 +1811,32 @@ function set_post_type( $post_id = 0, $post_type = 'post' ) {
  * Retrieve list of latest posts or posts matching criteria.
  *
  * The defaults are as follows:
- *     'numberposts' - Default is 5. Total number of posts to retrieve.
- *     'offset' - Default is 0. See {@link WP_Query::query()} for more.
- *     'category' - What category to pull the posts from.
- *     'orderby' - Default is 'date', which orders based on post_date. How to order the posts.
- *     'order' - Default is 'DESC'. The order to retrieve the posts.
- *     'include' - See {@link WP_Query::query()} for more.
- *     'exclude' - See {@link WP_Query::query()} for more.
- *     'meta_key' - See {@link WP_Query::query()} for more.
- *     'meta_value' - See {@link WP_Query::query()} for more.
- *     'post_type' - Default is 'post'. Can be 'page', or 'attachment' to name a few.
- *     'post_parent' - The parent of the post or post type.
- *     'post_status' - Default is 'publish'. Post status to retrieve.
  *
  * @since 1.2.0
- * @uses WP_Query::query() See for more default arguments and information.
- * @link http://codex.wordpress.org/Template_Tags/get_posts
  *
- * @param array $args Optional. Overrides defaults.
+ * @see WP_Query::parse_query()
+ *
+ * @param array $args {
+ *     Optional. Arguments to retrieve posts. {@see WP_Query::parse_query()} for more
+ *     available arguments.
+ *
+ *     @type int        $numberposts      Total number of posts to retrieve. Is an alias of $posts_per_page
+ *                                        in WP_Query. Accepts 1+ and -1 for all. Default 5.
+ *     @type int        $offset           The number of posts to offset before retrieval. Default 0.
+ *     @type int|string $category         Category ID or comma-separated list of IDs (this or any children).
+ *                                        Is an alias of $cat in WP_Query. Default 0.
+ *     @type string     $orderby          Which field to order posts by. Accepts post fields. Default 'date'.
+ *     @type array      $include          An array of post IDs to retrieve, sticky posts will be included.
+ *                                        Is an alias of $post__in in WP_Query. Default empty array.
+ *     @type array      $exclude          An array of post IDs not to retrieve. Default empty array.
+ *     @type string     $meta_key         Custom field key. Default empty.
+ *     @type mixed      $meta_value       Custom field value. Default empty string.
+ *     @type string     $post_type        Post type. Default 'post'.
+ *     @type bool       $suppress_filters Whether to suppress filters. Default true.
+ * }
  * @return array List of posts.
  */
-function get_posts($args = null) {
+function get_posts( $args = null ) {
 	$defaults = array(
 		'numberposts' => 5, 'offset' => 0,
 		'category' => 0, 'orderby' => 'date',
@@ -1756,16 +1878,16 @@ function get_posts($args = null) {
  * Post meta data is called "Custom Fields" on the Administration Screen.
  *
  * @since 1.5.0
- * @link http://codex.wordpress.org/Function_Reference/add_post_meta
  *
- * @param int $post_id Post ID.
- * @param string $meta_key Metadata name.
- * @param mixed $meta_value Metadata value. Must be serializable if non-scalar.
- * @param bool $unique Optional, default is false. Whether the same key should not be added.
+ * @param int    $post_id    Post ID.
+ * @param string $meta_key   Metadata name.
+ * @param mixed  $meta_value Metadata value. Must be serializable if non-scalar.
+ * @param bool   $unique     Optional. Whether the same key should not be added.
+ *                           Default false.
  * @return int|bool Meta ID on success, false on failure.
  */
-function add_post_meta($post_id, $meta_key, $meta_value, $unique = false) {
-	// make sure meta is added to the post, not a revision
+function add_post_meta( $post_id, $meta_key, $meta_value, $unique = false ) {
+	// Make sure meta is added to the post, not a revision.
 	if ( $the_post = wp_is_post_revision($post_id) )
 		$post_id = $the_post;
 
@@ -1780,15 +1902,15 @@ function add_post_meta($post_id, $meta_key, $meta_value, $unique = false) {
  * allows removing all metadata matching key, if needed.
  *
  * @since 1.5.0
- * @link http://codex.wordpress.org/Function_Reference/delete_post_meta
  *
- * @param int $post_id post ID
- * @param string $meta_key Metadata name.
- * @param mixed $meta_value Optional. Metadata value. Must be serializable if non-scalar.
+ * @param int    $post_id    Post ID.
+ * @param string $meta_key   Metadata name.
+ * @param mixed  $meta_value Optional. Metadata value. Must be serializable if
+ *                           non-scalar. Default empty.
  * @return bool True on success, false on failure.
  */
-function delete_post_meta($post_id, $meta_key, $meta_value = '') {
-	// make sure meta is added to the post, not a revision
+function delete_post_meta( $post_id, $meta_key, $meta_value = '' ) {
+	// Make sure meta is added to the post, not a revision.
 	if ( $the_post = wp_is_post_revision($post_id) )
 		$post_id = $the_post;
 
@@ -1799,15 +1921,15 @@ function delete_post_meta($post_id, $meta_key, $meta_value = '') {
  * Retrieve post meta field for a post.
  *
  * @since 1.5.0
- * @link http://codex.wordpress.org/Function_Reference/get_post_meta
  *
- * @param int $post_id Post ID.
- * @param string $key Optional. The meta key to retrieve. By default, returns data for all keys.
- * @param bool $single Whether to return a single value.
- * @return mixed Will be an array if $single is false. Will be value of meta data field if $single
- *  is true.
+ * @param int    $post_id Post ID.
+ * @param string $key     Optional. The meta key to retrieve. By default, returns
+ *                        data for all keys. Default empty.
+ * @param bool   $single  Optional. Whether to return a single value. Default false.
+ * @return mixed Will be an array if $single is false. Will be value of meta data
+ *               field if $single is true.
  */
-function get_post_meta($post_id, $key = '', $single = false) {
+function get_post_meta( $post_id, $key = '', $single = false ) {
 	return get_metadata('post', $post_id, $key, $single);
 }
 
@@ -1820,16 +1942,17 @@ function get_post_meta($post_id, $key = '', $single = false) {
  * If the meta field for the post does not exist, it will be added.
  *
  * @since 1.5.0
- * @link http://codex.wordpress.org/Function_Reference/update_post_meta
  *
- * @param int $post_id Post ID.
- * @param string $meta_key Metadata key.
- * @param mixed $meta_value Metadata value. Must be serializable if non-scalar.
- * @param mixed $prev_value Optional. Previous value to check before removing.
- * @return int|bool Meta ID if the key didn't exist, true on successful update, false on failure.
+ * @param int    $post_id    Post ID.
+ * @param string $meta_key   Metadata key.
+ * @param mixed  $meta_value Metadata value. Must be serializable if non-scalar.
+ * @param mixed  $prev_value Optional. Previous value to check before removing.
+ *                           Default empty.
+ * @return int|bool Meta ID if the key didn't exist, true on successful update,
+ *                  false on failure.
  */
-function update_post_meta($post_id, $meta_key, $meta_value, $prev_value = '') {
-	// make sure meta is added to the post, not a revision
+function update_post_meta( $post_id, $meta_key, $meta_value, $prev_value = '' ) {
+	// Make sure meta is added to the post, not a revision.
 	if ( $the_post = wp_is_post_revision($post_id) )
 		$post_id = $the_post;
 
@@ -1842,9 +1965,9 @@ function update_post_meta($post_id, $meta_key, $meta_value, $prev_value = '') {
  * @since 2.3.0
  *
  * @param string $post_meta_key Key to search for when deleting.
- * @return bool Whether the post meta key was deleted from the database
+ * @return bool Whether the post meta key was deleted from the database.
  */
-function delete_post_meta_by_key($post_meta_key) {
+function delete_post_meta_by_key( $post_meta_key ) {
 	return delete_metadata( 'post', null, $post_meta_key, '', true );
 }
 
@@ -1855,10 +1978,9 @@ function delete_post_meta_by_key($post_meta_key) {
  * so the function is optimized to be called more than once.
  *
  * @since 1.2.0
- * @link http://codex.wordpress.org/Function_Reference/get_post_custom
  *
- * @param int $post_id Post ID.
- * @return array
+ * @param int $post_id Optional. Post ID. Default is ID of the global $post.
+ * @return array Post meta for the given post.
  */
 function get_post_custom( $post_id = 0 ) {
 	$post_id = absint( $post_id );
@@ -1874,10 +1996,10 @@ function get_post_custom( $post_id = 0 ) {
  * If there are no meta fields, then nothing (null) will be returned.
  *
  * @since 1.2.0
- * @link http://codex.wordpress.org/Function_Reference/get_post_custom_keys
  *
- * @param int $post_id post ID
- * @return array|null Either array of the keys, or null if keys could not be retrieved.
+ * @param int $post_id Optional. Post ID. Default is ID of the global $post.
+ * @return array|null Either array of the keys, or null if keys could not be
+ *                    retrieved.
  */
 function get_post_custom_keys( $post_id = 0 ) {
 	$custom = get_post_custom( $post_id );
@@ -1896,10 +2018,9 @@ function get_post_custom_keys( $post_id = 0 ) {
  * will be retrieved and only the meta field key values returned.
  *
  * @since 1.2.0
- * @link http://codex.wordpress.org/Function_Reference/get_post_custom_values
  *
- * @param string $key Meta field key.
- * @param int $post_id Post ID
+ * @param string $key     Optional. Meta field key. Default empty.
+ * @param int    $post_id Optional. Post ID. Default is ID of the global $post.
  * @return array Meta field values.
  */
 function get_post_custom_values( $key = '', $post_id = 0 ) {
@@ -1919,7 +2040,7 @@ function get_post_custom_values( $key = '', $post_id = 0 ) {
  *
  * @since 2.7.0
  *
- * @param int $post_id Optional. Post ID.
+ * @param int $post_id Optional. Post ID. Default is ID of the global $post.
  * @return bool Whether post is sticky.
  */
 function is_sticky( $post_id = 0 ) {
@@ -1942,18 +2063,23 @@ function is_sticky( $post_id = 0 ) {
 /**
  * Sanitize every post field.
  *
- * If the context is 'raw', then the post object or array will get minimal santization of the int fields.
+ * If the context is 'raw', then the post object or array will get minimal
+ * sanitization of the integer fields.
  *
  * @since 2.3.0
- * @uses sanitize_post_field() Used to sanitize the fields.
  *
- * @param object|WP_Post|array $post The Post Object or Array
- * @param string $context Optional, default is 'display'. How to sanitize post fields.
- * @return object|WP_Post|array The now sanitized Post Object or Array (will be the same type as $post)
+ * @see sanitize_post_field()
+ *
+ * @param object|WP_Post|array $post    The Post Object or Array
+ * @param string               $context Optional. How to sanitize post fields.
+ *                                      Accepts 'raw', 'edit', 'db', or 'display'.
+ *                                      Default 'display'.
+ * @return object|WP_Post|array The now sanitized Post Object or Array (will be the
+ *                              same type as $post).
  */
-function sanitize_post($post, $context = 'display') {
+function sanitize_post( $post, $context = 'display' ) {
 	if ( is_object($post) ) {
-		// Check if post already filtered for this context
+		// Check if post already filtered for this context.
 		if ( isset($post->filter) && $context == $post->filter )
 			return $post;
 		if ( !isset($post->ID) )
@@ -1962,7 +2088,7 @@ function sanitize_post($post, $context = 'display') {
 			$post->$field = sanitize_post_field($field, $post->$field, $post->ID, $context);
 		$post->filter = $context;
 	} else {
-		// Check if post already filtered for this context
+		// Check if post already filtered for this context.
 		if ( isset($post['filter']) && $context == $post['filter'] )
 			return $post;
 		if ( !isset($post['ID']) )
@@ -1977,17 +2103,17 @@ function sanitize_post($post, $context = 'display') {
 /**
  * Sanitize post field based on context.
  *
- * Possible context values are:  'raw', 'edit', 'db', 'display', 'attribute' and 'js'. The
- * 'display' context is used by default. 'attribute' and 'js' contexts are treated like 'display'
- * when calling filters.
+ * Possible context values are:  'raw', 'edit', 'db', 'display', 'attribute' and
+ * 'js'. The 'display' context is used by default. 'attribute' and 'js' contexts
+ * are treated like 'display' when calling filters.
  *
  * @since 2.3.0
  *
- * @param string $field The Post Object field name.
- * @param mixed $value The Post Object value.
- * @param int $post_id Post ID.
- * @param string $context How to sanitize post fields. Looks for 'raw', 'edit', 'db', 'display',
- *               'attribute' and 'js'.
+ * @param string $field   The Post Object field name.
+ * @param mixed  $value   The Post Object value.
+ * @param int    $post_id Post ID.
+ * @param string $context How to sanitize post fields. Looks for 'raw', 'edit',
+ *                        'db', 'display', 'attribute' and 'js'.
  * @return mixed Sanitized value.
  */
 function sanitize_post_field($field, $value, $post_id, $context) {
@@ -1995,7 +2121,7 @@ function sanitize_post_field($field, $value, $post_id, $context) {
 	if ( in_array($field, $int_fields) )
 		$value = (int) $value;
 
-	// Fields which contain arrays of ints.
+	// Fields which contain arrays of integers.
 	$array_int_fields = array( 'ancestors' );
 	if ( in_array($field, $array_int_fields) ) {
 		$value = array_map( 'absint', $value);
@@ -2019,7 +2145,8 @@ function sanitize_post_field($field, $value, $post_id, $context) {
 			/**
 			 * Filter the value of a specific post field to edit.
 			 *
-			 * The dynamic portion of the hook name, $field, refers to the post field name.
+			 * The dynamic portion of the hook name, $field, refers to the post
+			 * field name.
 			 *
 			 * @since 2.3.0
 			 *
@@ -2058,7 +2185,8 @@ function sanitize_post_field($field, $value, $post_id, $context) {
 			/**
 			 * Filter the value of a specific post field before saving.
 			 *
-			 * The dynamic portion of the hook name, $field, refers to the post field name.
+			 * The dynamic portion of the hook name, $field, refers to the post
+			 * field name.
 			 *
 			 * @since 2.3.0
 			 *
@@ -2083,7 +2211,8 @@ function sanitize_post_field($field, $value, $post_id, $context) {
 			/**
 			 * Filter the value of a specific post field before saving.
 			 *
-			 * The dynamic portion of the hook name, $field, refers to the post field name.
+			 * The dynamic portion of the hook name, $field, refers to the post
+			 * field name.
 			 *
 			 * @since 2.3.0
 			 *
@@ -2099,7 +2228,8 @@ function sanitize_post_field($field, $value, $post_id, $context) {
 			/**
 			 * Filter the value of a specific post field for display.
 			 *
-			 * The dynamic portion of the hook name, $field, refers to the post field name.
+			 * The dynamic portion of the hook name, $field, refers to the post
+			 * field name.
 			 *
 			 * @since 2.3.0
 			 *
@@ -2132,7 +2262,7 @@ function sanitize_post_field($field, $value, $post_id, $context) {
  *
  * @param int $post_id Post ID.
  */
-function stick_post($post_id) {
+function stick_post( $post_id ) {
 	$stickies = get_option('sticky_posts');
 
 	if ( !is_array($stickies) )
@@ -2145,7 +2275,7 @@ function stick_post($post_id) {
 }
 
 /**
- * Unstick a post.
+ * Un-stick a post.
  *
  * Sticky posts should be displayed at the top of the front page.
  *
@@ -2153,7 +2283,7 @@ function stick_post($post_id) {
  *
  * @param int $post_id Post ID.
  */
-function unstick_post($post_id) {
+function unstick_post( $post_id ) {
 	$stickies = get_option('sticky_posts');
 
 	if ( !is_array($stickies) )
@@ -2172,19 +2302,19 @@ function unstick_post($post_id) {
 }
 
 /**
- * Return the cache key for wp_count_posts() based on the passed arguments
+ * Return the cache key for wp_count_posts() based on the passed arguments.
  *
  * @since 3.9.0
  *
- * @param string $type Optional. Post type to retrieve count
- * @param string $perm Optional. 'readable' or empty.
+ * @param string $type Optional. Post type to retrieve count Default 'post'.
+ * @param string $perm Optional. 'readable' or empty. Default empty.
  * @return string The cache key.
  */
 function _count_posts_cache_key( $type = 'post', $perm = '' ) {
 	$cache_key = 'posts-' . $type;
 	if ( 'readable' == $perm && is_user_logged_in() ) {
 		$post_type_object = get_post_type_object( $type );
-		if ( ! current_user_can( $post_type_object->cap->read_private_posts ) ) {
+		if ( $post_type_object && ! current_user_can( $post_type_object->cap->read_private_posts ) ) {
 			$cache_key .= '_' . $perm . '_' . get_current_user_id();
 		}
 	}
@@ -2202,13 +2332,11 @@ function _count_posts_cache_key( $type = 'post', $perm = '' ) {
  * The $perm parameter checks for 'readable' value and if the user can read
  * private posts, it will display that for the user that is signed in.
  *
- * @link http://codex.wordpress.org/Template_Tags/wp_count_posts
- *
  * @since 2.5.0
  *
- * @param string $type Optional. Post type to retrieve count
- * @param string $perm Optional. 'readable' or empty.
- * @return object Number of posts for each status
+ * @param string $type Optional. Post type to retrieve count. Default 'post'.
+ * @param string $perm Optional. 'readable' or empty. Default empty.
+ * @return object Number of posts for each status.
  */
 function wp_count_posts( $type = 'post', $perm = '' ) {
 	global $wpdb;
@@ -2265,7 +2393,8 @@ function wp_count_posts( $type = 'post', $perm = '' ) {
  *
  * @since 2.5.0
  *
- * @param string|array $mime_type Optional. Array or comma-separated list of MIME patterns.
+ * @param string|array $mime_type Optional. Array or comma-separated list of
+ *                                MIME patterns. Default empty.
  * @return object An object containing the attachment counts by mime type.
  */
 function wp_count_attachments( $mime_type = '' ) {
@@ -2285,18 +2414,20 @@ function wp_count_attachments( $mime_type = '' ) {
 	 *
 	 * @since 3.7.0
 	 *
-	 * @param object $counts    An object containing the attachment counts by mime type.
-	 * @param string $mime_type The mime type pattern used to filter the attachments counted.
+	 * @param object $counts    An object containing the attachment counts by
+	 *                          mime type.
+	 * @param string $mime_type The mime type pattern used to filter the attachments
+	 *                          counted.
 	 */
 	return apply_filters( 'wp_count_attachments', (object) $counts, $mime_type );
 }
 
 /**
- * Get default post mime types
+ * Get default post mime types.
  *
  * @since 2.9.0
  *
- * @return array
+ * @return array List of post mime types.
  */
 function get_post_mime_types() {
 	$post_mime_types = array(	//	array( adj, noun )
@@ -2324,32 +2455,42 @@ function get_post_mime_types() {
  *
  * @since 2.5.0
  *
- * @param string|array $wildcard_mime_types e.g. audio/mpeg or image (same as image/*) or
- *  flash (same as *flash*).
- * @param string|array $real_mime_types post_mime_type values
- * @return array array(wildcard=>array(real types))
+ * @param string|array $wildcard_mime_types Mime types, e.g. audio/mpeg or image (same as image/*)
+ *                                          or flash (same as *flash*).
+ * @param string|array $real_mime_types     Real post mime type values.
+ * @return array array(wildcard=>array(real types)).
  */
-function wp_match_mime_types($wildcard_mime_types, $real_mime_types) {
+function wp_match_mime_types( $wildcard_mime_types, $real_mime_types ) {
 	$matches = array();
-	if ( is_string($wildcard_mime_types) )
-		$wildcard_mime_types = array_map('trim', explode(',', $wildcard_mime_types));
-	if ( is_string($real_mime_types) )
-		$real_mime_types = array_map('trim', explode(',', $real_mime_types));
+	if ( is_string( $wildcard_mime_types ) ) {
+		$wildcard_mime_types = array_map( 'trim', explode( ',', $wildcard_mime_types ) );
+	}
+	if ( is_string( $real_mime_types ) ) {
+		$real_mime_types = array_map( 'trim', explode( ',', $real_mime_types ) );
+	}
+
+	$patternses = array();
 	$wild = '[-._a-z0-9]*';
+
 	foreach ( (array) $wildcard_mime_types as $type ) {
-		$type = str_replace('*', $wild, $type);
-		$patternses[1][$type] = "^$type$";
+		$regex = str_replace( '__wildcard__', $wild, preg_quote( str_replace( '*', '__wildcard__', $type ) ) );
+		$patternses[1][$type] = "^$regex$";
 		if ( false === strpos($type, '/') ) {
-			$patternses[2][$type] = "^$type/";
-			$patternses[3][$type] = $type;
+			$patternses[2][$type] = "^$regex/";
+			$patternses[3][$type] = $regex;
 		}
 	}
-	asort($patternses);
-	foreach ( $patternses as $patterns )
-		foreach ( $patterns as $type => $pattern )
-			foreach ( (array) $real_mime_types as $real )
-				if ( preg_match("#$pattern#", $real) && ( empty($matches[$type]) || false === array_search($real, $matches[$type]) ) )
+	asort( $patternses );
+
+	foreach ( $patternses as $patterns ) {
+		foreach ( $patterns as $type => $pattern ) {
+			foreach ( (array) $real_mime_types as $real ) {
+				if ( preg_match( "#$pattern#", $real ) && ( empty( $matches[$type] ) || false === array_search( $real, $matches[$type] ) ) ) {
 					$matches[$type][] = $real;
+				}
+			}
+		}
+	}
 	return $matches;
 }
 
@@ -2358,11 +2499,13 @@ function wp_match_mime_types($wildcard_mime_types, $real_mime_types) {
  *
  * @since 2.5.0
  *
- * @param string|array $post_mime_types List of mime types or comma separated string of mime types.
- * @param string $table_alias Optional. Specify a table alias, if needed.
+ * @param string|array $post_mime_types List of mime types or comma separated string
+ *                                      of mime types.
+ * @param string       $table_alias     Optional. Specify a table alias, if needed.
+ *                                      Default empty.
  * @return string The SQL AND clause for mime searching.
  */
-function wp_post_mime_type_where($post_mime_types, $table_alias = '') {
+function wp_post_mime_type_where( $post_mime_types, $table_alias = '' ) {
 	$where = '';
 	$wildcards = array('', '%', '%/%');
 	if ( is_string($post_mime_types) )
@@ -2400,22 +2543,25 @@ function wp_post_mime_type_where($post_mime_types, $table_alias = '') {
 }
 
 /**
- * Trashes or deletes a post or page.
+ * Trash or delete a post or page.
  *
- * When the post and page is permanently deleted, everything that is tied to it is deleted also.
- * This includes comments, post meta fields, and terms associated with the post.
+ * When the post and page is permanently deleted, everything that is tied to
+ * it is deleted also. This includes comments, post meta fields, and terms
+ * associated with the post.
  *
- * The post or page is moved to trash instead of permanently deleted unless trash is
- * disabled, item is already in the trash, or $force_delete is true.
+ * The post or page is moved to trash instead of permanently deleted unless
+ * trash is disabled, item is already in the trash, or $force_delete is true.
  *
  * @since 1.0.0
  *
- * @uses wp_delete_attachment() if post type is 'attachment'.
- * @uses wp_trash_post() if item should be trashed.
+ * @global wpdb $wpdb WordPress database access abstraction object.
+ * @see wp_delete_attachment()
+ * @see wp_trash_post()
  *
- * @param int $postid Post ID.
- * @param bool $force_delete Whether to bypass trash and force deletion. Defaults to false.
- * @return mixed False on failure
+ * @param int  $postid       Optional. Post ID. Default 0.
+ * @param bool $force_delete Optional. Whether to bypass trash and force deletion.
+ *                           Default false.
+ * @return array|bool|WP_Post False on failure.
  */
 function wp_delete_post( $postid = 0, $force_delete = false ) {
 	global $wpdb;
@@ -2449,20 +2595,20 @@ function wp_delete_post( $postid = 0, $force_delete = false ) {
 	$parent_where = array( 'post_parent' => $postid );
 
 	if ( is_post_type_hierarchical( $post->post_type ) ) {
-		// Point children of this page to its parent, also clean the cache of affected children
+		// Point children of this page to its parent, also clean the cache of affected children.
 		$children_query = $wpdb->prepare( "SELECT * FROM $wpdb->posts WHERE post_parent = %d AND post_type = %s", $postid, $post->post_type );
 		$children = $wpdb->get_results( $children_query );
 
 		$wpdb->update( $wpdb->posts, $parent_data, $parent_where + array( 'post_type' => $post->post_type ) );
 	}
 
-	// Do raw query. wp_get_post_revisions() is filtered
+	// Do raw query. wp_get_post_revisions() is filtered.
 	$revision_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_parent = %d AND post_type = 'revision'", $postid ) );
 	// Use wp_delete_post (via wp_delete_post_revision) again. Ensures any meta/misplaced data gets cleaned up.
 	foreach ( $revision_ids as $revision_id )
 		wp_delete_post_revision( $revision_id );
 
-	// Point all attachments to this post up one level
+	// Point all attachments to this post up one level.
 	$wpdb->update( $wpdb->posts, $parent_data, $parent_where + array( 'post_type' => 'attachment' ) );
 
 	$comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = %d", $postid ));
@@ -2519,20 +2665,23 @@ function wp_delete_post( $postid = 0, $force_delete = false ) {
 }
 
 /**
- * Resets the page_on_front, show_on_front, and page_for_post settings when a
- * linked page is deleted or trashed.
+ * Reset the page_on_front, show_on_front, and page_for_post settings when
+ * a linked page is deleted or trashed.
  *
  * Also ensures the post is no longer sticky.
  *
- * @access private
  * @since 3.7.0
- * @param $post_id
+ * @access private
+ *
+ * @param int $post_id Post ID.
  */
 function _reset_front_page_settings_for_post( $post_id ) {
 	$post = get_post( $post_id );
 	if ( 'page' == $post->post_type ) {
-	 	// If the page is defined in option page_on_front or post_for_posts,
-		// adjust the corresponding options
+	 	/*
+	 	 * If the page is defined in option page_on_front or post_for_posts,
+	 	 * adjust the corresponding options.
+	 	 */
 		if ( get_option( 'page_on_front' ) == $post->ID ) {
 			update_option( 'show_on_front', 'posts' );
 			update_option( 'page_on_front', 0 );
@@ -2547,18 +2696,19 @@ add_action( 'before_delete_post', '_reset_front_page_settings_for_post' );
 add_action( 'wp_trash_post',      '_reset_front_page_settings_for_post' );
 
 /**
- * Moves a post or page to the Trash
+ * Move a post or page to the Trash
  *
  * If trash is disabled, the post or page is permanently deleted.
  *
  * @since 2.9.0
  *
- * @uses wp_delete_post() if trash is disabled
+ * @see wp_delete_post()
  *
- * @param int $post_id Post ID.
- * @return mixed False on failure
+ * @param int $post_id Optional. Post ID. Default is ID of the global $post
+ *                     if EMPTY_TRASH_DAYS equals true.
+ * @return bool|array Post data array, otherwise false.
  */
-function wp_trash_post($post_id = 0) {
+function wp_trash_post( $post_id = 0 ) {
 	if ( !EMPTY_TRASH_DAYS )
 		return wp_delete_post($post_id, true);
 
@@ -2598,14 +2748,14 @@ function wp_trash_post($post_id = 0) {
 }
 
 /**
- * Restores a post or page from the Trash
+ * Restore a post or page from the Trash.
  *
  * @since 2.9.0
  *
- * @param int $post_id Post ID.
- * @return mixed False on failure
+ * @param int $post_id Optional. Post ID. Default is ID of the global $post.
+ * @return WP_Post|bool WP_Post object. False on failure.
  */
-function wp_untrash_post($post_id = 0) {
+function wp_untrash_post( $post_id = 0 ) {
 	if ( !$post = get_post($post_id, ARRAY_A) )
 		return $post;
 
@@ -2645,14 +2795,16 @@ function wp_untrash_post($post_id = 0) {
 }
 
 /**
- * Moves comments for a post to the trash
+ * Moves comments for a post to the trash.
  *
  * @since 2.9.0
  *
- * @param int|WP_Post $post Optional. Post ID or post object.
- * @return mixed False on failure
+ * @global wpdb $wpdb WordPress database access abstraction object.
+ *
+ * @param int|WP_Post $post Optional. Post ID or post object. Defaults to global $post.
+ * @return mixed False on failure.
  */
-function wp_trash_post_comments($post = null) {
+function wp_trash_post_comments( $post = null ) {
 	global $wpdb;
 
 	$post = get_post($post);
@@ -2674,13 +2826,13 @@ function wp_trash_post_comments($post = null) {
 	if ( empty($comments) )
 		return;
 
-	// Cache current status for each comment
+	// Cache current status for each comment.
 	$statuses = array();
 	foreach ( $comments as $comment )
 		$statuses[$comment->comment_ID] = $comment->comment_approved;
 	add_post_meta($post_id, '_wp_trash_meta_comments_status', $statuses);
 
-	// Set status for all comments to post-trashed
+	// Set status for all comments to post-trashed.
 	$result = $wpdb->update($wpdb->comments, array('comment_approved' => 'post-trashed'), array('comment_post_ID' => $post_id));
 
 	clean_comment_cache( array_keys($statuses) );
@@ -2699,14 +2851,14 @@ function wp_trash_post_comments($post = null) {
 }
 
 /**
- * Restore comments for a post from the trash
+ * Restore comments for a post from the trash.
  *
  * @since 2.9.0
  *
- * @param int|WP_Post $post Optional. Post ID or post object.
- * @return mixed False on failure
+ * @param int|WP_Post $post Optional. Post ID or post object. Defaults to global $post.
+ * @return mixed False on failure.
  */
-function wp_untrash_post_comments($post = null) {
+function wp_untrash_post_comments( $post = null ) {
 	global $wpdb;
 
 	$post = get_post($post);
@@ -2729,7 +2881,7 @@ function wp_untrash_post_comments($post = null) {
 	 */
 	do_action( 'untrash_post_comments', $post_id );
 
-	// Restore each comment to its original status
+	// Restore each comment to its original status.
 	$group_by_status = array();
 	foreach ( $statuses as $comment_id => $comment_status )
 		$group_by_status[$comment_status][] = $comment_id;
@@ -2764,11 +2916,12 @@ function wp_untrash_post_comments($post = null) {
  *
  * @since 2.1.0
  *
- * @uses wp_get_object_terms() Retrieves the categories. Args details can be found here.
+ * @see wp_get_object_terms()
  *
- * @param int $post_id Optional. The Post ID.
- * @param array $args Optional. Overwrite the defaults.
- * @return array
+ * @param int   $post_id Optional. The Post ID. Does not default to the ID of the
+ *                       global $post. Default 0.
+ * @param array $args    Optional. Category arguments. Default empty.
+ * @return array List of categories.
  */
 function wp_get_post_categories( $post_id = 0, $args = array() ) {
 	$post_id = (int) $post_id;
@@ -2789,9 +2942,10 @@ function wp_get_post_categories( $post_id = 0, $args = array() ) {
  *
  * @since 2.3.0
  *
- * @uses wp_get_object_terms() Gets the tags for returning. Args can be found here
+ * @uses wp_get_object_terms()
  *
- * @param int $post_id Optional. The Post ID
+ * @param int   $post_id Optional. The Post ID. Does not default to the ID of the
+ *                       global $post. Defualt 0.
  * @param array $args Optional. Overwrite the defaults
  * @return array List of post tags.
  */
@@ -2808,11 +2962,12 @@ function wp_get_post_tags( $post_id = 0, $args = array() ) {
  *
  * @since 2.8.0
  *
- * @uses wp_get_object_terms() Gets the tags for returning. Args can be found here
+ * @uses wp_get_object_terms()
  *
- * @param int $post_id Optional. The Post ID
- * @param string $taxonomy The taxonomy for which to retrieve terms. Defaults to post_tag.
- * @param array $args Optional. Overwrite the defaults
+ * @param int    $post_id  Optional. The Post ID. Does not default to the ID of the
+ *                         global $post. Default 0.
+ * @param string $taxonomy Optional. The taxonomy for which to retrieve terms. Default 'post_tag'.
+ * @param array  $args     Optional. {@link wp_get_object_terms()} arguments. Default empty array.
  * @return array List of post tags.
  */
 function wp_get_post_terms( $post_id = 0, $taxonomy = 'post_tag', $args = array() ) {
@@ -2827,16 +2982,16 @@ function wp_get_post_terms( $post_id = 0, $taxonomy = 'post_tag', $args = array(
 }
 
 /**
- * Retrieve number of recent posts.
+ * Retrieve a number of recent posts.
  *
  * @since 1.0.0
- * @uses wp_parse_args()
- * @uses get_posts()
  *
- * @param string $deprecated Deprecated.
- * @param array $args Optional. Overrides defaults.
- * @param string $output Optional.
- * @return unknown.
+ * @see get_posts()
+ *
+ * @param string $deprecated Not used.
+ * @param array  $args       Optional. Arguments to retrieve posts. Default empty array.
+ * @param string $output     Optional. Type of output. Accepts ARRAY_A or ''. Default ARRAY_A.
+ * @return array|bool Associative array if $output equals ARRAY_A, array or false if no results.
  */
 function wp_get_recent_posts( $args = array(), $output = ARRAY_A ) {
 
@@ -2845,7 +3000,7 @@ function wp_get_recent_posts( $args = array(), $output = ARRAY_A ) {
 		$args = array( 'numberposts' => absint( $args ) );
 	}
 
-	// Set default arguments
+	// Set default arguments.
 	$defaults = array(
 		'numberposts' => 10, 'offset' => 0,
 		'category' => 0, 'orderby' => 'post_date',
@@ -2859,7 +3014,7 @@ function wp_get_recent_posts( $args = array(), $output = ARRAY_A ) {
 
 	$results = get_posts( $r );
 
-	// Backward compatibility. Prior to 3.1 expected posts to be returned in array
+	// Backward compatibility. Prior to 3.1 expected posts to be returned in array.
 	if ( ARRAY_A == $output ){
 		foreach( $results as $key => $result ) {
 			$results[$key] = get_object_vars( $result );
@@ -2880,30 +3035,34 @@ function wp_get_recent_posts( $args = array(), $output = ARRAY_A ) {
  * and 'post_date_gmt' keys. You can close the comments or open the comments by
  * setting the value for 'comment_status' key.
  *
- * @global wpdb $wpdb    WordPress database abstraction object.
- *
  * @since 1.0.0
  *
+ * @see sanitize_post()
+ * @global wpdb $wpdb WordPress database abstraction object.
+ *
  * @param array $postarr {
  *     An array of elements that make up a post to update or insert.
  *
- *     @type int    $ID                    The post ID. If equal to something other than 0, the post with that ID will
- *                                         be updated. Default 0.
+ *     @type int    $ID                    The post ID. If equal to something other than 0,
+ *                                         the post with that ID will be updated. Default 0.
  *     @type string $post_status           The post status. Default 'draft'.
  *     @type string $post_type             The post type. Default 'post'.
- *     @type int    $post_author           The ID of the user who added the post. Default the current user ID.
- *     @type bool   $ping_status           Whether the post can accept pings. Default value of 'default_ping_status' option.
+ *     @type int    $post_author           The ID of the user who added the post. Default is
+ *                                         the current user ID.
+ *     @type bool   $ping_status           Whether the post can accept pings. Default is the
+ *                                         value of 'default_ping_status' option.
  *     @type int    $post_parent           Set this for the post it belongs to, if any. Default 0.
  *     @type int    $menu_order            The order it is displayed. Default 0.
- *     @type string $to_ping               Space or carriage return-separated list of URLs to ping. Default empty string.
- *     @type string $pinged                Space or carriage return-separated list of URLs that have been pinged.
+ *     @type string $to_ping               Space or carriage return-separated list of URLs to ping.
  *                                         Default empty string.
+ *     @type string $pinged                Space or carriage return-separated list of URLs that have
+ *                                         been pinged. Default empty string.
  *     @type string $post_password         The password to access the post. Default empty string.
  *     @type string $guid'                 Global Unique ID for referencing the post.
  *     @type string $post_content_filtered The filtered post content. Default empty string.
  *     @type string $post_excerpt          The post excerpt. Default empty string.
  * }
- * @param bool  $wp_error Optional. Allow return of WP_Error on failure.
+ * @param bool  $wp_error Optional. Whether to allow return of WP_Error on failure. Default false.
  * @return int|WP_Error The post ID on success. The value 0 or WP_Error on failure.
  */
 function wp_insert_post( $postarr, $wp_error = false ) {
@@ -2915,7 +3074,7 @@ function wp_insert_post( $postarr, $wp_error = false ) {
 		'ping_status' => get_option('default_ping_status'), 'post_parent' => 0,
 		'menu_order' => 0, 'to_ping' =>  '', 'pinged' => '', 'post_password' => '',
 		'guid' => '', 'post_content_filtered' => '', 'post_excerpt' => '', 'import_id' => 0,
-		'post_content' => '', 'post_title' => '');
+		'post_content' => '', 'post_title' => '', 'context' => '');
 
 	$postarr = wp_parse_args($postarr, $defaults);
 
@@ -2923,32 +3082,44 @@ function wp_insert_post( $postarr, $wp_error = false ) {
 
 	$postarr = sanitize_post($postarr, 'db');
 
-	// export array as variables
-	extract($postarr, EXTR_SKIP);
-
 	// Are we updating or creating?
 	$post_ID = 0;
 	$update = false;
-	if ( ! empty( $ID ) ) {
+	$guid = $postarr['guid'];
+
+	if ( ! empty( $postarr['ID'] ) ) {
 		$update = true;
 
-		// Get the post ID and GUID
-		$post_ID = $ID;
+		// Get the post ID and GUID.
+		$post_ID = $postarr['ID'];
 		$post_before = get_post( $post_ID );
 		if ( is_null( $post_before ) ) {
-			if ( $wp_error )
+			if ( $wp_error ) {
 				return new WP_Error( 'invalid_post', __( 'Invalid post ID.' ) );
+			}
 			return 0;
 		}
 
 		$guid = get_post_field( 'guid', $post_ID );
-		$previous_status = get_post_field('post_status', $ID);
+		$previous_status = get_post_field('post_status', $post_ID );
 	} else {
 		$previous_status = 'new';
 	}
 
-	$maybe_empty = ! $post_content && ! $post_title && ! $post_excerpt && post_type_supports( $post_type, 'editor' )
-		&& post_type_supports( $post_type, 'title' ) && post_type_supports( $post_type, 'excerpt' );
+	$post_type = empty( $postarr['post_type'] ) ? 'post' : $postarr['post_type'];
+
+	$post_title = $postarr['post_title'];
+	$post_content = $postarr['post_content'];
+	$post_excerpt = $postarr['post_excerpt'];
+	if ( isset( $postarr['post_name'] ) ) {
+		$post_name = $postarr['post_name'];
+	}
+
+	$maybe_empty = 'attachment' !== $post_type
+		&& ! $post_content && ! $post_title && ! $post_excerpt
+		&& post_type_supports( $post_type, 'editor' )
+		&& post_type_supports( $post_type, 'title' )
+		&& post_type_supports( $post_type, 'excerpt' );
 
 	/**
 	 * Filter whether the post should be considered "empty".
@@ -2967,74 +3138,89 @@ function wp_insert_post( $postarr, $wp_error = false ) {
 	 * @param array $postarr     Array of post data.
 	 */
 	if ( apply_filters( 'wp_insert_post_empty_content', $maybe_empty, $postarr ) ) {
-		if ( $wp_error )
+		if ( $wp_error ) {
 			return new WP_Error( 'empty_content', __( 'Content, title, and excerpt are empty.' ) );
-		else
+		} else {
 			return 0;
+		}
 	}
 
-	if ( empty($post_type) )
-		$post_type = 'post';
-
-	if ( empty($post_status) )
-		$post_status = 'draft';
+	$post_status = empty( $postarr['post_status'] ) ? 'draft' : $postarr['post_status'];
+	if ( 'attachment' === $post_type && ! in_array( $post_status, array( 'inherit', 'private', 'trash' ) ) ) {
+		$post_status = 'inherit';
+	}
 
-	if ( !empty($post_category) )
-		$post_category = array_filter($post_category); // Filter out empty terms
+	if ( ! empty( $postarr['post_category'] ) ) {
+		// Filter out empty terms.
+		$post_category = array_filter( $postarr['post_category'] );
+	}
 
 	// Make sure we set a valid category.
-	if ( empty($post_category) || 0 == count($post_category) || !is_array($post_category) ) {
+	if ( empty( $post_category ) || 0 == count( $post_category ) || ! is_array( $post_category ) ) {
 		// 'post' requires at least one category.
-		if ( 'post' == $post_type && 'auto-draft' != $post_status )
+		if ( 'post' == $post_type && 'auto-draft' != $post_status ) {
 			$post_category = array( get_option('default_category') );
-		else
+		} else {
 			$post_category = array();
+		}
 	}
 
-	if ( empty($post_author) )
-		$post_author = $user_id;
-
-	// Don't allow contributors to set the post slug for pending review posts
-	if ( 'pending' == $post_status && !current_user_can( 'publish_posts' ) )
+	// Don't allow contributors to set the post slug for pending review posts.
+	if ( 'pending' == $post_status && !current_user_can( 'publish_posts' ) ) {
 		$post_name = '';
+	}
 
-	// Create a valid post name. Drafts and pending posts are allowed to have an empty
-	// post name.
+	/*
+	 * Create a valid post name. Drafts and pending posts are allowed to have
+	 * an empty post name.
+	 */
 	if ( empty($post_name) ) {
-		if ( !in_array( $post_status, array( 'draft', 'pending', 'auto-draft' ) ) )
+		if ( !in_array( $post_status, array( 'draft', 'pending', 'auto-draft' ) ) ) {
 			$post_name = sanitize_title($post_title);
-		else
+		} else {
 			$post_name = '';
+		}
 	} else {
 		// On updates, we need to check to see if it's using the old, fixed sanitization context.
 		$check_name = sanitize_title( $post_name, '', 'old-save' );
-		if ( $update && strtolower( urlencode( $post_name ) ) == $check_name && get_post_field( 'post_name', $ID ) == $check_name )
+		if ( $update && strtolower( urlencode( $post_name ) ) == $check_name && get_post_field( 'post_name', $post_ID ) == $check_name ) {
 			$post_name = $check_name;
-		else // new post, or slug has changed.
+		} else { // new post, or slug has changed.
 			$post_name = sanitize_title($post_name);
+		}
 	}
 
-	// If the post date is empty (due to having been new or a draft) and status is not 'draft' or 'pending', set date to now
-	if ( empty($post_date) || '0000-00-00 00:00:00' == $post_date )
-		$post_date = current_time('mysql');
+	/*
+	 * If the post date is empty (due to having been new or a draft) and status
+	 * is not 'draft' or 'pending', set date to now.
+	 */
+	if ( empty( $postarr['post_date'] ) || '0000-00-00 00:00:00' == $postarr['post_date'] ) {
+		$post_date = current_time( 'mysql' );
+	} else {
+		$post_date = $postarr['post_date'];
+	}
 
-		// validate the date
-		$mm = substr( $post_date, 5, 2 );
-		$jj = substr( $post_date, 8, 2 );
-		$aa = substr( $post_date, 0, 4 );
-		$valid_date = wp_checkdate( $mm, $jj, $aa, $post_date );
-		if ( !$valid_date ) {
-			if ( $wp_error )
-				return new WP_Error( 'invalid_date', __( 'Whoops, the provided date is invalid.' ) );
-			else
-				return 0;
+	// Validate the date.
+	$mm = substr( $post_date, 5, 2 );
+	$jj = substr( $post_date, 8, 2 );
+	$aa = substr( $post_date, 0, 4 );
+	$valid_date = wp_checkdate( $mm, $jj, $aa, $post_date );
+	if ( ! $valid_date ) {
+		if ( $wp_error ) {
+			return new WP_Error( 'invalid_date', __( 'Whoops, the provided date is invalid.' ) );
+		} else {
+			return 0;
 		}
+	}
 
-	if ( empty($post_date_gmt) || '0000-00-00 00:00:00' == $post_date_gmt ) {
-		if ( !in_array( $post_status, array( 'draft', 'pending', 'auto-draft' ) ) )
-			$post_date_gmt = get_gmt_from_date($post_date);
-		else
+	if ( empty( $postarr['post_date_gmt'] ) || '0000-00-00 00:00:00' == $postarr['post_date_gmt'] ) {
+		if ( ! in_array( $post_status, array( 'draft', 'pending', 'auto-draft' ) ) ) {
+			$post_date_gmt = get_gmt_from_date( $post_date );
+		} else {
 			$post_date_gmt = '0000-00-00 00:00:00';
+		}
+	} else {
+		$post_date_gmt = $postarr['post_date_gmt'];
 	}
 
 	if ( $update || '0000-00-00 00:00:00' == $post_date ) {
@@ -3045,37 +3231,58 @@ function wp_insert_post( $postarr, $wp_error = false ) {
 		$post_modified_gmt = $post_date_gmt;
 	}
 
-	if ( 'publish' == $post_status ) {
-		$now = gmdate('Y-m-d H:i:59');
-		if ( mysql2date('U', $post_date_gmt, false) > mysql2date('U', $now, false) )
-			$post_status = 'future';
-	} elseif( 'future' == $post_status ) {
-		$now = gmdate('Y-m-d H:i:59');
-		if ( mysql2date('U', $post_date_gmt, false) <= mysql2date('U', $now, false) )
-			$post_status = 'publish';
+	if ( 'attachment' !== $post_type ) {
+		if ( 'publish' == $post_status ) {
+			$now = gmdate('Y-m-d H:i:59');
+			if ( mysql2date('U', $post_date_gmt, false) > mysql2date('U', $now, false) ) {
+				$post_status = 'future';
+			}
+		} elseif( 'future' == $post_status ) {
+			$now = gmdate('Y-m-d H:i:59');
+			if ( mysql2date('U', $post_date_gmt, false) <= mysql2date('U', $now, false) ) {
+				$post_status = 'publish';
+			}
+		}
 	}
 
-	if ( empty($comment_status) ) {
-		if ( $update )
+	if ( empty( $postarr['comment_status'] ) ) {
+		if ( $update ) {
 			$comment_status = 'closed';
-		else
+		} else {
 			$comment_status = get_option('default_comment_status');
+		}
+	} else {
+		$comment_status = $postarr['comment_status'];
 	}
-	if ( empty($ping_status) )
-		$ping_status = get_option('default_ping_status');
 
-	if ( isset($to_ping) )
-		$to_ping = sanitize_trackback_urls( $to_ping );
-	else
-		$to_ping = '';
+	// These variables are needed by compact() later.
+	$post_content_filtered = $postarr['post_content_filtered'];
+	$post_author = empty( $postarr['post_author'] ) ? $user_id : $postarr['post_author'];
+	$ping_status = empty( $postarr['ping_status'] ) ? get_option( 'default_ping_status' ) : $postarr['ping_status'];
+	$to_ping = isset( $postarr['to_ping'] ) ? sanitize_trackback_urls( $postarr['to_ping'] ) : '';
+	$pinged = isset( $postarr['pinged'] ) ? $postarr['pinged'] : '';
+	$import_id = isset( $postarr['import_id'] ) ? $postarr['import_id'] : 0;
+
+	/*
+	 * The 'wp_insert_post_parent' filter expects all variables to be present.
+	 * Previously, these variables would have already been extracted
+	 */
+	if ( isset( $postarr['menu_order'] ) ) {
+		$menu_order = (int) $postarr['menu_order'];
+	} else {
+		$menu_order = 0;
+	}
 
-	if ( ! isset($pinged) )
-		$pinged = '';
+	$post_password = isset( $postarr['post_password'] ) ? $postarr['post_password'] : '';
+	if ( 'private' == $post_status ) {
+		$post_password = '';
+	}
 
-	if ( isset($post_parent) )
-		$post_parent = (int) $post_parent;
-	else
+	if ( isset( $postarr['post_parent'] ) ) {
+		$post_parent = (int) $postarr['post_parent'];
+	} else {
 		$post_parent = 0;
+	}
 
 	/**
 	 * Filter the post parent -- used to check for and prevent hierarchy loops.
@@ -3089,28 +3296,35 @@ function wp_insert_post( $postarr, $wp_error = false ) {
 	 */
 	$post_parent = apply_filters( 'wp_insert_post_parent', $post_parent, $post_ID, compact( array_keys( $postarr ) ), $postarr );
 
-	if ( isset($menu_order) )
-		$menu_order = (int) $menu_order;
-	else
-		$menu_order = 0;
-
-	if ( !isset($post_password) || 'private' == $post_status )
-		$post_password = '';
+	$post_name = wp_unique_post_slug( $post_name, $post_ID, $post_status, $post_type, $post_parent );
 
-	$post_name = wp_unique_post_slug($post_name, $post_ID, $post_status, $post_type, $post_parent);
+	// Don't unslash.
+	$post_mime_type = isset( $postarr['post_mime_type'] ) ? $postarr['post_mime_type'] : '';
 
-	// expected_slashed (everything!)
-	$data = compact( array( 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_content_filtered', 'post_title', 'post_excerpt', 'post_status', 'post_type', 'comment_status', 'ping_status', 'post_password', 'post_name', 'to_ping', 'pinged', 'post_modified', 'post_modified_gmt', 'post_parent', 'menu_order', 'guid' ) );
+	// Expected_slashed (everything!).
+	$data = compact( 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_content_filtered', 'post_title', 'post_excerpt', 'post_status', 'post_type', 'comment_status', 'ping_status', 'post_password', 'post_name', 'to_ping', 'pinged', 'post_modified', 'post_modified_gmt', 'post_parent', 'menu_order', 'post_mime_type', 'guid' );
 
-	/**
-	 * Filter slashed post data just before it is inserted into the database.
-	 *
-	 * @since 2.7.0
-	 *
-	 * @param array $data    Array of slashed post data.
-	 * @param array $postarr Array of sanitized, but otherwise unmodified post data.
-	 */
-	$data = apply_filters( 'wp_insert_post_data', $data, $postarr );
+	if ( 'attachment' === $post_type ) {
+		/**
+		 * Filter attachment post data before it is updated in or added to the database.
+		 *
+		 * @since 3.9.0
+		 *
+		 * @param array $data    An array of sanitized attachment post data.
+		 * @param array $postarr An array of unsanitized attachment post data.
+		 */
+		$data = apply_filters( 'wp_insert_attachment_data', $data, $postarr );
+	} else {
+		/**
+		 * Filter slashed post data just before it is inserted into the database.
+		 *
+		 * @since 2.7.0
+		 *
+		 * @param array $data    An array of slashed post data.
+		 * @param array $postarr An array of sanitized, but otherwise unmodified post data.
+		 */
+		$data = apply_filters( 'wp_insert_post_data', $data, $postarr );
+	}
 	$data = wp_unslash( $data );
 	$where = array( 'ID' => $post_ID );
 
@@ -3125,78 +3339,120 @@ function wp_insert_post( $postarr, $wp_error = false ) {
 		 */
 		do_action( 'pre_post_update', $post_ID, $data );
 		if ( false === $wpdb->update( $wpdb->posts, $data, $where ) ) {
-			if ( $wp_error )
+			if ( $wp_error ) {
 				return new WP_Error('db_update_error', __('Could not update post in the database'), $wpdb->last_error);
-			else
+			} else {
 				return 0;
+			}
 		}
 	} else {
-		if ( isset($post_mime_type) )
-			$data['post_mime_type'] = wp_unslash( $post_mime_type ); // This isn't in the update
-		// If there is a suggested ID, use it if not already present
-		if ( !empty($import_id) ) {
+		// If there is a suggested ID, use it if not already present.
+		if ( ! empty( $import_id ) ) {
 			$import_id = (int) $import_id;
 			if ( ! $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE ID = %d", $import_id) ) ) {
 				$data['ID'] = $import_id;
 			}
 		}
 		if ( false === $wpdb->insert( $wpdb->posts, $data ) ) {
-			if ( $wp_error )
+			if ( $wp_error ) {
 				return new WP_Error('db_insert_error', __('Could not insert post into the database'), $wpdb->last_error);
-			else
+			} else {
 				return 0;
+			}
 		}
 		$post_ID = (int) $wpdb->insert_id;
 
-		// use the newly generated $post_ID
+		// Use the newly generated $post_ID.
 		$where = array( 'ID' => $post_ID );
 	}
 
-	if ( empty($data['post_name']) && !in_array( $data['post_status'], array( 'draft', 'pending', 'auto-draft' ) ) ) {
-		$data['post_name'] = sanitize_title($data['post_title'], $post_ID);
+	if ( empty( $data['post_name'] ) && ! in_array( $data['post_status'], array( 'draft', 'pending', 'auto-draft' ) ) ) {
+		$data['post_name'] = sanitize_title( $data['post_title'], $post_ID );
 		$wpdb->update( $wpdb->posts, array( 'post_name' => $data['post_name'] ), $where );
 	}
 
-	if ( is_object_in_taxonomy($post_type, 'category') )
+	if ( is_object_in_taxonomy( $post_type, 'category' ) ) {
 		wp_set_post_categories( $post_ID, $post_category );
+	}
 
-	if ( isset( $tags_input ) && is_object_in_taxonomy($post_type, 'post_tag') )
-		wp_set_post_tags( $post_ID, $tags_input );
+	if ( isset( $postarr['tags_input'] ) && is_object_in_taxonomy( $post_type, 'post_tag' ) ) {
+		wp_set_post_tags( $post_ID, $postarr['tags_input'] );
+	}
 
-	// new-style support for all custom taxonomies
-	if ( !empty($tax_input) ) {
-		foreach ( $tax_input as $taxonomy => $tags ) {
+	// New-style support for all custom taxonomies.
+	if ( ! empty( $postarr['tax_input'] ) ) {
+		foreach ( $postarr['tax_input'] as $taxonomy => $tags ) {
 			$taxonomy_obj = get_taxonomy($taxonomy);
-			if ( is_array($tags) ) // array = hierarchical, string = non-hierarchical.
+			// array = hierarchical, string = non-hierarchical.
+			if ( is_array( $tags ) ) {
 				$tags = array_filter($tags);
-			if ( current_user_can($taxonomy_obj->cap->assign_terms) )
+			}
+			if ( current_user_can( $taxonomy_obj->cap->assign_terms ) ) {
 				wp_set_post_terms( $post_ID, $tags, $taxonomy );
+			}
 		}
 	}
 
 	$current_guid = get_post_field( 'guid', $post_ID );
 
-	// Set GUID
-	if ( !$update && '' == $current_guid )
+	// Set GUID.
+	if ( ! $update && '' == $current_guid ) {
 		$wpdb->update( $wpdb->posts, array( 'guid' => get_permalink( $post_ID ) ), $where );
+	}
+
+	if ( 'attachment' === $postarr['post_type'] ) {
+		if ( ! empty( $postarr['file'] ) ) {
+			update_attached_file( $post_ID, $postarr['file'] );
+		}
+
+		if ( ! empty( $postarr['context'] ) ) {
+			add_post_meta( $post_ID, '_wp_attachment_context', $postarr['context'], true );
+		}
+	}
 
 	clean_post_cache( $post_ID );
 
-	$post = get_post($post_ID);
+	$post = get_post( $post_ID );
 
-	if ( !empty($page_template) && 'page' == $data['post_type'] ) {
-		$post->page_template = $page_template;
+	if ( ! empty( $postarr['page_template'] ) && 'page' == $data['post_type'] ) {
+		$post->page_template = $postarr['page_template'];
 		$page_templates = wp_get_theme()->get_page_templates( $post );
-		if ( 'default' != $page_template && ! isset( $page_templates[ $page_template ] ) ) {
-			if ( $wp_error )
+		if ( 'default' != $postarr['page_template'] && ! isset( $page_templates[ $postarr['page_template'] ] ) ) {
+			if ( $wp_error ) {
 				return new WP_Error('invalid_page_template', __('The page template is invalid.'));
-			else
+			} else {
 				return 0;
+			}
 		}
-		update_post_meta($post_ID, '_wp_page_template',  $page_template);
+		update_post_meta( $post_ID, '_wp_page_template', $postarr['page_template'] );
 	}
 
-	wp_transition_post_status($data['post_status'], $previous_status, $post);
+	if ( 'attachment' !== $postarr['post_type'] ) {
+		wp_transition_post_status( $data['post_status'], $previous_status, $post );
+	} else {
+		if ( $update ) {
+			/**
+			 * Fires once an existing attachment has been updated.
+			 *
+			 * @since 2.0.0
+			 *
+			 * @param int $post_ID Attachment ID.
+			 */
+			do_action( 'edit_attachment', $post_ID );
+		} else {
+
+			/**
+			 * Fires once an attachment has been added.
+			 *
+			 * @since 2.0.0
+			 *
+			 * @param int $post_ID Attachment ID.
+			 */
+			do_action( 'add_attachment', $post_ID );
+		}
+
+		return $post_ID;
+	}
 
 	if ( $update ) {
 		/**
@@ -3269,18 +3525,19 @@ function wp_insert_post( $postarr, $wp_error = false ) {
  *
  * @since 1.0.0
  *
- * @param array|object $postarr Post data. Arrays are expected to be escaped, objects are not.
- * @param bool $wp_error Optional. Allow return of WP_Error on failure.
+ * @param array|object $postarr  Optional. Post data. Arrays are expected to be escaped,
+ *                               objects are not. Default array.
+ * @param bool         $wp_error Optional. Allow return of WP_Error on failure. Default false.
  * @return int|WP_Error The value 0 or WP_Error on failure. The post ID on success.
  */
 function wp_update_post( $postarr = array(), $wp_error = false ) {
 	if ( is_object($postarr) ) {
-		// non-escaped post was passed
+		// Non-escaped post was passed.
 		$postarr = get_object_vars($postarr);
 		$postarr = wp_slash($postarr);
 	}
 
-	// First, get all of the original fields
+	// First, get all of the original fields.
 	$post = get_post($postarr['ID'], ARRAY_A);
 
 	if ( is_null( $post ) ) {
@@ -3299,7 +3556,7 @@ function wp_update_post( $postarr = array(), $wp_error = false ) {
 	else
 		$post_cats = $post['post_category'];
 
-	// Drafts shouldn't be assigned a date unless explicitly done so by the user
+	// Drafts shouldn't be assigned a date unless explicitly done so by the user.
 	if ( isset( $post['post_status'] ) && in_array($post['post_status'], array('draft', 'pending', 'auto-draft')) && empty($postarr['edit_date']) &&
 			 ('0000-00-00 00:00:00' == $post['post_date_gmt']) )
 		$clear_date = true;
@@ -3324,7 +3581,8 @@ function wp_update_post( $postarr = array(), $wp_error = false ) {
  * Publish a post by transitioning the post status.
  *
  * @since 2.1.0
- * @uses $wpdb
+ *
+ * @global wpdb $wpdb WordPress database abstraction object.
  *
  * @param int|WP_Post $post Post ID or post object.
  */
@@ -3347,10 +3605,13 @@ function wp_publish_post( $post ) {
 
 	/** This action is documented in wp-includes/post.php */
 	do_action( 'edit_post', $post->ID, $post );
+
 	/** This action is documented in wp-includes/post.php */
 	do_action( "save_post_{$post->post_type}", $post->ID, $post, true );
+
 	/** This action is documented in wp-includes/post.php */
 	do_action( 'save_post', $post->ID, $post, true );
+
 	/** This action is documented in wp-includes/post.php */
 	do_action( 'wp_insert_post', $post->ID, $post, true );
 }
@@ -3364,9 +3625,10 @@ function wp_publish_post( $post ) {
  * @since 2.5.0
  *
  * @param int|WP_Post $post_id Post ID or post object.
- * @return null Nothing is returned. Which can mean that no action is required or post was published.
+ * @return null Nothing is returned. Which can mean that no action is required
+ *              or post was published.
  */
-function check_and_publish_future_post($post_id) {
+function check_and_publish_future_post( $post_id ) {
 
 	$post = get_post($post_id);
 
@@ -3378,7 +3640,8 @@ function check_and_publish_future_post($post_id) {
 
 	$time = strtotime( $post->post_date_gmt . ' GMT' );
 
-	if ( $time > time() ) { // Uh oh, someone jumped the gun!
+	// Uh oh, someone jumped the gun!
+	if ( $time > time() ) {
 		wp_clear_scheduled_hook( 'publish_future_post', array( $post_id ) ); // clear anything else in the system
 		wp_schedule_single_event( $time, 'publish_future_post', array( $post_id ) );
 		return;
@@ -3392,14 +3655,15 @@ function check_and_publish_future_post($post_id) {
  *
  * @since 2.8.0
  *
- * @global wpdb $wpdb
+ * @global wpdb $wpdb WordPress database abstraction object.
  * @global WP_Rewrite $wp_rewrite
- * @param string $slug the desired slug (post_name)
- * @param integer $post_ID
- * @param string $post_status no uniqueness checks are made if the post is still draft or pending
- * @param string $post_type
- * @param integer $post_parent
- * @return string unique slug for the post, based on $post_name (with a -1, -2, etc. suffix)
+ *
+ * @param string $slug        The desired slug (post_name).
+ * @param int    $post_ID     Post ID.
+ * @param string $post_status No uniqueness checks are made if the post is still draft or pending.
+ * @param string $post_type   Post type.
+ * @param int    $post_parent Post parent ID.
+ * @return string Unique slug for the post, based on $post_name (with a -1, -2, etc. suffix)
  */
 function wp_unique_post_slug( $slug, $post_ID, $post_status, $post_type, $post_parent ) {
 	if ( in_array( $post_status, array( 'draft', 'pending', 'auto-draft' ) ) || ( 'inherit' == $post_status && 'revision' == $post_type ) )
@@ -3507,14 +3771,15 @@ function wp_unique_post_slug( $slug, $post_ID, $post_status, $post_type, $post_p
 }
 
 /**
- * Truncates a post slug.
+ * Truncate a post slug.
  *
  * @since 3.6.0
  * @access private
- * @uses utf8_uri_encode() Makes sure UTF-8 characters are properly cut and encoded.
  *
- * @param string $slug The slug to truncate.
- * @param int $length Max length of the slug.
+ * @see utf8_uri_encode()
+ *
+ * @param string $slug   The slug to truncate.
+ * @param int    $length Optional. Max length of the slug. Default 200 (characters).
  * @return string The truncated slug.
  */
 function _truncate_post_slug( $slug, $length = 200 ) {
@@ -3530,17 +3795,18 @@ function _truncate_post_slug( $slug, $length = 200 ) {
 }
 
 /**
- * Adds tags to a post.
+ * Add tags to a post.
  *
- * @uses wp_set_post_tags() Same first two parameters, but the last parameter is always set to true.
+ * @see wp_set_post_tags()
  *
  * @since 2.3.0
  *
- * @param int $post_id Post ID
- * @param string $tags The tags to set for the post, separated by commas.
- * @return bool|null Will return false if $post_id is not an integer or is 0. Will return null otherwise
+ * @param int    $post_id Optional. The Post ID. Does not default to the ID of the global $post.
+ *                        Default 0.
+ * @param string $tags    Optional. The tags to set for the post, separated by commas. Default empty.
+ * @return bool|null Will return false if $post_id is not an integer or is 0. Will return null otherwise.
  */
-function wp_add_post_tags($post_id = 0, $tags = '') {
+function wp_add_post_tags( $post_id = 0, $tags = '' ) {
 	return wp_set_post_tags($post_id, $tags, true);
 }
 
@@ -3548,11 +3814,14 @@ function wp_add_post_tags($post_id = 0, $tags = '') {
  * Set the tags for a post.
  *
  * @since 2.3.0
- * @uses wp_set_object_terms() Sets the tags for the post.
  *
- * @param int $post_id Post ID.
- * @param string $tags The tags to set for the post, separated by commas.
- * @param bool $append If true, don't delete existing tags, just add on. If false, replace the tags with the new tags.
+ * @see wp_set_object_terms()
+ *
+ * @param int    $post_id Optional. The Post ID. Does not default to the ID of the global $post.
+ * @param string $tags    Optional. The tags to set for the post, separated by commas.
+ *                        Default empty.
+ * @param bool   $append  Optional. If true, don't delete existing tags, just add on. If false,
+ *                        replace the tags with the new tags. Default false.
  * @return mixed Array of affected term IDs. WP_Error or false on failure.
  */
 function wp_set_post_tags( $post_id = 0, $tags = '', $append = false ) {
@@ -3563,12 +3832,14 @@ function wp_set_post_tags( $post_id = 0, $tags = '', $append = false ) {
  * Set the terms for a post.
  *
  * @since 2.8.0
- * @uses wp_set_object_terms() Sets the tags for the post.
  *
- * @param int $post_id Post ID.
- * @param string $tags The tags to set for the post, separated by commas.
- * @param string $taxonomy Taxonomy name. Defaults to 'post_tag'.
- * @param bool $append If true, don't delete existing tags, just add on. If false, replace the tags with the new tags.
+ * @see wp_set_object_terms()
+ *
+ * @param int    $post_id  Optional. The Post ID. Does not default to the ID of the global $post.
+ * @param string $tags     Optional. The tags to set for the post, separated by commas. Default empty.
+ * @param string $taxonomy Optional. Taxonomy name. Default 'post_tag'.
+ * @param bool   $append   Optional. If true, don't delete existing tags, just add on. If false,
+ *                         replace the tags with the new tags. Default false.
  * @return mixed Array of affected term IDs. WP_Error or false on failure.
  */
 function wp_set_post_terms( $post_id = 0, $tags = '', $taxonomy = 'post_tag', $append = false ) {
@@ -3587,8 +3858,10 @@ function wp_set_post_terms( $post_id = 0, $tags = '', $taxonomy = 'post_tag', $a
 		$tags = explode( ',', trim( $tags, " \n\t\r\0\x0B," ) );
 	}
 
-	// Hierarchical taxonomies must always pass IDs rather than names so that children with the same
-	// names but different parents aren't confused.
+	/*
+	 * Hierarchical taxonomies must always pass IDs rather than names so that
+	 * children with the same names but different parents aren't confused.
+	 */
 	if ( is_taxonomy_hierarchical( $taxonomy ) ) {
 		$tags = array_unique( array_map( 'intval', $tags ) );
 	}
@@ -3604,9 +3877,12 @@ function wp_set_post_terms( $post_id = 0, $tags = '', $taxonomy = 'post_tag', $a
  *
  * @since 2.1.0
  *
- * @param int $post_ID Post ID.
+ * @param int       $post_ID         Optional. The Post ID. Does not default to the ID
+ *                                   of the global $post. Default 0.
  * @param array|int $post_categories Optional. List of categories or ID of category.
- * @param bool $append If true, don't delete existing categories, just add on. If false, replace the categories with the new categories.
+ *                                   Default empty array.
+ * @param bool      $append         If true, don't delete existing categories, just add on.
+ *                                  If false, replace the categories with the new categories.
  * @return bool|mixed
  */
 function wp_set_post_categories( $post_ID = 0, $post_categories = array(), $append = false ) {
@@ -3645,13 +3921,11 @@ function wp_set_post_categories( $post_ID = 0, $post_categories = array(), $appe
  *
  * @since 2.3.0
  *
- * @link http://codex.wordpress.org/Post_Status_Transitions
- *
  * @param string $new_status Transition to this post status.
  * @param string $old_status Previous post status.
  * @param object $post Post data.
  */
-function wp_transition_post_status($new_status, $old_status, $post) {
+function wp_transition_post_status( $new_status, $old_status, $post ) {
 	/**
 	 * Fires when a post is transitioned from one status to another.
 	 *
@@ -3694,16 +3968,17 @@ function wp_transition_post_status($new_status, $old_status, $post) {
 //
 
 /**
- * Add a URL to those already pung.
+ * Add a URL to those already pinged.
  *
  * @since 1.5.0
- * @uses $wpdb
  *
- * @param int $post_id Post ID.
- * @param string $uri Ping URI.
+ * @global wpdb $wpdb WordPress database abstraction object.
+ *
+ * @param int    $post_id Post ID.
+ * @param string $uri     Ping URI.
  * @return int How many rows were updated.
  */
-function add_ping($post_id, $uri) {
+function add_ping( $post_id, $uri ) {
 	global $wpdb;
 	$pung = $wpdb->get_var( $wpdb->prepare( "SELECT pinged FROM $wpdb->posts WHERE ID = %d", $post_id ));
 	$pung = trim($pung);
@@ -3720,7 +3995,7 @@ function add_ping($post_id, $uri) {
 	 */
 	$new = apply_filters( 'add_ping', $new );
 
-	// expected_slashed ($new)
+	// expected_slashed ($new).
 	$new = wp_unslash($new);
 	return $wpdb->update( $wpdb->posts, array( 'pinged' => $new ), array( 'ID' => $post_id ) );
 }
@@ -3731,9 +4006,9 @@ function add_ping($post_id, $uri) {
  * @since 1.5.0
  *
  * @param int $post_id Post ID.
- * @return array List of enclosures
+ * @return array List of enclosures.
  */
-function get_enclosed($post_id) {
+function get_enclosed( $post_id ) {
 	$custom_fields = get_post_custom( $post_id );
 	$pung = array();
 	if ( !is_array( $custom_fields ) )
@@ -3764,12 +4039,13 @@ function get_enclosed($post_id) {
  * Retrieve URLs already pinged for a post.
  *
  * @since 1.5.0
- * @uses $wpdb
+ *
+ * @global wpdb $wpdb WordPress database abstraction object.
  *
  * @param int $post_id Post ID.
  * @return array
  */
-function get_pung($post_id) {
+function get_pung( $post_id ) {
 	global $wpdb;
 	$pung = $wpdb->get_var( $wpdb->prepare( "SELECT pinged FROM $wpdb->posts WHERE ID = %d", $post_id ));
 	$pung = trim($pung);
@@ -3790,12 +4066,13 @@ function get_pung($post_id) {
  * Retrieve URLs that need to be pinged.
  *
  * @since 1.5.0
- * @uses $wpdb
+ *
+ * @global wpdb $wpdb WordPress database abstraction object.
  *
  * @param int $post_id Post ID
  * @return array
  */
-function get_to_ping($post_id) {
+function get_to_ping( $post_id ) {
 	global $wpdb;
 	$to_ping = $wpdb->get_var( $wpdb->prepare( "SELECT to_ping FROM $wpdb->posts WHERE ID = %d", $post_id ));
 	$to_ping = sanitize_trackback_urls( $to_ping );
@@ -3817,28 +4094,25 @@ function get_to_ping($post_id) {
  *
  * @since 1.0.0
  *
- * @param string $tb_list Comma separated list of URLs
- * @param int $post_id Post ID
+ * @param string $tb_list Comma separated list of URLs.
+ * @param int    $post_id Post ID.
  */
-function trackback_url_list($tb_list, $post_id) {
+function trackback_url_list( $tb_list, $post_id ) {
 	if ( ! empty( $tb_list ) ) {
-		// get post data
-		$postdata = get_post($post_id, ARRAY_A);
+		// Get post data.
+		$postdata = get_post( $post_id, ARRAY_A );
 
-		// import postdata as variables
-		extract($postdata, EXTR_SKIP);
+		// Form an excerpt.
+		$excerpt = strip_tags( $postdata['post_excerpt'] ? $postdata['post_excerpt'] : $postdata['post_content'] );
 
-		// form an excerpt
-		$excerpt = strip_tags($post_excerpt ? $post_excerpt : $post_content);
-
-		if (strlen($excerpt) > 255) {
-			$excerpt = substr($excerpt,0,252) . '&hellip;';
+		if ( strlen( $excerpt ) > 255 ) {
+			$excerpt = substr( $excerpt, 0, 252 ) . '&hellip;';
 		}
 
-		$trackback_urls = explode(',', $tb_list);
-		foreach( (array) $trackback_urls as $tb_url) {
-			$tb_url = trim($tb_url);
-			trackback($tb_url, wp_unslash($post_title), $excerpt, $post_id);
+		$trackback_urls = explode( ',', $tb_list );
+		foreach( (array) $trackback_urls as $tb_url ) {
+			$tb_url = trim( $tb_url );
+			trackback( $tb_url, wp_unslash( $postdata['post_title'] ), $excerpt, $post_id );
 		}
 	}
 }
@@ -3851,7 +4125,8 @@ function trackback_url_list($tb_list, $post_id) {
  * Get a list of page IDs.
  *
  * @since 2.0.0
- * @uses $wpdb
+ *
+ * @global wpdb $wpdb WordPress database abstraction object.
  *
  * @return array List of page IDs.
  */
@@ -3873,12 +4148,14 @@ function get_all_page_ids() {
  * Use get_post() instead of get_page().
  *
  * @since 1.5.1
- * @deprecated 3.5.0
- *
- * @param mixed $page Page object or page ID. Passed by reference.
- * @param string $output What to output. OBJECT, ARRAY_A, or ARRAY_N.
- * @param string $filter How the return value should be filtered.
- * @return WP_Post|null WP_Post on success or null on failure
+ * @deprecated 3.5.0 Use get_post()
+ *
+ * @param mixed  $page   Page object or page ID. Passed by reference.
+ * @param string $output Optional. What to output. Accepts OBJECT, ARRAY_A, or ARRAY_N.
+ *                       Default OBJECT.
+ * @param string $filter Optional. How the return value should be filtered. Accepts 'raw',
+ *                       'edit', 'db', 'display'. Default 'raw'.
+ * @return WP_Post|null WP_Post on success or null on failure.
  */
 function get_page( $page, $output = OBJECT, $filter = 'raw') {
 	return get_post( $page, $output, $filter );
@@ -3888,12 +4165,14 @@ function get_page( $page, $output = OBJECT, $filter = 'raw') {
  * Retrieves a page given its path.
  *
  * @since 2.1.0
- * @uses $wpdb
  *
- * @param string $page_path Page path
- * @param string $output Optional. Output type. OBJECT, ARRAY_N, or ARRAY_A. Default OBJECT.
- * @param string|array $post_type Optional. Post type or array of post types. Default page.
- * @return WP_Post|null WP_Post on success or null on failure
+ * @global wpdb $wpdb WordPress database abstraction object.
+ *
+ * @param string       $page_path Page path.
+ * @param string       $output    Optional. Output type. Accepts OBJECT, ARRAY_N, or ARRAY_A.
+ *                                Default OBJECT.
+ * @param string|array $post_type Optional. Post type or array of post types. Default 'page'.
+ * @return WP_Post|null WP_Post on success or null on failure.
  */
 function get_page_by_path( $page_path, $output = OBJECT, $post_type = 'page' ) {
 	global $wpdb;
@@ -3957,11 +4236,13 @@ function get_page_by_path( $page_path, $output = OBJECT, $post_type = 'page' ) {
  * Retrieve a page given its title.
  *
  * @since 2.1.0
- * @uses $wpdb
  *
- * @param string $page_title Page title
- * @param string $output Optional. Output type. OBJECT, ARRAY_N, or ARRAY_A. Default OBJECT.
- * @param string|array $post_type Optional. Post type or array of post types. Default page.
+ * @global wpdb $wpdb WordPress database abstraction object.
+ *
+ * @param string       $page_title Page title
+ * @param string       $output     Optional. Output type. OBJECT, ARRAY_N, or ARRAY_A.
+ *                                 Default OBJECT.
+ * @param string|array $post_type  Optional. Post type or array of post types. Default 'page'.
  * @return WP_Post|null WP_Post on success or null on failure
  */
 function get_page_by_title( $page_title, $output = OBJECT, $post_type = 'page' ) {
@@ -4002,9 +4283,9 @@ function get_page_by_title( $page_title, $output = OBJECT, $post_type = 'page' )
  *
  * @since 1.5.1
  *
- * @param int $page_id Page ID.
- * @param array $pages List of pages' objects.
- * @return array
+ * @param int   $page_id Page ID.
+ * @param array $pages   List of pages' objects.
+ * @return array List of page children.
  */
 function get_page_children($page_id, $pages) {
 	$page_list = array();
@@ -4026,8 +4307,8 @@ function get_page_children($page_id, $pages) {
  *
  * @since 2.0.0
  *
- * @param array $pages Posts array.
- * @param int $page_id Parent page ID.
+ * @param array $pages   Posts array, passed by reference.
+ * @param int   $page_id Optional. Parent page ID. Default 0.
  * @return array A list arranged by hierarchy. Children immediately follow their parents.
  */
 function get_page_hierarchy( &$pages, $page_id = 0 ) {
@@ -4049,10 +4330,17 @@ function get_page_hierarchy( &$pages, $page_id = 0 ) {
 }
 
 /**
- * function to traverse and return all the nested children post names of a root page.
+ * Traverse and return all the nested children post names of a root page.
+ *
  * $children contains parent-children relations
  *
  * @since 2.9.0
+ *
+ * @see _page_traverse_name()
+ *
+ * @param int   $page_id   Page ID.
+ * @param array &$children Parent-children relations, passed by reference.
+ * @param array &$result   Result, passed by reference.
  */
 function _page_traverse_name( $page_id, &$children, &$result ){
 	if ( isset( $children[ $page_id ] ) ){
@@ -4064,13 +4352,13 @@ function _page_traverse_name( $page_id, &$children, &$result ){
 }
 
 /**
- * Builds URI for a page.
+ * Build URI for a page.
  *
  * Sub pages will be in the "directory" under the parent page post name.
  *
  * @since 1.5.0
  *
- * @param mixed $page Page object or page ID.
+ * @param WP_Post|object|int $page Page object or page ID.
  * @return string|false Page URI, false on error.
  */
 function get_page_uri( $page ) {
@@ -4091,7 +4379,7 @@ function get_page_uri( $page ) {
 /**
  * Retrieve a list of pages.
  *
- * @global wpdb $wpdb WordPress database abstraction object
+ * @global wpdb $wpdb WordPress database abstraction object.
  *
  * @since 1.5.0
  *
@@ -4128,8 +4416,6 @@ function get_page_uri( $page ) {
 function get_pages( $args = array() ) {
 	global $wpdb;
 
-	$pages = false;
-
 	$defaults = array(
 		'child_of' => 0, 'sort_order' => 'ASC',
 		'sort_column' => 'post_title', 'hierarchical' => 1,
@@ -4141,26 +4427,37 @@ function get_pages( $args = array() ) {
 	);
 
 	$r = wp_parse_args( $args, $defaults );
-	extract( $r, EXTR_SKIP );
-	$number = (int) $number;
-	$offset = (int) $offset;
 
-	// Make sure the post type is hierarchical
+	$number = (int) $r['number'];
+	$offset = (int) $r['offset'];
+	$child_of = (int) $r['child_of'];
+	$hierarchical = $r['hierarchical'];
+	$exclude = $r['exclude'];
+	$meta_key = $r['meta_key'];
+	$meta_value = $r['meta_value'];
+	$parent = $r['parent'];
+	$post_status = $r['post_status'];
+
+	// Make sure the post type is hierarchical.
 	$hierarchical_post_types = get_post_types( array( 'hierarchical' => true ) );
-	if ( !in_array( $post_type, $hierarchical_post_types ) )
-		return $pages;
+	if ( ! in_array( $r['post_type'], $hierarchical_post_types ) ) {
+		return false;
+	}
 
-	if ( $parent > 0 && ! $child_of )
+	if ( $parent > 0 && ! $child_of ) {
 		$hierarchical = false;
+	}
 
-	// Make sure we have a valid post status
-	if ( !is_array( $post_status ) )
+	// Make sure we have a valid post status.
+	if ( ! is_array( $post_status ) ) {
 		$post_status = explode( ',', $post_status );
-	if ( array_diff( $post_status, get_post_stati() ) )
-		return $pages;
+	}
+	if ( array_diff( $post_status, get_post_stati() ) ) {
+		return false;
+	}
 
-	// $args can be whatever, only use the args defined in defaults to compute the key
-	$key = md5( serialize( compact(array_keys($defaults)) ) );
+	// $args can be whatever, only use the args defined in defaults to compute the key.
+	$key = md5( serialize( wp_array_slice_assoc( $r, array_keys( $defaults ) ) ) );
 	$last_changed = wp_cache_get( 'last_changed', 'posts' );
 	if ( ! $last_changed ) {
 		$last_changed = microtime();
@@ -4169,59 +4466,62 @@ function get_pages( $args = array() ) {
 
 	$cache_key = "get_pages:$key:$last_changed";
 	if ( $cache = wp_cache_get( $cache_key, 'posts' ) ) {
-		// Convert to WP_Post instances
+		// Convert to WP_Post instances.
 		$pages = array_map( 'get_post', $cache );
 		/** This filter is documented in wp-includes/post.php */
 		$pages = apply_filters( 'get_pages', $pages, $r );
 		return $pages;
 	}
 
-	if ( !is_array($cache) )
-		$cache = array();
-
 	$inclusions = '';
-	if ( ! empty( $include ) ) {
+	if ( ! empty( $r['include'] ) ) {
 		$child_of = 0; //ignore child_of, parent, exclude, meta_key, and meta_value params if using include
 		$parent = -1;
 		$exclude = '';
 		$meta_key = '';
 		$meta_value = '';
 		$hierarchical = false;
-		$incpages = wp_parse_id_list( $include );
-		if ( ! empty( $incpages ) )
+		$incpages = wp_parse_id_list( $r['include'] );
+		if ( ! empty( $incpages ) ) {
 			$inclusions = ' AND ID IN (' . implode( ',', $incpages ) .  ')';
+		}
 	}
 
 	$exclusions = '';
 	if ( ! empty( $exclude ) ) {
 		$expages = wp_parse_id_list( $exclude );
-		if ( ! empty( $expages ) )
+		if ( ! empty( $expages ) ) {
 			$exclusions = ' AND ID NOT IN (' . implode( ',', $expages ) .  ')';
+		}
 	}
 
 	$author_query = '';
-	if (!empty($authors)) {
-		$post_authors = preg_split('/[\s,]+/',$authors);
+	if ( ! empty( $r['authors'] ) ) {
+		$post_authors = preg_split( '/[\s,]+/', $r['authors'] );
 
 		if ( ! empty( $post_authors ) ) {
 			foreach ( $post_authors as $post_author ) {
 				//Do we have an author id or an author login?
 				if ( 0 == intval($post_author) ) {
 					$post_author = get_user_by('login', $post_author);
-					if ( empty($post_author) )
+					if ( empty( $post_author ) ) {
 						continue;
-					if ( empty($post_author->ID) )
+					}
+					if ( empty( $post_author->ID ) ) {
 						continue;
+					}
 					$post_author = $post_author->ID;
 				}
 
-				if ( '' == $author_query )
+				if ( '' == $author_query ) {
 					$author_query = $wpdb->prepare(' post_author = %d ', $post_author);
-				else
+				} else {
 					$author_query .= $wpdb->prepare(' OR post_author = %d ', $post_author);
+				}
 			}
-			if ( '' != $author_query )
+			if ( '' != $author_query ) {
 				$author_query = " AND ($author_query)";
+			}
 		}
 	}
 
@@ -4233,36 +4533,41 @@ function get_pages( $args = array() ) {
 		// meta_key and meta_value might be slashed
 		$meta_key = wp_unslash($meta_key);
 		$meta_value = wp_unslash($meta_value);
-		if ( '' !== $meta_key )
+		if ( '' !== $meta_key ) {
 			$where .= $wpdb->prepare(" AND $wpdb->postmeta.meta_key = %s", $meta_key);
-		if ( '' !== $meta_value )
+		}
+		if ( '' !== $meta_value ) {
 			$where .= $wpdb->prepare(" AND $wpdb->postmeta.meta_value = %s", $meta_value);
+		}
 
 	}
 
 	if ( is_array( $parent ) ) {
 		$post_parent__in = implode( ',', array_map( 'absint', (array) $parent ) );
-		if ( ! empty( $post_parent__in ) )
+		if ( ! empty( $post_parent__in ) ) {
 			$where .= " AND post_parent IN ($post_parent__in)";
+		}
 	} elseif ( $parent >= 0 ) {
 		$where .= $wpdb->prepare(' AND post_parent = %d ', $parent);
 	}
 
 	if ( 1 == count( $post_status ) ) {
-		$where_post_type = $wpdb->prepare( "post_type = %s AND post_status = %s", $post_type, array_shift( $post_status ) );
+		$where_post_type = $wpdb->prepare( "post_type = %s AND post_status = %s", $r['post_type'], array_shift( $post_status ) );
 	} else {
 		$post_status = implode( "', '", $post_status );
-		$where_post_type = $wpdb->prepare( "post_type = %s AND post_status IN ('$post_status')", $post_type );
+		$where_post_type = $wpdb->prepare( "post_type = %s AND post_status IN ('$post_status')", $r['post_type'] );
 	}
 
 	$orderby_array = array();
-	$allowed_keys = array('author', 'post_author', 'date', 'post_date', 'title', 'post_title', 'name', 'post_name', 'modified',
-						  'post_modified', 'modified_gmt', 'post_modified_gmt', 'menu_order', 'parent', 'post_parent',
-						  'ID', 'rand', 'comment_count');
-	foreach ( explode( ',', $sort_column ) as $orderby ) {
+	$allowed_keys = array( 'author', 'post_author', 'date', 'post_date', 'title', 'post_title', 'name', 'post_name', 'modified',
+		'post_modified', 'modified_gmt', 'post_modified_gmt', 'menu_order', 'parent', 'post_parent',
+		'ID', 'rand', 'comment_count' );
+
+	foreach ( explode( ',', $r['sort_column'] ) as $orderby ) {
 		$orderby = trim( $orderby );
-		if ( !in_array( $orderby, $allowed_keys ) )
+		if ( ! in_array( $orderby, $allowed_keys ) ) {
 			continue;
+		}
 
 		switch ( $orderby ) {
 			case 'menu_order':
@@ -4277,10 +4582,11 @@ function get_pages( $args = array() ) {
 				$orderby = "$wpdb->posts.comment_count";
 				break;
 			default:
-				if ( 0 === strpos( $orderby, 'post_' ) )
+				if ( 0 === strpos( $orderby, 'post_' ) ) {
 					$orderby = "$wpdb->posts." . $orderby;
-				else
+				} else {
 					$orderby = "$wpdb->posts.post_" . $orderby;
+				}
 		}
 
 		$orderby_array[] = $orderby;
@@ -4288,16 +4594,18 @@ function get_pages( $args = array() ) {
 	}
 	$sort_column = ! empty( $orderby_array ) ? implode( ',', $orderby_array ) : "$wpdb->posts.post_title";
 
-	$sort_order = strtoupper( $sort_order );
-	if ( '' !== $sort_order && !in_array( $sort_order, array( 'ASC', 'DESC' ) ) )
+	$sort_order = strtoupper( $r['sort_order'] );
+	if ( '' !== $sort_order && ! in_array( $sort_order, array( 'ASC', 'DESC' ) ) ) {
 		$sort_order = 'ASC';
+	}
 
 	$query = "SELECT * FROM $wpdb->posts $join WHERE ($where_post_type) $where ";
 	$query .= $author_query;
 	$query .= " ORDER BY " . $sort_column . " " . $sort_order ;
 
-	if ( !empty($number) )
+	if ( ! empty( $number ) ) {
 		$query .= ' LIMIT ' . $offset . ',' . $number;
+	}
 
 	$pages = $wpdb->get_results($query);
 
@@ -4307,7 +4615,7 @@ function get_pages( $args = array() ) {
 		return $pages;
 	}
 
-	// Sanitize before caching so it'll only get done once
+	// Sanitize before caching so it'll only get done once.
 	$num_pages = count($pages);
 	for ($i = 0; $i < $num_pages; $i++) {
 		$pages[$i] = sanitize_post($pages[$i], 'raw');
@@ -4316,11 +4624,12 @@ function get_pages( $args = array() ) {
 	// Update cache.
 	update_post_cache( $pages );
 
-	if ( $child_of || $hierarchical )
+	if ( $child_of || $hierarchical ) {
 		$pages = get_page_children($child_of, $pages);
+	}
 
-	if ( ! empty( $exclude_tree ) ) {
-		$exclude = wp_parse_id_list( $exclude_tree );
+	if ( ! empty( $r['exclude_tree'] ) ) {
+		$exclude = wp_parse_id_list( $r['exclude_tree'] );
 		foreach( $exclude as $id ) {
 			$children = get_page_children( $id, $pages );
 			foreach ( $children as $child ) {
@@ -4337,12 +4646,13 @@ function get_pages( $args = array() ) {
 	}
 
 	$page_structure = array();
-	foreach ( $pages as $page )
+	foreach ( $pages as $page ) {
 		$page_structure[] = $page->ID;
+	}
 
 	wp_cache_set( $cache_key, $page_structure, 'posts' );
 
-	// Convert to WP_Post instances
+	// Convert to WP_Post instances.
 	$pages = array_map( 'get_post', $pages );
 
 	/**
@@ -4386,7 +4696,7 @@ function is_local_attachment($url) {
 /**
  * Insert an attachment.
  *
- * If you set the 'ID' in the $object parameter, it will mean that you are
+ * If you set the 'ID' in the $args parameter, it will mean that you are
  * updating and attempt to update the attachment. You can also set the
  * attachment name or title by setting the key 'post_name' or 'post_title'.
  *
@@ -4397,211 +4707,29 @@ function is_local_attachment($url) {
  * comments are allowed. You can close them manually or keep them open by
  * setting the value for the 'comment_status' key.
  *
- * The $object parameter can have the following:
- *     'post_status'   - Default is 'draft'. Can not be overridden, set the same as parent post.
- *     'post_type'     - Default is 'post', will be set to attachment. Can not override.
- *     'post_author'   - Default is current user ID. The ID of the user, who added the attachment.
- *     'ping_status'   - Default is the value in default ping status option. Whether the attachment
- *                       can accept pings.
- *     'post_parent'   - Default is 0. Can use $parent parameter or set this for the post it belongs
- *                       to, if any.
- *     'menu_order'    - Default is 0. The order it is displayed.
- *     'to_ping'       - Whether to ping.
- *     'pinged'        - Default is empty string.
- *     'post_password' - Default is empty string. The password to access the attachment.
- *     'guid'          - Global Unique ID for referencing the attachment.
- *     'post_content_filtered' - Attachment post content filtered.
- *     'post_excerpt'  - Attachment excerpt.
- *
  * @since 2.0.0
- * @uses $wpdb
  *
- * @param string|array $object Arguments to override defaults.
- * @param string $file Optional filename.
- * @param int $parent Parent post ID.
+ * @see wp_insert_post()
+ *
+ * @param string|array $args   Arguments for inserting an attachment.
+ * @param string       $file   Optional. Filename.
+ * @param int          $parent Optional. Parent post ID.
  * @return int Attachment ID.
  */
-function wp_insert_attachment($object, $file = false, $parent = 0) {
-	global $wpdb;
-
-	$user_id = get_current_user_id();
-
-	$defaults = array('post_status' => 'inherit', 'post_type' => 'post', 'post_author' => $user_id,
-		'ping_status' => get_option('default_ping_status'), 'post_parent' => 0, 'post_title' => '',
-		'menu_order' => 0, 'to_ping' =>  '', 'pinged' => '', 'post_password' => '', 'post_content' => '',
-		'guid' => '', 'post_content_filtered' => '', 'post_excerpt' => '', 'import_id' => 0, 'context' => '');
-
-	$object = wp_parse_args($object, $defaults);
-	if ( !empty($parent) )
-		$object['post_parent'] = $parent;
-
-	unset( $object[ 'filter' ] );
-
-	$object = sanitize_post($object, 'db');
-
-	// export array as variables
-	extract($object, EXTR_SKIP);
-
-	if ( empty($post_author) )
-		$post_author = $user_id;
-
-	$post_type = 'attachment';
-
-	if ( ! in_array( $post_status, array( 'inherit', 'private' ) ) )
-		$post_status = 'inherit';
-
-	if ( !empty($post_category) )
-		$post_category = array_filter($post_category); // Filter out empty terms
-
-	// Make sure we set a valid category.
-	if ( empty($post_category) || 0 == count($post_category) || !is_array($post_category) ) {
-		$post_category = array();
-	}
-
-	// Are we updating or creating?
-	if ( !empty($ID) ) {
-		$update = true;
-		$post_ID = (int) $ID;
-	} else {
-		$update = false;
-		$post_ID = 0;
-	}
-
-	// Create a valid post name.
-	if ( empty($post_name) )
-		$post_name = sanitize_title($post_title);
-	else
-		$post_name = sanitize_title($post_name);
-
-	// expected_slashed ($post_name)
-	$post_name = wp_unique_post_slug($post_name, $post_ID, $post_status, $post_type, $post_parent);
-
-	if ( empty($post_date) )
-		$post_date = current_time('mysql');
-	if ( empty($post_date_gmt) )
-		$post_date_gmt = current_time('mysql', 1);
-
-	if ( empty($post_modified) )
-		$post_modified = $post_date;
-	if ( empty($post_modified_gmt) )
-		$post_modified_gmt = $post_date_gmt;
-
-	if ( empty($comment_status) ) {
-		if ( $update )
-			$comment_status = 'closed';
-		else
-			$comment_status = get_option('default_comment_status');
-	}
-	if ( empty($ping_status) )
-		$ping_status = get_option('default_ping_status');
-
-	if ( isset($to_ping) )
-		$to_ping = preg_replace('|\s+|', "\n", $to_ping);
-	else
-		$to_ping = '';
-
-	if ( isset($post_parent) )
-		$post_parent = (int) $post_parent;
-	else
-		$post_parent = 0;
-
-	if ( isset($menu_order) )
-		$menu_order = (int) $menu_order;
-	else
-		$menu_order = 0;
-
-	if ( !isset($post_password) )
-		$post_password = '';
-
-	if ( ! isset($pinged) )
-		$pinged = '';
-
-	// expected_slashed (everything!)
-	$data = compact( array( 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_content_filtered', 'post_title', 'post_excerpt', 'post_status', 'post_type', 'comment_status', 'ping_status', 'post_password', 'post_name', 'to_ping', 'pinged', 'post_modified', 'post_modified_gmt', 'post_parent', 'menu_order', 'post_mime_type', 'guid' ) );
-
-	/**
-	 * Filter attachment post data before it is updated in or added
-	 * to the database.
-	 *
-	 * @since 3.9.0
-	 *
-	 * @param array $data   Array of sanitized attachment post data.
-	 * @param array $object Array of un-sanitized attachment post data.
-	 */
-	$data = apply_filters( 'wp_insert_attachment_data', $data, $object );
-	$data = wp_unslash( $data );
-
-	if ( $update ) {
-		$wpdb->update( $wpdb->posts, $data, array( 'ID' => $post_ID ) );
-	} else {
-		// If there is a suggested ID, use it if not already present
-		if ( !empty($import_id) ) {
-			$import_id = (int) $import_id;
-			if ( ! $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE ID = %d", $import_id) ) ) {
-				$data['ID'] = $import_id;
-			}
-		}
-
-		$wpdb->insert( $wpdb->posts, $data );
-		$post_ID = (int) $wpdb->insert_id;
-	}
-
-	if ( empty($post_name) ) {
-		$post_name = sanitize_title($post_title, $post_ID);
-		$wpdb->update( $wpdb->posts, compact("post_name"), array( 'ID' => $post_ID ) );
-	}
-
-	if ( is_object_in_taxonomy($post_type, 'category') )
-		wp_set_post_categories( $post_ID, $post_category );
-
-	if ( isset( $tags_input ) && is_object_in_taxonomy($post_type, 'post_tag') )
-		wp_set_post_tags( $post_ID, $tags_input );
-
-	// support for all custom taxonomies
-	if ( !empty($tax_input) ) {
-		foreach ( $tax_input as $taxonomy => $tags ) {
-			$taxonomy_obj = get_taxonomy($taxonomy);
-			if ( is_array($tags) ) // array = hierarchical, string = non-hierarchical.
-				$tags = array_filter($tags);
-			if ( current_user_can($taxonomy_obj->cap->assign_terms) )
-				wp_set_post_terms( $post_ID, $tags, $taxonomy );
-		}
-	}
-
-	if ( $file )
-		update_attached_file( $post_ID, $file );
-
-	clean_post_cache( $post_ID );
-
-	if ( ! empty( $context ) )
-		add_post_meta( $post_ID, '_wp_attachment_context', $context, true );
-
-	if ( $update) {
-		/**
-		 * Fires once an existing attachment has been updated.
-		 *
-		 * @since 2.0.0
-		 *
-		 * @param int $post_ID Attachment ID.
-		 */
-		do_action( 'edit_attachment', $post_ID );
-	} else {
+function wp_insert_attachment( $args, $file = false, $parent = 0 ) {
+	$defaults = array(
+		'file'        => $file,
+		'post_parent' => $parent
+	);
+	$data = wp_parse_args( $args, $defaults );
 
-		/**
-		 * Fires once an attachment has been added.
-		 *
-		 * @since 2.0.0
-		 *
-		 * @param int $post_ID Attachment ID.
-		 */
-		do_action( 'add_attachment', $post_ID );
-	}
+	$data['post_type'] = 'attachment';
 
-	return $post_ID;
+	return wp_insert_post( $data );
 }
 
 /**
- * Trashes or deletes an attachment.
+ * Trash or delete an attachment.
  *
  * When an attachment is permanently deleted, the file will also be removed.
  * Deletion removes all post meta fields, taxonomy, comments, etc. associated
@@ -4611,10 +4739,12 @@ function wp_insert_attachment($object, $file = false, $parent = 0) {
  * for media is disabled, item is already in the trash, or $force_delete is true.
  *
  * @since 2.0.0
- * @uses $wpdb
  *
- * @param int $post_id Attachment ID.
- * @param bool $force_delete Whether to bypass trash and force deletion. Defaults to false.
+ * @global wpdb $wpdb WordPress database access abstraction object.
+ *
+ * @param int  $post_id      Attachment ID.
+ * @param bool $force_delete Optional. Whether to bypass trash and force deletion.
+ *                           Default false.
  * @return mixed False on failure. Post data on success.
  */
 function wp_delete_attachment( $post_id, $force_delete = false ) {
@@ -4657,7 +4787,8 @@ function wp_delete_attachment( $post_id, $force_delete = false ) {
 	wp_delete_object_term_relationships($post_id, array('category', 'post_tag'));
 	wp_delete_object_term_relationships($post_id, get_object_taxonomies($post->post_type));
 
-	delete_metadata( 'post', null, '_thumbnail_id', $post_id, true ); // delete all for any posts.
+	// Delete all for any posts.
+	delete_metadata( 'post', null, '_thumbnail_id', $post_id, true );
 
 	$comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = %d", $post_id ));
 	foreach ( $comment_ids as $comment_id )
@@ -4679,8 +4810,8 @@ function wp_delete_attachment( $post_id, $force_delete = false ) {
 	$uploadpath = wp_upload_dir();
 
 	if ( ! empty($meta['thumb']) ) {
-		// Don't delete the thumb if another attachment uses it
-		if (! $wpdb->get_row( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE meta_key = '_wp_attachment_metadata' AND meta_value LIKE %s AND post_id <> %d", '%' . $meta['thumb'] . '%', $post_id)) ) {
+		// Don't delete the thumb if another attachment uses it.
+		if (! $wpdb->get_row( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE meta_key = '_wp_attachment_metadata' AND meta_value LIKE %s AND post_id <> %d", '%' . $wpdb->esc_like( $meta['thumb'] ) . '%', $post_id)) ) {
 			$thumbfile = str_replace(basename($file), $meta['thumb'], $file);
 			/** This filter is documented in wp-admin/custom-header.php */
 			$thumbfile = apply_filters( 'wp_delete_file', $thumbfile );
@@ -4688,7 +4819,7 @@ function wp_delete_attachment( $post_id, $force_delete = false ) {
 		}
 	}
 
-	// remove intermediate and backup images if there are any
+	// Remove intermediate and backup images if there are any.
 	foreach ( $intermediate_sizes as $intermediate ) {
 		/** This filter is documented in wp-admin/custom-header.php */
 		$intermediate_file = apply_filters( 'wp_delete_file', $intermediate['path'] );
@@ -4720,8 +4851,8 @@ function wp_delete_attachment( $post_id, $force_delete = false ) {
  *
  * @since 2.1.0
  *
- * @param int $post_id Attachment ID
- * @param bool $unfiltered Optional, default is false. If true, filters are not run.
+ * @param int  $post_id    Attachment ID. Default 0.
+ * @param bool $unfiltered Optional. If true, filters are not run. Default false.
  * @return string|bool Attachment meta field. False on failure.
  */
 function wp_get_attachment_metadata( $post_id = 0, $unfiltered = false ) {
@@ -4751,9 +4882,9 @@ function wp_get_attachment_metadata( $post_id = 0, $unfiltered = false ) {
  *
  * @since 2.1.0
  *
- * @param int $post_id Attachment ID.
- * @param array $data Attachment data.
- * @return int
+ * @param int   $post_id Attachment ID.
+ * @param array $data    Attachment data.
+ * @return int|bool False if $post is invalid.
  */
 function wp_update_attachment_metadata( $post_id, $data ) {
 	$post_id = (int) $post_id;
@@ -4779,8 +4910,8 @@ function wp_update_attachment_metadata( $post_id, $data ) {
  *
  * @since 2.1.0
  *
- * @param int $post_id Attachment ID.
- * @return string
+ * @param int $post_id Optional. Attachment ID. Default 0.
+ * @return string|bool Attachment URL, otherwise false.
  */
 function wp_get_attachment_url( $post_id = 0 ) {
 	$post_id = (int) $post_id;
@@ -4791,19 +4922,30 @@ function wp_get_attachment_url( $post_id = 0 ) {
 		return false;
 
 	$url = '';
-	if ( $file = get_post_meta( $post->ID, '_wp_attached_file', true) ) { //Get attached file
-		if ( ($uploads = wp_upload_dir()) && false === $uploads['error'] ) { //Get upload directory
-			if ( 0 === strpos($file, $uploads['basedir']) ) //Check that the upload base exists in the file location
-				$url = str_replace($uploads['basedir'], $uploads['baseurl'], $file); //replace file location with url location
-			elseif ( false !== strpos($file, 'wp-content/uploads') )
+	// Get attached file.
+	if ( $file = get_post_meta( $post->ID, '_wp_attached_file', true) ) {
+		// Get upload directory.
+		if ( ($uploads = wp_upload_dir()) && false === $uploads['error'] ) {
+			// Check that the upload base exists in the file location.
+			if ( 0 === strpos( $file, $uploads['basedir'] ) ) {
+				// Replace file location with url location.
+				$url = str_replace($uploads['basedir'], $uploads['baseurl'], $file);
+			} elseif ( false !== strpos($file, 'wp-content/uploads') ) {
 				$url = $uploads['baseurl'] . substr( $file, strpos($file, 'wp-content/uploads') + 18 );
-			else
-				$url = $uploads['baseurl'] . "/$file"; //Its a newly uploaded file, therefor $file is relative to the basedir.
+			} else {
+				// It's a newly-uploaded file, therefore $file is relative to the basedir.
+				$url = $uploads['baseurl'] . "/$file";
+			}
 		}
 	}
 
-	if ( empty($url) ) //If any of the above options failed, Fallback on the GUID as used pre-2.7, not recommended to rely upon this.
+	/*
+	 * If any of the above options failed, Fallback on the GUID as used pre-2.7,
+	 * not recommended to rely upon this.
+	 */
+	if ( empty($url) ) {
 		$url = get_the_guid( $post->ID );
+	}
 
 	/**
 	 * Filter the attachment URL.
@@ -4826,7 +4968,7 @@ function wp_get_attachment_url( $post_id = 0 ) {
  *
  * @since 2.1.0
  *
- * @param int $post_id Attachment ID.
+ * @param int $post_id Optional. Attachment ID. Default 0.
  * @return mixed False on failure. Thumbnail file path on success.
  */
 function wp_get_attachment_thumb_file( $post_id = 0 ) {
@@ -4857,7 +4999,7 @@ function wp_get_attachment_thumb_file( $post_id = 0 ) {
  *
  * @since 2.1.0
  *
- * @param int $post_id Attachment ID
+ * @param int $post_id Optional. Attachment ID. Default 0.
  * @return string|bool False on failure. Thumbnail URL on success.
  */
 function wp_get_attachment_thumb_url( $post_id = 0 ) {
@@ -4892,8 +5034,8 @@ function wp_get_attachment_thumb_url( $post_id = 0 ) {
  *
  * @since 2.1.0
  *
- * @param int $post_id Attachment ID
- * @return bool
+ * @param int $post_id Optional. Attachment ID. Default 0.
+ * @return bool Whether the attachment is an image.
  */
 function wp_attachment_is_image( $post_id = 0 ) {
 	$post_id = (int) $post_id;
@@ -4918,7 +5060,7 @@ function wp_attachment_is_image( $post_id = 0 ) {
  * @since 2.1.0
  *
  * @param string|int $mime MIME type or attachment ID.
- * @return string|bool
+ * @return string|bool Icon, false otherwise.
  */
 function wp_mime_type_icon( $mime = 0 ) {
 	if ( !is_numeric($mime) )
@@ -4997,7 +5139,7 @@ function wp_mime_type_icon( $mime = 0 ) {
 			wp_cache_add( 'icon_files', $icon_files, 'default', 600 );
 		}
 
-		// Icon basename - extension = MIME wildcard
+		// Icon basename - extension = MIME wildcard.
 		foreach ( $icon_files as $file => $uri )
 			$types[ preg_replace('/^([^.]*).*$/', '$1', basename($file)) ] =& $icon_files[$file];
 
@@ -5034,7 +5176,7 @@ function wp_mime_type_icon( $mime = 0 ) {
 }
 
 /**
- * Checked for changed slugs for published post objects and save the old slug.
+ * Check for changed slugs for published post objects and save the old slug.
  *
  * The function is used when a post object of any type is updated,
  * by comparing the current and previous post objects.
@@ -5048,27 +5190,27 @@ function wp_mime_type_icon( $mime = 0 ) {
  *
  * @since 2.1.0
  *
- * @param int $post_id Post ID.
- * @param object $post The Post Object
- * @param object $post_before The Previous Post Object
+ * @param int     $post_id     Post ID.
+ * @param WP_Post $post        The Post Object
+ * @param WP_Post $post_before The Previous Post Object
  * @return int Same as $post_id
  */
-function wp_check_for_changed_slugs($post_id, $post, $post_before) {
-	// dont bother if it hasnt changed
+function wp_check_for_changed_slugs( $post_id, $post, $post_before ) {
+	// Don't bother if it hasnt changed.
 	if ( $post->post_name == $post_before->post_name )
 		return;
 
-	// we're only concerned with published, non-hierarchical objects
+	// We're only concerned with published, non-hierarchical objects.
 	if ( $post->post_status != 'publish' || is_post_type_hierarchical( $post->post_type ) )
 		return;
 
 	$old_slugs = (array) get_post_meta($post_id, '_wp_old_slug');
 
-	// if we haven't added this old slug before, add it now
+	// If we haven't added this old slug before, add it now.
 	if ( !empty( $post_before->post_name ) && !in_array($post_before->post_name, $old_slugs) )
 		add_post_meta($post_id, '_wp_old_slug', $post_before->post_name);
 
-	// if the new slug was used previously, delete it from the list
+	// If the new slug was used previously, delete it from the list.
 	if ( in_array($post->post_name, $old_slugs) )
 		delete_post_meta($post_id, '_wp_old_slug', $post->post_name);
 }
@@ -5083,7 +5225,7 @@ function wp_check_for_changed_slugs($post_id, $post, $post_before) {
  *
  * @since 2.2.0
  *
- * @param string $post_type currently only supports 'post' or 'page'.
+ * @param string $post_type Post type. Currently only supports 'post' or 'page'.
  * @return string SQL code that can be added to a where clause.
  */
 function get_private_posts_cap_sql( $post_type ) {
@@ -5093,19 +5235,22 @@ function get_private_posts_cap_sql( $post_type ) {
 /**
  * Retrieve the post SQL based on capability, author, and type.
  *
- * @see get_private_posts_cap_sql() for full description.
- *
  * @since 3.0.0
- * @param string $post_type Post type.
- * @param bool $full Optional. Returns a full WHERE statement instead of just an 'andalso' term.
- * @param int $post_author Optional. Query posts having a single author ID.
- * @param bool $public_only Optional. Only return public posts. Skips cap checks for $current_user.  Default is false.
+ *
+ * @see get_private_posts_cap_sql()
+ *
+ * @param string $post_type   Post type.
+ * @param bool   $full        Optional. Returns a full WHERE statement instead of just
+ *                            an 'andalso' term. Default true.
+ * @param int    $post_author Optional. Query posts having a single author ID. Default null.
+ * @param bool   $public_only Optional. Only return public posts. Skips cap checks for
+ *                            $current_user.  Default false.
  * @return string SQL WHERE code that can be added to a query.
  */
 function get_posts_by_author_sql( $post_type, $full = true, $post_author = null, $public_only = false ) {
 	global $wpdb;
 
-	// Private posts
+	// Private posts.
 	$post_type_obj = get_post_type_object( $post_type );
 	if ( ! $post_type_obj )
 		return $full ? 'WHERE 1 = 0' : ' 1 = 0 ';
@@ -5135,7 +5280,7 @@ function get_posts_by_author_sql( $post_type, $full = true, $post_author = null,
 
 	$sql .= "(post_status = 'publish'";
 
-	// Only need to check the cap if $public_only is false
+	// Only need to check the cap if $public_only is false.
 	if ( false === $public_only ) {
 		if ( current_user_can( $cap ) ) {
 			// Does the user have the capability to view private posts? Guess so.
@@ -5165,10 +5310,11 @@ function get_posts_by_author_sql( $post_type, $full = true, $post_author = null,
  *
  * @since 0.71
  *
- * @param string $timezone The location to get the time. Can be 'gmt', 'blog', or 'server'.
+ * @param string $timezone The location to get the time. Accepts 'gmt', 'blog',
+ *                         or 'server'. Default 'server'.
  * @return string The date of the last post.
  */
-function get_lastpostdate($timezone = 'server') {
+function get_lastpostdate( $timezone = 'server' ) {
 	/**
 	 * Filter the date the last post was published.
 	 *
@@ -5190,10 +5336,11 @@ function get_lastpostdate($timezone = 'server') {
  *
  * @since 1.2.0
  *
- * @param string $timezone The location to get the time. Can be 'gmt', 'blog', or 'server'.
+ * @param string $timezone The location to get the time. Accepts 'gmt', 'blog', or 'server'.
+ *                         Default 'server'.
  * @return string The date the post was last modified.
  */
-function get_lastpostmodified($timezone = 'server') {
+function get_lastpostmodified( $timezone = 'server' ) {
 	$lastpostmodified = _get_last_post_time( $timezone, 'modified' );
 
 	$lastpostdate = get_lastpostdate($timezone);
@@ -5217,7 +5364,7 @@ function get_lastpostmodified($timezone = 'server') {
  * @access private
  * @since 3.1.0
  *
- * @param string $timezone The location to get the time. Can be 'gmt', 'blog', or 'server'.
+ * @param string $timezone The location to get the time. Accepts 'gmt', 'blog', or 'server'.
  * @param string $field Field to check. Can be 'date' or 'modified'.
  * @return string The date.
  */
@@ -5264,7 +5411,7 @@ function _get_last_post_time( $timezone, $field ) {
  *
  * @since 1.5.1
  *
- * @param array $posts Array of post objects
+ * @param array $posts Array of post objects, passed by reference.
  */
 function update_post_cache( &$posts ) {
 	if ( ! $posts )
@@ -5285,6 +5432,8 @@ function update_post_cache( &$posts ) {
  *
  * @since 2.0.0
  *
+ * @global wpdb $wpdb WordPress database access abstraction object.
+ *
  * @param int|WP_Post $post Post ID or post object to remove from the cache.
  */
 function clean_post_cache( $post ) {
@@ -5314,9 +5463,6 @@ function clean_post_cache( $post ) {
 	 */
 	do_action( 'clean_post_cache', $post->ID, $post );
 
-	if ( is_post_type_hierarchical( $post->post_type ) )
-		wp_cache_delete( 'get_pages', 'posts' );
-
 	if ( 'page' == $post->post_type ) {
 		wp_cache_delete( 'all_page_ids', 'posts' );
 
@@ -5338,16 +5484,12 @@ function clean_post_cache( $post ) {
  *
  * @since 1.5.0
  *
- * @uses update_post_cache()
- * @uses update_object_term_cache()
- * @uses update_postmeta_cache()
- *
- * @param array $posts Array of Post objects
- * @param string $post_type The post type of the posts in $posts. Default is 'post'.
- * @param bool $update_term_cache Whether to update the term cache. Default is true.
- * @param bool $update_meta_cache Whether to update the meta cache. Default is true.
+ * @param array  $posts             Array of Post objects
+ * @param string $post_type         Optional. Post type. Default 'post'.
+ * @param bool   $update_term_cache Optional. Whether to update the term cache. Default true.
+ * @param bool   $update_meta_cache Optional. Whether to update the meta cache. Default true.
  */
-function update_post_caches(&$posts, $post_type = 'post', $update_term_cache = true, $update_meta_cache = true) {
+function update_post_caches( &$posts, $post_type = 'post', $update_term_cache = true, $update_meta_cache = true ) {
 	// No point in doing all this work if we didn't match any posts.
 	if ( !$posts )
 		return;
@@ -5391,9 +5533,10 @@ function update_post_caches(&$posts, $post_type = 'post', $update_term_cache = t
  * @since 2.1.0
  *
  * @param array $post_ids List of post IDs.
- * @return bool|array Returns false if there is nothing to update or an array of metadata.
+ * @return bool|array Returns false if there is nothing to update or an array
+ *                    of metadata.
  */
-function update_postmeta_cache($post_ids) {
+function update_postmeta_cache( $post_ids ) {
 	return update_meta_cache('post', $post_ids);
 }
 
@@ -5403,15 +5546,16 @@ function update_postmeta_cache($post_ids) {
  * Cleaning means delete from the cache. Optionally will clean the term
  * object cache associated with the attachment ID.
  *
- * This function will not run if $_wp_suspend_cache_invalidation is not empty. See
- * wp_suspend_cache_invalidation().
+ * This function will not run if $_wp_suspend_cache_invalidation is not empty.
  *
  * @since 3.0.0
  *
- * @param int $id The attachment ID in the cache to clean
- * @param bool $clean_terms optional. Whether to clean terms cache
+ * @see wp_suspend_cache_invalidation()
+ *
+ * @param int  $id          The attachment ID in the cache to clean.
+ * @param bool $clean_terms Optional. Whether to clean terms cache. Default false.
  */
-function clean_attachment_cache($id, $clean_terms = false) {
+function clean_attachment_cache( $id, $clean_terms = false ) {
 	global $_wp_suspend_cache_invalidation;
 
 	if ( !empty($_wp_suspend_cache_invalidation) )
@@ -5444,18 +5588,19 @@ function clean_attachment_cache($id, $clean_terms = false) {
  *
  * @since 2.3.0
  * @access private
- * @uses $wpdb
- * @uses wp_clear_scheduled_hook() with 'publish_future_post' and post ID.
  *
- * @param string $new_status New post status
- * @param string $old_status Previous post status
- * @param object $post Object type containing the post information
+ * @see wp_clear_scheduled_hook()
+ * @global wpdb $wpdb WordPress database access abstraction object.
+ *
+ * @param string  $new_status New post status.
+ * @param string  $old_status Previous post status.
+ * @param WP_Post $post       Post object.
  */
-function _transition_post_status($new_status, $old_status, $post) {
+function _transition_post_status( $new_status, $old_status, $post ) {
 	global $wpdb;
 
 	if ( $old_status != 'publish' && $new_status == 'publish' ) {
-		// Reset GUID if transitioning to publish and it is empty
+		// Reset GUID if transitioning to publish and it is empty.
 		if ( '' == get_the_guid($post->ID) )
 			$wpdb->update( $wpdb->posts, array( 'guid' => get_permalink( $post->ID ) ), array( 'ID' => $post->ID ) );
 
@@ -5470,7 +5615,7 @@ function _transition_post_status($new_status, $old_status, $post) {
 		do_action('private_to_published', $post->ID);
 	}
 
-	// If published posts changed clear the lastpostmodified cache
+	// If published posts changed clear the lastpostmodified cache.
 	if ( 'publish' == $new_status || 'publish' == $old_status) {
 		foreach ( array( 'server', 'gmt', 'blog' ) as $timezone ) {
 			wp_cache_delete( "lastpostmodified:$timezone", 'timeinfo' );
@@ -5495,10 +5640,11 @@ function _transition_post_status($new_status, $old_status, $post) {
  * @since 2.3.0
  * @access private
  *
- * @param int $deprecated Not used. Can be set to null. Never implemented.
- *   Not marked as deprecated with _deprecated_argument() as it conflicts with
- *   wp_transition_post_status() and the default filter for _future_post_hook().
- * @param object $post Object type containing the post information
+ * @param int     $deprecated Not used. Can be set to null. Never implemented. Not marked
+ *                            as deprecated with _deprecated_argument() as it conflicts with
+ *                            wp_transition_post_status() and the default filter for
+ *                            {@see _future_post_hook()}.
+ * @param WP_Post $post       Post object.
  */
 function _future_post_hook( $deprecated, $post ) {
 	wp_clear_scheduled_hook( 'publish_future_post', array( $post->ID ) );
@@ -5508,13 +5654,14 @@ function _future_post_hook( $deprecated, $post ) {
 /**
  * Hook to schedule pings and enclosures when a post is published.
  *
+ * Uses XMLRPC_REQUEST and WP_IMPORTING constants.
+ *
  * @since 2.3.0
  * @access private
- * @uses XMLRPC_REQUEST and WP_IMPORTING constants.
  *
- * @param int $post_id The ID in the database table of the post being published
+ * @param int $post_id The ID in the database table of the post being published.
  */
-function _publish_post_hook($post_id) {
+function _publish_post_hook( $post_id ) {
 	if ( defined( 'XMLRPC_REQUEST' ) ) {
 		/**
 		 * Fires when _publish_post_hook() is called during an XML-RPC request.
@@ -5537,13 +5684,13 @@ function _publish_post_hook($post_id) {
 }
 
 /**
- * Returns the post's parent's post_ID
+ * Return the post's parent's post_ID
  *
  * @since 3.1.0
  *
  * @param int $post_id
  *
- * @return int|bool false on error
+ * @return int|bool Post parent ID, otherwise false.
  */
 function wp_get_post_parent_id( $post_ID ) {
 	$post = get_post( $post_ID );
@@ -5553,38 +5700,37 @@ function wp_get_post_parent_id( $post_ID ) {
 }
 
 /**
- * Checks the given subset of the post hierarchy for hierarchy loops.
- * Prevents loops from forming and breaks those that it finds.
+ * Check the given subset of the post hierarchy for hierarchy loops.
  *
- * Attached to the wp_insert_post_parent filter.
+ * Prevents loops from forming and breaks those that it finds. Attached
+ * to the 'wp_insert_post_parent' filter.
  *
  * @since 3.1.0
- * @uses wp_find_hierarchy_loop()
  *
- * @param int $post_parent ID of the parent for the post we're checking.
- * @param int $post_ID ID of the post we're checking.
+ * @see wp_find_hierarchy_loop()
  *
- * @return int The new post_parent for the post.
+ * @param int $post_parent ID of the parent for the post we're checking.
+ * @param int $post_ID     ID of the post we're checking.
+ * @return int The new post_parent for the post, 0 otherwise.
  */
 function wp_check_post_hierarchy_for_loops( $post_parent, $post_ID ) {
-	// Nothing fancy here - bail
+	// Nothing fancy here - bail.
 	if ( !$post_parent )
 		return 0;
 
-	// New post can't cause a loop
+	// New post can't cause a loop.
 	if ( empty( $post_ID ) )
 		return $post_parent;
 
-	// Can't be its own parent
+	// Can't be its own parent.
 	if ( $post_parent == $post_ID )
 		return 0;
 
-	// Now look for larger loops
-
+	// Now look for larger loops.
 	if ( !$loop = wp_find_hierarchy_loop( 'wp_get_post_parent_id', $post_ID, $post_parent ) )
 		return $post_parent; // No loop
 
-	// Setting $post_parent to the given value causes a loop
+	// Setting $post_parent to the given value causes a loop.
 	if ( isset( $loop[$post_ID] ) )
 		return 0;
 
@@ -5596,19 +5742,19 @@ function wp_check_post_hierarchy_for_loops( $post_parent, $post_ID ) {
 }
 
 /**
- * Sets a post thumbnail.
+ * Set a post thumbnail.
  *
  * @since 3.1.0
  *
- * @param int|WP_Post $post Post ID or post object where thumbnail should be attached.
- * @param int $thumbnail_id Thumbnail to attach.
+ * @param int|WP_Post $post         Post ID or post object where thumbnail should be attached.
+ * @param int         $thumbnail_id Thumbnail to attach.
  * @return bool True on success, false on failure.
  */
 function set_post_thumbnail( $post, $thumbnail_id ) {
 	$post = get_post( $post );
 	$thumbnail_id = absint( $thumbnail_id );
 	if ( $post && $thumbnail_id && get_post( $thumbnail_id ) ) {
-		if ( $thumbnail_html = wp_get_attachment_image( $thumbnail_id, 'thumbnail' ) )
+		if ( wp_get_attachment_image( $thumbnail_id, 'thumbnail' ) )
 			return update_post_meta( $post->ID, '_thumbnail_id', $thumbnail_id );
 		else
 			return delete_post_meta( $post->ID, '_thumbnail_id' );
@@ -5617,7 +5763,7 @@ function set_post_thumbnail( $post, $thumbnail_id ) {
 }
 
 /**
- * Removes a post thumbnail.
+ * Remove a post thumbnail.
  *
  * @since 3.3.0
  *
@@ -5632,27 +5778,35 @@ function delete_post_thumbnail( $post ) {
 }
 
 /**
- * Deletes auto-drafts for new posts that are > 7 days old
+ * Delete auto-drafts for new posts that are > 7 days old.
  *
  * @since 3.4.0
+ *
+ * @global wpdb $wpdb WordPress database access abstraction object.
  */
 function wp_delete_auto_drafts() {
 	global $wpdb;
 
-	// Cleanup old auto-drafts more than 7 days old
+	// Cleanup old auto-drafts more than 7 days old.
 	$old_posts = $wpdb->get_col( "SELECT ID FROM $wpdb->posts WHERE post_status = 'auto-draft' AND DATE_SUB( NOW(), INTERVAL 7 DAY ) > post_date" );
-	foreach ( (array) $old_posts as $delete )
-		wp_delete_post( $delete, true ); // Force delete
+	foreach ( (array) $old_posts as $delete ) {
+		// Force delete.
+		wp_delete_post( $delete, true );
+	}
 }
 
 /**
- * Update the custom taxonomies' term counts when a post's status is changed. For example, default posts term counts (for custom taxonomies) don't include private / draft posts.
+ * Update the custom taxonomies' term counts when a post's status is changed.
+ *
+ * For example, default posts term counts (for custom taxonomies) don't include
+ * private / draft posts.
  *
- * @access private
- * @param string $new_status
- * @param string $old_status
- * @param object $post
  * @since 3.3.0
+ * @access private
+ *
+ * @param string  $new_status New post status.
+ * @param string  $old_status Old post status.
+ * @param WP_Post $post       Post object.
  */
 function _update_term_count_on_transition_post_status( $new_status, $old_status, $post ) {
 	// Update counts for the post's terms.
@@ -5666,12 +5820,13 @@ function _update_term_count_on_transition_post_status( $new_status, $old_status,
  * Adds any posts from the given ids to the cache that do not already exist in cache
  *
  * @since 3.4.0
- *
  * @access private
  *
- * @param array $post_ids ID list
- * @param bool $update_term_cache Whether to update the term cache. Default is true.
- * @param bool $update_meta_cache Whether to update the meta cache. Default is true.
+ * @see update_post_caches()
+ *
+ * @param array $post_ids          ID list
+ * @param bool  $update_term_cache Optional. Whether to update the term cache. Default true.
+ * @param bool  $update_meta_cache Optional. Whether to update the meta cache. Default true.
  */
 function _prime_post_caches( $ids, $update_term_cache = true, $update_meta_cache = true ) {
 	global $wpdb;
diff --git a/wp-includes/query.php b/wp-includes/query.php
index fcaac1008..39a22c7dc 100644
--- a/wp-includes/query.php
+++ b/wp-includes/query.php
@@ -845,7 +845,7 @@ class WP_Query {
 	 * @access public
 	 * @var array
 	 */
-	var $query;
+	public $query;
 
 	/**
 	 * Query vars, after parsing
@@ -854,7 +854,7 @@ class WP_Query {
 	 * @access public
 	 * @var array
 	 */
-	var $query_vars = array();
+	public $query_vars = array();
 
 	/**
 	 * Taxonomy query, as passed to get_tax_sql()
@@ -863,7 +863,7 @@ class WP_Query {
 	 * @access public
 	 * @var object WP_Tax_Query
 	 */
-	var $tax_query;
+	public $tax_query;
 
 	/**
 	 * Metadata query container
@@ -872,7 +872,7 @@ class WP_Query {
 	 * @access public
 	 * @var object WP_Meta_Query
 	 */
-	var $meta_query = false;
+	public $meta_query = false;
 
 	/**
 	 * Date query container
@@ -881,7 +881,7 @@ class WP_Query {
 	 * @access public
 	 * @var object WP_Date_Query
 	 */
-	var $date_query = false;
+	public $date_query = false;
 
 	/**
 	 * Holds the data for a single object that is queried.
@@ -892,7 +892,7 @@ class WP_Query {
 	 * @access public
 	 * @var object|array
 	 */
-	var $queried_object;
+	public $queried_object;
 
 	/**
 	 * The ID of the queried object.
@@ -901,7 +901,7 @@ class WP_Query {
 	 * @access public
 	 * @var int
 	 */
-	var $queried_object_id;
+	public $queried_object_id;
 
 	/**
 	 * Get post database query.
@@ -910,7 +910,7 @@ class WP_Query {
 	 * @access public
 	 * @var string
 	 */
-	var $request;
+	public $request;
 
 	/**
 	 * List of posts.
@@ -919,7 +919,7 @@ class WP_Query {
 	 * @access public
 	 * @var array
 	 */
-	var $posts;
+	public $posts;
 
 	/**
 	 * The amount of posts for the current query.
@@ -928,7 +928,7 @@ class WP_Query {
 	 * @access public
 	 * @var int
 	 */
-	var $post_count = 0;
+	public $post_count = 0;
 
 	/**
 	 * Index of the current item in the loop.
@@ -937,7 +937,7 @@ class WP_Query {
 	 * @access public
 	 * @var int
 	 */
-	var $current_post = -1;
+	public $current_post = -1;
 
 	/**
 	 * Whether the loop has started and the caller is in the loop.
@@ -946,7 +946,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $in_the_loop = false;
+	public $in_the_loop = false;
 
 	/**
 	 * The current post.
@@ -955,7 +955,7 @@ class WP_Query {
 	 * @access public
 	 * @var WP_Post
 	 */
-	var $post;
+	public $post;
 
 	/**
 	 * The list of comments for current post.
@@ -964,7 +964,7 @@ class WP_Query {
 	 * @access public
 	 * @var array
 	 */
-	var $comments;
+	public $comments;
 
 	/**
 	 * The amount of comments for the posts.
@@ -973,7 +973,7 @@ class WP_Query {
 	 * @access public
 	 * @var int
 	 */
-	var $comment_count = 0;
+	public $comment_count = 0;
 
 	/**
 	 * The index of the comment in the comment loop.
@@ -982,7 +982,7 @@ class WP_Query {
 	 * @access public
 	 * @var int
 	 */
-	var $current_comment = -1;
+	public $current_comment = -1;
 
 	/**
 	 * Current comment ID.
@@ -991,7 +991,7 @@ class WP_Query {
 	 * @access public
 	 * @var int
 	 */
-	var $comment;
+	public $comment;
 
 	/**
 	 * The amount of found posts for the current query.
@@ -1002,7 +1002,7 @@ class WP_Query {
 	 * @access public
 	 * @var int
 	 */
-	var $found_posts = 0;
+	public $found_posts = 0;
 
 	/**
 	 * The amount of pages.
@@ -1011,7 +1011,7 @@ class WP_Query {
 	 * @access public
 	 * @var int
 	 */
-	var $max_num_pages = 0;
+	public $max_num_pages = 0;
 
 	/**
 	 * The amount of comment pages.
@@ -1020,7 +1020,7 @@ class WP_Query {
 	 * @access public
 	 * @var int
 	 */
-	var $max_num_comment_pages = 0;
+	public $max_num_comment_pages = 0;
 
 	/**
 	 * Set if query is single post.
@@ -1029,7 +1029,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_single = false;
+	public $is_single = false;
 
 	/**
 	 * Set if query is preview of blog.
@@ -1038,7 +1038,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_preview = false;
+	public $is_preview = false;
 
 	/**
 	 * Set if query returns a page.
@@ -1047,7 +1047,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_page = false;
+	public $is_page = false;
 
 	/**
 	 * Set if query is an archive list.
@@ -1056,7 +1056,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_archive = false;
+	public $is_archive = false;
 
 	/**
 	 * Set if query is part of a date.
@@ -1065,7 +1065,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_date = false;
+	public $is_date = false;
 
 	/**
 	 * Set if query contains a year.
@@ -1074,7 +1074,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_year = false;
+	public $is_year = false;
 
 	/**
 	 * Set if query contains a month.
@@ -1083,7 +1083,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_month = false;
+	public $is_month = false;
 
 	/**
 	 * Set if query contains a day.
@@ -1092,7 +1092,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_day = false;
+	public $is_day = false;
 
 	/**
 	 * Set if query contains time.
@@ -1101,7 +1101,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_time = false;
+	public $is_time = false;
 
 	/**
 	 * Set if query contains an author.
@@ -1110,7 +1110,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_author = false;
+	public $is_author = false;
 
 	/**
 	 * Set if query contains category.
@@ -1119,7 +1119,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_category = false;
+	public $is_category = false;
 
 	/**
 	 * Set if query contains tag.
@@ -1128,7 +1128,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_tag = false;
+	public $is_tag = false;
 
 	/**
 	 * Set if query contains taxonomy.
@@ -1137,7 +1137,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_tax = false;
+	public $is_tax = false;
 
 	/**
 	 * Set if query was part of a search result.
@@ -1146,7 +1146,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_search = false;
+	public $is_search = false;
 
 	/**
 	 * Set if query is feed display.
@@ -1155,7 +1155,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_feed = false;
+	public $is_feed = false;
 
 	/**
 	 * Set if query is comment feed display.
@@ -1164,7 +1164,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_comment_feed = false;
+	public $is_comment_feed = false;
 
 	/**
 	 * Set if query is trackback.
@@ -1173,7 +1173,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_trackback = false;
+	public $is_trackback = false;
 
 	/**
 	 * Set if query is blog homepage.
@@ -1182,7 +1182,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_home = false;
+	public $is_home = false;
 
 	/**
 	 * Set if query couldn't found anything.
@@ -1191,7 +1191,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_404 = false;
+	public $is_404 = false;
 
 	/**
 	 * Set if query is within comments popup window.
@@ -1200,7 +1200,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_comments_popup = false;
+	public $is_comments_popup = false;
 
 	/**
 	 * Set if query is paged
@@ -1209,7 +1209,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_paged = false;
+	public $is_paged = false;
 
 	/**
 	 * Set if query is part of administration page.
@@ -1218,7 +1218,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_admin = false;
+	public $is_admin = false;
 
 	/**
 	 * Set if query is an attachment.
@@ -1227,7 +1227,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_attachment = false;
+	public $is_attachment = false;
 
 	/**
 	 * Set if is single, is a page, or is an attachment.
@@ -1236,7 +1236,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_singular = false;
+	public $is_singular = false;
 
 	/**
 	 * Set if query is for robots.
@@ -1245,7 +1245,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_robots = false;
+	public $is_robots = false;
 
 	/**
 	 * Set if query contains posts.
@@ -1256,7 +1256,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_posts_page = false;
+	public $is_posts_page = false;
 
 	/**
 	 * Set if query is for a post type archive.
@@ -1265,7 +1265,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	var $is_post_type_archive = false;
+	public $is_post_type_archive = false;
 
 	/**
 	 * Stores the ->query_vars state like md5(serialize( $this->query_vars ) ) so we know
@@ -1274,7 +1274,7 @@ class WP_Query {
 	 * @since 3.1.0
 	 * @access private
 	 */
-	var $query_vars_hash = false;
+	private $query_vars_hash = false;
 
 	/**
 	 * Whether query vars have changed since the initial parse_query() call. Used to catch modifications to query vars made
@@ -1283,7 +1283,7 @@ class WP_Query {
 	 * @since 3.1.1
 	 * @access private
 	 */
-	var $query_vars_changed = true;
+	private $query_vars_changed = true;
 
 	/**
 	 * Set if post thumbnails are cached
@@ -1292,7 +1292,7 @@ class WP_Query {
 	 * @access public
 	 * @var bool
 	 */
-	 var $thumbnails_cached = false;
+	 public $thumbnails_cached = false;
 
 	/**
 	 * Cached list of search stopwords.
@@ -1310,7 +1310,7 @@ class WP_Query {
 	 * @since 2.0.0
 	 * @access private
 	 */
-	function init_query_flags() {
+	private function init_query_flags() {
 		$this->is_single = false;
 		$this->is_preview = false;
 		$this->is_page = false;
@@ -1346,7 +1346,7 @@ class WP_Query {
 	 * @since 1.5.0
 	 * @access public
 	 */
-	function init() {
+	public function init() {
 		unset($this->posts);
 		unset($this->query);
 		$this->query_vars = array();
@@ -1374,7 +1374,7 @@ class WP_Query {
 	 * @since 1.5.0
 	 * @access public
 	 */
-	function parse_query_vars() {
+	public function parse_query_vars() {
 		$this->parse_query();
 	}
 
@@ -1387,7 +1387,7 @@ class WP_Query {
 	 * @param array $array Defined query variables.
 	 * @return array Complete query variables with undefined ones filled in empty.
 	 */
-	function fill_query_vars($array) {
+	public function fill_query_vars($array) {
 		$keys = array(
 			'error'
 			, 'm'
@@ -1449,9 +1449,99 @@ class WP_Query {
 	 * @since 1.5.0
 	 * @access public
 	 *
-	 * @param string|array $query Optional query.
+	 * @param string|array $query {
+	 *     Optional. Array or string of Query parameters.
+	 *
+	 *     @type int          $attachment_id           Attachment post ID. Used for 'attachment' post_type.
+	 *     @type int|string   $author                  Author ID, or comma-separated list of IDs.
+	 *     @type string       $author_name             User 'user_nicename'.
+	 *     @type array        $author__in              An array of author IDs to query from.
+	 *     @type array        $author__not_in          An array of author IDs not to query from.
+	 *     @type bool         $cache_results           Whether to cache post information. Default true.
+	 *     @type int|string   $cat                     Category ID or comma-separated list of IDs (this or any children).
+	 *     @type array        $category__and           An array of category IDs (AND in).
+	 *     @type array        $category__in            An array of category IDs (OR in, no children).
+	 *     @type array        $category__not_in        An array of category IDs (NOT in).
+	 *     @type string       $category_name           Use category slug (not name, this or any children).
+	 *     @type int          $comments_per_page       The number of comments to return per page.
+	 *                                                 Default 'comments_per_page' option.
+	 *     @type int|string   $comments_popup          Whether the query is within the comments popup. Default empty.
+	 *     @type array        $date_query              An associative array of WP_Date_Query arguments.
+	 *                                                 {@see WP_Date_Query::__construct()}
+	 *     @type int          $day                     Day of the month. Default empty. Accepts numbers 1-31.
+	 *     @type bool         $exact                   Whether to search by exact keyword. Default false.
+	 *     @type string|array $fields                  Which fields to return. Single field or all fields (string),
+	 *                                                 or array of fields. 'id=>parent' uses 'id' and 'post_parent'.
+	 *                                                 Default all fields. Accepts 'ids', 'id=>parent'.
+	 *     @type int          $hour                    Hour of the day. Default empty. Accepts numbers 0-23.
+	 *     @type bool         $ignore_sticky_posts     Whether to ignore sticky posts or not. Setting this to false
+	 *                                                 excludes stickies from 'post__in'. Accepts 1|true, 0|false.
+	 *                                                 Default 0|false.
+	 *     @type int          $m                       Combination YearMonth. Accepts any four-digit year and month
+	 *                                                 numbers 1-12. Default empty.
+	 *     @type string       $meta_compare            Comparison operator to test the 'meta_value'.
+	 *     @type string       $meta_key                Custom field key.
+	 *     @type array        $meta_query              An associative array of WP_Meta_Query arguments.
+	 *                                                 {@see WP_Meta_Query->queries}
+	 *     @type string       $meta_value              Custom field value.
+	 *     @type int          $meta_value_num          Custom field value number.
+	 *     @type int          $menu_order              The menu order of the posts.
+	 *     @type int          $monthnum                The two-digit month. Default empty. Accepts numbers 1-12.
+	 *     @type string       $name                    Post slug.
+	 *     @type bool         $nopaging                Show all posts (true) or paginate (false). Default false.
+	 *     @type bool         $no_found_rows           Whether to skip counting the total rows found. Enabling can improve
+	 *                                                 performance. Default false.
+	 *     @type int          $offset                  The number of posts to offset before retrieval.
+	 *     @type string       $order                   Designates ascending or descending order of posts. Default 'DESC'.
+	 *                                                 Accepts 'ASC', 'DESC'.
+	 *     @type string       $orderby                 Sort retrieved posts by parameter. One or more options can be
+	 *                                                 passed. To use 'meta_value', or 'meta_value_num',
+	 *                                                 'meta_key=keyname' must be also be defined. Default 'date'.
+	 *                                                 Accepts 'none', 'name', 'author', 'date', 'title', 'modified',
+	 *                                                 'menu_order', 'parent', 'ID', 'rand', 'comment_count'.
+	 *     @type int          $p                       Post ID.
+	 *     @type int          $page                    Show the number of posts that would show up on page X of a
+	 *                                                 static front page.
+	 *     @type int          $paged                   The number of the current page.
+	 *     @type int          $page_id                 Page ID.
+	 *     @type string       $pagename                Page slug.
+	 *     @type string       $perm                    Show posts if user has the appropriate capability.
+	 *     @type array        $post__in                An array of post IDs to retrieve, sticky posts will be included
+	 *     @type string       $post_mime_type          The mime type of the post. Used for 'attachment' post_type.
+	 *     @type array        $post__not_in            An array of post IDs not to retrieve. Note: a string of comma-
+	 *                                                 separated IDs will NOT work.
+	 *     @type int          $post_parent             Page ID to retrieve child pages for. Use 0 to only retrieve
+	 *                                                 top-level pages.
+	 *     @type array        $post_parent__in         An array containing parent page IDs to query child pages from.
+	 *     @type array        $post_parent__not_in     An array containing parent page IDs not to query child pages from.
+	 *     @type string|array $post_type               A post type slug (string) or array of post type slugs.
+	 *                                                 Default 'any' if using 'tax_query'.
+	 *     @type string|array $post_status             A post status (string) or array of post statuses.
+	 *     @type int          $posts_per_page          The number of posts to query for. Use -1 to request all posts.
+	 *     @type int          $posts_per_archive_page  The number of posts to query for by archive page. Overrides
+	 *                                                 'posts_per_page' when is_archive(), or is_search() are true.
+	 *     @type string       $s                       Search keyword.
+	 *     @type int          $second                  Second of the minute. Default empty. Accepts numbers 0-60.
+	 *     @type array        $search_terms            Array of search terms.
+	 *     @type bool         $sentence                Whether to search by phrase. Default false.
+	 *     @type bool         $suppress_filters        Whether to suppress filters. Default false.
+	 *     @type string       $tag                     Tag slug. Comma-separated (either), Plus-separated (all).
+	 *     @type array        $tag__and                An array of tag ids (AND in).
+	 *     @type array        $tag__in                 An array of tag ids (OR in).
+	 *     @type array        $tag__not_in             An array of tag ids (NOT in).
+	 *     @type int          $tag_id                  Tag id or comma-separated list of IDs.
+	 *     @type array        $tag_slug__and           An array of tag slugs (AND in).
+	 *     @type array        $tag_slug__in            An array of tag slugs (OR in). unless 'ignore_sticky_posts' is
+	 *                                                 true. Note: a string of comma-separated IDs will NOT work.
+	 *     @type array        $tax_query               An associative array of WP_Tax_Query arguments.
+	 *                                                 {@see WP_Tax_Query->queries}
+	 *     @type bool         $update_post_meta_cache  Whether to update the post meta cache. Default true.
+	 *     @type bool         $update_post_term_cache  Whether to update the post term cache. Default true.
+	 *     @type int          $w                       The week number of the year. Default empty. Accepts numbers 0-53.
+	 *     @type int          $year                    The four-digit year. Default empty. Accepts any four-digit year.
+	 * }
 	 */
-	function parse_query( $query =  '' ) {
+	public function parse_query( $query =  '' ) {
 		if ( ! empty( $query ) ) {
 			$this->init();
 			$this->query = $this->query_vars = wp_parse_args( $query );
@@ -1510,9 +1600,9 @@ class WP_Query {
 			$this->is_page = true;
 			$this->is_single = false;
 		} else {
-		// Look for archive queries. Dates, categories, authors, search, post type archives.
+			// Look for archive queries. Dates, categories, authors, search, post type archives.
 
-			if ( !empty($qv['s']) ) {
+			if ( isset( $this->query['s'] ) ) {
 				$this->is_search = true;
 			}
 
@@ -1727,6 +1817,8 @@ class WP_Query {
 	/**
 	 * Parses various taxonomy related query vars.
 	 *
+	 * For BC, this method is not marked as protected. See [28987].
+	 *
 	 * @access protected
 	 * @since 3.1.0
 	 *
@@ -1977,11 +2069,13 @@ class WP_Query {
 		$searchand = '';
 		$q['search_orderby_title'] = array();
 		foreach ( $q['search_terms'] as $term ) {
-			$term = like_escape( esc_sql( $term ) );
-			if ( $n )
-				$q['search_orderby_title'][] = "$wpdb->posts.post_title LIKE '%$term%'";
+			if ( $n ) {
+				$like = '%' . $wpdb->esc_like( $term ) . '%';
+				$q['search_orderby_title'][] = $wpdb->prepare( "$wpdb->posts.post_title LIKE %s", $like );
+			}
 
-			$search .= "{$searchand}(($wpdb->posts.post_title LIKE '{$n}{$term}{$n}') OR ($wpdb->posts.post_content LIKE '{$n}{$term}{$n}'))";
+			$like = $n . $wpdb->esc_like( $term ) . $n;
+			$search .= $wpdb->prepare( "{$searchand}(($wpdb->posts.post_title LIKE %s) OR ($wpdb->posts.post_content LIKE %s))", $like, $like );
 			$searchand = ' AND ';
 		}
 
@@ -2078,15 +2172,13 @@ class WP_Query {
 	protected function parse_search_order( &$q ) {
 		global $wpdb;
 
-		$search_orderby = '';
-
 		if ( $q['search_terms_count'] > 1 ) {
 			$num_terms = count( $q['search_orderby_title'] );
-			$search_orderby_s = like_escape( esc_sql( $q['s'] ) );
+			$like = '%' . $wpdb->esc_like( $q['s'] ) . '%';
 
 			$search_orderby = '(CASE ';
 			// sentence match in 'post_title'
-			$search_orderby .= "WHEN $wpdb->posts.post_title LIKE '%{$search_orderby_s}%' THEN 1 ";
+			$search_orderby .= $wpdb->prepare( "WHEN $wpdb->posts.post_title LIKE %s THEN 1 ", $like );
 
 			// sanity limit, sort as sentence when more than 6 terms
 			// (few searches are longer than 6 terms and most titles are not)
@@ -2099,7 +2191,7 @@ class WP_Query {
 			}
 
 			// sentence match in 'post_content'
-			$search_orderby .= "WHEN $wpdb->posts.post_content LIKE '%{$search_orderby_s}%' THEN 4 ";
+			$search_orderby .= $wpdb->prepare( "WHEN $wpdb->posts.post_content LIKE %s THEN 4 ", $like );
 			$search_orderby .= 'ELSE 5 END)';
 		} else {
 			// single word or sentence search
@@ -2109,13 +2201,104 @@ class WP_Query {
 		return $search_orderby;
 	}
 
+	/**
+	 * If the passed orderby value is allowed, convert the alias to a
+	 * properly-prefixed orderby value.
+	 *
+	 * @since 4.0.0
+	 * @access protected
+	 *
+	 * @global wpdb $wpdb WordPress database access abstraction object.
+	 *
+	 * @param string $orderby Alias for the field to order by.
+	 * @return string|bool Table-prefixed value to used in the ORDER clause. False otherwise.
+	 */
+	protected function parse_orderby( $orderby ) {
+		global $wpdb;
+
+		// Used to filter values.
+		$allowed_keys = array(
+			'post_name', 'post_author', 'post_date', 'post_title', 'post_modified',
+			'post_parent', 'post_type', 'name', 'author', 'date', 'title', 'modified',
+			'parent', 'type', 'ID', 'menu_order', 'comment_count', 'rand',
+		);
+
+		$meta_key = $this->get( 'meta_key' );
+		if ( ! empty( $meta_key ) ) {
+			$allowed_keys[] = $meta_key;
+			$allowed_keys[] = 'meta_value';
+			$allowed_keys[] = 'meta_value_num';
+		}
+
+		if ( ! in_array( $orderby, $allowed_keys ) ) {
+			return false;
+		}
+
+		switch ( $orderby ) {
+			case 'post_name':
+			case 'post_author':
+			case 'post_date':
+			case 'post_title':
+			case 'post_modified':
+			case 'post_parent':
+			case 'post_type':
+			case 'ID':
+			case 'menu_order':
+			case 'comment_count':
+				$orderby = "$wpdb->posts.{$orderby}";
+				break;
+			case 'rand':
+				$orderby = 'RAND()';
+				break;
+			case $meta_key:
+			case 'meta_value':
+				$type = $this->get( 'meta_type' );
+				if ( ! empty( $type ) ) {
+					$meta_type = $this->meta_query->get_cast_for_type( $type );
+					$orderby = "CAST($wpdb->postmeta.meta_value AS {$meta_type})";
+				} else {
+					$orderby = "$wpdb->postmeta.meta_value";
+				}
+				break;
+			case 'meta_value_num':
+				$orderby = "$wpdb->postmeta.meta_value+0";
+				break;
+			default:
+				$orderby = "$wpdb->posts.post_" . $orderby;
+				break;
+		}
+
+		return $orderby;
+	}
+
+	/**
+	 * Parse an 'order' query variable and cast it to ASC or DESC as necessary.
+	 *
+	 * @since 4.0.0
+	 * @access protected
+	 *
+	 * @param string $order The 'order' query variable.
+	 * @return string The sanitized 'order' query variable.
+	 */
+	protected function parse_order( $order ) {
+		if ( ! is_string( $order ) || empty( $order ) ) {
+			return 'DESC';
+		}
+
+		if ( 'ASC' === strtoupper( $order ) ) {
+			return 'ASC';
+		} else {
+			return 'DESC';
+		}
+	}
+
 	/**
 	 * Sets the 404 property and saves whether query is feed.
 	 *
 	 * @since 2.0.0
 	 * @access public
 	 */
-	function set_404() {
+	public function set_404() {
 		$is_feed = $this->is_feed;
 
 		$this->init_query_flags();
@@ -2134,7 +2317,7 @@ class WP_Query {
 	 * @param mixed  $default   Value to return if the query variable is not set. Default ''.
 	 * @return mixed
 	 */
-	function get( $query_var, $default = '' ) {
+	public function get( $query_var, $default = '' ) {
 		if ( isset( $this->query_vars[ $query_var ] ) ) {
 			return $this->query_vars[ $query_var ];
 		}
@@ -2151,7 +2334,7 @@ class WP_Query {
 	 * @param string $query_var Query variable key.
 	 * @param mixed $value Query variable value.
 	 */
-	function set($query_var, $value) {
+	public function set($query_var, $value) {
 		$this->query_vars[$query_var] = $value;
 	}
 
@@ -2167,7 +2350,7 @@ class WP_Query {
 	 *
 	 * @return array List of posts.
 	 */
-	function get_posts() {
+	public function get_posts() {
 		global $wpdb;
 
 		$this->parse_query();
@@ -2212,7 +2395,6 @@ class WP_Query {
 		$join = '';
 		$search = '';
 		$groupby = '';
-		$fields = '';
 		$post_status_join = false;
 		$page = 1;
 
@@ -2264,6 +2446,7 @@ class WP_Query {
 				$q['nopaging'] = false;
 			}
 		}
+
 		if ( $this->is_feed ) {
 			// This overrides posts_per_page.
 			if ( ! empty( $q['posts_per_rss'] ) ) {
@@ -2372,11 +2555,11 @@ class WP_Query {
 				if ( !$ptype_obj || !$ptype_obj->query_var || empty($q[ $ptype_obj->query_var ]) )
 					continue;
 
-				if ( ! $ptype_obj->hierarchical || strpos($q[ $ptype_obj->query_var ], '/') === false ) {
-					// Non-hierarchical post_types & parent-level-hierarchical post_types can directly use 'name'
+				if ( ! $ptype_obj->hierarchical ) {
+					// Non-hierarchical post types can directly use 'name'.
 					$q['name'] = $q[ $ptype_obj->query_var ];
 				} else {
-					// Hierarchical post_types will operate through the
+					// Hierarchical post types will operate through 'pagename'.
 					$q['pagename'] = $q[ $ptype_obj->query_var ];
 					$q['name'] = '';
 				}
@@ -2470,8 +2653,9 @@ class WP_Query {
 		}
 
 		// If a search pattern is specified, load the posts that match.
-		if ( ! empty( $q['s'] ) )
+		if ( ! empty( $q['s'] ) ) {
 			$search = $this->parse_search( $q );
+		}
 
 		/**
 		 * Filter the search SQL that is used in the WHERE clause of WP_Query.
@@ -2611,12 +2795,23 @@ class WP_Query {
 
 		$where .= $search . $whichauthor . $whichmimetype;
 
-		if ( empty($q['order']) || ((strtoupper($q['order']) != 'ASC') && (strtoupper($q['order']) != 'DESC')) )
+		if ( ! isset( $q['order'] ) ) {
 			$q['order'] = 'DESC';
+		} else {
+			$q['order'] = $this->parse_order( $q['order'] );
+		}
 
-		// Order by
-		if ( empty($q['orderby']) ) {
-			$orderby = "$wpdb->posts.post_date " . $q['order'];
+		// Order by.
+		if ( empty( $q['orderby'] ) ) {
+			/*
+			 * Boolean false or empty array blanks out ORDER BY,
+			 * while leaving the value unset or otherwise empty sets the default.
+			 */
+			if ( isset( $q['orderby'] ) && ( is_array( $q['orderby'] ) || false === $q['orderby'] ) ) {
+				$orderby = '';
+			} else {
+				$orderby = "$wpdb->posts.post_date " . $q['order'];
+			}
 		} elseif ( 'none' == $q['orderby'] ) {
 			$orderby = '';
 		} elseif ( $q['orderby'] == 'post__in' && ! empty( $post__in ) ) {
@@ -2624,59 +2819,41 @@ class WP_Query {
 		} elseif ( $q['orderby'] == 'post_parent__in' && ! empty( $post_parent__in ) ) {
 			$orderby = "FIELD( {$wpdb->posts}.post_parent, $post_parent__in )";
 		} else {
-			// Used to filter values
-			$allowed_keys = array('name', 'author', 'date', 'title', 'modified', 'menu_order', 'parent', 'ID', 'rand', 'comment_count');
-			if ( !empty($q['meta_key']) ) {
-				$allowed_keys[] = $q['meta_key'];
-				$allowed_keys[] = 'meta_value';
-				$allowed_keys[] = 'meta_value_num';
-			}
-			$q['orderby'] = urldecode($q['orderby']);
-			$q['orderby'] = addslashes_gpc($q['orderby']);
-
 			$orderby_array = array();
-			foreach ( explode( ' ', $q['orderby'] ) as $i => $orderby ) {
-				// Only allow certain values for safety
-				if ( ! in_array($orderby, $allowed_keys) )
-					continue;
+			if ( is_array( $q['orderby'] ) ) {
+				foreach ( $q['orderby'] as $_orderby => $order ) {
+					$orderby = addslashes_gpc( urldecode( $_orderby ) );
+					$parsed  = $this->parse_orderby( $orderby );
 
-				switch ( $orderby ) {
-					case 'menu_order':
-						$orderby = "$wpdb->posts.menu_order";
-						break;
-					case 'ID':
-						$orderby = "$wpdb->posts.ID";
-						break;
-					case 'rand':
-						$orderby = 'RAND()';
-						break;
-					case $q['meta_key']:
-					case 'meta_value':
-						if ( isset( $q['meta_type'] ) ) {
-							$meta_type = $this->meta_query->get_cast_for_type( $q['meta_type'] );
-							$orderby = "CAST($wpdb->postmeta.meta_value AS {$meta_type})";
-						} else {
-							$orderby = "$wpdb->postmeta.meta_value";
-						}
-						break;
-					case 'meta_value_num':
-						$orderby = "$wpdb->postmeta.meta_value+0";
-						break;
-					case 'comment_count':
-						$orderby = "$wpdb->posts.comment_count";
-						break;
-					default:
-						$orderby = "$wpdb->posts.post_" . $orderby;
+					if ( ! $parsed ) {
+						continue;
+					}
+
+					$orderby_array[] = $parsed . ' ' . $this->parse_order( $order );
 				}
+				$orderby = implode( ', ', $orderby_array );
 
-				$orderby_array[] = $orderby;
-			}
-			$orderby = implode( ',', $orderby_array );
+			} else {
+				$q['orderby'] = urldecode( $q['orderby'] );
+				$q['orderby'] = addslashes_gpc( $q['orderby'] );
+
+				foreach ( explode( ' ', $q['orderby'] ) as $i => $orderby ) {
+					$parsed = $this->parse_orderby( $orderby );
+					// Only allow certain values for safety.
+					if ( ! $parsed ) {
+						continue;
+					}
 
-			if ( empty( $orderby ) )
-				$orderby = "$wpdb->posts.post_date ".$q['order'];
-			else
-				$orderby .= " {$q['order']}";
+					$orderby_array[] = $parsed;
+				}
+				$orderby = implode( ' ' . $q['order'] . ', ', $orderby_array );
+
+				if ( empty( $orderby ) ) {
+					$orderby = "$wpdb->posts.post_date ".$q['order'];
+				} else {
+					$orderby .= " {$q['order']}";
+				}
+			}
 		}
 
 		// Order search results by relevance only when another "orderby" is not specified in the query.
@@ -2760,9 +2937,12 @@ class WP_Query {
 			$r_status = array();
 			$p_status = array();
 			$e_status = array();
-			if ( in_array('any', $q_status) ) {
-				foreach ( get_post_stati( array('exclude_from_search' => true) ) as $status )
-					$e_status[] = "$wpdb->posts.post_status <> '$status'";
+			if ( in_array( 'any', $q_status ) ) {
+				foreach ( get_post_stati( array( 'exclude_from_search' => true ) ) as $status ) {
+					if ( ! in_array( $status, $q_status ) ) {
+						$e_status[] = "$wpdb->posts.post_status <> '$status'";
+					}
+				}
 			} else {
 				foreach ( get_post_stati() as $status ) {
 					if ( in_array( $status, $q_status ) ) {
@@ -2870,7 +3050,7 @@ class WP_Query {
 				$page = 1;
 
 			if ( empty($q['offset']) ) {
-				$pgstrt = ($page - 1) * $q['posts_per_page'] . ', ';
+				$pgstrt = absint( ( $page - 1 ) * $q['posts_per_page'] ) . ', ';
 			} else { // we're ignoring $page and using 'offset'
 				$q['offset'] = absint($q['offset']);
 				$pgstrt = $q['offset'] . ', ';
@@ -2879,7 +3059,7 @@ class WP_Query {
 		}
 
 		// Comments feeds
-		if ( $this->is_comment_feed && ( $this->is_archive || $this->is_search || !$this->is_singular ) ) {
+		if ( $this->is_comment_feed && ! $this->is_singular ) {
 			if ( $this->is_archive || $this->is_search ) {
 				$cjoin = "JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) $join ";
 				$cwhere = "WHERE comment_approved = '1' $where";
@@ -3054,9 +3234,13 @@ class WP_Query {
 			 */
 			$clauses = (array) apply_filters_ref_array( 'posts_clauses', array( compact( $pieces ), &$this ) );
 
-			foreach ( $pieces as $piece ) {
-				$$piece = isset( $clauses[ $piece ] ) ? $clauses[ $piece ] : '';
-			}
+			$where = isset( $clauses[ 'where' ] ) ? $clauses[ 'where' ] : '';
+			$groupby = isset( $clauses[ 'groupby' ] ) ? $clauses[ 'groupby' ] : '';
+			$join = isset( $clauses[ 'join' ] ) ? $clauses[ 'join' ] : '';
+			$orderby = isset( $clauses[ 'orderby' ] ) ? $clauses[ 'orderby' ] : '';
+			$distinct = isset( $clauses[ 'distinct' ] ) ? $clauses[ 'distinct' ] : '';
+			$fields = isset( $clauses[ 'fields' ] ) ? $clauses[ 'fields' ] : '';
+			$limits = isset( $clauses[ 'limits' ] ) ? $clauses[ 'limits' ] : '';
 		}
 
 		/**
@@ -3173,8 +3357,14 @@ class WP_Query {
 			 * @param WP_Query &$this  The WP_Query instance (passed by reference).
 			 */
 			$clauses = (array) apply_filters_ref_array( 'posts_clauses_request', array( compact( $pieces ), &$this ) );
-			foreach ( $pieces as $piece )
-				$$piece = isset( $clauses[ $piece ] ) ? $clauses[ $piece ] : '';
+
+			$where = isset( $clauses[ 'where' ] ) ? $clauses[ 'where' ] : '';
+			$groupby = isset( $clauses[ 'groupby' ] ) ? $clauses[ 'groupby' ] : '';
+			$join = isset( $clauses[ 'join' ] ) ? $clauses[ 'join' ] : '';
+			$orderby = isset( $clauses[ 'orderby' ] ) ? $clauses[ 'orderby' ] : '';
+			$distinct = isset( $clauses[ 'distinct' ] ) ? $clauses[ 'distinct' ] : '';
+			$fields = isset( $clauses[ 'fields' ] ) ? $clauses[ 'fields' ] : '';
+			$limits = isset( $clauses[ 'limits' ] ) ? $clauses[ 'limits' ] : '';
 		}
 
 		if ( ! empty($groupby) )
@@ -3425,7 +3615,7 @@ class WP_Query {
 	 * @since 3.5.0
 	 * @access private
 	 */
-	function set_found_posts( $q, $limits ) {
+	private function set_found_posts( $q, $limits ) {
 		global $wpdb;
 
 		// Bail if posts is an empty array. Continue if posts is an empty string,
@@ -3469,7 +3659,7 @@ class WP_Query {
 	 *
 	 * @return WP_Post Next post.
 	 */
-	function next_post() {
+	public function next_post() {
 
 		$this->current_post++;
 
@@ -3488,7 +3678,7 @@ class WP_Query {
 	 * @uses $post
 	 * @uses do_action_ref_array() Calls 'loop_start' if loop has just started
 	 */
-	function the_post() {
+	public function the_post() {
 		global $post;
 		$this->in_the_loop = true;
 
@@ -3517,7 +3707,7 @@ class WP_Query {
 	 *
 	 * @return bool True if posts are available, false if end of loop.
 	 */
-	function have_posts() {
+	public function have_posts() {
 		if ( $this->current_post + 1 < $this->post_count ) {
 			return true;
 		} elseif ( $this->current_post + 1 == $this->post_count && $this->post_count > 0 ) {
@@ -3543,7 +3733,7 @@ class WP_Query {
 	 * @since 1.5.0
 	 * @access public
 	 */
-	function rewind_posts() {
+	public function rewind_posts() {
 		$this->current_post = -1;
 		if ( $this->post_count > 0 ) {
 			$this->post = $this->posts[0];
@@ -3558,7 +3748,7 @@ class WP_Query {
 	 *
 	 * @return object Comment object.
 	 */
-	function next_comment() {
+	public function next_comment() {
 		$this->current_comment++;
 
 		$this->comment = $this->comments[$this->current_comment];
@@ -3573,7 +3763,7 @@ class WP_Query {
 	 * @global object $comment Current comment.
 	 * @uses do_action() Calls 'comment_loop_start' hook when first comment is processed.
 	 */
-	function the_comment() {
+	public function the_comment() {
 		global $comment;
 
 		$comment = $this->next_comment();
@@ -3598,7 +3788,7 @@ class WP_Query {
 	 *
 	 * @return bool True, if more comments. False, if no more posts.
 	 */
-	function have_comments() {
+	public function have_comments() {
 		if ( $this->current_comment + 1 < $this->comment_count ) {
 			return true;
 		} elseif ( $this->current_comment + 1 == $this->comment_count ) {
@@ -3614,7 +3804,7 @@ class WP_Query {
 	 * @since 2.2.0
 	 * @access public
 	 */
-	function rewind_comments() {
+	public function rewind_comments() {
 		$this->current_comment = -1;
 		if ( $this->comment_count > 0 ) {
 			$this->comment = $this->comments[0];
@@ -3630,7 +3820,7 @@ class WP_Query {
 	 * @param string $query URL query string.
 	 * @return array List of posts.
 	 */
-	function query( $query ) {
+	public function query( $query ) {
 		$this->init();
 		$this->query = $this->query_vars = wp_parse_args( $query );
 		return $this->get_posts();
@@ -3648,7 +3838,7 @@ class WP_Query {
 	 *
 	 * @return object
 	 */
-	function get_queried_object() {
+	public function get_queried_object() {
 		if ( isset($this->queried_object) )
 			return $this->queried_object;
 
@@ -3697,7 +3887,7 @@ class WP_Query {
 			$page_for_posts = get_option('page_for_posts');
 			$this->queried_object = get_post( $page_for_posts );
 			$this->queried_object_id = (int) $this->queried_object->ID;
-		} elseif ( $this->is_singular && !is_null($this->post) ) {
+		} elseif ( $this->is_singular && ! empty( $this->post ) ) {
 			$this->queried_object = $this->post;
 			$this->queried_object_id = (int) $this->post->ID;
 		} elseif ( $this->is_author ) {
@@ -3716,7 +3906,7 @@ class WP_Query {
 	 *
 	 * @return int
 	 */
-	function get_queried_object_id() {
+	public function get_queried_object_id() {
 		$this->get_queried_object();
 
 		if ( isset($this->queried_object_id) ) {
@@ -3737,12 +3927,64 @@ class WP_Query {
 	 * @param string $query URL query string.
 	 * @return WP_Query
 	 */
-	function __construct($query = '') {
+	public function __construct($query = '') {
 		if ( ! empty($query) ) {
 			$this->query($query);
 		}
 	}
 
+	/**
+	 * Make private properties readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to get.
+	 * @return mixed Property.
+	 */
+	public function __get( $name ) {
+		return $this->$name;
+	}
+
+	/**
+	 * Make private properties settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to check if set.
+	 * @return bool Whether the property is set.
+	 */
+	public function __isset( $name ) {
+		return isset( $this->$name );
+	}
+
+	/**
+	 * Make private properties settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to unset.
+	 */
+	public function __unset( $name ) {
+		unset( $this->$name );
+	}
+
+	/**
+	 * Make private/protected methods readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param callable $name      Method to call.
+	 * @param array    $arguments Arguments to pass when calling.
+	 * @return mixed|bool Return value of the callback, otherwise false.
+	 */
+	public function __call( $name, $arguments ) {
+		return call_user_func_array( array( $this, $name ), $arguments );
+	}
+
 	/**
  	 * Is the query for an existing archive page?
  	 *
@@ -3752,7 +3994,7 @@ class WP_Query {
  	 *
  	 * @return bool
  	 */
-	function is_archive() {
+	public function is_archive() {
 		return (bool) $this->is_archive;
 	}
 
@@ -3764,7 +4006,7 @@ class WP_Query {
 	 * @param mixed $post_types Optional. Post type or array of posts types to check against.
 	 * @return bool
 	 */
-	function is_post_type_archive( $post_types = '' ) {
+	public function is_post_type_archive( $post_types = '' ) {
 		if ( empty( $post_types ) || ! $this->is_post_type_archive )
 			return (bool) $this->is_post_type_archive;
 
@@ -3784,7 +4026,7 @@ class WP_Query {
 	 * @param mixed $attachment Attachment ID, title, slug, or array of such.
 	 * @return bool
 	 */
-	function is_attachment( $attachment = '' ) {
+	public function is_attachment( $attachment = '' ) {
 		if ( ! $this->is_attachment ) {
 			return false;
 		}
@@ -3818,7 +4060,7 @@ class WP_Query {
 	 * @param mixed $author Optional. User ID, nickname, nicename, or array of User IDs, nicknames, and nicenames
 	 * @return bool
 	 */
-	function is_author( $author = '' ) {
+	public function is_author( $author = '' ) {
 		if ( !$this->is_author )
 			return false;
 
@@ -3850,7 +4092,7 @@ class WP_Query {
 	 * @param mixed $category Optional. Category ID, name, slug, or array of Category IDs, names, and slugs.
 	 * @return bool
 	 */
-	function is_category( $category = '' ) {
+	public function is_category( $category = '' ) {
 		if ( !$this->is_category )
 			return false;
 
@@ -3882,7 +4124,7 @@ class WP_Query {
 	 * @param mixed $tag Optional. Tag ID, name, slug, or array of Tag IDs, names, and slugs.
 	 * @return bool
 	 */
-	function is_tag( $tag = '' ) {
+	public function is_tag( $tag = '' ) {
 		if ( ! $this->is_tag )
 			return false;
 
@@ -3919,7 +4161,7 @@ class WP_Query {
 	 * @param mixed $term. Optional. Term ID, name, slug or array of Term IDs, names, and slugs.
 	 * @return bool
 	 */
-	function is_tax( $taxonomy = '', $term = '' ) {
+	public function is_tax( $taxonomy = '', $term = '' ) {
 		global $wp_taxonomies;
 
 		if ( !$this->is_tax )
@@ -3954,7 +4196,7 @@ class WP_Query {
 	 *
 	 * @return bool
 	 */
-	function is_comments_popup() {
+	public function is_comments_popup() {
 		return (bool) $this->is_comments_popup;
 	}
 
@@ -3965,7 +4207,7 @@ class WP_Query {
 	 *
 	 * @return bool
 	 */
-	function is_date() {
+	public function is_date() {
 		return (bool) $this->is_date;
 	}
 
@@ -3976,7 +4218,7 @@ class WP_Query {
 	 *
 	 * @return bool
 	 */
-	function is_day() {
+	public function is_day() {
 		return (bool) $this->is_day;
 	}
 
@@ -3988,7 +4230,7 @@ class WP_Query {
 	 * @param string|array $feeds Optional feed types to check.
 	 * @return bool
 	 */
-	function is_feed( $feeds = '' ) {
+	public function is_feed( $feeds = '' ) {
 		if ( empty( $feeds ) || ! $this->is_feed )
 			return (bool) $this->is_feed;
 		$qv = $this->get( 'feed' );
@@ -4004,7 +4246,7 @@ class WP_Query {
 	 *
 	 * @return bool
 	 */
-	function is_comment_feed() {
+	public function is_comment_feed() {
 		return (bool) $this->is_comment_feed;
 	}
 
@@ -4026,7 +4268,7 @@ class WP_Query {
 	 *
 	 * @return bool True, if front of site.
 	 */
-	function is_front_page() {
+	public function is_front_page() {
 		// most likely case
 		if ( 'posts' == get_option( 'show_on_front') && $this->is_home() )
 			return true;
@@ -4052,7 +4294,7 @@ class WP_Query {
 	 *
 	 * @return bool True if blog view homepage.
 	 */
-	function is_home() {
+	public function is_home() {
 		return (bool) $this->is_home;
 	}
 
@@ -4063,7 +4305,7 @@ class WP_Query {
 	 *
 	 * @return bool
 	 */
-	function is_month() {
+	public function is_month() {
 		return (bool) $this->is_month;
 	}
 
@@ -4078,10 +4320,10 @@ class WP_Query {
 	 *
 	 * @since 3.1.0
 	 *
-	 * @param mixed $page Page ID, title, slug, or array of such.
+	 * @param mixed $page Page ID, title, slug, path, or array of such.
 	 * @return bool
 	 */
-	function is_page( $page = '' ) {
+	public function is_page( $page = '' ) {
 		if ( !$this->is_page )
 			return false;
 
@@ -4092,12 +4334,24 @@ class WP_Query {
 
 		$page = (array) $page;
 
-		if ( in_array( $page_obj->ID, $page ) )
+		if ( in_array( $page_obj->ID, $page ) ) {
 			return true;
-		elseif ( in_array( $page_obj->post_title, $page ) )
+		} elseif ( in_array( $page_obj->post_title, $page ) ) {
 			return true;
-		else if ( in_array( $page_obj->post_name, $page ) )
+		} else if ( in_array( $page_obj->post_name, $page ) ) {
 			return true;
+		} else {
+			foreach ( $page as $pagepath ) {
+				if ( ! strpos( $pagepath, '/' ) ) {
+					continue;
+				}
+				$pagepath_obj = get_page_by_path( $pagepath );
+
+				if ( $pagepath_obj && ( $pagepath_obj->ID == $page_obj->ID ) ) {
+					return true;
+				}
+			}
+		}
 
 		return false;
 	}
@@ -4109,7 +4363,7 @@ class WP_Query {
 	 *
 	 * @return bool
 	 */
-	function is_paged() {
+	public function is_paged() {
 		return (bool) $this->is_paged;
 	}
 
@@ -4120,7 +4374,7 @@ class WP_Query {
 	 *
 	 * @return bool
 	 */
-	function is_preview() {
+	public function is_preview() {
 		return (bool) $this->is_preview;
 	}
 
@@ -4131,7 +4385,7 @@ class WP_Query {
 	 *
 	 * @return bool
 	 */
-	function is_robots() {
+	public function is_robots() {
 		return (bool) $this->is_robots;
 	}
 
@@ -4142,7 +4396,7 @@ class WP_Query {
 	 *
 	 * @return bool
 	 */
-	function is_search() {
+	public function is_search() {
 		return (bool) $this->is_search;
 	}
 
@@ -4159,10 +4413,10 @@ class WP_Query {
 	 *
 	 * @since 3.1.0
 	 *
-	 * @param mixed $post Post ID, title, slug, or array of such.
+	 * @param mixed $post Post ID, title, slug, path, or array of such.
 	 * @return bool
 	 */
-	function is_single( $post = '' ) {
+	public function is_single( $post = '' ) {
 		if ( !$this->is_single )
 			return false;
 
@@ -4173,13 +4427,24 @@ class WP_Query {
 
 		$post = (array) $post;
 
-		if ( in_array( $post_obj->ID, $post ) )
+		if ( in_array( $post_obj->ID, $post ) ) {
 			return true;
-		elseif ( in_array( $post_obj->post_title, $post ) )
+		} elseif ( in_array( $post_obj->post_title, $post ) ) {
 			return true;
-		elseif ( in_array( $post_obj->post_name, $post ) )
+		} elseif ( in_array( $post_obj->post_name, $post ) ) {
 			return true;
+		} else {
+			foreach ( $post as $postpath ) {
+				if ( ! strpos( $postpath, '/' ) ) {
+					continue;
+				}
+				$postpath_obj = get_page_by_path( $postpath, OBJECT, $post_obj->post_type );
 
+				if ( $postpath_obj && ( $postpath_obj->ID == $post_obj->ID ) ) {
+					return true;
+				}
+			}
+		}
 		return false;
 	}
 
@@ -4197,7 +4462,7 @@ class WP_Query {
 	 * @param mixed $post_types Optional. Post Type or array of Post Types
 	 * @return bool
 	 */
-	function is_singular( $post_types = '' ) {
+	public function is_singular( $post_types = '' ) {
 		if ( empty( $post_types ) || !$this->is_singular )
 			return (bool) $this->is_singular;
 
@@ -4213,7 +4478,7 @@ class WP_Query {
 	 *
 	 * @return bool
 	 */
-	function is_time() {
+	public function is_time() {
 		return (bool) $this->is_time;
 	}
 
@@ -4224,7 +4489,7 @@ class WP_Query {
 	 *
 	 * @return bool
 	 */
-	function is_trackback() {
+	public function is_trackback() {
 		return (bool) $this->is_trackback;
 	}
 
@@ -4235,7 +4500,7 @@ class WP_Query {
 	 *
 	 * @return bool
 	 */
-	function is_year() {
+	public function is_year() {
 		return (bool) $this->is_year;
 	}
 
@@ -4246,7 +4511,7 @@ class WP_Query {
 	 *
 	 * @return bool
 	 */
-	function is_404() {
+	public function is_404() {
 		return (bool) $this->is_404;
 	}
 
@@ -4257,7 +4522,7 @@ class WP_Query {
 	 *
 	 * @return bool
 	 */
-	function is_main_query() {
+	public function is_main_query() {
 		global $wp_the_query;
 		return $wp_the_query === $this;
 	}
@@ -4270,7 +4535,7 @@ class WP_Query {
 	 *
 	 * @return bool
 	 */
-	function reset_postdata() {
+	public function reset_postdata() {
 		if ( ! empty( $this->post ) ) {
 			$GLOBALS['post'] = $this->post;
 			setup_postdata( $this->post );
diff --git a/wp-includes/revision.php b/wp-includes/revision.php
index 48523032e..45e436f56 100644
--- a/wp-includes/revision.php
+++ b/wp-includes/revision.php
@@ -190,7 +190,6 @@ function wp_get_post_autosave( $post_id, $user_id = 0 ) {
 				continue;
 
 			return $revision;
-			break;
 		}
 	}
 
@@ -254,7 +253,6 @@ function _wp_put_post_revision( $post = null, $autosave = false ) {
 	if ( isset($post['post_type']) && 'revision' == $post['post_type'] )
 		return new WP_Error( 'post_type', __( 'Cannot create a revision of a revision' ) );
 
-	$post_id = $post['ID'];
 	$post = _wp_post_revision_fields( $post, $autosave );
 	$post = wp_slash($post); //since data is from db
 
@@ -411,7 +409,7 @@ function wp_delete_post_revision( $revision_id ) {
  *
  * @uses get_children()
  *
- * @param int|object $post_id Post ID or post object
+ * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is global $post.
  * @return array An array of revisions, or an empty array if none.
  */
 function wp_get_post_revisions( $post_id = 0, $args = null ) {
@@ -419,7 +417,7 @@ function wp_get_post_revisions( $post_id = 0, $args = null ) {
 	if ( ! $post || empty( $post->ID ) )
 		return array();
 
-	$defaults = array( 'order' => 'DESC', 'orderby' => 'date', 'check_enabled' => true );
+	$defaults = array( 'order' => 'DESC', 'orderby' => 'date ID', 'check_enabled' => true );
 	$args = wp_parse_args( $args, $defaults );
 
 	if ( $args['check_enabled'] && ! wp_revisions_enabled( $post ) )
diff --git a/wp-includes/rewrite.php b/wp-includes/rewrite.php
index 0de3b3e34..67dade306 100644
--- a/wp-includes/rewrite.php
+++ b/wp-includes/rewrite.php
@@ -571,7 +571,7 @@ class WP_Rewrite {
 	 * @access public
 	 * @var string
 	 */
-	var $index = 'index.php';
+	public $index = 'index.php';
 
 	/**
 	 * Variable name to use for regex matches in the rewritten query.
@@ -654,7 +654,7 @@ class WP_Rewrite {
 	 * @access public
 	 * @var bool
 	 */
-	var $use_verbose_rules = false;
+	public $use_verbose_rules = false;
 
 	/**
 	 * Could post permalinks be confused with those of pages?
@@ -672,7 +672,7 @@ class WP_Rewrite {
 	 * @access public
 	 * @var bool
 	 */
-	var $use_verbose_page_rules = true;
+	public $use_verbose_page_rules = true;
 
 	/**
 	 * Rewrite tags that can be used in permalink structures.
@@ -763,7 +763,7 @@ class WP_Rewrite {
 	 *
 	 * @return bool True, if permalinks are enabled.
 	 */
-	function using_permalinks() {
+	public function using_permalinks() {
 		return ! empty($this->permalink_structure);
 	}
 
@@ -777,7 +777,7 @@ class WP_Rewrite {
 	 *
 	 * @return bool
 	 */
-	function using_index_permalinks() {
+	public function using_index_permalinks() {
 		if ( empty($this->permalink_structure) )
 			return false;
 
@@ -798,7 +798,7 @@ class WP_Rewrite {
 	 *
 	 * @return bool
 	 */
-	function using_mod_rewrite_permalinks() {
+	public function using_mod_rewrite_permalinks() {
 		if ( $this->using_permalinks() && ! $this->using_index_permalinks() )
 			return true;
 		else
@@ -821,7 +821,7 @@ class WP_Rewrite {
 	 * @param int $number Index number.
 	 * @return string
 	 */
-	function preg_index($number) {
+	public function preg_index($number) {
 		$match_prefix = '$';
 		$match_suffix = '';
 
@@ -844,7 +844,7 @@ class WP_Rewrite {
 	 *
 	 * @return array Array of page URIs as first element and attachment URIs as second element.
 	 */
-	function page_uri_index() {
+	public function page_uri_index() {
 		global $wpdb;
 
 		//get pages in order of hierarchy, i.e. children after parents
@@ -886,7 +886,7 @@ class WP_Rewrite {
 	 *
 	 * @return array
 	 */
-	function page_rewrite_rules() {
+	public function page_rewrite_rules() {
 		// the extra .? at the beginning prevents clashes with other regular expressions in the rules array
 		$this->add_rewrite_tag( '%pagename%', '(.?.+?)', 'pagename=' );
 
@@ -913,7 +913,7 @@ class WP_Rewrite {
 	 *
 	 * @return bool|string False on no permalink structure. Date permalink structure.
 	 */
-	function get_date_permastruct() {
+	public function get_date_permastruct() {
 		if ( isset($this->date_structure) )
 			return $this->date_structure;
 
@@ -967,7 +967,7 @@ class WP_Rewrite {
 	 *
 	 * @return bool|string False on failure. Year structure on success.
 	 */
-	function get_year_permastruct() {
+	public function get_year_permastruct() {
 		$structure = $this->get_date_permastruct();
 
 		if ( empty($structure) )
@@ -992,7 +992,7 @@ class WP_Rewrite {
 	 *
 	 * @return bool|string False on failure. Year/Month structure on success.
 	 */
-	function get_month_permastruct() {
+	public function get_month_permastruct() {
 		$structure = $this->get_date_permastruct();
 
 		if ( empty($structure) )
@@ -1015,7 +1015,7 @@ class WP_Rewrite {
 	 *
 	 * @return bool|string False on failure. Year/Month/Day structure on success.
 	 */
-	function get_day_permastruct() {
+	public function get_day_permastruct() {
 		return $this->get_date_permastruct();
 	}
 
@@ -1032,7 +1032,7 @@ class WP_Rewrite {
 	 *
 	 * @return bool|string False on failure. Category permalink structure.
 	 */
-	function get_category_permastruct() {
+	public function get_category_permastruct() {
 		return $this->get_extra_permastruct('category');
 	}
 
@@ -1049,7 +1049,7 @@ class WP_Rewrite {
 	 *
 	 * @return bool|string False on failure. Tag permalink structure.
 	 */
-	function get_tag_permastruct() {
+	public function get_tag_permastruct() {
 		return $this->get_extra_permastruct('post_tag');
 	}
 
@@ -1062,7 +1062,7 @@ class WP_Rewrite {
 	 * @param string $name Permalink structure name.
 	 * @return string|bool False if not found. Permalink structure string.
 	 */
-	function get_extra_permastruct($name) {
+	public function get_extra_permastruct($name) {
 		if ( empty($this->permalink_structure) )
 			return false;
 
@@ -1084,7 +1084,7 @@ class WP_Rewrite {
 	 *
 	 * @return string|bool False if not found. Permalink structure string.
 	 */
-	function get_author_permastruct() {
+	public function get_author_permastruct() {
 		if ( isset($this->author_structure) )
 			return $this->author_structure;
 
@@ -1110,7 +1110,7 @@ class WP_Rewrite {
 	 *
 	 * @return string|bool False if not found. Permalink structure string.
 	 */
-	function get_search_permastruct() {
+	public function get_search_permastruct() {
 		if ( isset($this->search_structure) )
 			return $this->search_structure;
 
@@ -1136,7 +1136,7 @@ class WP_Rewrite {
 	 *
 	 * @return string|bool False if not found. Permalink structure string.
 	 */
-	function get_page_permastruct() {
+	public function get_page_permastruct() {
 		if ( isset($this->page_structure) )
 			return $this->page_structure;
 
@@ -1162,7 +1162,7 @@ class WP_Rewrite {
 	 *
 	 * @return string|bool False if not found. Permalink structure string.
 	 */
-	function get_feed_permastruct() {
+	public function get_feed_permastruct() {
 		if ( isset($this->feed_structure) )
 			return $this->feed_structure;
 
@@ -1188,7 +1188,7 @@ class WP_Rewrite {
 	 *
 	 * @return string|bool False if not found. Permalink structure string.
 	 */
-	function get_comment_feed_permastruct() {
+	public function get_comment_feed_permastruct() {
 		if ( isset($this->comment_feed_structure) )
 			return $this->comment_feed_structure;
 
@@ -1218,7 +1218,7 @@ class WP_Rewrite {
 	 * @param string $regex Regular expression to substitute the tag for in rewrite rules.
 	 * @param string $query String to append to the rewritten query. Must end in '='.
 	 */
-	function add_rewrite_tag( $tag, $regex, $query ) {
+	public function add_rewrite_tag( $tag, $regex, $query ) {
 		$position = array_search( $tag, $this->rewritecode );
 		if ( false !== $position && null !== $position ) {
 			$this->rewritereplace[ $position ] = $regex;
@@ -1250,7 +1250,7 @@ class WP_Rewrite {
 	 * @param bool $endpoints Should endpoints be applied to the generated rewrite rules? Default is true.
 	 * @return array Rewrite rule list.
 	 */
-	function generate_rewrite_rules($permalink_structure, $ep_mask = EP_NONE, $paged = true, $feed = true, $forcomments = false, $walk_dirs = true, $endpoints = true) {
+	public function generate_rewrite_rules($permalink_structure, $ep_mask = EP_NONE, $paged = true, $feed = true, $forcomments = false, $walk_dirs = true, $endpoints = true) {
 		//build a regex to match the feed section of URLs, something like (feed|atom|rss|rss2)/?
 		$feedregex2 = '';
 		foreach ( (array) $this->feeds as $feed_name)
@@ -1520,7 +1520,7 @@ class WP_Rewrite {
 	 * @param bool $walk_dirs Optional, default is false. Whether to create list of directories to walk over.
 	 * @return array
 	 */
-	function generate_rewrite_rule($permalink_structure, $walk_dirs = false) {
+	public function generate_rewrite_rule($permalink_structure, $walk_dirs = false) {
 		return $this->generate_rewrite_rules($permalink_structure, EP_NONE, false, false, false, $walk_dirs);
 	}
 
@@ -1542,7 +1542,7 @@ class WP_Rewrite {
 	 *
 	 * @return array An associate array of matches and queries.
 	 */
-	function rewrite_rules() {
+	public function rewrite_rules() {
 		$rewrite = array();
 
 		if ( empty($this->permalink_structure) )
@@ -1744,7 +1744,7 @@ class WP_Rewrite {
 	 *
 	 * @return array Rewrite rules.
 	 */
-	function wp_rewrite_rules() {
+	public function wp_rewrite_rules() {
 		$this->rules = get_option('rewrite_rules');
 		if ( empty($this->rules) ) {
 			$this->matches = 'matches';
@@ -1769,7 +1769,7 @@ class WP_Rewrite {
 	 *
 	 * @return string
 	 */
-	function mod_rewrite_rules() {
+	public function mod_rewrite_rules() {
 		if ( ! $this->using_permalinks() )
 			return '';
 
@@ -1867,7 +1867,7 @@ class WP_Rewrite {
 	 *
 	 * @return string
 	 */
-	function iis7_url_rewrite_rules( $add_parent_tags = false ) {
+	public function iis7_url_rewrite_rules( $add_parent_tags = false ) {
 
 		if ( ! $this->using_permalinks() )
 			return '';
@@ -1922,7 +1922,7 @@ class WP_Rewrite {
 	 * @param string $redirect URL regex redirects to when regex matches request.
 	 * @param string $after Optional, default is bottom. Location to place rule.
 	 */
-	function add_rule($regex, $redirect, $after = 'bottom') {
+	public function add_rule($regex, $redirect, $after = 'bottom') {
 		//get everything up to the first ?
 		$index = (strpos($redirect, '?') == false ? strlen($redirect) : strpos($redirect, '?'));
 		$front = substr($redirect, 0, $index);
@@ -1948,7 +1948,7 @@ class WP_Rewrite {
 	 * @param string $regex Regular expression to match against request.
 	 * @param string $redirect URL regex redirects to when regex matches request.
 	 */
-	function add_external_rule($regex, $redirect) {
+	public function add_external_rule($regex, $redirect) {
 		$this->non_wp_rules[$regex] = $redirect;
 	}
 
@@ -1966,7 +1966,7 @@ class WP_Rewrite {
 	 * @param int    $places    Endpoint mask describing the places the endpoint should be added.
 	 * @param string $query_var Name of the corresponding query variable. Default is value of $name.
 	 */
-	function add_endpoint( $name, $places, $query_var = null ) {
+	public function add_endpoint( $name, $places, $query_var = null ) {
 		global $wp;
 		if ( null === $query_var ) {
 			$query_var = $name;
@@ -2003,7 +2003,7 @@ class WP_Rewrite {
 	 *                          rules built for each in turn? Default is true.
 	 *     - endpoints (bool) - Should endpoints be applied to the generated rewrite rules? Default is true.
 	 */
-	function add_permastruct( $name, $struct, $args = array() ) {
+	public function add_permastruct( $name, $struct, $args = array() ) {
 		// backwards compatibility for the old parameters: $with_front and $ep_mask
 		if ( ! is_array( $args ) )
 			$args = array( 'with_front' => $args );
@@ -2042,7 +2042,7 @@ class WP_Rewrite {
 	 * @access public
 	 * @param bool $hard Whether to update .htaccess (hard flush) or just update rewrite_rules option (soft flush). Default is true (hard).
 	 */
-	function flush_rules($hard = true) {
+	public function flush_rules($hard = true) {
 		delete_option('rewrite_rules');
 		$this->wp_rewrite_rules();
 		/**
@@ -2073,7 +2073,7 @@ class WP_Rewrite {
 	 * @since 1.5.0
 	 * @access public
 	 */
-	function init() {
+	public function init() {
 		$this->extra_rules = $this->non_wp_rules = $this->endpoints = array();
 		$this->permalink_structure = get_option('permalink_structure');
 		$this->front = substr($this->permalink_structure, 0, strpos($this->permalink_structure, '%'));
@@ -2110,7 +2110,7 @@ class WP_Rewrite {
 	 *
 	 * @param string $permalink_structure Permalink structure.
 	 */
-	function set_permalink_structure($permalink_structure) {
+	public function set_permalink_structure($permalink_structure) {
 		if ( $permalink_structure != $this->permalink_structure ) {
 			$old_permalink_structure = $this->permalink_structure;
 			update_option('permalink_structure', $permalink_structure);
@@ -2140,7 +2140,7 @@ class WP_Rewrite {
 	 *
 	 * @param string $category_base Category permalink structure base.
 	 */
-	function set_category_base($category_base) {
+	public function set_category_base($category_base) {
 		if ( $category_base != get_option('category_base') ) {
 			update_option('category_base', $category_base);
 			$this->init();
@@ -2159,7 +2159,7 @@ class WP_Rewrite {
 	 *
 	 * @param string $tag_base Tag permalink structure base.
 	 */
-	function set_tag_base( $tag_base ) {
+	public function set_tag_base( $tag_base ) {
 		if ( $tag_base != get_option( 'tag_base') ) {
 			update_option( 'tag_base', $tag_base );
 			$this->init();
@@ -2174,7 +2174,7 @@ class WP_Rewrite {
 	 *
 	 * @return WP_Rewrite
 	 */
-	function __construct() {
+	public function __construct() {
 		$this->init();
 	}
 }
diff --git a/wp-includes/rss.php b/wp-includes/rss.php
index ab6ead0f2..7759003c6 100644
--- a/wp-includes/rss.php
+++ b/wp-includes/rss.php
@@ -247,7 +247,7 @@ class MagpieRSS {
 		}
 		elseif ($this->feed_type == ATOM and $this->incontent  ) {
 			// balance tags properly
-			// note:  i don't think this is actually neccessary
+			// note: This may not actually be necessary
 			if ( $this->stack[0] == $el )
 			{
 				$this->append_content("</$el>");
@@ -724,7 +724,7 @@ class RSSCache {
 	Function:	set
 	Purpose:	add an item to the cache, keyed on url
 	Input:		url from wich the rss file was fetched
-	Output:		true on sucess
+	Output:		true on success
 \*=======================================================================*/
 	function set ($url, $rss) {
 		$cache_option = 'rss_' . $this->file_name( $url );
diff --git a/wp-includes/script-loader.php b/wp-includes/script-loader.php
index 1779ae748..ab228b371 100644
--- a/wp-includes/script-loader.php
+++ b/wp-includes/script-loader.php
@@ -48,7 +48,7 @@ require( ABSPATH . WPINC . '/functions.wp-styles.php' );
  * @param object $scripts WP_Scripts object.
  */
 function wp_default_scripts( &$scripts ) {
-	include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version
+	include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
 
 	$develop_src = false !== strpos( $wp_version, '-src' );
 
@@ -74,6 +74,7 @@ function wp_default_scripts( &$scripts ) {
 		'url' => (string) SITECOOKIEPATH,
 		'uid' => (string) get_current_user_id(),
 		'time' => (string) time(),
+		'secure' => (string) ( 'https' === parse_url( site_url(), PHP_URL_SCHEME ) ),
 	) );
 
 	$scripts->add( 'common', "/wp-admin/js/common$suffix.js", array('jquery', 'hoverIntent', 'utils'), false, 1 );
@@ -159,8 +160,8 @@ function wp_default_scripts( &$scripts ) {
 	$scripts->add( 'cropper', '/wp-includes/js/crop/cropper.js', array('scriptaculous-dragdrop') );
 
 	// jQuery
-	$scripts->add( 'jquery', false, array( 'jquery-core', 'jquery-migrate' ), '1.11.0' );
-	$scripts->add( 'jquery-core', '/wp-includes/js/jquery/jquery.js', array(), '1.11.0' );
+	$scripts->add( 'jquery', false, array( 'jquery-core', 'jquery-migrate' ), '1.11.1' );
+	$scripts->add( 'jquery-core', '/wp-includes/js/jquery/jquery.js', array(), '1.11.1' );
 	$scripts->add( 'jquery-migrate', "/wp-includes/js/jquery/jquery-migrate$suffix.js", array(), '1.2.1' );
 
 	// full jQuery UI
@@ -234,12 +235,6 @@ function wp_default_scripts( &$scripts ) {
 
 	$scripts->add( 'swfobject', "/wp-includes/js/swfobject.js", array(), '2.2-20120417');
 
-	// common bits for both uploaders
-	$max_upload_size = ( (int) ( $max_up = @ini_get('upload_max_filesize') ) < (int) ( $max_post = @ini_get('post_max_size') ) ) ? $max_up : $max_post;
-
-	if ( empty($max_upload_size) )
-		$max_upload_size = __('not configured');
-
 	// error message for both plupload and swfupload
 	$uploader_l10n = array(
 		'queue_limit_exceeded' => __('You have attempted to queue too many files.'),
@@ -307,9 +302,9 @@ function wp_default_scripts( &$scripts ) {
 
 	$scripts->add( 'imgareaselect', "/wp-includes/js/imgareaselect/jquery.imgareaselect$suffix.js", array('jquery'), '0.9.10', 1 );
 
-	$scripts->add( 'mediaelement', "/wp-includes/js/mediaelement/mediaelement-and-player.min.js", array('jquery'), '2.14.2', 1 );
+	$scripts->add( 'mediaelement', "/wp-includes/js/mediaelement/mediaelement-and-player.min.js", array('jquery'), '2.15.0', 1 );
 	did_action( 'init' ) && $scripts->localize( 'mediaelement', 'mejsL10n', array(
-		'language' => get_bloginfo( 'language' ),
+		'language' => substr( get_bloginfo( 'language' ), 0, 2 ),
 		'strings'  => array(
 			'Close'               => __( 'Close' ),
 			'Fullscreen'          => __( 'Fullscreen' ),
@@ -351,6 +346,7 @@ function wp_default_scripts( &$scripts ) {
 	) );
 
 	$scripts->add( 'user-profile', "/wp-admin/js/user-profile$suffix.js", array( 'jquery', 'password-strength-meter' ), false, 1 );
+	$scripts->add( 'language-chooser', "/wp-admin/js/language-chooser$suffix.js", array( 'jquery' ), false, 1 );
 
 	$scripts->add( 'user-suggest', "/wp-admin/js/user-suggest$suffix.js", array( 'jquery-ui-autocomplete' ), false, 1 );
 
@@ -387,6 +383,7 @@ function wp_default_scripts( &$scripts ) {
 	did_action( 'init' ) && $scripts->localize( 'customize-controls', '_wpCustomizeControlsL10n', array(
 		'activate'  => __( 'Save &amp; Activate' ),
 		'save'      => __( 'Save &amp; Publish' ),
+		'saveAlert' => __( 'The changes you made will be lost if you navigate away from this page.' ),
 		'saved'     => __( 'Saved' ),
 		'cancel'    => __( 'Cancel' ),
 		'close'     => __( 'Close' ),
@@ -463,6 +460,8 @@ function wp_default_scripts( &$scripts ) {
 			'savingText' => __('Saving Draft&#8230;'),
 		) );
 
+		$scripts->add( 'editor-expand', "/wp-admin/js/editor-expand$suffix.js", array( 'jquery' ), false, 1 );
+
 		$scripts->add( 'link', "/wp-admin/js/link$suffix.js", array( 'wp-lists', 'postbox' ), false, 1 );
 
 		$scripts->add( 'comment', "/wp-admin/js/comment$suffix.js", array( 'jquery', 'postbox' ) );
@@ -482,7 +481,7 @@ function wp_default_scripts( &$scripts ) {
 			'error' => __('Error while saving the changes.'),
 			'ntdeltitle' => __('Remove From Bulk Edit'),
 			'notitle' => __('(no title)'),
-			'comma' => _x( ',', 'tag delimiter' ),
+			'comma' => trim( _x( ',', 'tag delimiter' ) ),
 		) );
 
 		$scripts->add( 'inline-edit-tax', "/wp-admin/js/inline-edit-tax$suffix.js", array( 'jquery' ), false, 1 );
@@ -513,6 +512,7 @@ function wp_default_scripts( &$scripts ) {
 
 		$scripts->add( 'list-revisions', "/wp-includes/js/wp-list-revisions$suffix.js" );
 
+		$scripts->add( 'media-grid', "/wp-includes/js/media-grid$suffix.js", array( 'media-editor' ), false, 1 );
 		$scripts->add( 'media', "/wp-admin/js/media$suffix.js", array( 'jquery' ), false, 1 );
 		did_action( 'init' ) && $scripts->localize( 'media', 'attachMediaBoxL10n', array(
 			'error' => __( 'An error has occurred. Please reload the page and try again.' ),
@@ -536,7 +536,8 @@ function wp_default_scripts( &$scripts ) {
 		did_action( 'init' ) && $scripts->localize( 'nav-menu', 'navMenuL10n', array(
 			'noResultsFound' => _x('No results found.', 'search results'),
 			'warnDeleteMenu' => __( "You are about to permanently delete this menu. \n 'Cancel' to stop, 'OK' to delete." ),
-			'saveAlert' => __('The changes you made will be lost if you navigate away from this page.')
+			'saveAlert' => __( 'The changes you made will be lost if you navigate away from this page.' ),
+			'untitled' => _x( '(no label)', 'missing menu item navigation label' )
 		) );
 
 		$scripts->add( 'custom-header', "/wp-admin/js/custom-header.js", array( 'jquery-masonry' ), false, 1 );
@@ -563,7 +564,7 @@ function wp_default_scripts( &$scripts ) {
  * @param object $styles
  */
 function wp_default_styles( &$styles ) {
-	include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version
+	include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
 
 	if ( ! defined( 'SCRIPT_DEBUG' ) )
 		define( 'SCRIPT_DEBUG', false !== strpos( $wp_version, '-src' ) );
@@ -633,7 +634,7 @@ function wp_default_styles( &$styles ) {
 	// External libraries and friends
 	$styles->add( 'imgareaselect',       '/wp-includes/js/imgareaselect/imgareaselect.css', array(), '0.9.8' );
 	$styles->add( 'wp-jquery-ui-dialog', "/wp-includes/css/jquery-ui-dialog$suffix.css", array( 'dashicons' ) );
-	$styles->add( 'mediaelement',        "/wp-includes/js/mediaelement/mediaelementplayer.min.css", array(), '2.13.0' );
+	$styles->add( 'mediaelement',        "/wp-includes/js/mediaelement/mediaelementplayer.min.css", array(), '2.15.0' );
 	$styles->add( 'wp-mediaelement',     "/wp-includes/js/mediaelement/wp-mediaelement.css", array( 'mediaelement' ) );
 	$styles->add( 'thickbox',            '/wp-includes/js/thickbox/thickbox.css', array( 'dashicons' ) );
 
@@ -924,17 +925,13 @@ function wp_enqueue_scripts() {
  * @since 2.8.0
  */
 function print_admin_styles() {
-	global $wp_styles, $concatenate_scripts, $compress_css;
+	global $wp_styles, $concatenate_scripts;
 
 	if ( !is_a($wp_styles, 'WP_Styles') )
 		$wp_styles = new WP_Styles();
 
 	script_concat_settings();
 	$wp_styles->do_concat = $concatenate_scripts;
-	$zip = $compress_css ? 1 : 0;
-	if ( $zip && defined('ENFORCE_GZIP') && ENFORCE_GZIP )
-		$zip = 'gzip';
-
 	$wp_styles->do_items(false);
 
 	/**
diff --git a/wp-includes/session.php b/wp-includes/session.php
new file mode 100644
index 000000000..dca4d94e9
--- /dev/null
+++ b/wp-includes/session.php
@@ -0,0 +1,425 @@
+<?php
+/**
+ * Abstract class for managing user session tokens.
+ *
+ * @since 4.0.0
+ */
+abstract class WP_Session_Tokens {
+
+	/**
+	 * User ID.
+	 *
+	 * @since 4.0.0
+	 * @access protected
+	 * @var int User ID.
+	 */
+	protected $user_id;
+
+	/**
+	 * Protected constructor.
+	 *
+	 * @since 4.0.0
+	 *
+	 * @param int $user_id User whose session to manage.
+	 */
+	protected function __construct( $user_id ) {
+		$this->user_id = $user_id;
+	}
+
+	/**
+	 * Get a session token manager instance for a user.
+	 *
+	 * This method contains a filter that allows a plugin to swap out
+	 * the session manager for a subclass of WP_Session_Tokens.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 * @static
+	 *
+	 * @param int $user_id User whose session to manage.
+	 */
+	final public static function get_instance( $user_id ) {
+		/**
+		 * Filter the session token manager used.
+		 *
+		 * @since 4.0.0
+		 *
+		 * @param string $session Name of class to use as the manager.
+		 *                        Default 'WP_User_Meta_Session_Tokens'.
+		 */
+		$manager = apply_filters( 'session_token_manager', 'WP_User_Meta_Session_Tokens' );
+		return new $manager( $user_id );
+	}
+
+	/**
+	 * Hashes a session token for storage.
+	 *
+	 * @since 4.0.0
+	 * @access private
+	 *
+	 * @param string $token Session token to hash.
+	 * @return string A hash of the session token (a verifier).
+	 */
+	final private function hash_token( $token ) {
+		return hash( 'sha256', $token );
+	}
+
+	/**
+	 * Get a user's session.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $token Session token
+	 * @return array User session
+	 */
+	final public function get( $token ) {
+		$verifier = $this->hash_token( $token );
+		return $this->get_session( $verifier );
+	}
+
+	/**
+	 * Validate a user's session token as authentic.
+	 *
+	 * Checks that the given token is present and hasn't expired.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $token Token to verify.
+	 * @return bool Whether the token is valid for the user.
+	 */
+	final public function verify( $token ) {
+		$verifier = $this->hash_token( $token );
+		return (bool) $this->get_session( $verifier );
+	}
+
+	/**
+	 * Generate a session token and attach session information to it.
+	 *
+	 * A session token is a long, random string. It is used in a cookie
+	 * link that cookie to an expiration time and to ensure the cookie
+	 * becomes invalidated upon logout.
+	 *
+	 * This function generates a token and stores it with the associated
+	 * expiration time (and potentially other session information via the
+	 * `attach_session_information` filter).
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param int $expiration Session expiration timestamp.
+	 * @return string Session token.
+	 */
+	final public function create( $expiration ) {
+		/**
+		 * Filter the information attached to the newly created session.
+		 *
+		 * Could be used in the future to attach information such as
+		 * IP address or user agent to a session.
+		 *
+		 * @since 4.0.0
+		 *
+		 * @param array $session Array of extra data.
+		 * @param int   $user_id User ID.
+		 */
+		$session = apply_filters( 'attach_session_information', array(), $this->user_id );
+		$session['expiration'] = $expiration;
+
+		$token = wp_generate_password( 43, false, false );
+
+		$this->update( $token, $session );
+
+		return $token;
+	}
+
+	/**
+	 * Update a session token.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $token Session token to update.
+	 * @param array  $session Session information.
+	 */
+	final public function update( $token, $session ) {
+		$verifier = $this->hash_token( $token );
+		$this->update_session( $verifier, $session );
+	}
+
+	/**
+	 * Destroy a session token.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $token Session token to destroy.
+	 */
+	final public function destroy( $token ) {
+		$verifier = $this->hash_token( $token );
+		$this->update_session( $verifier, null );
+	}
+
+	/**
+	 * Destroy all session tokens for this user,
+	 * except a single token, presumably the one in use.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $token_to_keep Session token to keep.
+	 */
+	final public function destroy_others( $token_to_keep ) {
+		$verifier = $this->hash_token( $token_to_keep );
+		$session = $this->get_session( $verifier );
+		if ( $session ) {
+			$this->destroy_other_sessions( $verifier );
+		} else {
+			$this->destroy_all_sessions();
+		}
+	}
+
+	/**
+	 * Determine whether a session token is still valid,
+	 * based on expiration.
+	 *
+	 * @since 4.0.0
+	 * @access protected
+	 *
+	 * @param array $session Session to check.
+	 * @return bool Whether session is valid.
+	 */
+	final protected function is_still_valid( $session ) {
+		return $session['expiration'] >= time();
+	}
+
+	/**
+	 * Destroy all session tokens for a user.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 */
+	final public function destroy_all() {
+		$this->destroy_all_sessions();
+	}
+
+	/**
+	 * Destroy all session tokens for all users.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 * @static
+	 */
+	final public static function destroy_all_for_all_users() {
+		$manager = apply_filters( 'session_token_manager', 'WP_User_Meta_Session_Tokens' );
+		call_user_func( array( $manager, 'drop_sessions' ) );
+	}
+
+	/**
+	 * Retrieve all sessions of a user.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @return array Sessions of a user.
+	 */
+	final public function get_all() {
+		return array_values( $this->get_sessions() );
+	}
+
+	/**
+	 * This method should retrieve all sessions of a user, keyed by verifier.
+	 *
+	 * @since 4.0.0
+	 * @access protected
+	 *
+	 * @return array Sessions of a user, keyed by verifier.
+	 */
+	abstract protected function get_sessions();
+
+	/**
+	 * This method should look up a session by its verifier (token hash).
+	 *
+	 * @since 4.0.0
+	 * @access protected
+	 *
+	 * @param string $verifier Verifier of the session to retrieve.
+	 * @return array|null The session, or null if it does not exist.
+	 */
+	abstract protected function get_session( $verifier );
+
+	/**
+	 * This method should update a session by its verifier.
+	 *
+	 * Omitting the second argument should destroy the session.
+	 *
+	 * @since 4.0.0
+	 * @access protected
+	 *
+	 * @param string $verifier Verifier of the session to update.
+	 */
+	abstract protected function update_session( $verifier, $session = null );
+
+	/**
+	 * This method should destroy all session tokens for this user,
+	 * except a single session passed.
+	 *
+	 * @since 4.0.0
+	 * @access protected
+	 *
+	 * @param string $verifier Verifier of the session to keep.
+	 */
+	abstract protected function destroy_other_sessions( $verifier );
+
+	/**
+	 * This method should destroy all sessions for a user.
+	 *
+	 * @since 4.0.0
+	 * @access protected
+	 */
+	abstract protected function destroy_all_sessions();
+
+	/**
+	 * This static method should destroy all session tokens for all users.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 * @static
+	 */
+	public static function drop_sessions() {}
+}
+
+/**
+ * Meta-based user sessions token manager.
+ *
+ * @since 4.0.0
+ */
+class WP_User_Meta_Session_Tokens extends WP_Session_Tokens {
+
+	/**
+	 * Get all sessions of a user.
+	 *
+	 * @since 4.0.0
+	 * @access protected
+	 *
+	 * @return array Sessions of a user.
+	 */
+	protected function get_sessions() {
+		$sessions = get_user_meta( $this->user_id, 'session_tokens', true );
+
+		if ( ! is_array( $sessions ) ) {
+			return array();
+		}
+
+		$sessions = array_map( array( $this, 'prepare_session' ), $sessions );
+		return array_filter( $sessions, array( $this, 'is_still_valid' ) );
+	}
+
+	/**
+	 * Converts an expiration to an array of session information.
+	 *
+	 * @param mixed $session Session or expiration.
+	 * @return array Session.
+	 */
+	protected function prepare_session( $session ) {
+		if ( is_int( $session ) ) {
+			return array( 'expiration' => $session );
+		}
+
+		return $session;
+	}
+
+	/**
+	 * Retrieve a session by its verifier (token hash).
+	 *
+	 * @since 4.0.0
+	 * @access protected
+	 *
+	 * @param string $verifier Verifier of the session to retrieve.
+	 * @return array|null The session, or null if it does not exist
+	 */
+	protected function get_session( $verifier ) {
+		$sessions = $this->get_sessions();
+
+		if ( isset( $sessions[ $verifier ] ) ) {
+			return $sessions[ $verifier ];
+		}
+
+		return null;
+	}
+
+	/**
+	 * Update a session by its verifier.
+	 *
+	 * @since 4.0.0
+	 * @access protected
+	 *
+	 * @param string $verifier Verifier of the session to update.
+	 * @param array  $session  Optional. Session. Omitting this argument destroys the session.
+	 */
+	protected function update_session( $verifier, $session = null ) {
+		$sessions = $this->get_sessions();
+
+		if ( $session ) {
+			$sessions[ $verifier ] = $session;
+		} else {
+			unset( $sessions[ $verifier ] );
+		}
+
+		$this->update_sessions( $sessions );
+	}
+
+	/**
+	 * Update a user's sessions in the usermeta table.
+	 *
+	 * @since 4.0.0
+	 * @access protected
+	 *
+	 * @param array $sessions Sessions.
+	 */
+	protected function update_sessions( $sessions ) {
+		if ( ! has_filter( 'attach_session_information' ) ) {
+			$sessions = wp_list_pluck( $sessions, 'expiration' );
+		}
+
+		if ( $sessions ) {
+			update_user_meta( $this->user_id, 'session_tokens', $sessions );
+		} else {
+			delete_user_meta( $this->user_id, 'session_tokens' );
+		}
+	}
+
+	/**
+	 * Destroy all session tokens for a user, except a single session passed.
+	 *
+	 * @since 4.0.0
+	 * @access protected
+	 *
+	 * @param string $verifier Verifier of the session to keep.
+	 */
+	protected function destroy_other_sessions( $verifier ) {
+		$session = $this->get_session( $verifier );
+		$this->update_sessions( array( $verifier => $session ) );
+	}
+
+	/**
+	 * Destroy all session tokens for a user.
+	 *
+	 * @since 4.0.0
+	 * @access protected
+	 */
+	protected function destroy_all_sessions() {
+		$this->update_sessions( array() );
+	}
+
+	/**
+	 * Destroy all session tokens for all users.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 * @static
+	 */
+	public static function drop_sessions() {
+		delete_metadata( 'user', false, 'session_tokens', false, true );
+	}
+}
diff --git a/wp-includes/shortcodes.php b/wp-includes/shortcodes.php
index 15f8561d5..55e64a186 100644
--- a/wp-includes/shortcodes.php
+++ b/wp-includes/shortcodes.php
@@ -65,12 +65,12 @@ $shortcode_tags = array();
  * <code>
  * // [bartag foo="bar"]
  * function bartag_func($atts) {
- * 	extract(shortcode_atts(array(
+ * 	$args = shortcode_atts(array(
  * 		'foo' => 'no foo',
  * 		'baz' => 'default baz',
- * 	), $atts));
+ * 	), $atts);
  *
- * 	return "foo = {$foo}";
+ * 	return "foo = {$args['foo']}";
  * }
  * add_shortcode('bartag', 'bartag_func');
  * </code>
@@ -165,8 +165,11 @@ function has_shortcode( $content, $tag ) {
 			return false;
 
 		foreach ( $matches as $shortcode ) {
-			if ( $tag === $shortcode[2] )
+			if ( $tag === $shortcode[2] ) {
 				return true;
+			} elseif ( ! empty( $shortcode[5] ) && has_shortcode( $shortcode[5], $tag ) ) {
+				return true;
+			}
 		}
 	}
 	return false;
diff --git a/wp-includes/taxonomy.php b/wp-includes/taxonomy.php
index df209a50e..584684463 100644
--- a/wp-includes/taxonomy.php
+++ b/wp-includes/taxonomy.php
@@ -276,9 +276,9 @@ function is_taxonomy_hierarchical($taxonomy) {
  * - public - If the taxonomy should be publicly queryable; //@TODO not implemented.
  *     * Defaults to true.
  * - hierarchical - Whether the taxonomy is hierarchical (e.g. category). Defaults to false.
- * - show_ui -Whether to generate a default UI for managing this taxonomy in the admin.
+ * - show_ui - Whether to generate a default UI for managing this taxonomy in the admin.
  *     * If not set, the default is inherited from public.
- * - show_in_menu - Where to show the taxonomy in the admin menu.
+ * - show_in_menu - Whether to show the taxonomy in the admin menu.
  *     * If true, the taxonomy is shown as a submenu of the object type menu.
  *     * If false, no menu is shown.
  *     * show_ui must be true.
@@ -346,8 +346,10 @@ function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
 	);
 	$args = wp_parse_args( $args, $defaults );
 
-	if ( strlen( $taxonomy ) > 32 )
+	if ( strlen( $taxonomy ) > 32 ) {
+		_doing_it_wrong( __FUNCTION__, __( 'Taxonomies cannot exceed 32 characters in length' ), '4.0' );
 		return new WP_Error( 'taxonomy_too_long', __( 'Taxonomies cannot exceed 32 characters in length' ) );
+	}
 
 	if ( false !== $args['query_var'] && ! empty( $wp ) ) {
 		if ( true === $args['query_var'] )
@@ -427,7 +429,7 @@ function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
 	 *
 	 * @param string       $taxonomy    Taxonomy slug.
 	 * @param array|string $object_type Object type or array of object types.
-	 * @param array|string $args        Array or string of taxonomy registration arguments.
+	 * @param array        $args        Array of taxonomy registration arguments.
 	 */
 	do_action( 'registered_taxonomy', $taxonomy, $object_type, $args );
 }
@@ -576,22 +578,22 @@ function unregister_taxonomy_for_object_type( $taxonomy, $object_type ) {
 function get_objects_in_term( $term_ids, $taxonomies, $args = array() ) {
 	global $wpdb;
 
-	if ( ! is_array( $term_ids ) )
+	if ( ! is_array( $term_ids ) ) {
 		$term_ids = array( $term_ids );
-
-	if ( ! is_array( $taxonomies ) )
+	}
+	if ( ! is_array( $taxonomies ) ) {
 		$taxonomies = array( $taxonomies );
-
+	}
 	foreach ( (array) $taxonomies as $taxonomy ) {
-		if ( ! taxonomy_exists( $taxonomy ) )
+		if ( ! taxonomy_exists( $taxonomy ) ) {
 			return new WP_Error( 'invalid_taxonomy', __( 'Invalid taxonomy' ) );
+		}
 	}
 
 	$defaults = array( 'order' => 'ASC' );
 	$args = wp_parse_args( $args, $defaults );
-	extract( $args, EXTR_SKIP );
 
-	$order = ( 'desc' == strtolower( $order ) ) ? 'DESC' : 'ASC';
+	$order = ( 'desc' == strtolower( $args['order'] ) ) ? 'DESC' : 'ASC';
 
 	$term_ids = array_map('intval', $term_ids );
 
@@ -600,9 +602,9 @@ function get_objects_in_term( $term_ids, $taxonomies, $args = array() ) {
 
 	$object_ids = $wpdb->get_col("SELECT tr.object_id FROM $wpdb->term_relationships AS tr INNER JOIN $wpdb->term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ($taxonomies) AND tt.term_id IN ($term_ids) ORDER BY tr.object_id $order");
 
-	if ( ! $object_ids )
+	if ( ! $object_ids ){
 		return array();
-
+	}
 	return $object_ids;
 }
 
@@ -632,15 +634,15 @@ class WP_Tax_Query {
 
 	/**
 	 * List of taxonomy queries. A single taxonomy query is an associative array:
-	 * - 'taxonomy' string The taxonomy being queried
+	 * - 'taxonomy' string The taxonomy being queried. Optional when using the term_taxonomy_id field.
 	 * - 'terms' string|array The list of terms
 	 * - 'field' string (optional) Which term field is being used.
-	 *		Possible values: 'term_id', 'slug' or 'name'
+	 *		Possible values: 'term_id', 'slug', 'name', or 'term_taxonomy_id'
 	 *		Default: 'term_id'
 	 * - 'operator' string (optional)
 	 *		Possible values: 'AND', 'IN' or 'NOT IN'.
 	 *		Default: 'IN'
-	 * - 'include_children' bool (optional) Whether to include child terms.
+	 * - 'include_children' bool (optional) Whether to include child terms. Requires that a taxonomy be specified.
 	 *		Default: true
 	 *
 	 * @since 3.1.0
@@ -738,17 +740,20 @@ class WP_Tax_Query {
 		foreach ( $this->queries as $index => $query ) {
 			$this->clean_query( $query );
 
-			if ( is_wp_error( $query ) )
+			if ( is_wp_error( $query ) ) {
 				return self::$no_results;
+			}
 
-			extract( $query );
+			$terms = $query['terms'];
+			$operator = strtoupper( $query['operator'] );
 
 			if ( 'IN' == $operator ) {
 
 				if ( empty( $terms ) ) {
 					if ( 'OR' == $this->relation ) {
-						if ( ( $index + 1 === $count ) && empty( $where ) )
+						if ( ( $index + 1 === $count ) && empty( $where ) ) {
 							return self::$no_results;
+						}
 						continue;
 					} else {
 						return self::$no_results;
@@ -766,8 +771,9 @@ class WP_Tax_Query {
 				$where[] = "$alias.term_taxonomy_id $operator ($terms)";
 			} elseif ( 'NOT IN' == $operator ) {
 
-				if ( empty( $terms ) )
+				if ( empty( $terms ) ) {
 					continue;
+				}
 
 				$terms = implode( ',', $terms );
 
@@ -778,8 +784,9 @@ class WP_Tax_Query {
 				)";
 			} elseif ( 'AND' == $operator ) {
 
-				if ( empty( $terms ) )
+				if ( empty( $terms ) ) {
 					continue;
+				}
 
 				$num_terms = count( $terms );
 
@@ -796,11 +803,11 @@ class WP_Tax_Query {
 			$i++;
 		}
 
-		if ( ! empty( $where ) )
+		if ( ! empty( $where ) ) {
 			$where = ' AND ( ' . implode( " $this->relation ", $where ) . ' )';
-		else
+		} else {
 			$where = '';
-
+		}
 		return compact( 'join', 'where' );
 	}
 
@@ -813,7 +820,15 @@ class WP_Tax_Query {
 	 * @param array &$query The single query
 	 */
 	private function clean_query( &$query ) {
-		if ( ! taxonomy_exists( $query['taxonomy'] ) ) {
+		if ( empty( $query['taxonomy'] ) ) {
+			if ( 'term_taxonomy_id' !== $query['field'] ) {
+				$query = new WP_Error( 'Invalid taxonomy' );
+				return;
+			}
+
+			// so long as there are shared terms, include_children requires that a taxonomy is set
+			$query['include_children'] = false;
+		} elseif ( ! taxonomy_exists( $query['taxonomy'] ) ) {
 			$query = new WP_Error( 'Invalid taxonomy' );
 			return;
 		}
@@ -1196,91 +1211,65 @@ function get_term_to_edit( $id, $taxonomy ) {
  * The 'get_terms_fields' filter passes the fields for the SELECT query
  * along with the $args array.
  *
- * The list of arguments that $args can contain, which will overwrite the defaults:
- *
- * orderby - Default is 'name'. Can be name, count, term_group, slug or nothing
- * (will use term_id), Passing a custom value other than these will cause it to
- * order based on the custom value.
- *
- * order - Default is ASC. Can use DESC.
- *
- * hide_empty - Default is true. Will not return empty terms, which means
- * terms whose count is 0 according to the given taxonomy.
- *
- * exclude - Default is an empty array. An array, comma- or space-delimited string
- * of term ids to exclude from the return array. If 'include' is non-empty,
- * 'exclude' is ignored.
- *
- * exclude_tree - Default is an empty array. An array, comma- or space-delimited
- * string of term ids to exclude from the return array, along with all of their
- * descendant terms according to the primary taxonomy. If 'include' is non-empty,
- * 'exclude_tree' is ignored.
- *
- * include - Default is an empty array. An array, comma- or space-delimited string
- * of term ids to include in the return array.
- *
- * number - The maximum number of terms to return. Default is to return them all.
- *
- * offset - The number by which to offset the terms query.
- *
- * fields - Default is 'all', which returns an array of term objects.
- * If 'fields' is 'ids' or 'names', returns an array of
- * integers or strings, respectively.
- *
- * slug - Returns terms whose "slug" matches this value. Default is empty string.
- *
- * hierarchical - Whether to include terms that have non-empty descendants
- * (even if 'hide_empty' is set to true).
- *
- * search - Returned terms' names will contain the value of 'search',
- * case-insensitive. Default is an empty string.
- *
- * name__like - Returned terms' names will contain the value of 'name__like',
- * case-insensitive. Default is empty string.
- *
- * description__like - Returned terms' descriptions will contain the value of
- *  'description__like', case-insensitive. Default is empty string.
- *
- * The argument 'pad_counts', if set to true will include the quantity of a term's
- * children in the quantity of each term's "count" object variable.
- *
- * The 'get' argument, if set to 'all' instead of its default empty string,
- * returns terms regardless of ancestry or whether the terms are empty.
- *
- * The 'child_of' argument, when used, should be set to the integer of a term ID. Its default
- * is 0. If set to a non-zero value, all returned terms will be descendants
- * of that term according to the given taxonomy. Hence 'child_of' is set to 0
- * if more than one taxonomy is passed in $taxonomies, because multiple taxonomies
- * make term ancestry ambiguous.
- *
- * The 'parent' argument, when used, should be set to the integer of a term ID. Its default is
- * the empty string '', which has a different meaning from the integer 0.
- * If set to an integer value, all returned terms will have as an immediate
- * ancestor the term whose ID is specified by that integer according to the given taxonomy.
- * The 'parent' argument is different from 'child_of' in that a term X is considered a 'parent'
- * of term Y only if term X is the father of term Y, not its grandfather or great-grandfather, etc.
- *
- * The 'cache_domain' argument enables a unique cache key to be produced when this query is stored
- * in object cache. For instance, if you are using one of this function's filters to modify the
- * query (such as 'terms_clauses'), setting 'cache_domain' to a unique value will not overwrite
- * the cache for similar queries. Default value is 'core'.
- *
  * @since 2.3.0
  *
- * @uses $wpdb
- * @uses wp_parse_args() Merges the defaults with those defined by $args and allows for strings.
+ * @global wpdb $wpdb WordPress database access abstraction object.
  *
- * @param string|array $taxonomies Taxonomy name or list of Taxonomy names
- * @param string|array $args The values of what to search for when returning terms
- * @return array|WP_Error List of Term Objects and their children. Will return WP_Error, if any of $taxonomies do not exist.
+ * @param string|array $taxonomies Taxonomy name or list of Taxonomy names.
+ * @param array|string $args {
+ *     Optional. Array or string of arguments to get terms.
+ *
+ *     @type string   $orderby               Field(s) to order terms by. Accepts term fields, though
+ *                                           empty defaults to 'term_id'. Default 'name'.
+ *     @type string   $order                 Whether to order terms in ascending or descending order.
+ *                                           Accepts 'ASC' (ascending) or 'DESC' (descending).
+ *                                           Default 'ASC'.
+ *     @type bool|int     $hide_empty        Whether to hide terms not assigned to any posts. Accepts
+ *                                           1|true or 0|false. Default 1|true.
+ *     @type array|string $include           Array or comma/space-separated string of term ids to include.
+ *                                           Default empty array.
+ *     @type array|string $exclude           Array or comma/space-separated string of term ids to exclude.
+ *                                           If $include is non-empty, $exclude is ignored.
+ *                                           Default empty array.
+ *     @type array|string $exclude_tree      Array or comma/space-separated string of term ids to exclude
+ *                                           along with all of their descendant terms. If $include is
+ *                                           non-empty, $exclude_tree is ignored. Default empty array.
+ *     @type int          $number            Maximum number of terms to return. Accepts 1+ or -1 (all).
+ *                                           Default -1.
+ *     @type int          $offset            The number by which to offset the terms query. Default empty.
+ *     @type string       $fields            Term fields to query for. Accepts 'all' (returns an array of
+ *                                           term objects), 'ids' or 'names' (returns an array of integers
+ *                                           or strings, respectively. Default 'all'.
+ *     @type string       $slug              Slug to return term(s) for. Default empty.
+ *     @type bool         $hierarchical      Whether to include terms that have non-empty descendants (even
+ *                                           if $hide_empty is set to true). Default true.
+ *     @type string       $search            Search criteria to match terms. Will be SQL-formatted with
+ *                                           wildcards before and after. Default empty.
+ *     @type string       $name__like        Retrieve terms with criteria by which a term is LIKE $name__like.
+ *                                           Default empty.
+ *     @type string       $description__like Retrieve terms where the description is LIKE $description__like.
+ *                                           Default empty.
+ *     @type bool         $pad_counts        Whether to pad the quantity of a term's children in the quantity
+ *                                           of each term's "count" object variable. Default false.
+ *     @type string       $get               Whether to return terms regardless of ancestry or whether the terms
+ *                                           are empty. Accepts 'all' or empty (disabled). Default empty.
+ *     @type int          $child_of          Term ID to retrieve child terms of. If multiple taxonomies
+ *                                           are passed, $child_of is ignored. Default 0.
+ *     @type int|string   $parent            Parent term ID to retrieve direct-child terms of. Default empty.
+ *     @type string       $cache_domain      Unique cache key to be produced when this query is stored in an
+ *                                           object cache. Default is 'core'.
+ * }
+ * @return array|WP_Error List of Term Objects and their children. Will return WP_Error, if any of $taxonomies
+ *                        do not exist.
  */
-function get_terms($taxonomies, $args = '') {
+function get_terms( $taxonomies, $args = '' ) {
 	global $wpdb;
 	$empty_array = array();
 
 	$single_taxonomy = ! is_array( $taxonomies ) || 1 === count( $taxonomies );
-	if ( ! is_array( $taxonomies ) )
+	if ( ! is_array( $taxonomies ) ) {
 		$taxonomies = array( $taxonomies );
+	}
 
 	foreach ( $taxonomies as $taxonomy ) {
 		if ( ! taxonomy_exists($taxonomy) ) {
@@ -1321,23 +1310,25 @@ function get_terms($taxonomies, $args = '') {
 	 */
 	$args = apply_filters( 'get_terms_args', $args, $taxonomies );
 
-	extract($args, EXTR_SKIP);
-
+	$child_of = $args['child_of'];
 	if ( $child_of ) {
 		$hierarchy = _get_term_hierarchy( reset( $taxonomies ) );
-		if ( ! isset( $hierarchy[ $child_of ] ) )
+		if ( ! isset( $hierarchy[ $child_of ] ) ) {
 			return $empty_array;
+		}
 	}
 
+	$parent = $args['parent'];
 	if ( $parent ) {
 		$hierarchy = _get_term_hierarchy( reset( $taxonomies ) );
-		if ( ! isset( $hierarchy[ $parent ] ) )
+		if ( ! isset( $hierarchy[ $parent ] ) ) {
 			return $empty_array;
+		}
 	}
 
 	// $args can be whatever, only use the args defined in defaults to compute the key
 	$filter_key = ( has_filter('list_terms_exclusions') ) ? serialize($GLOBALS['wp_filter']['list_terms_exclusions']) : '';
-	$key = md5( serialize( compact(array_keys($defaults)) ) . serialize( $taxonomies ) . $filter_key );
+	$key = md5( serialize( wp_array_slice_assoc( $args, array_keys( $defaults ) ) ) . serialize( $taxonomies ) . $filter_key );
 	$last_changed = wp_cache_get( 'last_changed', 'terms' );
 	if ( ! $last_changed ) {
 		$last_changed = microtime();
@@ -1360,22 +1351,22 @@ function get_terms($taxonomies, $args = '') {
 		return $cache;
 	}
 
-	$_orderby = strtolower($orderby);
-	if ( 'count' == $_orderby )
+	$_orderby = strtolower( $args['orderby'] );
+	if ( 'count' == $_orderby ) {
 		$orderby = 'tt.count';
-	else if ( 'name' == $_orderby )
+	} else if ( 'name' == $_orderby ) {
 		$orderby = 't.name';
-	else if ( 'slug' == $_orderby )
+	} else if ( 'slug' == $_orderby ) {
 		$orderby = 't.slug';
-	else if ( 'term_group' == $_orderby )
+	} else if ( 'term_group' == $_orderby ) {
 		$orderby = 't.term_group';
-	else if ( 'none' == $_orderby )
+	} else if ( 'none' == $_orderby ) {
 		$orderby = '';
-	elseif ( empty($_orderby) || 'id' == $_orderby )
+	} elseif ( empty($_orderby) || 'id' == $_orderby ) {
 		$orderby = 't.term_id';
-	else
+	} else {
 		$orderby = 't.name';
-
+	}
 	/**
 	 * Filter the ORDERBY clause of the terms query.
 	 *
@@ -1387,16 +1378,23 @@ function get_terms($taxonomies, $args = '') {
 	 */
 	$orderby = apply_filters( 'get_terms_orderby', $orderby, $args, $taxonomies );
 
-	if ( !empty($orderby) )
+	$order = strtoupper( $args['order'] );
+	if ( ! empty( $orderby ) ) {
 		$orderby = "ORDER BY $orderby";
-	else
+	} else {
 		$order = '';
+	}
 
-	$order = strtoupper( $order );
-	if ( '' !== $order && !in_array( $order, array( 'ASC', 'DESC' ) ) )
+	if ( '' !== $order && ! in_array( $order, array( 'ASC', 'DESC' ) ) ) {
 		$order = 'ASC';
+	}
 
 	$where = "tt.taxonomy IN ('" . implode("', '", $taxonomies) . "')";
+
+	$exclude = $args['exclude'];
+	$exclude_tree = $args['exclude_tree'];
+	$include = $args['include'];
+
 	$inclusions = '';
 	if ( ! empty( $include ) ) {
 		$exclude = '';
@@ -1409,7 +1407,6 @@ function get_terms($taxonomies, $args = '') {
 		$where .= $inclusions;
 	}
 
-	$exclusions = '';
 	if ( ! empty( $exclude_tree ) ) {
 		$exclude_tree = wp_parse_id_list( $exclude_tree );
 		$excluded_children = $exclude_tree;
@@ -1420,18 +1417,22 @@ function get_terms($taxonomies, $args = '') {
 			);
 		}
 		$exclusions = implode( ',', array_map( 'intval', $excluded_children ) );
+	} else {
+		$exclusions = '';
 	}
 
 	if ( ! empty( $exclude ) ) {
 		$exterms = wp_parse_id_list( $exclude );
-		if ( empty( $exclusions ) )
+		if ( empty( $exclusions ) ) {
 			$exclusions = implode( ',', $exterms );
-		else
+		} else {
 			$exclusions .= ', ' . implode( ',', $exterms );
+		}
 	}
 
-	if ( ! empty( $exclusions ) )
+	if ( ! empty( $exclusions ) ) {
 		$exclusions = ' AND t.term_id NOT IN (' . $exclusions . ')';
+	}
 
 	/**
 	 * Filter the terms to exclude from the terms query.
@@ -1444,22 +1445,21 @@ function get_terms($taxonomies, $args = '') {
 	 */
 	$exclusions = apply_filters( 'list_terms_exclusions', $exclusions, $args, $taxonomies );
 
-	if ( ! empty( $exclusions ) )
+	if ( ! empty( $exclusions ) ) {
 		$where .= $exclusions;
+	}
 
-	if ( !empty($slug) ) {
-		$slug = sanitize_title($slug);
+	if ( ! empty( $args['slug'] ) ) {
+		$slug = sanitize_title( $args['slug'] );
 		$where .= " AND t.slug = '$slug'";
 	}
 
-	if ( !empty($name__like) ) {
-		$name__like = like_escape( $name__like );
-		$where .= $wpdb->prepare( " AND t.name LIKE %s", '%' . $name__like . '%' );
+	if ( ! empty( $args['name__like'] ) ) {
+		$where .= $wpdb->prepare( " AND t.name LIKE %s", '%' . $wpdb->esc_like( $args['name__like'] ) . '%' );
 	}
 
-	if ( ! empty( $description__like ) ) {
-		$description__like = like_escape( $description__like );
-		$where .= $wpdb->prepare( " AND tt.description LIKE %s", '%' . $description__like . '%' );
+	if ( ! empty( $args['description__like'] ) ) {
+		$where .= $wpdb->prepare( " AND tt.description LIKE %s", '%' . $wpdb->esc_like( $args['description__like'] ) . '%' );
 	}
 
 	if ( '' !== $parent ) {
@@ -1467,29 +1467,35 @@ function get_terms($taxonomies, $args = '') {
 		$where .= " AND tt.parent = '$parent'";
 	}
 
-	if ( 'count' == $fields )
+	$hierarchical = $args['hierarchical'];
+	if ( 'count' == $args['fields'] ) {
 		$hierarchical = false;
-
-	if ( $hide_empty && !$hierarchical )
+	}
+	if ( $args['hide_empty'] && !$hierarchical ) {
 		$where .= ' AND tt.count > 0';
+	}
+
+	$number = $args['number'];
+	$offset = $args['offset'];
 
 	// don't limit the query results when we have to descend the family tree
 	if ( $number && ! $hierarchical && ! $child_of && '' === $parent ) {
-		if ( $offset )
+		if ( $offset ) {
 			$limits = 'LIMIT ' . $offset . ',' . $number;
-		else
+		} else {
 			$limits = 'LIMIT ' . $number;
+		}
 	} else {
 		$limits = '';
 	}
 
-	if ( ! empty( $search ) ) {
-		$search = like_escape( $search );
-		$where .= $wpdb->prepare( ' AND ((t.name LIKE %s) OR (t.slug LIKE %s))', '%' . $search . '%', '%' . $search . '%' );
+	if ( ! empty( $args['search'] ) ) {
+		$like = '%' . $wpdb->esc_like( $args['search'] ) . '%';
+		$where .= $wpdb->prepare( ' AND ((t.name LIKE %s) OR (t.slug LIKE %s))', $like, $like );
 	}
 
 	$selects = array();
-	switch ( $fields ) {
+	switch ( $args['fields'] ) {
 		case 'all':
 			$selects = array( 't.*', 'tt.*' );
 			break;
@@ -1513,7 +1519,7 @@ function get_terms($taxonomies, $args = '') {
 			break;
 	}
 
-	$_fields = $fields;
+	$_fields = $args['fields'];
 
 	/**
 	 * Filter the fields to select in the terms query.
@@ -1540,20 +1546,22 @@ function get_terms($taxonomies, $args = '') {
 	 * @param array        $args       An array of terms query arguments.
 	 */
 	$clauses = apply_filters( 'terms_clauses', compact( $pieces ), $taxonomies, $args );
-	foreach ( $pieces as $piece )
-		$$piece = isset( $clauses[ $piece ] ) ? $clauses[ $piece ] : '';
+	$fields = isset( $clauses[ 'fields' ] ) ? $clauses[ 'fields' ] : '';
+	$join = isset( $clauses[ 'join' ] ) ? $clauses[ 'join' ] : '';
+	$where = isset( $clauses[ 'where' ] ) ? $clauses[ 'where' ] : '';
+	$orderby = isset( $clauses[ 'orderby' ] ) ? $clauses[ 'orderby' ] : '';
+	$order = isset( $clauses[ 'order' ] ) ? $clauses[ 'order' ] : '';
+	$limits = isset( $clauses[ 'limits' ] ) ? $clauses[ 'limits' ] : '';
 
 	$query = "SELECT $fields FROM $wpdb->terms AS t $join WHERE $where $orderby $order $limits";
 
-	$fields = $_fields;
-
-	if ( 'count' == $fields ) {
+	if ( 'count' == $_fields ) {
 		$term_count = $wpdb->get_var($query);
 		return $term_count;
 	}
 
 	$terms = $wpdb->get_results($query);
-	if ( 'all' == $fields ) {
+	if ( 'all' == $_fields ) {
 		update_term_cache($terms);
 	}
 
@@ -1567,16 +1575,17 @@ function get_terms($taxonomies, $args = '') {
 
 	if ( $child_of ) {
 		$children = _get_term_hierarchy( reset( $taxonomies ) );
-		if ( ! empty( $children ) )
+		if ( ! empty( $children ) ) {
 			$terms = _get_term_children( $child_of, $terms, reset( $taxonomies ) );
+		}
 	}
 
 	// Update term counts to include children.
-	if ( $pad_counts && 'all' == $fields )
+	if ( $args['pad_counts'] && 'all' == $_fields ) {
 		_pad_term_counts( $terms, reset( $taxonomies ) );
-
+	}
 	// Make sure we show empty categories that have children.
-	if ( $hierarchical && $hide_empty && is_array( $terms ) ) {
+	if ( $hierarchical && $args['hide_empty'] && is_array( $terms ) ) {
 		foreach ( $terms as $k => $term ) {
 			if ( ! $term->count ) {
 				$children = get_term_children( $term->term_id, reset( $taxonomies ) );
@@ -1597,28 +1606,35 @@ function get_terms($taxonomies, $args = '') {
 	reset( $terms );
 
 	$_terms = array();
-	if ( 'id=>parent' == $fields ) {
-		while ( $term = array_shift( $terms ) )
+	if ( 'id=>parent' == $_fields ) {
+		while ( $term = array_shift( $terms ) ) {
 			$_terms[$term->term_id] = $term->parent;
-	} elseif ( 'ids' == $fields ) {
-		while ( $term = array_shift( $terms ) )
+		}
+	} elseif ( 'ids' == $_fields ) {
+		while ( $term = array_shift( $terms ) ) {
 			$_terms[] = $term->term_id;
-	} elseif ( 'names' == $fields ) {
-		while ( $term = array_shift( $terms ) )
+		}
+	} elseif ( 'names' == $_fields ) {
+		while ( $term = array_shift( $terms ) ) {
 			$_terms[] = $term->name;
-	} elseif ( 'id=>name' == $fields ) {
-		while ( $term = array_shift( $terms ) )
+		}
+	} elseif ( 'id=>name' == $_fields ) {
+		while ( $term = array_shift( $terms ) ) {
 			$_terms[$term->term_id] = $term->name;
-	} elseif ( 'id=>slug' == $fields ) {
-		while ( $term = array_shift( $terms ) )
+		}
+	} elseif ( 'id=>slug' == $_fields ) {
+		while ( $term = array_shift( $terms ) ) {
 			$_terms[$term->term_id] = $term->slug;
+		}
 	}
 
-	if ( ! empty( $_terms ) )
+	if ( ! empty( $_terms ) ) {
 		$terms = $_terms;
+	}
 
-	if ( $number && is_array( $terms ) && count( $terms ) > $number )
+	if ( $number && is_array( $terms ) && count( $terms ) > $number ) {
 		$terms = array_slice( $terms, $offset, $number );
+	}
 
 	wp_cache_add( $cache_key, $terms, 'terms', DAY_IN_SECONDS );
 
@@ -1640,7 +1656,8 @@ function get_terms($taxonomies, $args = '') {
  * @param string $taxonomy The taxonomy name to use
  * @param int $parent ID of parent term under which to confine the exists search.
  * @return mixed Returns 0 if the term does not exist. Returns the term ID if no taxonomy is specified
- * 	and the term ID exists. Returns an array of the term ID and the taxonomy if the pairing exists.
+ *               and the term ID exists. Returns an array of the term ID and the term taxonomy ID
+ *               if the taxonomy is specified and the pairing exists.
  */
 function term_exists($term, $taxonomy = '', $parent = 0) {
 	global $wpdb;
@@ -2028,12 +2045,16 @@ function wp_delete_term( $term, $taxonomy, $args = array() ) {
 	}
 
 	$args = wp_parse_args($args, $defaults);
-	extract($args, EXTR_SKIP);
 
-	if ( isset( $default ) ) {
-		$default = (int) $default;
-		if ( ! term_exists($default, $taxonomy) )
-			unset($default);
+	if ( isset( $args['default'] ) ) {
+		$default = (int) $args['default'];
+		if ( ! term_exists( $default, $taxonomy ) ) {
+			unset( $default );
+		}
+	}
+
+	if ( isset( $args['force_default'] ) ) {
+		$force_default = $args['force_default'];
 	}
 
 	// Update children to point to new parent
@@ -2224,7 +2245,9 @@ function wp_get_object_terms($object_ids, $taxonomies, $args = array()) {
 			$args = array_merge($args, $t->args);
 	}
 
-	extract($args, EXTR_SKIP);
+	$orderby = $args['orderby'];
+	$order = $args['order'];
+	$fields = $args['fields'];
 
 	if ( 'count' == $orderby )
 		$orderby = 'tt.count';
@@ -2271,6 +2294,7 @@ function wp_get_object_terms($object_ids, $taxonomies, $args = array()) {
 
 	$query = "SELECT $select_this FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN $wpdb->term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ($taxonomies) AND tr.object_id IN ($object_ids) $orderby $order";
 
+	$objects = false;
 	if ( 'all' == $fields || 'all_with_object_id' == $fields ) {
 		$_terms = $wpdb->get_results( $query );
 		foreach ( $_terms as $key => $term ) {
@@ -2278,6 +2302,7 @@ function wp_get_object_terms($object_ids, $taxonomies, $args = array()) {
 		}
 		$terms = array_merge( $terms, $_terms );
 		update_term_cache( $terms );
+		$objects = true;
 	} else if ( 'ids' == $fields || 'names' == $fields || 'slugs' == $fields ) {
 		$_terms = $wpdb->get_col( $query );
 		$_field = ( 'ids' == $fields ) ? 'term_id' : 'name';
@@ -2292,9 +2317,23 @@ function wp_get_object_terms($object_ids, $taxonomies, $args = array()) {
 		}
 	}
 
-	if ( ! $terms )
+	if ( ! $terms ) {
 		$terms = array();
+	} elseif ( $objects && 'all_with_object_id' !== $fields ) {
+		$_tt_ids = array();
+		$_terms = array();
+		foreach ( $terms as $term ) {
+			if ( in_array( $term->term_taxonomy_id, $_tt_ids ) ) {
+				continue;
+			}
 
+			$_tt_ids[] = $term->term_taxonomy_id;
+			$_terms[] = $term;
+		}
+		$terms = $_terms;
+	} elseif ( ! $objects ) {
+		$terms = array_values( array_unique( $terms ) );
+	}
 	/**
 	 * Filter the terms for a given object or objects.
 	 *
@@ -2357,9 +2396,9 @@ function wp_get_object_terms($object_ids, $taxonomies, $args = array()) {
 function wp_insert_term( $term, $taxonomy, $args = array() ) {
 	global $wpdb;
 
-	if ( ! taxonomy_exists($taxonomy) )
+	if ( ! taxonomy_exists($taxonomy) ) {
 		return new WP_Error('invalid_taxonomy', __('Invalid taxonomy'));
-
+	}
 	/**
 	 * Filter a term before it is sanitized and inserted into the database.
 	 *
@@ -2369,34 +2408,46 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
 	 * @param string $taxonomy Taxonomy slug.
 	 */
 	$term = apply_filters( 'pre_insert_term', $term, $taxonomy );
-		if ( is_wp_error( $term ) )
-			return $term;
-
-	if ( is_int($term) && 0 == $term )
+	if ( is_wp_error( $term ) ) {
+		return $term;
+	}
+	if ( is_int($term) && 0 == $term ) {
 		return new WP_Error('invalid_term_id', __('Invalid term ID'));
-
-	if ( '' == trim($term) )
+	}
+	if ( '' == trim($term) ) {
 		return new WP_Error('empty_term_name', __('A name is required for this term'));
-
+	}
 	$defaults = array( 'alias_of' => '', 'description' => '', 'parent' => 0, 'slug' => '');
-	$args = wp_parse_args($args, $defaults);
+	$args = wp_parse_args( $args, $defaults );
+
+	if ( $args['parent'] > 0 && ! term_exists( (int) $args['parent'] ) ) {
+		return new WP_Error( 'missing_parent', __( 'Parent term does not exist.' ) );
+	}
 	$args['name'] = $term;
 	$args['taxonomy'] = $taxonomy;
 	$args = sanitize_term($args, $taxonomy, 'db');
-	extract($args, EXTR_SKIP);
 
 	// expected_slashed ($name)
-	$name = wp_unslash($name);
-	$description = wp_unslash($description);
+	$name = wp_unslash( $args['name'] );
+	$description = wp_unslash( $args['description'] );
+	$parent = (int) $args['parent'];
 
-	$slug_provided = ! empty( $slug );
+	$slug_provided = ! empty( $args['slug'] );
 	if ( ! $slug_provided ) {
-		$slug = sanitize_title($name);
+		$_name = trim( $name );
+		$existing_term = get_term_by( 'name', $_name, $taxonomy );
+		if ( $existing_term ) {
+			$slug = $existing_term->slug;
+		} else {
+			$slug = sanitize_title( $name );
+		}
+	} else {
+		$slug = $args['slug'];
 	}
 
 	$term_group = 0;
-	if ( $alias_of ) {
-		$alias = $wpdb->get_row( $wpdb->prepare( "SELECT term_id, term_group FROM $wpdb->terms WHERE slug = %s", $alias_of) );
+	if ( $args['alias_of'] ) {
+		$alias = $wpdb->get_row( $wpdb->prepare( "SELECT term_id, term_group FROM $wpdb->terms WHERE slug = %s", $args['alias_of'] ) );
 		if ( $alias->term_group ) {
 			// The alias we want is already in a group, so let's use that one.
 			$term_group = $alias->term_group;
@@ -2432,7 +2483,7 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
 		// We've got an existing term in the same taxonomy, which matches the name of the new term:
 		if ( is_taxonomy_hierarchical($taxonomy) && $existing_term['name'] == $name && $exists = term_exists( (int) $term_id, $taxonomy ) ) {
 			// Hierarchical, and it matches an existing term, Do not allow same "name" in the same level.
-			$siblings = get_terms($taxonomy, array('fields' => 'names', 'get' => 'all', 'parent' => (int)$parent) );
+			$siblings = get_terms($taxonomy, array('fields' => 'names', 'get' => 'all', 'parent' => $parent ) );
 			if ( in_array($name, $siblings) ) {
 				if ( $slug_provided ) {
 					return new WP_Error( 'term_exists', __( 'A term with the name and slug provided already exists with this parent.' ), $exists['term_id'] );
@@ -2441,15 +2492,17 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
 				}
 			} else {
 				$slug = wp_unique_term_slug($slug, (object) $args);
-				if ( false === $wpdb->insert( $wpdb->terms, compact( 'name', 'slug', 'term_group' ) ) )
+				if ( false === $wpdb->insert( $wpdb->terms, compact( 'name', 'slug', 'term_group' ) ) ) {
 					return new WP_Error('db_insert_error', __('Could not insert term into the database'), $wpdb->last_error);
+				}
 				$term_id = (int) $wpdb->insert_id;
 			}
 		} elseif ( $existing_term['name'] != $name ) {
 			// We've got an existing term, with a different name, Create the new term.
 			$slug = wp_unique_term_slug($slug, (object) $args);
-			if ( false === $wpdb->insert( $wpdb->terms, compact( 'name', 'slug', 'term_group' ) ) )
+			if ( false === $wpdb->insert( $wpdb->terms, compact( 'name', 'slug', 'term_group' ) ) ) {
 				return new WP_Error('db_insert_error', __('Could not insert term into the database'), $wpdb->last_error);
+			}
 			$term_id = (int) $wpdb->insert_id;
 		} elseif ( $exists = term_exists( (int) $term_id, $taxonomy ) )  {
 			// Same name, same slug.
@@ -2458,8 +2511,9 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
 	} else {
 		// This term does not exist at all in the database, Create it.
 		$slug = wp_unique_term_slug($slug, (object) $args);
-		if ( false === $wpdb->insert( $wpdb->terms, compact( 'name', 'slug', 'term_group' ) ) )
+		if ( false === $wpdb->insert( $wpdb->terms, compact( 'name', 'slug', 'term_group' ) ) ) {
 			return new WP_Error('db_insert_error', __('Could not insert term into the database'), $wpdb->last_error);
+		}
 		$term_id = (int) $wpdb->insert_id;
 	}
 
@@ -2477,9 +2531,9 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
 
 	$tt_id = $wpdb->get_var( $wpdb->prepare( "SELECT tt.term_taxonomy_id FROM $wpdb->term_taxonomy AS tt INNER JOIN $wpdb->terms AS t ON tt.term_id = t.term_id WHERE tt.taxonomy = %s AND t.term_id = %d", $taxonomy, $term_id ) );
 
-	if ( !empty($tt_id) )
+	if ( !empty($tt_id) ) {
 		return array('term_id' => $term_id, 'term_taxonomy_id' => $tt_id);
-
+	}
 	$wpdb->insert( $wpdb->term_taxonomy, compact( 'term_id', 'taxonomy', 'description', 'parent') + array( 'count' => 0 ) );
 	$tt_id = (int) $wpdb->insert_id;
 
@@ -2554,14 +2608,14 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
  * @since 2.3.0
  * @uses wp_remove_object_terms()
  *
- * @param int $object_id The object to relate to.
- * @param array|int|string $terms The slug or id of the term, will replace all existing
- * related terms in this taxonomy.
- * @param array|string $taxonomy The context in which to relate the term to the object.
- * @param bool $append If false will delete difference of terms.
- * @return array|WP_Error Affected Term IDs
+ * @param int              $object_id The object to relate to.
+ * @param array|int|string $terms     A single term slug, single term id, or array of either term slugs or ids.
+ *                                    Will replace all existing related terms in this taxonomy.
+ * @param array|string     $taxonomy  The context in which to relate the term to the object.
+ * @param bool             $append    Optional. If false will delete difference of terms. Default false.
+ * @return array|WP_Error Affected Term IDs.
  */
-function wp_set_object_terms($object_id, $terms, $taxonomy, $append = false) {
+function wp_set_object_terms( $object_id, $terms, $taxonomy, $append = false ) {
 	global $wpdb;
 
 	$object_id = (int) $object_id;
@@ -2881,23 +2935,31 @@ function wp_update_term( $term_id, $taxonomy, $args = array() ) {
 	$defaults = array( 'alias_of' => '', 'description' => '', 'parent' => 0, 'slug' => '');
 	$args = wp_parse_args($args, $defaults);
 	$args = sanitize_term($args, $taxonomy, 'db');
-	extract($args, EXTR_SKIP);
+	$parsed_args = $args;
 
 	// expected_slashed ($name)
-	$name = wp_unslash($name);
-	$description = wp_unslash($description);
+	$name = wp_unslash( $args['name'] );
+	$description = wp_unslash( $args['description'] );
+
+	$parsed_args['name'] = $name;
+	$parsed_args['description'] = $description;
 
 	if ( '' == trim($name) )
 		return new WP_Error('empty_term_name', __('A name is required for this term'));
 
 	$empty_slug = false;
-	if ( empty($slug) ) {
+	if ( empty( $args['slug'] ) ) {
 		$empty_slug = true;
 		$slug = sanitize_title($name);
+	} else {
+		$slug = $args['slug'];
 	}
 
-	if ( $alias_of ) {
-		$alias = $wpdb->get_row( $wpdb->prepare( "SELECT term_id, term_group FROM $wpdb->terms WHERE slug = %s", $alias_of) );
+	$parsed_args['slug'] = $slug;
+
+	$term_group = isset( $parsed_args['term_group'] ) ? $parsed_args['term_group'] : 0;
+	if ( $args['alias_of'] ) {
+		$alias = $wpdb->get_row( $wpdb->prepare( "SELECT term_id, term_group FROM $wpdb->terms WHERE slug = %s", $args['alias_of'] ) );
 		if ( $alias->term_group ) {
 			// The alias we want is already in a group, so let's use that one.
 			$term_group = $alias->term_group;
@@ -2912,6 +2974,8 @@ function wp_update_term( $term_id, $taxonomy, $args = array() ) {
 			/** This action is documented in wp-includes/taxonomy.php */
 			do_action( 'edited_terms', $alias->term_id, $taxonomy );
 		}
+
+		$parsed_args['term_group'] = $term_group;
 	}
 
 	/**
@@ -2921,13 +2985,13 @@ function wp_update_term( $term_id, $taxonomy, $args = array() ) {
 	 *
 	 * @since 3.1.0
 	 *
-	 * @param int    $parent   ID of the parent term.
-	 * @param int    $term_id  Term ID.
-	 * @param string $taxonomy Taxonomy slug.
-	 * @param array  $args     Compacted array of update arguments for the given term.
-	 * @param array  $args     An array of update arguments for the given term.
+	 * @param int    $parent      ID of the parent term.
+	 * @param int    $term_id     Term ID.
+	 * @param string $taxonomy    Taxonomy slug.
+	 * @param array  $parsed_args An array of potentially altered update arguments for the given term.
+	 * @param array  $args        An array of update arguments for the given term.
 	 */
-	$parent = apply_filters( 'wp_update_term_parent', $parent, $term_id, $taxonomy, compact( array_keys( $args ) ), $args );
+	$parent = apply_filters( 'wp_update_term_parent', $args['parent'], $term_id, $taxonomy, $parsed_args, $args );
 
 	// Check for duplicate slug
 	$id = $wpdb->get_var( $wpdb->prepare( "SELECT term_id FROM $wpdb->terms WHERE slug = %s", $slug ) );
@@ -3110,8 +3174,6 @@ function wp_update_term_count( $terms, $taxonomy, $do_deferred=false ) {
  * @return bool Always true when complete.
  */
 function wp_update_term_count_now( $terms, $taxonomy ) {
-	global $wpdb;
-
 	$terms = array_map('intval', $terms);
 
 	$taxonomy = get_taxonomy($taxonomy);
@@ -3685,19 +3747,19 @@ function get_term_link( $term, $taxonomy = '') {
  *
  * @param array $args Override the defaults.
  */
-function the_taxonomies($args = array()) {
+function the_taxonomies( $args = array() ) {
 	$defaults = array(
 		'post' => 0,
 		'before' => '',
 		'sep' => ' ',
 		'after' => '',
-		'template' => '%s: %l.'
+		/* translators: %s: taxonomy label, %l: list of term links */
+		'template' => __( '%s: %l.' )
 	);
 
 	$r = wp_parse_args( $args, $defaults );
-	extract( $r, EXTR_SKIP );
 
-	echo $before . join($sep, get_the_taxonomies($post, $r)) . $after;
+	echo $r['before'] . join( $r['sep'], get_the_taxonomies( $r['post'], $r ) ) . $r['after'];
 }
 
 /**
@@ -3708,43 +3770,48 @@ function the_taxonomies($args = array()) {
  *
  * @since 2.5.0
  *
- * @param int|WP_Post $post Optional. Post ID or post object.
+ * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post.
  * @param array $args Override the defaults.
- * @return array
+ * @return array List of taxonomies.
  */
-function get_the_taxonomies($post = 0, $args = array() ) {
+function get_the_taxonomies( $post = 0, $args = array() ) {
 	$post = get_post( $post );
 
 	$args = wp_parse_args( $args, array(
-		'template' => '%s: %l.',
+		/* translators: %s: taxonomy label, %l: list of term links */
+		'template' => __( '%s: %l.' ),
 	) );
-	extract( $args, EXTR_SKIP );
 
 	$taxonomies = array();
 
-	if ( !$post )
+	if ( ! $post ) {
 		return $taxonomies;
+	}
 
-	foreach ( get_object_taxonomies($post) as $taxonomy ) {
-		$t = (array) get_taxonomy($taxonomy);
-		if ( empty($t['label']) )
+	foreach ( get_object_taxonomies( $post ) as $taxonomy ) {
+		$t = (array) get_taxonomy( $taxonomy );
+		if ( empty( $t['label'] ) ) {
 			$t['label'] = $taxonomy;
-		if ( empty($t['args']) )
+		}
+		if ( empty( $t['args'] ) ) {
 			$t['args'] = array();
-		if ( empty($t['template']) )
-			$t['template'] = $template;
-
-		$terms = get_object_term_cache($post->ID, $taxonomy);
-		if ( false === $terms )
-			$terms = wp_get_object_terms($post->ID, $taxonomy, $t['args']);
+		}
+		if ( empty( $t['template'] ) ) {
+			$t['template'] = $args['template'];
+		}
 
+		$terms = get_object_term_cache( $post->ID, $taxonomy );
+		if ( false === $terms ) {
+			$terms = wp_get_object_terms( $post->ID, $taxonomy, $t['args'] );
+		}
 		$links = array();
 
-		foreach ( $terms as $term )
-			$links[] = "<a href='" . esc_attr( get_term_link($term) ) . "'>$term->name</a>";
-
-		if ( $links )
-			$taxonomies[$taxonomy] = wp_sprintf($t['template'], $t['label'], $links, $terms);
+		foreach ( $terms as $term ) {
+			$links[] = "<a href='" . esc_attr( get_term_link( $term ) ) . "'>$term->name</a>";
+		}
+		if ( $links ) {
+			$taxonomies[$taxonomy] = wp_sprintf( $t['template'], $t['label'], $links, $terms );
+		}
 	}
 	return $taxonomies;
 }
@@ -3753,12 +3820,13 @@ function get_the_taxonomies($post = 0, $args = array() ) {
  * Retrieve all taxonomies of a post with just the names.
  *
  * @since 2.5.0
+ *
  * @uses get_object_taxonomies()
  *
- * @param int|WP_Post $post Optional. Post ID or post object.
+ * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post.
  * @return array
  */
-function get_post_taxonomies($post = 0) {
+function get_post_taxonomies( $post = 0 ) {
 	$post = get_post( $post );
 
 	return get_object_taxonomies($post);
@@ -3931,4 +3999,4 @@ function wp_check_term_hierarchy_for_loops( $parent, $term_id, $taxonomy ) {
 		wp_update_term( $loop_member, $taxonomy, array( 'parent' => 0 ) );
 
 	return $parent;
-}
\ No newline at end of file
+}
diff --git a/wp-includes/theme-compat/comments-popup.php b/wp-includes/theme-compat/comments-popup.php
index 29871b0fd..15751fe1b 100644
--- a/wp-includes/theme-compat/comments-popup.php
+++ b/wp-includes/theme-compat/comments-popup.php
@@ -41,7 +41,6 @@ while( have_posts()) : the_post();
 <?php
 // this line is WordPress' motor, do not delete it.
 $commenter = wp_get_current_commenter();
-extract($commenter);
 $comments = get_approved_comments($id);
 $post = get_post($id);
 if ( post_password_required($post) ) {  // and it doesn't match the cookie
@@ -71,17 +70,17 @@ if ( post_password_required($post) ) {  // and it doesn't match the cookie
 	<p><?php printf(__('Logged in as <a href="%1$s">%2$s</a>. <a href="%3$s" title="Log out of this account">Log out &raquo;</a>'), get_edit_user_link(), $user_identity, wp_logout_url(get_permalink())); ?></p>
 <?php else : ?>
 	<p>
-	  <input type="text" name="author" id="author" class="textarea" value="<?php echo esc_attr($comment_author); ?>" size="28" tabindex="1" />
+	  <input type="text" name="author" id="author" class="textarea" value="<?php echo esc_attr( $commenter['comment_author'] ); ?>" size="28" tabindex="1" />
 	   <label for="author"><?php _e('Name'); ?></label>
 	</p>
 
 	<p>
-	  <input type="text" name="email" id="email" value="<?php echo esc_attr($comment_author_email); ?>" size="28" tabindex="2" />
+	  <input type="text" name="email" id="email" value="<?php echo esc_attr( $commenter['comment_author_email'] ); ?>" size="28" tabindex="2" />
 	   <label for="email"><?php _e('E-mail'); ?></label>
 	</p>
 
 	<p>
-	  <input type="text" name="url" id="url" value="<?php echo esc_attr($comment_author_url); ?>" size="28" tabindex="3" />
+	  <input type="text" name="url" id="url" value="<?php echo esc_attr( $commenter['comment_author_url'] ); ?>" size="28" tabindex="3" />
 	   <label for="url"><?php _e('<abbr title="Universal Resource Locator">URL</abbr>'); ?></label>
 	</p>
 <?php endif; ?>
diff --git a/wp-includes/theme.php b/wp-includes/theme.php
index 00b3c39d1..85119eda1 100644
--- a/wp-includes/theme.php
+++ b/wp-includes/theme.php
@@ -137,7 +137,7 @@ function is_child_theme() {
  * The theme name that the administrator has currently set the front end theme
  * as.
  *
- * For all extensive purposes, the template name and the stylesheet name are
+ * For all intents and purposes, the template name and the stylesheet name are
  * going to be the same for most cases.
  *
  * @since 1.5.0
@@ -370,11 +370,19 @@ function register_theme_directory( $directory ) {
 		// Try prepending as the theme directory could be relative to the content directory
 		$directory = WP_CONTENT_DIR . '/' . $directory;
 		// If this directory does not exist, return and do not register
-		if ( ! file_exists( $directory ) )
+		if ( ! file_exists( $directory ) ) {
 			return false;
+		}
 	}
 
-	$wp_theme_directories[] = $directory;
+	if ( ! is_array( $wp_theme_directories ) ) {
+		$wp_theme_directories = array();
+	}
+
+	$untrailed = untrailingslashit( $directory );
+	if ( ! empty( $untrailed ) && ! in_array( $untrailed, $wp_theme_directories ) ) {
+		$wp_theme_directories[] = $untrailed;
+	}
 
 	return true;
 }
@@ -1394,6 +1402,54 @@ function remove_editor_styles() {
 	return true;
 }
 
+/**
+ * Retrieve any registered editor stylesheets
+ *
+ * @since 4.0.0
+ *
+ * @global $editor_styles Registered editor stylesheets
+ *
+ * @return array If registered, a list of editor stylesheet URLs.
+ */
+function get_editor_stylesheets() {
+	$stylesheets = array();
+	// load editor_style.css if the current theme supports it
+	if ( ! empty( $GLOBALS['editor_styles'] ) && is_array( $GLOBALS['editor_styles'] ) ) {
+		$editor_styles = $GLOBALS['editor_styles'];
+
+		$editor_styles = array_unique( array_filter( $editor_styles ) );
+		$style_uri = get_stylesheet_directory_uri();
+		$style_dir = get_stylesheet_directory();
+
+		// Support externally referenced styles (like, say, fonts).
+		foreach ( $editor_styles as $key => $file ) {
+			if ( preg_match( '~^(https?:)?//~', $file ) ) {
+				$stylesheets[] = esc_url_raw( $file );
+				unset( $editor_styles[ $key ] );
+			}
+		}
+
+		// Look in a parent theme first, that way child theme CSS overrides.
+		if ( is_child_theme() ) {
+			$template_uri = get_template_directory_uri();
+			$template_dir = get_template_directory();
+
+			foreach ( $editor_styles as $key => $file ) {
+				if ( $file && file_exists( "$template_dir/$file" ) ) {
+					$stylesheets[] = "$template_uri/$file";
+				}
+			}
+		}
+
+		foreach ( $editor_styles as $file ) {
+			if ( $file && file_exists( "$style_dir/$file" ) ) {
+				$stylesheets[] = "$style_uri/$file";
+			}
+		}
+	}
+	return $stylesheets;
+}
+
 /**
  * Allows a theme to register its support of a certain feature
  *
@@ -1437,7 +1493,6 @@ function add_theme_support( $feature ) {
 
 		case 'custom-header-uploads' :
 			return add_theme_support( 'custom-header', array( 'uploads' => true ) );
-			break;
 
 		case 'custom-header' :
 			if ( ! is_array( $args ) )
@@ -1618,10 +1673,9 @@ function get_theme_support( $feature ) {
 			if ( isset( $_wp_theme_features[ $feature ][0][ $args[0] ] ) )
 				return $_wp_theme_features[ $feature ][0][ $args[0] ];
 			return false;
-			break;
+
 		default :
 			return $_wp_theme_features[ $feature ];
-			break;
 	}
 }
 
@@ -1720,7 +1774,6 @@ function current_theme_supports( $feature ) {
 				return true;
 			$content_type = $args[0];
 			return in_array( $content_type, $_wp_theme_features[$feature][0] );
-			break;
 
 		case 'html5':
 		case 'post-formats':
@@ -1731,7 +1784,6 @@ function current_theme_supports( $feature ) {
 
 			$type = $args[0];
 			return in_array( $type, $_wp_theme_features[$feature][0] );
-			break;
 
 		case 'custom-header':
 		case 'custom-background' :
@@ -1739,7 +1791,6 @@ function current_theme_supports( $feature ) {
 			// an array to add_theme_support()
 			$header_support = $args[0];
 			return ( isset( $_wp_theme_features[$feature][0][$header_support] ) && $_wp_theme_features[$feature][0][$header_support] );
-			break;
 	}
 
 	/**
@@ -1879,6 +1930,9 @@ function _wp_customize_loader_settings() {
 		'url'           => esc_url( admin_url( 'customize.php' ) ),
 		'isCrossDomain' => $cross_domain,
 		'browser'       => $browser,
+		'l10n'          => array(
+			'saveAlert' => __( 'The changes you made will be lost if you navigate away from this page.' ),
+		),
 	);
 
 	$script = 'var _wpCustomizeLoaderSettings = ' . json_encode( $settings ) . ';';
@@ -1943,3 +1997,18 @@ function wp_customize_support_script() {
 	</script>
 	<?php
 }
+
+/**
+ * Whether the site is being previewed in the Customizer.
+ *
+ * @since 4.0.0
+ *
+ * @global WP_Customize_Manager $wp_customize Customizer instance.
+ *
+ * @return bool True if the site is being previewed in the Customizer, false otherwise.
+ */
+function is_customize_preview() {
+	global $wp_customize;
+
+	return is_a( $wp_customize, 'WP_Customize_Manager' ) && $wp_customize->is_preview();
+}
diff --git a/wp-includes/update.php b/wp-includes/update.php
index 3639907b7..a9e25a871 100644
--- a/wp-includes/update.php
+++ b/wp-includes/update.php
@@ -25,7 +25,7 @@ function wp_version_check( $extra_stats = array(), $force_check = false ) {
 		return;
 
 	global $wpdb, $wp_local_package;
-	include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version
+	include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
 	$php_version = phpversion();
 
 	$current = get_site_transient( 'update_core' );
@@ -183,7 +183,7 @@ function wp_version_check( $extra_stats = array(), $force_check = false ) {
  * @return mixed Returns null if update is unsupported. Returns false if check is too soon.
  */
 function wp_update_plugins( $extra_stats = array() ) {
-	include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version
+	include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
 
 	if ( defined('WP_INSTALLING') )
 		return false;
@@ -264,12 +264,20 @@ function wp_update_plugins( $extra_stats = array() ) {
 	 */
 	$locales = apply_filters( 'plugins_update_check_locales', $locales );
 
+	if ( defined( 'DOING_CRON' ) && DOING_CRON ) {
+		$timeout = 30;
+	} else {
+		// Three seconds, plus one extra second for every 10 plugins
+		$timeout = 3 + (int) ( count( $plugins ) / 10 );
+	}
+
 	$options = array(
-		'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3),
+		'timeout' => $timeout,
 		'body' => array(
 			'plugins'      => json_encode( $to_send ),
 			'translations' => json_encode( $translations ),
 			'locale'       => json_encode( $locales ),
+			'all'          => json_encode( true ),
 		),
 		'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
 	);
@@ -296,13 +304,20 @@ function wp_update_plugins( $extra_stats = array() ) {
 		$plugin = (object) $plugin;
 	}
 	unset( $plugin );
+	foreach ( $response['no_update'] as &$plugin ) {
+		$plugin = (object) $plugin;
+	}
+	unset( $plugin );
 
 	if ( is_array( $response ) ) {
 		$new_option->response = $response['plugins'];
 		$new_option->translations = $response['translations'];
+		// TODO: Perhaps better to store no_update in a separate transient with an expiry?
+		$new_option->no_update = $response['no_update'];
 	} else {
 		$new_option->response = array();
 		$new_option->translations = array();
+		$new_option->no_update = array();
 	}
 
 	set_site_transient( 'update_plugins', $new_option );
@@ -322,7 +337,7 @@ function wp_update_plugins( $extra_stats = array() ) {
  * @return mixed Returns null if update is unsupported. Returns false if check is too soon.
  */
 function wp_update_themes( $extra_stats = array() ) {
-	include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version
+	include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
 
 	if ( defined( 'WP_INSTALLING' ) )
 		return false;
@@ -412,8 +427,15 @@ function wp_update_themes( $extra_stats = array() ) {
 	 */
 	$locales = apply_filters( 'themes_update_check_locales', $locales );
 
+	if ( defined( 'DOING_CRON' ) && DOING_CRON ) {
+		$timeout = 30;
+	} else {
+		// Three seconds, plus one extra second for every 10 themes
+		$timeout = 3 + (int) ( count( $themes ) / 10 );
+	}
+
 	$options = array(
-		'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3),
+		'timeout' => $timeout,
 		'body' => array(
 			'themes'       => json_encode( $request ),
 			'translations' => json_encode( $translations ),
@@ -459,8 +481,8 @@ function wp_update_themes( $extra_stats = array() ) {
  * @since 3.7.0
  */
 function wp_maybe_auto_update() {
-	include_once ABSPATH . '/wp-admin/includes/admin.php';
-	include_once ABSPATH . '/wp-admin/includes/class-wp-upgrader.php';
+	include_once( ABSPATH . '/wp-admin/includes/admin.php' );
+	include_once( ABSPATH . '/wp-admin/includes/class-wp-upgrader.php' );
 
 	$upgrader = new WP_Automatic_Updater;
 	$upgrader->run();
@@ -550,7 +572,7 @@ function wp_get_update_data() {
 }
 
 function _maybe_update_core() {
-	include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version
+	include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
 
 	$current = get_site_transient( 'update_core' );
 
diff --git a/wp-includes/user.php b/wp-includes/user.php
index 5a9dc466a..af0286457 100644
--- a/wp-includes/user.php
+++ b/wp-includes/user.php
@@ -134,7 +134,7 @@ function wp_authenticate_username_password($user, $username, $password) {
 	$user = get_user_by('login', $username);
 
 	if ( !$user )
-		return new WP_Error( 'invalid_username', sprintf( __( '<strong>ERROR</strong>: Invalid username. <a href="%s" title="Password Lost and Found">Lost your password</a>?' ), wp_lostpassword_url() ) );
+		return new WP_Error( 'invalid_username', sprintf( __( '<strong>ERROR</strong>: Invalid username. <a href="%s">Lost your password</a>?' ), wp_lostpassword_url() ) );
 
 	/**
 	 * Filter whether the given user can be authenticated with the provided $password.
@@ -150,7 +150,7 @@ function wp_authenticate_username_password($user, $username, $password) {
 		return $user;
 
 	if ( !wp_check_password($password, $user->user_pass, $user->ID) )
-		return new WP_Error( 'incorrect_password', sprintf( __( '<strong>ERROR</strong>: The password you entered for the username <strong>%1$s</strong> is incorrect. <a href="%2$s" title="Password Lost and Found">Lost your password</a>?' ),
+		return new WP_Error( 'incorrect_password', sprintf( __( '<strong>ERROR</strong>: The password you entered for the username <strong>%1$s</strong> is incorrect. <a href="%2$s">Lost your password</a>?' ),
 		$username, wp_lostpassword_url() ) );
 
 	return $user;
@@ -449,7 +449,7 @@ class WP_User_Query {
 	 * @access public
 	 * @var array
 	 */
-	var $query_vars = array();
+	public $query_vars = array();
 
 	/**
 	 * List of found user ids
@@ -458,7 +458,7 @@ class WP_User_Query {
 	 * @access private
 	 * @var array
 	 */
-	var $results;
+	private $results;
 
 	/**
 	 * Total number of found users for the current query
@@ -467,14 +467,14 @@ class WP_User_Query {
 	 * @access private
 	 * @var int
 	 */
-	var $total_users = 0;
+	private $total_users = 0;
 
 	// SQL clauses
-	var $query_fields;
-	var $query_from;
-	var $query_where;
-	var $query_orderby;
-	var $query_limit;
+	public $query_fields;
+	public $query_from;
+	public $query_where;
+	public $query_orderby;
+	public $query_limit;
 
 	/**
 	 * PHP5 constructor.
@@ -484,7 +484,7 @@ class WP_User_Query {
 	 * @param string|array $args Optional. The query variables.
 	 * @return WP_User_Query
 	 */
-	function __construct( $query = null ) {
+	public function __construct( $query = null ) {
 		if ( ! empty( $query ) ) {
 			$this->prepare_query( $query );
 			$this->query();
@@ -498,7 +498,7 @@ class WP_User_Query {
 	 *
 	 * @param string|array $args Optional. The query variables.
 	 */
-	function prepare_query( $query = array() ) {
+	public function prepare_query( $query = array() ) {
 		global $wpdb;
 
 		if ( empty( $this->query_vars ) || ! empty( $query ) ) {
@@ -523,6 +523,19 @@ class WP_User_Query {
 			) );
 		}
 
+		/**
+		 * Fires before the WP_User_Query has been parsed.
+		 *
+		 * The passed WP_User_Query object contains the query variables, not
+		 * yet passed into SQL.
+		 *
+		 * @since 4.0.0
+		 *
+		 * @param WP_User_Query $this The current WP_User_Query instance,
+		 *                            passed by reference.
+		 */
+		do_action( 'pre_get_users', $this );
+
 		$qv =& $this->query_vars;
 
 		if ( is_array( $qv['fields'] ) ) {
@@ -712,7 +725,7 @@ class WP_User_Query {
 	 *
 	 * @global wpdb $wpdb WordPress database object for queries.
 	 */
-	function query() {
+	public function query() {
 		global $wpdb;
 
 		$qv =& $this->query_vars;
@@ -764,7 +777,7 @@ class WP_User_Query {
 	 * @param string $query_var Query variable key.
 	 * @return mixed
 	 */
-	function get( $query_var ) {
+	public function get( $query_var ) {
 		if ( isset( $this->query_vars[$query_var] ) )
 			return $this->query_vars[$query_var];
 
@@ -780,7 +793,7 @@ class WP_User_Query {
 	 * @param string $query_var Query variable key.
 	 * @param mixed $value Query variable value.
 	 */
-	function set( $query_var, $value ) {
+	public function set( $query_var, $value ) {
 		$this->query_vars[$query_var] = $value;
 	}
 
@@ -796,17 +809,20 @@ class WP_User_Query {
 	 *  single site. Single site allows leading and trailing wildcards, Network Admin only trailing.
 	 * @return string
 	 */
-	function get_search_sql( $string, $cols, $wild = false ) {
-		$string = esc_sql( $string );
+	protected function get_search_sql( $string, $cols, $wild = false ) {
+		global $wpdb;
 
 		$searches = array();
 		$leading_wild = ( 'leading' == $wild || 'both' == $wild ) ? '%' : '';
 		$trailing_wild = ( 'trailing' == $wild || 'both' == $wild ) ? '%' : '';
+		$like = $leading_wild . $wpdb->esc_like( $string ) . $trailing_wild;
+
 		foreach ( $cols as $col ) {
-			if ( 'ID' == $col )
-				$searches[] = "$col = '$string'";
-			else
-				$searches[] = "$col LIKE '$leading_wild" . like_escape($string) . "$trailing_wild'";
+			if ( 'ID' == $col ) {
+				$searches[] = $wpdb->prepare( "$col = %s", $string );
+			} else {
+				$searches[] = $wpdb->prepare( "$col LIKE %s", $like );
+			}
 		}
 
 		return ' AND (' . implode(' OR ', $searches) . ')';
@@ -820,7 +836,7 @@ class WP_User_Query {
 	 *
 	 * @return array Array of results.
 	 */
-	function get_results() {
+	public function get_results() {
 		return $this->results;
 	}
 
@@ -832,9 +848,75 @@ class WP_User_Query {
 	 *
 	 * @return array Array of total users.
 	 */
-	function get_total() {
+	public function get_total() {
 		return $this->total_users;
 	}
+
+	/**
+	 * Make private properties readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to get.
+	 * @return mixed Property.
+	 */
+	public function __get( $name ) {
+		return $this->$name;
+	}
+
+	/**
+	 * Make private properties settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name  Property to set.
+	 * @param mixed  $value Property value.
+	 * @return mixed Newly-set property.
+	 */
+	public function __set( $name, $value ) {
+		return $this->$name = $value;
+	}
+
+	/**
+	 * Make private properties checkable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to check if set.
+	 * @return bool Whether the property is set.
+	 */
+	public function __isset( $name ) {
+		return isset( $this->$name );
+	}
+
+	/**
+	 * Make private properties un-settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to unset.
+	 */
+	public function __unset( $name ) {
+		unset( $this->$name );
+	}
+
+	/**
+	 * Make private/protected methods readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param callable $name      Method to call.
+	 * @param array    $arguments Arguments to pass when calling.
+	 * @return mixed|bool Return value of the callback, false otherwise.
+	 */
+	public function __call( $name, $arguments ) {
+		return call_user_func_array( array( $this, $name ), $arguments );
+	}
 }
 
 /**
@@ -1092,7 +1174,7 @@ function count_users($strategy = 'time') {
 		// Build a CPU-intensive query that will return concise information.
 		$select_count = array();
 		foreach ( $avail_roles as $this_role => $name ) {
-			$select_count[] = "COUNT(NULLIF(`meta_value` LIKE '%\"" . like_escape( $this_role ) . "\"%', false))";
+			$select_count[] = $wpdb->prepare( "COUNT(NULLIF(`meta_value` LIKE %s, false))", '%' . $wpdb->esc_like( '"' . $this_role . '"' ) . '%');
 		}
 		$select_count = implode(', ', $select_count);
 
@@ -1192,33 +1274,49 @@ function setup_userdata($for_user_id = '') {
  * used, either 'include' or 'exclude', but not both.
  *
  * The available arguments are as follows:
- * <ol>
- * <li>show_option_all - Text to show all and whether HTML option exists.</li>
- * <li>show_option_none - Text for show none and whether HTML option exists.</li>
- * <li>hide_if_only_one_author - Don't create the dropdown if there is only one user.</li>
- * <li>orderby - SQL order by clause for what order the users appear. Default is 'display_name'.</li>
- * <li>order - Default is 'ASC'. Can also be 'DESC'.</li>
- * <li>include - User IDs to include.</li>
- * <li>exclude - User IDs to exclude.</li>
- * <li>multi - Default is 'false'. Whether to skip the ID attribute on the 'select' element. A 'true' value is overridden when id argument is set.</li>
- * <li>show - Default is 'display_name'. User table column to display. If the selected item is empty then the user_login will be displayed in parentheses</li>
- * <li>echo - Default is '1'. Whether to display or retrieve content.</li>
- * <li>selected - Which User ID is selected.</li>
- * <li>include_selected - Always include the selected user ID in the dropdown. Default is false.</li>
- * <li>name - Default is 'user'. Name attribute of select element.</li>
- * <li>id - Default is the value of the 'name' parameter. ID attribute of select element.</li>
- * <li>class - Class attribute of select element.</li>
- * <li>blog_id - ID of blog (Multisite only). Defaults to ID of current blog.</li>
- * <li>who - Which users to query. Currently only 'authors' is supported. Default is all users.</li>
- * </ol>
  *
  * @since 2.3.0
  *
  * @global wpdb $wpdb WordPress database object for queries.
  *
- * @todo Hash-notate arguments array.
- *
- * @param string|array $args Optional. Array of user arguments.
+ * @param array|string $args {
+ *     Optional. Array or string of arguments to generate a drop-down of users.
+ *     {@see WP_User_Query::prepare_query() for additional available arguments.
+ *
+ *     @type string       $show_option_all         Text to show as the drop-down default (all).
+ *                                                 Default empty.
+ *     @type string       $show_option_none        Text to show as the drop-down default when no
+ *                                                 users were found. Default empty.
+ *     @type int|string   $option_none_value       Value to use for $show_option_non when no users
+ *                                                 were found. Default -1.
+ *     @type string       $hide_if_only_one_author Whether to skip generating the drop-down
+ *                                                 if only one user was found. Default empty.
+ *     @type string       $orderby                 Field to order found users by. Accepts user fields.
+ *                                                 Default 'display_name'.
+ *     @type string       $order                   Whether to order users in ascending or descending
+ *                                                 order. Accepts 'ASC' (ascending) or 'DESC' (descending).
+ *                                                 Default 'ASC'.
+ *     @type array|string $include                 Array or comma-separated list of user IDs to include.
+ *                                                 Default empty.
+ *     @type array|string $exclude                 Array or comma-separated list of user IDs to exclude.
+ *                                                 Default empty.
+ *     @type bool|int     $multi                   Whether to skip the ID attribute on the 'select' element.
+ *                                                 Accepts 1|true or 0|false. Default 0|false.
+ *     @type string       $show                    User table column to display. If the selected item is empty
+ *                                                 then the 'user_login' will be displayed in parentheses.
+ *                                                 Accepts user fields. Default 'display_name'.
+ *     @type int|bool     $echo                    Whether to echo or return the drop-down. Accepts 1|true (echo)
+ *                                                 or 0|false (return). Default 1|true.
+ *     @type int          $selected                Which user ID should be selected. Default 0.
+ *     @type bool         $include_selected        Whether to always include the selected user ID in the drop-
+ *                                                 down. Default false.
+ *     @type string       $name                    Name attribute of select element. Default 'user'.
+ *     @type string       $id                      ID attribute of the select element. Default is the value of $name.
+ *     @type string       $class                   Class attribute of the select element. Default empty.
+ *     @type int          $blog_id                 ID of blog (Multisite only). Default is ID of the current blog.
+ *     @type string       $who                     Which type of users to query. Accepts only an empty string or
+ *                                                 'authors'. Default empty.
+ * }
  * @return string|null Null on display. String of HTML content on retrieve.
  */
 function wp_dropdown_users( $args = '' ) {
@@ -1228,51 +1326,57 @@ function wp_dropdown_users( $args = '' ) {
 		'include' => '', 'exclude' => '', 'multi' => 0,
 		'show' => 'display_name', 'echo' => 1,
 		'selected' => 0, 'name' => 'user', 'class' => '', 'id' => '',
-		'blog_id' => $GLOBALS['blog_id'], 'who' => '', 'include_selected' => false
+		'blog_id' => $GLOBALS['blog_id'], 'who' => '', 'include_selected' => false,
+		'option_none_value' => -1
 	);
 
 	$defaults['selected'] = is_author() ? get_query_var( 'author' ) : 0;
 
 	$r = wp_parse_args( $args, $defaults );
-	extract( $r, EXTR_SKIP );
+	$show = $r['show'];
+	$show_option_all = $r['show_option_all'];
+	$show_option_none = $r['show_option_none'];
+	$option_none_value = $r['option_none_value'];
 
 	$query_args = wp_array_slice_assoc( $r, array( 'blog_id', 'include', 'exclude', 'orderby', 'order', 'who' ) );
 	$query_args['fields'] = array( 'ID', 'user_login', $show );
 	$users = get_users( $query_args );
 
 	$output = '';
-	if ( !empty($users) && ( empty($hide_if_only_one_author) || count($users) > 1 ) ) {
-		$name = esc_attr( $name );
-		if ( $multi && ! $id )
+	if ( ! empty( $users ) && ( empty( $r['hide_if_only_one_author'] ) || count( $users ) > 1 ) ) {
+		$name = esc_attr( $r['name'] );
+		if ( $r['multi'] && ! $r['id'] ) {
 			$id = '';
-		else
-			$id = $id ? " id='" . esc_attr( $id ) . "'" : " id='$name'";
-
-		$output = "<select name='{$name}'{$id} class='$class'>\n";
+		} else {
+			$id = $r['id'] ? " id='" . esc_attr( $r['id'] ) . "'" : " id='$name'";
+		}
+		$output = "<select name='{$name}'{$id} class='" . $r['class'] . "'>\n";
 
-		if ( $show_option_all )
+		if ( $show_option_all ) {
 			$output .= "\t<option value='0'>$show_option_all</option>\n";
+		}
 
 		if ( $show_option_none ) {
-			$_selected = selected( -1, $selected, false );
-			$output .= "\t<option value='-1'$_selected>$show_option_none</option>\n";
+			$_selected = selected( $option_none_value, $r['selected'], false );
+			$output .= "\t<option value='" . esc_attr( $option_none_value ) . "'$_selected>$show_option_none</option>\n";
 		}
 
 		$found_selected = false;
 		foreach ( (array) $users as $user ) {
 			$user->ID = (int) $user->ID;
-			$_selected = selected( $user->ID, $selected, false );
-			if ( $_selected )
+			$_selected = selected( $user->ID, $r['selected'], false );
+			if ( $_selected ) {
 				$found_selected = true;
-			$display = !empty($user->$show) ? $user->$show : '('. $user->user_login . ')';
-			$output .= "\t<option value='$user->ID'$_selected>" . esc_html($display) . "</option>\n";
+			}
+			$display = ! empty( $user->$show ) ? $user->$show : '('. $user->user_login . ')';
+			$output .= "\t<option value='$user->ID'$_selected>" . esc_html( $display ) . "</option>\n";
 		}
 
-		if ( $include_selected && ! $found_selected && ( $selected > 0 ) ) {
-			$user = get_userdata( $selected );
-			$_selected = selected( $user->ID, $selected, false );
-			$display = !empty($user->$show) ? $user->$show : '('. $user->user_login . ')';
-			$output .= "\t<option value='$user->ID'$_selected>" . esc_html($display) . "</option>\n";
+		if ( $r['include_selected'] && ! $found_selected && ( $r['selected'] > 0 ) ) {
+			$user = get_userdata( $r['selected'] );
+			$_selected = selected( $user->ID, $r['selected'], false );
+			$display = ! empty( $user->$show ) ? $user->$show : '('. $user->user_login . ')';
+			$output .= "\t<option value='$user->ID'$_selected>" . esc_html( $display ) . "</option>\n";
 		}
 
 		$output .= "</select>";
@@ -1285,12 +1389,12 @@ function wp_dropdown_users( $args = '' ) {
 	 *
 	 * @param string $output HTML output generated by wp_dropdown_users().
 	 */
-	$output = apply_filters( 'wp_dropdown_users', $output );
-
-	if ( $echo )
-		echo $output;
+	$html = apply_filters( 'wp_dropdown_users', $output );
 
-	return $output;
+	if ( $r['echo'] ) {
+		echo $html;
+	}
+	return $html;
 }
 
 /**
@@ -1497,59 +1601,60 @@ function validate_username( $username ) {
  * by the field name. An example using 'description' would have the filter
  * called, 'pre_user_description' that can be hooked into.
  *
- * The $userdata array can contain the following fields:
- * 'ID' - An integer that will be used for updating an existing user.
- * 'user_pass' - A string that contains the plain text password for the user.
- * 'user_login' - A string that contains the user's username for logging in.
- * 'user_nicename' - A string that contains a URL-friendly name for the user.
- *		The default is the user's username.
- * 'user_url' - A string containing the user's URL for the user's web site.
- * 'user_email' - A string containing the user's email address.
- * 'display_name' - A string that will be shown on the site. Defaults to user's
- *		username. It is likely that you will want to change this, for appearance.
- * 'nickname' - The user's nickname, defaults to the user's username.
- * 'first_name' - The user's first name.
- * 'last_name' - The user's last name.
- * 'description' - A string containing content about the user.
- * 'rich_editing' - A string for whether to enable the rich editor. False
- *		if not empty.
- * 'user_registered' - The date the user registered. Format is 'Y-m-d H:i:s'.
- * 'role' - A string used to set the user's role.
- * 'jabber' - User's Jabber account.
- * 'aim' - User's AOL IM account.
- * 'yim' - User's Yahoo IM account.
- *
  * @since 2.0.0
  *
  * @global wpdb $wpdb WordPress database object for queries.
  *
- * @todo Hash-notate arguments array.
- *
- * @param mixed $userdata An array of user data or a user object of type stdClass or WP_User.
- * @return int|WP_Error The newly created user's ID or a WP_Error object if the user could not be created.
+ * @param array $userdata {
+ *     An array, object, or WP_User object of user data arguments.
+ *
+ *     @type int         $ID              User ID. If supplied, the user will be updated.
+ *     @type string      $user_pass       The plain-text user password.
+ *     @type string      $user_login      The user's login username.
+ *     @type string      $user_nicename   The URL-friendly user name.
+ *     @type string      $user_url        The user URL.
+ *     @type string      $user_email      The user email address.
+ *     @type string      $display_name    The user's display name.
+ *                                        Default is the the user's username.
+ *     @type string      $nickname        The user's nickname. Default
+ *                                        Default is the the user's username.
+ *     @type string      $first_name      The user's first name. For new users, will be used
+ *                                        to build $display_name if unspecified.
+ *     @type stirng      $last_name       The user's last name. For new users, will be used
+ *                                        to build $display_name if unspecified.
+ *     @type string|bool $rich_editing    Whether to enable the rich-editor for the user. False
+ *                                        if not empty.
+ *     @type string      $date_registered Date the user registered. Format is 'Y-m-d H:i:s'.
+ *     @type string      $role            User's role.
+ *     @type string      $jabber          User's Jabber account username.
+ *     @type string      $aim             User's AIM account username.
+ *     @type string      $yim             User's Yahoo! messenger username.
+ * }
+ * @return int|WP_Error The newly created user's ID or a WP_Error object if the user could not
+ *                      be created.
  */
 function wp_insert_user( $userdata ) {
 	global $wpdb;
 
-	if ( is_a( $userdata, 'stdClass' ) )
+	if ( is_a( $userdata, 'stdClass' ) ) {
 		$userdata = get_object_vars( $userdata );
-	elseif ( is_a( $userdata, 'WP_User' ) )
+	} elseif ( is_a( $userdata, 'WP_User' ) ) {
 		$userdata = $userdata->to_array();
-
-	extract( $userdata, EXTR_SKIP );
-
+	}
 	// Are we updating or creating?
-	if ( !empty($ID) ) {
-		$ID = (int) $ID;
+	if ( ! empty( $userdata['ID'] ) ) {
+		$ID = (int) $userdata['ID'];
 		$update = true;
 		$old_user_data = WP_User::get_data_by( 'id', $ID );
+		// hashed in wp_update_user(), plaintext if called directly
+		$user_pass = $userdata['user_pass'];
 	} else {
 		$update = false;
 		// Hash the password
-		$user_pass = wp_hash_password($user_pass);
+		$user_pass = wp_hash_password( $userdata['user_pass'] );
 	}
 
-	$user_login = sanitize_user($user_login, true);
+	$sanitized_user_login = sanitize_user( $userdata['user_login'], true );
 
 	/**
 	 * Filter a username after it has been sanitized.
@@ -1558,21 +1663,27 @@ function wp_insert_user( $userdata ) {
 	 *
 	 * @since 2.0.3
 	 *
-	 * @param string $user_login Username after it has been sanitized.
+	 * @param string $sanitized_user_login Username after it has been sanitized.
 	 */
-	$user_login = apply_filters( 'pre_user_login', $user_login );
+	$pre_user_login = apply_filters( 'pre_user_login', $sanitized_user_login );
 
 	//Remove any non-printable chars from the login string to see if we have ended up with an empty username
-	$user_login = trim($user_login);
+	$user_login = trim( $pre_user_login );
 
-	if ( empty($user_login) )
+	if ( empty( $user_login ) ) {
 		return new WP_Error('empty_user_login', __('Cannot create a user with an empty login name.') );
-
-	if ( !$update && username_exists( $user_login ) )
+	}
+	if ( ! $update && username_exists( $user_login ) ) {
 		return new WP_Error( 'existing_user_login', __( 'Sorry, that username already exists!' ) );
-
-	if ( empty($user_nicename) )
+	}
+	if ( empty( $userdata['user_nicename'] ) ) {
 		$user_nicename = sanitize_title( $user_login );
+	} else {
+		$user_nicename = $userdata['user_nicename'];
+	}
+
+	// Store values to save in user meta.
+	$meta = array();
 
 	/**
 	 * Filter a user's nicename before the user is created or updated.
@@ -1583,35 +1694,32 @@ function wp_insert_user( $userdata ) {
 	 */
 	$user_nicename = apply_filters( 'pre_user_nicename', $user_nicename );
 
-	if ( empty($user_url) )
-		$user_url = '';
+	$raw_user_url = empty( $userdata['user_url'] ) ? '' : $userdata['user_url'];
 
 	/**
 	 * Filter a user's URL before the user is created or updated.
 	 *
 	 * @since 2.0.3
 	 *
-	 * @param string $user_url The user's URL.
+	 * @param string $raw_user_url The user's URL.
 	 */
-	$user_url = apply_filters( 'pre_user_url', $user_url );
+	$user_url = apply_filters( 'pre_user_url', $raw_user_url );
 
-	if ( empty($user_email) )
-		$user_email = '';
+	$raw_user_email = empty( $userdata['user_email'] ) ? '' : $userdata['user_email'];
 
 	/**
 	 * Filter a user's email before the user is created or updated.
 	 *
 	 * @since 2.0.3
 	 *
-	 * @param string $user_email The user's email.
+	 * @param string $raw_user_email The user's email.
 	 */
-	$user_email = apply_filters( 'pre_user_email', $user_email );
+	$user_email = apply_filters( 'pre_user_email', $raw_user_email );
 
-	if ( !$update && ! defined( 'WP_IMPORTING' ) && email_exists($user_email) )
+	if ( ! $update && ! defined( 'WP_IMPORTING' ) && email_exists( $user_email ) ) {
 		return new WP_Error( 'existing_user_email', __( 'Sorry, that email address is already used!' ) );
-
-	if ( empty($nickname) )
-		$nickname = $user_login;
+	}
+	$nickname = empty( $userdata['nickname'] ) ? $user_login : $userdata['nickname'];
 
 	/**
 	 * Filter a user's nickname before the user is created or updated.
@@ -1620,10 +1728,9 @@ function wp_insert_user( $userdata ) {
 	 *
 	 * @param string $nickname The user's nickname.
 	 */
-	$nickname = apply_filters( 'pre_user_nickname', $nickname );
+	$meta['nickname'] = apply_filters( 'pre_user_nickname', $nickname );
 
-	if ( empty($first_name) )
-		$first_name = '';
+	$first_name = empty( $userdata['first_name'] ) ? '' : $userdata['first_name'];
 
 	/**
 	 * Filter a user's first name before the user is created or updated.
@@ -1632,10 +1739,9 @@ function wp_insert_user( $userdata ) {
 	 *
 	 * @param string $first_name The user's first name.
 	 */
-	$first_name = apply_filters( 'pre_user_first_name', $first_name );
+	$meta['first_name'] = apply_filters( 'pre_user_first_name', $first_name );
 
-	if ( empty($last_name) )
-		$last_name = '';
+	$last_name = empty( $userdata['last_name'] ) ? '' : $userdata['last_name'];
 
 	/**
 	 * Filter a user's last name before the user is created or updated.
@@ -1644,20 +1750,23 @@ function wp_insert_user( $userdata ) {
 	 *
 	 * @param string $last_name The user's last name.
 	 */
-	$last_name = apply_filters( 'pre_user_last_name', $last_name );
+	$meta['last_name'] = apply_filters( 'pre_user_last_name', $last_name );
 
-	if ( empty( $display_name ) ) {
-		if ( $update )
+	if ( empty( $userdata['display_name'] ) ) {
+		if ( $update ) {
 			$display_name = $user_login;
-		elseif ( $first_name && $last_name )
+		} elseif ( $meta['first_name'] && $meta['last_name'] ) {
 			/* translators: 1: first name, 2: last name */
-			$display_name = sprintf( _x( '%1$s %2$s', 'Display name based on first name and last name' ), $first_name, $last_name );
-		elseif ( $first_name )
-			$display_name = $first_name;
-		elseif ( $last_name )
-			$display_name = $last_name;
-		else
+			$display_name = sprintf( _x( '%1$s %2$s', 'Display name based on first name and last name' ), $meta['first_name'], $meta['last_name'] );
+		} elseif ( $meta['first_name'] ) {
+			$display_name = $meta['first_name'];
+		} elseif ( $meta['last_name'] ) {
+			$display_name = $meta['last_name'];
+		} else {
 			$display_name = $user_login;
+		}
+	} else {
+		$display_name = $userdata['display_name'];
 	}
 
 	/**
@@ -1669,8 +1778,7 @@ function wp_insert_user( $userdata ) {
 	 */
 	$display_name = apply_filters( 'pre_user_display_name', $display_name );
 
-	if ( empty($description) )
-		$description = '';
+	$description = empty( $userdata['description'] ) ? '' : $userdata['description'];
 
 	/**
 	 * Filter a user's description before the user is created or updated.
@@ -1679,26 +1787,20 @@ function wp_insert_user( $userdata ) {
 	 *
 	 * @param string $description The user's description.
 	 */
-	$description = apply_filters( 'pre_user_description', $description );
+	$meta['description'] = apply_filters( 'pre_user_description', $description );
 
-	if ( empty($rich_editing) )
-		$rich_editing = 'true';
+	$meta['rich_editing'] = empty( $userdata['rich_editing'] ) ? 'true' : $userdata['rich_editing'];
 
-	if ( empty($comment_shortcuts) )
-		$comment_shortcuts = 'false';
+	$meta['comment_shortcuts'] = empty( $userdata['comment_shortcuts'] ) ? 'false' : $userdata['comment_shortcuts'];
 
-	if ( empty($admin_color) )
-		$admin_color = 'fresh';
-	$admin_color = preg_replace('|[^a-z0-9 _.\-@]|i', '', $admin_color);
+	$admin_color = empty( $userdata['admin_color'] ) ? 'fresh' : $userdata['admin_color'];
+	$meta['admin_color'] = preg_replace( '|[^a-z0-9 _.\-@]|i', '', $admin_color );
 
-	if ( empty($use_ssl) )
-		$use_ssl = 0;
+	$meta['use_ssl'] = empty( $userdata['use_ssl'] ) ? 0 : $userdata['use_ssl'];
 
-	if ( empty($user_registered) )
-		$user_registered = gmdate('Y-m-d H:i:s');
+	$user_registered = empty( $userdata['user_registered'] ) ? gmdate( 'Y-m-d H:i:s' ) : $userdata['user_registered'];
 
-	if ( empty($show_admin_bar_front) )
-		$show_admin_bar_front = 'true';
+	$meta['show_admin_bar_front'] = empty( $userdata['show_admin_bar_front'] ) ? 'true' : $userdata['show_admin_bar_front'];
 
 	$user_nicename_check = $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND user_login != %s LIMIT 1" , $user_nicename, $user_login));
 
@@ -1712,8 +1814,8 @@ function wp_insert_user( $userdata ) {
 		$user_nicename = $alt_user_nicename;
 	}
 
-	$data = compact( 'user_pass', 'user_email', 'user_url', 'user_nicename', 'display_name', 'user_registered' );
-	$data = wp_unslash( $data );
+	$compacted = compact( 'user_pass', 'user_email', 'user_url', 'user_nicename', 'display_name', 'user_registered' );
+	$data = wp_unslash( $compacted );
 
 	if ( $update ) {
 		$wpdb->update( $wpdb->users, $data, compact( 'ID' ) );
@@ -1725,18 +1827,24 @@ function wp_insert_user( $userdata ) {
 
 	$user = new WP_User( $user_id );
 
-	foreach ( _get_additional_user_keys( $user ) as $key ) {
-		if ( isset( $$key ) )
-			update_user_meta( $user_id, $key, $$key );
+	// Update user meta.
+	foreach ( $meta as $key => $value ) {
+		update_user_meta( $user_id, $key, $value );
 	}
 
-	if ( isset($role) )
-		$user->set_role($role);
-	elseif ( !$update )
-		$user->set_role(get_option('default_role'));
+	foreach ( wp_get_user_contact_methods( $user ) as $key => $value ) {
+		if ( isset( $userdata[ $key ] ) ) {
+			update_user_meta( $user_id, $key, $userdata[ $key ] );
+		}
+	}
 
-	wp_cache_delete($user_id, 'users');
-	wp_cache_delete($user_login, 'userlogins');
+	if ( isset( $userdata['role'] ) ) {
+		$user->set_role( $userdata['role'] );
+	} elseif ( ! $update ) {
+		$user->set_role(get_option('default_role'));
+	}
+	wp_cache_delete( $user_id, 'users' );
+	wp_cache_delete( $user_login, 'userlogins' );
 
 	if ( $update ) {
 		/**
@@ -1818,7 +1926,15 @@ function wp_update_user($userdata) {
 	if ( $current_user->ID == $ID ) {
 		if ( isset($plaintext_pass) ) {
 			wp_clear_auth_cookie();
-			wp_set_auth_cookie($ID);
+
+			// Here we calculate the expiration length of the current auth cookie and compare it to the default expiration.
+			// If it's greater than this, then we know the user checked 'Remember Me' when they logged in.
+			$logged_in_cookie    = wp_parse_auth_cookie( '', 'logged_in' );
+			/** This filter is documented in wp-includes/pluggable.php */
+			$default_cookie_life = apply_filters( 'auth_cookie_expiration', ( 2 * DAY_IN_SECONDS ), $ID, false );
+			$remember            = ( ( $logged_in_cookie['expiration'] - time() ) > $default_cookie_life );
+
+			wp_set_auth_cookie( $ID, $remember );
 		}
 	}
 
@@ -1933,7 +2049,7 @@ function check_password_reset_key($key, $login) {
 		return new WP_Error('invalid_key', __('Invalid key'));
 
 	if ( empty( $wp_hasher ) ) {
-		require_once ABSPATH . 'wp-includes/class-phpass.php';
+		require_once ABSPATH . WPINC . '/class-phpass.php';
 		$wp_hasher = new PasswordHash( 8, true );
 	}
 
@@ -2070,3 +2186,62 @@ function register_new_user( $user_login, $user_email ) {
 
 	return $user_id;
 }
+
+/**
+ * Retrieve the current session token from the logged_in cookie.
+ *
+ * @since 4.0.0
+ *
+ * @return string Token.
+ */
+function wp_get_session_token() {
+	$cookie = wp_parse_auth_cookie( '', 'logged_in' );
+	return ! empty( $cookie['token'] ) ? $cookie['token'] : '';
+}
+
+/**
+ * Retrieve a list of sessions for the current user.
+ *
+ * @since 4.0.0
+ * @return array Array of sessions.
+ */
+function wp_get_all_sessions() {
+	$manager = WP_Session_Tokens::get_instance( get_current_user_id() );
+	return $manager->get_all();
+}
+
+/**
+ * Remove the current session token from the database.
+ *
+ * @since 4.0.0
+ */
+function wp_destroy_current_session() {
+	$token = wp_get_session_token();
+	if ( $token ) {
+		$manager = WP_Session_Tokens::get_instance( get_current_user_id() );
+		$manager->destroy( $token );
+	}
+}
+
+/**
+ * Remove all but the current session token for the current user for the database.
+ *
+ * @since 4.0.0
+ */
+function wp_destroy_other_sessions() {
+	$token = wp_get_session_token();
+	if ( $token ) {
+		$manager = WP_Session_Tokens::get_instance( get_current_user_id() );
+		$manager->destroy_others( $token );
+	}
+}
+
+/**
+ * Remove all session tokens for the current user from the database.
+ *
+ * @since 4.0.0
+ */
+function wp_destroy_all_sessions() {
+	$manager = WP_Session_Tokens::get_instance( get_current_user_id() );
+	$manager->destroy_all();
+}
diff --git a/wp-includes/version.php b/wp-includes/version.php
index 17a1b0ad5..55c6b4c81 100644
--- a/wp-includes/version.php
+++ b/wp-includes/version.php
@@ -4,21 +4,21 @@
  *
  * @global string $wp_version
  */
-$wp_version = '3.9.2';
+$wp_version = '4.0';
 
 /**
  * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
  *
  * @global int $wp_db_version
  */
-$wp_db_version = 27916;
+$wp_db_version = 29630;
 
 /**
  * Holds the TinyMCE version
  *
  * @global string $tinymce_version
  */
-$tinymce_version = '4021-20140423';
+$tinymce_version = '4104-20140822';
 
 /**
  * Holds the required PHP version
diff --git a/wp-includes/widgets.php b/wp-includes/widgets.php
index 97c875e7c..94220a26b 100644
--- a/wp-includes/widgets.php
+++ b/wp-includes/widgets.php
@@ -23,14 +23,14 @@
  */
 class WP_Widget {
 
-	var $id_base;			// Root id for all widgets of this type.
-	var $name;				// Name for this widget type.
-	var $widget_options;	// Option array passed to wp_register_sidebar_widget()
-	var $control_options;	// Option array passed to wp_register_widget_control()
+	public $id_base;			// Root id for all widgets of this type.
+	public $name;				// Name for this widget type.
+	public $widget_options;	// Option array passed to wp_register_sidebar_widget()
+	public $control_options;	// Option array passed to wp_register_widget_control()
 
-	var $number = false;	// Unique ID number of the current instance.
-	var $id = false;		// Unique ID string of the current instance (id_base-number)
-	var $updated = false;	// Set true when we update the data after a POST submit - makes sure we don't do it twice.
+	public $number = false;	// Unique ID number of the current instance.
+	public $id = false;		// Unique ID string of the current instance (id_base-number)
+	public $updated = false;	// Set true when we update the data after a POST submit - makes sure we don't do it twice.
 
 	// Member functions that you must over-ride.
 
@@ -41,7 +41,7 @@ class WP_Widget {
 	 * @param array $args Display arguments including before_title, after_title, before_widget, and after_widget.
 	 * @param array $instance The settings for the particular instance of the widget
 	 */
-	function widget($args, $instance) {
+	public function widget($args, $instance) {
 		die('function WP_Widget::widget() must be over-ridden in a sub-class.');
 	}
 
@@ -55,7 +55,7 @@ class WP_Widget {
 	 * @param array $old_instance Old settings for this instance
 	 * @return array Settings to save or bool false to cancel saving
 	 */
-	function update($new_instance, $old_instance) {
+	public function update($new_instance, $old_instance) {
 		return $new_instance;
 	}
 
@@ -63,7 +63,7 @@ class WP_Widget {
 	 *
 	 * @param array $instance Current settings
 	 */
-	function form($instance) {
+	public function form($instance) {
 		echo '<p class="no-options-widget">' . __('There are no options for this widget.') . '</p>';
 		return 'noform';
 	}
@@ -83,7 +83,7 @@ class WP_Widget {
 	 *	 - width: required if more than 250px
 	 *	 - height: currently not used but may be needed in the future
 	 */
-	function __construct( $id_base, $name, $widget_options = array(), $control_options = array() ) {
+	public function __construct( $id_base, $name, $widget_options = array(), $control_options = array() ) {
 		$this->id_base = empty($id_base) ? preg_replace( '/(wp_)?widget_/', '', strtolower(get_class($this)) ) : strtolower($id_base);
 		$this->name = $name;
 		$this->option_name = 'widget_' . $this->id_base;
@@ -94,7 +94,7 @@ class WP_Widget {
 	/**
 	 * PHP4 constructor
 	 */
-	function WP_Widget( $id_base, $name, $widget_options = array(), $control_options = array() ) {
+	public function WP_Widget( $id_base, $name, $widget_options = array(), $control_options = array() ) {
 		WP_Widget::__construct( $id_base, $name, $widget_options, $control_options );
 	}
 
@@ -106,7 +106,7 @@ class WP_Widget {
 	 * @param string $field_name Field name
 	 * @return string Name attribute for $field_name
 	 */
-	function get_field_name($field_name) {
+	public function get_field_name($field_name) {
 		return 'widget-' . $this->id_base . '[' . $this->number . '][' . $field_name . ']';
 	}
 
@@ -118,13 +118,13 @@ class WP_Widget {
 	 * @param string $field_name Field name
 	 * @return string ID attribute for $field_name
 	 */
-	function get_field_id($field_name) {
+	public function get_field_id($field_name) {
 		return 'widget-' . $this->id_base . '-' . $this->number . '-' . $field_name;
 	}
 
 	// Private Functions. Don't worry about these.
 
-	function _register() {
+	public function _register() {
 		$settings = $this->get_settings();
 		$empty = true;
 
@@ -146,20 +146,20 @@ class WP_Widget {
 		}
 	}
 
-	function _set($number) {
+	public function _set($number) {
 		$this->number = $number;
 		$this->id = $this->id_base . '-' . $number;
 	}
 
-	function _get_display_callback() {
+	public function _get_display_callback() {
 		return array($this, 'display_callback');
 	}
 
-	function _get_update_callback() {
+	public function _get_update_callback() {
 		return array($this, 'update_callback');
 	}
 
-	function _get_form_callback() {
+	public function _get_form_callback() {
 		return array($this, 'form_callback');
 	}
 
@@ -173,7 +173,7 @@ class WP_Widget {
 	 *
 	 * @return bool True if Customizer is on, false if not.
 	 */
-	function is_preview() {
+	public function is_preview() {
 		global $wp_customize;
 		return ( isset( $wp_customize ) && $wp_customize->is_preview() ) ;
 	}
@@ -181,7 +181,7 @@ class WP_Widget {
 	/** Generate the actual widget content.
 	 *	Just finds the instance and calls widget().
 	 *	Do NOT over-ride this function. */
-	function display_callback( $args, $widget_args = 1 ) {
+	public function display_callback( $args, $widget_args = 1 ) {
 		if ( is_numeric($widget_args) )
 			$widget_args = array( 'number' => $widget_args );
 
@@ -229,7 +229,7 @@ class WP_Widget {
 	 *
 	 * @param mixed $deprecated Not used.
 	 */
-	function update_callback( $deprecated = 1 ) {
+	public function update_callback( $deprecated = 1 ) {
 		global $wp_registered_widgets;
 
 		$all_instances = $this->get_settings();
@@ -238,8 +238,6 @@ class WP_Widget {
 		if ( $this->updated )
 			return;
 
-		$sidebars_widgets = wp_get_sidebars_widgets();
-
 		if ( isset($_POST['delete_widget']) && $_POST['delete_widget'] ) {
 			// Delete the settings for this instance of the widget
 			if ( isset($_POST['the-widget-id']) )
@@ -311,7 +309,7 @@ class WP_Widget {
 	 *
 	 * Do NOT over-ride this function.
 	 */
-	function form_callback( $widget_args = 1 ) {
+	public function form_callback( $widget_args = 1 ) {
 		if ( is_numeric($widget_args) )
 			$widget_args = array( 'number' => $widget_args );
 
@@ -365,18 +363,18 @@ class WP_Widget {
 	}
 
 	/** Helper function: Registers a single instance. */
-	function _register_one($number = -1) {
+	public function _register_one($number = -1) {
 		wp_register_sidebar_widget(	$this->id, $this->name,	$this->_get_display_callback(), $this->widget_options, array( 'number' => $number ) );
 		_register_widget_update_callback( $this->id_base, $this->_get_update_callback(), $this->control_options, array( 'number' => -1 ) );
 		_register_widget_form_callback(	$this->id, $this->name,	$this->_get_form_callback(), $this->control_options, array( 'number' => $number ) );
 	}
 
-	function save_settings($settings) {
+	public function save_settings($settings) {
 		$settings['_multiwidget'] = 1;
 		update_option( $this->option_name, $settings );
 	}
 
-	function get_settings() {
+	public function get_settings() {
 		$settings = get_option($this->option_name);
 
 		if ( false === $settings && isset($this->alt_option_name) )
@@ -403,22 +401,22 @@ class WP_Widget {
  * @since 2.8.0
  */
 class WP_Widget_Factory {
-	var $widgets = array();
+	public $widgets = array();
 
-	function WP_Widget_Factory() {
+	public function WP_Widget_Factory() {
 		add_action( 'widgets_init', array( $this, '_register_widgets' ), 100 );
 	}
 
-	function register($widget_class) {
+	public function register($widget_class) {
 		$this->widgets[$widget_class] = new $widget_class();
 	}
 
-	function unregister($widget_class) {
+	public function unregister($widget_class) {
 		if ( isset($this->widgets[$widget_class]) )
 			unset($this->widgets[$widget_class]);
 	}
 
-	function _register_widgets() {
+	public function _register_widgets() {
 		global $wp_registered_widgets;
 		$keys = array_keys($this->widgets);
 		$registered = array_keys($wp_registered_widgets);
@@ -691,9 +689,9 @@ function unregister_sidebar( $name ) {
 /**
  * Register widget for use in sidebars.
  *
- * The default widget option is 'classname' that can be override.
+ * The default widget option is 'classname' that can be overridden.
  *
- * The function can also be used to unregister widgets when $output_callback
+ * The function can also be used to un-register widgets when $output_callback
  * parameter is an empty string.
  *
  * @since 2.2.0
@@ -1144,8 +1142,9 @@ function is_active_widget($callback = false, $widget_id = false, $id_base = fals
 
 	if ( is_array($sidebars_widgets) ) {
 		foreach ( $sidebars_widgets as $sidebar => $widgets ) {
-			if ( $skip_inactive && 'wp_inactive_widgets' == $sidebar )
+			if ( $skip_inactive && ( 'wp_inactive_widgets' === $sidebar || 'orphaned_widgets' === substr( $sidebar, 0, 16 ) ) ) {
 				continue;
+			}
 
 			if ( is_array($widgets) ) {
 				foreach ( $widgets as $widget ) {
@@ -1426,8 +1425,9 @@ function retrieve_widgets( $theme_changed = false ) {
 		}
 
 		foreach ( $_sidebars_widgets as $sidebar => $widgets ) {
-			if ( 'wp_inactive_widgets' == $sidebar || 'orphaned_widgets' == substr( $sidebar, 0, 16 ) )
+			if ( 'wp_inactive_widgets' === $sidebar || 'orphaned_widgets' === substr( $sidebar, 0, 16 ) ) {
 				continue;
+			}
 
 			if ( !in_array( $sidebar, $registered_sidebar_keys ) ) {
 				$_sidebars_widgets['orphaned_widgets_' . ++$orphaned] = $widgets;
diff --git a/wp-includes/wp-db.php b/wp-includes/wp-db.php
index c72a644c4..f30ad7914 100644
--- a/wp-includes/wp-db.php
+++ b/wp-includes/wp-db.php
@@ -52,7 +52,10 @@ define( 'ARRAY_N', 'ARRAY_N' );
 class wpdb {
 
 	/**
-	 * Whether to show SQL/DB errors
+	 * Whether to show SQL/DB errors.
+	 *
+	 * Default behavior is to show errors if both WP_DEBUG and WP_DEBUG_DISPLAY
+	 * evaluated to true.
 	 *
 	 * @since 0.71
 	 * @access private
@@ -75,7 +78,7 @@ class wpdb {
 	 * @since 2.5.0
 	 * @var string
 	 */
-	var $last_error = '';
+	public $last_error = '';
 
 	/**
 	 * Amount of queries made
@@ -206,7 +209,7 @@ class wpdb {
 	 * @access public
 	 * @var int
 	 */
-	var $blogid = 0;
+	public $blogid = 0;
 
 	/**
 	 * {@internal Missing Description}}
@@ -215,7 +218,7 @@ class wpdb {
 	 * @access public
 	 * @var int
 	 */
-	var $siteid = 0;
+	public $siteid = 0;
 
 	/**
 	 * List of WordPress per-blog tables
@@ -268,7 +271,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $comments;
+	public $comments;
 
 	/**
 	 * WordPress Comment Metadata table
@@ -277,7 +280,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $commentmeta;
+	public $commentmeta;
 
 	/**
 	 * WordPress Links table
@@ -286,7 +289,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $links;
+	public $links;
 
 	/**
 	 * WordPress Options table
@@ -295,7 +298,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $options;
+	public $options;
 
 	/**
 	 * WordPress Post Metadata table
@@ -304,7 +307,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $postmeta;
+	public $postmeta;
 
 	/**
 	 * WordPress Posts table
@@ -313,7 +316,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $posts;
+	public $posts;
 
 	/**
 	 * WordPress Terms table
@@ -322,7 +325,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $terms;
+	public $terms;
 
 	/**
 	 * WordPress Term Relationships table
@@ -331,7 +334,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $term_relationships;
+	public $term_relationships;
 
 	/**
 	 * WordPress Term Taxonomy table
@@ -340,7 +343,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $term_taxonomy;
+	public $term_taxonomy;
 
 	/*
 	 * Global and Multisite tables
@@ -353,7 +356,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $usermeta;
+	public $usermeta;
 
 	/**
 	 * WordPress Users table
@@ -362,7 +365,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $users;
+	public $users;
 
 	/**
 	 * Multisite Blogs table
@@ -371,7 +374,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $blogs;
+	public $blogs;
 
 	/**
 	 * Multisite Blog Versions table
@@ -380,7 +383,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $blog_versions;
+	public $blog_versions;
 
 	/**
 	 * Multisite Registration Log table
@@ -389,7 +392,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $registration_log;
+	public $registration_log;
 
 	/**
 	 * Multisite Signups table
@@ -398,7 +401,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $signups;
+	public $signups;
 
 	/**
 	 * Multisite Sites table
@@ -407,7 +410,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $site;
+	public $site;
 
 	/**
 	 * Multisite Sitewide Terms table
@@ -416,7 +419,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $sitecategories;
+	public $sitecategories;
 
 	/**
 	 * Multisite Site Metadata table
@@ -425,7 +428,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $sitemeta;
+	public $sitemeta;
 
 	/**
 	 * Format specifiers for DB columns. Columns not listed here default to %s. Initialized during WP load.
@@ -441,7 +444,7 @@ class wpdb {
 	 * @access public
 	 * @var array
 	 */
-	var $field_types = array();
+	public $field_types = array();
 
 	/**
 	 * Database table columns charset
@@ -450,7 +453,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $charset;
+	public $charset;
 
 	/**
 	 * Database table columns collate
@@ -459,7 +462,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $collate;
+	public $collate;
 
 	/**
 	 * Database Username
@@ -513,7 +516,7 @@ class wpdb {
 	 * @access public
 	 * @var string
 	 */
-	var $func_call;
+	public $func_call;
 
 	/**
 	 * Whether MySQL is used as the database engine.
@@ -572,7 +575,7 @@ class wpdb {
 	 * @param string $dbname MySQL database name
 	 * @param string $dbhost MySQL database host
 	 */
-	function __construct( $dbuser, $dbpassword, $dbname, $dbhost ) {
+	public function __construct( $dbuser, $dbpassword, $dbname, $dbhost ) {
 		register_shutdown_function( array( $this, '__destruct' ) );
 
 		if ( WP_DEBUG && WP_DEBUG_DISPLAY )
@@ -601,6 +604,11 @@ class wpdb {
 		$this->dbname = $dbname;
 		$this->dbhost = $dbhost;
 
+		// wp-config.php creation will manually connect when ready.
+		if ( defined( 'WP_SETUP_CONFIG' ) ) {
+			return;
+		}
+
 		$this->db_connect();
 	}
 
@@ -611,7 +619,7 @@ class wpdb {
 	 * @since 2.0.8
 	 * @return bool true
 	 */
-	function __destruct() {
+	public function __destruct() {
 		return true;
 	}
 
@@ -623,7 +631,7 @@ class wpdb {
 	 * @param string $name The private member to get, and optionally process
 	 * @return mixed The private member
 	 */
-	function __get( $name ) {
+	public function __get( $name ) {
 		if ( 'col_info' == $name )
 			$this->load_col_info();
 
@@ -631,19 +639,19 @@ class wpdb {
 	}
 
 	/**
-	 * Magic function, for backwards compatibility
+	 * Magic function, for backwards compatibility.
 	 *
 	 * @since 3.5.0
 	 *
 	 * @param string $name  The private member to set
 	 * @param mixed  $value The value to set
 	 */
-	function __set( $name, $value ) {
+	public function __set( $name, $value ) {
 		$this->$name = $value;
 	}
 
 	/**
-	 * Magic function, for backwards compatibility
+	 * Magic function, for backwards compatibility.
 	 *
 	 * @since 3.5.0
 	 *
@@ -651,18 +659,18 @@ class wpdb {
 	 *
 	 * @return bool If the member is set or not
 	 */
-	function __isset( $name ) {
+	public function __isset( $name ) {
 		return isset( $this->$name );
 	}
 
 	/**
-	 * Magic function, for backwards compatibility
+	 * Magic function, for backwards compatibility.
 	 *
 	 * @since 3.5.0
 	 *
 	 * @param string $name  The private member to unset
 	 */
-	function __unset( $name ) {
+	public function __unset( $name ) {
 		unset( $this->$name );
 	}
 
@@ -671,7 +679,7 @@ class wpdb {
 	 *
 	 * @since 3.1.0
 	 */
-	function init_charset() {
+	public function init_charset() {
 		if ( function_exists('is_multisite') && is_multisite() ) {
 			$this->charset = 'utf8';
 			if ( defined( 'DB_COLLATE' ) && DB_COLLATE )
@@ -695,7 +703,7 @@ class wpdb {
 	 * @param string   $charset The character set (optional)
 	 * @param string   $collate The collation (optional)
 	 */
-	function set_charset( $dbh, $charset = null, $collate = null ) {
+	public function set_charset( $dbh, $charset = null, $collate = null ) {
 		if ( ! isset( $charset ) )
 			$charset = $this->charset;
 		if ( ! isset( $collate ) )
@@ -733,7 +741,7 @@ class wpdb {
 	 *
 	 * @param array $modes Optional. A list of SQL modes to set.
 	 */
-	function set_sql_mode( $modes = array() ) {
+	public function set_sql_mode( $modes = array() ) {
 		if ( empty( $modes ) ) {
 			if ( $this->use_mysqli ) {
 				$res = mysqli_query( $this->dbh, 'SELECT @@SESSION.sql_mode' );
@@ -799,7 +807,7 @@ class wpdb {
 	 * @param bool $set_table_names Optional. Whether the table names, e.g. wpdb::$posts, should be updated or not.
 	 * @return string|WP_Error Old prefix or WP_Error on error
 	 */
-	function set_prefix( $prefix, $set_table_names = true ) {
+	public function set_prefix( $prefix, $set_table_names = true ) {
 
 		if ( preg_match( '|[^a-z0-9_]|i', $prefix ) )
 			return new WP_Error('invalid_db_prefix', 'Invalid database prefix' );
@@ -838,7 +846,7 @@ class wpdb {
 	 * @param int $site_id Optional.
 	 * @return string previous blog id
 	 */
-	function set_blog_id( $blog_id, $site_id = 0 ) {
+	public function set_blog_id( $blog_id, $site_id = 0 ) {
 		if ( ! empty( $site_id ) )
 			$this->siteid = $site_id;
 
@@ -864,7 +872,7 @@ class wpdb {
 	 * @param int $blog_id Optional.
 	 * @return string Blog prefix.
 	 */
-	function get_blog_prefix( $blog_id = null ) {
+	public function get_blog_prefix( $blog_id = null ) {
 		if ( is_multisite() ) {
 			if ( null === $blog_id )
 				$blog_id = $this->blogid;
@@ -906,7 +914,7 @@ class wpdb {
 	 * @param int $blog_id Optional. The blog_id to prefix. Defaults to wpdb::$blogid. Used only when prefix is requested.
 	 * @return array Table names. When a prefix is requested, the key is the unprefixed table name.
 	 */
-	function tables( $scope = 'all', $prefix = true, $blog_id = 0 ) {
+	public function tables( $scope = 'all', $prefix = true, $blog_id = 0 ) {
 		switch ( $scope ) {
 			case 'all' :
 				$tables = array_merge( $this->global_tables, $this->tables );
@@ -929,7 +937,6 @@ class wpdb {
 				break;
 			default :
 				return array();
-				break;
 		}
 
 		if ( $prefix ) {
@@ -968,7 +975,7 @@ class wpdb {
 	 * @param resource $dbh Optional link identifier.
 	 * @return null Always null.
 	 */
-	function select( $db, $dbh = null ) {
+	public function select( $db, $dbh = null ) {
 		if ( is_null($dbh) )
 			$dbh = $this->dbh;
 
@@ -1077,7 +1084,7 @@ class wpdb {
 	 * @param mixed $data
 	 * @return mixed
 	 */
-	function escape( $data ) {
+	public function escape( $data ) {
 		if ( func_num_args() === 1 && function_exists( '_deprecated_function' ) )
 			_deprecated_function( __METHOD__, '3.6', 'wpdb::prepare() or esc_sql()' );
 		if ( is_array( $data ) ) {
@@ -1102,7 +1109,7 @@ class wpdb {
 	 * @param string $string to escape
 	 * @return void
 	 */
-	function escape_by_ref( &$string ) {
+	public function escape_by_ref( &$string ) {
 		if ( ! is_float( $string ) )
 			$string = $this->_real_escape( $string );
 	}
@@ -1144,7 +1151,7 @@ class wpdb {
 	 * @return null|false|string Sanitized query string, null if there is no query, false if there is an error and string
 	 * 	if there was something to prepare
 	 */
-	function prepare( $query, $args ) {
+	public function prepare( $query, $args ) {
 		if ( is_null( $query ) )
 			return;
 
@@ -1166,6 +1173,32 @@ class wpdb {
 		return @vsprintf( $query, $args );
 	}
 
+	/**
+	 * First half of escaping for LIKE special characters % and _ before preparing for MySQL.
+	 *
+	 * Use this only before wpdb::prepare() or esc_sql().  Reversing the order is very bad for security.
+	 *
+	 * Example Prepared Statement:
+	 *  $wild = '%';
+	 *  $find = 'only 43% of planets';
+	 *  $like = $wild . $wpdb->esc_like( $find ) . $wild;
+	 *  $sql  = $wpdb->prepare( "SELECT * FROM $wpdb->posts WHERE post_content LIKE %s", $like );
+	 *
+	 * Example Escape Chain:
+	 *  $sql  = esc_sql( $wpdb->esc_like( $input ) );
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $text The raw text to be escaped. The input typed by the user should have no
+	 *                     extra or deleted slashes.
+	 * @return string Text in the form of a LIKE phrase. The output is not SQL safe. Call $wpdb::prepare()
+	 *                or real_escape next.
+	 */
+	public function esc_like( $text ) {
+		return addcslashes( $text, '_%\\' );
+	}
+
 	/**
 	 * Print SQL/DB error.
 	 *
@@ -1175,7 +1208,7 @@ class wpdb {
 	 * @param string $str The error to display
 	 * @return bool False if the showing of errors is disabled.
 	 */
-	function print_error( $str = '' ) {
+	public function print_error( $str = '' ) {
 		global $EZSQL_ERROR;
 
 		if ( !$str ) {
@@ -1235,7 +1268,7 @@ class wpdb {
 	 * @param bool $show Whether to show or hide errors
 	 * @return bool Old value for showing errors.
 	 */
-	function show_errors( $show = true ) {
+	public function show_errors( $show = true ) {
 		$errors = $this->show_errors;
 		$this->show_errors = $show;
 		return $errors;
@@ -1251,7 +1284,7 @@ class wpdb {
 	 *
 	 * @return bool Whether showing of errors was active
 	 */
-	function hide_errors() {
+	public function hide_errors() {
 		$show = $this->show_errors;
 		$this->show_errors = false;
 		return $show;
@@ -1268,7 +1301,7 @@ class wpdb {
 	 * @param bool $suppress Optional. New value. Defaults to true.
 	 * @return bool Old value
 	 */
-	function suppress_errors( $suppress = true ) {
+	public function suppress_errors( $suppress = true ) {
 		$errors = $this->suppress_errors;
 		$this->suppress_errors = (bool) $suppress;
 		return $errors;
@@ -1280,7 +1313,7 @@ class wpdb {
 	 * @since 0.71
 	 * @return void
 	 */
-	function flush() {
+	public function flush() {
 		$this->last_result = array();
 		$this->col_info    = null;
 		$this->last_query  = null;
@@ -1308,10 +1341,14 @@ class wpdb {
 	 * @param bool $allow_bail Optional. Allows the function to bail. Default true.
 	 * @return bool True with a successful connection, false on failure.
 	 */
-	function db_connect( $allow_bail = true ) {
+	public function db_connect( $allow_bail = true ) {
 
 		$this->is_mysql = true;
 
+		/*
+		 * Deprecated in 3.9+ when using MySQLi. No equivalent
+		 * $new_link parameter exists for mysqli_* functions.
+		 */
 		$new_link = defined( 'MYSQL_NEW_LINK' ) ? MYSQL_NEW_LINK : true;
 		$client_flags = defined( 'MYSQL_CLIENT_FLAGS' ) ? MYSQL_CLIENT_FLAGS : 0;
 
@@ -1423,7 +1460,7 @@ class wpdb {
 	 * @param bool $allow_bail Optional. Allows the function to bail. Default true.
 	 * @return bool True if the connection is up.
 	 */
-	function check_connection( $allow_bail = true ) {
+	public function check_connection( $allow_bail = true ) {
 		if ( $this->use_mysqli ) {
 			if ( @mysqli_ping( $this->dbh ) ) {
 				return true;
@@ -1495,7 +1532,7 @@ class wpdb {
 	 * @param string $query Database query
 	 * @return int|false Number of rows affected/selected or false on error
 	 */
-	function query( $query ) {
+	public function query( $query ) {
 		if ( ! $this->ready )
 			return false;
 
@@ -1511,7 +1548,6 @@ class wpdb {
 		 */
 		$query = apply_filters( 'query', $query );
 
-		$return_val = 0;
 		$this->flush();
 
 		// Log how the function was called
@@ -1644,7 +1680,7 @@ class wpdb {
 	 * 	A format is one of '%d', '%f', '%s' (integer, float, string). If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.
 	 * @return int|false The number of rows inserted, or false on error.
 	 */
-	function insert( $table, $data, $format = null ) {
+	public function insert( $table, $data, $format = null ) {
 		return $this->_insert_replace_helper( $table, $data, $format, 'INSERT' );
 	}
 
@@ -1667,7 +1703,7 @@ class wpdb {
 	 * 	A format is one of '%d', '%f', '%s' (integer, float, string). If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.
 	 * @return int|false The number of rows affected, or false on error.
 	 */
-	function replace( $table, $data, $format = null ) {
+	public function replace( $table, $data, $format = null ) {
 		return $this->_insert_replace_helper( $table, $data, $format, 'REPLACE' );
 	}
 
@@ -1730,7 +1766,7 @@ class wpdb {
 	 * @param array|string $where_format Optional. An array of formats to be mapped to each of the values in $where. If string, that format will be used for all of the items in $where. A format is one of '%d', '%f', '%s' (integer, float, string). If omitted, all values in $where will be treated as strings.
 	 * @return int|false The number of rows updated, or false on error.
 	 */
-	function update( $table, $data, $where, $format = null, $where_format = null ) {
+	public function update( $table, $data, $where, $format = null, $where_format = null ) {
 		if ( ! is_array( $data ) || ! is_array( $where ) )
 			return false;
 
@@ -1779,11 +1815,11 @@ class wpdb {
 	 * @param array|string $where_format Optional. An array of formats to be mapped to each of the values in $where. If string, that format will be used for all of the items in $where. A format is one of '%d', '%f', '%s' (integer, float, string). If omitted, all values in $where will be treated as strings unless otherwise specified in wpdb::$field_types.
 	 * @return int|false The number of rows updated, or false on error.
 	 */
-	function delete( $table, $where, $where_format = null ) {
+	public function delete( $table, $where, $where_format = null ) {
 		if ( ! is_array( $where ) )
 			return false;
 
-		$bits = $wheres = array();
+		$wheres = array();
 
 		$where_formats = $where_format = (array) $where_format;
 
@@ -1818,7 +1854,7 @@ class wpdb {
 	 * @param int $y Optional. Row of value to return. Indexed from 0.
 	 * @return string|null Database query result (as string), or null on failure
 	 */
-	function get_var( $query = null, $x = 0, $y = 0 ) {
+	public function get_var( $query = null, $x = 0, $y = 0 ) {
 		$this->func_call = "\$db->get_var(\"$query\", $x, $y)";
 		if ( $query )
 			$this->query( $query );
@@ -1845,7 +1881,7 @@ class wpdb {
 	 * @param int $y Optional. Row to return. Indexed from 0.
 	 * @return mixed Database query result in format specified by $output or null on failure
 	 */
-	function get_row( $query = null, $output = OBJECT, $y = 0 ) {
+	public function get_row( $query = null, $output = OBJECT, $y = 0 ) {
 		$this->func_call = "\$db->get_row(\"$query\",$output,$y)";
 		if ( $query )
 			$this->query( $query );
@@ -1882,7 +1918,7 @@ class wpdb {
 	 * @param int $x Optional. Column to return. Indexed from 0.
 	 * @return array Database query result. Array indexed from 0 by SQL result row number.
 	 */
-	function get_col( $query = null , $x = 0 ) {
+	public function get_col( $query = null , $x = 0 ) {
 		if ( $query )
 			$this->query( $query );
 
@@ -1907,7 +1943,7 @@ class wpdb {
 	 * 	With OBJECT_K, return an associative array of row objects keyed by the value of each row's first column's value. Duplicate keys are discarded.
 	 * @return mixed Database query results
 	 */
-	function get_results( $query = null, $output = OBJECT ) {
+	public function get_results( $query = null, $output = OBJECT ) {
 		$this->func_call = "\$db->get_results(\"$query\", $output)";
 
 		if ( $query )
@@ -1981,7 +2017,7 @@ class wpdb {
 	 * @param int $col_offset Optional. 0: col name. 1: which table the col's in. 2: col's max length. 3: if the col is numeric. 4: col's type
 	 * @return mixed Column Results
 	 */
-	function get_col_info( $info_type = 'name', $col_offset = -1 ) {
+	public function get_col_info( $info_type = 'name', $col_offset = -1 ) {
 		$this->load_col_info();
 
 		if ( $this->col_info ) {
@@ -2006,7 +2042,7 @@ class wpdb {
 	 *
 	 * @return true
 	 */
-	function timer_start() {
+	public function timer_start() {
 		$this->time_start = microtime( true );
 		return true;
 	}
@@ -2018,7 +2054,7 @@ class wpdb {
 	 *
 	 * @return float Total time spent on the query, in seconds
 	 */
-	function timer_stop() {
+	public function timer_stop() {
 		return ( microtime( true ) - $this->time_start );
 	}
 
@@ -2033,7 +2069,7 @@ class wpdb {
 	 * @param string $error_code Optional. A Computer readable string to identify the error.
 	 * @return false|void
 	 */
-	function bail( $message, $error_code = '500' ) {
+	public function bail( $message, $error_code = '500' ) {
 		if ( !$this->show_errors ) {
 			if ( class_exists( 'WP_Error' ) )
 				$this->error = new WP_Error($error_code, $message);
@@ -2053,7 +2089,7 @@ class wpdb {
 	 *
 	 * @return WP_Error
 	 */
-	function check_database_version() {
+	public function check_database_version() {
 		global $wp_version, $required_mysql_version;
 		// Make sure the server has the required MySQL version
 		if ( version_compare($this->db_version(), $required_mysql_version, '<') )
@@ -2071,7 +2107,7 @@ class wpdb {
 	 *
 	 * @return bool True if collation is supported, false if version does not
 	 */
-	function supports_collation() {
+	public function supports_collation() {
 		_deprecated_function( __FUNCTION__, '3.5', 'wpdb::has_cap( \'collation\' )' );
 		return $this->has_cap( 'collation' );
 	}
@@ -2103,7 +2139,7 @@ class wpdb {
 	 * @param string $db_cap The feature to check for.
 	 * @return bool
 	 */
-	function has_cap( $db_cap ) {
+	public function has_cap( $db_cap ) {
 		$version = $this->db_version();
 
 		switch ( strtolower( $db_cap ) ) {
@@ -2128,7 +2164,7 @@ class wpdb {
 	 *
 	 * @return string The name of the calling function
 	 */
-	function get_caller() {
+	public function get_caller() {
 		return wp_debug_backtrace_summary( __CLASS__ );
 	}
 
@@ -2139,7 +2175,7 @@ class wpdb {
 	 *
 	 * @return false|string false on failure, version number on success
 	 */
-	function db_version() {
+	public function db_version() {
 		if ( $this->use_mysqli ) {
 			$server_info = mysqli_get_server_info( $this->dbh );
 		} else {
diff --git a/wp-includes/wp-diff.php b/wp-includes/wp-diff.php
index dc335e30e..4901a4376 100644
--- a/wp-includes/wp-diff.php
+++ b/wp-includes/wp-diff.php
@@ -28,18 +28,18 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
 	/**
 	 * @see Text_Diff_Renderer::_leading_context_lines
 	 * @var int
-	 * @access protected
+	 * @access public
 	 * @since 2.6.0
 	 */
-	var $_leading_context_lines  = 10000;
+	public $_leading_context_lines  = 10000;
 
 	/**
 	 * @see Text_Diff_Renderer::_trailing_context_lines
 	 * @var int
-	 * @access protected
+	 * @access public
 	 * @since 2.6.0
 	 */
-	var $_trailing_context_lines = 10000;
+	public $_trailing_context_lines = 10000;
 
 	/**
 	 * {@internal Missing Description}}
@@ -48,7 +48,7 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
 	 * @access protected
 	 * @since 2.6.0
 	 */
-	var $_diff_threshold = 0.6;
+	protected $_diff_threshold = 0.6;
 
 	/**
 	 * Inline display helper object name.
@@ -57,7 +57,7 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
 	 * @access protected
 	 * @since 2.6.0
 	 */
-	var $inline_diff_renderer = 'WP_Text_Diff_Renderer_inline';
+	protected $inline_diff_renderer = 'WP_Text_Diff_Renderer_inline';
 
 	/**
 	 * Should we show the split view or not
@@ -66,7 +66,7 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
 	 * @access protected
 	 * @since 3.6.0
 	 */
-	var $_show_split_view = true;
+	protected $_show_split_view = true;
 
 	/**
 	 * Constructor - Call parent constructor with params array.
@@ -77,7 +77,7 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
 	 *
 	 * @param array $params
 	 */
-	function __construct( $params = array() ) {
+	public function __construct( $params = array() ) {
 		parent::__construct( $params );
 		if ( isset( $params[ 'show_split_view' ] ) )
 			$this->_show_split_view = $params[ 'show_split_view' ];
@@ -89,7 +89,7 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
 	 * @param string $header
 	 * @return string
 	 */
-	function _startBlock( $header ) {
+	public function _startBlock( $header ) {
 		return '';
 	}
 
@@ -99,7 +99,7 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
 	 * @param array $lines
 	 * @param string $prefix
 	 */
-	function _lines( $lines, $prefix=' ' ) {
+	public function _lines( $lines, $prefix=' ' ) {
 	}
 
 	/**
@@ -108,7 +108,7 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
 	 * @param string $line HTML-escape the value.
 	 * @return string
 	 */
-	function addedLine( $line ) {
+	public function addedLine( $line ) {
 		return "<td class='diff-addedline'>{$line}</td>";
 
 	}
@@ -119,7 +119,7 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
 	 * @param string $line HTML-escape the value.
 	 * @return string
 	 */
-	function deletedLine( $line ) {
+	public function deletedLine( $line ) {
 		return "<td class='diff-deletedline'>{$line}</td>";
 	}
 
@@ -129,7 +129,7 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
 	 * @param string $line HTML-escape the value.
 	 * @return string
 	 */
-	function contextLine( $line ) {
+	public function contextLine( $line ) {
 		return "<td class='diff-context'>{$line}</td>";
 	}
 
@@ -138,19 +138,19 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
 	 *
 	 * @return string
 	 */
-	function emptyLine() {
+	public function emptyLine() {
 		return '<td>&nbsp;</td>';
 	}
 
 	/**
 	 * @ignore
-	 * @access private
+	 * @access public
 	 *
 	 * @param array $lines
 	 * @param bool $encode
 	 * @return string
 	 */
-	function _added( $lines, $encode = true ) {
+	public function _added( $lines, $encode = true ) {
 		$r = '';
 		foreach ($lines as $line) {
 			if ( $encode )
@@ -166,13 +166,13 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
 
 	/**
 	 * @ignore
-	 * @access private
+	 * @access public
 	 *
 	 * @param array $lines
 	 * @param bool $encode
 	 * @return string
 	 */
-	function _deleted( $lines, $encode = true ) {
+	public function _deleted( $lines, $encode = true ) {
 		$r = '';
 		foreach ($lines as $line) {
 			if ( $encode )
@@ -189,13 +189,13 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
 
 	/**
 	 * @ignore
-	 * @access private
+	 * @access public
 	 *
 	 * @param array $lines
 	 * @param bool $encode
 	 * @return string
 	 */
-	function _context( $lines, $encode = true ) {
+	public function _context( $lines, $encode = true ) {
 		$r = '';
 		foreach ($lines as $line) {
 			if ( $encode )
@@ -215,14 +215,14 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
 	 * (TRAC style) sometimes these lines can actually be deleted or added rows.
 	 * We do additional processing to figure that out
 	 *
-	 * @access private
+	 * @access public
 	 * @since 2.6.0
 	 *
 	 * @param array $orig
 	 * @param array $final
 	 * @return string
 	 */
-	function _changed( $orig, $final ) {
+	public function _changed( $orig, $final ) {
 		$r = '';
 
 		// Does the aforementioned additional processing
@@ -313,7 +313,7 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
 	 * @param unknown_type $final
 	 * @return unknown
 	 */
-	function interleave_changed_lines( $orig, $final ) {
+	public function interleave_changed_lines( $orig, $final ) {
 
 		// Contains all pairwise string comparisons. Keys are such that this need only be a one dimensional array.
 		$matches = array();
@@ -402,7 +402,7 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
 	 * @param string $string2
 	 * @return int
 	 */
-	function compute_string_distance( $string1, $string2 ) {
+	public function compute_string_distance( $string1, $string2 ) {
 		// Vectors containing character frequency for all chars in each string
 		$chars1 = count_chars($string1);
 		$chars2 = count_chars($string2);
@@ -414,7 +414,7 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
 		if ( !$string1 )
 			return $difference;
 
-		// Return distance per charcter (of string1)
+		// Return distance per character (of string1).
 		return $difference / strlen($string1);
 	}
 
@@ -426,10 +426,75 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
 	 * @param int $b
 	 * @return int
 	 */
-	function difference( $a, $b ) {
+	public function difference( $a, $b ) {
 		return abs( $a - $b );
 	}
 
+	/**
+	 * Make private properties readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to get.
+	 * @return mixed Property.
+	 */
+	public function __get( $name ) {
+		return $this->$name;
+	}
+
+	/**
+	 * Make private properties settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name  Property to check if set.
+	 * @param mixed  $value Property value.
+	 * @return mixed Newly-set property.
+	 */
+	public function __set( $name, $value ) {
+		return $this->$name = $value;
+	}
+
+	/**
+	 * Make private properties checkable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to check if set.
+	 * @return bool Whether the property is set.
+	 */
+	public function __isset( $name ) {
+		return isset( $this->$name );
+	}
+
+	/**
+	 * Make private properties un-settable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param string $name Property to unset.
+	 */
+	public function __unset( $name ) {
+		unset( $this->$name );
+	}
+
+	/**
+	 * Make private/protected methods readable for backwards compatibility.
+	 *
+	 * @since 4.0.0
+	 * @access public
+	 *
+	 * @param callable $name      Method to call.
+	 * @param array    $arguments Arguments to pass when calling.
+	 * @return mixed|bool Return value of the callback, false otherwise.
+	 */
+	public function __call( $name, $arguments ) {
+		return call_user_func_array( array( $this, $name ), $arguments );
+	}
 }
 
 /**
@@ -448,7 +513,7 @@ class WP_Text_Diff_Renderer_inline extends Text_Diff_Renderer_inline {
 	 * @param string $newlineEscape
 	 * @return string
 	 */
-	function _splitOnWords($string, $newlineEscape = "\n") {
+	public function _splitOnWords($string, $newlineEscape = "\n") {
 		$string = str_replace("\0", '', $string);
 		$words  = preg_split( '/([^\w])/u', $string, -1, PREG_SPLIT_DELIM_CAPTURE );
 		$words  = str_replace( "\n", $newlineEscape, $words );
diff --git a/wp-load.php b/wp-load.php
index fb859533c..9021ceb74 100644
--- a/wp-load.php
+++ b/wp-load.php
@@ -38,12 +38,7 @@ if ( file_exists( ABSPATH . 'wp-config.php') ) {
 	// A config file doesn't exist
 
 	define( 'WPINC', 'wp-includes' );
-	define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
 	require_once( ABSPATH . WPINC . '/load.php' );
-	require_once( ABSPATH . WPINC . '/version.php' );
-
-	wp_check_php_mysql_versions();
-	wp_load_translations_early();
 
 	// Standardize $_SERVER variables across setups.
 	wp_fix_server_vars();
@@ -52,6 +47,22 @@ if ( file_exists( ABSPATH . 'wp-config.php') ) {
 
 	$path = wp_guess_url() . '/wp-admin/setup-config.php';
 
+	/*
+	 * We're going to redirect to setup-config.php. While this shouldn't result
+	 * in an infinite loop, that's a silly thing to assume, don't you think? If
+	 * we're traveling in circles, our last-ditch effort is "Need more help?"
+	 */
+	if ( false === strpos( $_SERVER['REQUEST_URI'], 'setup-config' ) ) {
+		header( 'Location: ' . $path );
+		exit;
+	}
+
+	define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
+	require_once( ABSPATH . WPINC . '/version.php' );
+
+	wp_check_php_mysql_versions();
+	wp_load_translations_early();
+
 	// Die with an error message
 	$die  = __( "There doesn't seem to be a <code>wp-config.php</code> file. I need this before we can get started." ) . '</p>';
 	$die .= '<p>' . __( "Need more help? <a href='http://codex.wordpress.org/Editing_wp-config.php'>We got it</a>." ) . '</p>';
diff --git a/wp-login.php b/wp-login.php
index 0197167f6..b9dbd61e5 100644
--- a/wp-login.php
+++ b/wp-login.php
@@ -25,10 +25,9 @@ if ( force_ssl_admin() && ! is_ssl() ) {
 /**
  * Output the login page header.
  *
- * @param string $title    Optional. WordPress Log In Page title to display in <title/> element. Default 'Log In'.
- * @param string $message  Optional. Message to display in header. Default empty.
- * @param string $wp_error Optional. The error to pass. Default empty.
- * @param WP_Error $wp_error Optional. WordPress Error Object
+ * @param string   $title    Optional. WordPress Log In Page title to display in <title> element. Default 'Log In'.
+ * @param string   $message  Optional. Message to display in header. Default empty.
+ * @param WP_Error $wp_error Optional. The error to pass. Default empty.
  */
 function login_header( $title = 'Log In', $message = '', $wp_error = '' ) {
 	global $error, $interim_login, $action;
@@ -70,9 +69,11 @@ function login_header( $title = 'Log In', $message = '', $wp_error = '' ) {
 
 	wp_admin_css( 'login', true );
 
-	// Remove all stored post data on logging out.
-	// This could be added by add_action('login_head'...) like wp_shake_js()
-	// but maybe better if it's not removable by plugins
+	/*
+	 * Remove all stored post data on logging out.
+	 * This could be added by add_action('login_head'...) like wp_shake_js(),
+	 * but maybe better if it's not removable by plugins
+	 */
 	if ( 'loggedout' == $wp_error->get_error_code() ) {
 		?>
 		<script>if("sessionStorage" in window){try{for(var key in sessionStorage){if(key.indexOf("wp-autosave-")!=-1){sessionStorage.removeItem(key)}}}catch(e){}};</script>
@@ -147,7 +148,7 @@ function login_header( $title = 'Log In', $message = '', $wp_error = '' ) {
 	</head>
 	<body class="login <?php echo esc_attr( implode( ' ', $classes ) ); ?>">
 	<div id="login">
-		<h1><a href="<?php echo esc_url( $login_header_url ); ?>" title="<?php echo esc_attr( $login_header_title ); ?>"><?php bloginfo( 'name' ); ?></a></h1>
+		<h1><a href="<?php echo esc_url( $login_header_url ); ?>" title="<?php echo esc_attr( $login_header_title ); ?>" tabindex="-1"><?php bloginfo( 'name' ); ?></a></h1>
 	<?php
 
 	unset( $login_header_url, $login_header_title );
@@ -173,12 +174,12 @@ function login_header( $title = 'Log In', $message = '', $wp_error = '' ) {
 		$errors = '';
 		$messages = '';
 		foreach ( $wp_error->get_error_codes() as $code ) {
-			$severity = $wp_error->get_error_data($code);
-			foreach ( $wp_error->get_error_messages($code) as $error ) {
+			$severity = $wp_error->get_error_data( $code );
+			foreach ( $wp_error->get_error_messages( $code ) as $error_message ) {
 				if ( 'message' == $severity )
-					$messages .= '	' . $error . "<br />\n";
+					$messages .= '	' . $error_message . "<br />\n";
 				else
-					$errors .= '	' . $error . "<br />\n";
+					$errors .= '	' . $error_message . "<br />\n";
 			}
 		}
 		if ( ! empty( $errors ) ) {
@@ -297,7 +298,7 @@ function retrieve_password() {
 		return $errors;
 	}
 
-	// redefining user_login ensures we return the right case in the email
+	// Redefining user_login ensures we return the right case in the email.
 	$user_login = $user_data->user_login;
 	$user_email = $user_data->user_email;
 
@@ -310,6 +311,7 @@ function retrieve_password() {
 	 * @param string $user_login The user login name.
 	 */
 	do_action( 'retreive_password', $user_login );
+
 	/**
 	 * Fires before a new password is retrieved.
 	 *
@@ -349,7 +351,7 @@ function retrieve_password() {
 
 	// Now insert the key, hashed, into the DB.
 	if ( empty( $wp_hasher ) ) {
-		require_once ABSPATH . 'wp-includes/class-phpass.php';
+		require_once ABSPATH . WPINC . '/class-phpass.php';
 		$wp_hasher = new PasswordHash( 8, true );
 	}
 	$hashed = $wp_hasher->HashPassword( $key );
@@ -365,8 +367,10 @@ function retrieve_password() {
 	if ( is_multisite() )
 		$blogname = $GLOBALS['current_site']->site_name;
 	else
-		// The blogname option is escaped with esc_html on the way into the database in sanitize_option
-		// we want to reverse this for the plain text arena of emails.
+		/*
+		 * The blogname option is escaped with esc_html on the way into the database
+		 * in sanitize_option we want to reverse this for the plain text arena of emails.
+		 */
 		$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
 
 	$title = sprintf( __('[%s] Password Reset'), $blogname );
@@ -423,9 +427,10 @@ if ( defined( 'RELOCATE' ) && RELOCATE ) { // Move flag is set
 }
 
 //Set a cookie now to see if they are supported by the browser.
-setcookie(TEST_COOKIE, 'WP Cookie check', 0, COOKIEPATH, COOKIE_DOMAIN);
+$secure = ( 'https' === parse_url( site_url(), PHP_URL_SCHEME ) && 'https' === parse_url( home_url(), PHP_URL_SCHEME ) );
+setcookie( TEST_COOKIE, 'WP Cookie check', 0, COOKIEPATH, COOKIE_DOMAIN, $secure );
 if ( SITECOOKIEPATH != COOKIEPATH )
-	setcookie(TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN);
+	setcookie( TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN, $secure );
 
 /**
  * Fires when the login form is initialized.
@@ -450,7 +455,7 @@ $interim_login = isset($_REQUEST['interim-login']);
 switch ($action) {
 
 case 'postpass' :
-	require_once ABSPATH . 'wp-includes/class-phpass.php';
+	require_once ABSPATH . WPINC . '/class-phpass.php';
 	$hasher = new PasswordHash( 8, true );
 
 	/**
@@ -464,13 +469,12 @@ case 'postpass' :
 	 * @param int $expires The expiry time, as passed to setcookie().
 	 */
 	$expire = apply_filters( 'post_password_expires', time() + 10 * DAY_IN_SECONDS );
-	setcookie( 'wp-postpass_' . COOKIEHASH, $hasher->HashPassword( wp_unslash( $_POST['post_password'] ) ), $expire, COOKIEPATH );
+	$secure = ( 'https' === parse_url( home_url(), PHP_URL_SCHEME ) );
+	setcookie( 'wp-postpass_' . COOKIEHASH, $hasher->HashPassword( wp_unslash( $_POST['post_password'] ) ), $expire, COOKIEPATH, COOKIE_DOMAIN, $secure );
 
 	wp_safe_redirect( wp_get_referer() );
 	exit();
 
-break;
-
 case 'logout' :
 	check_admin_referer('log-out');
 	wp_logout();
@@ -479,8 +483,6 @@ case 'logout' :
 	wp_safe_redirect( $redirect_to );
 	exit();
 
-break;
-
 case 'lostpassword' :
 case 'retrievepassword' :
 
@@ -523,7 +525,7 @@ case 'retrievepassword' :
 
 ?>
 
-<form name="lostpasswordform" id="lostpasswordform" action="<?php echo esc_url( site_url( 'wp-login.php?action=lostpassword', 'login_post' ) ); ?>" method="post">
+<form name="lostpasswordform" id="lostpasswordform" action="<?php echo esc_url( network_site_url( 'wp-login.php?action=lostpassword', 'login_post' ) ); ?>" method="post">
 	<p>
 		<label for="user_login" ><?php _e('Username or E-mail:') ?><br />
 		<input type="text" name="user_login" id="user_login" class="input" value="<?php echo esc_attr($user_login); ?>" size="20" /></label>
@@ -544,13 +546,8 @@ case 'retrievepassword' :
 <?php
 if ( get_option( 'users_can_register' ) ) :
 	$registration_url = sprintf( '<a href="%s">%s</a>', esc_url( wp_registration_url() ), __( 'Register' ) );
-	/**
-	 * Filter the registration URL below the login form.
-	 *
-	 * @since 1.5.0
-	 *
-	 * @param string $registration_url Registration URL.
-	 */
+
+	/** This filter is documented in wp-includes/general-template.php */
 	echo ' | ' . apply_filters( 'register', $registration_url );
 endif;
 ?>
@@ -616,7 +613,7 @@ case 'rp' :
 	login_header(__('Reset Password'), '<p class="message reset-pass">' . __('Enter your new password below.') . '</p>', $errors );
 
 ?>
-<form name="resetpassform" id="resetpassform" action="<?php echo esc_url( site_url( 'wp-login.php?action=resetpass', 'login_post' ) ); ?>" method="post" autocomplete="off">
+<form name="resetpassform" id="resetpassform" action="<?php echo esc_url( network_site_url( 'wp-login.php?action=resetpass', 'login_post' ) ); ?>" method="post" autocomplete="off">
 	<input type="hidden" id="user_login" value="<?php echo esc_attr( $rp_login ); ?>" autocomplete="off" />
 
 	<p>
@@ -651,7 +648,8 @@ case 'rp' :
 <?php
 if ( get_option( 'users_can_register' ) ) :
 	$registration_url = sprintf( '<a href="%s">%s</a>', esc_url( wp_registration_url() ), __( 'Register' ) );
-	/** This filter is documented in wp-login.php */
+
+	/** This filter is documented in wp-includes/general-template.php */
 	echo ' | ' . apply_filters( 'register', $registration_url );
 endif;
 ?>
@@ -663,7 +661,6 @@ break;
 
 case 'register' :
 	if ( is_multisite() ) {
-		$sign_up_url = network_site_url( 'wp-signup.php' );
 		/**
 		 * Filter the Multisite sign up URL.
 		 *
@@ -671,7 +668,7 @@ case 'register' :
 		 *
 		 * @param string $sign_up_url The sign up URL.
 		 */
-		wp_redirect( apply_filters( 'wp_signup_location', $sign_up_url ) );
+		wp_redirect( apply_filters( 'wp_signup_location', network_site_url( 'wp-signup.php' ) ) );
 		exit;
 	}
 
@@ -705,14 +702,14 @@ case 'register' :
 	login_header(__('Registration Form'), '<p class="message register">' . __('Register For This Site') . '</p>', $errors);
 ?>
 
-<form name="registerform" id="registerform" action="<?php echo esc_url( site_url('wp-login.php?action=register', 'login_post') ); ?>" method="post">
+<form name="registerform" id="registerform" action="<?php echo esc_url( site_url('wp-login.php?action=register', 'login_post') ); ?>" method="post" novalidate="novalidate">
 	<p>
 		<label for="user_login"><?php _e('Username') ?><br />
 		<input type="text" name="user_login" id="user_login" class="input" value="<?php echo esc_attr(wp_unslash($user_login)); ?>" size="20" /></label>
 	</p>
 	<p>
 		<label for="user_email"><?php _e('E-mail') ?><br />
-		<input type="text" name="user_email" id="user_email" class="input" value="<?php echo esc_attr(wp_unslash($user_email)); ?>" size="25" /></label>
+		<input type="email" name="user_email" id="user_email" class="input" value="<?php echo esc_attr( wp_unslash( $user_email ) ); ?>" size="25" /></label>
 	</p>
 	<?php
 	/**
@@ -766,12 +763,6 @@ default:
 
 	$reauth = empty($_REQUEST['reauth']) ? false : true;
 
-	// If the user was redirected to a secure login form from a non-secure admin page, and secure login is required but secure admin is not, then don't use a secure
-	// cookie and redirect back to the referring non-secure admin page. This allows logins to always be POSTed over SSL while allowing the user to choose visiting
-	// the admin via http or https.
-	if ( !$secure_cookie && is_ssl() && force_ssl_login() && !force_ssl_admin() && ( 0 !== strpos($redirect_to, 'https') ) && ( 0 === strpos($redirect_to, 'http') ) )
-		$secure_cookie = false;
-
 	$user = wp_signon( '', $secure_cookie );
 
 	if ( empty( $_COOKIE[ LOGGED_IN_COOKIE ] ) ) {
@@ -847,7 +838,7 @@ default:
 		elseif	( isset($_GET['checkemail']) && 'registered' == $_GET['checkemail'] )
 			$errors->add('registered', __('Registration complete. Please check your e-mail.'), 'message');
 		elseif ( strpos( $redirect_to, 'about.php?updated' ) )
-			$errors->add('updated', __( '<strong>You have successfully updated WordPress!</strong> Please log back in to experience the awesomeness.' ), 'message' );
+			$errors->add('updated', __( '<strong>You have successfully updated WordPress!</strong> Please log back in to see what&#8217;s new.' ), 'message' );
 	}
 
 	/**
@@ -908,7 +899,8 @@ default:
 <?php if ( ! isset( $_GET['checkemail'] ) || ! in_array( $_GET['checkemail'], array( 'confirm', 'newpass' ) ) ) :
 	if ( get_option( 'users_can_register' ) ) :
 		$registration_url = sprintf( '<a href="%s">%s</a>', esc_url( wp_registration_url() ), __( 'Register' ) );
-		/** This filter is documented in wp-login.php */
+
+		/** This filter is documented in wp-includes/general-template.php */
 		echo apply_filters( 'register', $registration_url ) . ' | ';
 	endif;
 	?>
@@ -920,7 +912,7 @@ default:
 <script type="text/javascript">
 function wp_attempt_focus(){
 setTimeout( function(){ try{
-<?php if ( $user_login || $interim_login ) { ?>
+<?php if ( $user_login ) { ?>
 d = document.getElementById('user_pass');
 d.value = '';
 <?php } else { ?>
diff --git a/wp-mail.php b/wp-mail.php
index 550c28cac..6775de8a2 100644
--- a/wp-mail.php
+++ b/wp-mail.php
@@ -68,7 +68,7 @@ for ( $i = 1; $i <= $count; $i++ ) {
 	$author_found = false;
 	$dmonths = array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
 	foreach ($message as $line) {
-		// body signal
+		// Body signal.
 		if ( strlen($line) < 3 )
 			$bodysignal = true;
 		if ( $bodysignal ) {
@@ -108,8 +108,10 @@ for ( $i = 1; $i <= $count; $i++ ) {
 				$subject = $subject[0];
 			}
 
-			// Set the author using the email address (From or Reply-To, the last used)
-			// otherwise use the site admin
+			/*
+			 * Set the author using the email address (From or Reply-To, the last used)
+			 * otherwise use the site admin.
+			 */
 			if ( ! $author_found && preg_match( '/^(From|Reply-To): /', $line ) ) {
 				if ( preg_match('|[a-z0-9_.-]+@[a-z0-9_.-]+(?!.*<)|i', $line, $matches) )
 					$author = $matches[0];
@@ -171,7 +173,8 @@ for ( $i = 1; $i <= $count; $i++ ) {
 	if ( $content_type == 'multipart/alternative' ) {
 		$content = explode('--'.$boundary, $content);
 		$content = $content[2];
-		// match case-insensitive content-transfer-encoding
+
+		// Match case-insensitive content-transfer-encoding.
 		if ( preg_match( '/Content-Transfer-Encoding: quoted-printable/i', $content, $delim) ) {
 			$content = explode($delim[0], $content);
 			$content = $content[1];
diff --git a/wp-settings.php b/wp-settings.php
index 9f7319502..97959716b 100644
--- a/wp-settings.php
+++ b/wp-settings.php
@@ -119,6 +119,7 @@ require( ABSPATH . WPINC . '/theme.php' );
 require( ABSPATH . WPINC . '/class-wp-theme.php' );
 require( ABSPATH . WPINC . '/template.php' );
 require( ABSPATH . WPINC . '/user.php' );
+require( ABSPATH . WPINC . '/session.php' );
 require( ABSPATH . WPINC . '/meta.php' );
 require( ABSPATH . WPINC . '/general-template.php' );
 require( ABSPATH . WPINC . '/link-template.php' );
diff --git a/wp-signup.php b/wp-signup.php
index d4e4a7540..94722e34c 100644
--- a/wp-signup.php
+++ b/wp-signup.php
@@ -188,7 +188,7 @@ function show_user_form($user_name = '', $user_email = '', $errors = '') {
 	<?php if ( $errmsg = $errors->get_error_message('user_email') ) { ?>
 		<p class="error"><?php echo $errmsg ?></p>
 	<?php } ?>
-	<input name="user_email" type="text" id="user_email" value="<?php  echo esc_attr($user_email) ?>" maxlength="200" /><br /><?php _e('We send your registration email to this address. (Double-check your email address before continuing.)') ?>
+	<input name="user_email" type="email" id="user_email" value="<?php  echo esc_attr($user_email) ?>" maxlength="200" /><br /><?php _e('We send your registration email to this address. (Double-check your email address before continuing.)') ?>
 	<?php
 	if ( $errmsg = $errors->get_error_message('generic') ) {
 		echo '<p class="error">' . $errmsg . '</p>';
@@ -315,7 +315,13 @@ function validate_another_blog_signup() {
 		die();
 
 	$result = validate_blog_form();
-	extract($result);
+
+	// Extracted values set/overwrite globals.
+	$domain = $result['domain'];
+	$path = $result['path'];
+	$blogname = $result['blogname'];
+	$blog_title = $result['blog_title'];
+	$errors = $result['errors'];
 
 	if ( $errors->get_error_code() ) {
 		signup_another_blog($blogname, $blog_title, $errors);
@@ -337,7 +343,7 @@ function validate_another_blog_signup() {
 	 *
 	 * @param array $blog_meta_defaults An array of default blog meta variables.
 	 */
-	$meta = apply_filters( 'signup_create_blog_meta', $blog_meta_defaults );
+	$meta_defaults = apply_filters( 'signup_create_blog_meta', $blog_meta_defaults );
 	/**
 	 * Filter the new default site meta variables.
 	 *
@@ -350,7 +356,7 @@ function validate_another_blog_signup() {
 	 *     @type int $blog_public Whether search engines should be discouraged from indexing the site. 1 for true, 0 for false.
 	 * }
 	 */
-	$meta = apply_filters( 'add_signup_meta', $meta );
+	$meta = apply_filters( 'add_signup_meta', $meta_defaults );
 
 	wpmu_create_blog( $domain, $path, $blog_title, $current_user->ID, $meta, $wpdb->siteid );
 	confirm_another_blog_signup($domain, $path, $blog_title, $current_user->user_login, $current_user->user_email, $meta);
@@ -429,7 +435,7 @@ function signup_user( $user_name = '', $user_email = '', $errors = '' ) {
 	?>
 
 	<h2><?php printf( __( 'Get your own %s account in seconds' ), get_current_site()->site_name ) ?></h2>
-	<form id="setupform" method="post" action="wp-signup.php">
+	<form id="setupform" method="post" action="wp-signup.php" novalidate="novalidate">
 		<input type="hidden" name="stage" value="validate-user-signup" />
 		<?php
 		/** This action is documented in wp-signup.php */
@@ -468,7 +474,9 @@ function signup_user( $user_name = '', $user_email = '', $errors = '' ) {
  */
 function validate_user_signup() {
 	$result = validate_user_form();
-	extract($result);
+	$user_name = $result['user_name'];
+	$user_email = $result['user_email'];
+	$errors = $result['errors'];
 
 	if ( $errors->get_error_code() ) {
 		signup_user($user_name, $user_email, $errors);
@@ -585,16 +593,22 @@ function signup_blog($user_name = '', $user_email = '', $blogname = '', $blog_ti
  */
 function validate_blog_signup() {
 	// Re-validate user info.
-	$result = wpmu_validate_user_signup($_POST['user_name'], $_POST['user_email']);
-	extract($result);
+	$user_result = wpmu_validate_user_signup( $_POST['user_name'], $_POST['user_email'] );
+	$user_name = $user_result['user_name'];
+	$user_email = $user_result['user_email'];
+	$user_errors = $user_result['errors'];
 
-	if ( $errors->get_error_code() ) {
-		signup_user($user_name, $user_email, $errors);
+	if ( $user_errors->get_error_code() ) {
+		signup_user( $user_name, $user_email, $user_errors );
 		return false;
 	}
 
-	$result = wpmu_validate_blog_signup($_POST['blogname'], $_POST['blog_title']);
-	extract($result);
+	$result = wpmu_validate_blog_signup( $_POST['blogname'], $_POST['blog_title'] );
+	$domain = $result['domain'];
+	$path = $result['path'];
+	$blogname = $result['blogname'];
+	$blog_title = $result['blog_title'];
+	$errors = $result['errors'];
 
 	if ( $errors->get_error_code() ) {
 		signup_blog($user_name, $user_email, $blogname, $blog_title, $errors);
@@ -602,10 +616,10 @@ function validate_blog_signup() {
 	}
 
 	$public = (int) $_POST['blog_public'];
-	$meta = array ('lang_id' => 1, 'public' => $public);
+	$signup_meta = array ('lang_id' => 1, 'public' => $public);
 
 	/** This filter is documented in wp-signup.php */
-	$meta = apply_filters( 'add_signup_meta', $meta );
+	$meta = apply_filters( 'add_signup_meta', $signup_meta );
 
 	wpmu_signup_blog($domain, $path, $blog_title, $user_name, $user_email, $meta);
 	confirm_blog_signup($domain, $path, $blog_title, $user_name, $user_email, $meta);
-- 
GitLab